陳軍
(遼河油田通信公司信息檔案中心,遼寧 盤錦 124010)
隨著科學技術的不斷發展,經過了兩個世紀過程控制領域發生了巨大的變革。隨著數字計算機的介人與發展,20世紀70年代產生了“集中控制”的中央控制計算機系統。由于微處理器的發展十分迅速,這就讓其可以應用于多個方面,因此數字通信網絡就能夠使用在工業過程現場,從而出現了以微處理器為核心,通過集成電路對信息進行采集、傳輸、處理、顯示和優化控制等功能的智能設備。這在一定程度上幫助設備之間實現通信、控制,而且提高了設備的可靠性、精度、可操作性和可維護性等性能。
將智能現場設備和自動化系統連接的多站、雙向和全數字化的通信系統就是現場總線,其主要完成的是工業現場的智能化儀器儀表、執行機構、控制器等現場設備間的數字通信,以及受高級控制系統和現場控制設備之間的信息傳遞,或者是安裝在控制室內的自動控制系統和生產區域的現場設備之間的一種串行數字式多點雙向通信的數據總線,或者是以單個分散的數字智能化的測量和控制設備作為網絡節點,并用總線相連接,從而達到相互交換信息共同完成自動控制功能的網絡系統與控制系統的目的。
目前常用的現場總線主要包括:ControlNet和Ethernet/IP現場總線、TS61158現場總線、Profibus現場總線、FF HSE現場總線、P-NET現場總線、world FIP現場總線、SwiftNet現場總線、FF H1現場總線、Interbus現場總線、PROFInet現場總線,以及藍牙和zlgBee無線現場總線等。
CAN是ISO國際標準化串行通信協議中的一種控制器局域網。CAN-bus是目前國內外應用較為廣泛的一種現場總線。在當前的很多行業中,尤其是汽車產業中,人們對安全、舒適、方便、成本、公害等多方面的要求越來越高,因此多種多樣的電子控制系統也就逐漸的被開發出。但是各個系統之間通信所用的數據類型以及對系統的可靠性等要求各不相同,線束的數量隨著多條總線構成情形繁多而增加,為了滿足需要,1986年德國電氣商博世公司開發出面向汽車的CAN通信協議。因此最早被用作汽車環境中微控制器通信的CAN-bus則負責在車輛各電子控制裝置ECU之間實現信息交換,從而形成汽車電子控制網絡。
2.1CAN-bus作為一種多主方式的串行通信總線,其位速率較高、抗電磁干擾性較強、低成本的現場總線、極高的總線利用率、很遠的數據傳輸距離(長達10km)、高速的數據傳輸速率(高達1Mbit/s)、可根據報文的ID決定接收或屏蔽該報文、可靠的錯誤處理和檢錯機制,當檢測出產生的任何錯誤時,發送的信息就會遭到破壞,此時便可自動重發等。當信號傳輸的距離達到10km時,CAN-bus依然能夠提供的數據傳輸速率高達5kbit/s,因此在工業自動化、醫療設備、汽車、船舶、制造業、航空工業等方面被廣泛應用。并且由于CAN等通信協議的開發,使得多種LAN通過網關進行數據交換能夠得到實現。
2.2 CAN協議特點
2.2.1 多主控制。當總線空閑時所有的單元都能夠開始發送消息,這就是多主控制。此時則是由最先訪問總線的單元而決定發送權的(CSMA/CA 方式)。
2.2.2 消息的發送。當總線空閑時與總線相連的所有單元都能夠開始發送新消息。當存在多個單元同時開始發送消息時,其優先級則根據標識符決定,此時訪問總線消息的優先級則是通過ID表示的。當多個單元同時開始發送消息時,則是通過將各消息ID的每個位進行逐個比較而得。
2.2.3 通信速率。設定適合的通信速率主要是根據整個網絡的規模而定。在同一網絡中傳輸時,所有單元都必須設定成統一的通信速率,當有單元的通信速率與其他不同時,此單元則會輸出錯誤信號,此時則會妨礙整個網絡的通信。當然在不同網絡間,可采用不同的通信速率。
2.2.4 系統的柔軟性。在總線上增加單元時,由于與總線相連的單元并沒有類似于“地址”的信息,因此與總線相連的其他單元的軟件、硬件和應用層等都不需要改變。
2.2.5 錯誤檢測、通知、恢復功能。在所有的單元中都能夠實現檢測錯誤功能。當檢測出錯誤時,錯誤單元則馬上通知其他與總線相連的所有單元,而當正在發送消息的單元檢測出錯誤后,則會強制結束當前的發送,而強制結束發送的單元則會不斷地重新發送該消息,直到成功發送為止,這就是錯誤恢復功能。
2.2.6 遠程數據請求。可通過發送“遙控幀”,請求其他單元發送數據。
2.3 CAN總線錯誤分析
作為穩定可靠的一種現場總線,CAN總線對于錯誤的處理有專用的硬件邏輯機制。CAN總線錯誤狀態主要有3種狀態,任何時候CAN總線始終處于以下三種狀態中的一種:
(1)主動錯誤狀態。主動錯誤狀態是指能夠正常參加總線通信的狀態,當檢查出處于主動錯誤狀態的單元出現錯誤時,輸出主動錯誤標志。
(2)被動錯誤狀態。被動錯誤狀態是較為容易引起錯誤的狀態。處于被動錯誤狀態是指,該單元能夠參加總線通信,接收時為了不妨礙其他單元通信而沒有積極地發送錯誤通知。當主動錯誤狀態的單元如果沒發現錯誤時,即使處于被動錯誤狀態的單元檢測出錯誤,沒能發送錯誤報告而導致整個總線被認為是沒有錯誤的。并且在發送結束后,處于被動錯誤狀態的單元不能立刻再次開始發送,而在開始下次發送前,必須在間隔幀期間內插人“延遲傳送”,既8個位的隱性位。
(3)總線關閉態。總線關閉態表示不能參加總線上通信的狀態,此時信息的接收和發送均被禁止。
2.4 CAN總線協議中幀結構
在CAN協議中,所有的消息都以固定的格式發送的,包括錯誤幀、數據幀、過載幀、遙控幀和幀間隔這五種幀。數據幀和遙控幀有標準格式和擴展格式兩種格式,而標準格式有11個位的標識符(ID),擴展格式有29個位的ID。
數據幀由7個段構成,數據幀的構成如圖所示。

