CANopen總線協議——新手手冊
在通訊領域中,我們所使用的CANopen總線協議具備很多特點,例如對象字典,和它的數據傳輸機制等等。這些方面它有著獨特的地方,我們就來詳細了解一下吧。CANopen總線協議包括通訊子協議(Communication Profile)和各種設備子協議(Device Profile)。通訊子協議描述對象字典的主要形式和對象字典中的通訊子協議區域中的對象,通訊參數,同時描述CANopen通訊對象,這個子協議適用于所有的CANopen設備,如CIA-DS301。設備子協議為各種不同類型設備定義對象字典中的對象,并為對象字典中的每個對象描述了它的功能、名字、索引和子索引、數據類型,以及這個對象是必需的還是可選的,這個對象是只讀、只寫或者可讀寫等等。目前已有多種不同的設備子協議,如:DS401、 DS402等。
CANopen標準的核心部分是通過對象字典(Object Dictionary)對設備功能進行描述。通過對象字典的入口可以對設備的“應用對象”進行基本網絡訪問,設備的“應用對象”可以是輸入輸出信號、設備參數、設備功能和網絡變量等。CANopen設備的功能及特性以電子數據表單(EDS)的形式描述,實際的設備設置通過設備配置文件(DCF)進行描述。
大多數重要的設備類型,例如數字和模擬的輸入輸出模塊,驅動設備,操作設備,控制器,可編程控制器或編碼器,都在稱為"設備子集"的協議中進行描述。設備子集定義了不同類型的標準設備及其相應的功能。依靠CANopen總線協議集的支持,可以對不同廠商的設備通過總線進行配置。
CANopen總線協議標準最核心的部分是通過對象字典(Object Dictionary)對設備功能進行描述。對象字典分為兩部分,第一部分包括基本的設備信息,例如設備ID,制造商,通信參數等等。第二部分描述了特殊的設備功能。
一個16位的索引和一個8位的子索引唯一確定了對象字典的入口。通過對象字典的入口可以對設備的"應用對象"進行基本網絡訪問,設備的"應用對象"可以是輸入輸出信號,設備參數,設備功能和網絡變量等等。
CANopen設備的功能及特性以電子數據單(EDS)的形式描述,EDS采用ASCII格式,可以將EDS理解成某種形式的表格。實際的設備設置通過所謂的設備配置文件(DCF)進行描述。EDS和DCF都可以從Internet上下載,并可以存儲在設備之中。
象其他知名的現場總線系統一樣,CANopen總線協議也分為兩種基本的數據傳輸機制:通過進程數據對象(PDO)對小型的數據進行高速數據交換以及通過服務數據對象(SDO)對對象字典進行訪問。后者主要用于在設備配置過程中傳輸參數以及傳輸大數據塊。進程數據對象通常采用事件觸發、循環或請求方式發送,作為廣播對象,它的上層并沒有附加協議。
一個PDO最大可傳輸8字節數據。在連接一個同步報文的時候,整個網絡都可以采用同步方式對PDO進行傳送和接收(Synchro-nous PDOs)。通過存儲在對象字典中的PDO映射(PDO Mapping)結構,可以對應用對象到PDO對象的分配(Transmission Object)進行調整,這可以保證設備可以對不同的應用需求進行調整。
通過傳輸SDO可以實現可靠的數據傳輸,由兩個CAN對象在兩個網絡節點間通過點對點的通信來實現這一過程。通過傳輸對象字典的索引以及子索引,可以定位相應的對象字典入口。通過SDO傳送報文可以不受長度的限制,但傳送SDO報文需要額外的協議開銷。
標準化的事件觸發的高優先級突發報文用于報告設備故障,可以通過中心時鐘報文來提供整個系統的系統時鐘。準備和協調建立一個分布式的自動化系統所需的功能都適于CAL網絡管理(NMT)定義的機制,同樣可應用于周期性的節點維護(node guarding)。
可以選擇通過"Heartbeat Message"來顯示CANopen總線協議的設備通信能力。PDO和SDO的CAN報文標識符可以直接通過對象字典的數據結構的入口標志符進行分配,或者,在簡單的系統中,也可用預定義的標志符。