【摘要】随着汽车智能网联技术的不断发展,汽车功能需求开发对总线数据传输质量和稳定性要求也越来越高,汽车总线网络开发设计过程中,需要考虑总线的负载率对实际网络稳定性的影响。总线数据传输稳定是功能应用开发的可靠保证,因此,针对总线负载高引起的报文丢帧或延迟问题提出一种自动测试报文周期一致性方法,这种自动测试报文周期一致性测试方法对网络总线开发设计具有重要意义。
随着中国国内新能源汽车的快速发展,汽车科技感功能也越来越多,对汽车总线的要求也越来越高,功能的增加也使得模块之间的总线通信日益增加,同时数据传输总线从传统的CAN已经升级到带宽更高的CAN FD总线。另外,汽车总线负载增大也给汽车总线数据传输带来巨大挑战。总线负载高将直接影响数据总线稳定传输,严重时将直接导致报文丢帧、延迟等情况发生。为有效应对总线负载高所引起的报文丢帧、延迟故障,因此在汽车研发阶段进行总线通信的稳定性测试,尤其对CAN FD总线的报文周期一致性测试,对保证总线网络稳定能起到非常关键的作用。总线的报文周期一致性测试,一方面能验证各ECU发送数据是否符合设计要求。另一方面是检验总线稳定性的重要手段,将极大地方便总线稳定性测试验证。
1.1 测试原理
CAN FD总线报文周期一致性测试,需要根据CAN通信设备测试进行采集并测试。首先需要解析DBC文件,并收集到周期发送的报文,仅周期发送报文才需要进行测试;其次,需要在采集数据的时候监控总线报文,逐个判断每个报文是否满足设计周期要求,将报文ID判断异常的数据进行筛选;最后将测试结果生成报告。测试原理流程如图1所示。
1.2 测试方法
控制器在总线上发送周期的报文可能会存在偏差,根据协议要求,在一定偏差范围内都能符合设计要求,网段中所有周期报文应正常发送,即当周期时间T≤20ms时,周期偏差不可大于±20%。针对周期值越大的报文,对总线信号数据传输要求也越高,当发送的应用报文周期时间T>20ms时,周期偏差不可大于±10%,具体判断方法的逻辑阐述如下。
1) 使用CANOE采集整车总线数据。建立工程,开发监控各网段总线报文。根据DBC文件收集各模块的总线数据ID和对应周期数值。
2) 从报文ID最小的开始进行监控,监控设备抓取这个ID的数据,采集DBC文件中的周期值的大小,周期值小于20ms,按照10%偏差进行判断。周期值大于20ms,按照20%偏差范围进行判断。
3) 抓取这个数据相邻两次出现时间的差值,为了确保采集数据结果准确性,需要采集一定的样本量,一般采集50次,当所有样本量监控周期在偏差范围内,则判断这个报文发送数据周期符合设计需求,逐个进行监控。
4) 按照上述的方法,逐个监控所有的报文ID,确认是否符合规定范围内要求。当监控过程存在错误标记位,则发送报文数据异常,当不存在错误标记位,则发送报文数据周期发送正常,最后生成测试报告,红色项表示测试周期不符合设计要求。具体测试方法流程如图2所示。
2.1 测试工程建立
CAN FD总线报文周期一致性测试方法,可自动实现监控测试并快速生成测试报告,主要根据CAPL语言设计建立测试应用工程。
2.2 CAN FD总线测试应用
针对这个测试方法,已经在项目上应用实施,连接好CAN设备后,进行实时监控测试。该方法可快速、高效验证总线数据发送周期是否符合预期标准。每次测试完成后,会将测试结果报告打印出来,其中包括测试报文ID、测试报文周期、测试报文的设计周期、测试报文的实际周期和测试报文的测试状态。建立测试工程,将设备连接到汽车总线上,并运行测试工程,测试报告结果如图3所示。
从图3中,可以看出:测试报文0x281的报文周期10ms,测试50次的周期都打印出来,测试结果的周期都符合偏差范围内,符合规范的设计要求。发送报文周期准确无误,不存在丢帧的情况,模块数据通信质量稳定。根据这个测试方法,可以识别出总线负载较高情况下的网段信号通信质量优劣,因此,可以作为一种评价通信是否稳定的测试方法。
CAN FD总线报文周期一致性测试不仅有利于识别总线负载大导致的丢帧风险,同时有利于验证总线数据传输是否符合设计要求,保证控制器节点的通信数据传输性,以使CAN FD网络能够保持正常有效的工作,为功能的稳健开发提供可靠保障,同时给予用户更多的便捷体验。
请在公众号后台回复 合作
来源:《汽车电器》2023年12期,作者:夏永强, 刘钦, 赵能卿