概述
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...