CAN总线通信协议详解:错误处理与故障封闭

需积分: 10 89 下载量 179 浏览量 更新于2024-08-08 收藏 1.94MB PDF 举报
"CAN入门书-瑞萨科技-故障封闭-ug908-vivado-programming-debugging" 本文档是瑞萨科技发布的关于CAN(Controller Area Network)总线技术的入门指南,主要针对CAN的基础知识、特点、协议以及错误处理机制进行详细阐述。CAN是一种国际标准化的串行通信协议,最初由博世公司开发,广泛应用于汽车行业和其他嵌入式系统中,以解决多设备间的高效、可靠通信问题。 1. **多主控制**:在CAN总线中,所有设备都有权限在总线空闲时发起传输,采用CSMA/CA(载波监听多路访问/冲突避免)策略,优先级高的设备优先获得发送权。 2. **消息发送与仲裁**:CAN消息有固定格式,当多个设备同时开始发送,通过比较标识符(ID)来确定优先级,优先级高的设备能继续发送,其他设备则停止并切换到接收模式。 3. **系统的柔软性**:CAN总线上的设备无需预先分配地址,新增或移除设备不会影响其他设备的硬件或软件配置,增强了系统的可扩展性。 4. **通信速度**:通信速度可根据网络规模灵活设定,但同一网络内所有设备需保持一致,否则会导致通信错误。 5. **远程数据请求**:通过遥控帧,设备可以请求其他设备发送特定数据,实现远程通信。 6. **错误检测与处理**:所有设备都具备错误检测、通知和恢复功能。检测到错误的设备会立即通知网络并中断发送,尝试重新发送直到成功。 7. **故障封闭**:CAN能够区分暂时性错误和持续性错误,当检测到持续错误时,可以隔离故障设备,确保网络正常运行。 8. **连接能力**:CAN总线可连接多个设备,理论上无数量限制,但实际连接数量受限于总线延迟和电气负载,通信速度与连接设备数量成反比。 该文档还详细介绍了CAN协议的各个组成部分,包括帧类型(数据帧、遥控帧、错误帧、过载帧和帧间隔)、位填充、错误状态、位时序等,以及如何在ISO标准下实现CAN通信。此外,文档还提醒读者,虽然基于BOSCH公司的CAN概要和协议,但不对其具体产品承担责任。