
由于RS-422、RS-485總線具有抗干擾能力強、通訊速率高、通訊距離遠、可以與多臺從機通訊等特點,所以在主從式多機通訊中,得到普遍應用。
我們設計開發了一種以AT90S2343低功耗單片機為核心的外插式串行口智能轉換器,它把RS232串行口轉換至RS-422或RS-485串行口。它無須外部供電、并能自動識別通訊波特率(1200-115.2K)和通訊方式(8位、9位方式),智能控制接收和發送電路與通訊總線的連接、在不改變現有軟件情況下,做到即插即用。
該轉換器且通用性強、性能可靠、結構簡單、使用方便的特點。可廣泛應用于數據采集、監控管理及集散控制的通訊系統中。筆者在電氣設備的絕緣在線監測系統中,應用該轉換器實現對多臺數據采集裝置的數據通訊,通訊性能穩定可靠。
1、電路的整體結構
智能轉換器的電路結框圖如圖1所示,整個電路由4個部分組成。第一部分是DC-DC電源變換電路。它從PC機串行口的信號線上竊取電能,將其轉換成供智能轉換器使用的電源;第二部分是RS-232接口電路,它實現各信號的RS-232電平與TTL電平的轉換;第三部分是RS485/RS422接口電路,它實現通訊總線的RS485/RS422電平與TTL電平之間的轉換;第四部分是以CPU為核心的智能控制電路,它通過監測PC機的TXD發送信號,識別通信的波特率、通訊方式(10/11位方式)、智能控制通訊數據的發送和接收。
當轉換器用作RS485半雙工通訊方式時,須將發送器輸出和接收器輸入的同相、反相端分別用兩個跳線短接。
2 電路工作原理
2.1 DC-DC電源變換電路
由于RS232接口不提供電源,全部電路的供電只能從RS-232信號線中獲取。RS-232接口有DTR、RTS和TXD三個輸出信號,每個信號可提供輸出電流的典型值為±8mA。通用軟件不使用握手信號RTS和DTR,它們輸出為-12V。TXD信號在不發送數據和發送數據“1”的時,也輸出為-12V。為了增加電源轉換電路的輸出功率,電路中把DTR、RTS和TXD三個信號的-12V輸出作為電源變換電路的電源輸入。
由于沒有負電壓輸入轉換到穩定正電壓輸出的DC-DC轉換器,筆者在通用DC-DC轉換電路的基礎上,用IC芯片MAX761研制出具有輸入-12V電壓、+5V穩壓輸出的 DC-DC轉換電路,轉換效率>85%。具體的電路如圖2所示。電路中MAX761是PFM(脈沖調頻方式)的DC-DC轉換控制器。最高調制頻率為300KHZ。LX是功率驅動管(場效應管)的漏極輸出端;REF是基準電壓輸出端;LB是電壓采樣輸入端。MAX761控制器和電感L構成自舉升壓電路,輸出電壓采樣網絡由穩壓管W1、晶體管T、和電阻R1、R2組成。采樣電壓經LB輸入控制器,通過改變調制脈沖的頻率來穩定輸出電壓。電路的穩壓工作原理如下:
輸出電壓VOUT降低時,三極管T1的基極電流IEB減小,LB端的取樣電壓UR1(βIEB×R1×)減小,當LB的取樣電壓(UR1)<片內基準電壓時,控制信號以最高調制頻率的來控制功率驅動管的開通與截止,當功率驅動管導通時,LX等于-12V,二極管D4處于截止狀態,電流經電感L流向LX,此時電感L儲存能量。當功率驅動管截止時,電感L釋放能量,反電動勢產生的電流經二極管D4向電容C4充電,從而使輸出電壓VOUT升高。
輸出電壓VOUT升高時,三極管T1的基極電流IEB增大,LB端的取樣電壓UR1(βIEB×R1×)增大,當LB的取樣電壓(UR1)≥片內基準電壓時,控制信號控制功率驅動管在一個完整調制的周期內處于截止狀態,由負載消耗使輸出電壓VOUT下降。
通過以上的脈沖調頻方式的自舉升壓調節,使輸出電壓穩定在+5V。
輸出電壓由下式確定:
VOUT=Vw1+Veb+Ib×R2≈Vw1+Veb ≈ 5V
2.2 單片機智能控制工作原理
RS485通訊方式是軟件通過收、發使能信號來控制數據的分時接收與發送,使用同一對差分通訊總線實現雙向數據通訊的半雙工通訊方式,而RS232通訊接口不能提供這樣的使能控制信號。但可以通過單片機對主機PC-TXD信號的監測,準確計算出傳送一幀數據的時間,智能產生收、發使能信號控制數據的分時接收與發送,實現數據的半雙工通訊。以AT90S2343低功耗單片機為核心的串行口智能轉換器的具體電路如圖3所示。
單片機對傳送一幀數據的時間的識別方法如下:當單片機監測到主機發送數據的起始位時,開始測量PC-TXD信號的每個脈沖的脈沖寬度,計算出對應的波特率,若均屬于通用波特率集合,它們中的最高波特率即是通訊波特率。否則,該脈沖寬度是發送兩幀數據的間隔時間,電平負躍變的時刻是起始位的開始時刻,開始重新測量每個脈沖的脈沖寬度。當通訊波特率確定后,檢測第十位的電平狀態,若是低電平,則可確定是11位通訊方式。否則是10位通訊方式。由通訊波特率和通訊方式計算出傳送一幀數據的時間。
通訊接口接收、發送數據的智能控制過程如下:每當監測到主機發送數據的起始位時,單片機輸出收、發使能信號(RE=1、DE=1),控制收、發電路禁止接收、允許發送數據,主機數據發送到RS485通訊總線上,同時定時器開始計時。當計時時間等于發送一幀數據的時間時,單片機輸出收、發使能信號(RE=0、DE=0),控制收、發電路允許接收、禁止發送數據。此時,主機可以接收RS485通訊總線上的從機數據。當單片機又監測到主機發送數據的起始位時,重復上述的發送過程。
在通訊過程中,波特率測量和收、發數據智能控制必須同步進行,否則就會造成通訊數據的丟失。
為適應高速通訊的要求,電路中采用美國Atmel 公司的AT90SL2343單片機。它是目前最新的單片機系列之一,其突出特點是執行速度高,片內硬件資源豐富。使用CPU內部的電源監測和可編程看門狗定時器,使電路具有較強的抗干擾能力。
單片機I/O端口的分配和功能:PB3輸入,監測主機PC-TXD信號;PB0輸出,接收使能信號;PB4輸出,發使能信號;PB2輸入,由K1設置雙工或半雙工通訊方式。
3 軟件設計
3.1 程序流程框圖
串行口智能擴展卡的程序流程圖如圖4所示。
3.2 半雙工通訊方式的軟件設計
在RS485半雙工通訊方式下,首先允許接收、禁止發送數據。在檢測到PC-TXD信號的數據起始位之后,通訊接口禁止接收、允許發送數據,并開始計時。通過檢測數據信號的每個脈沖寬度,確定其波特率和數據的發送位數,進而計算出每幀數據允許發送的時間。當計時時間大于或等于該時間時,該通訊接口禁止發送并允許接收數據。在接收狀態下,CPU重復檢測發送數據的起始位。當檢測到發送數據的起始位時,重復上述的數據發送的控制過程。
3.3 雙工通訊方式軟件設計
在RS422雙工通訊方式下,接收和發送使能信號始終有效,同時允許接收和發送數據。
4 結束語
電路結構簡單、無須外部供電,將它制作成串行口轉換器直接插接在串行口插口上即可。它具有通用性強、性能可靠、結構簡單、使用方便的特點。該電路使用了電源監測和可編程的看門狗監測定時器,使轉換器具有較強的抗干擾能力。該轉換器可廣泛應用于主從式多機通訊系統。
聲明:本內容為作者獨立觀點,不代表電源網。本網站原創內容,如需轉載,請注明出處;本網站轉載的內容(文章、圖片、視頻)等資料版權歸原作者所有。如我們采用了您不宜公開的文章或圖片,未能及時和您確認,避免給雙方造成不必要的經濟損失,請電郵聯系我們,以便迅速采取適當處理措施;歡迎投稿,郵箱∶editor@netbroad.com。
微信關注 | ||
![]() |
技術專題 | 更多>> | |
![]() |
技術專題之EMC |
![]() |
技術專題之PCB |