日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          "); //-->

          博客專欄

          EEPW首頁 > 博客 > CAN FD網(wǎng)絡(luò)中每秒最多可以發(fā)送多少幀報文?

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

          發(fā)布人:美男子玩編程 時間:2023-06-21 來源:工程師 發(fā)布文章

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

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

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

          1

          什么是CAN FD?

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

          CAN FD具有以下4個主要優(yōu)點:

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

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

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

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

          3、更好的可靠性

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

          4、平滑過渡

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

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

          2

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

          CAN FD節(jié)點可以正常收、發(fā)CAN報文,但CAN節(jié)點不能正確收、發(fā)CAN FD報文,因為其幀格式不一致。


          圖片


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

          2.1、幀起始

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


          圖片


          2.2、仲裁段

          與CAN不同,CAN FD取消了對遠程幀的支持,用RRS位替換了RTR位,為常顯性。IDE用于區(qū)分標準幀和擴展幀。

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

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

          • SRR:替代CAN標準幀中的RTR位;

          • IDE:擴展幀標志位;

          • r1:保留位,為顯性。

          2.3、控制段

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

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

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

          • ESI 位(Error State Indicator):發(fā)送節(jié)點錯誤狀態(tài)指示,主動錯誤時發(fā)送顯性位(0),被動錯誤時發(fā)送隱性位(1)。


          圖片


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

          CAN FD兼容CAN的數(shù)據(jù)格式,同時最大還能支持: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個值來表示所使用的數(shù)據(jù)字節(jié)數(shù)(12、16、20、24、32、48、64)。 


          圖片


          編輯


          圖片


          2.5、CRC段

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

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

          • 采用CRC17時,F(xiàn)SB為6個位;

          • 采用CRC21時,F(xiàn)SB為7個位。

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

          CRC:

          • 報文長度小于16時,采用CRC17,17位組成;

          • 報文長度大于16時,采用CRC21,21位組成。

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

          2.6、ACK段

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

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

          • ACK界定符,固定為隱性。


          圖片


          2.7、幀結(jié)束

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

          3

          一幀CAN FD報文位數(shù)

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

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

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

          • 標準幀,數(shù)據(jù)0字節(jié)

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

          • 標準幀,數(shù)據(jù)64字節(jié)

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

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

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

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

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

          4

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

          由于CANFD采用了雙波特率形式:標準波特率(也稱仲裁域波特率)和數(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界定符位均同時使用了兩個波特率

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

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

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

          5

          位填充

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

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

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

          6

          不同類型報文位數(shù)

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


          圖片


          從上表可知:

          • 當報文為CAN FD標準幀ID為0x555,數(shù)據(jù)長度為0時,報文位數(shù)最少,為59位;

          • 當報文為CAN FD擴展幀ID為0x0,數(shù)據(jù)長度為64字節(jié),數(shù)據(jù)全為0xFF時,報文位數(shù)最多,為703位。

          7

          CAN FD報文時間計算

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

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

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

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

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


          圖片



          圖片



          圖片



          *博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



          關(guān)鍵詞: CAN 幀報文

          技術(shù)專區(qū)

          關(guān)閉