大家好!我是小马,今天要和大家分享一个看似枯燥但实际上非常重要的话题——CAN总线一致性测试标准ISO 16845。作为汽车电子领域的从业者,我深知这个标准对于保证车载网络通信质量的重要性。无论你是刚入行的新手,还是经验丰富的老司机,这篇文章都能帮你梳理清楚CAN一致性测试的关键点。话不多说,让我们开始今天的技术之旅吧!
1. 标准简介
ISO 16845 是控制器局域网(CAN)一致性测试标准,分为两个部分:
- ISO 16845-1: 数据链路层和物理信令的一致性测试
- ISO 16845-2: CAN FD控制器的高速物理层一致性测试
该标准定义了验证CAN控制器和收发器符合ISO 11898标准的测试方法。
2. 数据链路层测试 (ISO 16845-1)
2.1 帧接收测试
2.1.1 标准帧接收测试
- 测试点: 接收各种标准数据帧的能力
- 测试标准: 正确接收符合规范的标准数据帧
- 测试方法: 发送不同ID、不同数据长度的标准数据帧,验证接收正确性
2.1.2 扩展帧接收测试
- 测试点: 接收各种扩展数据帧的能力
- 测试标准: 正确接收符合规范的扩展数据帧
- 测试方法: 发送不同ID、不同数据长度的扩展数据帧,验证接收正确性
2.1.3 远程帧接收测试
- 测试点: 接收远程帧的能力
- 测试标准: 正确接收并处理远程帧
- 测试方法: 发送标准和扩展远程帧,验证接收和响应正确性
2.1.4 过载帧测试
- 测试点: 过载帧的生成和响应能力
- 测试标准: 符合ISO 11898-1规范的过载帧处理
- 测试方法: 创建过载条件,验证DUT正确生成和响应过载帧
2.1.5 帧间隔测试
- 测试点: 帧间隔(Interframe Space)处理
- 测试标准: 正确维持最小帧间隔
- 测试方法: 测量连续帧之间的间隔,验证符合规范
2.2 帧发送测试
2.2.1 标准帧发送测试
- 测试点: 发送标准数据帧的能力
- 测试标准: 发送的帧格式符合ISO 11898-1规范
- 测试方法: 触发DUT发送标准帧,使用分析仪检查帧格式
2.2.2 扩展帧发送测试
- 测试点: 发送扩展数据帧的能力
- 测试标准: 发送的帧格式符合ISO 11898-1规范
- 测试方法: 触发DUT发送扩展帧,使用分析仪检查帧格式
2.2.3 远程帧发送测试
- 测试点: 发送远程帧的能力
- 测试标准: 发送的远程帧格式符合规范
- 测试方法: 触发DUT发送远程帧,使用分析仪检查帧格式
2.2.4 位定时容差测试
- 测试点: 位定时容差能力
- 测试标准: 在规定的位定时容差范围内正常工作
- 测试方法: 调整位定时参数,验证通信稳定性
2.3 错误处理测试
2.3.1 错误检测测试
- 测试点: 检测各类错误的能力
- 测试标准: 能检测到所有规定的错误类型
- 测试方法: 向DUT发送包含各类错误的帧,验证错误检测
2.3.2 错误帧生成测试
- 测试点: 生成错误帧的能力
- 测试标准: 在检测到错误时正确生成错误帧
- 测试方法: 引入错误,验证DUT生成正确的错误帧
2.3.3 错误状态转换测试
- 测试点: 错误状态机的转换
- 测试标准: 按照规范正确转换错误状态
- 测试方法: 引入足够数量的错误,验证状态转换
2.3.4 错误被动状态测试
- 测试点: 错误被动状态下的行为
- 测试标准: 错误被动状态下正确发送和接收帧
- 测试方法: 使DUT进入错误被动状态,验证其行为
2.3.5 总线关闭恢复测试
- 测试点: 从总线关闭状态恢复的能力
- 测试标准: 正确执行总线关闭恢复序列
- 测试方法: 使DUT进入总线关闭状态,验证恢复过程
2.4 位填充测试
2.4.1 发送位填充测试
- 测试点: 发送时的位填充功能
- 测试标准: 连续5个相同位后正确插入一个相反位
- 测试方法: 触发DUT发送需要位填充的数据,检查填充位
2.4.2 接收位填充测试
- 测试点: 接收时的位填充处理
- 测试标准: 正确识别和移除填充位
- 测试方法: 发送包含填充位的帧,验证DUT正确接收
2.5 仲裁测试
2.5.1 仲裁场景测试
- 测试点: 总线仲裁机制
- 测试标准: 在