《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 解決方案 > 如何規(guī)范通訊數(shù)據(jù)類型

如何規(guī)范通訊數(shù)據(jù)類型

2016-01-25
作者:周立功致遠電子
來源:周立功致遠電子
關(guān)鍵詞: CAN PDO通信 TPDO RPDO

       摘要:當前的通訊方式各式各樣,通訊協(xié)議也是五花八門,如何讓通訊更加穩(wěn)定可靠,這是很多工程師的棘手問題。本文將運用國際規(guī)范的通訊標準解說其通訊協(xié)議的定義方式。

過程數(shù)據(jù)對象PDO(Process data object) 

       PDO屬于過程數(shù)據(jù)用來傳輸實時數(shù)據(jù),即單向傳輸,無需接收節(jié)點回應(yīng)CAN報文來確認,從通訊術(shù)語上來說是屬于“生產(chǎn)消費”模型PDO,如圖 1所示,就像食品銷售柜臺,生產(chǎn)者擺出“食品”,但只有“需要”的消費者才會來買,沒有指向性。

圖片12.png

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

       數(shù)據(jù)長度被限制為1~8 字節(jié)。最多只要1幀就可以把一條信息或者一個變量傳遞結(jié)束。

PDO的CAN-ID定義

       PDO通信比較靈活,廣義上只要符合PDO范圍內(nèi)的所有CANID都可以作為節(jié)點自身的TPDO或者RPDO使用,也稱為COB-ID,不受功能碼和Node-ID限制,如圖 2所示。

圖片13.png

圖 2  PDO的CANID規(guī)則

       而在PDO預(yù)定義中,人為規(guī)定了TPDO和RPDO,規(guī)定了Node-ID在PDO中的位置,規(guī)定了PDO的編號,如表 1所示。

表 1   PDO的CAN-ID定義


MVOQ%WMC(Q5WN]ZC8{CR]0S.png


       PDO分為TPDO(發(fā)送PDO)和(接收RPDO),發(fā)送和接收是以CANopen節(jié)點自身為參考(如果CAN主站或者其他從站就相反)。TPDO和RPDO分別有4個數(shù)據(jù)對象,每種數(shù)據(jù)對象就是1條CAN報文封裝,這些都是數(shù)據(jù)收發(fā)的容器,就像圖 3所示,水果籮筐為使用者準備好,就看使用者在里面放什么水果了。

圖片14.png

圖 3  PDO和SDO就像水果籮筐

       當然,如果某個節(jié)點需要傳遞的資源特別多,則有出現(xiàn)例如TPDO5之類的數(shù)據(jù)對象,而它們的CAN-ID定義就需要打破預(yù)定義的規(guī)則,比如我們可以定義Node-ID為1的節(jié)點中TPDO5是182h,這里的PDO的COB-ID中的低7位不再是表示Node-ID。其實所有的PDO的COB-ID與Node-ID無必然規(guī)則上的聯(lián)系。

PDO的傳輸形式

       PDO的兩種傳輸方式:同步傳輸和異步傳輸。 如圖 4所示,1、2為異步傳輸,3、4為同步傳輸。

圖片15.png

圖 4  PDO的傳輸形式

異步傳輸(由特定事件觸發(fā))

       其觸發(fā)方式可有兩種,第一種是由設(shè)備子協(xié)議中規(guī)定的對象特定事件來觸發(fā)(例如,定時傳輸,數(shù)據(jù)變化傳輸?shù)龋5诙N是通過發(fā)送與PDO的COB-ID相同的遠程幀來觸發(fā)PDO的發(fā)送。目前應(yīng)用中的異步傳輸基本都采用第一種。

同步傳輸(通過接收同步對象實現(xiàn)同步)

       同步傳輸就是通過同步報文讓所有節(jié)點能在同一時刻進行上傳數(shù)據(jù)或者執(zhí)行下達的應(yīng)用指令,可以有效避免異步傳輸導(dǎo)致的應(yīng)用邏輯混亂和總線負載不平衡的問題。一般發(fā)送同步報文的節(jié)點是NMT主機。

       同步傳輸又可分為周期傳輸(循環(huán))和非周期傳輸(無循環(huán))。周期傳輸則是通過接收同步對象(SYNC)來實現(xiàn),可以設(shè)置1~240個同步對象觸發(fā)。 非周期傳輸是由遠程幀預(yù)觸發(fā)或者由設(shè)備子協(xié)議中規(guī)定的對象特定事件預(yù)觸發(fā)傳送。 

