1、、SCU_MCLKSourceConfig函数原型:ErrorStatusSCU_MCLKSourceConfig(u32MCLK_Source输入:主时钟源。其允许值为以下三个:SCU_MCLK_PLL:主时钟为PLL时钟SCU_MCLK_RTC:主时钟为RTC时钟SCU_MCLK_OSC:主时钟为晶体振荡器输出:出错状态。ESS,。–当PLL是禁止或没有锁定的时候,选择PLL时钟作为主时钟源,函数返回ERROR。功能描述:选择主时钟源------OSC,RTC,或PLL在选择PLL作为主时钟塬的时候,一定要确保PLL是允许而且被锁定,这个工作可以在SCU_PLLCmd(ENABLE函数中完成。、SCU_PLLFactorsConfig函数原型:ErrorStatusSCU_PLLFactorsConfig(u8PLLN,u8PLLM,u8PLLP输入:参数1PLLN:PLL反馈分频器参数2PLLM:PLL预分频器r参数3PLLP:PLL快速分频器r输出:错误状态:ESS–当PLL选择作为主时钟期间,试图设置新的PLL,函数返回ERROR。功能描述:配置PLL在调用函数SCU_PLLCmd(DISABLE禁止PLL的时候,PLL必须没有被作为主时钟。编程改变PLL配置之前,PLL是禁止的。但是在配置之后可以通过调用函数SCU_PLLCmd(ENABLE来允许PLL。、SCU_PLLCmd函数原型:ErrorStatusSCU_PLLConfig(FunctionnalStateNewState输入:ENABLE或DISABLE输出:ESS函数返回错误ERROR在下列情况:–在PLL作为主时钟源的期间禁止PLL;–在PLL已经允许和锁定后再一次允许PLL;功能描述:允许或禁止PLL–允许PLL的时候,必须保证已经用函数SCU_PLLFactorsConfig配置了PLL的参数。–禁止PLL的时候,一定要确保PLL没有作为主时钟源。允许PLL之后,PLL锁定位是被屏蔽的,确保在退出该功能之前一直被锁定。在调用函数SCU_PLLCmd禁止PLL之前,为了保证系统时钟已经切换到OSC或RTC,一个“安全”延时被执行,cpu时钟频率和串口波特率的计算公式S3C44B0的系统时钟设置公式Fpllo为系统的主频,此处为60MHzFin为晶振的频率,:aFpllo=(m×Fin)/(p×2^s)bm=(MDIV+8,p=(PDIV+2,s=SDIVc20MHz<Fpllo<66MHzdFpllo*2s<170MHz(s应该尽可能的大)e1MHz<=Fin/p<2MHz(最好是Fin/p=1MHzf如果PLL打开则:Fpllo=Foutg这样计算出MDIV,PDIV,SDIV的值写入PLLCON寄存器中就可设置Fpllo的输出频率。根据d知道s=1根据e知道p=10再根据a就知道了m=120,注意2^s代表2的s次方再根据b知道MDIV=112,PDIV=8,SDIV=1根据44B0数据手册5-14页算出PLLCON=0X70081注意:PLLCON的结果不为一!比如P可以取8取7……注意:PLLCON寄存器是20位的各个区域中间有空的比
STR91x软件库 来自淘豆网www.taodocs.com转载请标明出处.