CAN總線技術特點及DeviceNet

6 CAN的出錯管理CAN提供了檢測下列錯誤類型的機制 :①位錯誤。當發送器將自己發送的電平與總線上的電平相比較 ,發現兩者不相等時 ,出現錯誤 ;②應答錯誤。當發送器確定信息沒有得到應答 ,則檢測到應答錯誤 ;③填充錯誤。當節點檢測到 6個相同電平值的連續位時 ,則檢測到填充錯誤 ;④CRC錯誤。當接收器計算的CRC(循環冗余檢查 )值不符合發送器發送的CRC值 ,則檢測到CRC錯誤 ;⑤格式錯誤。如果節點在一個必須發送預定值的區內檢測到一個非法位 ,則檢測到格式錯誤。為了盡量減小網絡上故障節點的負面影響 ,CAN定義了一個故障界定狀態機制。一個節點可能處于下列三種錯誤狀態之一 :①錯誤 激活。當一個錯誤 激活節點檢測到上述某一個錯誤時 ,它將發送一個活動錯誤幀 ,導致所有的其他節點都檢測到一個填充錯誤 ,且丟棄當前這個幀 ;②錯誤 認可。當一個錯誤 認可節點檢測到上述的某一個錯誤時 ,它將發出一個認可錯誤幀。這個幀可能不會引起當前接收幀的丟棄 ;③離線。處于離線狀態下的節點不允許對總線有任何影響 ,它在邏輯上是與網絡斷開的。在CAN的內部有一個發送和接收錯誤計數器。當檢測到一個發送或接收錯誤時 ,錯誤計數器的值將按照預先分配的不同計數值進行累加。反之 ,有效的接收及發送將使這些計數器值減小 ,直到變成最小值 0。通過讀取錯誤計數器的值 ,CAN就可以很方便地判定節點的出錯級別。圖3以圖表的方式來描述不同錯誤狀態之間的轉換關系。

7 CAN芯片與DeviceNet
執行CAN協議的CAN芯片可由多家制造商提供 ,比較流行的是Philips和Motorola兩家公司的產品。CAN芯片按結構形式可分為嵌入式和外掛式兩種。嵌入式指包含CAN控制器及微處理器 (CPU )的芯片 ,外掛式只包含CAN控制器的芯片。Philips半導體公司生產的CAN芯片兩種結構都有。嵌入式芯片的早期代表型號為P8XC592 (8位CPU) ,現在已經逐漸被新型號的XA C3 (1 6位CPU)所取代。外掛式芯片的早期代表型號為PCX82C2 0 0 (支持CAN 2 .0A) ,現在已經逐漸被新型號的XJA1 0 0 0 (支持CAN 2 . 0B)所取代。Motorola半導體公司生產的CAN芯片只有嵌入式芯片。早期代表型號為MC6 8HC0 5X4/X1 6系列 (8位CPU) ,現在已經逐漸被新型號的MC6 8HC0 8AZ6 0系列 (8位增強型CPU)所取代。具體選用何種CAN芯片 ,用戶可根據自身的實際情況而定。不同公司的CAN芯片產品 ,雖然擴展功能各有不同 ,但由于DeviceNet總線只要求支持CAN 2 .0A ,所以在DeviceNet總線的應用方面是大同小異的。這些芯片只對 1 1位標識區的高 8位 (不是整個 1 1位 )進行屏蔽 ,并只有一個掩膜 /匹配過濾器 ,主要的數據處理必須放在軟件中來實施。
8 結 語
CAN總線是一種面向一般工業設備的高速通信總線。它具有數據精簡 (最長為 8byte) ,實時性高、可靠性強 (采用CRC校驗 )等一系列優點 ,可滿足大部分工業設備的通信要求 ,適合在低壓電器領域中推廣應用。DeviceNet現場總線技術在CAN總線的基礎上又增加了面向對象、基于連接的現代通信技術理念 ,將工業現場的分散設備連接成一個廉價、高效、開放、可靠的控制網絡系統 ,至今已在世界上眾多工業現場中得到成功應用。相信在不遠的將來 ,隨著現場總線技術的不斷深入推廣 ,DeviceNet現場總線一定能在國內獲得廣泛應用。
評論