dsPIC30F4011/4012 CAN模块详解

需积分: 7 37 下载量 65 浏览量 更新于2024-08-10 收藏 3.37MB PDF 举报
"CAN模块-chroma language_manual" 这篇文档介绍了微芯片公司(Microchip Technology Inc.)的dsPIC30F4011/4012器件中的CAN(Controller Area Network)模块,这是一种用于设备间通信的串行接口。CAN模块遵循BOSCH规范中的CAN 2.0 A/B协议,支持不同版本的CAN协议,包括CAN 1.2、CAN 2.0A和CAN 2.0B(Passive及Active)。它具有抗噪声能力,能在恶劣的电磁环境中可靠通信。 模块特性包括: 1. 标准和扩展数据帧,数据长度可从0到8字节。 2. 可编程比特率,最高可达1 Mbps。 3. 支持远程帧,用于请求数据。 4. 双缓冲接收器,有2个优先级接收报文存储缓冲区。 5. 6个接收过滤器,2个与高优先级接收缓冲区关联,4个与低优先级接收缓冲区关联。 6. 2个接收过滤屏蔽寄存器,分别对应高低优先级接收缓冲区。 7. 3个发送缓冲区,可由应用指定优先级,具有中止功能。 8. 可编程唤醒功能,集成低通滤波器,适合低功耗应用。 9. 可编程环回模式,用于自我检测。 10. 中断功能,可为接收和发送错误状态提供信号。 11. 可编程时钟源。 12. 可链接到输入捕捉模块进行时间标记和网络同步。 13. 低功耗休眠和空闲模式。 CAN总线模块由协议引擎和报文缓冲/控制组成。协议引擎处理报文的接收和发送,而报文缓冲则用于存储数据。发送时,数据先放入缓冲区,接收时,经过错误检查和过滤器匹配后,报文被存入接收寄存器。 文档中详细列出了五种帧类型: 1. 标准数据帧:包含11位标准标识符,无18位扩展标识符。 2. 扩展数据帧:与标准数据帧相似,但有扩展标识符。 3. 远程帧:用于请求数据,标识符与所需数据帧匹配。 4. 错误帧:当检测到总线错误时发出,由错误标志和错误界定符字段组成。 5. 过载帧:在特定情况下(如非法帧间显性位或内部状态未准备好接收)生成,用于延迟接收。 6. 帧间间隔:分隔不同帧,确保正确时间间隔。 值得注意的是,dsPIC30F系列数据手册不是全面的参考指南,更多关于CPU、外设、寄存器和器件功能的信息,需参考其他相关手册。此外,使用Microchip器件时,应确保遵循最新的技术规范,以保证应用的正确性和安全性。