基于可編程邏輯陣列的RS232至RS422的串行口擴展電
關鍵詞:串行通訊;數(shù)據(jù)采集;集散控制;RC232;RS422
由于RS-422總線具有抗干擾能力強、通訊速率高、通訊距離遠、可以與多臺從機通訊等特點,所以,該總線在數(shù)據(jù)采集、監(jiān)控管理及集散控制系統(tǒng)的主從式多機通訊系統(tǒng)中得到普遍應用。但是,若在一條RS-422 通訊總線上連接過多的從機,則有可能會由于總線負擔過重,而使系統(tǒng)可靠性變差,有時甚至會導致整個系統(tǒng)無法正常工作。
為了解決RS422總線在實際應用中可能出現(xiàn)的問題,筆者設計出一種以可編程邏輯陣列GAL16V8為核心的串行口擴展電路。它可將微機的一路RS232串行口擴展至4路RS-422串行口。該電路通過主機軟件對DTR、RTS控制信號的編程,可以和任選通訊接口的從機進行數(shù)據(jù)通訊;也可以不用DTR、RTS控制信號,而直接實現(xiàn)主機與全部通訊接口的從機之間的數(shù)據(jù)通訊,同時可在不改變原來軟件的情況下,做到即插即用。
本電路采用DC-DC隔離電源供電,主機與通訊接口之間采用高速光耦來實現(xiàn)光電隔離,從而增強了主機系統(tǒng)的抗干擾能力。此外,該擴展電路還具有不占用系統(tǒng)資源、結構簡單、使用方便、通用性強和性能可靠等特點,因此,可廣泛應用于全雙工通訊方式的主從式多機通訊系統(tǒng)。
在實際的煤氣泄漏巡檢系統(tǒng)中,筆者用該擴展電路組成的主從式多機通訊網(wǎng)絡,實現(xiàn)了主機與40多臺數(shù)據(jù)采集裝置之間的數(shù)據(jù)通訊,而且保證了通訊性能的穩(wěn)定可靠。
1 電路的整體結構
圖1所示是這種RS-422串行口擴展電路的結構框圖。整個擴展電路分為4個部分,其中,第一部分是DC-DC隔離電源。為了提高整個系統(tǒng)的抗干擾能力,本電路采用隔離電源來進行供電。第二部分是RS-232接口電路,用于實現(xiàn)各信號的RS-232電平與TTL電平的轉換;第三部分是RS485/RS422接口電路,主要實現(xiàn)各信號的RS485/RS422電平與TTL電平的轉換;第四部分是以可編程邏輯陣列GAL16V8 為核心的譯碼控制電路,主要用于實現(xiàn)對通訊接口的切換。
2 電路工作原理
2.1 DC-DC隔離電源
為了提高整個系統(tǒng)的抗干擾能力,本電路采用隔離電源供電。DC-DC隔離電源的工作原理如圖2所示。電路中的MAX761 DC-DC轉換芯片是采用PFM(脈沖調(diào)頻方式)方式來工作的,最高調(diào)制頻率為300kHz。該芯片內(nèi)部含有誤差放大器、頻率調(diào)制器和功率驅動管。MAX761只需少數(shù)幾個外圍元件即可組成DC-DC電源轉換電路。而電路中的LT431芯片則是集電極開路的誤差放大器,它內(nèi)含2.5V基準源。
當輸出電壓下降時,R4電壓、誤差、LT431輸出、光耦輸出電流、R1電壓均隨之降低。當R1電壓小于1.5V基準電壓時,在調(diào)制脈沖的正半周期,LX端輸出低電平? 脈沖變壓器初極電流線性增大,D1反偏截止,此時次極無電流,脈沖變壓器開始儲存能量;而在調(diào)制脈沖的負半周,LX端輸出高電平,脈沖變壓器釋放能量,感應電壓經(jīng)D1(正向導通)輸出使輸出電壓上升。從而使輸出電壓保持穩(wěn)定。
實際上,當輸出電壓升高時,R4電阻上的電壓和誤差、LT431輸出到光耦的輸出電流、以及R1上的電壓均隨之升高,當R1電壓大于1.5V基準電壓時,在調(diào)制脈沖的負半周,LX端輸出高電平,脈沖變壓器不產(chǎn)生電壓。而此時負載消耗將使輸出電壓下降。從而使輸出電壓保持穩(wěn)定。
2.2 RS-232接口電路
串行口擴展電路的電路連接如圖3所示。圖中的MAX238 接口芯片含有4路RS-232接口電路,其中一路用于RXD、TXD通訊信號的電平轉換,另外兩路用于DTR、RTS信號的電平轉換。通過主機軟件可設置DTR、RTS的狀態(tài)以選擇通訊接口,從而實現(xiàn)主機與連接在此通訊接口上的從機之間的數(shù)據(jù)通訊。
圖3
RS422/RS485接口電路由4片(U3~U6)MAX489芯片組成。MAX489芯片內(nèi)部含有一組接收、發(fā)送電平轉換電路。該芯片是全雙工通訊方式的RS422接口芯片, 芯片上的RE使能端(低有效)用于控制數(shù)據(jù)的接收,DE 使能端(高有效)則控制數(shù)據(jù)的發(fā)送。為便于通訊系統(tǒng)的調(diào)試,可以在接收端、發(fā)送端和各路發(fā)送使能端分別安裝一個發(fā)光管以觀察各路的通訊狀態(tài)。
2.4 譯碼控制電路
電路中的U1(GAL16V8)是可編程的邏輯陣列,利用該芯片并通過編程可實現(xiàn)譯碼控制。將主機發(fā)出的通訊口選擇信號DTR、RTS由IN5、IN6輸入到U1,同時將設置開關K1由IN1接入U1?這樣,當K1、DTR和RTS經(jīng)譯碼后,即可由OUT1~OUT5輸出到U3~U6的發(fā)送使能端,以分別控制4個通訊口的數(shù)據(jù)發(fā)送器,從而完成主機向所選擇通訊總線的數(shù)據(jù)發(fā)送;此外,經(jīng)OUT5~OUT8輸出到U3~U6的接收使能端,則可分別控制4個通訊口的數(shù)據(jù)接收器,以最終使主機通過通訊總線完成從機數(shù)據(jù)的接收功能。其通訊端口的選擇如表1所列。
表1 通訊端口選擇表
K1 | DTR | RTS | 通訊端口 |
0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 1 | 0 | 2 |
0 | 1 | 1 | 3 |
1 | X | X | 全部 |
3 結束語
該電路中的全部芯片均選用+5V單電源供電,因而電路結構十分簡單。另外,電路采用DC-DC隔離電源供電,且主機與通訊接口之間采用高速光耦進行光電隔離,也增強了主機系統(tǒng)的抗干擾能力。該電路同時具有不占用系統(tǒng)資源、結構簡單、使用方便、通用性強和性能可靠等特點?可廣泛應用于雙全工通訊方式的主從式多機通訊系統(tǒng)。
評論