dsPIC30F4011/4012 CAN模块详解
需积分: 7 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器件时,应确保遵循最新的技术规范,以保证应用的正确性和安全性。
2020-01-19 上传
2021-10-02 上传
2019-12-09 上传
2023-05-22 上传
2023-06-11 上传
2023-06-10 上传
2023-05-11 上传
2023-04-29 上传
2023-03-21 上传
史东来
- 粉丝: 43
- 资源: 3997
最新资源
- 基于Python和Opencv的车牌识别系统实现
- 我的代码小部件库:统计、MySQL操作与树结构功能
- React初学者入门指南:快速构建并部署你的第一个应用
- Oddish:夜潜CSGO皮肤,智能爬虫技术解析
- 利用REST HaProxy实现haproxy.cfg配置的HTTP接口化
- LeetCode用例构造实践:CMake和GoogleTest的应用
- 快速搭建vulhub靶场:简化docker-compose与vulhub-master下载
- 天秤座术语表:glossariolibras项目安装与使用指南
- 从Vercel到Firebase的全栈Amazon克隆项目指南
- ANU PK大楼Studio 1的3D声效和Ambisonic技术体验
- C#实现的鼠标事件功能演示
- 掌握DP-10:LeetCode超级掉蛋与爆破气球
- C与SDL开发的游戏如何编译至WebAssembly平台
- CastorDOC开源应用程序:文档管理功能与Alfresco集成
- LeetCode用例构造与计算机科学基础:数据结构与设计模式
- 通过travis-nightly-builder实现自动化API与Rake任务构建