在CANFD協(xié)議中,有個(gè)重要的概念TDC(Transmitter Delay Compensation)即發(fā)送延遲補(bǔ)償。為什么會(huì)存在發(fā)送延遲,又為什么CANFD要對(duì)發(fā)送延遲做補(bǔ)償?
為什么存在發(fā)送延遲?
眾所周知,CAN控制器發(fā)送信號(hào)時(shí),是經(jīng)過(guò)收發(fā)器后發(fā)往CAN總線后,再經(jīng)過(guò)收發(fā)器反饋總線信號(hào)。那么發(fā)送過(guò)程中,控制器發(fā)送位信號(hào)到接收位信號(hào)就不可避免地存在環(huán)路延遲。發(fā)送延遲時(shí)間的總和如下:
CAN控制器內(nèi)部產(chǎn)生TX信號(hào)到Tx引腳的傳播延遲;
Tx引腳到收發(fā)器TxD引腳的傳播延遲;
收發(fā)器環(huán)路延遲TxD到RxD;
收發(fā)器RxD引腳到CAN控制器Rx引腳延遲;
CAN控制器Rx引腳到控制器內(nèi)部收到Rx信號(hào)的延遲。
CAN協(xié)議中規(guī)定:發(fā)送方發(fā)送位時(shí),需檢測(cè)接收到的位與發(fā)送是否一致,若不一致則產(chǎn)生錯(cuò)誤幀(位錯(cuò)誤)。如果發(fā)送延遲過(guò)長(zhǎng),則將直接導(dǎo)致發(fā)送與接收位不一致而產(chǎn)生錯(cuò)誤幀。由于傳統(tǒng)CAN協(xié)議規(guī)定最高波特率為1Mbps,即位寬1us,正常情況下,傳輸延遲不會(huì)超過(guò)位寬的采樣點(diǎn)(當(dāng)然具體延遲取決于收發(fā)器環(huán)路延遲、傳輸距離、傳輸線纜質(zhì)量等),因此不會(huì)因?yàn)榘l(fā)送延遲而產(chǎn)生錯(cuò)誤。
為什么CANFD要對(duì)發(fā)送延遲做補(bǔ)償?
在CANFD中,數(shù)據(jù)段的波特率是比CAN更高的(BRS位為隱性時(shí)),此時(shí)波特率越高,位寬越小,在發(fā)送報(bào)文時(shí)發(fā)送延遲影響越大,越容易產(chǎn)生位錯(cuò)誤。由于發(fā)送延遲無(wú)法避免,此時(shí)就需要一種機(jī)制來(lái)保證發(fā)送與接收的位對(duì)應(yīng)上,以避免產(chǎn)生位錯(cuò)誤。這種機(jī)制就是發(fā)送延遲補(bǔ)償了。
發(fā)送延遲補(bǔ)償(TDC)
TDC實(shí)際上就是在發(fā)送BRS位為隱性的CANFD報(bào)文時(shí)(BRS隱性即開(kāi)啟數(shù)據(jù)域波特率),在發(fā)送時(shí)延遲一定時(shí)間后,在第二采樣點(diǎn)采樣接收位,以正確采樣到發(fā)送位對(duì)應(yīng)的接收位。
1. 發(fā)送延遲測(cè)量那么延遲采樣的延遲時(shí)間是多久呢?實(shí)際上,開(kāi)啟TDC后,控制器將自動(dòng)測(cè)量Tx信號(hào)線上FDF位到r0位下降沿與Rx信號(hào)線上FDF位到r0位邊沿的之間的延遲時(shí)間,如下圖中所示,TDCV即為延遲時(shí)間。發(fā)送延遲測(cè)量的時(shí)間單位為CAN控制器時(shí)鐘(TDC寄存器中一般對(duì)TDCV的值有限制,若超過(guò)寄存器最大位數(shù),則發(fā)送延遲測(cè)量失敗)。
2. 第二采樣點(diǎn)(SSP)
在達(dá)到延遲時(shí)間后,控制器此時(shí)需要采樣接收位,該采樣點(diǎn)我們稱(chēng)為第二采樣點(diǎn)(SSP=Second Sample Point),以區(qū)別未延遲之前的采樣點(diǎn)(SP),如下圖所示。
SSP等于測(cè)量延遲TDCV+發(fā)送延遲補(bǔ)償偏移TDCO(TDC Offset)之和。一般TDCO設(shè)置與第一采樣點(diǎn)一致,即(PROP+TSEG1) * DBRP。主要注意是:實(shí)際填入寄存器的波特率參數(shù)一般為實(shí)際值減一,具體可參考控制器手冊(cè)說(shuō)明。此外,ISO11898-1:2015中還對(duì)TDC做了一些規(guī)定:
開(kāi)啟TDC后,數(shù)據(jù)段波特率的預(yù)分頻值(DBRP)應(yīng)設(shè)置為1或2;
控制器實(shí)現(xiàn)TDC機(jī)制應(yīng)能補(bǔ)償至少兩個(gè)位時(shí)間。
TDC配置建議
當(dāng)CANFD數(shù)據(jù)域波特率大于1Mbps時(shí),應(yīng)開(kāi)啟TDC;
數(shù)據(jù)段波特率的預(yù)分頻值(DBRP)建議設(shè)置為1或2;
第二采樣點(diǎn)SSP=發(fā)送延遲測(cè)量值TD + Offset, 其中Offset設(shè)置與第一采樣點(diǎn)一致或早1Tq。
當(dāng)然,USBCANFD-200U系列CANFD卡的TDC也同樣遵循上述配置,用戶使用時(shí),無(wú)需再手動(dòng)配置。
原文標(biāo)題:【Z站推薦】為什么發(fā)送CANFD加速報(bào)文要開(kāi)啟發(fā)送延遲補(bǔ)償(TDC)?
文章出處:【微信公眾號(hào):ZLG致遠(yuǎn)電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
收發(fā)器
+關(guān)注
關(guān)注
10文章
3671瀏覽量
107836 -
控制器
+關(guān)注
關(guān)注
114文章
17082瀏覽量
183960 -
CAN
+關(guān)注
關(guān)注
57文章
2916瀏覽量
467517 -
CANFD
+關(guān)注
關(guān)注
0文章
83瀏覽量
5318
原文標(biāo)題:【Z站推薦】為什么發(fā)送CANFD加速報(bào)文要開(kāi)啟發(fā)送延遲補(bǔ)償(TDC)?
文章出處:【微信號(hào):ZLG_zhiyuan,微信公眾號(hào):ZLG致遠(yuǎn)電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
CANFD芯片在工控機(jī)數(shù)據(jù)采集和測(cè)量中的應(yīng)用分析
LIN協(xié)議:汽車(chē)電子中的隱形功臣

解析RZ/N2L CANFD模塊的緩沖區(qū)機(jī)制(3)

解析RZ/N2L CANFD模塊的緩沖區(qū)機(jī)制(2)

CANFD協(xié)議轉(zhuǎn)換器:搭建通訊橋梁

車(chē)載通信方案為何選擇CAN/CANFD?
技術(shù)解析 | “兆瓦閃充”超級(jí)充電樁中的CANFD通訊應(yīng)用

如何使用ZPS-CANFD觀察CAN數(shù)據(jù)鏈路層的工作過(guò)程

STM32F743的canfd錯(cuò)誤寄存器,TEC,REC等信息怎么復(fù)位?
HTTP 協(xié)議的基本概念
CAN/CANFD?總線干擾儀TESTBASE-BDI

rk3588 canfd發(fā)送部分?jǐn)?shù)據(jù)失敗的問(wèn)題
dap協(xié)議的基本概念 dap協(xié)議在區(qū)塊鏈中的應(yīng)用
一款實(shí)現(xiàn)PLC擴(kuò)展CANFD的好工具 — PXB-6020D協(xié)議轉(zhuǎn)換器

評(píng)論