<br />PLL设置我在2368上以前调试通过了,并且PLL设置成功后电流增加30毫安。<br />以下是我现在用的PLL设置, <br /><br /><br /> ; //LPC2368 <br /> <br />; Setup Clock<br /> IF CLOCK_SETUP != 0<br /> LDR R0, =SCB_BASE<br /> MOV R1, #0xAA<br /> MOV R2, #0x55<br /><br />; Configure and Enable PLL<br /> LDR R3, =SCS_Val ; Enable main oscillator<br /> STR R3, [R0, #SCS_OFS] <br /><br /> IF (SCS_Val:AND:OSCEN) != 0 <br />OSC_Loop LDR R3, [R0, #SCS_OFS] ; Wait for main osc stabilize<br /> ANDS R3, R3, #OSCSTAT<br /> BEQ OSC_Loop<br /> ENDIF<br /><br /> LDR R3, =CLKSRCSEL_Val ; Select PLL source clock<br /> STR R3, [R0, #CLKSRCSEL_OFS] <br /> LDR R3, =PLLCFG_Val<br /> STR R3, [R0, #PLLCFG_OFS] <br /> STR R1, [R0, #PLLFEED_OFS]<br /> STR R2, [R0, #PLLFEED_OFS]<br /> MOV R3, #PLLCON_PLLE<br /> STR R3, [R0, #PLLCON_OFS]<br /> STR R1, [R0, #PLLFEED_OFS]<br /> STR R2, [R0, #PLLFEED_OFS]<br /><br />; Wait until PLL Locked<br />PLL_Loop LDR R3, [R0, #PLLSTAT_OFS]<br /> ANDS R3, R3, #PLLSTAT_PLOCK<br /> BEQ PLL_Loop<br /><br />M_N_Lock LDR R3, [R0, #PLLSTAT_OFS]<br /> LDR R4, =(PLLSTAT_M:OR:PLLSTAT_N)<br /> AND R3, R3, R4<br /> LDR R4, =PLLCFG_Val<br /> EORS R3, R3, R4<br /> BNE M_N_Lock<br /><br />; Setup CPU clock divider<br /> MOV R3, #CCLKCFG_Val<br /> STR R3, [R0, #CCLKCFG_OFS]<br /><br />; Setup USB clock divider<br /> LDR R3, =USBCLKCFG_Val<br /> STR R3, [R0, #USBCLKCFG_OFS]<br /><br />; Setup Peripheral Clock<br /> LDR R3, =PCLKSEL0_Val<br /> STR R3, [R0, #PCLKSEL0_OFS]<br /> LDR R3, =PCLKSEL1_Val<br /> STR R3, [R0, #PCLKSEL1_OFS]<br /><br />; Switch to PLL Clock<br /> MOV R3, #(PLLCON_PLLE:OR:PLLCON_PLLC)<br /> STR R3, [R0, #PLLCON_OFS]<br /> STR R1, [R0, #PLLFEED_OFS]<br /> STR R2, [R0, #PLLFEED_OFS]<br /> ENDIF ; CLOCK_SETUP<br /> <br /> <br /> ;///end of LPC2368 <br />
|