一种低成本的车辆控制器CAN信号模拟系统技术方案

技术编号:36686798 阅读:23 留言:0更新日期:2023-02-27 19:50
本发明专利技术属于交通技术领域,公开了一种低成本的车辆控制器CAN信号模拟系统:参数配置模块,用于配置CAN信号模拟的参数;报文生成模块,CAN报文收发前加载项目的DBC文件,基于DBC文件对接收到的第一CAN报文进行解析,得出每一帧报文下所包含的信号,以及每个信号对应的信息,根据CAN网络矩阵的功能定义和接收到的信号,按需求进行信号响应,构建出第二CAN报文;报文发送模块,用于进行周期帧或者事件帧发送;GUI显示界面,用于显示第一CAN报文、第二CAN报文、以及每个信号对应的信息。本发明专利技术解决了CAN信号模拟工具不便携带、成本高的问题。成本高的问题。成本高的问题。

【技术实现步骤摘要】
一种低成本的车辆控制器CAN信号模拟系统


[0001]本专利技术属于交通
,具体涉及一种低成本的车辆控制器CAN信号模拟系统。

技术介绍

[0002]目前在车机开发过程中,信号传递通常是由app层到中间件再到MCU层,然后MCU再发送到CAN总线上,对应的到达各个控制器节点。因此开发过程中需要实时验证,通常通过查阅CAN网路矩阵,使用CAN

OE、CANTEST等工具导入相应的DBC文件,然后在工具中手动编写所需要的CAN报文进行发送。同样的测试人员在进行车机功能点检时,由于台架无法做到连接每一个车身的控制器,车机的CAN信号相关的功能点检,在测试功能时得不到CAN信号的返回响应,因此对于测试人员无法对车机功能进行有效的测试。
[0003]对于和CAN信号收发相关的软件开发的人员,开发过程中需要实时的进行CAN信号收发测试,而查阅整车CAN网络矩阵及相关功能信号,并手动输入CAN报文通过CAN

OE、CANTEST收发测试需要花费大量的时间和精力,且CAN

OE等硬件设备价格昂贵,通过设备数量有限需要协调使用十分不便。同样的对于车机测试人员来说更为不便,需要一个便捷式的工具来进行辅助开发测试。

技术实现思路

[0004]针对上述提出的技术问题,本专利技术提供一种低成本的车辆控制器CAN信号模拟系统,旨在专利技术一种低成本、便携式的CAN报文接收和发送工具。
[0005]本专利技术提供了一种低成本的车辆控制器CAN信号模拟系统,包括:
[0006]参数配置模块,用于配置CAN信号模拟的参数;
[0007]报文生成模块,CAN报文收发前加载项目的DBC文件,基于DBC文件对接收到的第一CAN报文进行解析,得出每一帧报文下所包含的信号,以及每个信号对应的信息,根据CAN网络矩阵的功能定义和接收到的信号,按需求进行信号响应,构建出第二CAN报文;
[0008]报文发送模块,用于进行周期帧或者事件帧发送;
[0009]GUI显示界面,用于显示第一CAN报文、第二CAN报文、以及每个信号对应的信息。
[0010]具体地,定义硬件类型参数,设置VCI_USBCAN2=4;
[0011]VCI_BOARD_INFO结构体包含USB

CAN系列接口卡的设备信息;
[0012]在VCI_ReadBoardInfo函数中填充结构体;
[0013]在发送函数VCI_Transmit和接收函数VCI_Receive中,传送CAN信息帧;
[0014]初始化之前,在VCI_InitCan函数中填充结构体。
[0015]具体地,在功能函数中调用VCI_OpenDevice函数打开设备,通过DecIndex参数来设置CAN硬件的两个通道;
[0016]设备开启后调用VCI_InitCan函数初始化指定的CAN通道,填充VIC_INIT_CONFIG结构体;
[0017]初始化完CAN通道后,调用VCI_GetReceiveNum获取CAN缓存区的数据,通过VCI_
Receive接收CAN缓存区的CAN帧结构体,读取CAN帧结构体中的数据得到第一CAN报文;
[0018]构建好第二CAN报文后,将第二CAN报文初始化为CAN帧结构体,通过VCI_Transmit函数进行发送。
[0019]具体地,使用Python with open读取项目的DBC文件,通过设置构造器frame,将每一帧报文构建为一个frame,frame的格式为(frame.id,frame.signals),其中frame.id为帧报文的ID,frame.signals为帧报文的信号集;
[0020]将信号集放在Signal构造器中,通过Signal.name查看信号名,Signal.startBit为信号的起始位,通过Signal.size查看信号长度,通过Signal.offset查看信号的偏移量,通过Signal.factor查看信号的精度,通过Signal.comment查看注释信息。
[0021]具体地,在进行信号反馈时,根据发送的信号值重新构造一帧CAN报文进行发送。
[0022]具体地,GUI显示界面的菜单栏设置有设备操作和加载DBC两个按钮;
[0023]设备操作包括打开设备和关闭设备两个功能,用于控制设备的连接和断开;
[0024]加载DBC以文件的方式加载项目的DBC文件并进行解析。
[0025]具体地,打开设备后显示数据处理界面,数据处理界面包括父类和子类两部分;
[0026]父类中显示一帧CAN报文的ID、CAN报文类型、周期帧时间Δt、帧数据;
[0027]子类中显示帧CAN报文所有的信号,以及每个信号对应的信息。
[0028]具体地,CAN数据接收线程中,将接收到的数据储存在接收数据列表buffer中,其中,接收数据列表buffer包括ID、数据类型、时间参数、CAN报文,数据类型为接收;
[0029]数据接收线程中内置了根据DBC文件对数据进行识别的功能,当识别到需要模拟控制器进行回复的信号时,构建发送的第二CAN报文,同步开启发送函数线程,进行周期或事件帧的发送。
[0030]具体地,将要发送的数据储存在发送数据列表buffer中,其中,发送数据列表buffer包括ID、数据类型、时间参数、CAN报文,数据类型为发送;
[0031]GUI显示线程从接收数据列表buffer和发送数据列表buffer中进行同步读取数据,将从接收数据列表buffer和发送数据列表buffer中读取到的每个列表元素数据显示在父类treeWidght中;
[0032]相同ID的报文进行覆盖,通过接收数据列表buffer和发送数据列表buffer中的时间参数相减,作为时间差值Δt;
[0033]加载DBC文件后,将对应的CAN报文下的每个信号及其信号长度、因子、偏移量、信号值、注释信息插入到对应ID下,作为children_treeWidght。
[0034]具体地,每个信号对应的信息具体包括信号名、信号值、起始位、信号长度、精度、偏移量和注释信息。
[0035]与现有技术相比,本专利技术的有益效果至少如下所述:
[0036]1、车辆CAN信号通常是由APP层下发至中间件,再由中间件下发到MCU,由MCU下发至各个车身控制器。而该模拟工具可直接代替各个控制器进行CAN信号的反馈。可以方便项目开发,以及测试人员进行CAN信号相关的测试,便捷台架的搭建使用。
[0037]2、该工具是基于USB

CAN硬件设备,对于车机软件开发和测试人员可做到人手一台,提高开发人员的开发效率,降低开发成本。
附图说明
[0038]图1为本专利技术的一种低成本的车辆控制器CAN信号模拟系统的结构示意图;
[0039]图2为本专利技术的一种本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种低成本的车辆控制器CAN信号模拟系统,其特征在于,包括:参数配置模块,用于配置CAN信号模拟的参数;报文生成模块,CAN报文收发前加载项目的DBC文件,基于所述DBC文件对接收到的第一CAN报文进行解析,得出每一帧报文下所包含的信号,以及每个信号对应的信息,根据CAN网络矩阵的功能定义和接收到的所述信号,按需求进行信号响应,构建出第二CAN报文;报文发送模块,用于进行周期帧或者事件帧发送;GUI显示界面,用于显示所述第一CAN报文、所述第二CAN报文、以及所述每个信号对应的信息。2.根据权利要求1所述的一种低成本的车辆控制器CAN信号模拟系统,其特征在于:定义硬件类型参数,设置VCI_USBCAN2=4;VCI_BOARD_INFO结构体包含USB

CAN系列接口卡的设备信息;在VCI_ReadBoardInfo函数中填充结构体;在发送函数VCI_Transmit和接收函数VCI_Receive中,传送CAN信息帧;初始化之前,在VCI_InitCan函数中填充结构体。3.根据权利要求2所述的一种低成本的车辆控制器CAN信号模拟系统,其特征在于:在功能函数中调用VCI_OpenDevice函数打开设备,通过DecIndex参数来设置CAN硬件的两个通道;所述设备开启后调用VCI_InitCan函数初始化指定的CAN通道,填充VIC_INIT_CONFIG结构体;初始化完所述CAN通道后,调用VCI_GetReceiveNum获取CAN缓存区的数据,通过VCI_Receive接收所述CAN缓存区的CAN帧结构体,读取所述CAN帧结构体中的数据得到所述第一CAN报文;构建好所述第二CAN报文后,将所述第二CAN报文初始化为CAN帧结构体,通过VCI_Transmit函数进行发送。4.根据权利要求1所述的一种低成本的车辆控制器CAN信号模拟系统,其特征在于:使用Python with open读取所述项目的DBC文件,通过设置构造器frame,将每一帧报文构建为一个frame,frame的格式为(frame.id,frame.signals),其中frame.id为所述帧报文的ID,frame.signals为所述帧报文的信号集;将所述信号集放在Signal构造器中,通过Signal.name查看信号名,Signal.startBit为信号的起始位,通过Signal.size查看信号长度,通过Signal.offset查看所述信号的偏移量,通过Signa...

【专利技术属性】
技术研发人员:宗雄娄坤帅叶俊杰
申请(专利权)人:东风汽车集团股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1