一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

ZLG致遠電子 ? 2022-07-22 15:13 ? 次閱讀

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

b6bdbe6a-03ed-11ed-9ade-dac502259ad0.jpg ?為什么存在發(fā)送延遲?

b6cfb520-03ed-11ed-9ade-dac502259ad0.jpg

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

  • CAN控制器內(nèi)部產(chǎn)生TX信號到Tx引腳的傳播延遲;
  • Tx引腳到收發(fā)器TxD引腳的傳播延遲;
  • 收發(fā)器環(huán)路延遲TxD到RxD;
  • 收發(fā)器RxD引腳到CAN控制器Rx引腳延遲;

CAN控制器Rx引腳到控制器內(nèi)部收到Rx信號的延遲。

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


b6bdbe6a-03ed-11ed-9ade-dac502259ad0.jpg ?為什么CANFD要對發(fā)送延遲做補償?

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


b6bdbe6a-03ed-11ed-9ade-dac502259ad0.jpg ?發(fā)送延遲補償(TDC)

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

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

b6f92e6e-03ed-11ed-9ade-dac502259ad0.png

2.第二采樣點(SSP)

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

b70c1b14-03ed-11ed-9ade-dac502259ad0.png

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

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

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


b6bdbe6a-03ed-11ed-9ade-dac502259ad0.jpg ?TDC配置建議

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

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

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

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

b73668f6-03ed-11ed-9ade-dac502259ad0.png

【版權(quán)聲明】本文為ZLG開發(fā)者社區(qū)用戶原創(chuàng)內(nèi)容,未經(jīng)授權(quán)不得轉(zhuǎn)載。歡迎更多用戶到社區(qū)交流互動、創(chuàng)作博文,一經(jīng)采用,可獲得百元京東E卡。

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

    關(guān)注

    57

    文章

    2840

    瀏覽量

    466343
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    STM32G473 CAN發(fā)送數(shù)據(jù)出現(xiàn)丟幀怎么解決?

    配置CAN以FIFO模式發(fā)送,單片機周期發(fā)送不同ID的CAN報文,同時使用軟件ZCANPRO周期發(fā)送不同ID的報文到CAN總線上來模擬總線上
    發(fā)表于 03-11 08:30

    rk3588 canfd發(fā)送部分數(shù)據(jù)失敗的問題

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

    如何在CANtest上通過報文發(fā)送實現(xiàn)CCP指令的發(fā)送

    如題,我在CANtest上通過CAN報文發(fā)送了CCP指令\'CONNECT\'、\'SET-MTA\'和‘Upload’。前兩個指令的返回均沒有報錯,可\'Upload\'的返回直接
    發(fā)表于 08-13 10:46

    CYT2BL和SDL v8.0.0是否有可能實現(xiàn)以相同ID發(fā)送和接收CAN報文(RxID、TxID)的功能?

    我使用的是 CYT2BL 和 SDL v8.0.0。 我想發(fā)送和接收具有相同 ID 的 CAN 報文。 1.是否有可能實現(xiàn)以相同 ID 發(fā)送和接收 CAN 報文(RxID、TxID)
    發(fā)表于 07-23 06:12

    北斗短報文終端如何進行雙向通信?

    北斗短報文終端的雙向通信功能是基于中國北斗衛(wèi)星導(dǎo)航系統(tǒng)(BDS)的衛(wèi)星通信能力實現(xiàn)的。以下是北斗短報文終端進行雙向通信的具體過程和特點:北斗短報文終端一、雙向通信過程發(fā)送
    的頭像 發(fā)表于 07-12 11:19 ?1125次閱讀
    北斗短<b class='flag-5'>報文</b>終端如何進行雙向通信?

    TC3XX can發(fā)送報文,周期上下波動嚴重怎么解決?

    使用FULL CAN發(fā)送,周期調(diào)用Can_17_McmCan_lWriteMsgObj發(fā)送報文,查看周期是穩(wěn)定的,但到發(fā)出來和中斷觸發(fā)的時間會上下波動,而且波動越來越大。
    發(fā)表于 07-11 08:00

    試圖從CAN卡向TC375發(fā)送報文時,TC375始終收不到,為什么?

    我試圖在TC375上進行CAN收發(fā)測試,測試目的是完成TC375和CAN卡的通訊,現(xiàn)在我已經(jīng)成功地將CAN報文從TC375發(fā)送到了CAN卡,但是當我試圖從CAN卡向TC375發(fā)送報文時,TC375始終收不到,下面是我的一些代碼,
    發(fā)表于 07-04 06:04

    CANFD_TopFIFO無法正常工作的原因?

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

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

    有朋友測試過esp32當 modbus slave從(我拿的esp32當從,用的是RTU模式)嗎? 我用modbus poll軟件測試下來,主這邊一直收不到從的modbus響應(yīng)
    發(fā)表于 06-17 07:39

    esp32-C3如何才能連續(xù)發(fā)送261字節(jié)報文?

    我們使用的芯片是esp32-C3 IDF版本版本:2.8.1 Build id:20230207-1119 我們嘗試連續(xù)發(fā)送261字節(jié)的報文,發(fā)幾次后mesh_core/transport.c
    發(fā)表于 06-07 07:38

    NB86-OpenCPU AT指令發(fā)送報文數(shù)據(jù)不到一百字節(jié)返回錯誤怎么解決?

    NB86-OpenCPU AT指令發(fā)送報文數(shù)據(jù)不到一百字節(jié)返回錯誤
    發(fā)表于 06-04 07:26

    STM32G474發(fā)送CANFD數(shù)據(jù)出現(xiàn)異常的原因?

    環(huán)境:stm32g474re,加上主板,CAN總線上一共有9個節(jié)點,其中有一個節(jié)點是CAN擴展幀協(xié)議,其他為CANFD BRS開啟,標準幀 配置:仲裁域 1M 80%,數(shù)據(jù)域 5M 75%,開啟自動
    發(fā)表于 05-30 06:44

    什么是北斗短報文功能?如何實現(xiàn)北斗短報文通信?

    北斗短報文功能是指通過北斗衛(wèi)星進行短報文通信的功能。這種功能允許用戶在沒有移動通信信號覆蓋的偏遠山區(qū)、海洋、沙漠等地帶,通過北斗短報文終端發(fā)送和接收文本信息,進行基本的數(shù)據(jù)通信。北斗短
    的頭像 發(fā)表于 05-25 10:16 ?5689次閱讀
    什么是北斗短<b class='flag-5'>報文</b>功能?如何實現(xiàn)北斗短<b class='flag-5'>報文</b>通信?

    TC387從App跳回PBL在下載SBL,進入SBL后上位機發(fā)送的CAN報文響應(yīng)超時,怎么解決?

    你好,我目前實現(xiàn)了 PBL SBL 但目前的問題是:將SBL下載到RAM區(qū)域后,通過SBL下載App正常;但從App跳回PBL在下載SBL,進入SBL后上位機發(fā)送的CAN 報文響應(yīng)超時。我在SBL中
    發(fā)表于 05-24 08:12

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

    _TYPE, 0,stcMsg) 發(fā)送測試數(shù)據(jù),直接return CY_CANFD_BAD_PARAM,經(jīng)調(diào)用函數(shù)Cy_CANFD_GetTxBufferStatus查看發(fā)送狀態(tài),返回
    發(fā)表于 05-24 07:37