fclk是提供給arm920t 的時鐘。
hclk 是提供給用於 arm920t,儲存器控制器,中斷控制器,lcd 控制器,dma 和 usb 主機模組的 ahb匯流排的時鐘。
pclk 是提供給用於外設如wdt,iis,i2c,pwm 定時器,mmc/sd 介面,adc,uart,gpio,rtc 和spi的 apb 匯流排的時鐘。
s3c2440a還支援對fclk、 hclk和pclk之間分頻比例的選擇。 該比例由clkdivn控制暫存器中的hdivn
和 pdivn所決定。
普通模式
普通模式中,包括電源管理模組、cpu核心、匯流排控制器、儲存器控制器、中斷控制器、dma和外部主控在
內的所有外設和基本模組完全可以執行。然而除基本模組外,提供給每個外設的時鐘都可以由軟體有選擇的停止以
降低功耗。
空閒模式
空閒模式中,停止了除匯流排控制器、儲存器控制器、中斷控制器、電源管理模組外的提供給cpu 核心的時鐘。
要退出空閒模式,應當啟用eint[23:0]或rtc 鬧鐘中斷或其它中斷(開啟gpio 模組前 eint不可用)
進入空閒模式
如果置位clkcon[2]為 1來進入空閒模式,s3c2440a 將在一些延時後(直到電源控制邏輯收到cpu 打包的
ack訊號)進入空閒模式。
慢速模式
慢速模式中,可以應用慢時鐘和排除來自 pll 的功耗來降低功耗。clkslow 控制暫存器中的 slow_val
和 clkdivn控制暫存器決定了分頻比例。
暫存器的說明:
locktime 0x4c000000 pll 鎖定時間計數暫存器
mpllcon 0x4c000004 mpll 配置暫存器
upllcon 0x4c000008 upll 配置暫存器
注意:
當你設定mpll 和upll的值時,你必須首先設定upll值再設定mpll 值。 (大約需要7個 nop的間隔)
mpll控制暫存器
mpll = ( 2 × m × fin ) / ( p × 2s
)
m = ( mdiv + 8 ), p = ( pdiv + 2 ), s = sdiv
upll控制暫存器
upll = ( m × fin ) / ( p × 2s
)
m = ( mdiv + 8 ), p = ( pdiv + 2 ), s = sdiv
clkcon 0x4c00000c 時鐘生成控制暫存器
clkdivn 0x4c000014 時鐘分頻控制暫存器 //1:4:8時候設定成5
camdivn 0x4c000018 攝像頭時鐘分頻暫存器
注意:
1. 應當謹慎設定clkdivn,不要使其超過hclk和 pclk的最小值。
2. 如果 hdivn 不為 0,cpu 匯流排模式應該使用以下指令使其從快匯流排模式改變為非同步匯流排模式(s3c2440
不支援同步匯流排模式)。
mmu_setasyncbusmode
mrc p15, 0, r0, c1, c0, 0
orr r0, r0, #r1_nf:or:r1_ia
mcr p15, 0, r0, c1, c0, 0
如果 hdivn 不為0 並且cpu 匯流排模式為快匯流排模式,cpu 執行在hclk。可以用此特性在不影響 hclk 和
pclk 的情況下改變cpu頻率為一半或更多。
FCLK,HCLK和 PCLK時鐘三者之間的關係
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!fclk是提供給arm920t 的時鐘。hclk 是提供給用於 arm920t,儲存器控制器,中斷控制器,lcd 控制器,dma 和 usb 主機模組的 ahb匯流排的時鐘。pclk 是提供給用於外設如wdt,iis,i2c,pwm 定時器,mmc...
FCLK HCKL和PCLK的關係
三星官方搭載的wince系統的flck值為400mhz,hclk值為100mhz pclk值為50mhz。那麼這些值通過什麼方法計算出來呢?大概過程如下,這些值在外部晶振12mhz的基礎上通過pll的作用倍頻到我們需要的核心頻率如400mhz,由於該頻率過高,需要通過對預分頻器進行適當的設定獲取外圍...
實時(RTC)時鐘,系統時鐘和CPU時鐘
最近在學stm32的時候看到rtc時鐘和系統時鐘,不知道區別在 於是上網查了一下。實時時鐘 rtc時鐘,用於提供年 月 日 時 分 秒和星期等的實時時間資訊,由後備電池供電,當你晚上關閉系統和早上開啟系統時,rtc仍然會保持正確的時間和日期。系統時鐘 是乙個儲存於系統記憶體中的邏輯時鐘。用於系統的計...