《電子技術(shù)應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 業(yè)界動態(tài) > CANOpen輕松入門之過程數(shù)據(jù)對象(PDO)和服務數(shù)據(jù)對象(SDO)

CANOpen輕松入門之過程數(shù)據(jù)對象(PDO)和服務數(shù)據(jù)對象(SDO)

2015-12-15
作者:周立功致遠電子
關(guān)鍵詞: 致遠電子 CANopen PDO SDO

       摘要:CANopen是一種架構(gòu)在控制局域網(wǎng)路(Controller Area Network, CAN)上的高層通訊協(xié)議,,對其協(xié)議的學習很多人都覺得有難度,,看來看去都覺得是云里來霧里去的,本文將讓CANOpne協(xié)議不再那么神秘,,帶你跨過CANOpen學習道路的第一道門檻,。

       應用CANopen時,,需要傳遞的配置信息和應用信息都放在過程數(shù)據(jù)對象PDO(Process data object)和服務數(shù)據(jù)對象SDO (Service data object)里面。這些對象就和市場上賣水果的籮筐,,大小是一樣的,,只是裝的東西(應用數(shù)據(jù))不一樣,如圖 1所示,。這就是CiA301協(xié)議所規(guī)定的基礎協(xié)議——“籮筐”,,而CiA4xx的子協(xié)議或者用戶自定義的對象就是“籮筐”里面的東西,。

圖片1.png

                 圖 1  PDO和SDO就像水果籮筐

       PDO和SDO的通訊區(qū)別在于,PDO屬于過程數(shù)據(jù),,即單向傳輸,,無需接收節(jié)點回應CAN報文來確認,從通訊術(shù)語上來說是屬于“生產(chǎn)消費”模型,。如圖 2所示,。

圖片2.png

                    圖 2  生產(chǎn)消費模型

       而SDO屬于服務數(shù)據(jù),有指定被接收節(jié)點的地址(Node-ID),,并且需要指定的接收節(jié)點回應CAN報文來確認已經(jīng)接收,,如果超時沒有確認,則發(fā)送節(jié)點將會重新發(fā)送原報文,。這種通訊方式屬于常見的“服務器客戶端”的通信模型,,即我們通常所說的輪詢式。如圖 3所示,。

圖片3.png

                  圖 3  服務器客戶端模型

       對于PDO和SDO的報文ID分配,,為了減少網(wǎng)絡的組態(tài)工作量,CANopen預定義了強制性的缺省標識符(CAN-ID)分配表,,該分配表是基于 11 位CAN-ID 的標準幀格式,。將其劃分為 4 位的功能碼(Function-ID)和7 位的節(jié)點號(Node-ID)。如圖 4所示.

圖片4.png

              圖 4  PDO和SDO的預定義連接ID分配

        在CANopen里也通常把 CAN-ID 稱為COB-ID(通信對象編號),。所以我們可以分清楚兩個易于混淆的名稱:

l COB-ID:Communication Object Identifier,即 CANopen中對某種通訊對象的報文幀ID,,即CAN報文的11位ID。代表了一種通訊含義,。

l Node-ID:節(jié)點ID號,,即CANopen網(wǎng)絡中的節(jié)點地址,CANopen規(guī)定了邏輯上最大128個節(jié)點,,所以Node-ID最大為128(7位),。

       COB-ID和Node-ID無必然聯(lián)系,但在過程數(shù)據(jù)對象(PDO)和服務數(shù)據(jù)對象(SDO)中,,COB-ID中包含了Node-ID,。

       由于需要區(qū)分每個CANopen節(jié)點的輸入和輸出,,所以PDO分為TPDO(發(fā)送PDO)和(接收RPDO),,發(fā)送和接收是以CANopen從站節(jié)點為參考(如果CAN主站就相反)。TPDO和RPDO分別有4個數(shù)據(jù)對象(如TPDO有TPDO1,、TPDO2,、TPDO3、TPDO4;RPDO有RPDO1,、RPDO2,、RPDO3,、RPDO4),每種數(shù)據(jù)對象就是1條CAN報文封裝,,如表 1所示,,這些都是數(shù)據(jù)收發(fā)的容器,就像圖 1所示,,水果籮筐為使用者準備好,,就看使用者在里面放什么水果了。

       而SDO就相對比較簡單固定,,發(fā)起通訊的“問”SDO的CAN幀ID就是600h +node-ID,,這里的Node-ID是被問的節(jié)點地址,而被問的節(jié)點應“答”SDO的CAN幀ID就是580h +node-ID,。一般在CANopen網(wǎng)絡中,,只有NMT主機能發(fā)起SDO通訊,進行節(jié)點參數(shù)配置或者關(guān)鍵性參數(shù)的傳遞,。當然從節(jié)點也可以對其他從節(jié)點發(fā)起SDO通訊,。

       如表 1所示。為CANopen預定義報文的PDO報文和SDO報文中的ID分類,。使用者務必牢記,!

圖片5.png

       XGate-COP10嵌入式CANOPEN從站模塊是ZLG致遠電子開發(fā)的一款擁有自主知識產(chǎn)權(quán)的CANopen從站通信模塊。內(nèi)部已經(jīng)集成了CANopen從站協(xié)議棧代碼,,使用簡單的串口通信協(xié)議即可實現(xiàn)與XGate-COP10的通信,,并提供串口通信協(xié)議標準C文件,使現(xiàn)有的設備以最快的速度擁有CANopen通信能力,。

圖片6.png

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]