当前位置: 首页 > news >正文

综合诊断板CAN时间戳稳定性测试报告8.28

综合诊断板CAN时间戳稳定性测试报告8.28


简介:解决前段时间测试综合诊断版接收时间戳延迟和不规律问题


一、 测试概述

本测试旨在验证综合诊断板在更新CAN驱动后,时间戳采集功能的稳定性和准确性。针对前期测试中发现的时间戳延迟和不规律问题,通过搭建标准测试环境,对比分析驱动更新前后的性能表现。

二. 测试环境

2.1 硬件配置

  • 测试设备:综合诊断板
  • CAN接口:mcp2515_spi0_0
  • 测试模式:USB分析仪单帧测试,发送间隔:100ms

2.2 软件环境

  • 测试工具:读取demo程序 / 综合诊断箱诊断程序
  • 数据生成:IXM6ULL开发板生成12帧固定100ms周期CAN数据

2.3 测试方案

mcp2515_spi0_0接口模拟12帧固定100ms发送周期的CAN数据帧,通过监控程序记录并分析时间戳间隔的稳定性和准确性。

三. 测试过程

3.1 驱动更新前基准测试

更新前驱动存在时间戳不规律问题,表现为:

  • 时间戳间隔波动范围大(95ms-105ms
  • 波动模式呈现规律性交替特征
  • 偶发丢包和连续帧(2ms与200ms
  • 异常帧率较高

3.2 驱动更新实施

更新为新版驱动后,时间戳采集机制得到优化:

  • 时间戳精度从纳秒级调整为毫秒级
  • 时间戳读取逻辑相应调整
  • 重新编译并加载驱动模块

3.3 更新后稳定性测试

使用更新后的驱动进行持续测试:

  • 单路12帧100ms周期数据发送
  • 持续运行3分钟(约1800帧)
  • 记录时间戳间隔偏差超过±2ms的异常帧

四. 测试结果与分析

4.1 时间戳稳定性表现

测试项目更新前更新后改善程度
平均间隔100ms100ms维持正常
波动范围95ms-105ms98ms-102ms显著改善
波动模式规律性交替,随机偶发200ms与0ms随机偶发200ms与0ms根本性改善

4.2 异常帧统计

时间段总帧数异常帧数异常率备注
3分钟1800帧2-4帧0.17%-0.22%单路监控
诊断程序运行12×10帧/秒10-30帧/60秒1/600-3/600%多路并发

4.3 故障注入测试

更新后的驱动在故障注入测试中表现正常:

  • 能够正确识别各类故障注入用例
  • 时间戳采集与故障检测逻辑协调一致
  • 单帧发送频率诊断结果符合预期

关键运行结果:

1、单帧监控

持续运行三分钟,检索超过±2毫秒的帧信息(约1800帧,异常帧3帧,时间戳读取稳定)。

在这里插入图片描述

2、综合诊断程序单帧诊断

时间戳信息由纳秒转变为毫秒,修改接收逻辑和检测逻辑之后,对于单帧发送频率诊断结果正常,对于故障注入用例可以正确识别
在这里插入图片描述

3、主推模拟程序运行(12×600帧/分钟)

运行can通讯模拟程序,运行正常通信程序。

故障出现特征表现为集中出现,往往2-3个周期时间戳正常后出现一次集中性的故障触发。且所有故障均为200ms/0ms的形式。

此类检测误差是否可以接收,能否使用报警阈值进行合理性屏蔽。需要讨论。

在这里插入图片描述

五. 问题与讨论

测试中发现一个特定现象:故障特征表现为集中出现,往往在2-3个正常周期(10S)后出现一次集中性的故障触发,且所有故障均表现为"200ms/0ms"的形式。

待讨论问题
  1. 此类检测误差是否可以通过设置合理的报警阈值进行屏蔽
  2. 当前异常率(约0.2-0.5%)在实际应用中的可接受程度
  3. 多路并发情况下异常率升高的原因及优化方案

六. 结论与建议

6.1 主要结论

  1. 驱动更新后时间戳稳定性得到显著改善,波动范围从±5ms缩小到±2ms
  2. 异常帧率从较高水平降低到0.2%左右,性能提升明显
  3. 时间戳采集模式从规律性异常转变为随机偶发,表明系统性问题已解决

6.2 建议

  1. 针对偶发的异常帧,可考虑软件层增加异常过滤机制
  2. 进一步优化多路并发下的时间戳采集性能
  3. 建立长期监控机制,持续跟踪时间戳稳定性表现

七. 补充:测试过程记录

1、测试环境搭建

诊断can0口搭建12帧固定100ms发送can数据帧

在这里插入图片描述

2、运行时间间隔监控程序

针对can0回路诊断监控程序,发现时间接收不规律。经排查,驱动未正确更新。

在这里插入图片描述

3、更新新驱动

驱动版本更新成功

在这里插入图片描述

4、运行例程

在这里插入图片描述

修改监控特定ID(旧驱动)

在这里插入图片描述

使用新驱动时间戳。

在这里插入图片描述

经检查,新驱动时间戳从纳秒更改为毫秒级别,数量级计算错误。重新运行,效果符合预期。

在这里插入图片描述

持续运行三分钟,检索超过±2毫秒的帧信息(约1800帧,异常帧3帧,时间戳读取稳定)。

在这里插入图片描述

5、综合诊断程序时序验证

时间戳信息由纳秒转变为毫秒,修改接收逻辑和检测逻辑之后,对于单帧发送频率诊断结果正常,对于故障注入用例可以正确识别

在这里插入图片描述

运行can通讯模拟程序,运行正常通信程序。
在这里插入图片描述

故障出现特征表现为集中出现,往往2-3个周期时间戳正常后出现一次集中性的故障触发。且所有故障均为200ms/0ms的形式。

此类检测误差是否可以使用报警阈值进行屏蔽,合理性屏蔽。需要讨论。


测试:jjwu

时间:2025-8-28

邮箱:1816387198@qq.com

http://www.xdnf.cn/news/1437499.html

相关文章:

  • Linux内核进程管理子系统有什么第四十回 —— 进程主结构详解(36)
  • 安装部署k3s
  • Java试题-选择题(29)
  • 算法题打卡力扣第3题:无重复字符的最长子串(mid)
  • Suno AI 新功能上线:照片也能唱歌啦!
  • Netty从0到1系列之NIO
  • 进程优先级(Process Priority)
  • 猫猫狐狐的“你今天有点怪怪的”侦察日记
  • CentOS7安装Nginx服务——为你的网站配置https协议和自定义服务端口
  • Java注解深度解析:从@ResponseStatus看注解奥秘
  • 大模型RAG项目实战:Pinecone向量数据库代码实践
  • 二叉树经典题目详解(下)
  • 【数据分享】31 省、342 个地级市、2532 个区县农业机械总动力面板数据(2000 - 2020)
  • MySQL数据库——概述及最基本的使用
  • Python实现浅拷贝的常用策略
  • Vite 插件 @vitejs/plugin-legacy 深度解析:旧浏览器兼容指南
  • 【Linux】信号量
  • 09.01总结
  • LeetCode算法日记 - Day 30: K 个一组翻转链表、两数之和
  • 基于Springboot和Vue的前后端分离项目
  • playwright+python UI自动化测试中实现图片颜色和像素对比
  • milvus使用
  • Hard Disk Sentinel:全面监控硬盘和SSD的健康与性能
  • Python学习-day4
  • 2026届长亭科技秋招正式开始
  • 算法 --- 模拟
  • NLP学习系列 | Transformer代码简单实现
  • Zephyr如何注册设备实例
  • [Java]PTA:jmu-Java-01入门-取数字浮点数
  • 自学嵌入式第三十三天:网络编程-UDP