eCAN总线模块的初始化步骤
在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模块已经配置完成。
- eCAN总线模块概述(12-05)
- eCAN总线模块特点(07-12)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)