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