CAN匯流排節點ID相關問題,遠端幀啊,資料幀啊

2021-03-03 23:36:59 字數 3253 閱讀 2108

1樓:匿名使用者

問題一。假設a點為接收方,如果我設定了id濾波,那麼不是所有的id都能接收,

只有符合我的需要的id才能接收,那不就相當id連帶了目標mac,而卻每個節點id都是不一樣的,根據id值你就能知道是哪個節點傳送過來的資料了。這與接受資料時需要仲裁併不矛盾啊。

問題四很簡單解決。在b節點你設定報文濾波就行了。遮蔽掉c節點的id,這樣就算c節點傳送報文。b也不會接受的

關於can匯流排的id號,遠端幀,有一些問題,迷茫的要死,求高手解答

2樓:匿名使用者

問題1: can資料域都是事先定義好了的,必然會包含can.bin的資料,node b只需要響應遠端幀即可正確迴應node a想要的資料了。

問題2: 不是節點優先順序不同,而是資料幀的優先順序不同,每個資料幀的仲裁域中包含id,優先順序就是比較id的大小。兩個節點同時傳送資料幀和遠端幀,也是靠正常的仲裁機制來判斷髮送順序的,沒有衝突。

如果某一時刻資料幀和遠端幀的id相同,那麼資料幀的優先順序高於遠端幀。

問題3: 問題2 已回答。

3樓:匿名使用者

1.你可以不發遠端幀,發資料幀,然後在資料部分指定要求的檔案。或者發遠端幀,但是遠端幀id的謀幾位規定為要求的檔案號

4樓:小連

我們工作一年多,遠端幀在實際是沒有應用的。

三個問題結合到一起回答

首先說下什麼是遠端幀,最新iso11898 -2015版,frame that requests the tran**ission of a dedicated data frame   請求專用資料幀傳輸的幀。a傳送給b一幀遙控幀報文(同時c/d/e都會收到,但不作處理),b會發給a一幀資料幀報文。(幀的結構如下圖,資料幀比遙控幀多一個資料段)

id是一般是主機廠自定義,比如 $0-500是 資料幀id 500-600是遠端幀id 600-700診斷id(實際用不到遠端幀,都是資料幀)。非同時傳送時誰先發出,誰先發;同時發出時,id越小優先順序越高,無論是什麼幀!

id只是幀的一部分,資料段也是幀的一部分(如圖,看幀的結構)。

幀裡面具體是什麼呢?是二進位制數,比如11111111111,前三個1代表id 後三個1代表資料。資料幀的三個1也是主機廠自定義的,如can矩陣。

can匯流排的遠端幀使用的問題~

5樓:匿名使用者

can 遠端幀是一個空資料場的幀, 關鍵是在它的id場和遠端幀標誌位,當遠端幀標誌位為1時他就是遠端幀,資料場必須為空,被請求節點通過id場的辨識來響應,傳送被請求的幀到匯流排上,具體舉例,我隨便舉一個,bcm需要知道車門的狀態,一個遠端幀過去,車門把自己的狀態發回來

6樓:上官代芹

首先canbus是問答式的通訊方式報文最大長度11char

1仲裁場(共12位)

bit10 bit9 bit8 bit7 bit6

功能編碼

bit5 bit4 bit3

目的地址

bit2 bit1 bit0

源插地址

rtr遠端幀

2.控制場

ide r0 dl3 dl2 dl1 dl0

0 0 資料長度

3.資料場

bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

資料幀資料(最長8組)

應答時仲裁場目的地址源地址交換,就是目的地址就是你回答的詢問報文中的原地址,當然原地址就是你地址 485匯流排的通訊距離也在300m以上!485的通訊協議比較靈活!可以自己定值問答式協議!

可參考通訊中常用的同步頭+資料長度+效驗的格式自己設計,

例如:採用0xeb 0x90 同步頭

可以給你一份我做過的協議!自己分析一下!不明白給我發郵件!llzyong@sohu.***

我也希望能幫你啊!

7樓:爆76吧在行動

