第07章CANopen協(xié)議_第1頁
第07章CANopen協(xié)議_第2頁
第07章CANopen協(xié)議_第3頁
第07章CANopen協(xié)議_第4頁
第07章CANopen協(xié)議_第5頁
已閱讀5頁,還剩86頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、CAN現(xiàn)場總線的發(fā)送器和接收器均使用SJA1000,采用CAN2.0B規(guī)范,發(fā)送器發(fā)送的4個擴展報文的ID分別為: (1)11001100001110011000011000000;(2)11001101001110011010011000000;(3)11001000001110010000011000000;(4)11001001001110010010011000000。欲使接收器只接收報文(1)、(3)并使用單濾波方式,應(yīng)如何設(shè)置接收器SJA1000的ACRn和AMRn?(1)11001100 00111001 10000110 00000(3)11001000 00111001 00

2、000110 00000ACR0 11001000ACR1 00111001ACR2 00000110ACR3 00000111AMR0 00000100AMR1 00000000AMR210000000AMR3 00000111第9章 CANopen協(xié)議9.1 CANopen協(xié)議的發(fā)展及研究現(xiàn)狀協(xié)議的發(fā)展及研究現(xiàn)狀9.1 CANopen協(xié)議的發(fā)展及研究現(xiàn)狀協(xié)議的發(fā)展及研究現(xiàn)狀其他CAN應(yīng)用層協(xié)議nCANopen并不是唯一被CiA認可的CAN應(yīng)用層協(xié)議。同樣運用于CAN網(wǎng)絡(luò)的應(yīng)用層協(xié)議還有SAEJ1939、DeviceNet、CANKingdom和SDS(Smart Distributed S

3、ystem)等。9.2 CANopen協(xié)議介紹nCANopen協(xié)議著重定義了應(yīng)用層以及相關(guān)的通訊架構(gòu),詳細內(nèi)容包括對象字典、網(wǎng)絡(luò)管理、啟動配置、各種傳輸對象的定義等等。nCANopen將報文和協(xié)議分開處理,利用預(yù)定義連接集專門管理報文,對象字典專門管理設(shè)備協(xié)議,靈活易用,發(fā)展?jié)摿薮蟆?、通訊模型與協(xié)議組成CANopen參考連接層次圖參考連接層次圖1、通訊模型與協(xié)議組成n“通信子集” 規(guī)定了基本的通信機制及其特性。 n“設(shè)備子集”的協(xié)議中進行描述了不同類型的標(biāo)準(zhǔn)設(shè)備及其相應(yīng)的功能。n依靠CANopen協(xié)議集的支持,可以對不同廠商的設(shè)備通過總線進行配置。CANopen設(shè)備的組織結(jié)構(gòu)CANopen

4、設(shè)備的組織結(jié)構(gòu)n通訊子層接口提供了所有與底層打交道的通訊對象及功能,用以在下層傳輸數(shù)據(jù);n對象字典包括了所有能影響通訊接口、應(yīng)用、及狀態(tài)機行為的數(shù)據(jù)信息的記錄;n應(yīng)用子層集成了與應(yīng)用環(huán)境相關(guān)的設(shè)備功能描述。CANopen設(shè)備的組織結(jié)構(gòu)nCANopen在保證網(wǎng)絡(luò)節(jié)點互用性的同時允許節(jié)點的功能隨意擴展,或簡單或復(fù)雜。n它的核心概念是設(shè)備對象字典OD(Object Dictionary),通過它可以得知:n各節(jié)點的狀態(tài);n確定網(wǎng)絡(luò)的通訊模式;n與輸入輸出接口相接、存儲具體應(yīng)用中的輸入輸出數(shù)據(jù)等。2、對象字典n每個節(jié)點維護一個對象字典,該對象字典保存了節(jié)點信息、通訊參數(shù)和所有的過程數(shù)據(jù),是CANope

