在线时间4067 小时
UID3441752
注册时间2017-11-21
NXP金币754069
TA的每日心情 | 开心 2024-3-26 15:16 |
---|
签到天数: 266 天 [LV.8]以坛为家I
管理员
- 积分
- 32024
- 最后登录
- 2024-4-25
|
关于CAN/CANFD采样点的内容分享
前两天抽时间参加了CiA technology day线上网络会议交流,然后发现自己之前对于CAN/CANFD采样点的理解不是很理想,特别是关于CANFD的第二采样点的理解过于浅薄,这两天查了些资料,特做此记录。
1.位时序
由发送单元在非同步的情况下发送的每秒钟的位数称为位速率。一个位可分为4段,分别为:
·同步段(SS:Synchronization Segment)
·传播时间段(PTS:Propagation Time Segment)
·相位缓冲段1(PBS1:Phase Buffer Segment 1)
·相位缓冲段2(PBS2:Phase Buffer Segment 2)
1位分为4个段,每个段又由若干个Tq构成,这称为位时序,这些段又由可称为Time Quantum(以下称为Tq)的最小时间单位构成,如下图所示:
1位由多少个Tq构成、每个段又由多少个Tq构成等,可以任意设定位时序。通过设定位时序,多个单元可同时采样,也可任意设定采样点。
各段的作用和Tq数如下表所示:
·每个比特的位沿 (上升沿,下降沿)应位于1个时间量的同步段内;
·同步段之后是传播段, 该部分必须足够大,以处理由延迟引起的所有相位偏移;
·两个相位段(PSEG1,PSEG2)应足够大,以覆盖所有位偏移和由SJW补偿的时钟偏移。
·同步跳变宽度(SJW):作为重新同步的结果,可以延长PSEG1或缩短PSEG2。相位缓冲器段的延长和缩短的量具有由同步跳变宽度给定的上限。
2.采样点
采样点是接收节点判断信号逻辑的位置,采样点对CAN/CANFD总线来说极其重要,尤其是在组网的时候,网络中多个节点尽量保持同一个采样点,若网络中节点采样点不一致会导致同样的采样频率出现采样错误,进而会使整个网络出现故障。
所谓采样点是读取总线电平,并将读到的电平作为位值的点。位置在相位缓冲段1结束处。其计算公式为:Sample Point = (1+TSEG1) / (1+TSEG1+TSEG2)。
3.传输延迟
在传统CAN里面,ISO 11898-5:2007规定了最大总线传输延迟是255ns,对于最高波特率为1Mbit/s来说,此时对应的位宽为1us/bit,按照极限情况下计算每位由8个Tq组成,则每个Tq为125ns,而总线最大传输延迟是255ns,则传播时间段设置2Tq(250ns)就可以吸收该延迟。
·CAN驱动器发送端TX到总线延时在20到200ns纳秒之间
·CAN驱动器在总线到接收端RX延时在20到200ns纳秒之间
·绝缘隔离在CAN控制器与CAN驱动器之间大概有10到40ns纳秒的延时
但当使用CANFD总线时,假设波特率设为5Mbit/s时,则此时对应的位宽为200ns/bit,如果每位仍然由8个Tq组成计算,则25ns/Tq,而最大传输延迟是255ns,即相当于总线最大传输延迟为10Tq。原来的传播时间段(1~8Tq)显然无法覆盖,该如何解决这个问题?
1.增加传播时间段的Tq组成数量,但这样会导致位的Tq组成数量增加,反而会降低波特率;
2.测出传输的时延,然后进行补偿。
如果考虑总线的时延,则CANFD的数据段(高波特率)采样点相比于仲裁段(低波特率)的采样点会进行后移,具体如下图所示:
关键词:
·Transmitter delay (TD) 发送器延时
·Bit asymmetry 比特的不对称性
·Unstable RX signal due to ringing 由振铃引起的不稳定RX信号
·SP(sample point; not considering TDC) 采样点
·SSP(secondary SP; taking TDC into account)第二/辅助采样点
·TDC(transmitter delay compensation) 发送器延时补偿
在CANoe软件中对此也有相关配置,如下图所示:
辅助采样点偏移(SSP)用于补偿传输节点延迟(TD)。为了补偿TD,发送器必须能够将其发送的位与CAN网络上的当前位进行比较。然后从发射机接收比特的开头开始测量SSP。从波特率1Mbit/s开始,TD补偿会自动激活。因此,对于SSP偏移,将使用默认值。
为什么需要“传输节点延迟(TD)”和“二次采样点(SSP)”?
为了检测发送错误,CAN控制器接收其自身发送的帧的位并将其与所需值进行比较。传输节点延迟(TD)是从控制器的Tx FlipFlop到Rx FlipFlop的信号传播延迟。
TD包含控制器和收发器的延迟时间。在CANFD数据阶段的比特率为1Mbit/s或更高的情况下,TD可能大于物理比特时间。为了将发送的位值与接收的位电平进行比较,需要对TD进行补偿——所谓的发送节点延迟补偿Transmitting Node Delay Compensation (TDC)。CAN控制器测量TD并据此知道回读位的开始——所谓的辅助采样点Secondary Sample Point (SSP)。因此,从发送位的开始到回读位(SSP)的采样点的时间间隔为SSP = TD + SSP偏移。
4.位定时设置建议
1、设置Tq_A(Tq Arbitration Phase) = Tq_D(Tq Data Phase),用来减少量化错误;
2、使Tq_A尽可能短,这可以将量化错误最小化;
3、选择最高可用的CAN时钟频率(例如40 MHz或80 MHz);
4、在仲裁阶段,所有节点应具有完全相同的采样点;
5、数据阶段的采样点应放置在,该位的开始处在尽可能的晚的边缘后,和该位的结束处尽可能的早的边缘的中间,在这段时间中,当总线信号稳定的时候。
6、启用TDC(基于测量)以获得高于1 Mbit/s的数据阶段比特率。
CiA 601-2文档中关于数据阶段抽样点范围和推荐的寄存器长度如下:
不同时钟晶振下的推荐值如下:
|
|