都過去好幾年了呢,你關於can協議學的咋樣了啊?我剛開始學啊,對於遠端幀非常的迷茫啊。

can匯流排中什麼是遠端幀。另外能不能把can匯流排的整體工作流程簡單的說一下

8樓:匿名使用者

所謂「遠端幀」是一個傳統翻譯上的誤區。remote frame實際上它的意義是「遙控幀」,發起方發起特定id的遠端幀,並且只傳送id部分,那麼與其id相符的終端裝置就有義務在後半段的資料部分接管匯流排控制權併傳送自己的資料。

打個比方,中控機需要定時獲取某個節點的資料(例如轉速計的實時轉速、油量計的實時油量等),可以向匯流排傳送遠端幀;相應節點在接收判斷幀id與自己相符、並且是遠端幀的情況下,就可以將自己的實時資料傳送到匯流排上;這樣中控機就獲取到了相關節點的實時資料。

遠端幀最大的好處就是只需要一幀的時間就能完成一次雙向互動。

9樓:成楊氏伍秋

can遠端幀是一個空資料場的幀,

關鍵是在它的id場和遠端幀標誌位,當遠端幀標誌位為1時他就是遠端幀,資料場必須為空,被請求節點通過id場的辨識來響應,傳送被請求的幀到匯流排上,具體舉例,我隨便舉一個,bcm需要知道車門的狀態,一個遠端幀過去,車門把自己的狀態發回來

can匯流排問題

10樓:兩嗅沁風

首先不得不說提問者愛思考也愛**竟,不過我要提醒您一句的是,can匯流排資料幀

與資料幀可不像串列埠一樣緊挨著,之間還有「幀間空間」,也就是說,即使迴圈傳送can幀,也至少還有3位隱性位間歇場,換句話說,最小間隔至少是8+3=11位,即16*11/8=22微秒。

11樓:匿名使用者

can的資料幀不是這樣理解的,can包括幀起始位、id位、擴充套件幀標誌位和遠端幀標誌位,資料長度位、資料段和crc段還有應答位,再加上can的物理層機制,每遇到5個相同的資料位就要加一位取反資料,所以要確定傳送資料幀才能確認一幀的具體傳輸時間

12樓:伊藉禹馳

1,感測器是不能直接連can的,是由微控制器採集感測器的訊號然後通過can匯流排發出去,所以要考慮的是感測器和微控制器的連線

2.這個根據你的實際需求可以自己去設定時間3,。一般情況不用人去管了,只需要出問題了再進行維修4,這個就看你係統硬體是怎麼設計的了,不同方案肯定不一樣5,這個依然看你的硬體設計來估算

CAN匯流排仲裁問題,節點同時向匯流排發資料,只能收到節

仲裁是對優先順序進行管理,高優先先發,地優先後發。仲裁不會導致報文丟失。can 匯流排 上,如果2個節點id號一樣,先後傳送資料後怎麼辨別匯流排上出現了兩個相同id?雖然這樣的應用在can的規範裡沒有明確禁止,但是絕對不建議這樣設計網路規劃,這樣會為後續帶來的諸如升級等十分複雜的問題,也影響網路的穩...

CAN匯流排上面其中節點假如CANH與CANL短路了

can匯流排的分類有高速can和容錯can的區分,高速can h和l短路通訊不能正常進行,容錯can可以保持通訊 汽車上的can匯流排,路正常時,用普通萬用表測得的電壓應該是多少 can h can l can匯流排的電氣特性說的很清楚了,有訊號的時候can h 3.5伏,can l 1.5伏,沒有...

can匯流排接收遮蔽碼怎麼設定,can匯流排的ID掩碼有什麼作用

你是說can的接收濾波器嗎?每個晶片略有不同,一般是一個濾波器通過就能進入接收中斷。拿飛思卡爾的can來說,是有兩個暫存器來濾波的,一個設定接收id的範圍,一個遮蔽接收id的某些位。can匯流排的id掩碼有什麼作用 通過設定can過濾器,可以使can埠只接收符合規定的的can資料包,這樣就能將can...