一种多格式ECU数据的标准化解析方法及系统与流程

摘要: 本发明涉及汽车电子控制,具体涉及一种多格式ecu数据的标准化解析方法及系统。背景技术:1、在ecu标定与软件开发过程中,数据以多种工程格式存在,主要包括:a2l...
一种多格式ECU数据的标准化解析方法及系统与流程

本发明涉及汽车电子控制,具体涉及一种多格式ecu数据的标准化解析方法及系统。

背景技术:

1、在ecu标定与软件开发过程中,数据以多种工程格式存在,主要包括:a2l(asammcd-2mc,描述ecu参数地址、类型、转换规则)、hex(intelhex,存储烧录数据)、dcm(标定数据容器)、现有ecu工具链(如inca、mda)虽能支持a2l、hex、dcm等多种格式的读取与编辑,但不同格式文件之间的数据标准化转换、跨项目批量处理、非线性转换规则的自动反解仍高度依赖人工操作,缺乏统一的自动化解析机制,存在以下问题:

2、1.格式转换与解析高度依赖经验和专用工具,跨项目复用困难;

3、2.非线性转换函数无法自动反解,导致物理值与存储值无法直接对应;

4、3.缺乏统一的参数表达模型,后续校验或分析环节需重复解析,效率低下;

5、4.解析过程不可追溯,无法满足功能安全(iso26262)对工具链可信度的要求。

技术实现思路

1、本发明的目的是提供一种多格式ecu数据的标准化解析方法及系统,以解决现有技术中的上述不足之处。

2、为了实现上述目的,本发明提供如下技术方案:一种多格式ecu数据的标准化解析方法,包括以下步骤:

3、解析a2l文件,提取ecu变量的元信息,所述元信息包括变量名称、存储地址、数据类型、转换规则、物理单位、有效范围及维度信息;

4、解析hex文件,构建分段连续存储映像,所述存储映像由多个连续数据段构成,每个数据段包含段起始地址和连续字节数组;

5、根据所述a2l解析出的变量存储地址和数据类型,从所述hex分段连续存储映像中读取对应变量的原始数据;

6、根据所述a2l解析出的转换规则,将所述原始数据转换为物理值;

7、按照变量类型将物理值重新组合,生成标准化参数模型,其中标量输出为单个物理值,曲线输出为x轴物理值数组和y轴物理值数组,map输出为x轴物理值数组、y轴物理值数组和z矩阵物理值;

8、输出所述标准化参数模型。

9、进一步的,所述方法还包括生成解析过程追溯记录,包括以下步骤:

10、所述追溯记录以变量为单位,为a2l原始块内容及起止行号、a2l解析状态、变量地址所在的数据段编号、变量在所属数据段中的字节偏移量、从hex存储映像中读取的原始字节序列、转换规则的完整参数、转换计算的中间过程记录、有效范围校验结果及变量完整解析完成的时间戳实时附加对应的追溯字段,生成以json格式独立保存的追溯记录与所述标准化参数模型一并输出。

11、进一步的,所述解析a2l文件具体包括:

12、系统对a2l文件按行扫描,遇/begin关键字启动块内容收集,遇匹配的/end关键字结束收集;

13、将块内容行列表传递给基于正则表达式实现的内置分词器处理,用于对a2l中字符串参数内含特殊符号进行分词处理;

14、基于asammcd-2mc公开标准规范,解析characteristic、axis_pts、compu_method、record_layout和unit中的至少一种结构体,提取相应参数;

15、采用宽容失败策略对异常进行分层处理,包括:在块类型未支持时跳过该块并统计出现次数;在单块解析错误时记录错误信息并跳过该块;在单字段解析错误时仅跳过该字段,保留其他字段;在文件级异常时终止本次解析任务并记录至日志。

16、进一步的,所述解析hex文件构建分段连续存储映像包括:

17、对hex文件逐行扫描,每遇到一次类型04记录通过提取数据字段的2字节,左移16位,更新当前基地址;遇到类型00记录时以所述基地址与记录的16位偏移地址计算绝对地址,并将记录中的数据字节写入对应位置;

18、对ecu固件地址空间中未出现类型00记录的地址空洞不分配存储,并将hex文件解析为若干段由段起始绝对地址和本段连续字节数组组成的分段连续存储映像。

19、进一步的,所述从hex分段连续存储映像中读取对应变量的原始数据包括:

20、根据变量的32位绝对地址,在所述分段连续存储映像中定位所属数据段并计算段内偏移量;

21、若变量类型为标量,则读取固定字节数的原始数据;

22、若变量类型为曲线,则读取n×数据类型字节数的数据,构成长度为n的一维原始数据数组;

