eCAN總線模塊的初始化步驟
發布時間:2009/1/13 0:00:00 訪問次數:1021
在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模塊初始化