汽车电子-使用GENY移植增加CAN协议的合并

简介: 汽车电子-使用GENY移植增加CAN协议的合并

1-GENY移植增加CAN协议


合并两个不同的DBC文件

如果是两个不同的DBC文件需要使用文本先进行文件的合并,把对应的协议加入进来。比如添加0x375ID的协议。如下图1,2第一个是需要添加的文件:

图1

图2

然后对上面的文件进行复制加入到你的文件之中,如若你加入的ID中名称和你使用的文件有名称重复,请修改该名称,防止因函数名称相同导致函数调用出错或者编译出错。如下图3和图4。

图3

图4



添加完成后保存即可(添加完成后先使用vector CANdb++软件打开,看看会不会提示错误,如果提示错误请在记事本中查看是否是名称或者其他问题)。之后在使用geny进行代码的生成。

geny添加CAN协议

打开GENY文件,在哪个通道添加CANID协议就在选择哪个通道,其他的不要更改(如果需要更改的话,可以更改)如下图所示,

之后选择需要添加的DBC文件。如下图所示:

之后选择需要添加的协议,如下图所示,本文举例:

之后点击OK完成。

之后可以看到添加成功,如下图,所示:

如果你还需要对消息信号内单个信号进行设置,对上图所示右侧进行修改,如下图:

  1. 要加入到某一节点中需要对其进行更改,例如本例把0x375ID添加到IHU。如下图:

上面全部完成之后就是代码生成,然后添加到对应的文件夹里面就行。

  1. 代码生成

如下图所示选择代码生成的路径选择。

完成上图之后,点击如下图红色选中的部分进行代码生成。

DBC处理辅助工具的使用

找到DBC处理辅助工具并打开,如下图是DBC辅助处理工具:

  1. 打开软件后,选择打开文件找到需要添加的DBC文件,如下图所示:

640.png

  1. 完成上面后,点击文件处理,等待一会,列表里面会显示节点、消息、信号,如下图所示:

选择要添加的信号,比如我要添加IHU节点,GW_BCM_2_A消息中的所有信号,只需要先选择IHU-->GW_BCM_2_A-->信号列表包含GW_BCM_2_A消息的信号(也可根据实际需要进行选择信号的添加)。如下图所示:


完成上述之后点击生成表格,表格中包含IHU节点GW_BCM_2_A消息中的信号,如下图所示:

3-总线IL接口生成器的使用

1-打开软件选择Excel文件(由DBC处理辅助工具生成的表格文件,注意格式:需要后缀为XLSX的文件,如果不是使用Excel打开另外保存XLSX格式),如下图所示:

2-点击生成代码。

之后等待一会儿,会有提示操作完成(文件越大时间越长)。这样就操作完成了,如下图是生成的代码:

最后只需要把生成的代码文件添加到你的文件中就可以了。

4移植

如果需要添加CAN 协议,在上面3个章节完成之后就可以进行代码的移植工作。首先进行geny生成的代码移植。

geny生成的代码直接将GenBuilt中的代码进行覆盖,如下图是路径和文件假的选择:

在对总线IL接口生成器生成的代码进行移植,和geny一样直接把对应的文件进行覆盖,如下图所示。

在完成上面两部分之后,打开工程文件看你需要的ID是否添加进去,以0x375为例(具体有哪些文件还需要根据设计需求进行确定)。如下图:

当代码进行移植覆盖后,编译运行是否出现报错,然后根据错误描述进行更改。

当编译无误后,在进行其他代码的添加。主要就是确保你添加的协议是通的,因ID不一样添加的可能有所不同,但是主要就是以下几点:阻塞时间函数、接收发送获取等,然后编写车门状态的代码。然后使用CAN工具查看能否接收到。

确保CAN通之后,可以通过SOC查看SPI信息,这时候需要把串口接到SOC中。

相关文章
|
9月前
|
测试技术
LabVIEW如何减少下一代测试系统中的硬件过时4
LabVIEW如何减少下一代测试系统中的硬件过时4
47 1
|
9月前
|
XML 编解码 API
LabVIEW如何减少下一代测试系统中的硬件过时5
LabVIEW如何减少下一代测试系统中的硬件过时5
48 1
|
9月前
|
编解码 API
LabVIEW如何减少下一代测试系统中的硬件过时 1
LabVIEW如何减少下一代测试系统中的硬件过时 1
49 0
|
9月前
|
API Go
LabVIEW如何减少下一代测试系统中的硬件过时6
LabVIEW如何减少下一代测试系统中的硬件过时6
50 1
|
9月前
|
网络协议 Windows
LabVIEW如何减少下一代测试系统中的硬件过时3
LabVIEW如何减少下一代测试系统中的硬件过时3
51 0
|
9月前
|
XML 存储 数据格式
LabVIEW如何减少下一代测试系统中的硬件过时2
LabVIEW如何减少下一代测试系统中的硬件过时2
46 0
|
人工智能
西门子S7-300的硬件结构,各模块按照什么顺序来组态?
今天我们来介绍一下西门子S7-300的硬件结构,并和大家讲一下S7-300各模块是按照什么顺序来组态的。
西门子S7-300的硬件结构,各模块按照什么顺序来组态?
|
传感器 数据采集 物联网
Golang硬件控制:将软件力量扩展到物理世界
Golang硬件控制:将软件力量扩展到物理世界
|
芯片
一文搞懂I2C协议-硬件基础
I2C总线是由飞利浦在80年代初设计的,以允许位于同一电路板上的组件之间能够轻松通信。其大大简化了电路的设计,早期的电视机中很多地方用到了I2C这种通信方式。飞利浦半导体于2006年迁移到了NXP。I2C名称翻译为“ Inter IC”。有时,该总线称为IIC或I²C总线。I2C总结的基本的特征
1241 0
|
前端开发 芯片
【芯片前端】保持代码手感——握手型同步fifo的进一步拓展
【芯片前端】保持代码手感——握手型同步fifo的进一步拓展
111 1