新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > S3C44B0的系統(tǒng)時鐘設置公式

S3C44B0的系統(tǒng)時鐘設置公式

作者: 時間:2016-11-17 來源:網(wǎng)絡 收藏
Fpllo 為系統(tǒng)的主頻,此處為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的輸出頻率。
根據(jù) d)知道s=1
根據(jù) e)知道p=10
再根據(jù) a)就知道了m=120,注意2^s代表2的s次方
再根據(jù) b)知道MDIV=112, PDIV=8, SDIV=1
根據(jù)44B0數(shù)據(jù)手冊5-14頁算出 PLLCON=0X70081
注意:PLLCON的結果不為一!比如P可以取8 取7……
注意:PLLCON寄存器是20位的 各個區(qū)域中間有空的
比如MDIV是寄存器里19-12位,PDIV是9-4位兩個中間有11,10位空,如果用2進制算就添0

本文引用地址:http://m.butianyuan.cn/article/201611/315387.htm

不過做過硬件的就知道 大可不必只要把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;
}



評論


技術專區(qū)

關閉