《電子技術應用》
您所在的位置:首頁 > 電源技術 > 業(yè)界動態(tài) > RS-232至RS-485/RS-422接口的智能轉換器

RS-232至RS-485/RS-422接口的智能轉換器

2009-02-24
作者:劉武光

  摘 要: 詳細地介紹了如何從RS-232信號線上高效率地產(chǎn)生電源,,如何實現(xiàn)RS-232接口與  RS-485/RS-422接口的智能轉換,,同時,,也給出了具體的硬件設計及軟件設計方法。

  關鍵詞: RS-232 RS-485/RS-422 接口 智能轉換器


  隨著計算機在工業(yè)的廣泛應用,,控制局域網(wǎng)絡也深入應用到各行各業(yè)之中?,F(xiàn)行的諸多控制系統(tǒng),,若采用單機控制方式已越來越難以滿足設備控制的要求,因為往往我們所控制的設備只是整個系統(tǒng)的一個基本單元,,它既需要外部輸入一些必要的信息,,同時,也需要向外部輸出自身的運行參數(shù)和狀態(tài),。所有這些,,都要求我們采用控制網(wǎng)絡技術,將眾多設備有機地連成一體,,以保證整個系統(tǒng)安全可靠地運行,。
  目前,在我國應用的現(xiàn)場總線中,,RS-485/RS-422使用最為普遍,。當用戶要將基于標準的RS-232接口設備,如PC機,,連接至由RS-485/RS-422構成的通訊網(wǎng)絡時,,則必須作RS-232和RS-485/RS-422之間的電平轉換。傳統(tǒng)的做法是在設備內(nèi)擴展一個通訊適配卡,,由通訊適配卡實現(xiàn)電平轉換,,內(nèi)部主機再通過并行總線讀出或寫入數(shù)據(jù)。顯然,,這種設計方法存在下列缺點:
  · 由于適配卡是基于某一種總線標準擴展的,,而不是基于RS-232電平標準,所以其應用范圍受到限制,,只能一種適配卡適用一種總線(如ISA適配卡不可能插入STD總線或用戶自定義的總線),,其通用性較差;
  · 雖然實現(xiàn)的僅僅是電平轉換,,但是由于需要考慮與擴展總線的接口和增加一個標準的UART,,并且需要占用系統(tǒng)的其它寶貴資源,使硬件和軟件變得過于復雜,;
  · 復雜的硬件設計大大增加了元器件的數(shù)目和電路板面,使適配卡的成本過高,;
  · 由于采用內(nèi)置插卡方式,,使變更通信方式比較麻煩,如將半雙工通信方式設置為全雙工方式等,。另外,,維修和測試也比較麻煩;
  · 對于現(xiàn)有的基于RS-232的設備,,在無法變動系統(tǒng)軟件和硬件的情況下,,顯然適配卡無法將這些設備連成基于RS-485或RS-422通信網(wǎng)絡的分布式系統(tǒng),。
  為了克服上述缺點,同時考慮到RS-232接口的自身特點,,我們設計了一種小巧的,、無須外部供電的智能收發(fā)轉換器,實現(xiàn)RS-232和RS-485/RS-422之間的電平轉換,。
1 功能描述及結構框圖
  本智能轉換器作為一個獨立的電平轉換控制器,,涉及線上取電、發(fā)送和接收狀態(tài)的智能切換,、通信方式設置,、RS-232電平與RS-485/RS-422電平之間的轉換等方面。具體描述如下:
  · 從RS-232接口上取電
  由于不采用外部供電方式,,則必須從RS-232接口線取電,,為內(nèi)部元器件供電。我們知道,,標準的RS-232接口定義中,,TXD、RTS和DTR是RS-232電平輸出,。設計一個DC-DC轉換器,,從這些信號上,能夠為系統(tǒng)提供一定的電源功率,。
  · 低功耗微處理器
  微處理器通過監(jiān)測TXD信號的變化,,決定是否允許數(shù)據(jù)發(fā)送和數(shù)據(jù)接收。另外,,有關通信方式,、波特率和半/雙工工作方式選擇也是通過TXD信號,或I/O口來設定的,。
  · RS-232電平與TTL電平之間的轉換
  · RS-485/RS-422電平與TTL電平之間的轉換
  其內(nèi)部電路結構示意圖如圖1所示,。


