1. 程式人生 > >CANopen系列文章【1】--SYNC【4】-同步RPDO & 同步TPDO

CANopen系列文章【1】--SYNC【4】-同步RPDO & 同步TPDO

在本論壇,有網友說:同步RPDO是由主站傳送給從站的PDO,主站在傳送SYNC之前,將所有從站的RPDO傳送給從站,然後再發SYNC,此時所有從站同時處理此RPDO。

然後遠方大俠同意這個觀點。

我的問題是:假設主站傳送SYNC
(1)那麼假設這個同步RPDO的ID號是0x308,那麼主站傳送0x308的快慢可以任意由主站來決定麼?
比如這個RPDO的傳輸type是2,那麼 主站傳送0x308的週期可以小於2個SYNC?可以大於2個SYNC,比如10個SYNC?比如可以由主站對該pdo進行週期觸發和事件觸發?
也就是說所謂同步,是不是都是針對於從站的同步,而對於主站傳送和接收的PDO沒有關係?


(2)第二個問題是關於同步TPDO

比如有20個從節點,從節點的TPDO的傳送TYPE都設定成1,那麼就是所有的從站接收到SYNC後馬上取樣然後傳送TPDO。那麼豈不是都堵在一起了,儘管可以仲裁,但堵在一起肯定不是什麼好現象。那麼請問CANopen有沒有相關的協議解決這個問題,讓同步TPDO儘量在同一個同步視窗內儘量的分散開,以降低瞬間負載?

=========================================================

[yuanfang]

1)同步RPDO有不同的做法,有些主站會遵循同步機制,按傳輸型別來發送RPDO,有些主站會採用非同步方式來發送RPDO,但對於使用沒有影響,因為重點是從站要同時執行他們收到的PDO。
但在運動控制主機中,RPDO是要按同步機制來嚴格傳送的,不然從站伺服驅動器會報錯

2)TPDO的同步傳送機制,原本就是利用了CAN的仲裁能力,可以使資料包在最短的時間內(同步視窗)傳送完畢,因為此時資料量很大,匯流排不會有空閒,因此你不用再去費心仲裁的事情。
也因此,CAN的資料重新整理是不確定的,有時候這臺先發送資料,有時候那臺先發送資料,但都在一個同步週期傳送,對應用沒有影響。後來的協議為了傳送這種因仲裁帶來的不確定性,使用了時間片輪轉方法,先在配置 的時候就分配好每臺從站資料更新的時機和佔用匯流排時間,後面就按這個分配的時機來重新整理資料,所以資料重新整理的時機是一定的。像後來的FlexRay就是這樣。


相關推薦

CANopen系列文章1--SYNC4-同步RPDO & 同步TPDO

在本論壇,有網友說:同步RPDO是由主站傳送給從站的PDO,主站在傳送SYNC之前,將所有從站的RPDO傳送給從站,然後再發SYNC,此時所有從站同時處理此RPDO。 然後遠方大俠同意這個觀點。 我的

CANopen系列文章1--SYNC2

1】 【遠方】同步RPDO是由主站傳送給從站的PDO,主站在傳送SYNC之前,將所有從站的RPDO傳送給從站,然後再發SYNC,此時所有從站同時處理此RPDO。 每個從站可以有不同的RPDO,以COB

Gradle 系列文章:你真的瞭解 Gradle 嗎一:Gradle 入門

Gradle 是什麼? 2013 年,Google 釋出了全新的 Android 開發 IDE————Android Studio。然而, Android Studio 基於 IDEA,不管怎麼說,這都是一個高逼格的 IDE。但核心應該是 Goog

1.學習__密碼學

最近開始了新的工作,進入了一家做 安全 和 證書 類的公司,目前需要學習一些東西,感覺跟 Java 沒有什麼關係,總是會懷疑 這一年的學習工作 對以後是不是有幫助。也總想不明白。還是認真學習吧!   沒準做得好了,有機會去360參觀呢,還有極棒大會。 學習一週了,主要掌握了

物聯網雲端對接-4通過MQTT協議與百度雲進行雲端通信

src 發布 訂閱 操作 websocket 編寫 通用 頁面 開發 百度雲的天工物聯網服務目前包括:物接入、物解析、物管理、時序數據庫和規則引擎等5大部分,本篇文章僅介紹物接入。 天工物聯網的物接入,從開發者的角度來說相對有些復雜,需要多步操作才能實現一個雲設備的創建,

JavaNIO的深入研究4內存映射文件I/O,大文件讀寫操作,Java nio之MappedByteBuffer,高效文件/內存映射

int start lib 交換文件 bsp 沒有 res collected str time 內存映射文件能讓你創建和修改那些因為太大而無法放入內存的文件。有了內存映射文件,你就可以認為文件已經全部讀進了內存,然後把它當成一個非常大的數組來訪問。這種解決辦法能大大簡化修

Untiy3d-編輯器相關4ScriptableObject,EditorWindow,ScriptableWizard

