|
一、LIN总线协议栈模块划分 LIN总线分为如下几个协议层:物理层、通信层、网络管理层、诊断层。如下图, 物理层:满足LIN2.0/LIN2.1规范要求。 通信层:也就是协议数据层,信号管理,帧传输,调度等。 网络管理:主从模式下的,唤醒、睡眠等功能。 诊断层:依据ISO15765传输层要求,实现单帧,多帧的UDS诊断服务。
二、详细描述 LIN Driver Layer: 该层负责LIN数据的收发接口,及物理层参数配置(波特率,帧同步等),MCU具有SCI/UART 接口即可,编程完成驱动部分的处理。 Communication Layer: 主节点报文抱头发送调度,从节点报文的响应。负责帧发送类型(无条件、事件、偶发)处理 上传数据和解析信号。 NM Layer: 负责ECU唤醒、睡眠、错误处理等。
Diagnose Layer(ISO15765&UDS): UDS诊断功能实现是基于CAN总线转换为LIN方式实现,对于主节点,诊断TESTER接入OBD接口 CAN网络,LIN主节点通过CAN总线接收Tester诊断报文,内部转换为LIN协议,负责调度发送LIN诊 断报文到LIN从节点。诊断分为CLASS1,CLASS2,CLASS3三个级别。 级别1:主节点读取故障DTC;只支持节点配置服务。 级别2:满足级别1功能,还可以读取系列号,产品ID等信息;支持多帧传输。 级别3:满足级别1/2功能,还支持在线刷写ECU;节点地址配置,多帧传输等。 FBL在线升级: 基于LIN总线,通过OBD口CAN总线升级ECU。 |