0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CAN FD網(wǎng)絡(luò)中每秒最多可以發(fā)送多少幀報(bào)文?

jf_Vqngj70R ? 來源:美男子玩編程 ? 2023-06-16 12:21 ? 次閱讀

隨著總線技術(shù)汽車電子領(lǐng)域越來越廣泛和深入的應(yīng)用,特別是自動(dòng)駕駛技術(shù)的迅速發(fā)展,汽車電子對(duì)總線寬度和數(shù)據(jù)傳輸速率的要求也越來也高,傳統(tǒng)CAN(1MBit/s,8Bytes?Payload)已難以滿足日益增加的需求。

因此在2012年,Bosch發(fā)布了新的CAN FD標(biāo)準(zhǔn) (CAN with Flexible Data Rate) ,CAN FD繼承了CAN的絕大多數(shù)特性,如同樣的物理層,雙線串行通信協(xié)議,基于非破壞性仲裁技術(shù),分布式實(shí)時(shí)控制,可靠的錯(cuò)誤處理和檢測(cè)機(jī)制等,同時(shí)CAN FD彌補(bǔ)了CAN在總線帶寬和數(shù)據(jù)長度方面的不足。

2015年6月30日,國際標(biāo)準(zhǔn)化組織(ISO)已經(jīng)正式認(rèn)可CAN?FD,并無反對(duì)票通過ISO 11898-1作為國際標(biāo)準(zhǔn)草案。

1什么是CAN FD?

CAN FD協(xié)議是由Bosch以及行業(yè)專家預(yù)研開發(fā)的,并于2012年發(fā)布。通過標(biāo)準(zhǔn)化對(duì)其進(jìn)行了改進(jìn),現(xiàn)已納入ISO 11898-1:2015。一開始的Bosch CAN FD版本(非ISO CAN FD)與ISO CAN FD是不兼容。

CAN FD具有以下4個(gè)主要優(yōu)點(diǎn):

1、增加了數(shù)據(jù)的長度

CAN FD每個(gè)數(shù)據(jù)幀最多支持64個(gè)數(shù)據(jù)字節(jié),而傳統(tǒng)CAN最多支持8個(gè)數(shù)據(jù)字節(jié)。這減少了協(xié)議開銷,并提高了協(xié)議效率。

2、增加傳輸?shù)乃俣?/p>

CAN FD支持雙比特率:與傳統(tǒng)CAN一樣,標(biāo)稱(仲裁)比特率限制為1 Mbit/s,而數(shù)據(jù)比特率則取決于網(wǎng)絡(luò)拓?fù)?收發(fā)器。實(shí)際上,可以實(shí)現(xiàn)高達(dá)5 Mbit/s的數(shù)據(jù)比特率。

3、更好的可靠性

CAN FD使用改進(jìn)的循環(huán)冗余校驗(yàn)(CRC)和“受保護(hù)的填充位計(jì)數(shù)器”,從而降低了未被檢測(cè)到的錯(cuò)誤的風(fēng)險(xiǎn)。這在汽車和工業(yè)自動(dòng)化等安全攸關(guān)的應(yīng)用中至關(guān)重要。

4、平滑過渡

在一些特定的情況下CAN FD能用在僅使用傳統(tǒng)CAN的ECU上,這樣就可以逐步引入CAN FD節(jié)點(diǎn),從而為OEM簡化程序和降低成本。

實(shí)際上,與傳統(tǒng)CAN相比,CAN FD可以將網(wǎng)絡(luò)帶寬提高3到8倍,從而為數(shù)據(jù)的增長提供了一種簡單的解決方案。

2CAN FD幀結(jié)構(gòu)

CAN FD節(jié)點(diǎn)可以正常收、發(fā)CAN報(bào)文,但CAN節(jié)點(diǎn)不能正確收、發(fā)CAN FD報(bào)文,因?yàn)槠鋷袷讲灰恢隆?/p>

0bd76462-0bfb-11ee-962d-dac502259ad0.png

與CAN一樣,CAN FD一共具有:幀起始,仲裁段,控制段,數(shù)據(jù)段,CRC段,ACK段和幀結(jié)束,7部分組成。

2.1、幀起始

CAN與CANFD使用相同的SOF標(biāo)志位來標(biāo)志報(bào)文的起始。幀起始由1個(gè)顯性位構(gòu)成,標(biāo)志著報(bào)文的開始,并在總線上起著同步作用。

0beab1e8-0bfb-11ee-962d-dac502259ad0.png

2.2、仲裁段