圖 數據幀的格式
從圖中可知,這7個段依次是幀起始、仲裁段、控制段、數據段、CRC段、ACK段和幀結束。
幀起始,表示數據幀開始的段,一個位的顯性位;仲裁段,表示該幀優先級的段;控制段,表示數據的字節數和保留位的段,由6個位構成,表示數據段的字節數;數據段,數據的內容,可以發送從0-8個字節的數據,從MSB(最高位)開始輸出;CRC段,檢查幀的傳輸錯誤的段,由15個位的CRC順序和1個位的CRC界定符構成;ACK段,表示確認正常接收的段,由ACK槽和ACK界定符2個位構成;幀結束,表示數據幀結束的段,由7個位的隱性位構成。
2.5 CAN總線的基本組織規則
對于現場總線中的CAN總線而言,通常需要基于的基本規則主要包括四個方面:
(1)總線訪問
使用CAN總線時,通常在總線空閑狀態期間CAN控制器才能開始發送信息,并且所有CAN控制器同步于幀起始的前沿。
(2)仲裁
總線主節點是指在CAN總線的發送期間,發送遠程幀或數據幀的每一節點。遇多個節點同時開始發送時,只有將具有最高優先權的節點變成總線主節點而發送。此種機理是基于用標識符和緊隨其后的RTR位完成競爭的仲裁。
(3)編碼/譯碼
主要是用于對于幀起始、控制域、數據域等的填充技術進行編碼。
(4)出錯標注
在發現發送位、填充、應答等錯誤時,檢測出錯誤的CAN控制器就會發送出1個出錯標志,并在下一位開始發送。
現場總線中的CAN總線技術因具備其特有的協議特點等,使得CAN總線具有了錯誤分析等便于實際應用的優勢,這就使得應用CAN總線的系統能較好的實現功能,為實現數字通信更好的服務。
[1]張永春.基于CAN總線的分布式數據采集系統[J].儀表技術與傳感器,2010,12.
[2]王德勝.基于CAN總線皮帶機控制系統遠程控制器的研究[J].中國礦山工程,2010,6.
[3]代芬,張承學,王大方.CAN總線在低壓變電站通信系統中的應用[J].電氣傳動,2003-12-30.