99年保密協(xié)議的造謠者【CANOpen協(xié)議的分析與研究】
發(fā)布時間:2020-02-16 來源: 日記大全 點擊:
摘要:CANopen是CAN上的高層通信協(xié)議,本文通過對CANopen協(xié)議的四種的通訊模式的分析,比較過程數據對象PDO模式和服務數據對象模式在實現消息機制上的異同,并利用CANopen通信模型構造了電梯控制系統(tǒng)的基本框架模型,總結了CANopen協(xié)議的優(yōu)缺點和適用場合。
關鍵詞:CAN;CANopen;PDO;SDO
中圖分類號:TP271 文獻標識碼:A
1 概述
CANopen是一種架構在控制局域網路(ControlArea Network,CAN)上的高層通訊協(xié)議,包括通訊子協(xié)定及設備子協(xié)議,常在嵌入式系統(tǒng)中使用,也是工業(yè)控制常用到的一種現場總線。CANopen是開放的、標準化的高層協(xié)議:這個協(xié)議支持各種CAN廠商設備的互用性、互換性,能夠實現在CAN網絡中提供標準的、統(tǒng)一的系統(tǒng)通訊模式,提供設備功能描述方式,執(zhí)行網絡管理功能。
應用層(Application layer):為網絡中每一個有效設備都能夠提供一組有用的服務與協(xié)議。
通訊描述(Communication profile):提供配置設備、通訊數據的含義,定義數據通訊方式。
設備描述(Device proflile):為設備(類)增加符合規(guī)范的行為。
CANopen主要應用在汽車、工業(yè)控制、自動化儀表等領域,目前由CIA負責管理和維護。
2 CANopen通訊模式
CANopen網絡中的通訊是通過消息機制來實現的,CANopen通訊模型定義了4種報文(通訊對象):
2.1 過程數據對象PDO(Process Data Object)
2.1.1 用來傳輸實時數據,數據從一個生產者傳到一個或多個消費者。數據傳送限制在1到8個字節(jié)(例如,一個PDO可以傳輸最多64個數字I/O值,或者4個16位的AD值)。
2.1.2 PDO通訊沒有協(xié)議規(guī)定。PDO數據內容只由它的CAN ID定義,假定生產者和消費者知道這個PDO的數據內容。
2.1.3 每個PDO在對象字典中用2個對象描述。
2.1.4 PDO通訊參數:包含哪個COB-ID將被PDO使用,傳輸類型,禁止時間和定時器周期。
2.1.5 PDO映射參數:包含一個對象字典中對象的列表,這些對象映射到PDO里,包括它們的數據長度(in bits),生產者和消費者必須知道這個映射,以解釋PDO內容。
2.1.6 DO消息的內容是預定義的(或者在網絡啟動時配置的):映射應用對象到PDO中是在設備對象字典中描述的。如果設備(生產者和消費者)支持可變PDO映射,那么使用SDO報文可以配置PDO映射參數。
2.1.7 可以有多種傳送方式:
a同步(通過接收SYNC對象實現同步)
b非周期:由遠程幀預觸發(fā)傳送,或者由設備子協(xié)議中規(guī)定的對象特定事件預觸發(fā)傳送。
2.1.8 周期:傳送在每1到240個SYNC消息后觸發(fā)。
2.1.9 異步
a由遠程幀觸發(fā)傳送。
b由設備子協(xié)議中規(guī)定的對象特定事件觸發(fā)傳送。
表2-1給出來了由傳輸類型定義的不同PDO傳輸模式,傳輸類型為PDO通訊參數對象的一部分,由8位無符號整數定義。
2 管理報文
層管理,網絡管理和ID分配服務:如初始化,配置和網絡管理(包括:節(jié)點保護)。
服務和協(xié)議符合CAL中的LMT,NMT和DBT服務部分。這些服務都是基于主從通訊模式:在CAN網絡中,只能有一個LMT,NMT或DBT主節(jié)點以及一個或多個從節(jié)點。
3 服務數據對象SDO(Service Data Object)
通過使用索引和子索引(在CAN報文的前幾個字節(jié)),SDO使客戶機能夠訪問設備(服務器)對象字典中的項(對象)。
SDO通過CAL中多元域的CMS對象來實現,允許傳送任何長度的數據(當數據超過4個字節(jié)時分拆成幾個報文)。
協(xié)議是確認服務類型:為每個消息生成一個應答(一個SDO需要兩個ID)。SDO請求和應答報文總是包含8個字節(jié)(沒有意義的數據長度在第一個字節(jié)中表示,第一個字節(jié)攜帶協(xié)議信息)。SDO通訊有較多的協(xié)議規(guī)定。
4 預定義報文或者特殊功能對象同步(SYNC)
4.1 在網絡范圍內同步(尤其在驅動應用中)
在整個網絡范圍內當前輸入值準同時保存,隨后傳送(如果需要),根據前一個SYNC后接收到的報文更新輸出值。
4.1.1 主從模式:SYNC主節(jié)點定時發(fā)送SYNC對象,SYNC從節(jié)點收到后同步執(zhí)行任務。
4.1.2 在SYNC報文傳送后,在給定的時間窗口內傳送一個同步PDO。
4.1.3 用CAL中基本變量類型的CMS對象實現。
4.1.4 CANopen建議用一個最高優(yōu)先級的COB-ID以保證同步信號正常傳送。SYNC報文可以不傳送數據以使報文盡可能短。
4.2 時間標記對象(Time Stamp)
4.2.1 為應用設備提供公共的時間幀參考。
4.2.2 用CAL中存儲事件類型的CMS對象實現。
4.3 緊急事件(Emergency)
4.3.1 設備內部錯誤觸發(fā)。
4.3.2 用CAL中存儲事件類型的CMS對象實現。
4.4 節(jié)點/壽命保護(Node/Life guarding)。
4.4.1 主從通訊模式
4.4.2 NMT主節(jié)點監(jiān)控節(jié)點狀態(tài):稱作節(jié)點保護(Node guarding)。
4.4.3 節(jié)點也可以(可選擇)監(jiān)控NMT主節(jié)點的狀態(tài):稱作壽命保護(Life guarding)。當NMT從節(jié)點接收到NMT主節(jié)點發(fā)送的第一個Node Guard報文后啟動壽命保護。
4.4.4 檢測設備的網絡接口錯誤(不是設備自身的錯誤):通過應急指示報告。
4.4.5 根據NMT節(jié)點保護協(xié)議實現:NMT主節(jié)點發(fā)送遠程請求到一個特定節(jié)點,節(jié)點給出應答,應答報文中包含了這個節(jié)點的狀態(tài)。
4.5 Boot-UP
4.5.1 主從通訊模式
4.5.2 NMT從節(jié)點通過發(fā)送這個報文,向NMT主節(jié)點說明該節(jié)點已經由初始化狀態(tài)進入預操作狀態(tài)。
一個CANopen設備必須支持一定數量的網絡管理服務(管理報文,administrative messages),需要至少一個SDO。每個生產或消費過程數據的設備需要至少一個PDO。所有其它的通訊對象是可選的。一個CANopen設備中CAN通訊接口、對象字典和應用程序之間的聯(lián)系如圖2所示
3 CANopen高層協(xié)議應用
CANopen協(xié)議中設備子協(xié)議中包括電梯控制系統(tǒng)應用協(xié)議。在CANopen協(xié)議電梯控制系統(tǒng)應用協(xié)議中詳細的規(guī)定了電梯控制系統(tǒng)CAN網絡的物理參數,節(jié)點ID分配,電梯虛擬設備定義,對象目錄以及系統(tǒng)錯誤處理。
通過CANopen協(xié)議在電梯控制系統(tǒng)上的應用,可以為任何電梯應用提供標準的、即插即用的電梯控制系統(tǒng)。符合CANopen電梯控制系統(tǒng)應用協(xié)議規(guī)范的電梯控制系統(tǒng)可以實現最大254層樓數,最多8臺電梯并聯(lián)的電梯應用。
4 總結
基于CAN總線的CANopen網絡通訊具有以下特點:
(1)使用對象字典(OD:Object Dictionary)對設備功能進行標準化的描述。
(2)使用ASCII文檔:電子數據文檔(EDS)和設備配置文件(DCF)對設備及其配置進行標準化的描述。
(3)CANopen網絡的數據交換和系統(tǒng)管理基于CAL中CMS服務。
(4)系統(tǒng)boot―up和節(jié)點保護(NodeGuarding)的標準基于CAL中NMT服務。
(5)定義了整個系統(tǒng)的同步操作。
(6)定義了節(jié)點特定的應急報文。
為與CANopen通訊協(xié)議和相應的設備子協(xié)議保持一致,以使制造商的產品能夠用于任何CANopen網絡,以下3種層次的兼容性要求需要滿足(對日益增長的設備兼容性的要求):
一致性:
設備連接到CANopen網絡后不能影響其他設備的通訊:應用層的一致性。
互用性:
設備能夠同網絡上的其它節(jié)點交換數據:通訊協(xié)議的一致性。
互換性:
設備能夠代替另外一個同類設備:設備子協(xié)議的一致性。
1993年由Bosch領導的歐洲CAN-bus協(xié)會開始研究基于CAN-bus通訊系統(tǒng)管理方面的原型,由此發(fā)展成為CANopen協(xié)議。這是一個基于CAL的子協(xié)議用于產品部件的內部網絡控制。其后CANopen協(xié)議被移交給CiA協(xié)會,由CiA協(xié)會管理維護與發(fā)展。至2000年CANopen協(xié)議已成為全歐洲最重要的嵌入式網絡標準。
在CiA的努力推廣下CAN技術在汽車電子控制系統(tǒng)、電梯控制系統(tǒng)、安全監(jiān)控系統(tǒng)、醫(yī)療儀器、紡織機械、船舶運輸等方面均得到了廣泛的應用。因此,研究CANopen協(xié)議具有廣泛的實際意義和應用需求。
(本文責任編輯 黃漢)
相關熱詞搜索:協(xié)議 分析 研究 CANOpen協(xié)議的分析與研究 canopen協(xié)議編程實例 canopen協(xié)議詳解
熱點文章閱讀