一個(gè)關(guān)于不同通信方式下PDO的問題_第1頁
一個(gè)關(guān)于不同通信方式下PDO的問題_第2頁
一個(gè)關(guān)于不同通信方式下PDO的問題_第3頁
一個(gè)關(guān)于不同通信方式下PDO的問題_第4頁
一個(gè)關(guān)于不同通信方式下PDO的問題_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、一個(gè)關(guān)于不同通信方式下PDO的問題(這條文章已經(jīng)被閱讀了 1551 次) 時(shí)間:2008/04/27 06:26am來源:lucyfa 我在一家叫Selectron的公司實(shí)習(xí)做應(yīng)用工程師,同時(shí)還在做畢業(yè)設(shè)計(jì),也是工程應(yīng)用的,所以我對(duì)硬件層面知之有限,不好意思,有些關(guān)于TxPDO和RxPDO的問題需要請(qǐng)教你。1. 我查閱了之前眾多網(wǎng)友詢問你關(guān)于PDO的問題,對(duì)于主從模式下,我可以理解主站根據(jù)軟件設(shè)置通過SDO對(duì)從站進(jìn)行PDO的配置,包括MAPPING等。這個(gè)時(shí)候從站通過自身的(帶從站節(jié)點(diǎn)地址信息)TxPDO發(fā)送數(shù)據(jù)給主站,主站通過從站的(帶從站節(jié)點(diǎn)地址信息)RxPD

2、O發(fā)送數(shù)據(jù)給從站。那么這個(gè)時(shí)候,主站就不再是通過帶自身節(jié)點(diǎn)信息的TxPDO發(fā)送數(shù)據(jù)到總線上,而從站配置帶主站節(jié)點(diǎn)信息的RxPDO對(duì)主站發(fā)送的TxPDO進(jìn)行接收,對(duì)吧?2. 那么回到廣播或者一對(duì)多的通信模式下,節(jié)點(diǎn)1通過帶自身節(jié)點(diǎn)信息的TxPDO發(fā)送數(shù)據(jù)到總線上,而其他節(jié)點(diǎn)分別通過配置帶節(jié)點(diǎn)1地址信息的RxPDO對(duì)節(jié)點(diǎn)1發(fā)送的TxPDO進(jìn)行接收。這個(gè)時(shí)候我的疑問就明顯了,節(jié)點(diǎn)1發(fā)出的TxPDO取得了總線的控制,從而將報(bào)文幀發(fā)送到了總線上,而其他節(jié)點(diǎn)通過對(duì)總線的監(jiān)聽和自身RxPDO的配置了解到總線上正在傳輸?shù)墓?jié)點(diǎn)1的TxPDO需要被自己接收,從而啟動(dòng)接收的操作,這樣理解對(duì)嗎?3. 假設(shè)這樣的理解沒

3、有問題,那么廣播或一對(duì)多的通信模式下,節(jié)點(diǎn)1的TxPDO真正發(fā)送到了總線上,而其他節(jié)點(diǎn)配置的RxPDO是否就根本不會(huì)像主從模式下的RxPDO那樣會(huì)真正發(fā)送到總線上?這種時(shí)候的RxPDO僅僅作為一種軟件層面對(duì)需要接收的TxPDO進(jìn)行定義和設(shè)置而工作的?這就是我的疑問,主從模式下,主節(jié)點(diǎn)對(duì)從節(jié)點(diǎn)配置的T和R的PDO都真正通過總線傳輸了,并且起到了傳輸數(shù)據(jù)的作用。而在廣播或一對(duì)多的模式下,節(jié)點(diǎn)需要通過總線傳輸?shù)臄?shù)據(jù)是否都是通過TxPDO發(fā)送的,而RxPDO僅僅起了一個(gè)配置的作用,并未參與到總線的數(shù)據(jù)傳輸中去?不好意思,如有表述不清晰的地方請(qǐng)見諒。這個(gè)問題困擾我很久,一直沒有答案。 打包下載