與CAN不同,CAN FD取消了對(duì)遠(yuǎn)程幀的支持,用RRS位替換了RTR位,為常顯性。IDE用于區(qū)分標(biāo)準(zhǔn)幀和擴(kuò)展幀。

0c108210-0bfb-11ee-962d-dac502259ad0.png

標(biāo)準(zhǔn)幀仲裁段由11位ID和r1位(顯性)、IDE(顯性)組成,總共13位。

擴(kuò)展幀仲裁段由29位ID和SRR(隱性)、IDE(隱性)、r1位(顯性)組成,總共32位。

SRR:替代CAN標(biāo)準(zhǔn)幀中的RTR位;

IDE:擴(kuò)展幀標(biāo)志位;

r1:保留位,為顯性。

2.3、控制段

CAN FD與CAN有著相同的IDE、res和DLC位,同時(shí)增加了FDF、BRS、ESI三個(gè)bit位。

FDF 位(Flexible Data Rate Format):原 CAN 數(shù)據(jù)幀中的保留位 r。表示 CAN 報(bào)文還是 CAN-FD 報(bào)文,F(xiàn)DF 位常為隱性(1),表示 CAN FD 報(bào)文;

BRS 位( Bit Rate Switch):表示位速率轉(zhuǎn)換,當(dāng) BRS 為顯性位(0)時(shí)數(shù)據(jù)段的位速率與仲裁段的位速率一致(恒定速率),當(dāng) BRS 為隱性位(1)時(shí)速率可變(即 BSR 到 CRC 使用轉(zhuǎn)換速率傳輸);

ESI 位(Error State Indicator):發(fā)送節(jié)點(diǎn)錯(cuò)誤狀態(tài)指示,主動(dòng)錯(cuò)誤時(shí)發(fā)送顯性位(0),被動(dòng)錯(cuò)誤時(shí)發(fā)送隱性位(1)。

0c3c7d66-0bfb-11ee-962d-dac502259ad0.jpg

2.4、數(shù)據(jù)段

CAN FD兼容CAN的數(shù)據(jù)格式,同時(shí)最大還能支持:12、16、 20、 24、 32、 48和64byte。

像在傳統(tǒng)CAN中一樣,CAN FD DLC是4位,表示幀中數(shù)據(jù)字節(jié)的數(shù)量。為了維持4位DLC,CAN FD使用從9到15的其余7個(gè)值來表示所使用的數(shù)據(jù)字節(jié)數(shù)(12、16、20、24、32、48、64)。

0c4de222-0bfb-11ee-962d-dac502259ad0.png

編輯

0c600e98-0bfb-11ee-962d-dac502259ad0.png

2.5、CRC段

傳統(tǒng)CAN中的循環(huán)冗余校驗(yàn)(CRC)為15位,而在CAN FD中由固定填充位FSB(6/7位)、填充位計(jì)數(shù)(4位)、CRC(17/21位)和CRC界定符(1位)組成,總共28或33位組成。在傳統(tǒng)CAN中,CRC中可以包含0到3個(gè)填充位,而在CAN FD中,總是有4個(gè)固定填充位以提高通信可靠性。

0c7f6608-0bfb-11ee-962d-dac502259ad0.png

固定填充位(FSB):CRC段中每4個(gè)位固定填充一個(gè)與上位相反的位。

采用CRC17時(shí),F(xiàn)SB為6個(gè)位;

采用CRC21時(shí),F(xiàn)SB為7個(gè)位。

填充位計(jì)數(shù):由填充位計(jì)數(shù)(3位)和奇偶校驗(yàn)位(1位)組成。

CRC:

報(bào)文長度小于16時(shí),采用CRC17,17位組成;

報(bào)文長度大于16時(shí),采用CRC21,21位組成。

CRC界定符:固定為隱性位;從該位采樣后,切換為仲裁域波特率。

0ca630ee-0bfb-11ee-962d-dac502259ad0.png

2.6、ACK段

ACK緊跟著CRC結(jié)束標(biāo)識(shí)位。不同的是,CAN FD支持2bits的ACK的識(shí)別,由ACK位和ACK界定符位組成。

ACK:接收節(jié)點(diǎn)應(yīng)答位,接收節(jié)點(diǎn)應(yīng)應(yīng)答顯性位;

ACK界定符,固定為隱性。

0cb573b0-0bfb-11ee-962d-dac502259ad0.png

2.7、幀結(jié)束

與CAN一樣,CAN FD的幀結(jié)尾也為連續(xù)7位的隱性位。

3一幀CAN FD報(bào)文位數(shù)

