主要產品系列 |
RS-232 RS-485RS-422 接口 智能轉換器
2009-4-9
|
摘 要:
詳細地介紹了如何從RS-232信號線上高效率地產生電源,如何實現RS-232接口與RS-485RS-422接口的智能轉換,同時,也給出了具體的硬件設計及軟件設計方法。
關鍵詞: RS-232 RS-485RS-422 接口 智能轉換器 隨著計算機在工業的廣泛應用,控制局域網絡也深入應用到各行各業之中。現行的諸多控制系統,若采用單機控制方式已越來越難以滿足設備控制的要求,因為往往我們所控制的設備只是整個系統的一個基本單元,它既需要外部輸入一些必要的信息,同時,也需要向外部輸出自身的運行參數和狀態。所有這些,都要求我們采用控制網絡技術,將眾多設備有機地連成一體,以保證整個系統安全可靠地運行。 目前,在我國應用的現場總線中,RS-485RS-422使用最為普遍。當用戶要將基于標準的RS-232接口設備,如PC機,連接至由RS-485RS-422構成的通訊網絡時,則必須作RS-232和RS-485RS-422之間的電平轉換。傳統的做法是在設備內擴展一個通訊適配卡,由通訊適配卡實現電平轉換,內部主機再通過并行總線讀出或寫入數據。顯然,這種設計方法存在下列缺點: · 由于適配卡是基于某一種總線標準擴展的,而不是基于RS-232電平標準,所以其應用范圍受到限制,只能一種適配卡適用一種總線(如ISA適配卡不可能插入STD總線或用戶自定義的總線),其通用性較差; · 雖然實現的僅僅是電平轉換,但是由于需要考慮與擴展總線的接口和增加一個標準的UART,并且需要占用系統的其它寶貴資源,使硬件和軟件變得過于復雜; · 復雜的硬件設計大大增加了元器件的數目和電路板面,使適配卡的成本過高; · 由于采用內置插卡方式,使變更通信方式比較麻煩,如將半雙工通信方式設置為全雙工方式等。另外,維修和測試也比較麻煩; · 對于現有的基于RS-232的設備,在無法變動系統軟件和硬件的情況下,顯然適配卡無法將這些設備連成基于RS-485或RS-422通信網絡的分布式系統。 為了克服上述缺點,同時考慮到RS-232接口的自身特點,我們設計了一種小巧的、無須外部供電的智能收發轉換器,實現RS-232和RS-485RS-422之間的電平轉換。 1 功能描述及結構框圖 本智能轉換器作為一個獨立的電平轉換控制器,涉及線上取電、發送和接收狀態的智能切換、通信方式設置、RS-232電平與RS-485RS-422電平之間的轉換等方面。具體描述如下: · 從RS-232接口上取電 由于不采用外部供電方式,則必須從RS-232接口線取電,為內部元器件供電。我們知道,標準的RS-232接口定義中,TXD、RTS和DTR是RS-232電平輸出。設計一個DC-DC轉換器,從這些信號上,能夠為系統提供一定的電源功率。 · 低功耗微處理器 微處理器通過監測TXD信號的變化,決定是否允許數據發送和數據接收。另外,有關通信方式、波特率和半/雙工工作方式選擇也是通過TXD信號,或I/O口來設定的。 · RS-232電平與TTL電平之間的轉換 · RS-485RS-422電平與TTL電平之間的轉換 其內部電路結構示意圖如圖1所示。 2 工作原理 該智能轉換器必須解決兩個關鍵問題,即如何從RS-232線上獲得電源和RS-485RS-422接口驅動所需的功率,和如何智能控制RS-485RS-422的收發使能。 2。1 電源方案 標準的RS-232定義中,有三個發送信號:TXD,RTS和DTR。每根線上的典型輸出電流為±8mA/±12V,考慮到TXD為負電平(處于停止發送,或發送數字“1”時)的時間較多,因而電源轉換決定采用負電源輸入,以最大限度地增加電源輸入功率,升壓至所需的工作電源。從RTS和DTR上輸入功率=2×8×12mW=192mW。另外,由于通訊為間歇工作方式,所以輸入電源端的儲能電容和TXD(為負電平時)能夠補充一定的功率。假設,我們設計一個效率為85%、輸出電壓為3V的DC-DC轉換器,則輸出電流可達54.5mA。 2.2 智能控制收發使能 RS-232通訊接口采用電平方式傳輸,適用于點-點通訊,無須專門的收發使能控制;而對于RS-485RS-422通訊接口則不同,由于采用差分電平方式傳輸,且允許在一條通訊總線上掛接多個節點,必然要求各個節點能夠獨立地控制總線驅動器關斷或打開,保證不會影響到其它節點的正常通訊。為了簡化與轉換器RS-232接口端相連的軟件工作,更重要的是為了提高本轉換器的通用性和靈活性(即插即用,無須要求用戶更改任何相關軟件和硬件),本轉換器內置微處理器,實現收發使能的智能控制。具體方法:微處理器在檢測到UART的通信起始位后,打開發送使能,允許串行數據發送至RS-485RS-422通訊網絡。微處理器根據所設定的波特率延時至UART停止位發送一半時(例如11位格式時,延時10.5T,),開始檢測是否有下一個起始位到來。在時間T內,若有下一個起始位到來,則保持發送狀態,否則將關閉發送使能,結束數據發送。 3 硬件設計 由于本轉換器供電來自RS-232信號線,其輸入功率受到限制,因而在本設計中將盡可能地采用+3V供電的低功耗器件,保證總電流小于54.4mA。主要包括4個部分:DC-DC轉換器、RS-232接口、RS-485RS-422接口和微處理器。分別介紹如下: 3.1 DC-DC轉換器 顯然,還沒有一個DC-DC轉換器能夠直接實現-12V輸入,+3V輸出的IC。但是,如果我們利用現有的IC,稍作改動,即可實現該功能。圖2所示的DC-DC轉換電路,就是利用MAX761實現的-12V輸入,+3V輸出、效率高于85%的升壓DC-DC轉換器。該轉換器實際輸入電壓范圍為-2.5~-13.5V,靜態工作電流僅I1=120μA,具有輸出電流大于54.5mA的能力(如果前端輸入功率未受到限制,則輸出電流可達300mA以上)。由于MAX761采用高效率的PFM控制方式,而且在本電路中,開關損耗較小因為開關電流小于負載電流 所以能夠達到比MAX761典型應用更高的效率MAX761典型應用效率為86%。輸出電壓由下列方程確定:
選取R2=100KΩ,根據所需要的輸出電壓,計算R1。 3.2 RS-232接口 本轉換器只需要一片單發/單收RS-232接口就可以滿足要求,但必須要求+3V單電源工作、工作電流盡可能地小的接口電路。MAX3221/NAX3221E(帶±15kVESD保護)剛好能夠滿足上述要求,具有1TX/1RX,其工作電壓+3~+5.5V,僅1μA的靜態電流,負載電流小于I2=2mA。 3.3 RS-485RS-422接口 為兼顧RS-485RS-422接口中半雙工和全雙工的要求,本轉換器采用MAX3491作為RS-485RS-422接口電路,其主要指標為:+3~+3.6V單電源工作、工作電流1mA驅動60Ω負載時(半雙工時,兩個120Ω終端匹配電阻的并聯值),峰值電流可達I3=3V/60Ω=50mA。半雙工和全雙工工作方式是通過跳線器來設置的,見圖3。 3.4 微處理器 在本轉換器中,微處理器所要完成的任務很簡單,僅需要幾根I/O線即可實現參數的設置和發送使能的自動控制。實際選擇中,采用Microchip公司的PIC12C508A,其主要指標為:工作電流<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位串行數據格式;GP2為TXD輸入,用來檢測UART何時發送和停止數據;GP1為復用輸出引腳,用來控制MAX3491的發送使能控制端;GP0也為復用輸出引腳,用來控制MAX3491的接收使能。詳見圖3。 本轉換器的最大電流總和<+++=0.12+2.0+50.0+1.0=53.12mA,小于DC-DC轉換器的最小輸出電流54.4mA,因而通過RS-232信號線為本電路供電是完全可行的。實際上,由于輸入電源端的儲能電容E1和TXD(為負電平時)能夠為電路補充一定的功率,所以設計上留有較大的電源功率裕量。 4 軟件設計 本轉換器的軟件設計較為簡單,微處理器復位后,將所有的I/O口設為輸入,并讀入所有的I/O狀態,保存到寄存器;將GP2和GP3改設為輸出狀態,并輸出低電平,使RS-485RS-422接口處于禁止發送、允許接收的狀態。CPU根據GPI0的初始狀態,確定出用戶設定的通訊波特率和串行數據格式,從而預置內部的延時設定。CPU檢測到UART開始通訊后,打開發送使能,經內部預置延時后,開始在一個位寬時間內檢測是否有下一個起始位到來,如檢測到,則重新延時等待;否則,關閉發送使能,結束當前通訊,重新檢測UART的起始位。對于半雙工通訊方式,允許發送使能前應該關閉接收使能,而在發送使能關閉后才打開接收使能。對于全雙工通訊方式,其接收使能可以不受此信號控制,而可以直接通過跳線接地,始終允許接收。 總之,在本RS-232到RS-485RS-422接口的智能轉換器設計中,除了本身這個產品具有較高的應用價值外,文中所涉及的RS-232信號線供電方案,由于其高效率、大電流輸出能力,在許多基于RS-232接口的應用中都能夠很好地滿足應用;另外,這種智能控制RS-485RS-422接口的收發使能的思想,在擴展基于RS-485RS-422接口的網絡分支及延伸通訊距離都能夠得到很好的應用。
|