RM新时代网站-首页

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

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

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

【Z站推薦】CANFD CRC段與傳統(tǒng)CAN差距有多大?

ZLG致遠(yuǎn)電子 ? 2022-07-21 16:26 ? 次閱讀

很多人了解過(guò)CANFD,可能知道CANFD CRC段與傳統(tǒng)CAN CRC差距是CRC多項(xiàng)式不同,但實(shí)際CANFD CRC段與傳統(tǒng)CAN的差異遠(yuǎn)不止這些。接下來(lái),我們細(xì)說(shuō)下CANFD CRC段帶來(lái)的變化:

75b9c372-05e2-11ed-9ade-dac502259ad0.jpg 不同數(shù)據(jù)段長(zhǎng)度選擇不同的CRC多項(xiàng)式

傳統(tǒng)CAN采用的是15位的CRC校驗(yàn),由于CANFD支持更大的數(shù)據(jù)量,為提供通信可靠性,針對(duì)不同長(zhǎng)度的CANFD報(bào)文,調(diào)整其CRC算法,詳見(jiàn)下表。

75cbeb24-05e2-11ed-9ade-dac502259ad0.jpg當(dāng)報(bào)文為傳統(tǒng)CAN時(shí),仍采用原有的CRC多項(xiàng)式。

當(dāng)報(bào)文為CANFD且數(shù)據(jù)長(zhǎng)度小于等于16字節(jié)時(shí),調(diào)整為17位的CRC多項(xiàng)式。

當(dāng)報(bào)文為CANFD且數(shù)據(jù)長(zhǎng)度大于16字節(jié)時(shí),則調(diào)整為21位的CRC多項(xiàng)式。


75e08368-05e2-11ed-9ade-dac502259ad0.jpg ?CRC計(jì)算時(shí)機(jī)不同

在傳統(tǒng)CAN中,位填充(連續(xù)5位相同位后填充一位相反位)是在CRC計(jì)算之后進(jìn)行。當(dāng)CAN控制器發(fā)送報(bào)文時(shí),先對(duì)報(bào)文CRC計(jì)算后,再填入填充位發(fā)送;接收時(shí),則對(duì)接收數(shù)據(jù)移除填充位后,再做CRC校驗(yàn)。

在CANFD中,CRC計(jì)算時(shí)機(jī)調(diào)整為位填充后。也就是說(shuō),發(fā)送方發(fā)送時(shí),先對(duì)報(bào)文進(jìn)行位填充后,再做CRC計(jì)算。這種方式增加了對(duì)填充位的CRC計(jì)算,降低了錯(cuò)誤漏檢的概率。

75b9c372-05e2-11ed-9ade-dac502259ad0.jpg 增加固定填充位和填充位計(jì)數(shù)

CANFD中,CRC域采用一種固定填充位的格式:在CRC段第一位及接下來(lái)的每四位增加一個(gè)固定填充位,填充位為上一位的反碼。以下分別為CRC17和CRC21的固定填充位(FSB)位置。

76017690-05e2-11ed-9ade-dac502259ad0.png

76126cb6-05e2-11ed-9ade-dac502259ad0.png

除了固定填充位之外,CRC域的起始還包含了3位的填充位計(jì)數(shù),及1位填充位計(jì)數(shù)檢驗(yàn)位,以進(jìn)一步提高通信可靠性。填充位計(jì)數(shù)在CRC段的位置如下圖紅框所示。7623e874-05e2-11ed-9ade-dac502259ad0.png
3位填充位計(jì)數(shù)表示的值為實(shí)際填充位計(jì)數(shù)對(duì)8取模的結(jié)果,采用格雷碼顯示。奇偶校驗(yàn)位對(duì)填充位計(jì)數(shù)進(jìn)行奇偶校驗(yàn)。詳見(jiàn)下表。76315dce-05e2-11ed-9ade-dac502259ad0.png需要注意的是,non-ISO CANFD協(xié)議標(biāo)準(zhǔn),無(wú)固定填充位FSB及填充位計(jì)數(shù)。若使用USBCANFD-200U時(shí),遇到通訊的CANFD控制器為non-ISO標(biāo)準(zhǔn),可以在打開(kāi)通道時(shí),選擇CANFD標(biāo)準(zhǔn)為non-ISO,以兼容non-ISO標(biāo)準(zhǔn)CANFD控制器。

7643ca2c-05e2-11ed-9ade-dac502259ad0.png

