CAN FD 協議深入解析

FD 資料框架

前言

在我們之前的文章 《為什麼 CAN FD 很重要:超越傳統 CAN 的一大躍進》 中, 我們探討了 CAN FD 作為傳統 CAN 的演進歷程。從最初的 CAN,到 CAN 2.0A、CAN 2.0B, 直至今日的 CAN FD,這個協議持續不斷進化。

CAN 2.0A 引入了標準 11 位元識別符,而 CAN 2.0B 則擴展至 29 位元識別符。 然而,僅有 8 位元組的負載限制,以及 1 Mbps 的資料速率,已經不足以應付現代應用。 為了應對此需求,Bosch 推出了 CAN FD,支援最高 64 位元組 的負載, 資料速率最高可達 8 Mbps 甚至更高,並支援 位元率切換 (BRS)

在本文中,我們將深入探討 CAN FD 資料框架的結構。


協議重點

協議版本 重點特色
CAN 2.0A 11 位元 – 標準識別符
CAN 2.0B 11/29 位元 – 標準 / 擴展識別符
CAN FD 64 位元組負載,資料速率最高可達 8 Mbps 或更高



FD 資料框架 – FDF 位元

FDF (FD Format) 位元位於 控制欄位 (Control Field), 是確保與 CAN 2.0 向下相容的重要控制位元。
- FDF = 1 (隱性):此框架視為 CAN FD
- FDF = 0 (顯性):此框架視為傳統 CAN (CAN 2.0)



可變資料速率 (BRS)

CAN FD 框架在控制欄位中引入了 BRS (Bit Rate Switch) 標誌。
- BRS = 1 (隱性):從仲裁速率切換到更快的資料速率,直到 CRC 定界符
- BRS = 0 (顯性):傳輸維持在仲裁速率

注意:即使 BRS=0,該框架仍是 CAN FD,但不會提升傳輸速度。



錯誤狀態指示器 – ESI 位元

CAN FD 在控制欄位中新增了一個 ESI (Error State Indicator) 標誌。 它反映了發送節點的錯誤狀態:

ESI 錯誤狀態
0 (顯性) 錯誤-主動 (Error-Active)
1 (隱性) 錯誤-被動 (Error-Passive)



擴展的最大負載

CAN 2.0 僅支援最大 8 位元組 負載, 而 CAN FD 將此限制擴展至 64 位元組



DLC (資料長度碼) 解讀

在 CAN 2.0 中,4 位元 DLC 欄位支援 0–8 位元組。 在 CAN FD 中,當 DLC 大於 8 時,對應至固定的負載長度。

資料位元組數 DLC (二進位)
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
12 1001
16 1010
20 1011
24 1100
32 1101
48 1110
64 1111


範例

若傳輸資料長度 = 9 → DLC = 1001。 為了符合 12 位元組的需求,將會自動補齊 3 個填充位元組 (0x00)


新聞活動

CAN FD 協議深入解析

FD 資料框架

前言

在我們之前的文章 《為什麼 CAN FD 很重要:超越傳統 CAN 的一大躍進》 中, 我們探討了 CAN FD 作為傳統 CAN 的演進歷程。從最初的 CAN,到 CAN 2.0A、CAN 2.0B, 直至今日的 CAN FD,這個協議持續不斷進化。

CAN 2.0A 引入了標準 11 位元識別符,而 CAN 2.0B 則擴展至 29 位元識別符。 然而,僅有 8 位元組的負載限制,以及 1 Mbps 的資料速率,已經不足以應付現代應用。 為了應對此需求,Bosch 推出了 CAN FD,支援最高 64 位元組 的負載, 資料速率最高可達 8 Mbps 甚至更高,並支援 位元率切換 (BRS)

在本文中,我們將深入探討 CAN FD 資料框架的結構。


協議重點