2 工作原理
  該智能轉換器必須解決兩個關鍵問題,即如何從RS-232線上獲得電源和RS-485/RS-422接口驅動所需的功率,,和如何智能控制RS-485/RS-422的收發(fā)使能,。
2.1 電源方案
  標準的RS-232定義中,有三個發(fā)送信號:TXD,,RTS和DTR,。每根線上的典型輸出電流為±8mA/±12V,考慮到TXD為負電平(處于停止發(fā)送,,或發(fā)送數(shù)字“1”時)的時間較多,,因而電源轉換決定采用負電源輸入,以最大限度地增加電源輸入功率,升壓至所需的工作電源,。從RTS和DTR上輸入功率=2×8×12mW=192mW,。另外,由于通訊為間歇工作方式,,所以輸入電源端的儲能電容和TXD(為負電平時)能夠補充一定的功率,。假設,我們設計一個效率為85%,、輸出電壓為3V的DC-DC轉換器,,則輸出電流可達54.4mA。
2.2 智能控制收發(fā)使能
  RS-232通訊接口采用電平方式傳輸,,適用于點-點通訊,,無須專門的收發(fā)使能控制;而對于RS-485/RS-422通訊接口則不同,,由于采用差分電平方式傳輸,,且允許在一條通訊總線上掛接多個節(jié)點,必然要求各個節(jié)點能夠獨立地控制總線驅動器關斷或打開,,保證不會影響到其它節(jié)點的正常通訊,。為了簡化與轉換器RS-232接口端相連的軟件工作,更重要的是為了提高本轉換器的通用性和靈活性(即插即用,,無須要求用戶更改任何相關軟件和硬件),,本轉換器內(nèi)置微處理器,實現(xiàn)收發(fā)使能的智能控制,。具體方法:微處理器在檢測到UART的通信起始位后,,打開發(fā)送使能,允許串行數(shù)據(jù)發(fā)送至RS-485/RS-422通訊網(wǎng)絡,。微處理器根據(jù)所設定的波特率延時至UART停止位發(fā)送一半時(例如11位格式時,,延時10.5T,T=1/fBAUD),開始檢測是否有下一個起始位到來。在時間T內(nèi),,若有下一個起始位到來,,則保持發(fā)送狀態(tài),否則將關閉發(fā)送使能,,結束數(shù)據(jù)發(fā)送,。
3 硬件設計
  由于本轉換器供電來自RS-232信號線,其輸入功率受到限制,,因而在本設計中將盡可能地采用+3V供電的低功耗器件,,保證總電流小于54.4mA。主要包括4個部分:DC-DC轉換器,、RS-232接口、RS-485/RS-422接口和微處理器。分別介紹如下:
3.1 DC-DC轉換器
  顯然,,還沒有一個DC-DC轉換器能夠直接實現(xiàn)-12V輸入,,+3V輸出的IC。但是,,如果我們利用現(xiàn)有的IC,,稍作改動,即可實現(xiàn)該功能,。圖2所示的DC-DC轉換電路,,就是利用MAX761實現(xiàn)的-12V輸入,+3V輸出,、效率高于85%的升壓DC-DC轉換器,。該轉換器實際輸入電壓范圍為-2.5~-13.5V,靜態(tài)工作電流僅I1=120μA,,具有輸出電流大于54.4mA的能力(如果前端輸入功率未受到限制,,則輸出電流可達300mA以上)。由于MAX761采用高效率的PFM控制方式,而且在本電路中,開關損耗較小(因為開關電流小于負載電流),所以能夠達到比MAX761典型應用更高的效率(MAX761典型應用效率為86%),。輸出電壓由下列方程確定:
  VOUT=VREF×R1/R2+0.7(V),,其中VREF=1.5V
  選取R2=100kΩ,根據(jù)所需要的輸出電壓,,計算R1,。


3.2 RS-232接口
  本轉換器只需要一片單發(fā)/單收RS-232接口就可以滿足要求,但必須要求+3V單電源工作,、工作電流盡可能地小的接口電路,。MAX3221/MAX3221E(帶±15kVESD保護)剛好能夠滿足上述要求,具有1TX/1RX,,其工作電壓+3~+5.5V,僅1μA的靜態(tài)電流,,負載電流小于I2=2mA。