繼承關係: (基類)Object -> ScriptableObject -> EditorWindow -> ScriptableWizard ScriptableObject: 將資料儲存在資原始檔中,執行時修改退出也會儲存。一般編輯器使用較多。類似通過Seri

遊戲開發閱讀列表4我來到這裡的理由

“遊戲開發閱讀列表”前三篇都是技術相關。平時在地鐵上或走在路上,有時會聽遊戲開發相關的Talk。其中一些給了我非常大的影響。這也就是我來到“這裡”的理由,選擇開發遊戲的理由。 在騰訊實習已四個多月,如今即將離開。最初我抱著學習技術、見見世面的態度來到騰訊,團隊對技術追求的氛圍非

物聯網雲端對接-4通過MQTT協議與百度雲進行雲端通訊

百度雲的天工物聯網服務目前包括:物接入、物解析、物管理、時序資料庫和規則引擎等5大部分,本篇文章僅介紹物接入。天工物聯網的物接入,從開發者的角度來說相對有些複雜,需要多步操作才能實現一個雲裝置的建立,下面我們將詳細介紹一下相關的步驟:第一步:建立例項(類似工程中的專案概念)支

caffe學習筆記之4利用MATLAB介面執行cifar資料集

【前期準備工作】 1. 確保模型訓練成功,生成模型檔案:cifar10_quick_iter_4000.caffemodel及均值檔案:mean.binaryproto。注意,此處一定是生成caffemodel格式的模型檔案,而非.h5模型檔案,否則會導致Matlab執行

我看小程式系列文章1 不一樣的角度 解讀微信小程式

大家好,我是Beta007. 最近一直在研究小程式,會在這裡整理出一系列的文章,和大家交流。 第一篇文章首發在了知乎專欄:小樓昨夜又秋風:https://zhuanlan.zhihu.com/p/22891188 知乎ID:七月在夏天  (頭像是隻喵~) 不一樣的角度

SVM理論到實踐4基於OpenCv中的SVM的手寫體數字識別

//由於本人每天時間非常緊張,所以細節寫的不詳細,部落格僅供各位參考,裡面的程式碼都是執行過的,直接可以執行 本章的學習目標:      1)手寫體數字識別資料庫MNIST      2)基於SVM訓練的具體步驟   1)手寫體數字識別資料庫MNIST MNIST(Mixe

機器學習系列文章1部分:為什麼機器學習很重要 ?

目錄 路線圖 關於作者 簡單,簡單的解釋,附有數學,程式碼和現實世界的例子。 這個系列是一本完整的電子書!在這裡下載。免費下載,貢獻讚賞(paypal.me/ml4h) 路線圖 第1部分:為什麼機器學習很重要。人工智慧和機器學習的大

Dr.Elephant原始碼分析系列文章-1

Dr.Elephant是LinkedIn於2016年4月開源的一個Hadoop平臺效能調優工具。我們可以從這個連結獲取原始碼:https://github.com/linkedin/dr-elepha

Android自己定義組件系列1——自己定義View及ViewGroup

全部 int ++ btn -i pre 剪切 final 界面 View類是ViewGroup的父類,ViewGroup具有View的全部特性。ViewGroup主要用來充當View的容器。將當中的View作為自己孩子,並對其進行管理。當然孩子也能夠是ViewGrou

Spark SQL 源碼分析系列文章

blog .com data 原創 org 分析 成了 系列 ice 從決定寫Spark SQL源碼分析的文章,到現在一個月的時間裏,陸陸續續差不多快完成了,這裏也做一個整合和索引,方便大家閱讀,這裏給出閱讀順序 :) 第一篇 Spark SQL源碼分析之核心流程

轉載《零基礎入門深度學習》系列文章(教程+程式碼)

轉自:https://blog.csdn.net/TS1130/article/details/53244576 無論即將到來的是大資料時代還是人工智慧時代,亦或是傳統行業使用人工智慧在雲上處理大資料的時代,作為一個有理想有追求的程式設計師,不懂深度學習(Deep Learning)這個超熱的技

溫故知新分散式事務及分散式鎖系列文章總結石杉的架構筆記

歡迎關注個人公眾號:石杉的架構筆記(ID:shishan100) 週一至週五早8點半!精品技術文章準時送上! “ 這周我們來小結一下分散式系列的文章,包含分散式事務及分散式鎖,無論是工作還是面試,都是非常重要的一塊知識點。 一 通過一個真實的電商業務場景驅動,我們介紹了什麼是TCC分散式事務、如何

python開發大全、系列文章、精品教程

python應用教程 python後臺架構Django教程 python自動化測試教程 python網路爬蟲教程

Web開發系列1實用的網頁佈局(PC端)

在熟悉那些常用的軟體、工具後,我們正式開始開發,在前期準備工作之後,我們要做的事情是寫頁面,也就是網頁佈局。在w3c、菜鳥、慕課網等等網站上都有基礎的 HTML+CSS 知識講解,在初期學習中,跟著教程全部過一遍就差不多了。剛開始寫頁面的時候我們會迷糊,那麼多的標籤