综合诊断板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 时间戳稳定性表现

测试项目 更新前 更新后 改善程度
平均间隔 100ms 100ms 维持正常
波动范围 95ms-105ms 98ms-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

相关推荐
hansang_IR6 小时前
【线性代数基础 | 那忘算9】基尔霍夫(拉普拉斯)矩阵 & 矩阵—树定理证明 [详细推导]
c++·笔记·线性代数·算法·矩阵·矩阵树定理·基尔霍夫矩阵
KarrySmile6 小时前
网格图--Day04--网格图DFS--2684. 矩阵中移动的最大次数,1254. 统计封闭岛屿的数目,130. 被围绕的区域
矩阵·深度优先·dfs·深度优先搜索·灵茶山艾府·网格图·网格图dfs
lingchen19066 小时前
MATLAB矩阵及其运算(三)矩阵的创建
算法·matlab·矩阵
Dream it possible!9 小时前
LeetCode 面试经典 150_矩阵_有效的数独(34_36_C++_中等)(额外数组)
leetcode·面试·矩阵
云手机掌柜1 天前
Twitter舆情裂变链:指纹云手机跨账号协同机制提升互动率200%
python·网络安全·智能手机·矩阵·虚幻·内容运营·twitter
ShineWinsu1 天前
对于牛客网—语言学习篇—编程初学者入门训练—复合类型:BC140 杨辉三角、BC133 回型矩阵、BC134 蛇形矩阵题目的解析
c语言·矩阵·数组·蛇形矩阵·杨辉三角·牛客网·回型矩阵
做科研的周师兄1 天前
【机器学习入门】3.2 ALS算法——从评分矩阵到精准推荐的核心技术
人工智能·python·深度学习·线性代数·算法·机器学习·矩阵
lingchen19062 天前
MATLAB矩阵及其运算(四)矩阵的运算及操作
开发语言·matlab·矩阵
小莞尔2 天前
【51单片机】【protues仿真】基于51单片机呼叫系统
c语言·stm32·单片机·嵌入式硬件·矩阵·51单片机