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

眾所周知,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)生錯誤。
為什么CANFD要對發(fā)送延遲做補償
在CANFD中,數(shù)據(jù)段的波特率是比CAN更高的(BRS位為隱性時),此時波特率越高,位寬越小,在發(fā)送報文時發(fā)送延遲影響越大,越容易產(chǎn)生位錯誤。由于發(fā)送延遲無法避免,此時就需要一種機制來保證發(fā)送與接收的位對應(yīng)上,以避免產(chǎn)生位錯誤。這種機制就是發(fā)送延遲補償了。
發(fā)送延遲補償(TDC)
TDC實際上就是在發(fā)送BRS位為隱性的CANFD報文時(BRS隱性即開啟數(shù)據(jù)域波特率),在發(fā)送時延遲一定時間后,在第二采樣點采樣接收位,以正確采樣到發(fā)送位對應(yīng)的接收位。
發(fā)送延遲測量
那么延遲采樣的延遲時間是多久呢?實際上,開啟TDC后,控制器將自動測量Tx信號線上FDF位到r0位下降沿與Rx信號線上FDF位到r0位邊沿的之間的延遲時間,如下圖中所示,TDCV即為延遲時間。發(fā)送延遲測量的時間單位為CAN控制器時鐘(TDC寄存器中一般對TDCV的值有限制,若超過寄存器最大位數(shù),則發(fā)送延遲測量失?。?。

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

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)能補償至少兩個位時間。
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也同樣遵循上述配置,用戶使用時,無需再手動配置。

-
TDC
+關(guān)注
關(guān)注
0文章
40瀏覽量
13954
發(fā)布評論請先 登錄
STM32G473 CAN發(fā)送數(shù)據(jù)出現(xiàn)丟幀怎么解決?
TDC1000能否用于多普勒測流?
rk3588 canfd發(fā)送部分數(shù)據(jù)失敗的問題
如何在CANtest上通過報文發(fā)送實現(xiàn)CCP指令的發(fā)送
基于VB6.0 實現(xiàn) CAN信號收發(fā) Demo

CYT2BL和SDL v8.0.0是否有可能實現(xiàn)以相同ID發(fā)送和接收CAN報文(RxID、TxID)的功能?
北斗短報文終端如何進行雙向通信?

評論