展讯平台驱动学习心得(四) —系统频率设置

时间:2022-09-07 16:25:46

        SC6600H 平台可以外接两种晶振:13Mhz 和26Mhz。不论外接何种晶振,MPLL/UPLL的计算公式都是26MHZ * M/N。系统在进行不同的应用时,可以调整ARM_clk来满足需要,目前DSP Clk从UPLL分频,平台将UPLL设置为130MHZ,DSP Clk为65MHZ,其他CLK均从MPLL分频,将MPLL设置为96MHZ。改变ARM_clk并不意味着可以设置任意频率的ARM_clk。目前支持的ARM_clk为32M、48M和96M。

对应的宏在arm_reg.h定义为:
#define ARM_CLK_32M 32000000
#define ARM_CLK_48M 48000000
#define ARM_CLK_96M 96000000


如何改变ARM_clk :


应用程序设置ARM_clk需要调用函数:
void CHIP_SetArmClk(uint32 clk);
在不需要变频的时候,需要调用函数:
void CHIP_RestoreARMClk(void);


这两个函数必须成对出现,即在应用程序需要较高MIPS来支撑其运行时调用CHIP_SetArmClk(),在不需要后调用CHIP_RestoreARMClk()。需要注意的是当前不支持在中断服务程序中改变ARM_clk,否则会报错。