一、引 言
眾所周知,RS232具有通訊距離短(根據(jù)EAT/TAI-232標準,僅為15米)和只能進行點到點通訊,不能直接組網(wǎng)等缺點,為了延長RS232的通訊距離并將RS232節(jié)點組成通訊網(wǎng)絡(luò),廣泛使用了RS232/RS485轉(zhuǎn)換器。這是因為RS485具有結(jié)構(gòu)簡單、抗干擾能力強、傳輸距離遠、網(wǎng)絡(luò)節(jié)點多、成本低和使用對布線要求不嚴格的雙絞線等特點,而被廣泛應(yīng)用于各種工業(yè)現(xiàn)場。但在實際應(yīng)用中,它仍存在以下不足。
1、系統(tǒng)故障限制能力差
RS485僅僅是一種半雙工通信的電氣協(xié)議,其通信介質(zhì)為雙絞線,傳輸?shù)男盘栐陔p絞線上呈現(xiàn)一對正負相反的電平信號用來表示邏輯"1"和邏輯"0"。在RS485組成的通訊網(wǎng)絡(luò)中,任何時候,只能允許一個節(jié)點向網(wǎng)絡(luò)系統(tǒng)發(fā)送數(shù)據(jù)。系統(tǒng)中每一個節(jié)點的RS485驅(qū)動器都有一個發(fā)送使能控制端DE,其作用是驅(qū)動器發(fā)送數(shù)據(jù)時,控制該發(fā)送器有效,使其向網(wǎng)絡(luò)發(fā)送數(shù)據(jù);數(shù)據(jù)發(fā)送完后,DE則關(guān)閉發(fā)送器,使其處于高阻狀態(tài),從而不影響網(wǎng)絡(luò)中其它節(jié)點的數(shù)據(jù)傳送。如果發(fā)生故障,出現(xiàn)幾個節(jié)點同時向網(wǎng)絡(luò)發(fā)送數(shù)據(jù),這就等于多個RS485驅(qū)動器同時向一對雙絞線上輸出不同的電平信號,結(jié)果使得整個網(wǎng)絡(luò)呈現(xiàn)短路狀態(tài),最終損壞其節(jié)點的驅(qū)動器,使故障范圍進一步擴大。
2、中繼器結(jié)構(gòu)復(fù)雜
如果網(wǎng)絡(luò)中個節(jié)點之間的距離大于RS485規(guī)定的距離(通常為1.2km),或者網(wǎng)絡(luò)中節(jié)點太多,超過了RS485驅(qū)動器的負載能力,則必需使用中繼器來增加網(wǎng)絡(luò)的節(jié)點數(shù)或延長各節(jié)點之間的距離。由于RS485是二線制半雙工通信,其數(shù)據(jù)傳輸是雙向的,且同一時刻只允許一個節(jié)點發(fā)送數(shù)據(jù)。中繼器必需隨時接收并判斷網(wǎng)絡(luò)中的數(shù)據(jù)流向,然后根據(jù)其數(shù)據(jù)流向決定向中繼器兩端中的哪一端發(fā)送數(shù)據(jù),要實現(xiàn)上述功能,中繼器結(jié)構(gòu)必然復(fù)雜,特別是在野外,中繼器的供電往往是很麻煩的問題,其結(jié)果是既降低了系統(tǒng)的可靠性,又增加了系統(tǒng)成本。
3、控制電路復(fù)雜
在RS232/RS485轉(zhuǎn)換電路中,必須為RS485驅(qū)動器提供發(fā)送使能信號DE。由于RS232是基于UART的異步串行通訊,沒有提供獨立的發(fā)送使能控制信號,當RS232轉(zhuǎn)換成RS485時,只有用其它信號作為發(fā)送使能控制信號,如RTS或DTR信號。在許多設(shè)備上運行的軟件并不支持具有發(fā)送使能的RS485通信協(xié)議,這就需要重新編寫通信驅(qū)動程序,這對于那些無法修改軟件的設(shè)備來講,基本上是不可能的的?,F(xiàn)在市場上有許多廉價的RS232/RS485轉(zhuǎn)換器,無需RTS或DTR控制收發(fā)使能,只用到TXD、RXD線,能夠?qū)崿F(xiàn)自動收發(fā)轉(zhuǎn)換,但它們的RS485發(fā)送器往往只輸出半個波形(邏輯"0"),而靠總線上的上拉電阻來得到邏輯"1"電平,這使得總線上所帶的節(jié)點數(shù)量和通訊距離大為減少,并不符合RS485的設(shè)計標準。
二、CAN總線接口特性簡介
由于要求使用RS232/CAN轉(zhuǎn)換器后并不需更改原來的RS232(或RS485)通訊軟件(協(xié)議),所以本文并不涉及CAN控制器,只使用CAN總線物理接口芯片82C250,它是由PHILIPS公司設(shè)計生產(chǎn),其通信介質(zhì)與RS485相同,均使用特性阻抗為120Ω的雙絞線,信號傳輸方式和RS485一樣,也采用差動發(fā)送和差動接收,它的主要特性如下:
.符合ISO/IS11898標準;
.最高通信速率為1Mbps;
.能抗汽車環(huán)境下的瞬太干擾;
.具有限斜率控制,抗射頻干擾;
.差分發(fā)送和差分接收,抗電磁干擾(EMI)能力強;
.具有過熱保護和短路保護;
.網(wǎng)絡(luò)中的節(jié)點掉電不會影響整個網(wǎng)絡(luò)的工作;
.最多可帶110個節(jié)點;
CAN總線的傳輸距離遠,通信速率高。當通訊速率為1Mbps時,其任意兩個節(jié)點之間的最大距離為40米;當通信速率為9.6kbps時,其任意兩個節(jié)點之間的距離可達5公里;當通信速率為5kbps時,通信距離可達10公里。82C250有8個管腳,其封裝形式有DIP8和SO8兩種,表1-1是它的管腳功能定義:
管腳 | 符號 | 功 能 描 述 |
1 | TXD | 發(fā)送數(shù)據(jù)輸入端,接控制器的串行數(shù)據(jù)輸出端 |
2 | GND | 地 |
3 | Vcc | 電源電壓:4.5V〈 Vcc〈 5.5V |
4 | RXD | 接收數(shù)據(jù)輸出端,接控制器的串行數(shù)據(jù)輸入端 |
5 | VREF | 基準電壓輸出端 |
6 | CANL | 低電平輸入/輸出端 |
7 | CANH | 高電平輸入/輸出端 |
8 | Rs | 斜率控制電阻輸入端 |
82C250的真值表如表1-2所列。
電源 | TXD | CANH | CANL | 總線狀態(tài) | RXD |
4.5 | 0 | 高電平 | 低電平 | 支配 | 0 |
4.5 | 1或懸浮 | 懸浮 | 懸浮 | 退讓 | 1 |
Vcc<2V | 不定 | 懸浮 | 懸浮 | 退讓 | 不定 |
2V | >0.75Vcc | 懸浮 | 懸浮 | 退讓 | 不定 |
2V | 不定 | 懸浮 | 懸浮 | 退讓 | 不定 |
表1-2 82C250真值表
從表1-2中可看出,CAN總線驅(qū)動器82C250和RS485驅(qū)動器的主要區(qū)別在于傳輸信號的電平上。RS485驅(qū)動器的兩個輸出端分別向總線發(fā)送一對相異的電平,即一端為高電平,另一端則為低電平。而82C250輸出端的電平不是相異的,在CANH端,它的兩個狀態(tài)是高電平和懸浮狀態(tài);而在CANL端,它的兩個狀態(tài)則分別為低電平和懸浮狀態(tài),這樣一來即使多個節(jié)點同時向網(wǎng)絡(luò)發(fā)送數(shù)據(jù),也不會像RS485那樣發(fā)生短路現(xiàn)象。
三、不需更改原有通訊軟件的RS232/CAN轉(zhuǎn)換器
由德陽四星電子技術(shù)開發(fā)中心研制的CAN-232G和CAN-485G,很好的解決了RS232和RS485的超遠程通信和組網(wǎng)問題,采用不改變RS232或RS485通訊協(xié)議(軟件)的CAN總線驅(qū)動器,使RS232或RS485的通信距離可達到10公里,避免了使用中繼器需野外供電的麻煩,并具有高速和便于RS232口組網(wǎng)的特點,加上特有抑制信號自收技術(shù),無需改變原來的軟件,確保適合所有的RS232/RS485軟件。
1、主要技術(shù)參數(shù):
1、光隔離電壓:500V直流,3500V脈沖
2、電源:外接5V 100mA直流電源
3、通訊距離:10km(4800bps)、5km(9600bps)、2km(38400bps)、600m(115200bps)
4、通訊速率:最高230kbps,速率自適應(yīng)無需設(shè)置
5、通訊協(xié)議:采用半雙工CAN總線但不改變原有的RS232通訊協(xié)議(軟件)
6、組網(wǎng)節(jié)點數(shù):可組成具有110個節(jié)點的多機通訊網(wǎng)絡(luò)
7、傳輸線 :0.75mm2 以上特性阻抗為120歐的雙絞線
8、外形尺寸:100×55×17
9、重量:70克
10、工作溫度:-20~60℃
11、工作濕度:0~90%
2、工作原理 :
如圖所示,設(shè)備的RS232(或RS485)信號經(jīng)RS232(或RS485)接口電路轉(zhuǎn)換成TTL電平,由信號自收抑制電路確保設(shè)備不會收到自己發(fā)送的信號,經(jīng)光電隔離后由CAN總線驅(qū)動器輸出CAN信號。本產(chǎn)品的工作電源可由設(shè)備上提供,也可單獨外接,產(chǎn)品內(nèi)部使用了隔離電源模塊,信號和電源都采取了隔離,保證了系統(tǒng)的抗干擾性能和安全性。
3、應(yīng)用:
RS232點對點通訊:
RS232多機通信網(wǎng)絡(luò):
CAN-232G(或CAN-485G)可實現(xiàn)多至110個RS232(或RS485)節(jié)點組成多機通訊網(wǎng)絡(luò),最大通訊距離可達10km(4800bps),各節(jié)點的地址由設(shè)備內(nèi)部的程序確定。