4、引用該文發(fā)表評(píng)論轉(zhuǎn)寄該文關(guān)閉窗口此文章相關(guān)評(píng)論:該文章有13個(gè)相關(guān)評(píng)論如下:(點(diǎn)這兒論壇方式查看)yuanfang發(fā)表于: 2008/04/27 07:10am1)其實(shí)我還不太明白你描述的意思,不管是主站,還是從站,對(duì)一個(gè)SDO和PDO的判斷,即判斷是否是發(fā)給我的,都是通過COBID來判斷的。2)TXPDO和RXPDO是兩個(gè)相對(duì)獨(dú)立的過程,兩者之間沒有任何關(guān)系,TXPDO是從站發(fā)送給主站的PDO,而RXPDO是主站發(fā)送給從站的PDO。3)CAN總線是廣播方式的,即任何一個(gè)節(jié)點(diǎn)發(fā)出的數(shù)據(jù),總線上所有的節(jié)點(diǎn)都能接收到,至于拉收到的數(shù)據(jù)是否是自己需要的,由自己的軟件來判斷。CANopen是一個(gè)多種方

5、式并存的協(xié)議,單就PDO來說,是Producer/Consumer模式,主站傳送給從站的RXPDO,可能被一個(gè)或多個(gè)從站接收處理,而從站發(fā)送給主站的TXPDO,也可以由主站或是其它從站接收處理,看你如何配置,配置的過程通過SDO來實(shí)現(xiàn)??偟膩碚f,我還沒有看清楚你的描述,可能你對(duì)總線的通訊結(jié)構(gòu)還有些模糊,多看一些資料,發(fā)揮一些空間想像能力來理解。 頂部lucyfa發(fā)表于: 2008/04/27 02:06pm謝謝,我想我弄明白了,我之前把TxPDO/RxPDO當(dāng)成了Producer/Consumer,以為二者是必須對(duì)應(yīng)的,現(xiàn)在我清楚了,非常感謝你的幫助! 頂部lucyfa發(fā)表

6、于: 2008/04/27 02:21pm 相關(guān)圖片如下:請(qǐng)看這幅圖,這是我們公司內(nèi)部的培訓(xùn)PPT中的一個(gè)例子主從通信下主站和從站的PDO傳送,這個(gè)時(shí)候,圖中所示為主站通過TxPDO發(fā)送數(shù)據(jù),從站通過RxPDO接收數(shù)據(jù),同時(shí)從站通過自身的TxPDO發(fā)送數(shù)據(jù),主站通過自身的RxPDO接收數(shù)據(jù),這就讓我很難理解。如果主站通過自身的TxPDO發(fā)送數(shù)據(jù)給從站,那從站既然能監(jiān)聽總線,直接通過軟件判斷進(jìn)行接收就行了,為什么還要通過自身的RxPDO進(jìn)行接收,這個(gè)RxPDO中的數(shù)據(jù)從哪里來的? 頂部yuanfang發(fā)表于: 2008/04/28 01:24am這個(gè)圖寫得不清楚,這裡面的TX

7、PDO和RXPDO是針對(duì)節(jié)點(diǎn)本身來說的,PDO實(shí)際上並無主從,數(shù)據(jù)是被產(chǎn)生出來,就叫做TXPDO,數(shù)據(jù)被接收處理,就叫RXPDO,比如一筆數(shù)據(jù)是從主站發(fā)給從站,對(duì)於主站來說,這是TXPDO,對(duì)於從站來說,這是RXPDO,而我們通常所說的,都是站在從站的角度來說的,所以主站發(fā)給從站的是RXPDO,從站發(fā)給主站的是TXPDO。 頂部lucyfa發(fā)表于: 2008/04/28 03:03am 相關(guān)圖片如下:附圖中上圖為主從的通信方式,下圖就是我說的無主的廣播的模式。由于TxPDO和RxPDO都有相應(yīng)的不同COB-ID,而COB-ID最大的作用是總線仲裁,所以是否Tx和Rx的PDO

