吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【Z站推薦】CANFD每秒最多可以發送多少幀報文?

ZLG致遠電子 ? 2022-07-29 09:34 ? 次閱讀

我們知道CANFD比CAN擁有更長的數據長度(最長64字節),更高的波特率(8Mbps甚至更高)。那么波特率更高,數據更長的CANFD,一秒鐘最高可以發送多少幀CANFD報文呢?

我們知道CANFD比CAN擁有更長的數據長度(最長64字節),更高的波特率(8Mbps甚至更高)。那么波特率更高,數據更長的CANFD,一秒鐘最高可以發送多少幀CANFD報文呢?

要想知道問題的答案,那么我們就要知道一幀CANFD報文由多少個位組成,再由具體波特率算出報文時間,最后就可以得出每秒能發送的幀數了。接下來,我們就一步步來算出答案。要想知道CANFD報文由多少個位組成,那么我們就要了解CANFD幀結構,知道每個段占用位數從而得出CANFD報文位數。

e171443a-0ecc-11ed-9ade-dac502259ad0.jpg 幀結構

e1778be2-0ecc-11ed-9ade-dac502259ad0.png

如上圖所示,分別為CANFD標準幀和擴展幀,其組成如下:

1. 幀起始:起始信號,由1個顯性位組成。2. 仲裁段:

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

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

IDE:擴展幀標志位;

r1:保留位,為顯性;

3. 控制段:由EDL、r0、BRS、ESI、DLC總共8個位組成。

  • EDL:CANFD幀標識,為隱性;
  • r0:保留位,為顯性;
  • BRS:位速率切換,該位顯性則仍采用仲裁域波特率;該位為隱性,則該位發送到采樣點后,采用數據域波特率;
  • ESI:錯誤狀態指示位,指示發送節點為主動錯誤狀態(顯性),還是被動錯誤狀態(隱性);

DLC:數據段長度指示,4個位組成。

4. 數據段:0~64字節,也就是0~512個位。5. CRC段:由固定填充位FSB(6/7位)、填充位計數(4位)、CRC(17/21位)CRC界定符(1位)組成,總共28或33位組成。e18bc9d6-0ecc-11ed-9ade-dac502259ad0.png6. 固定填充位(FSB):CRC段中每4個位固定填充一個與上位相反的位。

采用CRC17時,FSB為6個位;

采用CRC21時,FSB為7個位;

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

8. CRC:

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

9. CRC界定符:固定為隱性位;從該位采樣后,切換為仲裁域波特率。10. ACK段:由ACK位和ACK界定符位組成,總共2位。

ACK:接收節點應答位,接收節點應應答顯性位;

ACK界定符,固定為隱性;

11. 幀結束:固定為7個隱性位。
12. 幀間隔:每次發送一幀報文后,需留3位時間作為幀間隔。


e171443a-0ecc-11ed-9ade-dac502259ad0.jpg 一幀CANFD報文位數

知道CANFD幀結構組成后,我們可以算出:CANFD報文位數=幀起始(1位)+仲裁段(13/32位)+控制段(8位)+數據段(0~512位)+CRC段(28/33位)+ACK段(2位)+幀結束(7位)從上述公式中可以看出,影響報文位數主要為仲裁段(幀ID長度)和數據段(CRC段受數據段長度影響)。那么我們通過幀類型、幀長度組合出不同情況報文位數:

標準幀,數據0字節:

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

標準幀,數據64字節:

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

擴展幀,數據0字節:

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

擴展幀,數據64字節:

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


e171443a-0ecc-11ed-9ade-dac502259ad0.jpg 仲裁域和數據域所占報文位數

由于CANFD采用了雙波特率形式:標準波特率(也稱仲裁域波特率)和數據域波特率,所以幀結構中不同段采用的波特率也不同。

仲裁域波特率所占位數:

幀起始(1位)+仲裁段(13位)+控制段的EDL、r0、BRS(3位)+ACK段(2位)+幀結束(7位)

  • 數據域波特率所占位數:

控制段的ESI、DLC(5位)+數據段(0~512位)+CRC段(28/33位)

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

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

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

我們此處將BRS認定采用仲裁域波特率、CRC界定符采用數據域波特率以方便計算。

e171443a-0ecc-11ed-9ade-dac502259ad0.jpg 位填充

當然,上述報文位數中,還未包含填充位個數。在CAN/CANFD協議中規定:每5個相同的位就必須填充一個相反位,該位即為填充位。我們知道字節0x55或0xAA,其二進制分別為0101 0101或1010 1010,也就是每個位與上一位均相反,若此時ID和數據均為0x55或0xAA,則可以使填充位個數最少。同理,字節0xFF或0x00,其二進制位1111 1111或00000000,也就是所有位均一致,若此時ID和數據均為0x00或0xFF,此時報文的填充位個數最多。

