CN116822480A - 一种汽车控制器诊断模块a2l文件的生成方法 - Google Patents

一种汽车控制器诊断模块a2l文件的生成方法 Download PDF

Info

Publication number
CN116822480A
CN116822480A CN202310777554.1A CN202310777554A CN116822480A CN 116822480 A CN116822480 A CN 116822480A CN 202310777554 A CN202310777554 A CN 202310777554A CN 116822480 A CN116822480 A CN 116822480A
Authority
CN
China
Prior art keywords
file
variable
information
generating
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310777554.1A
Other languages
English (en)
Inventor
殷雪
余盼霞
王银
张学勇
刘斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing Changan Automobile Co Ltd
Original Assignee
Chongqing Changan Automobile Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chongqing Changan Automobile Co Ltd filed Critical Chongqing Changan Automobile Co Ltd
Priority to CN202310777554.1A priority Critical patent/CN116822480A/zh
Publication of CN116822480A publication Critical patent/CN116822480A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Vehicle Cleaning, Maintenance, Repair, Refitting, And Outriggers (AREA)

Abstract

本发明提出一种汽车控制器诊断模块A2L文件的生成方法,涉及汽车控制器开发的技术领域,首先根据预设的表格模板填写汽车控制器的诊断信息,再对表格中每一行诊断信息的数据进行遍历处理,在遍历过程中判断诊断信息的数据是否处于预设范围内,将预设范围内的诊断信息的数据写入结构体数组,然后将结构体数组格式化输出为包含空地址信息的A2L文件,最后更新包含空地址信息的A2L文件的变量地址,生成参与汽车控制器标定的诊断模块A2L文件,独立生成汽车控制器诊断模块的A2L文件,从而减少工程项目整体A2L文件生成时间,高效便捷。

Description

