基于车机CAN网络信号测试的自动化实现方法技术

技术编号:30405557 阅读:18 留言:0更新日期:2021-10-20 11:08
本发明专利技术公开了一种基于车机CAN网络信号测试的自动化实现方法,包括以下步骤:第一步.解析Can信号:自动解析车机DBC文件,得到信号的枚举值、起始位置startSignal、信号长度signalLen、第一偏移量和因子;第二步.组装Can信号:采用第一步解析出来的Can矩阵信息,通过预设组装算法计算出Can信号发送的值;第三步.发送Can信号:通过Can设备发送组装好的Can信号;第四步.读取Can信号:通过Can设备读取对应的Can信号,进行业务断言。本发明专利技术提升了测试效率,降低了测试复杂度。降低了测试复杂度。降低了测试复杂度。

【技术实现步骤摘要】
基于车机CAN网络信号测试的自动化实现方法


[0001]本专利技术属于整车网络测试
,具体涉及一种基于车机CAN网络信号测试的自动化实现方法。

技术介绍

[0002]随着汽车电子技术的发展和对汽车性能要求的提高,汽车上的电控单元(ECU)的数量越来越多,各个电控单元之间的交互信息通过CAN、LIN、MOST总线组成的网络来实现。因而对整车网络的测试显得尤为必要。然而在车机前期开发阶段,无实体控制器,只能通过CAN模拟工具对CAN信号进行仿真测试。传统模式通过手动发送仿真信号,进行CAN网络测试,容易出现以下问题:(1)收信号可能会漏掉(部分反馈信号瞬间发送3帧);(2)部分信号发送间隔有时间要求,若时间间隔短,手动无法实现;(3)人工发送仿真信号时序复杂,且容易出错;(4)Can网络压力测试工作重复率高,人力成本大。
[0003]因此,有必要开发一种新的基于车机CAN网络信号测试的自动化实现方法。

技术实现思路

