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

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

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

3天內不再提示

為什么發送CANFD加速報文要開啟發送延遲補償(TDC)?

ZLG致遠電子 ? 2022-07-11 16:49 ? 次閱讀

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

為什么存在發送延遲

td_loopback.jpg

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

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

Tx引腳到收發器TxD引腳的傳播延遲;

收發器環路延遲TxD到RxD;

收發器RxD引腳到CAN控制器Rx引腳延遲;

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

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

為什么CANFD要對發送延遲做補償

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

發送延遲補償(TDC)

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

發送延遲測量

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

tdcv.png

第二采樣點(SSP)

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

SSP.png

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

此外,ISO11898-1:2015中還對TDC做了一些規定:

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

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

TDC配置建議

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

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

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

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

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

    關注

    0

    文章

    38

    瀏覽量

    13815
收藏 人收藏

    評論

    相關推薦

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

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

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

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

    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

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

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

    試圖從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

    esp32-C3如何才能連續發送261字節報文

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

    STM32G474發送CANFD數據出現異常的原因?

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

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

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

    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 ?4843次閱讀
    一幀<b class='flag-5'>CANFD</b><b class='flag-5'>報文</b>由多少個位組成?

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

    CAN總線調試過程中出現報文發送失敗。很多工程師都對此只知其一不知其二,今天我們就以CAN報文發送失敗的問題來做一次探討。在了解CAN報文
    的頭像 發表于 04-12 08:25 ?2312次閱讀
    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>總流程

    TSMaster 序列發送模塊在汽車開發測試中的應用

    眾所周知,序列發送模塊可以不需要腳本代碼實現測試中特定控制報文序列的發送,該模塊多用于循環順序控制的測試案例中。序列發送模塊的常用場景,主要是針對一些新開發的產品需要通過該模塊來驗證產
    的頭像 發表于 02-19 14:00 ?746次閱讀
    TSMaster 序列<b class='flag-5'>發送</b>模塊在汽車開發測試中的應用

    MCU怎樣判斷CAN發送狀態?

    (); } 如此配置發現在一幀報文發送完了后,不能進入can的發送中斷, 2、能有別的標志位來判斷can報文發送嗎,不是太想用
    發表于 02-18 08:33
    主站蜘蛛池模板: 国产黄视频网站 | 韩国免费人成在线观看网站 | 亚洲国产第一区二区香蕉 | 久综合网 | 一区二区三区四区在线 | 99久久精品费精品国产 | 狠狠色丁香婷婷综合小时婷婷 | 性免费视频 | 午夜嘿嘿嘿 | 国模啪啪一区二区三区 | 国产成人毛片视频不卡在线 | 午夜神马影院 | 久久精品国产99精品国产2021 | 日本精品视频一视频高清 | 亚色中文字幕 | 清冷双性被cao的合不拢腿 | 毛色毛片 | 国产精品入口免费视频 | 色偷偷亚洲综合网亚洲 | 亚洲狠狠操 | 天天射天天干天天色 | 日本三级香港三级人妇 m | 亚洲精品一线二线三线 | 亚洲网站免费 | 欧美卡一卡二卡新区网站 | 羞羞漫画喷水漫画yy漫画 | 午夜影视网 | 亚洲免费毛片 | 国产剧情麻豆三级在线观看 | 在线免费观看视频黄 | 欧美黄色片在线 | 亚洲日本在线观看 | 狠狠干狠狠艹 | 特黄特色的视频免费播放 | 男女爱爱视频免费看 | 女色窝人体色77777 | 国产精品人成在线播放新网站 | 欧美日韩免费大片 | 美女性色 | 黄网站色成年片大免费软件 | 理论片毛片 |