一种汽车控制器诊断模块A2L文件的生成方法
技术领域
本发明涉及汽车控制器开发的技术领域,具体涉及一种汽车控制器诊断模块A2L文件的生成方法。
背景技术
汽车控制器的软件设计架构通常包含多个模块,如上电、下电、NVM(Non-volatileMemory,非易失性内存)存储、离合器控制、诊断模块等,其中,通过诊断模块实现对控制软件CAN(Controller Area Network,控制器局域网总线)信号、传感器信号、电磁阀电流信号等信号数据的实时监控、在线诊断、故障提示、故障码存储等功能。
通常,在汽车控制器软件的集成发布过程中,除了需要必须的刷写文件,还包含整个工程的A2L(ASAM MCD-2MC Language)文件。A2L文件是汽车控制器标定时必须用到的描述文件,它包含汽车控制器通信相关的参数,以及标定变量、测量变量的类型、地址、转化公式等信息,通过A2L文件可对汽车控制器进行标定、测试。
现有技术公开了一种自动生成A2L文件的方法和装置,首先设置MATLAB(MatrixLaboratory,矩阵实验室)模型环境,获取输入输出接口数据库,再根据MATLAB模型环境和输入输出接口数据库,生成A2L输入输出接口模型,最后根据A2L输入输出接口模型生成A2L模板文件,实现低成本的A2L文件自动生成。但是,该方案一方面需要依赖MATLAB等专业工具软件生成A2L文件,另一方面,该方案只能生成整个工程项目整体的A2L文件,对于功能策略多的汽车控制器而言,基于整个工程项目生成A2L文件需要的时间较长,效率较低。
发明内容
为解决当前汽车控制器的A2L文件生成耗时较长、效率较低的问题,本发明提出一种汽车控制器诊断模块A2L文件的生成方法,独立生成汽车控制器诊断模块的A2L文件,提高了A2L文件的生成效率。
为了达到上述技术效果,本发明的技术方案如下:
一种汽车控制器诊断模块A2L文件的生成方法,包括:
S1.根据预设的表格模板填写汽车控制器的诊断信息;
S2.对表格中每一行诊断信息的数据进行遍历处理,在遍历过程中,判断诊断信息的数据是否处于预设范围内,将处于预设范围内的诊断信息的数据写入结构体数组;
S3.将结构体数组格式化输出为包含空地址信息的A2L文件;
S4.更新包含空地址信息的A2L文件的变量地址,生成参与汽车控制器标定的诊断模块A2L文件。
本技术方案在表格模板填写汽车控制器的诊断信息,对表格中每一行预设范围内的诊断信息的数据写入结构体数组,将结构体数组格式化输出,单独生成诊断模块的A2L文件,并对A2L文件的变量地址进行更新,减少对专业工具软件的依赖,提高了A2L文件的生成效率。
优选地,在步骤S1中,所述诊断信息包括:故障名称、滤波时间、恢复时间、确认故障码置位所需操作循环个数、清除确认故障码所需暖机循环个数、替换策略。
优选地,在步骤S2中,判断诊断信息的数据是否处于预设范围内,其中,滤波时间和恢复时间的预设范围为0~65535,确认故障码置位所需操作循环个数、清除确认故障码所需暖机循环个数的预设范围为0~255。
优选地,在步骤S2中,对表格中每一行诊断信息的数据进行遍历处理时,将每一行的替换策略转换为一个无符号32位类型的变量,所述无符号32位类型的变量的每一位分别以BOOL(布尔)类型表示变量信息0或1。
优选地,在步骤S2中,将表格中每一行处于预设范围内的诊断信息的数据作为存储变量,将所述存储变量的变量信息写入结构体数组中,所述存储变量的变量信息包括变量名、变量值、变量的最大值、最小值、变量类型。
优选地,在步骤S2中,将替换策略对应的变量信息写入结构体数组时,将表格中每一行列出的多个替换策略合成为一个无符号32位的数值,替换策略的序号表示32位数据的所在BIT(Binary Digit,比特)位。
优选地,在步骤S2中,所述存储变量还包括每一行诊断信息的数据对应的故障结果。
优选地,还包括将所述存储变量的变量信息存储到另一结构体数组中,将另一结构体数组输出为源代码C文件,将所述源代码C文件进行编译,得到包含所有变量地址信息的MAP文件。
优选地,在步骤S3中,根据结构体数组的变量类型,将所述变量信息按A2L文件的格式输出变量类型对应的文本块;所述变量类型分为标定量和观察量。
优选地,在步骤S4中,将MAP文件中的地址信息更新至诊断模块A2L文件中对应的存储变量中,得到参与汽车控制器标定的诊断模块A2L文件。
与现有技术相比,本发明技术方案的有益效果是:
本发明提出一种汽车控制器诊断模块A2L文件的生成方法,首先根据预设的表格模板填写汽车控制器的诊断信息,再对表格中每一行诊断信息的数据进行遍历处理,在遍历过程中判断诊断信息的数据是否处于预设范围内,将预设范围内的诊断信息的数据写入结构体数组,然后将结构体数组格式化输出为包含空地址信息的A2L文件,最后更新包含空地址信息的A2L文件的变量地址,生成参与汽车控制器标定的诊断模块A2L文件,独立生成汽车控制器诊断模块的A2L文件,从而减少工程项目整体A2L文件生成时间,且不需要依靠MATLAB等外部专业工具软件,高效便捷,方便开发人员操作。
附图说明
图1为本发明提出的汽车控制器诊断模块A2L文件的生成方法的流程示意图;
图2为本发明提出的Excel预设表格示意图;
图3为本发明提出的操作面板示意图;
图4为本发明提出的汽车控制器诊断模块A2L文件输出流程示意图;
图5为本发明提出的结构体数组格式化输出流程示意图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
为了更好地说明本实施例,附图某些部位会有省略、放大或缩小,并不代表实际尺寸;
对于本领域技术人员来说,附图中某些公知内容说明可能省略是可以理解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
附图中描述位置关系的仅用于示例性说明,不能理解为对本专利的限制;
如图1所示,本实施例提出一种汽车控制器诊断模块A2L文件的生成方法,包括以下步骤:
S1.根据预设的EXCEL表格模板填写汽车控制器的诊断信息;
所述诊断信息包括:故障名称、滤波时间、恢复时间、确认故障码置位所需操作循环个数、清除确认故障码所需暖机循环个数、替换策略等;
S2.对EXCEL表格中每一行诊断信息的数据进行遍历处理,在遍历过程中,判断诊断信息的数据是否处于预设范围内,将处于预设范围内的诊断信息的数据写入结构体数组;
在实际应用中,如图2所示,用户将汽车控制器的诊断信息填入预设的EXCEL表格模板后,点击EXCEL表格中的操作控件,此时弹出操作面板,参见图3,用户可自行更改A2L文件的输出地址;一般情况下,无需更改输出A2L文件地址,用户可直接点击生成A2L文件按钮,调用宏命令,即VBA(Visual Basic for Applications)代码,对诊断信息的数据进行遍历处理,如图4所示。
在本实施例中,如图2所示,预设的EXCEL表格中的替换策略可填写多个,可根据策略需要直接向后拓展,VBA代码会自动识别EXCEL表格中填写的替换策略,并增加到结构体数组中。
如图2所示,利用VBA代码,从已填写的EXCEL表格的第二行第二列开始,依次对EXCEL表格中的每一行诊断信息的数据进行遍历处理,直至EXCEL表格中每一行的诊断信息的数据遍历完成;将EXCEL表格中每一行处于预设范围内的诊断信息的数据作为存储变量,将所述存储变量的变量信息写入结构体数组中,所述存储变量的变量信息包括变量名、变量值、变量的最大值、最小值、变量类型;
在本实施例中,还包括新增每一行诊断信息的数据对应的故障结果的变量,所述故障结果的变量通过BOOL类型表示;将故障结果的变量也存储到写入结构体数组中;
在实际操作中,所述作为存储变量的诊断信息至少包括滤波时间、恢复时间、确认故障码置位所需操作循环个数、清除确认故障码所需暖机循环个数、替换策略、故障结果6个变量。
S3.将结构体数组格式化输出为包含空地址信息的A2L文件;
根据结构体数组的变量类型,参见图5,从结构体数组的第一项开始,将所述变量信息逐项按A2L文件的格式输出变量类型对应的文本块,直至输出结构体数组中的最后一项;所述变量类型分为标定量和观察量;例如,如标定量以“/begin CHARACTERISTIC”开始,“/end CHARACTERISTIC”结尾,中间包含变量名、变量地址、变量最大值、最小值等属性,而观察量则以“/begin MEASUREMENT”开始,“/end MEASUREMENT”结尾,中间包含变量名、变量地址、变量转换方式等属性。
S4.更新包含空地址信息的A2L文件的变量地址,生成参与汽车控制器标定的诊断模块A2L文件。
在本实施例中,首先调用VBA代码检查预设的EXCEL表格是否存在,若存在,则进入诊断信息的数据的遍历处理,否则,将结束A2L生成流程并通知用户。
在此,利用EXCEL表格进行诊断信息的数据管理,通过内部VBA代码独立生成汽车控制器诊断模块的A2L文件,从而减少工程项目整体A2L文件生成时间。
在本实施例提出的汽车控制器诊断模块A2L文件的生成方法的步骤中,首先根据预设的EXCEL表格模板填写汽车控制器的诊断信息;在预设的EXCEL表格模板填写汽车控制器的诊断信息时,EXCEL表格中的滤波时间和恢复时间的数据类型为无符号32位类型,确认故障码置位所需操作循环个数、清除确认故障码所需暖机循环个数的数据类型为无符号8位类型;
在遍历过程中判断诊断信息的数据是否处于预设范围内,其中,滤波时间和恢复时间的预设范围为0~65535,确认故障码置位所需操作循环个数、清除确认故障码所需暖机循环个数的预设范围为0~255,
在本实施例中,表格中的替换策略可填写为False/True、FALSE/TRUE、false/true、F/T、0/1,在遍历过程中,将替换策略中填写为False/FALSE/false/F/0的信息转换为变量信息0,将填写为True/TRUE/true/T/1的信息转换为变量信息1,代表不同的替换策略类型;
将替换策略对应的变量信息写入结构体数组时,在实际操作中,EXCEL表格中的每个替换策略通过BOOL类型表示,通过VBA代码按位与的方式,将每一行的所有替换策略合成为一个无符号32位数据类型,其中,替换策略的序号表示32位数据的所在BIT位;在本实施例中,如2所示,第一行故障的替换策略现有3个位,合成的数值为4。
判断诊断信息的数据是否处于预设范围内后,再将预设范围内的诊断信息的数据写入结构体数组;然后将结构体数组格式化输出为包含空地址信息的A2L文件;最后更新包含空地址信息的A2L文件的变量地址,生成参与汽车控制器标定的诊断模块A2L文件。
在本实施例提出的汽车控制器诊断模块A2L文件的生成方法的步骤中,根据预设的EXCEL表格模板填写汽车控制器的诊断信息;调用VBA代码,依次对每一行诊断信息的数据进行遍历,将EXCEL表格中每一行处于预设范围内的诊断信息的数据作为存储变量,将所述存储变量的变量信息写入结构体数组中,所述存储变量的变量信息包括变量名、变量值、变量的最大值、最小值、变量类型;根据结构体数组的变量类型,从结构体数组的第一项开始,将所述变量信息逐项输出为包含空地址信息的A2L文件;
如图4所示,将所述存储变量的变量信息存储到另一结构体数组中,将另一结构体数组输出为源代码C文件,将所述源代码C文件与其他的工程代码进行统一编译,编译过程的产物包括可刷写的二进制文件、工程代码的主A2L文件、包含所有变量地址信息的MAP文件等;
在得到诊断模块的包含空地址信息的A2L文件和包含所有变量地址信息的MAP文件后,通过地址更新工具,将MAP文件中的地址信息更新至诊断模块的包含空地址信息的A2L文件中对应的存储变量中,最终得到参与汽车控制器标定的诊断模块A2L文件;在本实施例中,地址更新工具可以选择ASAP2工具。
显然,本发明的上述实施例仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (10)

