在这次软件开发中,我使用VS 2008开发的一款基于UDP的通讯软件,并以此对LIN网络通讯进行仿真。UDP尽管并不是那么的可靠,但是在LIN这一低成本的串行总线网络内,它的速度优势是TCP无法比拟的。
该界面中,IP地址我选择为固定的,是本地地址,127.0.0.1,这样也比较方便,在此次软件模拟中通过多个端口实现信息从主节点向从节点,从节点与从节点之间实现信息交互,因此在界面相应栏内填上端口信息,并在指令栏输入指令,然后点击发送按钮即可实现信息的发送,但是在次之前,必须先要启动从节点接受线程。若连接有误,则会提示错误信息,如果真确连接,则不会有提示。只要按照正确的步骤来的话,在许多情况下是不会发生错误提示的相应的。
如图4.1 连接后的画面
4.2 LIN模块数据通信测试
LIN总线网络内传输的报文一般为8个字节,主节点发送数据后并由从节点接收到数据的情况如下图所示:
图 4.2连接后运行界面
4.3 基于仿真多LIN模块的简易车身通信协议测试
为达到测试仿真软件LIN协议通信的目的,本课题定义了基于仿真多LIN模块的简易车身通信协议,其定义如下表1。
表4-1简易车身通信协议数据帧定义
协议数据项 说明
数据帧 高四个字节暂不定义,默认为00000000;
低四位定义:第3行至6行(本表);
数据方向(第1个字节) 00:主节点广播消息;
01:主节点从节点;
02:从节点主节点;
FF:从节点请求主节点广播消息;
Else:不定义;
节点号(第2个字节) 00~FF;
器件号(第3个字节) 00~FF;
执行动作(第4个字节) 00:关闭;
01:打开;
02:不变;
03:打开变为关闭;
04:关闭变为打开;
05:读取状态断开;
06:读取状态闭合;
Else:不定义;
本文采用表2测试了具体数据帧收发与解析仿真。数据帧通过收发,实现主节点控制某个从节点(表2列出的测试从节点编号为01)执行相应动作。
表4-2 数据帧车身与功能仿真解析
测试编号 数据帧低四位 含义
01 01010100 将左前车窗关闭
02 01010101 将右前车窗打开
03 01010200 将右前车窗关闭
04 01010201 将右前车窗打开
05 01010300 将左后车窗关闭
06 01010301 将左后车窗打开
07 01010400 将右后车窗关闭
08 01010401 将右后车窗打开
例子1:发送的数据为“01010101”,并且作为从节点,在这里对其从左向右进行如下定义:首个“01”为数据发送方向,即主节点向车窗从节点发送信息;第二个“01”表示从节点编号;第三个“01”表示左车窗;最后一组“01”表示打开,则整条信息即为主节点向车窗从节点发送“将左前车窗打开”这一信息,如图4.3所示。在真实车内环境下,汽车中控台会有相应按钮,对应此条“01010101”指令,驾驶员在按下按钮的过程中,LIN主节点持续向从节点发送此条信息,则车窗处于持续打开状态,若驾驶员停止按此按钮,则指令停止发送,车窗也会停止在相应的高度。通过点击查看内容按钮,查看你所要知道到的指令和代码,并且对所要发送的指令进行增删改查,制定比较合理的指令存储,同时实现信息交互。 LIN总线车身系统逻辑控制的仿真设计(11):http://www.751com.cn/jisuanji/lunwen_2446.html