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

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

3天內不再提示

CANFD協(xié)議中的概念

AGk5_ZLG_zhiyua ? 來源:ZLG致遠電子 ? 作者:ZLG致遠電子 ? 2022-07-08 14:30 ? 次閱讀

CANFD協(xié)議中,有個重要的概念TDC(Transmitter Delay Compensation)即發(fā)送延遲補償。為什么會存在發(fā)送延遲,又為什么CANFD要對發(fā)送延遲做補償?

為什么存在發(fā)送延遲?

54fa560c-fe70-11ec-ba43-dac502259ad0.jpg

眾所周知,CAN控制器發(fā)送信號時,是經(jīng)過收發(fā)器后發(fā)往CAN總線后,再經(jīng)過收發(fā)器反饋總線信號。那么發(fā)送過程中,控制器發(fā)送位信號到接收位信號就不可避免地存在環(huán)路延遲。發(fā)送延遲時間的總和如下:

CAN控制器內部產(chǎn)生TX信號到Tx引腳的傳播延遲;

Tx引腳到收發(fā)器TxD引腳的傳播延遲;

收發(fā)器環(huán)路延遲TxD到RxD;

收發(fā)器RxD引腳到CAN控制器Rx引腳延遲;

CAN控制器Rx引腳到控制器內部收到Rx信號的延遲。

CAN協(xié)議中規(guī)定:發(fā)送方發(fā)送位時,需檢測接收到的位與發(fā)送是否一致,若不一致則產(chǎn)生錯誤幀(位錯誤)。如果發(fā)送延遲過長,則將直接導致發(fā)送與接收位不一致而產(chǎn)生錯誤幀。由于傳統(tǒng)CAN協(xié)議規(guī)定最高波特率為1Mbps,即位寬1us,正常情況下,傳輸延遲不會超過位寬的采樣點(當然具體延遲取決于收發(fā)器環(huán)路延遲、傳輸距離、傳輸線纜質量等),因此不會因為發(fā)送延遲而產(chǎn)生錯誤。

為什么CANFD要對發(fā)送延遲做補償?

在CANFD中,數(shù)據(jù)段的波特率是比CAN更高的(BRS位為隱性時),此時波特率越高,位寬越小,在發(fā)送報文時發(fā)送延遲影響越大,越容易產(chǎn)生位錯誤。由于發(fā)送延遲無法避免,此時就需要一種機制來保證發(fā)送與接收的位對應上,以避免產(chǎn)生位錯誤。這種機制就是發(fā)送延遲補償了。

發(fā)送延遲補償(TDC)

TDC實際上就是在發(fā)送BRS位為隱性的CANFD報文時(BRS隱性即開啟數(shù)據(jù)域波特率),在發(fā)送時延遲一定時間后,在第二采樣點采樣接收位,以正確采樣到發(fā)送位對應的接收位。