e171443a-0ecc-11ed-9ade-dac502259ad0.jpg 不同類型報文所占位數

基于以上報文位數的計算,我們可以得出算出不同類型報文所占位數,如下表所示。e1d62bfc-0ecc-11ed-9ade-dac502259ad0.png從上表可知:當報文為CANFD標準幀ID為0x555,數據長度為0時,報文位數最少,為59位。當報文為CANFD擴展幀ID為0x0,數據長度為64字節,數據全為0xFF時,報文位數最多,為703位。

e171443a-0ecc-11ed-9ade-dac502259ad0.jpg CANFD報文時間計算

最后,我們就可以根據波特率算出不同類型報文時間了,計算公式如下:報文時間=仲裁域位時間*仲裁域位數+數據域位時間*數據域位數我們以位數最少的CANFD報文為例,在仲裁域波特率為1Mbps(位時間1us),數據域波特率為5Mbps(位時間200ns)時,其報文時間= 1us * 26 + 33 * 200ns = 32.6us。那么一秒鐘最多可以發送報文呢?由于報文發送成功后,需經過幀間隔(3個位)后才能發送下一幀報文,也就說仲裁段要在原來基礎上加3個位,就可以算出每秒發送多少幀了。那么上述位數最少報文的發送時間耗時= 1us *(26 + 3)+ 33 * 200ns = 35.6us,也就是1秒鐘最多可以發送1000000us / 35.6us = 28089幀報文。也就是說,1M/5M波特率下,發送CANFD標準加速幀,最多可以發送28089幀。

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

500K/2M波特率

e1fb7416-0ecc-11ed-9ade-dac502259ad0.png1M/5M波特率

e20a508a-0ecc-11ed-9ade-dac502259ad0.png

1M/8M波特率

e215f296-0ecc-11ed-9ade-dac502259ad0.png

e171443a-0ecc-11ed-9ade-dac502259ad0.jpg 高性能CANFD接口

既然CANFD每秒最多可以發送28000幀報文(1M/5Mbps),那么什么樣的設備可以能擁有如此高性能的收發能力呢?答案就是,致遠電子最新發布八通道CANFD卡——USBCANFD-800U。USBCANFD-800U采用創新型的ARM+FPGA架構,使得多路CANFD同時實現高性能收發。即使在1M/5M波特率下,也能夠輕松實現滿載收發不丟幀。此外,其還具有硬件采集CAN總線負載、微秒級別的收發報文時間戳、微秒級別的定時發送精度等一系列特性,以滿足用戶的高階需求。

e22f0218-0ecc-11ed-9ade-dac502259ad0.png

【版權聲明】本文為ZLG開發者社區用戶原創內容,未經授權不得轉載。歡迎更多用戶到社區交流互動、創作博文,一經采用,可獲得百元京東E卡。

地址:https://developer.zlg.cn(長按復制到PC端打開)

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • CAN
    CAN
    +關注

    關注

    57

    文章

    2769

    瀏覽量

    464384