根據(jù)CAN FD幀結(jié)構(gòu)組成,可以算出一幀CAN FD報(bào)文位數(shù):

CAN FD報(bào)文位數(shù)=幀起始(1位)+仲裁段(13/32位)+控制段(8位)+數(shù)據(jù)段(0~512位)+CRC段(28/33位)+ACK段(2位)+幀結(jié)束(7位)

影響報(bào)文位數(shù)主要為仲裁段(幀ID長度)和數(shù)據(jù)段(CRC段受數(shù)據(jù)段長度影響)。通過幀類型、幀長度組合出不同情況報(bào)文位數(shù):

標(biāo)準(zhǔn)幀,數(shù)據(jù)0字節(jié)

幀起始(1位)+仲裁段(13位)+控制段(8位)+數(shù)據(jù)段(0位)+CRC段(28位)+ACK段(2位)+幀結(jié)束(7位)=59位

標(biāo)準(zhǔn)幀,數(shù)據(jù)64字節(jié)

幀起始(1位)+仲裁段(13位)+控制段(8位)+數(shù)據(jù)段(512位)+CRC段(33位)+ACK段(2位)+幀結(jié)束(7位)=576位

擴(kuò)展幀,數(shù)據(jù)0字節(jié)

幀起始(1位)+仲裁段(32位)+控制段(8位)+數(shù)據(jù)段(0位)+CRC段(28位)+ACK段(2位)+幀結(jié)束(7位)=78位

擴(kuò)展幀,數(shù)據(jù)64字節(jié)

幀起始(1位)+仲裁段(13位)+控制段(8位)+數(shù)據(jù)段(512位)+CRC段(33位)+ACK段(2位)+幀結(jié)束(7位)=590位

4精品專欄仲裁域和數(shù)據(jù)域位數(shù)

由于CANFD采用了雙波特率形式:標(biāo)準(zhǔn)波特率(也稱仲裁域波特率)和數(shù)據(jù)域波特率,所以幀結(jié)構(gòu)中不同段采用的波特率也不同。

仲裁域波特率所占位數(shù)幀起始(1位)+仲裁段(13位)+控制段的EDL、r0、BRS(3位)+ACK段(2位)+幀結(jié)束(7位)

數(shù)據(jù)域波特率所占位數(shù)控制段的ESI、DLC(5位)+數(shù)據(jù)段(0~512位)+CRC段(28/33位)

主要說明的是,BRS位和CRC界定符位均同時(shí)使用了兩個(gè)波特率

BRS位:由**仲裁域波特率*仲裁域采樣點(diǎn)+數(shù)據(jù)域波特率*(1 -仲裁域采樣點(diǎn))**組成;

CRC界定符:由**數(shù)據(jù)域波特率*數(shù)據(jù)域采樣點(diǎn)+仲裁域波特率*(1 -數(shù)據(jù)域采樣點(diǎn))**組成。

此處將BRS認(rèn)定采用仲裁域波特率、CRC界定符采用數(shù)據(jù)域波特率以方便計(jì)算。

5位填充

當(dāng)然,上述報(bào)文位數(shù)中,還未包含填充位個(gè)數(shù)。在CAN/CAN FD協(xié)議中規(guī)定:每5個(gè)相同的位就必須填充一個(gè)相反位,該位即為填充位。

我們知道字節(jié)0x55或0xAA,其二進(jìn)制分別為0101 0101或1010 1010,也就是每個(gè)位與上一位均相反,若此時(shí)ID和數(shù)據(jù)均為0x55或0xAA,則可以使填充位個(gè)數(shù)最少。

同理,字節(jié)0xFF或0x00,其二進(jìn)制位1111 1111或00000000,也就是所有位均一致,若此時(shí)ID和數(shù)據(jù)均為0x00或0xFF,此時(shí)報(bào)文的填充位個(gè)數(shù)最多。

6不同類型報(bào)文位數(shù)

基于以上報(bào)文位數(shù)的計(jì)算,我們可以得出算出不同類型報(bào)文所占位數(shù),如下表所示:

0ccf1752-0bfb-11ee-962d-dac502259ad0.png

從上表可知:

當(dāng)報(bào)文為CAN FD標(biāo)準(zhǔn)幀ID為0x555,數(shù)據(jù)長度為0時(shí),報(bào)文位數(shù)最少,為59位;

當(dāng)報(bào)文為CAN FD擴(kuò)展幀ID為0x0,數(shù)據(jù)長度為64字節(jié),數(shù)據(jù)全為0xFF時(shí),報(bào)文位數(shù)最多,為703位。

