S3C2440 時鐘計算

2021-08-25 23:31:13 字數 1769 閱讀 3818

s3c2440有兩個pll(phase locked loop)乙個是mpll,乙個是upll。mpll用於cpu及其他外圍器件,upll用於usb。

s3c2440a 中的時鐘控制邏輯可以產生必須的時鐘訊號,包括cpu 的fclk,ahb 匯流排外設的hclk 以及

apb 匯流排外設的pclk。s3c2440a 包含兩個鎖相環(pll):乙個提供給fclk、hclk 和pclk,另乙個專用於

usb 模組(48mhz)。時鐘控制邏輯可以不使用pll來減慢時鐘,並且可以由軟體連線或斷開各外設模組的時鐘,

從s3c2440的datasheet裡可以看到,s3c2440最大支援400mhz的主頻,但是這並不意味著一定工作在400mhz下面,可以通過設定mpll, upll暫存器來設定cpu的工作頻率。

儘管在cpu上電(power-on)或者復位(reset)後,mpll就開始進入工作狀態,但是此時mpll的輸出(mpll)並不作為系統的時鐘,而是直接使用外部訊號extclk或者外部時鐘晶振作為系統時鐘。直到軟體初始化mpll暫存器(rmpllcon),寫入了有效的值過後,系統才開始使用mpll的輸出(mpll)作為系統時鐘。雖然很多時候我們不必重新設定mpll暫存器(rmpllcon)新的值,但是為了使系統使用其輸出作為時鐘訊號,在軟體初始化系統部分,還是要向rmpllcon寫入乙個有效的舊的值。這樣子才使系統處於正確的工作狀態。

關於mpll的計算方法

1.u32mpll_val=0;

mpll_val=(92<<12)|(1<<4)|(1);

算得mpll_val

的二進位制:

01011100000000010001

注意:(92<<12)

中的92

為十進位制數,轉換為二進位制為

0x5c。

2.changempllvalue((mpll_val>>12)&0xff,(mpll_val>>4)&0x3f,mpll_val&3); 代入

1算得:

changempllvalue(0x5c,1,1); 3.

找到changempllvalue

子函式

voidchangempllvalue(in***iv,intpdiv,intsdiv)

4.呼叫子函式,得到

rmpllcon

二進位制為:

01011100000000010001 5.

根據s3c2440a

官方datasheet:

pllconbitdeion

mdiv[19:12]maindividercontrol

pdiv[9:4]pre-dividercontrol

sdiv[1;0]postdividercontrol

以及mpllcontrolregister

mpll=(2*m*fin)/(p*2s)

m=(mdiv+8)p=(pdiv+2)s=sdiv

因rmpllcon

二進位制為:

01011100000000010001,所以

m=(mdiv+8)=([19:12]+8)=92+8=100

p=(pdiv+2)=([9:4]+2)=1+2=3

s=sdiv=[1:0]=1

mpll=(2*m*fin)/(p*2s)=(2*100*12)/(3*2)=400m

pclk是為apb匯流排提供的時鐘訊號,advanced peripherals bus,主要用於低速外設,比如看門狗,uart控制器, iis, i2c, sdi/mmc, gpio,rtc and spi等。

源文件<

>

S3C2440 時鐘計算

s3c2440有兩個pll phase locked loop 乙個是mpll,乙個是upll。mpll用於cpu及其他外圍器件,upll用於usb。s3c2440a 中的時鐘控制邏輯可以產生必須的時鐘訊號,包括cpu 的fclk,ahb 匯流排外設的hclk 以及 apb 匯流排外設的pclk。s...

S3C2440時鐘計算

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

S3C2440時鐘描述

1 上電幾毫秒後,晶振輸出穩定,fclk 晶振頻率,nreset訊號恢復高電平後,cpu開始執行指令。2 我們可以在程式開頭啟動mpll,在設定mpll的幾個暫存器後,需要等待一段時間 lock time mpll的輸出才穩定。在這段時間 lock time 內,fclk停振,cpu停止工作。loc...