CAN和CANFD的區別總結

2021-06-28 18:41:23 字數 1777 閱讀 7665

概述

canfd:可以理解成can協議的公升級版,只公升級了協議,物理層未改變。

can與canfd主要區別:傳輸速率不同、資料長度不同、幀格式不同、id長度不同。

傳輸速率不同

can:最大傳輸速率1mbps。

canfd:速率可變,仲裁位元率最高1mbps(與can相同),資料位元率最高8mbps,如下圖所示。

資料長度不同

can:一幀資料最長8位元組

canfd:一幀資料最長64位元組。

幀格式不同

canfd新增了fdf、brs、esi位。

fdf:表示can報文還是can-fd報文。

brs:表示位速率轉換,該位隱性時,速率可變(即bsr到crc使用轉換速率傳輸),該位為顯性時,以正常的can-fd匯流排速率傳輸(恆定速率);

esi:表示傳送節點狀態。

id長度不同

can標準幀id長度最長11bit

canfd標準幀id長度可擴充套件到12bit。

can2.0b標準幀

can 標準幀資訊為11個位元組,包括兩部分:資訊和資料部分。前3個位元組為資訊部分。

位元組1為幀資訊。第7位(ff)表示幀格式,在標準幀中,ff=0;第6位(rtr)表示幀的型別,rtr=0表示為資料幀,rtr=1表示為遠端幀;dlc表示在資料幀時實際的資料長度。

位元組2、3為報文識別碼,11位有效。

位元組4~1為資料幀的實際資料,遠端幀時無效。

can2.0b擴充套件幀

can 擴充套件幀資訊為13個位元組,包括兩部分,資訊和資料部分。前5個位元組為資訊部分

位元組1為幀資訊。第7位(ff)表示幀格式,在擴充套件幀中,ff=1;第6位(rtr)表示幀的型別,rtr=0表示為資料幀,rtr=1表示為遠端幀;dlc 表示在資料幀時實際的資料長度。

位元組2~5為報文識別碼,其高29位有效。

位元組6~13資料幀的實際資料,遠端幀時無效。

工作流程:

1、使能flexcan模組時鐘

2、使模組進入禁止模式

3、在禁止模式下選擇好時鐘源(協議引擎時鐘源)

4、開啟flexcan模組 一旦開啟flexcan模組,flexcan即進入凍結模式,也可以同過軟中斷來復位flexcan然後進入凍結模式

5、初始化flexcan模組暫存器,初始化mb為0

6、退出凍結模式

7、設定rx訊息緩衝區(cs,format,type,id,date)首先寫0x0000d到cs欄位失活mb,最後寫0x01000啟用mb

8、設定tx訊息緩衝區(cs,format,type,id,length, date)首先寫0x1000d到cs欄位失活mb,最後寫0x11000啟用mb,等待訊息傳送。

9、通過讀取中斷標誌位判斷是否完成傳送接收。

CANFD和CAN的區別簡介

1.概述 can fd 可以理解成can協議的公升級版,只公升級了協議,物理層未改變。can與can fd主要區別 傳輸速率不同 資料長度不同 幀格式不同 id長度不同。由傳統can轉移到canfd比較方便 2.傳輸速率不同 can 最大傳輸速率1mbps。can fd 速率可變,仲裁位元率最高1m...

CAN與CANFD的異同

為什麼需要can fd?在汽車行業,為什麼需要can fd?1.原因主要是因為汽車功能越來越多,越來越複雜,傳統的can匯流排 can2.0 的負載率越來越高,甚至負載率高達95 2.因為傳統can匯流排的侷限性 傳輸率最大為1mbiy s 典型的 500kbit s 傳統can資料幀超過50 的額...

如何區別國產CAN晶元和進口CAN晶元的效能(上)

如何區別國產can晶元和進口can晶元的效能 上 現在國產晶元百花齊放,但是效能引數如何,怎麼來測出它們的效能優劣呢?下面的小實驗來解答,現在以國產 廣州金昇陽 scm3421asa晶元和nxp的 tja1051 兩款作性 能測試及比對。工具 國產廣州金昇陽scm3421asa晶元 3pcs nxp...