本文导读
LIN 是 Local Interconnect Network 的缩写,是基于 UART/SCI(Universal Asynchronous Receiver-Transmitter / Serial Communication Interface,通用异步收发器/串行通信接口)的低成本串行通信协议。可用于汽车、家电、办公设备等多种领域。
本文主要针对同星LIN主、从节点仿真功能以及其他功能的操作流程出一个详细教程。
一、同星LIN主节点仿真功能操作
1、硬件连接准备
使用同星LIN硬件仿真主节点模式下,需要外部电源供电,为了保持LIN总线电平信号跟被测件一致,连接示意图如下:
2、TSMaster软件操作流程
以下操作流程以TSMaster仿真LIN主节点,被测件从节点为LED灯为示例。
2.1 导入LDF文件数据库
通过数据库添加LED灯的LDF文件后,可以查看到LDF文件里的【节点】分别有【master】和【RGB_Slave】, 并包含了主节点调度表信息,报文和信号定义:
2.2 创建LIN发送窗口,进行LIN主节点配置
勾选【主节点模式】,然后选择运行调度表Run_normal,并选择仿真【master主节点】,可以看到调度表的两条报文已勾选。此时可以【部署】运行调度表。
▲【注意】:需要注意调度表中主从节点报文的发送方向。
仿真master主节点的报文方向:【发】
从节点响应的报文方向为:【收】
即:报文0x02为主节点发送给RGB从节点的控制报文,所以方向为发送,而报文0x10为从节点RGB给主节点反馈信息用,所以方向为接收。
2.3 LIN报文信息监测
正常情况下,调度表运行后,可以在LIN报文信息窗口查看到两条报文的数据内容,表明从节点与主节点正常通信并反馈数据。
▲非正常情况:如果出现从节点的报文响应数据为空,可以判断为从节点无响应,此时可以检测LIN总线连接是否正确或者LIN从节点供电是否正常等,下图所示
2.4 修改LIN主节点控制报文内容
在【LIN发送窗口】选择主节点报文如0x02,可以直接修改LIN信号的原始值或者物理值,进行报文信号赋值。
通过修改RGB三种不同颜色的信号数值,可以组合出来同的灯光色彩,如下图为RGB灯的点亮情况,供参考:
3. 【示例一】LIN诊断功能-自动分配地址
通常RGB点亮功能测试前,需要先对RGB灯进行自动分配地址,然后才能进行灯光颜色,亮度测试,版本号读取等等。
【背景】:根据LIN自动分配地址的协议,需要单次发送多条3C诊断报文进行地址分配,而TSMaster是可以通过【Single Frame】模式来完成。
RGB灯的自动分配地址的报文如下:
1.单次发送:7F 06 B5 FF 7F 01 02 FF
2.单次发送:7F 06 B5 FF 7F 02 02 01
3.单次发送:7F 06 B5 FF 7F 03 02 FF
4.单次发送:7F 06 B5 FF 7F 04 02 FF
【实操】:在TSMaster软件的【Single Frame】运行诊断指令,创建好相应报文后分别从上往下,单次发送报文行1、2、3、4,完成RGB的自动分配地址:
4. 【示例二】插入报文帧inject_lin_message函数的使用
有一个常见的使用场景,当仿真主节点正在运行调度表时,在不停止运行调度表的情况下,插入一帧其他的LIN报文帧,比如0x3C 报文,这个功能可以通过inject_lin_message函数来实现。
创建一个新的C脚本编辑器,选择【按键事件】,比如创建按键”A”执行插入报文。
示例代码如下:
TLIN f0 = {0,0×0,0x1,8,0x3C,0x0,0,0,{0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}};
com.inject_lin_message(&f0);
app.wait(10, “”);
然后编译运行C脚本,在已运行部署调度表的情况下,按下“A”键,在LIN报文消息可以观察到3C报文发送。
【TSMaster软件小技巧-快速生成LIN报文的C代码】:可以在调度表里新创建一条LIN报文,右键复制为C脚本,就可以把报文的C代码快速复制到脚本中。
二、同星LIN从节点/监听节点功能操作
1. 硬件连接准备
仿真从节点,可以不需要给同星LIN卡供电。
2. 仿真从节点发送响应报文
当同星LIN卡仿真为从节点时,ECU主节点需要发送调度表的报头Header,从节点响应报文才会正常发出。
本文以TSMaster 的LIN通道1仿真主节点运行调度表,LIN通道2仿真从节点响应报文0x10(Tech_Info_RGB_Slave) 。
首先,LIN通道1仿真主节点运行调度表,其中从节点响应报文的header方向为【收】:
部署运行之后,可以看到LIN从节点报文报头已发出,数据为空:
然后, LIN通道2仿真从节点发送响应报文0x10(Tech_Info_RGB_Slave),方向为【发】,修改数据内容:
2点击【部署】,可以从LIN报文信息里观察到从节点报文0x10成功发出响应报文,主节点同样接收成功。