eCAN内存映射与32位访问技术
需积分: 40 148 浏览量
更新于2024-08-06
收藏 1.12MB PDF 举报
"内存映射-iso 15765-2 2016 最新版"
这篇资源主要讨论了TMS320F2833x和2823x系列微控制器中的增强型Controller Area Network (eCAN)模块的内存映射及其相关寄存器的访问方式。内存映射对于理解eCAN模块如何与存储器交互至关重要,因为它决定了如何有效地读写控制和状态寄存器以及邮箱。
eCAN模块有两个不同的地址段映射到存储器中。第一个地址段包含了控制寄存器、状态寄存器、接受屏蔽、时间戳和消息对象超时寄存器。控制和状态寄存器只能通过32位宽度的访问来读写,而本地接受屏蔽、时间戳和超时寄存器支持8位、16位和32位宽度的访问。第二个地址段则用于邮箱的访问,同样支持8位、16位和32位宽度的访问,总共有512字节的内存空间。
消息存储由一个RAM执行,这个RAM既可以被CAN控制器也可以被CPU寻址。通过修改RAM或附加寄存器中的邮箱内容,CPU可以控制CAN控制器并实现接收过滤、消息传输和中断处理。eCAN模块提供了32个邮箱,每个邮箱具有8字节数据长度、29位标识符以及若干控制位。每个邮箱都可以配置为发送或接收,并且在eCAN模式下有独立的接受屏蔽。
32位访问控制和状态寄存器是必要的,因为16位访问可能会导致数据损坏或返回错误数据。TI的DSP头文件提供了一个影子寄存器结构来辅助32位访问。例如,要修改寄存器中的位,需要先执行32位读取将寄存器内容复制到影子寄存器,然后修改影子寄存器中的位,最后再执行32位写回操作。同时,对于某些位,写入1可能用于清除,但需谨慎以免意外清除不应清除的位。
此外,文档还提到了其他重要寄存器,如CANME(邮箱使能寄存器)、CANMD(邮箱方向寄存器)、CANTRS(发送请求设置寄存器)等,这些寄存器在eCAN的操作中扮演着关键角色,用于配置CAN模块的行为和状态。
该资源主要涵盖了eCAN模块的内存布局、寄存器的访问方式以及控制逻辑,这些都是在设计和调试基于TMS320F2833x和2823x微控制器的CAN通信系统时必须了解的基础知识。
2020-01-02 上传
2017-12-04 上传
点击了解资源详情
2009-03-30 上传
2012-01-09 上传
2007-10-19 上传
2018-07-14 上传
2023-12-17 上传
幽灵机师
- 粉丝: 35
- 资源: 3891
最新资源
- C语言数组操作:高度检查器编程实践
- 基于Swift开发的嘉定单车LBS iOS应用项目解析
- 钗头凤声乐表演的二度创作分析报告
- 分布式数据库特训营全套教程资料
- JavaScript开发者Robert Bindar的博客平台
- MATLAB投影寻踪代码教程及文件解压缩指南
- HTML5拖放实现的RPSLS游戏教程
- HT://Dig引擎接口,Ampoliros开源模块应用
- 全面探测服务器性能与PHP环境的iprober PHP探针v0.024
- 新版提醒应用v2:基于MongoDB的数据存储
- 《我的世界》东方大陆1.12.2材质包深度体验
- Hypercore Promisifier: JavaScript中的回调转换为Promise包装器
- 探索开源项目Artifice:Slyme脚本与技巧游戏
- Matlab机器人学习代码解析与笔记分享
- 查尔默斯大学计算物理作业HP2解析
- GitHub问题管理新工具:GIRA-crx插件介绍