剛接觸can不久,對很多can相關的知識不了解,就難以進行靈活的運用。今天弄懂了can的標準幀和擴充套件幀的使用場合,故此做一下筆記。
首先,得知道為什麼會有這兩種不同的幀。
其實原因和ipv4和ipv6的區別一樣,ipv6的出現,是為了解決ipv4的位址不夠用的尷尬。同樣,can的擴充套件幀,是為了解決can標準幀的11位識別符號不夠用的情況。所以,才有擴充套件幀。
拿汽車的can裝置來說,每乙個裝置,都給乙個can識別符號,如果裝置的數量超過了11位能表示的範圍,那就採用can擴充套件幀。反之,採用標準幀就夠了。
說到這個,今天除錯的時候,發現can一次只能傳送8個位元組,也就是64bit。如果你的資料大於8個位元組,怎麼辦?
看了許多帖子說,拆包傳送,這是乙個方法。
另外,也可以使用can fd。
can fd有兩種好處,速率可變。
第二個,也就是解決一次傳送可以超過8個位元組的問題,它一次能傳送最多64個位元組。
不過,就現在來說,並不相容普通can,意思就是can fd傳送的資料,普通can接受的話,會識別不了,出錯。
can fd 傳送資料給can fd,這沒有問題。
但,普通can傳送的資料,can fd,可以正常識別。
標準幀 擴充套件幀
大家先去看乙個暫存器 can tixr x 0 2 傳送郵箱標識暫存器 標準幀在 31 21 位 共11位 stid 10 0 擴充套件幀在 20 3 位 共29位 exid 17 0 stid 10 0 0 2 位分別為 txrq rtr ide uint16 t can id 0x0101 ui...
CAN匯流排擴充套件資料幀介紹
在擴充套件can 資料幀中,緊隨sof 位的是32 位的仲裁字段。仲裁欄位的前11 位為29 位識別符號的最高有效位 most significant bit,msb 基本ld 緊隨這11 位的是替代遠端請求 substitute remote request,srr 位,定義為隱性狀態。srr位之...
CAN協議,系統結構和幀結構
can controller area network,控制器區域網 是一種能有效支援分布式控制和實時控制的序列通訊網路。can bus controller area network bus,控制器區域網匯流排技術 can匯流排系統結構 can 控制器 接收控制單元中微處理器發出的資料,處理資料並...