7CAN FD報(bào)文時(shí)間計(jì)算

最后,可以根據(jù)波特率算出不同類型報(bào)文時(shí)間了,計(jì)算公式如下:

報(bào)文時(shí)間=仲裁域位時(shí)間*仲裁域位數(shù)+數(shù)據(jù)域位時(shí)間*數(shù)據(jù)域位數(shù)

以位數(shù)最少的CANFD報(bào)文為例,在仲裁域波特率為1Mbps(位時(shí)間1us),數(shù)據(jù)域波特率為5Mbps(位時(shí)間200ns)時(shí),其報(bào)文時(shí)間= 1us * 26 + 33 * 200ns = 32.6us。

那么一秒鐘最多可以發(fā)送報(bào)文呢?由于報(bào)文發(fā)送成功后,需經(jīng)過幀間隔(3個(gè)位)后才能發(fā)送下一幀報(bào)文,也就說仲裁段要在原來基礎(chǔ)上加3個(gè)位,就可以算出每秒發(fā)送多少幀了。那么上述位數(shù)最少報(bào)文的發(fā)送時(shí)間耗時(shí)= 1us *(26 + 3)+ 33 * 200ns = 35.6us,也就是1秒鐘最多可以發(fā)送1000000us / 35.6us = 28089幀報(bào)文。也就是說,1M/5M波特率下,發(fā)送CAN FD標(biāo)準(zhǔn)加速幀,最多可以發(fā)送28089幀。

下面我們給出一些常用波特率下,不同類型報(bào)文每秒最多可以發(fā)送的CANFD報(bào)文幀數(shù)(下表中報(bào)文BRS位為1,ESI位為0),供大家參考。

0d08577e-0bfb-11ee-962d-dac502259ad0.png

0d3432a4-0bfb-11ee-962d-dac502259ad0.png

