CAN總線技術(shù)特點(diǎn)及DeviceNet
6 CAN的出錯(cuò)管理CAN提供了檢測(cè)下列錯(cuò)誤類(lèi)型的機(jī)制 :①位錯(cuò)誤。當(dāng)發(fā)送器將自己發(fā)送的電平與總線上的電平相比較 ,發(fā)現(xiàn)兩者不相等時(shí) ,出現(xiàn)錯(cuò)誤 ;②應(yīng)答錯(cuò)誤。當(dāng)發(fā)送器確定信息沒(méi)有得到應(yīng)答 ,則檢測(cè)到應(yīng)答錯(cuò)誤 ;③填充錯(cuò)誤。當(dāng)節(jié)點(diǎn)檢測(cè)到 6個(gè)相同電平值的連續(xù)位時(shí) ,則檢測(cè)到填充錯(cuò)誤 ;④CRC錯(cuò)誤。當(dāng)接收器計(jì)算的CRC(循環(huán)冗余檢查 )值不符合發(fā)送器發(fā)送的CRC值 ,則檢測(cè)到CRC錯(cuò)誤 ;⑤格式錯(cuò)誤。如果節(jié)點(diǎn)在一個(gè)必須發(fā)送預(yù)定值的區(qū)內(nèi)檢測(cè)到一個(gè)非法位 ,則檢測(cè)到格式錯(cuò)誤。為了盡量減小網(wǎng)絡(luò)上故障節(jié)點(diǎn)的負(fù)面影響 ,CAN定義了一個(gè)故障界定狀態(tài)機(jī)制。一個(gè)節(jié)點(diǎn)可能處于下列三種錯(cuò)誤狀態(tài)之一 :①錯(cuò)誤 激活。當(dāng)一個(gè)錯(cuò)誤 激活節(jié)點(diǎn)檢測(cè)到上述某一個(gè)錯(cuò)誤時(shí) ,它將發(fā)送一個(gè)活動(dòng)錯(cuò)誤幀 ,導(dǎo)致所有的其他節(jié)點(diǎn)都檢測(cè)到一個(gè)填充錯(cuò)誤 ,且丟棄當(dāng)前這個(gè)幀 ;②錯(cuò)誤 認(rèn)可。當(dāng)一個(gè)錯(cuò)誤 認(rèn)可節(jié)點(diǎn)檢測(cè)到上述的某一個(gè)錯(cuò)誤時(shí) ,它將發(fā)出一個(gè)認(rèn)可錯(cuò)誤幀。這個(gè)幀可能不會(huì)引起當(dāng)前接收幀的丟棄 ;③離線。處于離線狀態(tài)下的節(jié)點(diǎn)不允許對(duì)總線有任何影響 ,它在邏輯上是與網(wǎng)絡(luò)斷開(kāi)的。在CAN的內(nèi)部有一個(gè)發(fā)送和接收錯(cuò)誤計(jì)數(shù)器。當(dāng)檢測(cè)到一個(gè)發(fā)送或接收錯(cuò)誤時(shí) ,錯(cuò)誤計(jì)數(shù)器的值將按照預(yù)先分配的不同計(jì)數(shù)值進(jìn)行累加。反之 ,有效的接收及發(fā)送將使這些計(jì)數(shù)器值減小 ,直到變成最小值 0。通過(guò)讀取錯(cuò)誤計(jì)數(shù)器的值 ,CAN就可以很方便地判定節(jié)點(diǎn)的出錯(cuò)級(jí)別。圖3以圖表的方式來(lái)描述不同錯(cuò)誤狀態(tài)之間的轉(zhuǎn)換關(guān)系。
7 CAN芯片與DeviceNet
執(zhí)行CAN協(xié)議的CAN芯片可由多家制造商提供 ,比較流行的是Philips和Motorola兩家公司的產(chǎn)品。CAN芯片按結(jié)構(gòu)形式可分為嵌入式和外掛式兩種。嵌入式指包含CAN控制器及微處理器 (CPU )的芯片 ,外掛式只包含CAN控制器的芯片。Philips半導(dǎo)體公司生產(chǎn)的CAN芯片兩種結(jié)構(gòu)都有。嵌入式芯片的早期代表型號(hào)為P8XC592 (8位CPU) ,現(xiàn)在已經(jīng)逐漸被新型號(hào)的XA C3 (1 6位CPU)所取代。外掛式芯片的早期代表型號(hào)為PCX82C2 0 0 (支持CAN 2 .0A) ,現(xiàn)在已經(jīng)逐漸被新型號(hào)的XJA1 0 0 0 (支持CAN 2 . 0B)所取代。Motorola半導(dǎo)體公司生產(chǎn)的CAN芯片只有嵌入式芯片。早期代表型號(hào)為MC6 8HC0 5X4/X1 6系列 (8位CPU) ,現(xiàn)在已經(jīng)逐漸被新型號(hào)的MC6 8HC0 8AZ6 0系列 (8位增強(qiáng)型CPU)所取代。具體選用何種CAN芯片 ,用戶可根據(jù)自身的實(shí)際情況而定。不同公司的CAN芯片產(chǎn)品 ,雖然擴(kuò)展功能各有不同 ,但由于DeviceNet總線只要求支持CAN 2 .0A ,所以在DeviceNet總線的應(yīng)用方面是大同小異的。這些芯片只對(duì) 1 1位標(biāo)識(shí)區(qū)的高 8位 (不是整個(gè) 1 1位 )進(jìn)行屏蔽 ,并只有一個(gè)掩膜 /匹配過(guò)濾器 ,主要的數(shù)據(jù)處理必須放在軟件中來(lái)實(shí)施。
8 結(jié) 語(yǔ)
CAN總線是一種面向一般工業(yè)設(shè)備的高速通信總線。它具有數(shù)據(jù)精簡(jiǎn) (最長(zhǎng)為 8byte) ,實(shí)時(shí)性高、可靠性強(qiáng) (采用CRC校驗(yàn) )等一系列優(yōu)點(diǎn) ,可滿足大部分工業(yè)設(shè)備的通信要求 ,適合在低壓電器領(lǐng)域中推廣應(yīng)用。DeviceNet現(xiàn)場(chǎng)總線技術(shù)在CAN總線的基礎(chǔ)上又增加了面向?qū)ο蟆⒒谶B接的現(xiàn)代通信技術(shù)理念 ,將工業(yè)現(xiàn)場(chǎng)的分散設(shè)備連接成一個(gè)廉價(jià)、高效、開(kāi)放、可靠的控制網(wǎng)絡(luò)系統(tǒng) ,至今已在世界上眾多工業(yè)現(xiàn)場(chǎng)中得到成功應(yīng)用。相信在不遠(yuǎn)的將來(lái) ,隨著現(xiàn)場(chǎng)總線技術(shù)的不斷深入推廣 ,DeviceNet現(xiàn)場(chǎng)總線一定能在國(guó)內(nèi)獲得廣泛應(yīng)用。
評(píng)論