CAN FD
- CAN FD導入背景和标準化
- CAN FD用例
- CAN FD概要
- CAN FD協定
-
- 幀類型
- CAN FD幀結構
-
- SOF(Start of Frame)
- 仲裁領域
- 控制領域
- 資料領域
- CRC領域
- ACK領域
- EOF(End of Frame)
CAN FD導入背景和标準化
為了實作汽車的安全性和舒适性、增強連接配接、電動化、自動駕駛功能、網絡安全措施等,在目前市售汽車中廣泛使用的車載網絡CAN(Controller Area Network)中,通信速度(比特率)和資料長度不夠。是以,需要能夠高速發送更多資料的車載網絡。
是以,開發CAN的博世(Robert Bosch)于2012年以擴充CAN的形式釋出了CAN FD(CAN With Flexible Data Rate)的規格。在與CAN FD相關的形式下,2015年制定了ISO11898-1:2015作為定義CAN資料鍊路層的ISO11898-1的修訂版,2016年制定了ISO11898-2:2016,其中包括低功耗模式和喚醒規範,作為定義CAN實體層的ISO11898-2的修訂版。
CAN FD用例
ECU軟體的膨脹增加了處理器的ROM容量。在開發ECU時,需要将軟體寫入ROM,但在此之前,它是通過CAN通信完成的。然而,CAN需要很長的時間來重寫大容量的軟體。是以,正在考慮采用更快的CAN FD。
此外,當CAN總線負載增加,延遲時間增加或帶寬不足時,通過劃分網絡來解決帶寬不足。替換為CAN FD消除了帶寬不足,是以不需要對網絡進行劃分。
此外,作為網絡安全措施,汽車制造商正在考慮采用AUTOSAR規定的基于SecOC(安全board Communication)的消息認證,并考慮采用一次發送更多資料的CAN FD。
除了替換現有的CAN網絡之外,還考慮在新應用和其他網絡中使用,包括進階安全駕駛輔助系統和傳感器網絡的一部分。
CAN FD概要
CAN FD是一種通信協定,可擴充CAN協定并快速傳輸更多資料。CAN在仲裁來自多個節點的通信的仲裁階段和發送資料的資料階段具有相同的比特率。同時,CAN FD可以在仲裁階段和資料階段設定為不同的比特率。這就是CAN FD(Flexible Data Rate)的由來。
資料階段的最大比特率沒有明确規定,在很大程度上取決于網絡拓撲和ECM要求。ISO 11898-2:2016規定了5 Mbps的定時要求。汽車制造商正在考慮根據應用和網絡拓撲結構以不同組合的比特率使用。
例如,在診斷和重程式設計應用中,資料階段的比特率可能為5 Mbps,控制系統的比特率為500 kbps至2 Mbps。另外,CAN FD可以在一個資料幀中發送最多64位元組的資料(稍後将讨論協定的詳細資訊)。
用于星型、總線類型、點對點等網絡拓撲。
CAN FD協定
幀類型
CAN FD僅定義資料幀,而沒有由CAN定義的遠端幀。這是因為沒有資料區的遠端幀不需要切換資料階段的比特率。
資料幀和CAN一樣,有“标準格式(11位ID)”和“擴充格式(29位ID)”兩種形式。加快BRS(Bit Rate Switch)位到CRC Delimiter位之間的比特率。
CAN FD幀結構
CAN FD幀由開始幀(SOF)和7個比特區域組成:仲裁區域、控制區域、資料區域、CRC區域、ACK區域和結束幀(EOF)。
SOF(Start of Frame)
當從節點發送幀時,第一個發送的部分處于顯性狀态,以表示幀的“開始”。這一部分稱為“SOF(Start Of Frame)”。SOF和CAN一樣,是1位“顯性”位。通過SOF從總線空閑的中繼(1)變為顯式(0),接收節點可以進行同步。SOF的定義在CAN FD和CAN中是相同的。