[0004]本专利技术的目的是提供一种基于车机CAN网络信号测试的自动化实现方法,能提升测试效率和降低测试复杂度。
[0005]本专利技术所述的一种基于车机CAN网络信号测试的自动化实现方法,包括以下步骤:第一步.解析Can信号:自动解析车机DBC文件,得到Can矩阵信息,Can矩阵信息包括信号初始值rowValue、起始位置startSignal和信号长度signalLen;第二步.组装Can信号:采用第一步解析出来的Can矩阵信息,通过预设组装算法计算出Can信号发送的值;第三步.发送Can信号:通过Can设备发送组装好的Can信号;第四步.读取Can信号:通过Can设备读取对应的Can信号,进行业务断言。
[0006]可选地,所述通过预设组装算法计算出Can信号发送的值,具体为:根据起始位和长度信息确定lsb;根据lsb确定信息跨越的byte位;根据跨越的byte位组合为数据,该数据即为Can信号发送的值。
[0007]可选地,所述lsb的计算公式如下:lsb = b2
ꢀ‑ꢀ
(b2
ꢀꢀ
%
ꢀꢀ
8) + 7
ꢀꢀ‑ꢀꢀ
(b2
ꢀꢀ
%
ꢀꢀ
8) ;b2 = b1 + signalLen
ꢀ–ꢀ
1;b 1= startSignal
‑ꢀ
(startSignal% 8) + 7
ꢀ‑ꢀ
(startSignal% 8);其中:signalLen表示信号长度,startSignal表示信号的起始位置。
[0008]可选地,根据lsb确定信息跨越的byte位,具体为:
计算结束字节endByte=取整(lsb/8);计算结束字节剩余的bit位remainBits=lsb& 7;计算值在64bit位中的第二偏移量offset=remainBits + 8 * (8
ꢀ–ꢀ
endByte
ꢀ‑ꢀ
1)。
[0009]可选地,根据跨越的byte位组合为数据,具体为:将rowValue的值通过位移0ffset位,再采用大端模式转换为8个byte;其中,rowValue的值为信号的枚举值减去第一偏移量,然后除以因子,再通过四舍五入取整所得。
[0010]可选地,将所述预设组装算法组装为多个API接口,至少包括收API接口和发API接口;所述收API接口被配置为接收信息的时间间隔小于等于0.01 ms;所述发API接口被配置为以固定时间间隔发送;所述收API接口和发API接口被配置为顺序调用;所述收API接口和发API接口被配置为循环收发本专利技术具有以下优点:(1)将预设组装算法组装为API接口,提供了汽车Can网络自动化解决方案;(2)收API接口被配置为时间间隔0.01 ms以内,达成can网络中信号无遗漏接收,规避人为漏信号场景;(3)发API接口被配置为固定时间间隔发送(通过上层代码来实现),达成人工无法实现的固定时间间隔发信号;(4)收API接口和发API接口均被配置为顺序调用(通过上层代码来实现),能够达到需要多个Can信号收发的复杂业务场景,规避人工模拟困难问题;(5)收API接口和发API接口均被配置为循环发送(通过上层代码来实现),能够实现业务压力测试,降低人工值守成本;综上所述,本专利技术通过自动化方式实现了公有CAN信号收发,以及车机私有CAN网络建立和收发。根据车机业务流程建立CAN网络测试自动化,提升了测试效率,降低了测试复杂度。
附图说明
[0011]图1是本专利技术的流程图;图2是表示Can信号字节排序和位排序方式的示意图;图3是具体算法举例获取出来的信号起始位置和结束位置的示意图。
具体实施方式
[0012]下面结合附图对本专利技术作进一步说明。
[0013]如图1所示,本实施例中,一种基于车机CAN网络信号测试的自动化实现方法,包括以下步骤:第一步.解析Can信号:自动解析车机DBC(车机数据库文件)文件,得到信号的枚举值、起始位置startSignal、信号长度signalLen、第一偏移量和因子;
第二步.组装Can信号:采用第一步解析出来的Can矩阵信息,通过预设组装算法计算出Can信号发送的值;第三步.发送Can信号:通过Can设备发送组装好的Can信号;第四步.读取Can信号:通过Can设备读取对应的Can信号,进行业务断言。
[0014]本实施例中,标准Can信号,每帧CAN报文由8个字节共64位组成。每个报文包含多个CAN控制信号。
[0015]如图2所示,本实施例中,每个字节采用大端模式,高位在前,低位在后,采用Z字形组合成为一个矩阵。
[0016]本实施例中,所述通过预设组装算法计算出Can信号发送的值,具体为:根据起始位和长度信息确定lsb(即最低有效位);根据lsb确定信息跨越的byte位;根据跨越的byte位组合为数据,该数据即为Can信号发送的值。
[0017]本实施例中,所述lsb的计算公式如下:lsb = b2
ꢀ‑ꢀ
(b2
ꢀꢀ
%
ꢀꢀ
8) + 7
ꢀꢀ‑ꢀꢀ
(b2
ꢀꢀ
%
ꢀꢀ
8) ;b2 = b1 + signalLen
ꢀ–ꢀ
1;b 1= startSignal
‑ꢀ
(startSignal% 8) + 7
ꢀ‑ꢀ
(startSignal% 8);其中:% 表示求余运算,signalLen表示信号长度,startSignal表示信号的起始位置。
[0018]本实施例中,根据lsb确定信息跨越的byte位,具体为:计算结束字节endByte=取整(lsb/8);计算结束字节剩余的bit位remainBits=lsb& 7,&表示求与运算;计算值本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于车机CAN网络信号测试的自动化实现方法,其特征在于,包括以下步骤:第一步.解析Can信号:自动解析车机DBC文件,得到信号的枚举值、起始位置startSignal、信号长度signalLen、第一偏移量和因子;第二步.组装Can信号:采用第一步解析出来的Can矩阵信息,通过预设组装算法计算出Can信号发送的值,具体为;根据起始位和长度信息确定lsb;根据lsb确定信息跨越的byte位;根据跨越的byte位组合为数据,该数据即为Can信号发送的值;第三步.发送Can信号:通过Can设备发送组装好的Can信号;第四步.读取Can信号:通过Can设备读取对应的Can信号,进行业务断言。2.根据权利要求1所述的用于基于车机CAN网络信号测试的自动化实现方法,其特征在于:所述lsb的计算公式如下:lsb = b2
ꢀ‑ꢀ
(b2
ꢀꢀ
%
ꢀꢀ
8) + 7
ꢀꢀ‑ꢀꢀ
(b2
ꢀꢀ
%
ꢀꢀ
8) ;b2 = b1 + signalLen
ꢀ–ꢀ
1;b 1= startSignal
‑ꢀ
(startSignal% 8) + 7
ꢀ‑ꢀ
(startSignal%...

【专利技术属性】
技术研发人员:代维怀孙佩杰张洪全
申请(专利权)人:重庆长安汽车股份有限公司
类型:发明
国别省市:

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

1