eCAN总线模块的初始化步骤
发布时间:2009/1/13 0:00:00 访问次数:1041
在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模块已经配置完成。
欢迎转载,信息来源维库电子市场网(www.dzsc.com)
在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模块已经配置完成。
欢迎转载,信息来源维库电子市场网(www.dzsc.com)
上一篇:eCAN总线模块的位时间(Bit-Timing)配置
上一篇:eCAN模块初始化