S3C2440時鐘計算

2021-06-28 04:00:59 字數 1106 閱讀 3234

關於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...