8、都要發(fā)送到總線中?在主從通信方式下,我的應(yīng)用中,整個(gè)網(wǎng)絡(luò)都是在主的軟件中進(jìn)行配置的,包括了從的TxPDO和RxPDO,這個(gè)時(shí)候我們一般直接把主要向從傳輸?shù)臄?shù)據(jù)直接寫入從的RxPDO中,網(wǎng)絡(luò)啟動(dòng)后我用CANanalyzer監(jiān)測(cè),只能在總線上讀到帶從節(jié)點(diǎn)的RxPDO和TxPDO的COB-ID的報(bào)文幀。也就是說假設(shè)我們理解主從節(jié)點(diǎn)之間的通信,主節(jié)點(diǎn)對(duì)從節(jié)點(diǎn)發(fā)送信息的PDO對(duì)于主節(jié)點(diǎn)來說,是TxPDO,對(duì)于從節(jié)點(diǎn)來說,是RxPDO,那么為什么我們監(jiān)測(cè)不到帶主節(jié)點(diǎn)節(jié)點(diǎn)地址信息的TxPDO?所以我覺得RxPDO如果只是做對(duì)應(yīng)一個(gè)TxPDO的PDO Linking的話,網(wǎng)絡(luò)上只需要傳輸TxPDO就行了,這就

9、是前面我說我覺得RxPDO不需要發(fā)送到總線上的原因。這個(gè)地方要想想明白,我一般是想象主從模式下直接跳出了協(xié)議中PDO的傳輸模式,從軟件實(shí)現(xiàn)了主直接使用從的RxPDO發(fā)送數(shù)據(jù),并且不配置RxPDO的情況下接收所有從的TxPDO,不知這樣是否又錯(cuò)的很遠(yuǎn)了?另外不好意思問一下,如果主要發(fā)送給從數(shù)據(jù),必須通過一個(gè)帶主自身節(jié)點(diǎn)信息的TxPDO,要接收從的某一確定數(shù)據(jù),必須配置一個(gè)帶自身節(jié)點(diǎn)信息的RxPDO,那么在一個(gè)有60個(gè)節(jié)點(diǎn)以上的網(wǎng)絡(luò)中,假設(shè)每個(gè)從節(jié)點(diǎn)使用4個(gè)TxPDO和4個(gè)RxPDO,是不是主節(jié)點(diǎn)就要配置240個(gè)TxPDO和240個(gè)RxPDO? 頂部lucyfa發(fā)表于: 2008/04/

10、28 03:11am不好意思一直打擾你,我之所以需要弄清楚各種模式下RxPDO是否發(fā)到了總線上,主要是因?yàn)槲以谧鯟ANopen在列車通信網(wǎng)絡(luò)的應(yīng)用。在方案中PDO是事件驅(qū)動(dòng)的,因此我需要計(jì)算出網(wǎng)絡(luò)中可能發(fā)生的最大負(fù)載的報(bào)文同步競(jìng)爭(zhēng)網(wǎng)絡(luò)可能出現(xiàn)的延時(shí)的影響,以此為依據(jù)設(shè)定PDO的inhabit time。這個(gè)時(shí)候我必須要知道有哪些報(bào)文真正向總線請(qǐng)求傳送,如果主發(fā)送的是自身節(jié)點(diǎn)信息的TxPDO,與其用從的RxPDO傳輸數(shù)據(jù),由于COB-ID的不同,優(yōu)先級(jí)差別很大的。 頂部yuanfang發(fā)表于: 2008/04/28 03:56am是報(bào)文就要通過總線發(fā)送,不發(fā)送的數(shù)據(jù),就不能稱作報(bào)文了。

11、我想我有些懂你的疑惑了,在CANopen網(wǎng)絡(luò)中,只能同時(shí)存在一個(gè)主站,所以COB-ID裡面的地址,是由從站的ID來組成的,沒有主站的地址,因此你看不到所謂“帶主站地址信息”的報(bào)文。 頂部tyz發(fā)表于: 2008/04/28 09:20am這個(gè)貼子最后由tyz在 2008/04/28 05:25pm 第 2 次編輯     PDO是用來傳輸實(shí)時(shí)過程數(shù)據(jù)的。     在CANopen預(yù)定義連接集中,對(duì)節(jié)點(diǎn)TxPDO和RxPDO的所占用的COB-ID給出了缺省定義。可以看出,表中定義的COB-ID并沒有任何交疊(over-lapp

12、ing)并沒有任何兩個(gè)TxPDO和RxPDO占用同一個(gè)COB-ID其實(shí)一旦有交疊的話,那一個(gè)link也就意味著一個(gè)PDO通道的建立了。    為了有效地對(duì)整個(gè)CANopen網(wǎng)絡(luò)進(jìn)行管理,301中定義了CANopen NMT master,這個(gè)NMT master用來對(duì)各slave節(jié)點(diǎn)的節(jié)點(diǎn)狀態(tài)進(jìn)行控制。在此基礎(chǔ)上,302中又提出了CANopen Manager的概念,如過NMT master至少再具備SDO Manager和Configuration Manager二者之一就是一個(gè)CANopen Manager了。    與485的“主從問答式”通信機(jī)制