0d60ab40-0bfb-11ee-962d-dac502259ad0.png

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 總線技術(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    80

    瀏覽量

    40765
  • 通信協(xié)議
    +關(guān)注

    關(guān)注

    28

    文章

    884

    瀏覽量

    40311
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    57

    文章

    2754

    瀏覽量

    463729
  • 網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    14

    文章

    7568

    瀏覽量

    88796
  • ecu
    ecu
    +關(guān)注

    關(guān)注

    14

    文章

    886

    瀏覽量

    54508

原文標(biāo)題:CAN FD網(wǎng)絡(luò)中每秒最多可以發(fā)送多少幀報(bào)文?

文章出處:【微信號(hào):美男子玩編程,微信公眾號(hào):美男子玩編程】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    淺談CAN FD總線協(xié)議格式

    假期更新了一文搞懂CAN總線協(xié)議格式,CAN FD總線協(xié)議怎能錯(cuò)過?本篇博文將講解CAN FD
    發(fā)表于 10-14 12:49 ?3452次閱讀
    淺談<b class='flag-5'>CAN</b> <b class='flag-5'>FD</b>總線協(xié)議<b class='flag-5'>幀</b>格式

    關(guān)于CAN FD RX接收和接受過濾過程遇到的疑問求解

    過濾起作用嗎? 4.能否按程序說明在接收 CAN FD RX 時(shí),接受過濾過程是如何運(yùn)行的? 5.請(qǐng)?jiān)敿?xì)描述從接收 CAN
    發(fā)表于 05-22 06:38

    關(guān)于CAN發(fā)送的問題

    現(xiàn)在我的設(shè)備需要發(fā)送3共24個(gè)字節(jié)的數(shù)據(jù)給上位機(jī),但是在上位機(jī)的通訊要求只給了一個(gè)報(bào)文ID 0X1FD08063,我以前只試過用三個(gè)
    發(fā)表于 12-19 16:42

    如何穩(wěn)定地升級(jí)到CAN FD呢?本文為您解答

    CAN控制器、收發(fā)器均支持CAN FD通訊。所以當(dāng)CAN網(wǎng)絡(luò)某些節(jié)點(diǎn)升級(jí)為
    發(fā)表于 05-29 17:45

    CAN報(bào)文定義

    1. CAN報(bào)文定義CAN報(bào)文是指發(fā)送單元向接受單元傳送數(shù)據(jù)的。我們通常所說的
    發(fā)表于 09-14 09:23

    CAN報(bào)文的單次發(fā)送和循環(huán)發(fā)送問題請(qǐng)教

    CAN報(bào)文怎樣設(shè)置單次發(fā)送和循環(huán)發(fā)送?類似圖片可以單次發(fā)送
    發(fā)表于 10-26 11:54

    一文淺析汽車CAN-FD總線的通信應(yīng)用

    接收到的多個(gè) CAN 報(bào)文打包到一個(gè) CAN-FD 報(bào)文中進(jìn)行發(fā)送,為保證報(bào)文矩陣的可擴(kuò)展性和打
    發(fā)表于 02-14 14:22

    可以混合使用Classical CAN格式和CAN FD格式的診斷報(bào)文嗎?

    Unexpected N_PDU的處理只適用于相同N_AI的診斷報(bào)文。Classical CANCAN FD的N_AI本就不同,所以,互不干擾,
    發(fā)表于 12-05 10:06 ?1370次閱讀

    CANFD每秒最多可以發(fā)送多少報(bào)文

    我們知道CANFD比CAN擁有更長的數(shù)據(jù)長度(最長64字節(jié)),更高的波特率(8Mbps甚至更高)。
    的頭像 發(fā)表于 05-25 09:21 ?1380次閱讀
    CANFD<b class='flag-5'>每秒</b><b class='flag-5'>最多</b><b class='flag-5'>可以</b><b class='flag-5'>發(fā)送</b>多少<b class='flag-5'>幀</b><b class='flag-5'>報(bào)文</b>?

    【Z站推薦】CANFD每秒最多可以發(fā)送多少報(bào)文

    我們知道CANFD比CAN擁有更長的數(shù)據(jù)長度(最長64字節(jié)),更高的波特率(8Mbps甚至更高)。那么波特率更高,數(shù)據(jù)更長的CANFD,一秒鐘最高可以發(fā)送多少CANFD
    的頭像 發(fā)表于 07-29 09:34 ?1822次閱讀
    【Z站推薦】CANFD<b class='flag-5'>每秒</b><b class='flag-5'>最多</b><b class='flag-5'>可以</b><b class='flag-5'>發(fā)送</b>多少<b class='flag-5'>幀</b><b class='flag-5'>報(bào)文</b>?

    CAN FD結(jié)構(gòu)介紹

    CAN FD結(jié)構(gòu) CAN FD節(jié)點(diǎn)可以正常收、發(fā)CAN
    的頭像 發(fā)表于 07-18 10:42 ?7641次閱讀
    <b class='flag-5'>CAN</b> <b class='flag-5'>FD</b><b class='flag-5'>幀</b>結(jié)構(gòu)介紹

    CAN報(bào)文多少字節(jié)

    CAN FD報(bào)文位數(shù) 根據(jù)CAN FD結(jié)構(gòu)組成
    的頭像 發(fā)表于 07-18 10:48 ?7918次閱讀

    CAN FD報(bào)文時(shí)間計(jì)算

    1us),數(shù)據(jù)域波特率為5Mbps(位時(shí)間200ns)時(shí),其報(bào)文時(shí)間 = 1us * 26 + 33 * 200ns = 32.6us。 那么一秒鐘最多可以發(fā)送報(bào)文呢?由于
    的頭像 發(fā)表于 07-18 10:49 ?3070次閱讀
    <b class='flag-5'>CAN</b> <b class='flag-5'>FD</b><b class='flag-5'>報(bào)文</b>時(shí)間計(jì)算

    經(jīng)典CAN網(wǎng)絡(luò)加入CAN FD節(jié)點(diǎn)需要注意什么?

    目前,整車的網(wǎng)絡(luò)拓?fù)?b class='flag-5'>中,CAN FD的使用已經(jīng)非常普遍。當(dāng)然,帶來的問題也非常的多。CAN FD
    的頭像 發(fā)表于 08-22 09:11 ?1724次閱讀
    經(jīng)典<b class='flag-5'>CAN</b><b class='flag-5'>網(wǎng)絡(luò)</b>加入<b class='flag-5'>CAN</b> <b class='flag-5'>FD</b>節(jié)點(diǎn)需要注意什么?

    CAN報(bào)文為什么會(huì)發(fā)送失?。?/a>

    CAN總線調(diào)試過程中出現(xiàn)報(bào)文發(fā)送失敗。很多工程師都對(duì)此只知其一不知其二,今天我們就以CAN報(bào)文發(fā)送
    的頭像 發(fā)表于 04-12 08:25 ?2115次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>報(bào)文</b>為什么會(huì)<b class='flag-5'>發(fā)送</b>失?。? />    </a>
</div>                </div>            </div><!-- .main-wrap -->
        </article>

        <aside class=

    推薦專欄

    更多