引言
LIN(Local Interconnect Network)是一种针对汽车电子系统应用的串行通信协议,主要用于汽车电子控制单元(ECU)之间的通信。LIN总线的特点是成本低、速率低、通信距离短、连接节点少,主要用于对带块要求低、实时性要求不高的控制任务,例如车门控制、天窗控制、座椅控制、车内照明等功能。LIN总线采用的是主从式架构,由主节点基于调度表调度网络中的通信。
LIN总线的错误类型
尽管LIN协议设计简单,具有低带宽和低实时性,但它仍然采用多种错误检测和处理方法,以避免和纠正常见的通信错误。LIN总线错误类型主要包括位错误、同步段错误、PID错误、应答不完整错误、校验和错误、物理总线错误等。接下来我们将介绍常见的错误类型,便于大家理解不同错误类型的特点和出现的场景。
LIN总线错误类型介绍
1. 位错误
通常LIN 总线上只有一个节点在向外发送信息,发送的同时回读总线上的数据,当发送节点发送电平与回读电平不一致时,视为位错误。这种不一致可能是由于多种原因造成的,比如信号干扰、硬件故障或网络拥塞等。如图1所示,通过仿真干扰数据场,使发送节点回读到的byte 1与其发送的值不一致,所以出现了图中的RcvError位错误帧。
图1 位错误示例
2.同步段错误
接收节点通过同步场计算出的数据传输速率超过了预先设定的正常范围,这可能意味着传输过程中出现了异常情况,比如信号干扰、硬件故障或配置错误等。如图2中的Invalid sync byte是因为接收端设置的速率与发送端不同,导致接收端收到后由于速率超出预设范围出现同步段错误。
图2 同步段错误示例
3.PID错误
奇偶校验的主要作用是检测帧头传输过程中的单比特错误,如果在传输过程中报文ID的某个位发生了错误,接收方通过校验规则计算奇偶校验位的值并与接收到的奇偶校验位进行比对,来确定ID场数据是否发生了错误,如果不一致则认为发生了PID(Protected identifier)错误。图3中Not responded invalid header仿真了错误的PID 0x15,导致出现PID错误。
图3 PID错误示例
4.无应答错误
LIN主节点发送报头后,没有节点响应(事件触发帧除外)即为无应答错误。图4中的发送错误(TransmError)是指有主节点发送报头,而没有收到从任务响应时出现无应答错误。
图4 无应答错误示例
应答不完整错误
LIN主节点在发送报头后,如果接收到的响应中数据场缺失或未收到校验和段,则认为应答不完整错误。如图5中short response就是仿真了从节点短的应答,属于应答不完整错误的一种。
图5 应答不完整错误示例
6.校验和错误
接收节点计算的校验和与接收到的校验和字段不匹配即为校验和错误,图6中错误帧的出现是因为干扰了校验和,使得校验和不匹配,出现校验和错误。
图6 校验和错误示例
7.物理总线错误
总线短路或直接连到电源上导致总线无法通信,该错误由主机节点负责检测。图7中Dominant signal是通过将LIN总线短路到电源,从而出现持续的显性电平错误。
图7 物理总线错误示例
总结
了解 LIN总线的错误类型对于开发、测试均具有极大的好处。通过对错误类型的全面了解,开发人员可以提前预测和避免潜在的问题,增强系统的稳定性、容错能力和安全性,从而提升系统整体的可靠性和性能。对于测试人员来说则可以更加从容应对总线测试过程中出现的各种异常情况,提高测试的效率和质量。
北汇信息专注于汽车电子测试,与众多OEM和Tier1合作,在车载通信、诊断刷写、OTA、车内网络安全、域控制器功能测试等领域积累了丰富的经验,并可提供相关培训、咨询服务以及测试解决方案,如果需要相关的服务或了解更多信息,欢迎大家来联系我们。
参考文献
【1】 《LIN Specification Package Revision 2.1》