13、相不同,站在CAN底層的級(jí)別,我們可以說CAN是多主機(jī)制的硬件中基于報(bào)文ID優(yōu)先級(jí)進(jìn)行仲裁,只要我們保證不同節(jié)點(diǎn)所發(fā)報(bào)文ID是不同的,就可以避免總線發(fā)送沖突了其實(shí)這也是CANopen預(yù)定義的各種對(duì)象采用“功能碼+Node-ID”的原因。     預(yù)定義連接集并不是什么神圣不可動(dòng)搖的“普世法則”,實(shí)際的CANopen組網(wǎng)中,需要根據(jù)應(yīng)用背景的不同來靈活地配置包括PDO通道在內(nèi)的眾多配置項(xiàng)。具體到PDO通道的配置,TxPDO和RxPDO并無主從之分,只是不同視角下的不同稱呼。127*8的4組TxPDO和RxPDO說白了,其實(shí)就是一大堆可用的CAN-ID資源。通信參數(shù)定

14、PDO對(duì)象的基本通信參數(shù)特性,映射參數(shù)定義了PDO對(duì)象和應(yīng)用對(duì)象之間的聯(lián)系。    你所說的將主站的RxPDO和從站的TxPDO對(duì)應(yīng)起來,完全可以,如果應(yīng)用需求是這樣的話?!翱偩€上到底沒有RxPDO?”呵呵,這個(gè)問題問其實(shí)還是受了“預(yù)定義連接集”的誤導(dǎo)。不妨這樣回答:總線上只有PDO在傳輸,在發(fā)送方看,它是TxPDO;在接收方看,它是RxPDO。 頂部lucyfa發(fā)表于: 2008/04/28 01:31pm 你所說的將主站的RxPDO和從站的TxPDO對(duì)應(yīng)起來,完全可以,如果應(yīng)用需求是這樣的話?!翱偩€上到底沒有RxPDO?”呵呵,這個(gè)問題問其實(shí)還是受了

15、“預(yù)定義連接集”的誤導(dǎo)。不妨這樣回答:總線上只有PDO在傳輸,在發(fā)送方看,它是TxPDO;在接收方看,它是RxPDO。一個(gè)從節(jié)點(diǎn),是通過什么來定義需要接收總線上的哪條PDO數(shù)據(jù)的?是通過RxPDO的配置?還是通過軟件中的設(shè)置?還是通過CAN控制器的過濾? 頂部lucyfa發(fā)表于: 2008/04/28 01:48pm舉例來說吧,我的主節(jié)點(diǎn)節(jié)點(diǎn)地址為3,一個(gè)從節(jié)點(diǎn)節(jié)點(diǎn)地址為10這時(shí),假設(shè)我主節(jié)點(diǎn)發(fā)送一個(gè)TxPDO1,其COB-ID自然是Ox183h;那么我對(duì)10節(jié)點(diǎn)配置一個(gè)RxPDO,其COB-ID為Ox20ah,這兩個(gè)TxPDO和RxPDO能關(guān)聯(lián)上嗎?如果不能,那應(yīng)該是怎樣的?

16、60;頂部tyz發(fā)表于: 2008/04/28 02:30pm     不能的。此時(shí)需要把從節(jié)點(diǎn)對(duì)象字典中對(duì)應(yīng)的RxPDO通信參數(shù)(假如是RxPDO1)1400h索引下01子索引值配置為0x183h。 頂部cndestiny發(fā)表于: 2008/05/27 01:14pm"CANopen是一個(gè)多種方式并存的協(xié)議,單就PDO來說,是Producer/Consumer模式",在傳輸PDO時(shí)沒有主,從站之分, 只有一個(gè)Producer和一個(gè)或多個(gè)consumer,Producer發(fā)送TxPDO(從Producer角度看)報(bào)文,Consumer接收RxPDO(從Consumer角度看)報(bào)文,這兩個(gè)報(bào)文的COB-ID是相同的,所以其實(shí)就是一條相同的報(bào)文,TxPDO與RxPDO就是通過

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論