PDO的通信參數(shù)

       PDO通信參數(shù),定義了該設(shè)備所使用的COB-ID、傳輸類型、定時周期等。RPDO通訊參數(shù)位于對象字典索引的1400h to 15FFh,TPDO通訊參數(shù)位于對象字典索引的1800h to 19FFh。每條索引代表一個PDO的通信參數(shù)集,其中的子索引分別指向具體的各種參數(shù)。如表 2所示。


UR{8}G3WC38JR4Z}6LAX$T9.png


?Number of entries參數(shù)條目數(shù)量:即本索引中有幾條參數(shù);

?COB-ID:即這個PDO發(fā)出或者接收的對應(yīng)CAN幀ID;

?發(fā)送類型:即這個PDO發(fā)送或者接收的傳輸形式,通常使用循環(huán)同步和異步制造商特定事件較多;

?Inhibit time生產(chǎn)禁止約束時間(1/10ms):約束PDO發(fā)送的最小間隔,避免導(dǎo)致總線負載劇

?烈增加,比如數(shù)字量輸入過快,導(dǎo)致狀態(tài)改變發(fā)送的TPDO頻繁發(fā)送,總線負載加大,所以需要一個約束時間來進行“濾波”,這個時間單位為0.1ms;

?Event timer事件定時器觸發(fā)的時間(單位ms):定時發(fā)送的PDO,它的定時時間,如果這個時間為0,則這個PDO為事件改變發(fā)送。

?SYNC start value同步起始值:同步傳輸?shù)腜DO,收到諾干個同步包后,才進行發(fā)送,這個同步起始值就是同步包數(shù)量。比如設(shè)置為2,即收到2個同步包后才進行發(fā)送。

PDO的映射參數(shù)

       PDO映射參數(shù)是初學(xué)者學(xué)習(xí)CANopen時的一個難點,它包含了一個對象字典中的對象列表,這些對象映射到相應(yīng)的PDO,其中包括數(shù)據(jù)的長度(單位,位),對于生產(chǎn)者和消費者都必須要知道這個映射參數(shù),才能夠正確的解釋PDO內(nèi)容。就是將通信參數(shù)、應(yīng)用數(shù)據(jù)和具體CAN報文中數(shù)據(jù)聯(lián)系起來。

       RPDO通訊參數(shù)1400h to 15FFh,映射參數(shù)1600h to 17FFh,數(shù)據(jù)存放為2000h 之后廠商自定義區(qū)域;TPDO通訊參數(shù)1800h to 19FFh,映射參數(shù)1A00h to 1BFFh,數(shù)據(jù)存放為2000h 之后廠商自定義區(qū)域。

       為了更加直觀地表現(xiàn)映射,表 3模擬TPDO1,將參數(shù)、應(yīng)用數(shù)據(jù)、CAN報文數(shù)據(jù)聯(lián)合起來展示,不同的映射采用不同的顏色。

表 3  PDO在對象字典中的映射關(guān)系


I}A0L1[%{_8PRRJUT]@__SQ.png

CAN transmission( CAN發(fā)送報文)

TPDO1(CAN-ID = 181h) Data field:數(shù)據(jù)域4個字節(jié)

QFXM]_T_1AKJZOIV{V$SR1Q.png

       請讀者閱讀3遍以上,如果還是無法理解。請打開廣州致遠電子的CANopen主站卡管理軟件CANManager for CANopen,導(dǎo)入XGate-COP10模塊從站協(xié)議棧模塊的EDS文件,來真實感受一下。點擊配置從站,“高級”中進行感性認識。

       USBCAN-E-P與PCI-5010-P主站卡可為PC機拓展出CANOpen通訊接口,實現(xiàn)CANOpen協(xié)議的數(shù)據(jù)通信。作為CANOpen網(wǎng)絡(luò)的管理者,實現(xiàn)全部的CANOpen網(wǎng)絡(luò)管理(NMT)功能。

圖片16.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;郵箱:aet@chinaaet.com。