总线数据库设计(一)
玫瑰柒
|
2019.12.31
|
0
+关注

总线数据库的设计需要针对某一仿真工程,因此我们先来创建一个Motor-Speed的仿真项目。然后在针对它设计对应的总线数据库。

1. 创建仿真工程Motor-Speed

依据前面介绍的方法,创建一个仿真工程Motor-Speed。并在其下面创建CANdb、Nodes、Panels等子文件夹。

2.创建数据库MotorSpeed
选择CAN Template.dbc作为模板。创建打开MotorSpeed的数据库。导航区会自动出现包含Networks、ECUs、Environment variables、Networks Nodes、Messages、Signals,在导航区会显示所有对象之间的关系如图1所示。

图1 数据库对象之间关系

3. Networks总线属性编辑
右击MotorSpeed,选择Edit Networks进入总线属性编辑,将Definition中的Protocol 属性改为CAN总线。如图2所示。

图2 总线属性编辑

4. Networks Nodes
在导航区右击Networks Nodes,新建三个网络节点,Motor、Door、和Display,地址分别为1、2、3。完成后如图3示。

图3 创建Networks Nodes

5. Messages
创建MotorState的报文,选择标准CAN,标识符ID为0x100,数据长度为2。在Transmitters选项卡中单击Add按钮,将Motor添加到发送节点。同样的方法创建DoorState的报文,ID为0x200,数据长度为1,发送节点为Door。创建完成后,报文已被添加到相应的节点下,如图4所示。

图4 Messages 设置完毕界面

6、创建Signals(信号)
创建4个信号:马达速度(MotorSpeed),马达状态(OnOff),左车门开关状态(Door_L)和右车门开关状态(Door_R)并分别关联到报文MotorState和DoorState中。MotorSpeed参数设置如图5所示。

图5 Signal MotorSpeed设置参数界面

图5中定义了Factor和Offset定义了raw value与physical value之间的关系。raw value是CAN报文发到总线上的十六进制数据,physical value是信号所表的物理量的值。图中的Inti. Vlue、Minumum、Maximum均为physical value。

raw value与physical value的关系为:physical value=[raw value]*[ Factor]+ [Offset]
在Message选项卡中单击Add将信号关联到报文MotorState中,如图6所示。

图6 将信号关联到报文界面

同样的方法,添加信号(OnOff)和左车门开关状态(Door_L)和右车门开关状态(Door_R)。并将其分别关联到报文MotorState和DoorState中。

7、设置接收节点

单击Networks Nodes,右击Display,选择Eidt Node,在弹出的对话框中,选择Mapped Rx Sig.选项卡,单击单击Add按钮,将信号MotorSpeed添加到其中。同样的将其他信号也加入其中,最后的结果如图7所示。

图7 为Display添加接收信号

本部分内容我们主要完成了总线数据库的创建,并编辑了数据库的第一部分。下一部分内容我将完成该工程的数据库设计的第二部分。

精选留言
延伸阅读
2020.11.20
2916阅读
更多报告干货
写留言
2334
阅读
收藏
回到顶部