MCP2517FD CANFD控制器的SPI访问与功能详解
需积分: 43 78 浏览量
更新于2024-08-06
收藏 1.48MB PDF 举报
"MCP2517FD是一款带SPI接口的外部CANFD控制器,符合ISO11898-1:2015标准,支持高速CAN通信,最高可达1Mbps的仲裁比特率和8Mbps的数据比特率。它具备CAN2.0B和CANFD混合模式以及CAN2.0B模式。该设备拥有31个FIFO,可配置为发送或接收,1个发送队列和一个带有32位时间戳的发送事件FIFO。报文发送时可依据优先级位域或ID自动重发,重发次数可编程设置。接收方面,提供了32个灵活的过滤器和屏蔽器对象,支持标准ID和扩展ID过滤,并且每个对象都有32位时间戳。此外,MCP2517FD还具备低功耗特性,如休眠电流仅为10μA(典型值),并支持总线健康状况诊断、错误计数器、收发器待机控制等功能。SPI接口支持高达20MHz的时钟速度,具有CRC检测机制以确保接口通信的可靠性。内部RAM包含2KB的空间来存储报文对象,还提供了多个可配置中断引脚。该设备还支持GPIO功能,INT0和INT1引脚可作为通用I/O。封装类型包括VDFN14和SOIC14,其中VDFN14封装有外露的散热焊盘。"
文档中的SFR(System Function Register,系统功能寄存器)访问方法主要涉及三种指令:RESET、READ和WRITE。
1. **RESET指令**:此指令用于复位设备,命令代码为0b0000,地址为0x000。当nCS(Chip Select,片选)变为低电平时开始,然后变为高电平结束。只有在器件进入配置模式后才能执行此操作。RESET指令执行后,SFR和状态机将进行复位,类似于上电复位,但报文存储器不受影响。复位实际发生在nCS变为高电平时。
2. **SFR READ(READ指令)**:用于读取SFR中的数据。命令代码为0b0011,跟随地址A<11:0>。当nCS变低时开始,从指定地址A移出数据字节,然后是地址A+1的数据字节。可以连续读取任意数量的数据字节,指令结束于nCS变为高电平。
3. **SFR WRITE(WRITE指令)**:用于向SFR写入数据。命令代码为0b0010,同样跟随地址A<11:0>。数据字节在SCK下降沿写入对应地址,从A开始,然后是A+1。也可以写入任意数量的数据字节,写入操作在nCS变为高电平时完成。
这些指令都是面向字节的,地址自动递增,从0x3FF到0x000,再到0xFFF最后回到0xE00。SPI接口支持最高20MHz的时钟速度,支持SPI模式0、0和1、1,其设计使得通过SPI高效访问寄存器和位域变得简单。同时,SPI接口还包括CRC命令,以检测接口上的噪声,增强通信的可靠性。此外,设备的RAM受到ECC(Error Correction Code)保护,提高数据存储的稳定性。
2022-09-20 上传
2022-09-22 上传
2021-08-11 上传
2022-07-14 上传
2022-07-15 上传
2022-09-20 上传
2019-06-08 上传
2023-08-09 上传
锋锋老师
- 粉丝: 26
- 资源: 3838
最新资源
- 正整数数组验证库:确保值符合正整数规则
- 系统移植工具集:镜像、工具链及其他必备软件包
- 掌握JavaScript加密技术:客户端加密核心要点
- AWS环境下Java应用的构建与优化指南
- Grav插件动态调整上传图像大小提高性能
- InversifyJS示例应用:演示OOP与依赖注入
- Laravel与Workerman构建PHP WebSocket即时通讯解决方案
- 前端开发利器:SPRjs快速粘合JavaScript文件脚本
- Windows平台RNNoise演示及编译方法说明
- GitHub Action实现站点自动化部署到网格环境
- Delphi实现磁盘容量检测与柱状图展示
- 亲测可用的简易微信抽奖小程序源码分享
- 如何利用JD抢单助手提升秒杀成功率
- 快速部署WordPress:使用Docker和generator-docker-wordpress
- 探索多功能计算器:日志记录与数据转换能力
- WearableSensing: 使用Java连接Zephyr Bioharness数据到服务器