1. 發(fā)送延遲測量那么延遲采樣的延遲時間是多久呢?實際上,開啟TDC后,控制器將自動測量Tx信號線上FDF位到r0位下降沿與Rx信號線上FDF位到r0位邊沿的之間的延遲時間,如下圖中所示,TDCV即為延遲時間。發(fā)送延遲測量的時間單位為CAN控制器時鐘(TDC寄存器中一般對TDCV的值有限制,若超過寄存器最大位數(shù),則發(fā)送延遲測量失?。?/p>

55b91768-fe70-11ec-ba43-dac502259ad0.png

2. 第二采樣點(SSP)

在達到延遲時間后,控制器此時需要采樣接收位,該采樣點我們稱為第二采樣點(SSP=Second Sample Point),以區(qū)別未延遲之前的采樣點(SP),如下圖所示。

55c39a26-fe70-11ec-ba43-dac502259ad0.png

SSP等于測量延遲TDCV+發(fā)送延遲補償偏移TDCO(TDC Offset)之和。一般TDCO設置與第一采樣點一致,即(PROP+TSEG1) * DBRP。主要注意是:實際填入寄存器的波特率參數(shù)一般為實際值減一,具體可參考控制器手冊說明。此外,ISO11898-1:2015中還對TDC做了一些規(guī)定:

開啟TDC后,數(shù)據(jù)段波特率的預分頻值(DBRP)應設置為1或2;

控制器實現(xiàn)TDC機制應能補償至少兩個位時間。

TDC配置建議

當CANFD數(shù)據(jù)域波特率大于1Mbps時,應開啟TDC;

數(shù)據(jù)段波特率的預分頻值(DBRP)建議設置為1或2;

第二采樣點SSP=發(fā)送延遲測量值TD + Offset, 其中Offset設置與第一采樣點一致或早1Tq。

當然,USBCANFD-200U系列CANFD卡的TDC也同樣遵循上述配置,用戶使用時,無需再手動配置。

原文標題:【Z站推薦】為什么發(fā)送CANFD加速報文要開啟發(fā)送延遲補償(TDC)?

文章出處:【微信公眾號:ZLG致遠電子】歡迎添加關注!文章轉載請注明出處。

審核編輯:彭靜
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 收發(fā)器
    +關注

    關注

    10

    文章

    3340

    瀏覽量

    105561
  • 控制器
    +關注

    關注

    112

    文章

    15917

    瀏覽量

    175473
  • CAN
    CAN
    +關注

    關注

    57

    文章

    2665

    瀏覽量

    462526
  • CANFD
    +關注

    關注

    0

    文章

    51

    瀏覽量

    4892

原文標題:【Z站推薦】為什么發(fā)送CANFD加速報文要開啟發(fā)送延遲補償(TDC)?

文章出處:【微信號:ZLG_zhiyuan,微信公眾號:ZLG致遠電子】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    RA MCU CANFD在FSP的配置詳解

    RA MCU CANFD在FSP的配置詳解
    的頭像 發(fā)表于 06-19 08:06 ?267次閱讀
    RA MCU <b class='flag-5'>CANFD</b>在FSP<b class='flag-5'>中</b>的配置詳解

    CYT2B75 SK Rev03無法正常發(fā)送CANFD數(shù)據(jù),為什么?

    (T2G_Sample_Driver_Library_8.0.0tviibe1msrcexamplescanfdUseAsCANFDMode),代碼未經(jīng)過任何修改,測試CANFD功能,初始化完成,debug,首次調用 Cy_CANFD_UpdateAndTransmitM
    發(fā)表于 05-24 07:37

    一幀CANFD報文由多少個位組成?

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

    canfd協(xié)議是什么?canfd協(xié)議的應用場景

    CAN FD(CAN with Flexible Data rate)協(xié)議是一種串行通訊協(xié)議,繼承了CAN總線的主要特性,如雙線串行通訊、非破壞性仲裁技術、分布式實時控制,以及可靠的錯誤處理和檢測
    的頭像 發(fā)表于 04-17 14:55 ?1723次閱讀

    汽車測試系統(tǒng)如何實現(xiàn)CANFD到EtherCAT的協(xié)議轉換

    在汽車測試領域,EtherCAT為主控的汽車底盤測試控制系統(tǒng),需接入CANFD為傳輸信號的汽車底盤控制器進行采集分析,系統(tǒng)間數(shù)據(jù)無法直接讀取,該如何解決?我們知道汽車車機通訊系統(tǒng)CAN、CANFD
    的頭像 發(fā)表于 03-22 08:23 ?828次閱讀
    汽車測試系統(tǒng)如何實現(xiàn)<b class='flag-5'>CANFD</b>到EtherCAT的<b class='flag-5'>協(xié)議</b>轉換

    想將CANFD配置為8MBPS波特率,TESTBOARD_150PC_OUT如何配置嗎?

    我想將 CANFD 配置為 8MBPS 波特率,您可以幫我看看TESTBOARD_150PC_OUT如何配置嗎? 我配置了 2mbps 的波特率,工作正常,但無法配置 8mbps 的波特率,獨木舟和控制器之間存在同步問題,我收到 Canfd Tx 錯誤。
    發(fā)表于 03-04 06:31

    CAN和CANFD協(xié)議簡介(下)

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

    TC275D系列的芯片支持標準CANFD能配置成非標準CANFD的嗎?

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

    使用CYT2B75芯片CANFD模塊無法發(fā)送消息是什么原因導致的呢?

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

    CANFD SDL無法被接收到的原因?

    任何 CANFD 消息,如果把 cy_stc_canfd_config_t 的 .canFDMode 改為 false 就可以收到,是因為 BAUDRATE 與 DATARATE 的關系嗎 ?,我應該要填多少 ?,該怎么從代碼推算呢 ?
    發(fā)表于 02-01 07:27

    CAN和CANFD協(xié)議簡介(上)

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

    求助,關于M467系列CANFD的BSP例程疑問

    CANFD_SetSIDFltr(g_pCanfd, 0, CANFD_RX_BUFFER_STD(0x111, 0)); CANFD_SetSIDFltr(g_pCanfd, 0
    發(fā)表于 01-16 08:19

    M467的CANFD通道如何使傳送效率最高?

    現(xiàn)在我在用M467-64PIN 進行解算與數(shù)據(jù)收發(fā); M467的CANFD通道,如何使傳送效率最高? 例如使用1M+5M傳輸模式,如何使傳送效率最高? 例如循環(huán)發(fā)送64 Byte的計算數(shù)據(jù),需要
    發(fā)表于 01-16 06:18

    CAN與CANFD的區(qū)別 CAN與CANFD如何轉換

    CAN與CANFD的區(qū)別 CAN與CANFD如何轉換? CAN(Controller Area Network)是一種廣泛應用于汽車和工業(yè)控制系統(tǒng)等領域的串行通信協(xié)議,用于在不同的設備間傳輸數(shù)據(jù)。而
    的頭像 發(fā)表于 11-22 16:37 ?4962次閱讀

    RA MCU CANFD在FSP的配置詳解

    在瑞薩RA系列MCU產(chǎn)品,目前RA4E2、RA4T1、RA6E2、RA6T2和RA6T3搭載了CANFD Lite(硬件手冊成為CANFD_B)模塊,相關的詳細IP介紹,請參見之前
    的頭像 發(fā)表于 10-20 14:46 ?1083次閱讀
    RA MCU <b class='flag-5'>CANFD</b>在FSP<b class='flag-5'>中</b>的配置詳解