23、若变量类型为map,则按行优先顺序读取x×y×数据类型字节数的数据,构成y行×x列的二维原始数据矩阵;

24、将读取的字节序列按小端字节序解析为整型或浮点数值。

25、进一步的,所述根据a2l解析出的转换规则将原始数据转换为物理值,包括以下转换类型中的至少一种:

26、线性转换,利用公式y=a×x+b计算物理值y,其中a和b为从a2l提取的斜率系数和截距系数,x为原始数据;

27、多项式转换,利用公式y=σaᵢ×x1计算物理值y,其中aᵢ为从a2l提取的系数数组;

28、查表转换,利用a2l中定义的存储值轴和物理值轴,通过二分查找定位x所在区间,并以线性插值计算物理值y;

29、无转换,直接将原始数据x作为物理值y输出。

30、进一步的,还包括非线性转换函数反解机制:

31、根据目标物理值计算对应的目标存储值,具体包括:

32、线性反解,利用反函数x=(y-b)/a直接求解;

33、多项式反解,构造零值方程并在a2l定义的有效范围内采用二分法迭代搜索零点,直至搜索区间宽度小于预设精度阈值,取最近整数值作为目标存储值;

34、查表反解,在物理值数组中二分查找目标值所在区间,校验物理值数组的单调性后,以反向线性插值计算目标存储值;

35、分段线性反解,先以目标物理值定位分段区间,再调用对应区间的线性反解公式;

36、若目标物理值超出转换函数的定义域,则记录警告日志并以最近边界值作为近似结果输出,不中断整体流程。

37、进一步的,所述生成标准化参数模型包括:

38、预定义统一参数模型结构;

39、以变量名为索引键,每个变量对应一个结构化记录,至少包含:变量名称、变量类型、32位绝对地址、数据类型、物理单位、有效范围下限/上限、转换规则名称及类型、原始值、物理值、x轴物理值数组和y轴物理值数组;

40、按变量名遍历所有变量,将各步骤解析结果填充至对应字段;

41、填充完成后,对物理值进行有效范围校验,超出范围时附加校验标记,得到标准化参数模型,将标准化参数模型按json、xml和parquet中任一种格式序列化输出。

42、一种多格式ecu数据的标准化解析系统,包括:

43、a2l解析模块,用于解析a2l文件,提取变量的名称、存储地址、数据类型、转换规则、物理单位、有效范围及维度信息;

44、hex解析模块,用于解析hex文件构建分段连续存储映像,并根据a2l解析出的地址和数据类型,从所述存储映像中读取对应变量的原始数据,支持标量、曲线和map三种变量类型的数据读取;

45、数据转换模块,用于根据a2l解析出的转换规则,将hex原始数据转换为物理值,并内置非线性转换函数的反向求解机制;

46、标准化输出模块,用于按照变量类型重新组合物理值,生成并输出标准化参数模型,其中标量输出单个物理值,曲线输出x轴物理值数组和y轴物理值数组,map输出x轴物理值数组、y轴物理值数组和z矩阵物理值;还用于生成输出解析过程追溯记录。

47、与现有技术相比,本发明提供的一种多格式ecu数据的标准化解析方法及系统,具备以下有益效果:

48、(一)实现a2l与hex的自动化关联解析

49、本发明通过a2l解析模块提取变量的地址和数据类型,自动到hex文件中读取对应位置的原始数据,替代了传统人工手动查找的方式。单变量解析时间从分钟级缩短至毫秒级,且避免了人工查找的地址错位、字节序错误等问题。

50、(二)支持标量、曲线、map的统一解析与按类型组合

51、本发明对标量、曲线、map三种类型的变量采用统一的处理流程,自动识别变量类型并按对应格式读取数据、转换物理值、组合输出。工程师无需针对不同类型编写不同的处理代码,曲线和map的轴信息与数据矩阵自动关联输出。

52、(三)输出标准化的统一参数模型

53、本发明将所有解析结果转换为统一的json/xml/parquet格式,包含完整的变量元信息(名称、物理值、单位、原始值、转换规则、有效范围)以及曲线/map的完整轴信息和数据矩阵。下游系统(如ecu数据校验系统、标定工具)可直接读取,无需重复解析。

54、(四)内置非线性转换函数反解能力

55、本发明内置非线性转换函数反解机制,支持线性、多项式、查表、分段线性等多种转换类型的自动反向求解,工程师无需手动解方程,避免了人工计算错误。

56、(五)解析过程可追溯

57、本发明可完整记录每个变量的解析路径:a2l中提取的标准参数、hex中读取的原始地址和数据、转换规则的应用过程,满足功能安全(iso26262)对工具链可信度的要求。