eCAN总线模块特点
2011-07-12
C28x处理器上的eCAN总线模块同240x系列DSP上的CAN总线模块相比也有一些改进,比如邮箱带有独立接收屏蔽及分时邮递功能,邮箱数量也有所增加。鉴于这些差别,240x系列DSP的CAN总线模块的代码不能直接应用到eCAN总线上。但是,eCAN模块和240x系列DSP的CAN模块的寄存器(两者都有的寄存器)在结构和功能上都是相同的。这样即便是代码不能完全兼容,在移植上还是非常容易的。C28x处理器上的 eCAN,总线概括起来有以下特点。
·支持兼容的CAN2.OB总线协议。
·最高支持1 Mb/s的总线通信速率。
·32个邮箱,每个邮箱有以下特点:
◇接收邮箱或发送邮箱可配置;
◇标准或扩展标识可配置;
◇1个可编程接收滤波器屏蔽寄存器;
◇支持数据帧和远程帧;
◇数据长度0~8字节可编程;
◇在接受和发送消息时,使用Q9位分时邮递;
◇保护消息的接收;
◇发送消息的极性可编程;
◇采用2个中断级的可编程中断;
◇在发送或者接收超时时,使用可编程中断。
·低功耗模式。
·可编程总线唤醒功能。
·自动应答远程请求消息。
·在仲裁或错误丢失消息时,自动重发。
·可以通过特定的消息同32位定时邮递计数器同步。
·自测试模式:在该模式下,提供“空闲”的应答信号,因此不需要其他节点提供应答信号,方便系统调试。
C28x处理器的eCAN总线模块主要由CPU接口及控制器单元、消息邮箱单元以及设置寄存器单元构成,如图1所示。
图1 C28x处理器的eCAN总线模块结构图
CAN控制器模块为0~8字节的消息目标提供32个邮箱:
·可配置的接收/发送邮箱;
·可配置的标准/扩展标识符。
CAN模块的邮箱分成几个部分:
·MID:包含邮箱的标识符;
·MCF(消息控制区):包含消息长度(发送或接收)及RTRbit(远程传输请求,用来发送远程帧);
·MDL和MDH:包含数据。
CAN模块包含寄存器,根据功能分成5组,这些寄存器位于处理器的数据存储空间0x006000~0x0061FF,如图2所示,主要包括:
·控制&状态寄存器;
·局部接收屏蔽;
·消息目标时间标签;
·消息目标超时;
·邮箱。
图2 C28x处理器的eCAN总线模块存储空间映射图
在C28x DSP中,eCAN模块映射到两个不同的地址段。第一段地址空间分配给控制寄存器、状态寄存器、接收滤波器、定时邮递和消息对象超时。控制和状态寄存器采用32位宽度访问,局部接收滤波器、定时邮递寄存器和超时寄存器可以采用8位、16位和DOO/位宽度访问。第二段地址空间映射到Q9个邮箱。如图3和图4所示,两段地址空间各占512字节。消息存储在RAM中,CAN控制器和CPU都可以对其进行访问。CPU通过调整RAM中的各种邮箱或寄存器来控制CAN控制器,各种存储空间存放的内容控制接收滤波、消息发送和中断处理等功能。eCAN的邮箱模块提供32个邮箱,每个邮箱包括8字节数据区、29位标识符和几个控制位,每个邮箱都可以配置为接收或发送邮箱。在eCAN摸式下,每个邮箱都有自己的接收滤波器。
图3 C28x处理器的eCAN总线模块邮箱地址映射
图4 C28x处理器的eCAN总线模块寄存器映射
上一篇:eCAN总线模块的初始化步骤
下一篇:CAN总线的通信错误及其处理