CAN總線技術特點及DeviceNet
CAN總線簡稱為控制器局部網 (CAN) ,最早由德國BOSCH公司提出 ,主要應用于汽車內部強干擾環(huán)境下的電器之間的數據可靠通信。但由于其優(yōu)異的性能 ,現已被許多領域廣泛采用和推廣。 1 991年 9月PhilipsSemiconductors制訂并發(fā)布了CAN技術規(guī)范 (Version 2 . 0?。梁停? ,1 993年 1 1月ISO正式頒布了道路交通運載工具―――數字信息交換 高速通信控制器局部網 (CAN)國家標準 (ISO 1 1 898) ,為控制器局部網標準化、規(guī)范化推廣鋪平道路?,F場總線技術發(fā)展很快 ,底層采用CAN總線協議的DeviceNet現場總線技術是其中比較重要的一種 ,因為它是一個低端網絡系統(tǒng) ,所起的作用是在簡單的工業(yè)設備 (如傳感器、操動器等 )與高端設備 (控制器 )之間提供連接 ,所以在低壓電器等領域取得了飛速的發(fā)展。
2 CAN總線
?。茫粒慰偩€是一種串行數據通信協議。它是一種多主總線 ,通信介質可采用雙絞線、同軸電纜或光纖。通信接口中集成了CAN協議的物理層和數據鏈路層功能 ,可完成對通信數據的組幀處理。CAN總線的最高通信速率可達 1Mb/s ,在DeviceNet總線中只用了 1 2 5Kb/s、2 50Kb/s、50 0Kb/s三檔。下面就CAN總線的主要技術特點簡要加以說明。圖 1描述了在DeviceNet總線技術中使用CAN總線協議作為媒體訪問控制 (MAC)和物理層信號 (PLS)的協議規(guī)范。請注意 ,DeviceNet總線只使用了CAN 2 .0A中的有關定義 ,并不支持CAN 2 . 0B中的擴展報文格式。下面結合DeviceNet總線具體介紹CAN 2 .0A中的一些重要技術特點。
3 CAN鏈路層尋址
?。茫粒问且环N基于廣播方式的協議。各種在網上傳輸的數據幀都被分配一個標識符 ,每個節(jié)點根據這些標識符 ,確定是否接收這些幀。這個標識符是在CAN幀的標識區(qū)中指定的。同以往的主 從結構相區(qū)別的是 :CAN支持多主形式。這意味著網絡上的任意一個節(jié)點在合適的時機 ,都可以主動向網上發(fā)送信息 ,這樣一來大大提高了網絡對意外事件的反應能力。該多主形式的實現 ,主要依賴于CAN先進的無損逐位仲裁機制。
4 CAN幀類型和幀結構
?。茫粒味x下列幀的類型 :①數據幀。將數據從發(fā)送器發(fā)送到接收器。②遠程幀。請求傳送指定標識符的數據幀 (DeviceNet并不使用CAN的遠程幀 ) ;③錯誤幀。標明一個節(jié)點檢測到了總線/網絡故障 ;④超載幀。在幀的發(fā)送之間提供一個延時來控制數據的流動。一個數據幀由七個不同區(qū)域組成 ,如圖 2所示。
其中 :仲裁區(qū)主要用于標識信息內容以及決定信息優(yōu)先級的高低??刂茀^(qū)包含數據區(qū)的長度信息 ,數據區(qū)的長度為 0~ 8byte。由于CAN的數據包傳送采用CRC循環(huán)冗余碼檢驗 ,所以數據通信誤碼率極低。CRC區(qū)中包含的就是用于CRC檢驗的序列 ,由發(fā)送器初始化產生。當接收器計算的CRC值不符合發(fā)送器發(fā)送的CRC值 ,則檢測到CRC錯誤 ,要求發(fā)送器重新發(fā)送。所有接收到匹配CRC序列的節(jié)點 ,通過ACK區(qū)給發(fā)送節(jié)點返回一個應答。
5 CAN媒體訪問控制
?。茫粒喂?jié)點的發(fā)送可以被網絡上其他所有節(jié)點監(jiān)聽并應答。只要總線處于發(fā)送空閑狀態(tài) ,任一節(jié)點都可以開始發(fā)送。如果一個節(jié)點正在發(fā)送 ,其他一個節(jié)點必須要等這一節(jié)點發(fā)送完成后才能開始發(fā)送信號。如果兩個或多個節(jié)點在同一時間開始發(fā)送 ,通過使用仲裁區(qū)的無損逐位仲裁算法來解決。仲裁區(qū)包含在所有CAN數據幀中。仲裁區(qū)包括 1 1位CAN標識符區(qū)和一個RTR位。RTR位表示這個幀是一個實際的數據幀還是一個遠程幀 ,由于DeviceNet不使用CAN提供的遠程幀 ,所以RTR位始終是顯性的。1 1位標識符場從最高位到最低位順序發(fā)送??偩€上的一位可以是顯性的 (值 0 ) ,也可以是隱性的 (值 1 )。一個顯性位和一個隱性位同時發(fā)送的結果是呈現顯性位。在仲裁區(qū)傳送期間 ,每一個發(fā)送器都監(jiān)視總線上的當前電平 ,并與它已經發(fā)送的位電平進行比較。如果值相等 ,那么這個節(jié)點可以繼續(xù)發(fā)送 ;如果發(fā)送了一個隱性位 (值1 ) ,同時在總線上監(jiān)視到一個顯性位 (值 0 ) ,那么此發(fā)送節(jié)點將失去仲裁權 ,同時必須停止發(fā)送數據。失去仲裁權的節(jié)點可以在當前發(fā)送完成的時候再次嘗試發(fā)送數據。具有最低數字值的標識符獲得仲裁優(yōu)先權。
評論