LIN总线车身系统逻辑控制的仿真设计(11)
时间:2017-01-18 13:27 来源:毕业论文 作者:毕业论文 点击:次
在这次软件开发中,我使用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主节点持续向从节点发送此条信息,则车窗处于持续打开状态,若驾驶员停止按此按钮,则指令停止发送,车窗也会停止在相应的高度。通过点击查看内容按钮,查看你所要知道到的指令和代码,并且对所要发送的指令进行增删改查,制定比较合理的指令存储,同时实现信息交互。 (责任编辑:qin) |