關於mpll的計算方法
1.u32 mpll_val=0;
mpll_val = (92<<12)|(1<<4)|(2);
算得mpll_val
的二進位制:
0101 1100 0000 0001 0010
注意:(92<<12)
中的92
為十進位制數,轉換為二進位制為
0x5c。
2.changempllvalue((mpll_val>>12)&0xff, (mpll_val>>4)&0x3f, mpll_val&3); 代入
1算得:
changempllvalue(0x5c,1,2); 3.
找到changempllvalue
子函式
void changempllvalue(int mdiv,int pdiv,int sdiv)
4.呼叫子函式,得到
rmpllcon
二進位制為:
0101 1100 0000 0001 0001 5.
根據s3c2440a
官方datasheet:
pllcon bit deion
mdiv [19:12] main divider control
pdiv [9:4] pre-divider control
sdiv [1;0] post divider control
以及mpll control register
mpll=(2*m*fin)/(p*2s)
m=(mdiv+8) p=(pdiv+2) s=sdiv
因rmpllcon
二進位制為:
0101 1100 0000 0001 0010,所以
m=(mdiv+8)=([19:12]+8)=92+8=100
p=(pdiv+2)=([9:4]+2)=1+2=3
s=sdiv=[1:0]=2
mpll=(2*m*fin)/(p*2s)=(2*100*12)/(3*4)=200m
S3C2440 時鐘計算
s3c2440有兩個pll phase locked loop 乙個是mpll,乙個是upll。mpll用於cpu及其他外圍器件,upll用於usb。s3c2440a 中的時鐘控制邏輯可以產生必須的時鐘訊號,包括cpu 的fclk,ahb 匯流排外設的hclk 以及 apb 匯流排外設的pclk。s...
S3C2440 時鐘計算
s3c2440有兩個pll phase locked loop 乙個是mpll,乙個是upll。mpll用於cpu及其他外圍器件,upll用於usb。s3c2440a 中的時鐘控制邏輯可以產生必須的時鐘訊號,包括cpu 的fclk,ahb 匯流排外設的hclk 以及 apb 匯流排外設的pclk。s...
S3C2440時鐘描述
1 上電幾毫秒後,晶振輸出穩定,fclk 晶振頻率,nreset訊號恢復高電平後,cpu開始執行指令。2 我們可以在程式開頭啟動mpll,在設定mpll的幾個暫存器後,需要等待一段時間 lock time mpll的輸出才穩定。在這段時間 lock time 內,fclk停振,cpu停止工作。loc...