5、n節(jié)點的核心數(shù)據(jù)結(jié)構(gòu)。同時,上層應(yīng)用程序也主要通過讀寫對象字典與其他CANopen應(yīng)用層進行交互。nCANopen對象字典可以用一個16位的索引進行存取,另外用一個8位的子索引描述每一個參數(shù)具體定義的子項。n因為CANopen對象字典支持的索引范圍巨大(如果將子索引和主索引一同考慮,CANopen對象字典支持約16.8M個索引),CANopen對象字典的實現(xiàn)也是CANopen應(yīng)用層開發(fā)的一個難點。n不過,并非所有索引都需實現(xiàn),一個節(jié)點只需實現(xiàn)能完成功能的最小對象字典集合就可正常工作。每個節(jié)點應(yīng)具有的主索引分布n根據(jù)節(jié)點所支持的通訊方式,每一個節(jié)點都必須實現(xiàn)1000h1FFFh當(dāng)中的一個必要子集

6、;n同時實現(xiàn)6000h以上的部分?jǐn)?shù)據(jù)區(qū),數(shù)據(jù)區(qū)大小由節(jié)點的功能自行決定。n1000h以下部分所有的節(jié)點都不需實現(xiàn)。3、通訊對象及標(biāo)識符nCANopen應(yīng)用層協(xié)議細化了CAN總線協(xié)議中關(guān)于標(biāo)識符的定義,定義標(biāo)準(zhǔn)報文的11比特標(biāo)識符中高4比特為功能碼,后7比特為節(jié)點號,重命名為通訊對象標(biāo)識符(COB-ID)。功能碼將所有的報文分為7個優(yōu)先級:n按照優(yōu)先級從高至低依次為:n網(wǎng)絡(luò)命令報文(NMT)、n同步報文(SYNC)、n緊急報文(EMERGENCY)、n時間戳(TIME)、n過程數(shù)據(jù)對象(PDO)、n服務(wù)數(shù)據(jù)對象(SDO)n節(jié)點狀態(tài)報文(NMT Error Control)通訊對象標(biāo)識符通訊對象標(biāo)

7、識符n7位的節(jié)點號則表明CANopen網(wǎng)絡(luò)最多可支持127個節(jié)點共存(0代表所有節(jié)點,不用)。n在CANopen網(wǎng)絡(luò)中所有的通訊對象都采用唯一的標(biāo)識符,為了減小簡單網(wǎng)絡(luò)的組網(wǎng)工作量,CANopen定義了強制性的缺省標(biāo)識符(CAN-ID)分配表。這些標(biāo)志符在預(yù)操作狀態(tài)下可動態(tài)修改。 CANopen的COB-ID分配CANopen的COB-ID分配4、狀態(tài)機與網(wǎng)絡(luò)管理nCANopen的每一個節(jié)點都維護了一個狀態(tài)機。該狀態(tài)機的狀態(tài)決定了該節(jié)點當(dāng)前支持的通訊方式以及節(jié)點行為。n初始化時,節(jié)點將自動設(shè)置自身參數(shù)和CANopen對象字典,發(fā)出節(jié)點啟動報文,并不接收任何網(wǎng)絡(luò)報文。n初始化完成后,自動進入預(yù)操

8、作狀態(tài)。在該狀態(tài),節(jié)點等待主站的網(wǎng)絡(luò)命令,接收主站的配置請求,因此可以接收和發(fā)送除了PDO以外的所有報文。4、狀態(tài)機與網(wǎng)絡(luò)管理n運行狀態(tài)為節(jié)點的正常工作狀態(tài),接收并發(fā)送所有通訊報文。n停止?fàn)顟B(tài)為一種臨時狀態(tài),只能接收主站的網(wǎng)絡(luò)命令,以恢復(fù)運行或者重新啟動。CANopen節(jié)點狀態(tài)轉(zhuǎn)換圖CANopen節(jié)點狀態(tài)轉(zhuǎn)換條件CANopen兩種基本的數(shù)據(jù)傳輸機制n通過過程數(shù)據(jù)對象(PDO)對小型的數(shù)據(jù)進行高速數(shù)據(jù)交換。n通過服務(wù)數(shù)據(jù)對象(SDO)對對象字典進行訪問。主要用于在設(shè)備配置過程中傳輸參數(shù)以及傳輸大數(shù)據(jù)塊。9.2 對象字典n每個節(jié)點維護一個對象字典,該對象字典保存了節(jié)點信息、通訊參數(shù)和所有的過程數(shù)據(jù)

