《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > CAN總線和基于CAN總線的高層協議
CAN總線和基于CAN總線的高層協議
Free
摘要: 從1982年2月RobertBosch公司在SAE(汽車工程協會)大會上宣布CAN控制器局部網的那一刻開始,CAN已經走過20多年的歷史。1992年,Mercedes(奔馳)在他們的高級客車中使用CAN技術,相繼Volvo、Volkswagen、BMW
Abstract:
Key words :

 
1 引言
從1982年2月 RobertBosch公司在SAE(汽車工程協會)大會上宣布CAN控制器局部網的那一刻開始, CAN已經走過20多年的歷史。1992年,Mercedes(奔馳)在他們的高級客車中使用CAN技術,相繼Volvo、Volkswagen、BMW 等幾十家公司都在各自的汽車上應用CAN技術。今天,在歐洲幾乎每一輛新客車均裝有CAN控制器局部網。CAN技術近年在我國發展也比較迅猛,國內的高級客車也都開始應用CAN技術。
CAN的協議在應用過程中,用戶層直接訪問數據鏈接層,每個廠商提供的數據調用方式各不相同,而CAN的標準沒有規定應用層的相關信息,因此,CAN設備的兼容性和互換性不是很規范。而且,隨著應用領域的擴展,CAN協議在實際工業控制應用過程中,即使執行一些簡單的分布式網絡,除了標準中的物理層和數據鏈接層外,客戶還要求有更多的功能,如發送長于8字節的數據塊、響應和確定數據傳送、標識符分配、網絡節點的狀態等。如果這些功能正確執行,通信和應用過程的界線就十分清晰,將明顯提高各個廠商之間的設備互換性和兼容性。鑒于這些原因,產生了一些針對不同的目的和要求的基于CAN協議的較高層協議標準。下面就對CAN 協議及其較高層協議DeviceNet和CANopen進行一些比較。

2 三種協議的比較項目
CAN(Controller Area Network)1993年形成了CAN總線國際標準,2003年又進行了修訂,是BOSCH公司為改進汽車內部電器線路開發的一種總線。CAN協議的實現簡單,成本低,可靠性高,抗干擾能力強。
DeviceNet在美國市場占有率比較高,它是由美國Rockwell公司在CAN的基礎上推出的一種低成本的通信鏈接,它使用抽象的對象模型,其協議和規范都是開放的,用戶將設備連接到系統時無需購買硬件、軟件和許可權。
CANopen 是由CiA(CAN in Aoutmation)成員編制,主要盛行于歐洲,它在通訊和系統服務以及網絡管理方面使用了CAL(CAN Application Layer)子集,設備建模是借助于對象目錄而基于設備功能性的描述,標準設備以設備子協議的形式規定。CANopen標準由CiA同行機構集團支持,設備子協議由CiA中專門的同行機構制定。
本文就以下項目對三種協議進行比較。
(1) 信息標識符的分配;
(2) 數據交換的方法;
(3) 建立信息連接的方法;
(4) 網絡管理;
(5) 設備建模和子協議。
2.1 信息標識符的分配
由于CAN采用非破壞性的仲裁方法,因此,標識符決定了塊信息傳送的優先權和信息等待時間,信息標識符的分配的方法被認為是 CAN系統的主要結構元素,它同時也影響了信息濾波和標識符的使用效率問題。
由于標識符分配的方法不同,不同的協議在解決方案已把不同的原則考慮進去。CAN基本協議和DeviceNet的標識符采用預定義的方式,不同的是在 CAN 協議中節點標識符在設計時被確定后就不能動態更改,而DeviceNet每個節點預定義多個標識符,不同的功能標識符優先級不同。在CANopen協議中,除了預定義了一些用于管理的標識符外,其它標識符統一組成一個通用的標識符庫,用戶可根據設備的需要進行手動或者自動分配所有的設備標識符。這樣的分配方案用戶就可以完全自由決定標識符的使用及系統實時通訊的過程。



表1 DeviceNet關于CAN標識符的使用分配

