微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > S3C44B0的系统时钟设置公式

S3C44B0的系统时钟设置公式

时间:11-17 来源:互联网 点击:
Fpllo 为系统的主频,此处为60MHz

Fin 为晶振的频率,此处为10MHz
一. 通过PLL输出时钟脉冲频率的计算:
a) Fpllo = (m × Fin)/ (p × 2^s)
b) m = (Mdiv + 8) , p = (Pdiv + 2), s = Sdiv
c) 20MHz < Fpllo < 66MHz
d) Fpllo * 2^s < 170MHz (s应该尽可能的大)
e) 1MHz <= Fin/p < 2MHz (最好是Fin/p = 1MHz)
f) 如果PLL打开则:Fpllo = Fout
g) 这样计算出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位的 各个区域中间有空的
比如Mdiv是寄存器里19-12位,Pdiv是9-4位两个中间有11,10位空,如果用2进制算就添0

不过做过硬件的就知道 大可不必只要把Mdiv, Pdiv, Sdiv用WINDOWS自带计算机直接由2进制转换成16进制顺序写就行

比如Mdiv=112=0x70, Pdiv=8=0x08, Sdiv=1=0x1
void ChangePllValue(int mdiv,int pdiv,int sdiv)
{
rPLLCON=(mdiv<12)|(pdiv<4)|sdiv;
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top