9、,是CANopen節(jié)點的核心數(shù)據(jù)結(jié)構(gòu)。同時,上層應(yīng)用程序也主要通過讀寫對象字典和CANopen應(yīng)用層進行交互。nCANopen對象字典可以用一個16位的索引進行存取,另外用一個8位的子索引描述每一個參數(shù)具體定義的子項。n因為CANopen對象字典支持的索引范圍巨大(如果將子索引和主索引一同考慮,CANopen對象字典支持約16.8M個索引),CANopen對象字典的實現(xiàn)也是CANopen應(yīng)用層開發(fā)的一個難點。n不過,并非所有索引都需實現(xiàn),一個節(jié)點只需實現(xiàn)能完成功能的最小對象字典集合就可正常工作。1、主索引數(shù)據(jù)區(qū)介紹主索引數(shù)據(jù)分布主索引區(qū)介紹n基本的數(shù)據(jù)類型(Static Data Types)

10、在0001h到001Fh的索引區(qū)域里,包括標(biāo)準(zhǔn)的數(shù)據(jù)類型定義,像布爾變量、整型、浮點數(shù)、字符串等等。這些對象只是做參考用,不能讀寫。n復(fù)雜的數(shù)據(jù)類型(Complex Data Types)在0020h到003Fh的索引區(qū)域里,都是預(yù)先定義好的結(jié)構(gòu),其中包括標(biāo)準(zhǔn)的數(shù)據(jù)類型,這些定義對于所有的設(shè)備都是相同的。主索引區(qū)介紹n生產(chǎn)商相關(guān)的數(shù)據(jù)類型(Manufacturer Specific Data)在0040h到005Fh的索引區(qū)域里,也都是包括標(biāo)準(zhǔn)數(shù)據(jù)類型的結(jié)構(gòu),但是,是針對某一個特定設(shè)備的。n設(shè)備描述(Device Profiles)可以包括一些額外的針對某一類設(shè)備的數(shù)據(jù)類型。設(shè)備描述的基本的數(shù)

11、據(jù)類型在0060h到007Fh區(qū)域里,復(fù)雜數(shù)據(jù)類型在0080h到009F區(qū)域里。一個設(shè)備可以選擇性的提供它所支持的復(fù)雜數(shù)據(jù)類型(索引0020h到005Fh和0080h到0090Fh之間),然后子索引0提供一個某個索引所包括的對象數(shù)目,接下來的子索引都是無符號16位尋址的數(shù)據(jù)類型。主索引區(qū)介紹n通信描述區(qū)域在索引1000h到1FFFh之間,包括CAN網(wǎng)絡(luò)的特定通訊參數(shù)。這些對象對于所有設(shè)備是相同的。n標(biāo)準(zhǔn)的設(shè)備描述區(qū)域在索引6000h到9FFFh之間,包括所有可以通過網(wǎng)絡(luò)讀寫的數(shù)據(jù)對象,而這些對象對于一類設(shè)備都是相同的。每一類設(shè)備的對象字典都有一些的強制的對象。這些對象保證某一類設(shè)備在某一個規(guī)定

