S3C2440時鐘分析

2022-08-03 10:45:10 字數 1248 閱讀 7204

s3c2440時鐘控制邏輯可以產生fclk、hclk、pclk和uclk。fclk為cpu時鐘。hclk為ahb匯流排外設時鐘,包括儲存控制器、中斷控制器、lcd控制器、dma控制器等。pclk為apb匯流排外設時鐘,包括看門狗、iis、iic、pwm定時器、mmc介面、adc、uart、gpio、rtc和spi等等。uclk專用於usb主機或裝置介面時鐘。

時鐘源的選擇:

時鐘源的選擇是通過om3和om2管腳控制的,時鐘源可以是外部晶振,也可以是外部時鐘。

s3c2440有兩個鎖相環(pll),乙個用於fclk、hclk和pclk的mpll,另乙個專用於uclk的upll。

mpllcon

和upllcon

暫存器用於設定

fclk

和uclk

的時鐘頻率,那麼最後的時鐘頻率是如何計算的呢,有如下公式:

對於fclk

:fout= (2 * m * fin) / (p * 2s)

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

對於uclk

:fout= (m * fin) / (p * 2s)

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

s3c2440

資料手冊上也給出了典型值,我們也來驗證一下他給的設定是否正確。比如

uclk

為48mhz

,他給的

mdiv為56

,pdiv為2

,sdiv為2

,那麼uclk

為多少呢,依照上面給的公式計算得到如下值:

(56+8)*12/((2+2)*2²)=48

,結果正確。如果我要設定

fclk

為400mhz

,資料手冊上也沒有給出參考,唯一接近的是

405mhz

mdiv= 92

、pdiv= 1

、sdiv= 1

,大家依照上面的公司計算一下,看

fclk

是否為400mhz

。前面也只是設定了

fclk

和uclk

的時鐘,還有

hclk

和pclk

沒有設定,

hclk

和pclk

是通過fclk

分頻得來的。通過

clkdivn

暫存器來控制。

也就是說還和

camdivn

暫存器有關。

S3C2440時鐘描述

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

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