o0mt1nhfiv364038391802.gif
点击上方蓝色字体,关注我们
CAN一致性测试验证CAN控制器或收发器是否符合ISO 11898标准的要求,确保设备在多厂商环境中能够可靠通信。
国际标准化组织(ISO)发布的ISO 16845标准提供了测试方法和抽象测试套件,分为两部分:
ISO 16845-1:针对数据链路层和物理信令的符合性测试计划,涵盖经典CAN和CAN FD协议。ISO 16845-2:针对高速介质访问单元(物理层)的符合性测试计划,包括静态和动态测试。
测试通常由独立测试机构或使用专业工具(如Vector的CANoe)执行,但嵌入式开发者也可以在开发阶段进行预测试以降低成本。
cg1t4jodcwj64038391902.png
根据ISO 16845标准,CAN一致性测试涵盖以下关键领域:
帧格式
测试内容:验证CAN控制器是否能正确处理11位标准标识符和29位扩展标识符,以及数据帧和远程帧的发送与接收。测试方法:发送包含不同标识符和数据长度的帧,检查接收端的解析是否正确。预期结果:接收到的帧与发送的帧在标识符、数据长度和内容上完全一致。
错误检测
测试内容:检查控制器对CRC错误、位填充错误和确认错误的检测能力。测试方法:使用测试设备发送包含错误(如错误CRC)的帧,观察控制器的响应。预期结果:控制器应检测到错误,不确认错误帧,并可能增加错误计数器。
仲裁
测试内容:验证高优先级消息(较低标识符)在总线竞争中获胜。测试方法:配置两个节点同时发送不同优先级的消息,观察总线上的传输顺序。预期结果:高优先级消息优先传输。
位定时
测试内容:确保位定时参数正确配置,支持目标波特率(如500 kbps)。测试方法:根据微控制器时钟频率计算位定时参数,配置控制器并验证通信。预期结果:无定时相关错误,通信正常。
状态机
测试内容:测试控制器在错误活动、错误被动和总线关闭状态之间的转换。测试方法:通过错误注入(如不确认帧)增加错误计数器,观察状态转换。预期结果:当错误计数器达到128时,控制器进入错误被动状态;达到256时,进入总线关闭状态。
x3cnhxhozxw64038392002.png
CAN一致性测试是确保嵌入式系统通信可靠性的关键步骤。通过遵循ISO 16845标准,结合专业工具和微控制器测试,开发者可以验证CAN实现的正确性。早期测试和使用认证设备能够显著提高开发效率和产品质量。无论是汽车还是工业应用,严格的测试流程都是确保系统成功的关键。
jlpcjfgr4k364038392102.jpg
5e3wdrjfmdr64038392202.gif
点击阅读原文,更精彩~ |