理论教育 eCAN控制器的功能与架构详解

eCAN控制器的功能与架构详解

时间:2023-06-15 理论教育 版权反馈
【摘要】:eCAN是具有32位内部结构的CAN控制器。时间标志特性只存在于eCAN模式中。CAN控制器标准模式与eCAN模式标准模式是eCAN的简化功能模式。存储器映射eCAN模块映射到28x的存储器中两个不同的地址段。图12-4 eCAN模块存储器映射信息存储在RAM中,可通过CAN控制器或CPU寻址RAM。eCAN中的邮箱模块提供了32个8B数据、29位标识符和几个控制位的信息邮箱。eCAN控制和状态寄存器的地址及描述见表12-1,CPU使用这些寄存器来配置和控制CAN控制器及信息对象。

eCAN控制器的功能与架构详解

eCAN是具有32位内部结构的CAN控制器。eCAN控制器模块包括:CAN协议核心(CPK)和信息控制器。信息控制器包括:

存储器管理单元(MMU),包括CPU接口、接收控制单元(接收滤波)和定时器管理单元。

●能存储32条信息的邮箱RAM。

●控制和状态寄存器。

当CPK接收到一条有效信息后,信息控制器的接收控制单元决定是否将接收到的信息存入32个RAM邮箱之一。接收控制单元检测所有信息对象的状态、标识符和屏蔽,然后决定存入合适的邮箱。接收的信息存入通过接收滤波认可后的第一个邮箱。如果接收控制单元不能找到认可的邮箱,就将信息丢弃。

一条信息由11位或29位的标识符、控制域和高达8B数据组成。

当必须发送一条信息时,信息控制器发送该信息到CPK的发送缓存器,这样就可以在下一个总线空闲周期开始发送信息。当需要发送多条信息时,信息控制器将把准备好要发送的最高优先级的信息送入CPK。如果两个邮箱具有相同的优先级,则序号较大的邮箱将优先发送。

定时管理单元包含一个时间标志定时器,对所有接收或发送的信息进行时间标定。当使能的时钟周期结束后,如果一个信息没有接收或发送出去,则产生中断。时间标志特性只存在于eCAN模式中。

对于初始化数据发送,相应控制寄存器的发送请求位必须置1。整个发送过程和可能出现的错误处理都将独立进行而不需要CPU参与。如果配置一个邮箱为接收信息,使用CPU读指令可以很容易读到它的数据寄存器的内容。可以设置邮箱为在每一次成功发送或接收信息后产生中断。

(1)CAN控制器标准模式(SCC)与eCAN模式

标准模式(Standard CAN Controller,SCC)是eCAN的简化功能模式。在该模式下,只使用了16个邮箱(0~15),时间标志特性不可用且减少了可用的接收屏蔽寄存器的数目。该模式为默认模式。使用SCB位(CANMC.13)可以选择是标准模式还是全功能的eCAN模式。(www.daowen.com)

(2)存储器映射

eCAN模块映射到28x的存储器中两个不同的地址段。第一个地址段用于访问信息对象的控制寄存器、状态寄存器、接收屏蔽寄存器、时间标志寄存器以及超时寄存器。对控制寄存器和状态寄存器的访问限制为32位宽的模式。局部接收屏蔽寄存器、时间标志寄存器和超时寄存器可以以8位、16位和32位宽的方式访问。第二个地址段用于访问邮箱。该存储器范围也可以用8位、16位和32位宽的方式来访问。CAN控制器的这两个存储区如图12-4所示,它们占用了512B的地址空间。

978-7-111-57271-8-Chapter12-4.jpg

图12-4 eCAN模块存储器映射

信息存储在RAM中,可通过CAN控制器或CPU寻址RAM。CPU通过修改RAM中的各个邮箱或附加寄存器来控制CAN控制器。存储单元的不同内容对应于执行接收滤波、信息发送和中断处理的功能。

eCAN中的邮箱模块提供了32个8B数据、29位标识符和几个控制位的信息邮箱。每一个邮箱都可以配置为发送或接收方式。在eCAN模块中,每个邮箱都有对应的接收屏蔽寄存器。

注意如果在应用中有未使用的LAMn、MOTSn和MOTOn寄存器和邮箱(被CANME禁止)区域,则用户可以把它们当作通用数据存储器使用。

eCAN控制和状态寄存器的地址及描述见表12-1,CPU使用这些寄存器来配置和控制CAN控制器及信息对象。控制和状态寄存器只允许进行32位的访问,而邮箱RAM则无此限制。

12-1 CAN模块寄存器地址与描述

978-7-111-57271-8-Chapter12-5.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