全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 接口/总线/驱动 >

为什么发送CANFD加速报文要开启发送延迟补偿(

时间:2022-07-11 16:49

人气:

作者:admin

标签: TDC 

导读:在CANFD协议中,有个重要的概念TDC(Transmitter Delay Compensation)即发送延迟补偿,字面意思就是对发送延迟进行补偿。那么为什么会存在发送延迟,又为什么CANFD要对发送延迟做补偿?...

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
温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信