一、信号传输延时影响
1、仲裁场
为了保证每个节点都能正确检测到总线上的竞争,传播段的时间Tps应大于等于2倍Tdelay的时间,即
Tps >= 2 * Tdelay = 2 * (Td1 + Tbus + Td2)
2、ACK场
(1)正确接收时,接收节点进行应答,在ACK应答间隙发送显性位,传输和应答的传输延时导致ACK界定符被前面的ACK应答(严重)挤占【波形监测位置靠近发送节点时】,如果速率高(位时间短)或采样点靠前——传播段(Tps)与相位缓冲段1(Tpbs1)时间不足,易导致采样错误;
(2)其他节点的显性应答迟于发送节点的隐性位,波形表现为CRC界定符位略有延长;
(3)应答节点距离发送节点距离的差异较大时,ACK应答间隙会出现台阶,台阶高度与节点数目(+距离)相关,台阶宽度与节点距离相关;
限制CAN 总线系统信号传播延时上限的条件: ①保证仲裁场正确检测;②确保发送节点在应答隙内接收到有效的应答信号;③尚未get其他条件。
影响因素: 控制器(主控制器、CAN/CANFD控制器、接口芯片等,纳秒级以下)、隔离方式、收发器循环延时(可达几百纳秒,受收发器性能影响,?CAN总线规范必测项目?)、线缆传播(?阻值越小,传输速率延迟越小,传播距离越远)
注:如果在ACK应答间隙正确应答,接收节点不会先检测到隐性位后检测到显性位,而是由于应答后才到采样点,会直接采样到显性位,否则发生错误。
3、CANFD变速率数据场
在变速率数据场为单一节点发送,不会出现竞争或应答等叠加电平,因此认为信号传输延迟不会引起采样错误,各位延迟时间一致;
是否有其他影响尚待学习发现。
二、接收方和发送方采样点不一致的影响
1、CAN
待学习发现
2、CANFD
CANFD变速率时,BRS位及CRC界定符位会进行速率转换,采样点不一致可能导致采样错误。(但因为是单一节点传输,无竞争、应答覆盖,因此与信号传输延时关系似乎不大。目前理解,后面有新发现会更新。)
【eg.位速率为500Kbps+2Mbps:
①采样点为75%位宽度时,BRS位的位时间为(2000ns * 75% + 500ns * 25% = 1625ns);采样点为82.5%或时,在BRS位的采样位置为(2000ns * 82.5%=1650ns),如果发送节点采样点为75%,则按此采样点进行采样时已进入发送节点的ESI位,会导致采样错误。
②采样点为75%时,CRC界定符的位时间(500ns * 75% + 2000ns * 25% = 875ns);采样点为82.5%或时,在CRC界定符位的采样位置为(500ns * 82.5% = 412.5ns),单一节点发送,在CRC界定符位范围内,不会引起错误】
【反之,当发送节点采样点位置晚于接收节点,可推得不会引起上述问题】
三、收发器发送延时+收发器接收延时获取方法
1、DataSheet
2、波形分析——【CRC界定符+ACK+ACK界定符+节点距离(+节点距离差)】计算确定
原理:通过CRC界定符+ACK+ACK界定符的实际位时间,可获取应答延迟,应答延迟减去线束传输延迟时间Tbus,即为应答节点的接收+发送延迟之和。线束传输延迟时间通过节点距离(+节点距离差)及线缆的传输延迟(5ns/m或5.5ns/m)计算获取。
注:(1)电平监测(示波器接入)位置应尽量靠近发送节点;(2)靠近其他节点可进行相关分析,未深入整理。
写在后面:
1、以上问题考虑因素: 位时间(波特率);位时序;采样点;Tdelay(总线长度+收发器循环延时1+收发器循环延时2),其中循环延迟一般包括驱动器和接收机延迟;
2、为什么 “我们需要严格控制总线上各个部分造成的延时时间,确保延时时间总和在一定时间范围内”?
我理解:
1、延时会在一定程度上造成仲裁场和ACK场采样问题;
2、延迟会导致发送和接收节点间的信息时间差,但在汽车上应用是,不像工业总线的距离那么长,总线延迟相对于更新周期、发送周期的影响小很多,暂可忽略。
3、采样点模式
单采样点模式
多采样点模式
4、CAN总线的延时时间
隔离器件等外围电路的引入、收发器增加长时间显性关断功能等,会增加CAN总线的延时时间,导致——越新型的收发器,回环延迟越加大,实际通讯距离减小。
5、数据手册中的传播延迟
eg. TJA1051:最大传播延时为220 ns,最小传播延时为40 ns;tPD(TXD-RXD)/td(TXDH-RXDH)为TXD发送显性上升/下降沿到总线并且反馈到RXD的延时。
6、ECU延迟:tECU
包括
(1)发送器传播延迟 (tTX, this includes device delay and slew)
(2)接收器传播延迟 (tRX)
(3)接收器逻辑延迟 (tLOGIC)
(4)共模扼流圈 (tCHK, optional, Includes both Tx and Rx choke delays)
7、介质延迟:tBUS
信号在(最长)指定距离下通过介质所需要的实际。(在应用时,“最长”应取实际长度,在规范中按最长约定…)
8、传播延迟:tPROP
tPROP=2(tECU+tBUS),因为CAN是一个仲裁协议(arbitrating protocol)
tSJW
tSYNC_SEG
tSEG1
tSEG2
tQ(基于单片机的震荡时钟和CAN控制器的分寄存器值)
(tSEG1=tProp_Seg+tPhase_Seg1,tSEG2=tPhase_Seg2)
9、二次采样点:SECONDARY SAMPLE POINT (SSP)
Sample point that applies to data bit timing in CAN FD (BRS = recessive) messages when the transmitter delay compensation functionality is configured to be enabled/active. The transmitting bus controller automatically determines/adapts/delays the location of the sample point based on observed data signal delay of the particular transmitter implementation, unless transmitter delay compensation disabled.
发送器延迟补偿:transmitter delay compensation(TDC)
For data bit timing in CAN FD messages the transmitting CAN controller automatically will compensate the signal delay caused by the ECU-internal transmitter implementation, unless TDC functionality disabled. Functionality inactive for arbitration bit timing in CAN FD messages and generally inactive in classical CAN messages. For details see ISO 11898-1 :2015(E).
10、总线上ECU间最大允许距离
最大距离取决于ecu的数量、线路传播延迟(wiring propagation delay)和比特定时设置。
11、CANFD的回环延迟是什么?
从TXD输入的信号边缘到RXD输出的相同极性的下一个信号边缘的时间跨度,考虑两个信号边缘的最大延迟