1.一种汽车控制器诊断模块A2L文件的生成方法,其特征在于,包括:
S1.根据预设的表格模板填写汽车控制器的诊断信息;
S2.对表格中每一行诊断信息的数据进行遍历处理,在遍历过程中,判断诊断信息的数据是否处于预设范围内,将处于预设范围内的诊断信息的数据写入结构体数组;
S3.将结构体数组格式化输出为包含空地址信息的A2L文件;
S4.更新包含空地址信息的A2L文件的变量地址,生成参与汽车控制器标定的诊断模块A2L文件。
2.根据权利要求1所述的汽车控制器诊断模块A2L文件的生成方法,其特征在于,在步骤S1中,所述诊断信息包括:故障名称、滤波时间、恢复时间、确认故障码置位所需操作循环个数、清除确认故障码所需暖机循环个数、替换策略。
3.根据权利要求2所述的汽车控制器诊断模块A2L文件的生成方法,在步骤S2中,判断诊断信息的数据是否处于预设范围内,其中,滤波时间和恢复时间的预设范围为0~65535,确认故障码置位所需操作循环个数、清除确认故障码所需暖机循环个数的预设范围为0~255。
4.根据权利要求3所述的汽车控制器诊断模块A2L文件的生成方法,其特征在于,其特征在于,在步骤S2中,对表格中每一行诊断信息的数据进行遍历处理时,将每一行的替换策略转换为一个无符号32位类型的变量,所述无符号32位类型的变量的每一位分别以BOOL类型表示变量信息0或1。
5.根据权利要求4所述的汽车控制器诊断模块A2L文件的生成方法,其特征在于,在步骤S2中,将表格中每一行处于预设范围内的诊断信息的数据作为存储变量,将所述存储变量的变量信息写入结构体数组中,所述存储变量的变量信息包括变量名、变量值、变量的最大值、最小值、变量类型。
6.根据权利要求5所述的汽车控制器诊断模块A2L文件的生成方法,其特征在于,在步骤S2中,所述存储变量还包括每一行诊断信息的数据对应的故障结果。
7.根据权利要求5所述的汽车控制器诊断模块A2L文件的生成方法,其特征在于,还包括:将所述存储变量的变量信息存储到另一结构体数组中,将另一结构体数组输出为源代码C文件,将所述源代码C文件进行编译,得到包含所有变量地址信息的MAP文件。
8.根据权利要求5所述的汽车控制器诊断模块A2L文件的生成方法,其特征在于,在步骤S2中,将替换策略对应的变量信息写入结构体数组时,将表格中每一行列出的多个替换策略类型合成为一个无符号32位的数值,替换策略的序号表示无符号32位的数值的所在BIT位。
9.根据权利要求8所述的汽车控制器诊断模块A2L文件的生成方法,其特征在于,在步骤S3中,根据结构体数组的变量类型,将所述变量信息按A2L文件的格式输出变量类型对应的文本块;所述变量类型分为标定量和观察量。
10.根据权利要求8所述的汽车控制器诊断模块A2L文件的生成方法,其特征在于,在步骤S4中,将MAP文件中的地址信息更新至诊断模块A2L文件中对应的存储变量中,得到参与汽车控制器标定的诊断模块A2L文件。
CN202310777554.1A 2023-06-28 2023-06-28 一种汽车控制器诊断模块a2l文件的生成方法 Pending CN116822480A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310777554.1A CN116822480A (zh) 2023-06-28 2023-06-28 一种汽车控制器诊断模块a2l文件的生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310777554.1A CN116822480A (zh) 2023-06-28 2023-06-28 一种汽车控制器诊断模块a2l文件的生成方法