DeviceNet 的標識符分配方案是面向節點的信息標識符分配,對于DeviceNet系統,最多數量為64個的節點,其每一個節點擁有一組出自于3個信息組的標識符,如表1所示。信息組1為每個設備的16個信息提供一高優先信息組,報文ID較小的總是優先發送;信息組2的信息優先權主要取決于節點的號碼,信息的MAC- ID可以是目標或源地址該段共計分配512個標識符。信息組3與信息組1結構相似,但提供給每個設備7個標識符優先級比較低,這組的標識符優先權被平均分配到網絡上的所有設備。信息組4只有48個標識符,不包含任何設備地址,該組信息主要用于網絡管理。由于采用了基本CAN類型的控制器,信息濾波的潛能受到限制,信息組2以這種受到限制的潛能去支持多個設備,因此選擇了根據節點號碼的濾波功能。即DeviceNet規定了一個預定義主從連接組,以便于觀察主-從系統配置的通訊。下面的信道功能是為了向基于預定義連接組的主從設備間的I/O與顯式信息的交換提供支持:
l 顯式信息信道。
l 主機查詢改變信道的狀態循環。
l 從機I/O改變信道的狀態循環。
顯式信息主要服務于設備的配置。主機查詢改變狀態信道使得主機可以向設備請求I/O數據并把輸出數據發送到從機。借助于改變狀態循環或從機I/O(通過改變狀態循環觸發或通過應用觸發),從機將輸入數據發送到主機。通過位選通指令,主機可以從最多為64個的從機中請求接收一個輸入數據。由于所有的這些信息都是被響應的,所以對這些不同的功能性分配了8個信息標識符。如果請求獲取數據的位選通沒有使用一高效的標識符,則通過目的地址場在從機上對信息進行濾波。
CANopen 系統的標識符分配使用在CAL子集,其中CMS(CAN-based Message Specification)將信息標識符定義了8個優先級,每個級別擁有220個ID,范圍從1~1760,剩余的標志(0,1761~2031)保留給NMT(Network MessagemenT)。在CANopen的系統中,可能訪問的節點為128個,所以保留128個信息標識符作為節點保護。
在最小系統配置中,CANopen規定了一個面向設備的標識符分配方案,這種方法可以供127臺設備默認連接到一臺主設備上(如圖1所示)。通過4位的功能代碼可以區分某些情況的16種基本功能,這些情況分別是:2個數據過程信道的接收和發送、一個點對點信道、節點狀態控制、節點保護、緊急情況通報以及接收同步信息和有時間標記的信息。由于信息的優先級由它的功能決定,所以功能代碼位于信息標識符的最高幾位。



圖2 CANopen最小系統標識符分配方案