【版權(quán)聲明】本文為ZLG開(kāi)發(fā)者社區(qū)用戶原創(chuàng)內(nèi)容,未經(jīng)授權(quán)不得轉(zhuǎn)載。

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

    關(guān)注

    57

    文章

    2744

    瀏覽量

    463612
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    rk3588 canfd發(fā)送部分?jǐn)?shù)據(jù)失敗的問(wèn)題

    0 200##065.68.00.00.92.00.00.00 必然失敗 不知道什么原因,仲裁和數(shù)據(jù)的波特率修改成其他的也是一樣,有沒(méi)有遇到過(guò)這種情況的?或者支持canfd的板子
    發(fā)表于 12-18 10:53

    CAN/CANFD卡接口函數(shù)使用說(shuō)明

    電子發(fā)燒友網(wǎng)站提供《CAN/CANFD卡接口函數(shù)使用說(shuō)明.pdf》資料免費(fèi)下載
    發(fā)表于 10-15 17:35 ?0次下載

    【龍芯2K0300蜂鳥(niǎo)板試用】CAN接口驅(qū)動(dòng)板設(shè)計(jì)、CANFD測(cè)試、CAN C++程序驅(qū)動(dòng)測(cè)試

    :ProProject_loongson-CANFD-ext_2024-08-25.epro.7z 測(cè)試 先用短接線把兩路CAN短接起來(lái),測(cè)試一下互相收發(fā): 測(cè)試CAN通信 ifconfig
    發(fā)表于 08-25 21:09

    CANFD_TopFIFO無(wú)法正常工作的原因?

    我閃爍了 CANFD_TopFIFO 示例代碼,但沒(méi)有得到預(yù)期的輸出。 在 FIFO 模式下測(cè)試 CAN Rx 時(shí),即使接收多個(gè)報(bào)文,F(xiàn)IFO 編號(hào)也始終顯示為 0。 雖然我能正確接收
    發(fā)表于 07-03 08:06

    詳解TSMaster CANCANFDCRC E2E 校驗(yàn)方法

    面對(duì)切換工具鏈的用戶來(lái)說(shuō),在TSMaster上完成總線通訊中的CRC/E2E校驗(yàn)處理不是特別熟悉,該文章可以協(xié)助客戶快速使用TSMaster完成CAN/CANFD總線通訊的CRC/E2
    的頭像 發(fā)表于 05-25 08:21 ?2273次閱讀
    詳解TSMaster <b class='flag-5'>CAN</b> 與 <b class='flag-5'>CANFD</b> 的 <b class='flag-5'>CRC</b> E2E 校驗(yàn)方法

    一幀CANFD報(bào)文由多少個(gè)位組成?

    要想知道CANFD報(bào)文由多少個(gè)位組成,那么我們就要了解CANFD幀結(jié)構(gòu),知道每個(gè)占用位數(shù)從而得出CANFD報(bào)文位數(shù)。
    的頭像 發(fā)表于 04-27 06:08 ?4267次閱讀
    一幀<b class='flag-5'>CANFD</b>報(bào)文由多少個(gè)位組成?

    請(qǐng)問(wèn)一下STM32G431CBT6的CANFD支持的最大波特率是多大呀?

    請(qǐng)問(wèn)一下STM32G431CBT6的CANFD支持的最大波特率是多大呀?
    發(fā)表于 03-14 07:14

    CANCANFD協(xié)議簡(jiǎn)介(下)

    CANCANFD協(xié)議簡(jiǎn)介(下)
    的頭像 發(fā)表于 02-19 12:08 ?1094次閱讀
    <b class='flag-5'>CAN</b>和<b class='flag-5'>CANFD</b>協(xié)議簡(jiǎn)介(下)

    TC275D系列的芯片支持標(biāo)準(zhǔn)CANFD能配置成非標(biāo)準(zhǔn)CANFD的嗎?

    TC275D系列的芯片支持標(biāo)準(zhǔn)CANFD,是否也能配置成非標(biāo)準(zhǔn)CANFD的呢,那位技術(shù)人員配置過(guò)嗎?
    發(fā)表于 02-06 08:31

    在同一路CAN上配置經(jīng)典CAN時(shí)能正常發(fā)送數(shù)據(jù) ,按規(guī)格書(shū)配置為CANFD時(shí),未能發(fā)送成功的原因?

    你好,我在同一路CAN上配置經(jīng)典CAN時(shí)能正常發(fā)送數(shù)據(jù) ,但是按規(guī)格書(shū)配置為CANFD時(shí),未能發(fā)送成功,想請(qǐng)問(wèn)我以下配置是否正確。 cy_stc_canfd_config_t canC
    發(fā)表于 02-02 07:33

    使用CYT2B75芯片CANFD模塊無(wú)法發(fā)送消息是什么原因?qū)е碌哪兀?/a>

    你好,我使用SDL的example中的CANFD代碼測(cè)試CYT2B75芯片CANFD模塊,對(duì)部分代碼進(jìn)行了硬件適配修改,詳見(jiàn)附件,配置為每秒發(fā)送一次CAN報(bào)文。 問(wèn)題:消息發(fā)送失敗,且電腦上位機(jī)無(wú)法
    發(fā)表于 02-02 06:57

    cyt2b94使用can總線的時(shí)候無(wú)法使用CANFD_CONFIG_STD_ID_FILTER_RANGE濾波器怎么解決?

    cyt2b94使用can總線的時(shí)候無(wú)法使用CANFD_CONFIG_STD_ID_FILTER_RANGE濾波器 代碼如下: static const cy_stc_id_filter_t
    發(fā)表于 02-01 08:25

    CAN總線最大能夠帶多少節(jié)點(diǎn)?CANFD相對(duì)于CAN2.0哪些差異呢?

    CAN總線最大能夠帶多少節(jié)點(diǎn)?CANFD相對(duì)于CAN2.0哪些差異呢? CAN總線最大能夠帶多少節(jié)點(diǎn)?
    的頭像 發(fā)表于 01-31 14:08 ?3650次閱讀

    CANCANFD協(xié)議簡(jiǎn)介(上)

    CANCANFD協(xié)議簡(jiǎn)介(上)
    的頭像 發(fā)表于 01-26 08:06 ?1366次閱讀
    <b class='flag-5'>CAN</b>和<b class='flag-5'>CANFD</b>協(xié)議簡(jiǎn)介(上)

    求助,關(guān)于M467系列CANFD的BSP例程疑問(wèn)

    _RX_FIFO1_STD_MASK,和CANFD_RX_FIFO0_STD_MASK 什么區(qū)別嗎 另外 看到一個(gè)CANFD通道2個(gè)中斷,請(qǐng)問(wèn)該具體的如何使用???
    發(fā)表于 01-16 08:19
    RM新时代网站-首页