eCAN内存映射与32位访问技术

需积分: 40 20 下载量 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通信系统时必须了解的基础知识。