12、的方式下運作。n對象字典還規(guī)定了一些可選的設(shè)備特性,這些特性意味著一個廠商不一定必須提供這樣額外的服務(wù),但是如果提供的話,必須按規(guī)定的方式操作。2、對象字典的索引和子索引n對象字典的所有對象都用一個16位的索引來定位。如果是一個簡單的變量,這個索引就直接定位這個變量的值;如果是記錄和數(shù)組,則這個索引就指向整個這個數(shù)據(jù)結(jié)構(gòu)。n為了可以通過網(wǎng)絡(luò)定位一個結(jié)構(gòu)型數(shù)據(jù)的個別元素,CANopen定義了子索引。n對于簡單對象,例如無符號8位數(shù)、布爾變量、32位整型等等,子索引的值總是0。但是對于復(fù)雜的對象,例如有多個數(shù)據(jù)域的數(shù)組、記錄等等,子索引就可以用來定位這個數(shù)據(jù)結(jié)構(gòu)的個別元素。索引和子索引應(yīng)用舉例n例

13、如,一個單通道的RS232接口模塊,在索引6092定義了一個數(shù)據(jù)結(jié)構(gòu)來描述這個模塊的通訊參數(shù)。這個結(jié)構(gòu)可能包括的域有:波特率、數(shù)據(jù)位、停止位、奇偶校驗。子索引就可以用來定位某個參數(shù),如下表:3、數(shù)據(jù)字典的數(shù)據(jù)類型數(shù)據(jù)字典的基本數(shù)據(jù)類型數(shù)據(jù)字典的基本數(shù)據(jù)類型數(shù)據(jù)字典的基本數(shù)據(jù)類型n數(shù)據(jù)字典的基本數(shù)據(jù)類型是為了定義用的。nBoolean型數(shù)據(jù)的值為TRUE或FALSE,Integer n型數(shù)據(jù)的值為整數(shù),范圍為-2n-1到2n-1-1。nUnsigned n型數(shù)據(jù)為非負的值,范圍為0到2n-1-1,nFloat型數(shù)據(jù)的值為實型。nVisible_String型數(shù)據(jù)定義為:nUnsigned8為Vi

14、sible Char型,Visible Char的數(shù)組為Visible String。Visible Char型數(shù)據(jù)的允許值為0h和從20h到7Eh的值。nOctet String型數(shù)據(jù)定義為Unsigned8型數(shù)據(jù)的數(shù)組。nDate型數(shù)據(jù)為56位,包括毫秒,分鐘,小時,標(biāo)準(zhǔn)或夏日的時間,天,星期,月,年和一些保留位的值。nTime_Of_Day型數(shù)據(jù)代表絕對時間,包括從1984年1月1日開始的天數(shù)和午夜后的毫秒數(shù)。nTime_Of_Differences代表一個時間差,作為天數(shù)和毫秒數(shù)的和。數(shù)據(jù)字典的復(fù)雜數(shù)據(jù)類型數(shù)據(jù)字典的復(fù)雜數(shù)據(jù)類型數(shù)據(jù)字典的復(fù)雜數(shù)據(jù)類型nCANopen為PDO和SDO參數(shù)

15、預(yù)定義了一些復(fù)雜數(shù)據(jù)類型。而且,對象字典還為特定的設(shè)備標(biāo)準(zhǔn)和復(fù)雜數(shù)據(jù)類型保留了一些可以擴展的空間。n對于有多個設(shè)備模塊的設(shè)備或者設(shè)備描述,像多軸控制器,每一個虛擬的設(shè)備就可以用他們自己的數(shù)據(jù)類型。4、對象的說明名稱(Name)此對象用途的簡短說明對象類型(Object Code)變量,數(shù)組,記錄等等數(shù)據(jù)類型(Data Type)Unsigned8,Boolean,Integer16等等性質(zhì)(Category)可選項,必選項,或是根據(jù)條件而定。關(guān)于子索引的對象描述說明(Description)子索引的說明名稱數(shù)據(jù)類型(Data Type)Unsigned8,Boolean,Integer16,等

16、等子索引的類型(Entry Category) 可選(o),必選(m),根據(jù)條件而定(c)可讀寫性只讀(ro),只寫(wo),讀寫(rw)PDO映射NO,可選,缺省數(shù)據(jù)值的范圍這個對象所允許的值的范圍缺省值設(shè)備啟動后的值5、和通訊參數(shù)有關(guān)的對象(1000h1FFFh)5、和通訊參數(shù)有關(guān)的對象(1000h1FFFh)5、和通訊參數(shù)有關(guān)的對象(1000h1FFFh)幾個必選的參數(shù)對象01234567GenericErrorCurrent VoltageTempertureCommunication ErrorDevice Profile Specific保留Manufacturer specifi