收藏 人收藏

    評論

    相關推薦

    rk3588 canfd發送部分數據失敗的問題

    在使用rk3588的板子進行canfd通信時,有些數據發送必然失敗: 1,cansend can0 200##065.68.00.00.96.00.00.01 必然成功 2,cansend can0
    發表于 12-18 10:53

    ProfibusDP主轉ModbusTCP協議轉換網關技術需求干貨講解

    回答的報文之后等待 50mS 再發送下一條報文。有些從設備響應速度比較慢,如果 50mS 太快的話,可以將此時間設置的大一些。MODBUS
    發表于 11-13 15:23

    方芯半導體推出FCE1100對標ET1100,挑戰倍福從控制器芯片(ASIC)霸主地位?

    EtherCAT數據經過從時,從可以報文中提取發送給自己的輸出命令數據并將其存儲到內部存
    的頭像 發表于 10-31 14:27 ?1434次閱讀
    方芯半導體推出FCE1100對標ET1100,挑戰倍福從<b class='flag-5'>站</b>控制器芯片(ASIC)霸主地位?

    基于VB6.0 實現 CAN信號收發 Demo

    、VB6.0、libTSCAN1關于Demo工程簡要描述:VB6.0編程語言調用libTSCAN接口實現硬件掃描、連接、CAN報文發送、周期發送
    的頭像 發表于 07-27 08:21 ?864次閱讀
    基于VB6.0 實現 CAN信號收發 Demo

    CANFD_TopFIFO無法正常工作的原因?

    我閃爍了 CANFD_TopFIFO 示例代碼,但沒有得到預期的輸出。 在 FIFO 模式下測試 CAN Rx 時,即使接收多個報文,FIFO 編號也始終顯示為 0。 雖然我能正確接收報文
    發表于 07-03 08:06

    esp32當modbus-rtu slave從通訊,主收不到從的響應報文是哪里的問題?

    情況 但是從esp32的日志打印來看,從這邊確實是可以收到主的請求報文的,但是主就是收不到從
    發表于 06-17 07:39

    ESP32C6 WiFi報文出現大量重傳是什么原因導致的?

    使用ESP32C6作為AP與另一設備通信,傳輸層使用UDP協議,C6每隔100ms會發送UDP報文,通過wireshark捕獲報文發現,每發送
    發表于 06-06 07:55

    ESP32C6作為UDP Server,使用recvfrom無法及時收到第一報文的原因?如何解決?

    后調用recvfrom()阻塞等待接收報文。 在測試時發現,AP在接收來自STA的第一UDP報文時recvfrom()無法及時返回結果,通常在STA發送第一
    發表于 06-06 07:34

    TLE9877未以LIN從模式向主的電機狀態PID發送應答,為什么?

    TLE9877 未以 LIN 從模式向主的電機狀態 PID 發送應答。 使用示例為 TLE9879QXA40_BLDC_HALL_LIN。 我們用 PID 0x00 ~ 0x3A
    發表于 06-03 06:51

    CYT2B75 SK Rev03無法正常發送CANFD數據,為什么?

    _TYPE, 0,stcMsg) 發送測試數據,直接return CY_CANFD_BAD_PARAM,經調用函數Cy_CANFD_GetTxBufferStatus查看發送狀態,返回
    發表于 05-24 07:37

    CANFD報文由多少個位組成?

    要想知道CANFD報文由多少個位組成,那么我們就要了解CANFD結構,知道每個段占用位數從而得出CANFD
    的頭像 發表于 04-27 06:08 ?4816次閱讀
    一<b class='flag-5'>幀</b><b class='flag-5'>CANFD</b><b class='flag-5'>報文</b>由多少個位組成?

    CAN報文為什么會發送失敗?

    CAN總線調試過程中出現報文發送失敗。很多工程師都對此只知其一不知其二,今天我們就以CAN報文發送失敗的問題來做一次探討。在了解CAN報文
    的頭像 發表于 04-12 08:25 ?2302次閱讀
    CAN<b class='flag-5'>報文</b>為什么會<b class='flag-5'>發送</b>失敗?

    CAN的報文格式和發送總流程

    在標準格式中,報文的起始位稱為起始(SOF),然后是由11位標識符和遠程發送請求位(RTR)組成的仲裁場。RTR位標明是數據還是請求
    發表于 04-11 10:07 ?1w次閱讀
    CAN的<b class='flag-5'>報文</b>格式和<b class='flag-5'>發送</b>總流程

    科學家研發超高幀率相機,每秒拍攝156.3萬億圖像

    通過獨特的計算成像模式,研究團隊成功地讓光線于不同時刻進入傳感器,使得相機能以驚人的每秒156.3萬億速度拍攝緩慢運動的畫面。
    的頭像 發表于 03-27 15:46 ?1092次閱讀

    虹科技術 | PCAN View功能細講:從實時監測到錯誤分析

    相信使用過PCAN工具的朋友都知道虹科PCAN-View這款免費軟件,它具有直觀的用戶界面,可以實時監測和分析CAN總線上的數據,并提供過濾、發送報文記錄。但你知道嗎?它其實不只是
    的頭像 發表于 03-18 13:48 ?1405次閱讀
    虹科技術 | PCAN View功能細講:從實時監測到錯誤<b class='flag-5'>幀</b>分析
    百家乐桌套装| 娱网棋牌| 凤凰百家乐娱乐城| 大发888唯一官网| 百家乐玩法及细则| 百家乐官网也能赢钱么| 在线百家乐作弊| 星期八百家乐官网的玩法技巧和规则| 皇冠网h| 大发888赌博网站大全| 百家乐真人游戏网上投注| 蓝盾百家乐官网打法| 南涧| 线上娱乐场| 威尼斯人娱乐城送宝马| 百家乐路单资料| 百家乐官网的珠盘| 凯旋门百家乐官网娱乐城| 澳门新濠天地| 大发888 dafa888| 百家乐里靴是什么意识| 至尊百家乐下载| 澳门百家乐官网赌场文| 麻将百家乐官网筹码| 真人百家乐官网试玩账号| 巫山县| 棋牌论坛| 德州扑克官方下载| 大发888下载安装| 威尼斯人娱乐场wnsrdcylcbywz| 百家乐园sun811.com| 墓地附近做生意风水| 新百家乐官网的玩法技巧和规则| 百家乐官网楼梯缆| 百家乐官网单机游戏免费| 百家乐官网赢钱绝技| 百家乐官网统计概率| 台湾省| 百家乐官网从哪而来| 荣昌县| 百家乐官网赢钱绝技|