2.2 交換過程數據
在一分布式自動化系統的設備之間發送過程數據是CAN 通訊系統的目的,它應以最高效率的方式完成。因此,對于應用規定的數據(過程數據、I/O數據)其傳送應該根據產生者使用者的模型來執行,其意思就是說, 通過相關的信息ID推斷所發送的數據。信息的產生者和使用者在這種情況下被假設擁有使用數據的知識或明白發送數據的含義。
在CAN基本協議中,各個節點采用規定的模式交換數據。CAN的數據流由數據幀、遠程幀、錯誤幀和超載幀4種不同的幀類型所表示和控制。數據幀攜帶數據從發送器至接收器。遠程幀由總線單元發出,請求發送具有同一識別符的數據幀。任何單元檢測到一總線錯誤就發出錯誤幀。超載幀用以在先行的和后續的數據幀(或遠程幀)之間提供一附加的延時。
但是,DeviceNet和CANopen在過程數據交換采用不同的解決方案。DeviceNet過程數據通過“I/O信息”傳送,CANopen過程數據通過“過程數據對象”(PDOs Process Data Object)傳送。
DeviceNet 支持下列的觸發模式:循環、改變狀態和應用對象觸發。通過循環觸發的模式當指定信息的傳送觸發定時器終止時,信息的發送就會被啟動。通過狀態改變的模式當檢測到應用對象狀態改變時,信息發送就會開始,當一特定間隔時間結束而沒有發送信息,信息也會被發送。通過應用對象觸發模式,應用對象可以決定何時觸發信息的發送,當一特定間隔時間結束而沒有發送信息時信息也會被發送。
CANopen的觸發模式劃分為事件、應用請求或預定義同步信息接收后的觸發模式。事件觸發可以在子協議(Profile)或應用指定的事件(異步 PDO)中產生。PDO的發送也可以通過接收一遠程請求信息而被觸發。“同步PDO” 是通過接收同步信息的一指定號碼而被循環觸發的。同步信息也可以被用作為整個網絡中數據獲得的同步以及輸出數據濾波的同步。傳輸實時數據時,數據從一個生產者傳到一個或多個消費者,傳送限制在1到8個字節,即一個PDO可以傳輸最多64個數字I/O值或者4個16位的AD值。
數據交換過程中,網絡設備會產生或者消耗一個以上的映射應用對象。DeviceNet和CANopen為靈活地將應用數據映射到通訊對象而提供了非常完善的方法。
DeviceNet 中,應用數據的分組是由集合對象的實例(instance)規定的。這個“集合”對象的實例定義了發送的應用對象數據格式。一個設備可能包含多于一個 I/O集合而且其相應集合的選擇也是一個可配置的設備選項。
CANopen 規定了有關應用對象映射,應用對象通過一個叫“PDO映射記錄”的數據結構映射到PDO中。這個結構以對象標識符列表(對象目錄索引子索引)和數據長度的形式規定了映射的應用對象數據。由于PDO映射可通過SDO(Service Data Object)訪問,所以PDO映射可通過配置工具配置。
2.3 建立過程數據信息連接
在CAN 網絡里,信息生產者發送信息以及信息消耗者接收信息,其各自標識符的分配建立了通訊路徑。通過已經分配的信息標識符的預定義信息可以建立信息的連接,或通過信息的各種標識符分配來達到建立信息的連接目的。非預定義標識符分配的主要優點是:建立任何類型的通訊結構的可能性,根據應用需求的最大數量信息標示符的有效性以及面向控制而設計的信息標示符分配有效性。
在一預定義信息的系統中,信息的功能和信息的標示符已經被定義DeviceNet和 CANopen使用1:n系統結構的預定義連接組方法。根據預定義組,一個已經分配了從設備預定義查詢連接的DeviceNet主機,已經知道關于發送查詢請求以及期待查詢響應信息的信息ID,因為它們來源于從機的MAC-ID。同樣的,在CANopen中除了其他的預定義信息之外, 默認的預定義連接組提供了2個預定義的接收和發送PDO, 默認PDO的用法和含義是由設備的類型決定。
DeviceNet標識符分配方法是通過設備擁有的信息標示符庫決定的,這個標示符出自于信息發送設備的標示符庫。DeviceNet最大為64個設備發布有效的標識符。在連接過程中,一個產生模塊的信息從它的信息ID庫中,分配一個空閑的信息ID,并將此空閑的信息ID與它的源MAC ID(Source MAC ID)結合在一起,產生一個所謂的“連接ID”。而CANopen的變量標識符分配方案基于中央信息標識符庫,系統管理員通過SDO(Service Data Object)信道設置設備對象目錄中相應的PDO標識符實現信息連接的建立。
2.4 網絡管理
由于應用是分布的,所以必須處理某些事件,如應用部件的故障或節點的故障,如果同一應用還沒有被分配,則這些事件就不會出現。因此,對于一個正確的網絡管理,其主要任務是檢測和顯示網絡中的錯誤,并通過服務以一協調的方式控制分布節點的通訊。狀態取決于系統的解決方案,網絡的功能性可以通過顯式網絡管理設施提供,或通過其他方法提供。
CAN網絡的錯誤檢測包括位錯誤、填充錯誤、CRC錯誤、格式錯誤和應答錯誤,每當檢測到一個錯誤該節點的錯誤計數器就加1,當節點的錯誤計數器大于或等于256時,節點進入總線關閉狀態。
CANopen 網絡管理基于CAL NMT(Network ManagemenT)服務元素,這些元素應用了“節點保護”原則來檢測節點故障。為了這個目的,一個NMT主機通過一個遠程請求幀對網絡的每個節點 NMT從機循環發送一個保護請求。被訪問的從機用它的實際通訊狀態響應每個請求。如果NMT主機檢測到節點狀態改變或被訪問的節點沒有響應,就會有一個保護錯誤告示NMT主機應用。當節點連接到網絡上后,節點保護就啟動。每一個節點也監督到達節點的保護請求信息。節點的“生存時間”過期后如果沒有進一步的保護請求信息,則此節點的應用被告之有網絡錯誤。
根據面向連接的設計,DeviceNet中的每個連接都受到監控。因此,根據配置的期望信息包速率(expected packet rate),每個接收的連接端點都有靜止看門狗定時器(Inactivity/Watchdog-Timer),用于監控到達節點的信息。如果定時器溢出,連接就會執行專有的超時行動。在接收到創建服務(Create Service)顯式信息后,可以通過使用專有的顯式信息服務的順序來配置連接,并且,要在整個連接完成了配置以后才允許連接。在訪問每個 DeviceNet節點之前,每個節點必須重復執行MAC ID檢查,使用這個特殊的協議順序,可以確保設備MAC ID的唯一性。所有的DeviceNet模塊都要求參與這個MAC ID的檢測算法。
2.5 設備建模和設備子協議
除了標準的通訊外, 還要求相似設備在開放式自動化系統中應具有額外的互用性和可交換性。CAN協議各個廠商間的設備功能可交換性較差DeviceNet和CANopen在這方面改進了很多。DeviceNet和CANopen以設備模型的形式描述網絡上所看見的設備的功能性。為了提高相似設備的可交換性,DeviceNet 和CANopen規定了工業自動化中主要設備類型的設備子協議,以確保不同廠家器件的相同基本標準行為。除了設備的功能性描述外,設備模型還提供關于設備的身份特點、版本號、狀態診斷信息、通訊設施和配置參數的描述。
DeviceNet的節點模型包括了幾個對象,其中一些是由DeviceNet要求的,其他則是由產品的應用功能要求的。對象提供有關于設備中特殊部件的描繪和相關的數據屬性以及數據的過程服務的描繪。DeviceNet中的對象訪問是基于一個具有等級劃分的訪問方案,對象訪問包括媒體訪問控制標識符、類型標識符、實例標示符以及屬性標識符。媒體訪問控制標識符用以將一個節點從同一網絡中的所有其他節點中區分開來,類型標識符用以識別對象類型,實例標示符用以在相同類型的所有實例中識別一個實例,屬性標示符用以識別一個類型或實例里的屬性。
DeviceNet的設備子協議(Device Profile) 包含三方面的信息:設備類型的對象模型、設備類型的I/O數據格式以及配置數據和數據的公共接口。一個設備可能包含高達32個嵌入對象,而且這些對象都是總線可尋址的實體。根據嵌入對象的級別可以確定屬性、行為和事件。
CANopen通過對象目錄描述對象設備的功能性。目錄項是由一個16位索引和一個8位子索引號碼識別,數據和參數的功能被規定其中。除了用于定義數據類型的區段外,還有3個主要的區段,分別是:通訊子協議區段、標準化的設備子協議區段和廠商細節區段。通訊子協議區段信息對于任何CANopen設備類型都是一致的,并包含與信息、參數和功能相關的設備。這些信息參數和功能又與設備的鑒別、錯誤管理、包括將應用對象映射到過程數據對象的設備通訊信道的定義有關。CANopen設備子協議區段為特殊類別的基本標準設備的功能性提供了一個接口,其中有些條目是強制的,有些是可選的。強制的、共有的條目要確保設備在一個定義的基本方式中運轉。主要工業設備不同的設備子協議用以提高設備的可交換性。廠商特殊的或不標準的設備的功能性可以通過廠商特殊子協議區段進行提供。

