lin总线在汽车网络开发中比较重要,不同于CAN总线,LIN总线为主从总线,只能拥有一个主节点,主节点决定总线上发送的报文,从节点根据主节点发送的header发送相应的回复。本次实验使用的芯片为S32K116,收发器使用的是TJA1028TK,调试工具为PE,通信工具为tomoss白盒,驱动代码为S32DS的SDK,其中从节点的驱动未集成协议栈,仅实现底层收发。主节点驱动集成了S32K自带的协议栈。调试完毕,主从节点功能已实现。
1.从节点:使用的是LIN组件
图形化界面配置完成后,注册一个LIN中断回调函数。回调函数内判断ID,然后发送和接收对应数据。
发送id 0x16 接收id 0x15 主节点从节点发送数据均设为1-8,LINpro设置为主机。
2.主节点:使用LIN STACK组件,ldf为demo中的ldf,配置为master模式。
初始化LIN时,需要初始化调度表,调用生成的接口给发送的值赋值,接收的值用放进定义的变量(均为RAW值):
linpo:
总结:
开发过程中,使用sdk的demo是非常快和非常迅速的,可以节省很多时间。本次实验并未完善lin主节点切换调度表的过程,待完善。