日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

S3C2443时钟管理

發布時間:2025/4/16 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 S3C2443时钟管理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

S3C2443時鐘管理

?

S3C2443有兩個PLL用來產生內部時鐘,分別是MPLLEPLL,其中MPLL為包括ARMAHBAPB的總體功能模塊產生內部時鐘,而EPLL為比如是USBI2Scamera等這些具體的模塊產生時鐘,我們可以通過軟件編程來控制這個兩個PLL的工作頻率,可以關閉和開啟內部時鐘源來減少功耗。

?

1.MPLLEPLL時鐘源的選擇

?

從上圖可知主要的時鐘源來之外部晶振(XTI)或者外部時鐘(EXTCLK),時鐘產生器由MPLLEPLL組成,這兩個PLL的作用是可以產生S3C2443所需要的高頻時鐘信號。由OM[0]來決定MPLL是選擇XTI還是EXTCLK來作為時鐘源,而OM[0]是由硬件設計來確定,下圖是我們項目OM[0]的設計部分:

?

在此設計中,OM[0]=1,根據下表

?

可知MPLL的時鐘源是由XTI提供,如下圖所示:

?

由上面左圖可知EXTCLK是通過0R的電阻直接接地的,所以EPLL只能選擇XTI來作為EPLL的時鐘源的,再根據下圖:

?

我們可知,CLKSRC[8]=0CLKSRC[7]=X,這里X可以是0或者1,這是需要在startup.s中做相應的設置的。

?

?

2.PLL(phase-locked-loop)

?

S3C2443PLL主要由PFD(phase difference detector,相位差檢測器)、charge pump(電荷泵)VCO(voltage controlled oscillator壓控振蕩器)off-chip loop filter(外部環路濾波器)

?

PFD:又稱為相比比較器,它的作用是檢測輸入信號和輸出信號的相位差,并將檢測出的相位差信號轉換為電壓信號輸出。

?

Charge pump電荷泵轉變PFD的電壓輸出信號成一定比例的電壓值發送給VCOoff-chip loop filter。

?

Off-chip loop filterPFD輸出的電壓信號,進入charge pump后,可能會有高頻雜波,通過Off-chip loop filter 可以輸出VCO需要一個穩定的電壓,在這里,Off-chip loop filter采用典型的RC低通濾波。

?

VCO:輸出電壓進入VCO,引起振蕩器 頻率的變化,壓控振蕩器的輸出頻率隨其輸入電壓的改變而改變,當FrefFvco沒有差別的時候,電壓就會保持穩定下來,PFD就停止輸出電壓信號給charge pump,這樣PLL系統時鐘就穩定了。

?

?

3.改變PLL設置

S3C2443在平常的工作模式中,我們可以通過來寫PMS的值來改變PLL的輸出頻率,當我們通過軟件來寫PMS的值時,PLL的鎖存(lock time)被自動插入,在這個lock time期間,PLL是沒有產生有效的時間給S3C2443的,在lock time過后,PLL才產生有效和穩定的clockSYSCLK,見下圖。

?

PMS分別指的是PDIV、MDIVSDIV,而PDIV是值PLL main divider valueMDIV是指PLL pre-divider valueSDIV是指PLL post-divider value,控制MPLLEPLL時鐘的寄存器MPLLCONEPLLCON否有這幾個值的定義。

?

4.系統時鐘控制

由下圖可知ARMCLKARM920T的內核時鐘,也是S3C2443CPU時鐘;HCLK是內部AHB bus和比如是內存控制器、中斷控制器、LCD控制器等外圍設備的基準時鐘;PCLK是內部APB bus和比如是WDTIIS、I2C等外圍設備的基準時鐘;DDRCLKMDDR內存的data strobe時鐘。

?

4.1 MPLL的時鐘控制

?

從上圖可知,MSysClkARMCLK、HCLK、PCLKDDRCLK這些時鐘的基準時鐘,而ARMCLK、HCLK、PCLK、DDRCLK這些時鐘到底有什么關系呢,通過對CLKDIVO控制寄存器的設置可以得到它們之間不同的比值關系,見下表

?

?

4.2 EPLL的時鐘控制

?

從上圖可知EPLL的時鐘ESYSCLK被用作不同的外圍控制器提供基準時鐘,通過divider的分頻可以得到不同外圍控制所需要的時鐘,而這個分頻值是通過對CLKDIV1寄存器的配置來實現的,也可以通過編程SCLKCON寄存器來關閉或者開啟不同外圍控制器的時鐘。

?

stopsleep模式,EPLL將被自動關閉,在退出stopsleep模式的時候,如果SCLKCON寄存器中相關位被使能的情況下,那么EPLL將為使能的外圍控制器產生時鐘。

?

5. 上電復位PLL時鐘的啟動流

?

在電壓源提供所需要的電壓給系統上電復位后,晶體振蕩器在幾毫秒之內起振,剛開始的時候MPLLEPLL都是停止的。當nRESET在晶振時鐘穩定后釋放(由低電平變為高電平)PLL開始是使用PLL的輸入時鐘Fin作為SYSCLK時鐘的,系統上電復位后,必須通過軟件來配置MPLLCONEPLLCON使用每個PLL,也即通過寫MPLLCONEPLLCONPDIV、MDIVSDIV值,接著會自動插入PLLlock timelock time之后,PLL的輸出時鐘Fout就是作為SYSCLK時鐘來使用了,這些動作一般是在startup.s函數中初始化的,見下圖

?

?

總結

以上是生活随笔為你收集整理的S3C2443时钟管理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。