Publications (1)

Publication Number Publication Date
CN116822480A true CN116822480A (zh) 2023-09-29

Family

ID=88127054

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310777554.1A Pending CN116822480A (zh) 2023-06-28 2023-06-28 一种汽车控制器诊断模块a2l文件的生成方法

Country Status (1)

Country Link
CN (1) CN116822480A (zh)

Similar Documents

Publication Publication Date Title
US6550052B1 (en) Software development framework for constructing embedded vehicle controller software
CN111817938B (zh) 一种汽车can通讯矩阵编制的方法、系统及存储介质
CN111538488B (zh) 一种单片机驱动程序生成方法及装置
CN107885500A (zh) 一种面向autosar软件架构的运行时环境生成方法
US20020147505A1 (en) Process for programming an automation application
CN110888354A (zh) 接入设备自动识别的实现方法、装置、计算机设备及介质
US6604214B1 (en) One-chip microcomputer capable of internally producing ECC data
CN115167831A (zh) 基于autosar的软件集成方法、设备和使用方法
CN116737117A (zh) 基于Autosar架构的模型开发方法
CN111399816A (zh) 汽车ecu程序文件生成方法及系统、存储介质及终端
CN114707449A (zh) 寄存器间接访问的验证模型实现框架
CN116822480A (zh) 一种汽车控制器诊断模块a2l文件的生成方法
US20100058276A1 (en) Method for the integration of an integrated circuit into a standardized software architecture for embedded systems
CN116663491B (zh) 基于bdd求解功能覆盖组条件约束语句的方法、设备和介质
CN109871001B (zh) 一种对发动机大数据量标定的方法
CN108984178B (zh) 一种通信方法和装置
CN116208438A (zh) 动力电池系统上位机交互方法以及单体电压和/或温度的显示方法
CN111914380A (zh) 零件模型的确定方法、装置、计算机设备和存储介质
EP4321947A1 (en) Communicating with field devices based on semantically identified variables
CN114546451B (zh) 一种基于文件上传的对mpu端程序内部参数进行标定的方法
US20020095652A1 (en) Program generating apparatus for built-in microcomputer
CN111045740A (zh) 一种基于usbcan的mcu软件参数标定方法及系统
CN113515485B (zh) 一种SoC芯片控制寄存器模块RTL代码自动生成方法
Ginther et al. Developing Production Software Applications Utilizing a Common Architecture and Complete Model-Based Design
CN115730395B (zh) 汽车接口模型生成方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination