一种CAN信号解包处理方法及系统与流程

文档序号:20369459发布日期:2020-04-14 12:56阅读:749来源:国知局
一种CAN信号解包处理方法及系统与流程

本发明涉及汽车电子控制领域,尤其涉及一种can信号解包处理方法、系统。



背景技术:

随着汽车电子控制技术的日新月异,电控单元数量以及程序复杂程度也在增加,汽车的ecu节点不再是简单的个体单元,而是以域为单位进行域间协同工作。而通讯数据的稳定准确已成为协同工作的基础,对于总线传递的can信号,仪表控制器需要通过接收外部can报文解析出正确信号,实现对仪表显示器显示控制。

对于接收的离散定义的can信号解包,控制器需要支持不同协议和帧格式。实际中,不同can信号定义不清、频繁发生变更,导致仪表控制器中软件更新迭代过于频繁,进而增加开发人员工作量。



技术实现要素:

有鉴于此,本发明实施例提供了一种can信号解包处理方法及系统,以解决的can信号频繁变更导致开发人员工作量过大的问题。

在本发明实施例的第一方面,提供了一种can信号解包处理方法,包括:

获取首次接收的can解包信号定义,编辑形成candbc数据库文件,并记录每次发生变更的can解包信号;

利用simulink工具导入并解析当前最新的candbc,建立simulink模型;

根据所述simulink模型生成嵌入式代码,将所述嵌入式代码集成至控制器嵌入式软件中。

在本发明实施例的第二方面,提供了一种can信号解包处理系统,包括:

编辑模块,用于获取首次接收的can解包信号定义,编辑形成candbc数据库文件,并记录每次发生变更的can解包信号;

建立模块,用于利用simulink工具导入并解析当前最新的candbc,建立simulink模型;

集成模块,用于根据所述simulink模型生成嵌入式代码,将所述嵌入式代码集成至控制器嵌入式软件中。

在本发明实施例的第三方面,提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明实施例第一方面所述方法的步骤。

在本发明实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例第一方面提供的所述方法的步骤。

本发明实施例中,对接收的can解包信号定义,编辑形成candbc数据库文件,通过dbc数据库文件版本,管理每次can解包信号变更记录,利用simulink工具导入并解析当前最新的candbc,建立simulink模型,利用simulink模型生成嵌入式代码,将所述嵌入式代码集成至控制器嵌入式软件系统中。从而解决了can解包信号频繁变更,软件迭代频繁,导致开发人员工作量过大的问题,基于每次变更形成的candbc数据库,可以支持控制器软件快速迭代更新,减少开发人员工作量,方便软件开发利用。同时能做到单次输入确认,记录每次数据库文件变更,方便管理追溯。能快速支持自定义测试报文,将软件中需要重点监测的数据定义到测试报文中,快速支持软件迭代、集成。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见地,下面描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获取其他附图。

图1为本发明的一个实施例提供的can信号解包处理方法的流程示意图;

图2为本发明的一个实施例提供的can信号解包处理系统的结构示意图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

本发明的说明书或权利要求书及上述附图中的术语“包括”以及其他相近意思表述,意指覆盖不排他的包含,如包含一系列步骤或单元的过程、方法或系统、设备没有限定于已列出的步骤或单元。

请参阅图1,本发明实施例提供的一种can信号解包处理方法的流程示意图,包括:

s101、获取首次接收的can解包信号定义,编辑形成candbc数据库文件,并记录每次发生变更的can解包信号;

所述can解包信号即can(controllerareanetwor,控制器域网)信号,是基于can总线传输的需要进行解析的报文。不同的can解包信号,定义的协议格式可能不同,通过dbc数据库接收生成的can信号,确认can解包信号的定义,具体可以通过vector官网获取vectorcandb++。

可选的,在candbc数据库文件中记录每次can信号定义变更、can信号增加或删除前后文件版本变更。每次发生can解包信号增加、定义变更,更新一次candbc数据库,通过candbc数据库文件版本管理,获取需求变更。

将所有can解包信号定义编辑到candbc数据库文件中,形成确认的数据库,并进行核查正确性。

s102、利用simulink工具导入并解析当前最新的candbc,建立simulink模型;

所述simulink为一种可视化仿真工具,可以实现动态建模、分析。根据数据库最新的candbc文件,可以构建基于can通信的simulink模型。

在simulinklibrary中选择使用canunpark模型,双击模型进行配置,配置主要包括:导入candbc数据库路径及文件、从candbc数据库中一次选择一个报文、从candbc数据库中选定报文的信号添加需要解析的信号。

可选的,根据can解包信号变更内容,对所述simulink模型进行调整及变更升级。在can解包信号发生增减或定义变更时,首先需要编辑、变更的candbc数据库文件,对dbc数据库文件中文件版本进行管理,针对变更的内容,对simulink模型进行调整和变更升级。

s103、根据所述simulink模型生成嵌入式代码,将所述嵌入式代码集成至控制器嵌入式软件中。

一般的,在simulink的simulinkcoder工具箱中提供了将模型转化为可优化的嵌入式c代码。

根据控制器主芯片的配置通过simulink模型的代码定制生成对应配置,如定制生成符合nxp公司m4芯片的软件。配置完成后形成了基于simulink的可导入解析candbc文件的模型,直接使用simulink模型生成代码供嵌入式系统使用。如使用s32k144为mcu硬件平台的嵌入式软件,集成定制生成的代码。集成到嵌入式软件后,在嵌入式软件ide中编译,集成编译通过,即可实现在控制器嵌入式软件中代码集成。

通过本实施例提供的方法,能做好单次输入确认,并且以数据库文件的形式记录下来;可根据数据库变更记录做好输入变更管理;可用变更形成的数据库,直接支持软件的快速迭代变更升级,保障软件开发的准确性和维持最小变更工作量。

相对于传统作业,实施例中方案高度契合汽车电子开发的v模型开发流程,既可以保障信号输入确认,同时方便对需求变更及需求版本管理,反向支持管理客户。设计开发以输入确认的数据库为依据直接关联,将需求分析和设计开发关联,以输入确认的数据库为依据,规避了沟通不足、需求分析缺失的问题,提高了设计开发的效率,使需求管理和设计开发双向良性影响。同时,支持了基于can外发报文监测,辅助分析软件。

应理解,上述实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

图2为本发明实施例提供的一种can信号解包处理系统的结构示意图,该系统包括:

编辑模块210,用于获取首次接收的can解包信号定义,编辑形成candbc数据库文件,并记录每次发生变更的can解包信号;

可选的,所述编辑模块210包括:

记录单元,用于在candbc数据库文件中记录每次can解包信号定义变更、can解包信号增加或删除前后文件版本变更。

建立模块220,用于利用simulink工具导入并解析当前最新的candbc,建立simulink模型;

可选的,所述建立模块220包括:

调整单元,用于根据can解包信号变更内容,对所述simulink模型进行调整及变更升级。

集成模块230,用于根据所述simulink模型生成嵌入式代码,将所述嵌入式代码集成至控制器嵌入式软件中。

在本发明的一个实施例中提供了一种用于红外目标图像分割的电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明实施例中s101至s103步骤。

在本发明的一个实施例中还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述实施例提供的红外目标图像分割方法,所述非暂态计算机可读存储介质包括如:rom/ram、磁碟、光盘等。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1