微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > eCAN总线模块的初始化步骤

eCAN总线模块的初始化步骤

时间:07-12 来源:互联网 点击:

  在CAN模块正常操作及初始化之前,必须使能模块的时钟。可以通过寄存器PCLKCR的14位使能/屏蔽CAN模块的时钟。在不使用CAN模块时,通过该位屏蔽CAN的时钟可以降低功耗。该位不能控制CAN模块的低功耗模式,同其他外设一样,复位后CAN模块的时钟被屏蔽。模块时钟的配置一般在处理器初始化中完成,eCAN模块的初始化步骤如下。

(1)使能CAN模块的时钟。

(2)设置CANTX和CANRX作为CAN通信引脚:   

◇写CANTIOC.3:0=0x08;   

◇写CANRIOC.3:0=Ox08。

(3)复位后,OCR(CANMC.12)位和CCE(CANES.4)位置1,允许用户配置位时间配置寄存器(CANBTC)。如果CCE位置1(CANES.4=1),进行下一步;否则将CCR位置1(CAN-MC,12=1),然后等待直到CCE置1(CANES.4=1)。

(4)使用适当的值对CANBTC进行配置,确认TSEG1和TSEG2不等于0。如果两个值等于0,则CAN模块不能退出初始化模式。

(5)对于标准CAN模式(SCC),现在对接收屏蔽寄存器编程。如写LAM(3)=0x3C0000。

(6)对主控制寄存器(CANMC)编程,具体如下:   

◇清除OCR(CANMC.12)=0   

◇清除PDR(CANMC.11)=0   

◇清除DBO(CANMC.10)=0   

◇清除WUBA(CANMC.9)=0   

◇清除CDR(CANMC.8)=0   

◇清除ABO(CANMC.7)=0   

◇清除STM(CANMC.6)=0   

◇清除SRES(CANMC.5)=0   

◇清除MBNR(CANMC.4~0)=0   

(7)将MSGCTRLn寄存器的所有位清零进行初始化。

(8)检查CCE是否被清零(CANES.4=0),如果被清零则表明CAN模块已经配置完成。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top