CAN(Controller Area Network)是一種多主方式的串行通訊總線。基本設(shè)計規(guī)范要求有高的位速率、高抗電磁干擾性,而且能夠檢測出產(chǎn)生的任何錯誤,當信號傳輸距離達到 10Km 時 CAN-bus 仍可提供高達 5Kbps 的數(shù)據(jù)傳輸速率。CAN 模塊的設(shè)計,是基于 CAN 芯片,對串行信號(RX/TX)與 CAN 差分信號(CANH/CANL)進行互相轉(zhuǎn)換。以下是兩種較為常用的 CAN 收發(fā)器。
CAN總線有兩條控制線:CAN_H和CAN_L,是控制器局域網(wǎng)絡(luò)的總稱。在工業(yè)控制領(lǐng)域中,CAN通信的應(yīng)用是非常廣泛的,其通信的原理也比較簡單,具體的過程:總線上的節(jié)點向其它節(jié)點發(fā)送數(shù)據(jù)時,傳遞的信息將會以報文的形式在總線上進行廣播,總線上的每個節(jié)點在接收到數(shù)據(jù)之后,會根據(jù)過濾器來接收自己需要的報文。CAN通信是一種異步通信的方式,并不依賴于時鐘進行通信,這種通信的方式對外部的電磁干擾是高度免疫的,主要是因為兩條總線使用的是差分通信的方式,可以抑制共模干擾,且外部使用的是屏蔽雙絞線,對于同一干擾源,對兩條總線的干擾時相同的,故可抵消。CAN總線物理層的形式主要兩種方式:閉環(huán)網(wǎng)絡(luò)總線和開環(huán)網(wǎng)絡(luò)總線線。
與其他現(xiàn)場總線相比,CAN部遲疑不決在通信能力、可靠性、實時性、靈活性、易用性、傳輸距離和成本等方面有著明顯的優(yōu)勢,成為控制等領(lǐng)域最有前途的現(xiàn)場總線之一。對于CAN總線的物理層接口,現(xiàn)有大多是CAN總線物理層接口電路與CAN總線控制器連接構(gòu)成的CAN總線通信網(wǎng)絡(luò)。經(jīng)筆者的深入分析和實踐證明:CAN總線物理層接口電路(符合ISO11898標準)也可與單片機直接連接構(gòu)成一個高可靠、低成本、簡單實用、多機互連的分布式測控系統(tǒng)。
PCA82C250與AT89C55的硬件連接比MAX485與AT89C55的硬件連接還要簡單,因為,PCA82C250的通信過程無需接收與發(fā)送的硬件轉(zhuǎn)換控制,僅由軟件來控制接浮時,CAN總線表現(xiàn)為“隱性”位數(shù)值,即CANH和CANL為懸浮態(tài)(VCAHN≈CANL≈VCC/2,相當于關(guān)閉總線),這為具有“休眠”功能的系統(tǒng)提供了網(wǎng)絡(luò)安全保障;當TXD端輸入為低電平時,CAN總線表現(xiàn)為“顯性”位數(shù)值(向總線傳送有效數(shù)據(jù)位),即CANH輸出高電壓(約3.5V,當VCC為5V時)、CANL輸出低電平(約1.5V,當Vcc為5V時)。顯然,在多主機條件下,“顯性”位和“隱性”位的引入,可在總線上實現(xiàn)非破壞性總線仲裁,以裁決哪一個主設(shè)備應(yīng)是下一個占有總線的設(shè)備。由于沒有用到PCA82C250參考電壓的輸出值,因此,PCA82C250的5腳可懸空,而8腳所接的電阻RS用于控制CAN總線的輸出脈沖的上升、下降沿的斜率,以降低總線的射頻干擾。當RS上的電阻大于0.75CC時,PCA82C250芯片進入低功耗待機狀態(tài);當RS上的電壓小于0.3Vcc時,PCA82C250進入高速通信狀態(tài);當RS上的電壓處于0.4Vcc至0.6Vcc之間時,PCA82C250進入CAN總線輸出脈沖上升、下降沿的斜率控制通信狀態(tài),其斜率大小與RS上的電壓成正比。
其主要特點如下:
(1)CAN總線為多主站總線,各節(jié)點可在任意時刻向網(wǎng)絡(luò)上的其他節(jié)點發(fā)送信息,且不分主從;
(2)CAN總線采用獨特的非破壞性總線仲裁技術(shù),高優(yōu)先級節(jié)點優(yōu)先傳送數(shù)據(jù),故實時性好;
(3)CAN總線具有點對點、一點對多點及全局廣播傳送數(shù)據(jù)的功能;
(4)CAN總線采用短幀結(jié)構(gòu),每幀有效字節(jié)數(shù)最多為8個,數(shù)據(jù)傳輸時間短,并有CRC及其他校驗措施,數(shù)據(jù)出錯率極低;
(5)CAN總線上某一節(jié)點出現(xiàn)嚴重錯誤時,可自動脫離總線,而總線上的其他操作不受影響;
(6)CAN總線系統(tǒng)擴充時,可直接將新節(jié)點掛在總線上,因而走線少,系統(tǒng)擴充容易,改型靈活;
(7)CAN總線的最大傳輸速率可達1 Mb/s,直接通信距離最遠可達10 km(速率在5 Kb/s以下);
(8)CAN總線上的節(jié)點數(shù)取決于總線驅(qū)動電路,在標準幀(11位報文標識符)時,可達到110個,而在擴展幀(29位報文標識符)時,個數(shù)不受限。
當需要MCU與通信網(wǎng)絡(luò)之間的電氣隔離時,可在MCU與CAN總線的物理層專用接口電路之間增加2個光電隔離器件(如6N137光電隔離電路),即可實現(xiàn)MCU與通信網(wǎng)絡(luò)之間的電氣隔離。必要時通過修改原有的RS-485總線的通信軟件即可實現(xiàn)多主式多機數(shù)據(jù)通信,充分利用了CAN總線物理層的優(yōu)勢。在硬件方面,能夠以簡單的形式、較低的價格、較高的性能構(gòu)造出極具競爭力的分布式測控系統(tǒng),使多機互連的分布式測控系統(tǒng)的通信網(wǎng)絡(luò)性能得以提升。