3 結束語
文章通過對CAN、DeviceNet、CANopen在五方面的比較,使CAN總線用戶更深入的了解這幾種總線。這幾種協議最明顯的不同是信息標識符的使用。DeviceNet基于面向連接的觀點,CANopen基于面向信息的觀點。DeviceNet、CANopen協議和 CAN協議構成了一個完整的協議體系CAN總線因其具備其獨特的設計思想、優良的性能和高可靠性在汽車、醫學、機器人等領域有著很好的應用,而CAN的高層協議DeviceNet、CANopen滿足了不同產品的兼容和互操作性,使得CAN總線的功能更加的豐富和適應更加復雜的應用,進一步推進了CAN總線在工業領域的推廣和應用。
 

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 日韩伦理网 | h视频免费在线 | 日本r级视频| 中文字幕第3页 | 毛片爱做的片 | www.精品 | 欧美a级影院 | 欧美日韩一区二区不卡三区 | 91久久天天躁狠狠躁夜夜 | 亚洲高清成人欧美动作片 | 黄色大片免费观看 | 国产成人a一在线观看 | 国产综合成人久久大片91 | 欧美影片一区二区三区 | 日本免费大黄 | 国产精品亚洲高清一区二区 | 亚洲激情专区 | 久久久999国产精品 久久久99精品 | 国产日韩欧美中文 | 久久成人网18网站 | 91视频最新网址 | 一级成人黄色片 | 182tv午夜精品视频在线播放 | 成人午夜影院在线观看 | 黄色片网站在线播放 | 国产日韩欧美网站 | 日本高清中文字幕一区二区三区 | 一区二区中文字幕 | 午夜影院污 | 欧美成人免费一级人片 | 欧美国产综合在线 | 日日狠狠 | 涩涩福利网址导航 | 青草视频在线观看免费网站 | 日日噜噜噜夜夜爽爽狠狠69 | 亚洲精品456播放 | 综合激情六月 | 国产91色在线 | 亚洲 | 99在线视频网站 | 可以看的黄色网址 | 一级午夜a毛片免费视频 |