17、cMOOOOOOOnError Registern如果哪一位被置為1,則說明發(fā)生了相應(yīng)的錯誤。唯一一個必選的位是Generic error,不管發(fā)生任何錯誤,這一位都會被置位。n一個設(shè)備的錯誤寄存器在對象字典的1001h里,設(shè)備可以把內(nèi)部錯誤映射到這個字節(jié)里。而且這個對象是對所有設(shè)備來說是必需的,屬于應(yīng)急對象的一部分。Identity ObjectIdentity Objectn這個必需的ID對象在對象字典的1018h,包含了設(shè)備的一般信息。廠商ID是一個32位無符號數(shù),包括一個唯一的公司號,并且如果需要的話,也包括公司內(nèi)部的一個唯一的部門號。公司廠商ID是由CiA總部負責(zé)分配的。公司號和部門

18、號都必須在CiA注冊,并且需要付128歐元和一定的德國增值稅,對CiA成員免費。n產(chǎn)品號表示了一個特定產(chǎn)品的版本。修訂號包括一個主修訂號和一個次修訂號。如果設(shè)備的CANopen功能擴展了,主修訂號必須增加。9.3 通訊協(xié)議n通過CAN網(wǎng)絡(luò)傳輸?shù)腃ANopen通訊對象可以通過服務(wù)和協(xié)議來描述。分類如下:n實時數(shù)據(jù)的傳輸通過“過程數(shù)據(jù)對象”(PDO)協(xié)議來完成。n通過“服務(wù)數(shù)據(jù)對象”(SDO),可以實現(xiàn)對對象字典的讀寫操作。n“特殊功能對象”協(xié)議提供了特定應(yīng)用的網(wǎng)絡(luò)同步,時間戳和應(yīng)急報文傳輸。n網(wǎng)絡(luò)管理(NMT)協(xié)議提供了網(wǎng)絡(luò)初始化,錯誤控制和設(shè)備狀態(tài)控制的服務(wù)。9.3.1 過程數(shù)據(jù)對象PDO的傳

19、輸生產(chǎn)者/消費者模型需要的服務(wù)有:直接發(fā)送一個報文(Push型)或者請求一個報文(pull型)。過程數(shù)據(jù)對象PDO的傳輸nPDO通常采用事件觸發(fā)、循環(huán)或請求方式發(fā)送,作為廣播對象,它的上層并沒有附加協(xié)議。n一個PDO最大可傳輸8字節(jié)數(shù)據(jù)。n在連接一個同步報文的時候,整個網(wǎng)絡(luò)都可以采用同步方式對PDO進行傳送和接收(Synchronous PDOs)。n通過存儲在對象字典中的PDO映射(PDO Mapping)結(jié)構(gòu),可以對應(yīng)用對象到PDO對象的分配(Transmission Object)進行調(diào)整,這可以保證設(shè)備可以對不同的應(yīng)用需求進行調(diào)整。過程數(shù)據(jù)對象PDO的傳輸過程數(shù)據(jù)對象PDO的通訊nPD

