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