"CAN入门书,介绍CAN总线的基础知识,包括其应用、拓扑结构、特点、协议规范以及错误处理机制。"
本文档详细介绍了CAN(Controller Area Network)总线的基本概念和协议,适用于初次接触CAN总线的读者。CAN是一种广泛应用的串行通信协议,尤其在汽车行业中,它通过减少线束数量和实现高速数据通信来满足安全、舒适、环保和成本效益的需求。
1. **CAN是什么?**
CAN是国际标准化的串行通信协议,由博世公司于1986年为汽车行业开发,后来通过ISO11898和ISO11519进行了标准化。
2. **CAN的特点**
- **鲁棒性**:CAN协议设计考虑了高错误检测和容错能力。
- **高效通信**:CAN总线采用两线制,可以同时发送和接收数据,支持多主站系统,允许多个节点同时竞争总线使用权。
- **错误处理**:CAN有严格的错误检测机制,包括位错误、帧错误和CRC错误。
- **优先级决定**:CAN协议使用仲裁字段来确定数据传输的优先级,高位优先。
3. **CAN协议的基本概念**
- **帧的种类**:包括数据帧、遥控帧、错误帧和过载帧,其中数据帧用于传输数据,遥控帧用于请求数据,错误帧用于报告和管理错误,过载帧则用于延长总线空闲时间。
- **位填充**:为了防止连续相同位的出现,CAN协议引入了位填充规则,即每连续5个相同的位后插入一个相反的位。
- **位时序**:CAN协议根据位时钟来控制数据传输,包括位周期、传播时间、相位缓冲区等部分,确保不同速率的节点间能正确同步。
- **同步与再同步**:CAN协议采用硬件同步和再同步策略来保持总线上的所有节点同步。
4. **CAN协议和标准规格**
- **ISO标准化**:CAN协议遵循ISO11898和ISO11519标准,两者在某些方面有所不同,例如ISO11898主要针对物理层,而ISO11519涵盖了更广泛的应用范围。
- **错误状态**:CAN协议定义了不同的错误状态,如主动错误和被动错误,并通过错误计数值来监控错误状况。
5. **错误处理**
- **错误状态的种类**:包括活动错误和被动错误,错误计数值达到阈值后会进入被动错误状态。
- **错误帧的输出**:当检测到错误时,节点会发送错误帧,以通知其他节点并尝试恢复同步。
CAN总线协议提供了一种可靠且高效的通信方式,特别适合于需要实时性和高数据完整性的应用场景。了解这些基本概念和协议机制对于理解和应用CAN总线至关重要。