eCAN模块的配置

下面说明eCAN模块的初始化过程并介绍eCAN模块的配置步骤:

CAN模块使用前必须先进行初始化。初始化只能在模块初始化模式下完成。

eCAN模块的配置_第1张图片


通过编程使CCR=1(主控寄存器(CANMC)的位12)即设置为初始化模式。仅在CCE=1(CANES寄存器的位4)时可执行初始化,然后才可以写配置寄存器。

对于SCC模式而言,为了修改全局接收屏蔽寄存器(CANGAM)和SCC模式的两个局部接收屏蔽寄存器(LAM0和LAM3),也必须在初始化模式设置CAN模块。

通过编程使CCR(主控寄存器(CANMC)位12)==0后,将再次激活CAN模块。硬件复位后,激活初始化模式。

注:初始化模式,正常模式,以及异常模式间的转换与CAN网络同步。即CAN控制器在改变模式前一直等待,直到它探测到总线空闲(11个隐形位)为止。如果总线固定在显性位这种错误,CAN控制器不能探测到总线空闲,因此不能完成模式的转换。


1. CAN的位时间配置

CAN协议规范把名义上的位时间分为4段:

SYNC_SEG 该位时间段是用来使总线上的不同节点同步的。它期望有一个边缘,且总有一个时间当量(TQ,TIME QUANTUM)。

PROP_SEG 该位时间是用来补偿网络中的物理延时时间的。它为信号在总线上的传播时间,位输入比较器延时时间及输出驱动延时时间综合的两倍。该位时间可以编程位1-8个时间当量(TQ)。

PHASE_SEG1 该位时间是用来补偿正边缘相位错误的。它可以编程为1-8个时间当量(TQ),并且可以通过重同步来延长。

PHASE_SEG2 该位时间是用来补偿负边缘相位错误的。它可以编程为2-8个时间当量(TQ),并且可以通过同步来缩短。


2.CAN波特率的计算

波特率用每秒传送的位来计算。


3.EALLOW保护

为了避免无意中修改操作,eCAN模块中一些重要的寄存器和某些位受EALLOW保护。这些寄存器和位只有接触EALLOW保护后才能修改。以下是eCAN模块中受保护的寄存器和位:

CANMC[15-9]和[7-6]

CANBTC[23-16]和[10-0]

CANGIM[17-16]、[14-8]和[2-0]

CANMIM[31-0]

CANTSC[31-0]

CANTIOC[3]

CANRIOC[3]



你可能感兴趣的:(DSP)