本期,我們將探討CANopen協議中TPDO的三種觸發條件,并解釋如何通過訪問特定的SDO參數來查詢TPDO映射到的資源。這將幫助您更好地理解TPDO的工作原理及其在CANopen網絡中的應用。
?TPDO觸發條件
在上一期中,我們了解到TPDO(傳輸過程數據對象)的傳輸類型有很多種:同步周期性傳輸、RTR(遠程傳輸請求)以及異步制造商特定事件等。這些類型的觸發條件主要分為三種:同步(SYNC)、遠程請求(RTR)和事件(Event)。
同步報文(SYNC):這是一種周期性的傳輸方式,要求主站定期發送ID為0x80的數據幀,且數據段長度為0字節。
遠程傳輸請求(RTR):在這種模式下,主站只需發送一個遠程幀,指定TPDO的ID,從站就會響應并上傳相應的TPDO。
事件(Event):當從站的TPDO映射區間內的數值發生變化時,從站會主動觸發事件并進行數據傳輸。
理解了這些觸發條件后,我們可能會好奇:如何確定當前TPDO映射的具體資源呢?
?TPDO映射資源
在CANopen協議中,TPDO的映射參數存儲在0x1A00~0x1BFF的索引區間內,我們可以通過SDO訪問TPDO1的映射參數0x1A00,如下圖:
0x00子索引存放TPDO1的映射數量,從0x01子索引開始會告訴我們,它映射到0x2000以后的索引區中哪一條子索引,并且會注明存放對象的長度。舉個例子:
假設0x1A00的01子索引的值為0x20000108,這意味著:
- TPDO1映射到0x2000索引的子索引01。
- 這個子索引的資源長度為一個字節(8位)。
由于CAN幀的數據段最大為8個字節,因此每條TPDO映射的索引對象總長度不能超過8個字節。當這些映射的資源區發生任何數據變化時,就會觸發一個事件。
想要深入了解CANopen協議和TPDO映射的更多細節,請繼續關注我們。
? 2路CANFD
?DB9接口形式
? 13萬幀緩沖不丟幀
參考價格:2300元
-
CAN
+關注
關注
57文章
2903瀏覽量
467276 -
網絡
+關注
關注
14文章
7796瀏覽量
90651 -
CANopen
+關注
關注
8文章
379瀏覽量
44695
發布評論請先 登錄
CYUSB3314S SUSPEND功能的觸發條件是什么?
使用OUT_REG3_VALID觸發條件時,GPIF II Designer生成無效的頭文件怎么解決?
CANopen協議學習筆記1
(筆記)CANOpen移植(CanFestival移植)
請問EPWM的觸發條件是什么?
MSO9254A如何在一個數據庫中傳遞一個觸發條件?
如何在芯片內同時捕獲不同觸發條件下的信號
是否可以在同一端口設置不同的EXTI觸發條件?
stm32串口空閑中斷觸發條件
Profinet轉canopen連接磁軌道
觸發器的基本性質 觸發器的觸發方式分為哪三種
【CANopen系列】CANopen從站為什么總不上傳PDO報文?

EtherCAT轉CANopen配置CANopen側的PDO映射

評論