20、O的發(fā)送是非確認的方式;n生產(chǎn)者發(fā)送一個帶有特定標(biāo)識符的Transmit-PDO(T_PDO),這個標(biāo)識符對應(yīng)著消費者的Receive-PDO(R_PDO)的標(biāo)識符;nPDO的通訊有兩種:寫PDO和讀PDOPDO協(xié)議的讀和寫PDO協(xié)議的讀和寫nWrite_PDO被映射到一個CAN數(shù)據(jù)幀。Read-PDO被映射到一個CAN遠程幀(CAN Remote Frame),這個遠程幀會被相應(yīng)的CAN數(shù)據(jù)幀所響應(yīng)。Read-PDO是可選的,取決于設(shè)備的能力。n一個完全的數(shù)據(jù)域頂多有8個字節(jié),里面包含了過程數(shù)據(jù)。一個設(shè)備的具體的PDO的數(shù)量和長度是根據(jù)具體情況而定的,必須在設(shè)備描述(profile devi

21、ce)里規(guī)定好。nPDO對應(yīng)著對象字典里的具體元素,提供了和應(yīng)用對象的接口。應(yīng)用對象的數(shù)據(jù)類型和映射參數(shù)是由對象字典的缺省PDO映射結(jié)構(gòu)來決定的。第一個R_PDO的映射結(jié)構(gòu)在對象字典的1600h里,第一個T_PDO的映射結(jié)構(gòu)在1A00h里。在一個CANopen網(wǎng)絡(luò)里,最多有512個T_PDO,512個R_RDO。3. PDO的調(diào)度觸發(fā)模式三種觸發(fā)模式n1)PDO的傳輸是由設(shè)備描述里一個特定的事件來觸發(fā)的,或者,即使沒有特定事件發(fā)生也可以由定時器來觸發(fā)。n2)異步傳輸?shù)腜DO也可以由收到另外一個節(jié)點的遠程請求來啟動。n3)同步傳輸PDO,一個指定的傳輸時間到了,就會觸發(fā)PDO的傳送,這個傳輸時間

22、是由SYNC(同步對象)的到來實現(xiàn)的。同步和異步PDO同步PDO在同步對象(Sync Object)到來后的同步窗內(nèi)傳輸。同步PDO的優(yōu)先級應(yīng)該高于異步PDO。異步PDO可以根據(jù)他們的優(yōu)先級在任何時候發(fā)送,SDO也是這樣的。所以他們也可能正好趕上在同步窗內(nèi)傳輸。同步周期性PDO和同步非周期性PDO傳輸同步周期性PDO在同步窗內(nèi)傳輸。“傳輸類型”的值(1-240)表示每兩個PDO之間的同步對象數(shù)。同步非周期性PDO是由特定的應(yīng)用觸發(fā)的。報文必須跟著同步對象發(fā)送,但是不一定每個周期都發(fā)送。報文的觸發(fā)調(diào)度方式是由PDO的“傳輸類型”參數(shù)的值決定(1)數(shù)字表示了兩個PDO傳輸之間的同步對象數(shù)。(2)數(shù)

23、據(jù)在收到同步對象后立即更新,但不發(fā)送。(3)數(shù)據(jù)在收到RTR(遠程幀)后更新。(4)應(yīng)用事件是根據(jù)設(shè)備而定的。 (5)應(yīng)用時間是定義在設(shè)備描述里的。同步周期性PDO和同步非周期性PDO傳輸n同步傳輸(傳輸類型0-240和252)意味著PDO的傳輸應(yīng)該和同步對象有關(guān)。n非周期(傳輸類型0)意味著報文應(yīng)該跟著同步對象同步地傳輸,但不是周期性地傳輸。n一般,設(shè)備利用同步對象來觸發(fā)輸出,或者根據(jù)以前的Receive-PDO來更新將要在下一個同步Transmit-PDO傳輸?shù)臄?shù)據(jù)。具體的機制取決于設(shè)備類型。nPDO的“傳輸類型”參數(shù)定義在PDO通訊參數(shù)里。(索引號,第一個R_PDO為1400h,第一個T

24、_PDO為1800h)。4.PDO的“禁止時間”(Inhibit Time)為了保證那些低優(yōu)先級的通訊對象不會在網(wǎng)絡(luò)中“餓死”,即總是傳輸不出去,給PDO分配了一個禁止時間。禁止時間定義了在兩個連續(xù)的PDO的傳輸之間必須保留的最短時間。PDO的虛擬傳輸窗口5. PDO參數(shù)集5. PDO參數(shù)集PDO通訊參數(shù)n通訊參數(shù)規(guī)定了PDO的通訊行為,像標(biāo)識符,傳輸類型,禁止時間等等,如下表所示。通訊參數(shù)格式在對象字典的20h有定義。PDO映射參數(shù)nPDO映射就是把對象字典里需要發(fā)送的對象映射到一個PDO里,然后發(fā)送出去。如下圖所示。PDO的映射參數(shù)對象字典的21h規(guī)定了映射參數(shù)的格式,在映射參數(shù)中規(guī)定了哪