協議版本 重點特色
CAN 2.0A 11 位元 – 標準識別符
CAN 2.0B 11/29 位元 – 標準 / 擴展識別符
CAN FD 64 位元組負載,資料速率最高可達 8 Mbps 或更高



FD 資料框架 – FDF 位元

FDF (FD Format) 位元位於 控制欄位 (Control Field), 是確保與 CAN 2.0 向下相容的重要控制位元。
- FDF = 1 (隱性):此框架視為 CAN FD
- FDF = 0 (顯性):此框架視為傳統 CAN (CAN 2.0)



可變資料速率 (BRS)

CAN FD 框架在控制欄位中引入了 BRS (Bit Rate Switch) 標誌。
- BRS = 1 (隱性):從仲裁速率切換到更快的資料速率,直到 CRC 定界符
- BRS = 0 (顯性):傳輸維持在仲裁速率

注意:即使 BRS=0,該框架仍是 CAN FD,但不會提升傳輸速度。



錯誤狀態指示器 – ESI 位元

CAN FD 在控制欄位中新增了一個 ESI (Error State Indicator) 標誌。 它反映了發送節點的錯誤狀態:

ESI 錯誤狀態
0 (顯性) 錯誤-主動 (Error-Active)
1 (隱性) 錯誤-被動 (Error-Passive)



擴展的最大負載

CAN 2.0 僅支援最大 8 位元組 負載, 而 CAN FD 將此限制擴展至 64 位元組



DLC (資料長度碼) 解讀

在 CAN 2.0 中,4 位元 DLC 欄位支援 0–8 位元組。 在 CAN FD 中,當 DLC 大於 8 時,對應至固定的負載長度。

資料位元組數 DLC (二進位)
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
12 1001
16 1010
20 1011
24 1100
32 1101
48 1110
64 1111


範例

若傳輸資料長度 = 9 → DLC = 1001。 為了符合 12 位元組的需求,將會自動補齊 3 個填充位元組 (0x00)


新聞活動

CAN FD 協議深入解析

FD 資料框架

前言

在我們之前的文章 《為什麼 CAN FD 很重要:超越傳統 CAN 的一大躍進》 中, 我們探討了 CAN FD 作為傳統 CAN 的演進歷程。從最初的 CAN,到 CAN 2.0A、CAN 2.0B, 直至今日的 CAN FD,這個協議持續不斷進化。

CAN 2.0A 引入了標準 11 位元識別符,而 CAN 2.0B 則擴展至 29 位元識別符。 然而,僅有 8 位元組的負載限制,以及 1 Mbps 的資料速率,已經不足以應付現代應用。 為了應對此需求,Bosch 推出了 CAN FD,支援最高 64 位元組 的負載, 資料速率最高可達 8 Mbps 甚至更高,並支援 位元率切換 (BRS)

在本文中,我們將深入探討 CAN FD 資料框架的結構。


協議重點

協議版本 重點特色
CAN 2.0A 11 位元 – 標準識別符
CAN 2.0B 11/29 位元 – 標準 / 擴展識別符
CAN FD 64 位元組負載,資料速率最高可達 8 Mbps 或更高



FD 資料框架 – FDF 位元

FDF (FD Format) 位元位於 控制欄位 (Control Field), 是確保與 CAN 2.0 向下相容的重要控制位元。
- FDF = 1 (隱性):此框架視為 CAN FD
- FDF = 0 (顯性):此框架視為傳統 CAN (CAN 2.0)



可變資料速率 (BRS)

CAN FD 框架在控制欄位中引入了 BRS (Bit Rate Switch) 標誌。
- BRS = 1 (隱性):從仲裁速率切換到更快的資料速率,直到 CRC 定界符
- BRS = 0 (顯性):傳輸維持在仲裁速率

注意:即使 BRS=0,該框架仍是 CAN FD,但不會提升傳輸速度。



錯誤狀態指示器 – ESI 位元

CAN FD 在控制欄位中新增了一個 ESI (Error State Indicator) 標誌。 它反映了發送節點的錯誤狀態:

ESI 錯誤狀態
0 (顯性) 錯誤-主動 (Error-Active)
1 (隱性) 錯誤-被動 (Error-Passive)



擴展的最大負載

CAN 2.0 僅支援最大 8 位元組 負載, 而 CAN FD 將此限制擴展至 64 位元組



DLC (資料長度碼) 解讀

在 CAN 2.0 中,4 位元 DLC 欄位支援 0–8 位元組。 在 CAN FD 中,當 DLC 大於 8 時,對應至固定的負載長度。

資料位元組數 DLC (二進位)
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
12 1001
16 1010
20 1011
24 1100
32 1101
48 1110
64 1111


範例

若傳輸資料長度 = 9 → DLC = 1001。 為了符合 12 位元組的需求,將會自動補齊 3 個填充位元組 (0x00)


新聞活動

CAN FD 協議深入解析

FD 資料框架

前言

在我們之前的文章 《為什麼 CAN FD 很重要:超越傳統 CAN 的一大躍進》 中, 我們探討了 CAN FD 作為傳統 CAN 的演進歷程。從最初的 CAN,到 CAN 2.0A、CAN 2.0B, 直至今日的 CAN FD,這個協議持續不斷進化。

CAN 2.0A 引入了標準 11 位元識別符,而 CAN 2.0B 則擴展至 29 位元識別符。 然而,僅有 8 位元組的負載限制,以及 1 Mbps 的資料速率,已經不足以應付現代應用。 為了應對此需求,Bosch 推出了 CAN FD,支援最高 64 位元組 的負載, 資料速率最高可達 8 Mbps 甚至更高,並支援 位元率切換 (BRS)

在本文中,我們將深入探討 CAN FD 資料框架的結構。


協議重點

協議版本 重點特色
CAN 2.0A 11 位元 – 標準識別符
CAN 2.0B 11/29 位元 – 標準 / 擴展識別符
CAN FD 64 位元組負載,資料速率最高可達 8 Mbps 或更高



FD 資料框架 – FDF 位元

FDF (FD Format) 位元位於 控制欄位 (Control Field), 是確保與 CAN 2.0 向下相容的重要控制位元。
- FDF = 1 (隱性):此框架視為 CAN FD
- FDF = 0 (顯性):此框架視為傳統 CAN (CAN 2.0)



可變資料速率 (BRS)

CAN FD 框架在控制欄位中引入了 BRS (Bit Rate Switch) 標誌。
- BRS = 1 (隱性):從仲裁速率切換到更快的資料速率,直到 CRC 定界符
- BRS = 0 (顯性):傳輸維持在仲裁速率

注意:即使 BRS=0,該框架仍是 CAN FD,但不會提升傳輸速度。



錯誤狀態指示器 – ESI 位元

CAN FD 在控制欄位中新增了一個 ESI (Error State Indicator) 標誌。 它反映了發送節點的錯誤狀態:

ESI 錯誤狀態
0 (顯性) 錯誤-主動 (Error-Active)
1 (隱性) 錯誤-被動 (Error-Passive)



擴展的最大負載

CAN 2.0 僅支援最大 8 位元組 負載, 而 CAN FD 將此限制擴展至 64 位元組



DLC (資料長度碼) 解讀

在 CAN 2.0 中,4 位元 DLC 欄位支援 0–8 位元組。 在 CAN FD 中,當 DLC 大於 8 時,對應至固定的負載長度。

資料位元組數 DLC (二進位)
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
12 1001
16 1010
20 1011
24 1100
32 1101
48 1110
64 1111


範例

若傳輸資料長度 = 9 → DLC = 1001。 為了符合 12 位元組的需求,將會自動補齊 3 個填充位元組 (0x00)


新聞活動

訂閱三泰科技電子報

訂閱三泰科技電子報

訂閱三泰科技電子報

訂閱三泰科技電子報

返回頂部
返回頂部
返回頂部