CANFD协议中的概念

在canfd协议中,有个重要的概念tdc(transmitter delay compensation)即发送延迟补偿。为什么会存在发送延迟,又为什么canfd要对发送延迟做补偿?
为什么存在发送延迟?
众所周知,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隐性即开启数据域波特率),在发送时延迟一定时间后,在第二采样点采样接收位,以正确采样到发送位对应的接收位。
1. 发送延迟测量那么延迟采样的延迟时间是多久呢?实际上,开启tdc后,控制器将自动测量tx信号线上fdf位到r0位下降沿与rx信号线上fdf位到r0位边沿的之间的延迟时间,如下图中所示,tdcv即为延迟时间。发送延迟测量的时间单位为can控制器时钟(tdc寄存器中一般对tdcv的值有限制,若超过寄存器最大位数,则发送延迟测量失败)。
2. 第二采样点(ssp)
在达到延迟时间后,控制器此时需要采样接收位,该采样点我们称为第二采样点(ssp=second sample point),以区别未延迟之前的采样点(sp),如下图所示。
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也同样遵循上述配置,用户使用时,无需再手动配置。
原文标题:【z站推荐】为什么发送canfd加速报文要开启发送延迟补偿(tdc)?
文章出处:【微信公众号:zlg致远电子】欢迎添加关注!文章转载请注明出处。


如何采用RE抑制技术进行电磁兼容性EMC设计
网络综合布线常见的名称解释
日本前2大半导体厂同陷营运困境 如何布局?
955A-27/35/43/KF功率放大器的特点
OPPO Reno5 Pro发布:搭载联发科天玑1000+芯片
CANFD协议中的概念
又一电子大厂起火!为英伟达供应商
半导体生产过程中的主要设备汇总
如何通过USB连接器保护电源和充电器件的安全
iPhone8什么时候上市?iPhone8最新消息:iPhone8嵌入式Touch ID,iOS11加持!iPhone8功能AR技术惊人
雪佛兰探际者7座SUV“叫嚣”汉兰达,预计明年在国内上市
英特尔携手创新生态合作伙伴 推动人工智能与各行各业的融合和实践
人工智能是否会加重就业压力
雪铁龙开始生产其便携式小型电动汽车,称为Ami
YouTube桌面通知器的制作
详细解读了航天科工为国际工业互联网建设贡献的“中国方案”
神经网络控制的特点分析_模糊神经网络发展进程
较Wi-Fi6而言,Wi-Fi7又有哪些提升?
今年芯片出货量将暴增21%,高达3912亿
如何有效整理和利用现有的空间,建造更有效率的停车空间?