在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

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

ZLG致遠電子 ? 2022-07-22 15:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

  • CAN控制器內部產生TX信號到Tx引腳的傳播延遲;
  • Tx引腳到收發器TxD引腳的傳播延遲;
  • 收發器環路延遲TxD到RxD;
  • 收發器RxD引腳到CAN控制器Rx引腳延遲;

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

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


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

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


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

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

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

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

2.第二采樣點(SSP)

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

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

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

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

控制器實現TDC機制應能補償至少兩個位時間。


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

當CANFD數據域波特率大于1Mbps時,應開啟TDC;

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

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

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

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

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

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

    關注

    57

    文章

    2903

    瀏覽量

    467270
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    ATS失效請求報文問題的故障排除步驟

    本篇文章提供了解決 ATS 失效請求報文問題的故障排除步驟,主要聚焦在 CQ 接口上未顯示主機發送報文的情況。
    的頭像 發表于 06-09 15:17 ?494次閱讀
    ATS失效請求<b class='flag-5'>報文</b>問題的故障排除步驟

    STM32F103做從 上電過程,上位機不斷發送數據造成,通訊失敗怎么解決?

    主機上掛了多個STM32 485從, 主機不斷輪詢發送數據,STM32上電過程中如果主已經在不斷發送數據了就STM32一直無法接收數據,不知道什么原因造成,請各位大俠指導一下。我使
    發表于 03-13 08:11

    STM32G473 CAN發送數據出現丟幀怎么解決?

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

    TDC1000能否用于多普勒測流?

    你好,我想問下TDC1000能否用于多普勒測流?就是通過STOP的頻率計算出回波的頻率?根據發送頻率和STOP頻率來計算頻差,使用TDC1000的方案能滿足這個技術要求嗎?
    發表于 12-25 07:19

    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協議轉換網關技術需求干貨講解

    Modbus 主時,發出一條 Modbus 報文之后等待從設備回答的時間,如果 Modbus 從超出 500mS 未響應,則 WL-ABD3030 不再等待直接
    發表于 11-13 15:23

    如何在CANtest上通過報文發送實現CCP指令的發送

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

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

    本文主要講的是,基于TSMaster實現TOSUN系列CAN/CANFD,LIN設備的操作。主要給大家介紹在TSMaster軟件里如何實現CAN信號收發Demo工程。本文關鍵詞:CAN報文
    的頭像 發表于 07-27 08:21 ?1280次閱讀
    基于VB6.0 實現 CAN信號收發 Demo

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

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

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

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

    使用ESP8266模塊進行UDP傳輸,重新連接路由后發送數據有延遲怎么避免?

    );wifi_station_set_reconnect_policy(1),設置成自動連接路由,UDP每1S發送一條數據(100字節),如果正在正常發送數據的時候路由器斷電,UDP服務器收不到數據,路由再上電后,從模塊WIFI GOT IP到UDP服務器再次收到數據有差
    發表于 07-12 06:06

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

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

    長時間發送344個字節的UDP報文,出現overflow the heap_size并導致系統異常重啟怎么解決?

    Jan8 2013,rst cause:2, boot mode:(3,0) 請問這個協議棧有問題??什么原因導致這個問題??? 另外的現象,就是sendto的地方掛死。 之前在sendto地方加了一個select 判斷是否能夠發送報文,短一點的報文,不會出現異常
    發表于 07-11 07:55

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

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

    CANFD_TopFIFO無法正常工作的原因?

    我閃爍了 CANFD_TopFIFO 示例代碼,但沒有得到預期的輸出。 在 FIFO 模式下測試 CAN Rx 時,即使接收多個報文,FIFO 編號也始終顯示為 0。 雖然我能正確接收報文
    發表于 07-03 08:06
    主站蜘蛛池模板: 免费的男女拍拍拍的视频 | 天天干天天操天天舔 | 韩国免费三片在线视频 | 91久久国产青草亚洲 | 欧美系列在线观看 | 午夜看片影院在线观看 | 视频在线观看一区二区三区 | 亚洲天天操| 国产人成午夜免费噼啪视频 | 国产99在线播放 | 6月婷婷| 日本免费一区二区视频 | 国产午夜免费 | 国产夜夜操 | 偷偷狠狠的日日日日 | 欧美超级碰碰 | 韩国午夜精品理论片西瓜 | 欧美人与禽交 | 国产天美 | 黄色一级片在线观看 | 婷婷综合亚洲 | 看毛片网 | 奇米久草 | 人人澡人人搞 | 亚洲三区视频 | 成 人色 网 站 欧美大片在线观看 | 日本xxxxx69hd日本| 色男人社区 | 六月婷婷精品视频在线观看 | 亚洲美女黄视频 | 91久久人澡人人添人人爽 | 国产精品夜色一区二区三区 | 激情综合六月 | 天天操天天操天天操天天操 | 亚洲成人网在线观看 | 午夜影院黄色片 | 天天操夜夜艹 | 91寡妇天天综合久久影院 | 国产在线视频不卡 | 国产a一级毛片午夜剧场14 | 激情福利|