3.3 RS-485/RS-422接口
  為兼顧RS-485/RS-422接口中半雙工和全雙工的要求,,本轉換器采用MAX3491作為RS-485/RS-422接口電路,,其主要指標為:+3~+3.6V單電源工作、工作電流1mA,驅動60Ω負載時(半雙工時,,兩個120Ω終端匹配電阻的并聯(lián)值),,峰值電流可達I3=3V/60Ω=50mA。半雙工和全雙工工作方式是通過跳線器來設置的,,見圖3,。
3.4 微處理器
  在本轉換器中,微處理器所要完成的任務很簡單,,僅需要幾根I/O線即可實現(xiàn)參數(shù)的設置和發(fā)送使能的自動控制,。實際選擇中,采用Microchip公司的PIC12C508A,其主要指標為:工作電流I4<1.0mA(工作電壓3V,,頻率4MHz),6條I/O線,,512kByte的ROM。其中,,GP0,、GP1、GP4和GP5四個引腳設定對應于16種常用波特率(300,、600,、1200至38.4Kbps等8種,以及900,、1800至115.4Kbps等8種)的延時時間,;GP3對應于10位或11位串行數(shù)據(jù)格式;GP2為TXD輸入,,用來檢測UART何時發(fā)送和停止數(shù)據(jù),;GP1為復用輸出引腳,用來控制MAX3491的發(fā)送使能控制端,;GP0也為復用輸出引腳,,用來控制MAX3491的接收使能。詳見圖3,。


  本轉換器的最大電流總和<I1+I2+I3+I4=0.12+2.0+50.0+1.0=53.12mA,,小于DC-DC轉換器的最小輸出電流54.4mA,因而通過RS-232信號線為本電路供電是完全可行的,。實際上,,由于輸入電源端的儲能電容E1和TXD(為負電平時)能夠為電路補充一定的功率,所以設計上留有較大的電源功率裕量,。
4 軟件設計
  本轉換器的軟件設計較為簡單,,微處理器復位后,將所有的I/O口設為輸入,,并讀入所有的I/O狀態(tài),,保存到寄存器;將GP2和GP3改設為輸出狀態(tài),,并輸出低電平,,使RS-485/RS-422接口處于禁止發(fā)送、允許接收的狀態(tài),。CPU根據(jù)GPIO的初始狀態(tài),,確定出用戶設定的通訊波特率和串行數(shù)據(jù)格式,從而預置內(nèi)部的延時設定,。CPU檢測到UART開始通訊后,,打開發(fā)送使能,,經(jīng)內(nèi)部預置延時后,開始在一個位寬時間內(nèi)檢測是否有下一個起始位到來,,如檢測到,,則重新延時等待;否則,,關閉發(fā)送使能,,結束當前通訊,,重新檢測UART的起始位。對于半雙工通訊方式,,允許發(fā)送使能前應該關閉接收使能,,而在發(fā)送使能關閉后才打開接收使能,。對于全雙工通訊方式,其接收使能可以不受此信號控制,,而可以直接通過跳線接地,,始終允許接收。
  總之,,在本RS-232到RS-485/RS-422接口的智能轉換器設計中,,除了本身這個產(chǎn)品具有較高的應用價值外,文中所涉及的RS-232信號線供電方案,,由于其高效率,、大電流輸出能力,在許多基于RS-232接口的應用中都能夠很好地滿足應用,;另外,,這種智能控制RS-485/RS-422接口的收發(fā)使能的思想,在擴展基于RS-485/RS-422接口的網(wǎng)絡分支及延伸通訊距離都能夠得到很好的應用,。

參考文獻
1 MAX761 datasheet,Rev1.0.Maxim Integrated Products, INC
2 MAX3221 datasheet,Rev1.0.Maxim Integrated Products, INC
3 MAX3491 datasheet,Rev1.0.Maxim Integrated Products, INC
4 PIC12C508A datasheet Microchip Technology INC. 1998

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點,。轉載的所有的文章,、圖片、音/視頻文件等資料的版權歸版權所有權人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權者,。如涉及作品內(nèi)容、版權和其它問題,,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected],。