仲裁領域
CAN FD的仲裁區域由Identifier和RRS(Remote Request Substitution)位組成。Identifier與CAN一樣,用于識别資料内容和傳輸節點,并用于确定通信仲裁的優先級。CAN上使用的RTR(Remote Transmission Request)位已被RRS替換。
RRS位(Remote Request Substitution)
CAN FD沒有遠端幀,是以RRS位固定為顯式。
控制領域
CAN FD的控制區域由IDE(Identifier Extension Bit)位、FDF(FD Format Indicator)位、res位、BRS(Bit Rate Switch)位、ESI(Error State Indicator)位構成。CAN FD新增了FDF位、BRS位和ESI位。IDE位與CAN一樣,是表示标準幀或擴充幀的标志,res位是保留位。
FDF(FD Format Indicator)
如果FDF位是顯式的,則是CAN的資料幀,而對于恢複,則是CAN FD的幀。
BRS(Bit Rate Switch)
如果BRS位為恢複,則意味着傳輸節點在BRS位采樣點切換到傳輸速率較快的時鐘模式。
響應的所有接收節點也必須切換時鐘模式。CRC Delimiter采樣點的所有節點都傳回仲裁階段的波特率。
也就是說,所有CAN FD節點都有兩種波特率。
ESI(Error State Indicator)
ESI是表示發送節點的錯誤狀态的标志,在發送節點的錯誤狀态為Error Passive的情況下為遺留,在Error Active的情況下為顯性。ESI位允許所有節點檢查目前發送節點的錯誤狀态。CAN幀沒有方法來通知發送節點的錯誤狀态。
資料長度代碼(DLC:資料長度代碼)
DLC表示要發送多少位元組的資料。CAN和CAN FD均為4位配置。對于CAN FD,您可以發送最多64位元組的資料。您可以選擇0到8、12、16、20、24、32、48和64位元組的資料長度。CAN為0-8位元組。不能指定除此處描述的資料長度以外的資料長度,例如14位元組或50位元組。
![]()
下一代車載網絡CAN FDCAN FD導入背景和标準化CAN FD用例CAN FD概要CAN FD協定
資料領域
與CAN一樣,在資料區中設定傳輸資料。從最高有效位(MSB)發送DLC中指定的值的數量資料。
CRC領域
CRC區域的變化是以下5點:
- 添加Stuff Count
- CRC的計算方法
- CRC的位長
- 位填充規則
- CRC Delimiter在接收方的允許位時間
CRC區域中添加了新的Stuff Count,CRC需要17位或21位。在這裡,我們将讨論添加的Stuff計數和更改CRC的計算、位填充規則和CRC Delimiter的更改。
Stuff Count(CAN FD)Stuff Count由以下兩個元素組成:![]()
下一代車載網絡CAN FDCAN FD導入背景和标準化CAN FD用例CAN FD概要CAN FD協定
- CRC區域之前的填充比特數除以8的餘數(Stuff Bit Count Modulo8)格雷碼化值(Bit0-2)
格雷碼化值的奇偶校驗(偶數奇偶校驗)
Stuff Count編碼為下表
![]()
下一代車載網絡CAN FDCAN FD導入背景和标準化CAN FD用例CAN FD概要CAN FD協定
CRC
為了保持傳輸品質随着資料區域的增加,計算CAN FD CRC,包括SOF到資料區域的位,以及Stuff Count和塞入位。接收節點通過比較CRC的計算結果來确定是否成功接收。
CAN為15位,而CAN FD的CRC位數如下:
如果傳輸資料小于16位元組,則CRC 17位。
發送資料超過16位元組時:CRC 21位
位填充規則
與CAN一樣,填充比特從SOF插入到資料區域的末端。插入的從業人員位的數量受到格雷碼和奇偶校驗位的保護(Stuff Count)。
在CRC區域中,将填充比特放置在固定比特位置,稱為固定填充比特(Fixed Stuff Bit)。固定塞位的值與前一位的值相反(Stuff Count和前後都有固定塞位)。
- CRC區域的開頭
- 4位間隔的固定塞位
![]()
下一代車載網絡CAN FDCAN FD導入背景和标準化CAN FD用例CAN FD概要CAN FD協定
CRC Delimiter
CRC Delimiter始終以1位重複發送表示CRC結束的分隔符。但是,在CAN FD的情況下,考慮到節點之間的相位偏差,接收方最多允許2位時間。CAN FD幀的資料區域(可加速區域)是CRC Delimiter的第一個1位采樣點。
ACK領域
CAN FD的ACK區域與CAN一樣,由ACK和ACK Delimiter組成。CAN的ACK為1位時間,而CAN FD的接收節點将其識别為有效的ACK,最多可達2位時間。
額外的1位時間用于補充從高速資料區域到低速仲裁區域的時鐘切換時發生的收發器相移和總線傳播延遲。ACK後,發送ACK Delimiter。這是一個表示ACK結束的分隔符,是一個1位的後繼。
EOF(End of Frame)
在資料幀的末尾,發送“EOF(End Of Frame)”,與CAN一樣,EOF是7位長度的Rissey。