25、個對象被映射到一個PDO里。最多可以映射64個對象。9.3.2服務(wù)數(shù)據(jù)對象(SDO)的傳輸 1.客戶客戶/服務(wù)器通訊方式服務(wù)器通訊方式1.客戶客戶/服務(wù)器通訊方式服務(wù)器通訊方式n在經(jīng)典的客戶/服務(wù)器通訊模型里,客戶傳輸一個報文,然后服務(wù)器會做出響應(yīng),客戶再確認。就像發(fā)出一個命令,那個命令必須被確認,你才知道那個命令對方聽懂了。n客戶/服務(wù)器模型用來傳輸大于8個字節(jié)的數(shù)據(jù)。所以,原始的數(shù)據(jù)需要分段,然后帶著相同的標(biāo)識符分段發(fā)出去。每一段或者幾段,或者全部報文一起被接受者確認。所以這是一個點對點的通訊??蛻?服務(wù)器的通訊模型中的服務(wù)包括上傳、下載、放棄傳輸。服務(wù)數(shù)據(jù)對象(SDO)n通過傳輸SDO可

26、以實現(xiàn)可靠的數(shù)據(jù)傳輸,由兩個CAN對象在兩個網(wǎng)絡(luò)節(jié)點間通過點對點的通信來實現(xiàn)這一過程。n通過傳輸對象字典的索引以及子索引,可以定位相應(yīng)的對象字典入口。n通過SDO傳送報文可以不受長度的限制,但傳送SDO報文需要額外的協(xié)議開銷。2.服務(wù)數(shù)據(jù)對象(SDO)的傳輸通過服務(wù)數(shù)據(jù)對象(SDO),就可以訪問一個設(shè)備的對象字典。一個SDO用兩個帶有不同標(biāo)識符的CAN數(shù)據(jù)幀,因為通訊需要確認。通過SDO,在兩個設(shè)備間就可以建立起點對點的通訊。被訪問對象字典的設(shè)備是SDO通訊的服務(wù)器,另一方是客戶。一個設(shè)備可以支持一個或多個SDO通訊。SDO的分段傳輸如果數(shù)據(jù)大于4個字節(jié),就必須采用一段一段的方式傳輸。這樣,就

