关注菲益科公众号—>对话窗口发送 “CANoe ”或“INCA”,即可获得canoe入门到精通电子书和INCA软件安装包(不带授权码)下载地址。
目录
收起
0 CAN通讯回读机制
1 什么是采样点 sample point
2 什么是 Transceiver delay compensation(收发器延时补偿)
2.1 背景-通讯回环检测
2.2 CANFD高速通讯特有问题
2.3 什么是SSP (Secondary Sample Point)
3 什么是错误帧
3.1 位填充原则
3.2 错误帧的种类
3.3 节点错误状态
3.4 错误状态的转换
3.3 错误帧的发送
CAN通讯进阶- 错误帧/SSP/SJW/Tseg/Tq/Transceiver delay compensation
0 CAN通讯回读机制
CAN通信中多次提到的回读机制,指的是节点在向总线上发送报文的过程中,同时也对总线上的二进制位进行“回读”。通过这种机制,节点就可以判断出本节点发出的二进制位与总线上的二进制位是否一致。
1 什么是采样点 sample point
假如传输速率为2Mb/s,1s=10^9ns,2Mb=2*10^6bit,则一个bit时间Tb=500ns。
在Vector的配置工具中,定义Prop+Seg1 = TSeg1, Seg2 = TSeg2。
采样点:读取总线电平的时刻,并将读到的电平作为位值的点。位置在TSeg1结束处。
比如采样点为80%,意思是(同步段(1) + TSeg1)/(同步段+Tseg1+Tseg2) = 80%。
Sync Seg(同步段):长度固定为1Tq
举个例子:
如果一个BitTime中Tq总和固定了,比如为10个Tq,即同步段(1) + TSeg1 + TSeg2 = 10,其中TSeg1=7, TSeg2 =2,则采样点为(1+7)/(1+7+2)=80%。
延长/缩短TSeg段来达到同步:Prop和TSeg1段小,而TSeg2加大时,采样点前移;Prop+TSeg1段大,而TSeg2减小时,采样点后移。
SJW (reSynchronization Jump Width):重新同步补偿宽度,即在重新同步的时候,TSeg1和TSeg2段的允许加长或缩短的时间长度,SJW加大后允许误差加大,但通信速率下降。SJW为补偿此误差的最大值(即每一次误差补偿都不能超过这个值,1~4Tq)。
2 什么是 Transceiver delay compensation(收发器延时补偿)
2.1 背景-通讯回环检测
CAN控制器会将收发器RX pin的数据采样接收,用于判断TX pin的数据是否被成功发送,以便实现冲裁判断和错误处理。RX的回环检测是保证