2 软件设计
LIN主节点是LIN总线的控制者,它将决定在什么时候发送哪个报文到LIN总线上,同时它需要检测从节点和总线的工作状态。因为LIN主节点是通讯的发起者,在每个报文帧开始时它需要发送出同步间歇,同步字段以及标识字段。如果这个报文帧是发送控制命令到从节点,主节点接着将发送出数据字段及校验和字段;而如果这个报文帧是发送查询命令到从节点,此时主节点将从LIN总线读取从节点发送的数据字段和校验和字段。
LIN从节点用UART实现通讯,从中检出主节点发送给本从节点的命令,并执行相应动作。要正确实现LIN总线的通信,主从节点的初始化是非常重要的,图3、图4给出了主从节点的初始化流程图。其余还有LIN主节点UART接收数据流程图,LIN从节点中断服务流程图等限于篇幅不一一列出。
3 LIN总线通信测试
如前所述,一个LIN网络由一个LIN主节点和多个从节点组成,报文的传送方向和时间由主节点决定。从节点是根据报头中的ID号来决定是否接收一帧数据,在检测到正确的报文ID号后,从节点将根据ID号判断后续操作:是否接收后续数据或者发送数据到LIN总线,并初始化相应操作。在本子系统中,设计了两个从节点,定义的报文ID号如表1所示。
在LIN总线波特率设为9 600 b/s时,利用数字存储示波器对LlN从接点通信过程进行了测试。另外,还利用ZLGCANtest软件对LIN网络的通信功能做了测试,一切结果显示均正常,证明设计LIN网络的通信程序设计是正确的。
4 结语
在欧美、日本等发达国家,LIN总线被越来越多地应用到车身网络中,但在我国LIN总线的应用还处在起步阶段,因此对LIN总线通信的研究显得尤为重要。本文设计了基于PIC单片机的LIN总线主从节点,并实现了主从节点间的通信,其中,位定时的设定是影响通信速度的重要因素。该研究为下一步将LIN总线应用到汽车的联合装配控制单元中打下良好的基础。