27、可以傳輸任意長度的數(shù)據(jù),因為數(shù)據(jù)會把分成好幾個CAN報文。發(fā)送SDO的第一個CAN報文后,其余的段可以每個包含7個字節(jié)的有用的數(shù)據(jù)。最后的段可以包含一個終止符。3.對象字典的讀取命令指示符包括:下載/上傳、請求/響應(yīng)、分段/成塊/加速傳輸、數(shù)據(jù)字節(jié)的數(shù)目、終止符、下一個段的觸發(fā)位啟動SDO下載CCS=1啟動下載請求SCS=3啟動下載響應(yīng)下載SDO段CCS=6客戶命令塊下載SCS=5服務(wù)器命令塊下載中止(放棄)SDO傳送SDO塊傳送下載SDO塊結(jié)束SDO塊下載4.SDO參數(shù)集SDO通訊的參數(shù)格式在對象字典的22h里有定義。9.3.3特殊功能對象1.同步對象(同步對象)(Synchronizati

28、on Object)同步對象的標(biāo)識符在對象字典的1005h。同步對象生產(chǎn)者為同步對象消費者提供了同步信號。當(dāng)同步對象消費者接收到此信號后,它們進行它們的同步任務(wù)。通常,同步PDO報文的固定傳輸時間加上同步對象的周期性傳輸保證了傳感器設(shè)備正常的采集過程信號,也保證了驅(qū)動設(shè)備按照固定的方式發(fā)出驅(qū)動信號。1.同步對象(同步對象)(Synchronization Object)兩個同步對象之間的時間間隔在“通訊周期”參數(shù)中定義著。對象字典中的“同步窗長度”(1007h)和“通訊周期”(1006h)參數(shù)可以在設(shè)備啟動過程中用配置工具來修改。2.時間戳對象(Time-Stamp)通常,時間戳對象(對象字典

29、1013h)表示從1984年1月1號后的天數(shù)和午夜過后的毫秒數(shù),一共是6個字節(jié)。 72分鐘重新計數(shù)一回。有時,特別在一些大型網(wǎng)絡(luò)里,網(wǎng)絡(luò)的傳輸速度比較慢,那些對時間要求苛刻的設(shè)備就要求非常準(zhǔn)的時間同步,有可能需要把各自的時間同步在毫秒級。這就可以用這種高精度的同步協(xié)議來達到這種要求,用特殊的時間戳來調(diào)整不可避免的時間漂移。3.應(yīng)急對象(Emergency Object)應(yīng)急對象一般是當(dāng)一個設(shè)備發(fā)生內(nèi)部嚴(yán)重錯誤的情況下被觸發(fā)的,用高優(yōu)先級從一個設(shè)備發(fā)送到其他的設(shè)備。應(yīng)急對象適用于中斷類型錯誤警告。需要注意的是,一個應(yīng)急報文只需每個錯誤發(fā)送一次。只要沒有新的錯誤發(fā)生,就應(yīng)該再沒有應(yīng)急報文發(fā)送了。9

30、.3.4網(wǎng)絡(luò)管理(Network Management-NMT) 1.主從通訊方式主從方式只允許有主節(jié)點發(fā)起的通訊,從節(jié)點永遠等待主節(jié)點的請求。在基于CAN的網(wǎng)絡(luò)通訊中,主從通訊可以用特定的標(biāo)識符分配來實現(xiàn)。此外,非確認方式的主從通訊也允許廣播。2.網(wǎng)絡(luò)管理的主從通訊方式在CANopen通訊中,需要一個節(jié)點履行網(wǎng)絡(luò)管理(NMT)的主節(jié)點功能。其他節(jié)點作為NMT從節(jié)點。每個NMT從結(jié)點以節(jié)點ID來標(biāo)識。網(wǎng)絡(luò)管理提供了以下功能:模塊控制服務(wù)(初始化那些想?yún)⒓泳W(wǎng)絡(luò)通訊的NMT從節(jié)點);錯誤控制服務(wù)(管理節(jié)點和網(wǎng)絡(luò)通訊的狀態(tài));配置控制服務(wù)(上載和下載配置數(shù)據(jù))。3.狀態(tài)管理1) 從結(jié)點狀態(tài)轉(zhuǎn)換1)

31、從結(jié)點狀態(tài)轉(zhuǎn)換n每個CANopen的NMT的從節(jié)點上電和內(nèi)部初始化之后自動進入預(yù)操作狀態(tài)(Pre-operational state)。在這個狀態(tài)里,從節(jié)點可以通過SDO被配置和設(shè)置參數(shù)。不允許PDO通訊。nNMT主節(jié)點可以使所有的其他節(jié)點進入或退出操作狀態(tài)(Operational state) 。在操作狀態(tài)里,允許PDO通訊。主節(jié)點還可以使從節(jié)點進入停止?fàn)顟B(tài)(Stopped State),從而停止PDO和SDO通訊,這個狀態(tài)可以使從節(jié)點專心做自己的事情。n在操作狀態(tài)里(Operational state),所有的通訊對象都是可通訊的,用SDO讀寫對象字典也是可以。初始化狀態(tài)的三種子狀態(tài)n初始化狀態(tài)(In

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論