S3C2440的datesheet上說,可以達到400M,但是也不是說,必須在400M的頻率下工作,主時鐘晶振來自于外部晶振(XTIPLL)或者是外部時鐘(EXTCLK)。時鐘生成器包含了一個振蕩器(振蕩放大器),其連接外部晶振,并且還有2個PLL,可以產生需要的高頻。
通過引腳OM[3:2]來決定時鐘源是Crystal還是EXTCLK,不過我用的開發板將OM[3:2]固定接地了,都是用外部晶振。有一點值得注意,在對MPLLCON寫入有效值之前,系統使用外部晶振或外部時鐘源的時鐘。即使用戶不準備改變MPLLCON的值,也應當重新寫一次。
簡單說一下,S3C2440的時鐘構成。
S3C2440具有2個PLL(Phase Locked Loop:用來產生高頻的電路),一個是MPLL, 用于產生FCLK, HCLK, PCLK三種頻率, 這三種頻率分別有不同的用途:
FCLK是CPU提供的時鐘信號,如果提到CPU的主頻是400MHz,就是指的這個時鐘信號。
HCLK是為AHB總線提供的時鐘信號, Advanced High-performance Bus,主要用于高速外設,比如內存控制器,中斷控制器,LCD控制器, DMA 以及USB host 。
PCLK是為APB總線提供的時鐘信號,Advanced Peripherals Bus,主要用于低速外設,比如WATCHDOG,IIS, I2C, SDI/MMC, GPIO,RTC ,UART,PWM,ADC and SPI等等。
另外一個是UPLL,專門用于驅動USB host/Device。并且驅動USB host/Device的頻率必須為48MHz。
在系統復位之后,如果沒有設定PLL,則采用外部晶振的頻率作為FCLK,同時FCLK:HCLK:PCLK的比例關系為1:1:1。
下面說一些跟時鐘有關的寄存器設置:通過改變CLKDIVN可以改變FCLK,HCLK,PCLK的分頻比。
鎖定時間計數寄存器LOCKTIME(0x4c000000):一般使用默認就可以。
鎖相環控制寄存器[MPLLCON(0x4c000004)&UPLLCON(0x4c000008)]:
MPLL=(2*m*Fin)/(p*2^s) UPLL=(m*Fin)/(p*2^s)
其中m=(MDIV+8),p=(PDIV+2),s=SDIV
P,M范圍:1<=P<=62,1<=M<=248
注意:MDIV[19:12],PDIV[9:4],SDIV[1:0],當設置MPLL和UPLL值的時候,需要先設置UPLL再設置MPLL。
例如:MPLLCON = (92<<12) | (1<<4) |(1);//FCLK=400M
這里MDIV=92,PDIV=1,SDIV=1,那么m=100,p=3,s=1,且Fin=12M,所以FCLK=400M
再設置CLKDIVN=0x03;//FCLK:HCLK:PCLK=1:2:4
這里CLKDIVN(0x4c000014)用于決定三者的分配比例
一般設置這兩個就可以了。還有一個時鐘控制寄存器CLKCON(0x4c00000c)向相應位寫1使能相應時鐘,不過一般默認為1.
overview
時鐘和電源管理這一塊內容包括三個部分:時鐘控制, USB控制, 電源控制
在s3c2440a的CPU上,時鐘控制邏輯可以產生需要的時鐘信號,包括給CPU用的FCLK, 給AHB總線外設用的HCLK以及給APB總線外設用的PCLK.S3C2440A含有兩個鎖相環:一個是FCLK, HCLK和PCLK, 還有另外一個專門用于USB單元(48Hz).時鐘控制邏輯可以在沒有PLL的時候使時鐘變慢,并且可以用軟件的方法使時鐘與周邊設備連接與斷開, 這個功能可以節省功耗.
補充:
AMBA總線
先進的微控制器總線體系結構AMBA規范定義了三種總線:
(1)AHB(Advanced High-performance Bus):用于連接高性能系統模塊。它支持突發數據傳輸方式及單個數據傳輸方式,所有時序參考同一個時鐘沿;
(2)ASB(Advanced System Bus):用于連接高性能系統模塊,它支持突發數據傳輸模式;
(3)APB(Advance Peripheral Bus):是一個簡單接口支持低性能的外圍接口。
對于電源控制邏輯,S3C2440A有不同的電源管理的主題,來對某一項任務來優化電源功耗.S3C2440A中的電源管理單元可以有四種模式:
普通模式, SLOW 模式, IDLE模式, SLEEP模式.
功能描述
時鐘架構
時鐘產生器包括一個連接在外部crystal上的晶振,并且有兩用于產生S3C2440A所需要的高頻信號的鎖相環.
時鐘源的選擇
下表顯示了芯片模式控制引腳(OM3和OM2)的選擇與S3C2440A時鐘源的關系.
注意:
1) 盡管重啟后,MPLL會啟動,但是直到軟件正確設置了MPLLCON寄存器后,MPLL的輸出才作為系統的時鐘.在正確的設置被設置前,來自外部的crystal或extclk源直接作為系統時鐘.即使用戶并不想改變MPLLCON寄存器的默認值,用戶應該在MPLLCON的寄存器中設置同樣的值.
2) OM[3:2]用于決定測試模式,當OM[1:0]是11的時候.
鎖相環
在時鐘產生器中的MPLL,作為一個電路,作用是在頻率與相伴上同步輸出信號與一個參考輸入信號.
時鐘控制邏輯
時鐘控制邏輯決定使用的信號源,PLL時鐘或外部時鐘. 當PLL配置成一個新的頻率時,時鐘控制邏輯中止FCLK的使用,直到使用PLL鎖時間的PLL的輸出穩定后. 這種時鐘控制邏輯在通電重啟或從節電模式中醒來都起作用.
通電重啟(XTIpll)
在普通模式中變換PLL的設置
USB時鐘控制
FCLK, HCLK, PCLK
FCLK 用于ARM920T
HCLK 用于AHB總線,AHB總線被ARM920T用于,內存控制器,中斷控制器,LCD控制器,DMA和USB host block.
PCLK 用于APB總線,APB總線是用于周邊設備的,如是WDT,IIS, I2C, PWM 計數器, MMC接口, ADC, UART, GPIO, RTC 和SPI
注意:
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頻率成原來的一半或更多.
電源管理
在S3C2440A中,電源管理模塊通過軟件來控制系統時鐘以達到減少電源功耗的功能.這些主題跟PLL,時鐘控制邏輯(FCLK,HCLK,PCLK)和喚醒信號有關.
S3C2440A有四種電源模式.下面的部分描述各種模式.各種模式之間的轉換并不是隨意的.
FCLK的值如何得到?
FCLK= Fout = 2 * m * Fin / (p*2^s), Fvco = 2 * m * Fin / p where : m=MDIV+8, p=PDIV+2, s=SDIV
MPLLVal [M:7fh,P:2h,S:1h] bootloader打印出來的信息.
code
mov r1, #0x4c000000
ldr r2, =0x7f021
str r2, [r1, #0x04]
與BOOTLOADER里打印出來的一樣.
^ 代表冪
So, FCLK =2* (127+8)*12M/4*2=405M
關于HCLK, PCLK的值,取決于CLKDIVN的值.
代碼如下:
mov r1, #0x4c000000
ldr r2, 0x5
str r2, [r1, #0x14]
所以CLKDIVN=5, HDIVN=10, PDIVN=1, 再看CAMDIVN
10: HCLK = FCLK/4 when CAMDIVN[9]=0
HCLK = FCLK/8 when CAMDIVN[9]=1
PCLK = HCLK /2
CAMDIVN代碼中沒有進行設置,就用初始值.0
故
HCLK = FCLK/4
PCLK = FCLK/8
至此, clock部分設置結束.
上一篇:S3C2440 FLASH 介紹
下一篇:stm32f102 SPI口重復初始化引起的問題及解決辦法
推薦閱讀
史海拾趣
在隨后的幾十年里,B&K Precision通過合并和收購其他電子公司,不斷增強自身的市場競爭力。其中,1961年收購光遠公司是一個重要的里程碑。這次收購不僅擴大了公司的業務范圍,還帶來了更多的技術和人才資源,為公司的后續發展注入了新的活力。
百蓉公司不滿足于僅在國內市場發展,開始積極拓展國際市場。他們參加了多個國際電子展覽,與多家國際知名企業建立了合作關系。通過深入了解不同國家和地區的市場需求,百蓉針對性地推出了符合當地消費者需求的產品,逐漸在國際市場上占據了一席之地。
隨著電子行業的競爭加劇,Chip Technologies Inc面臨著來自各方面的挑戰。為了應對這些挑戰,公司及時調整了發展策略,加大了在研發和市場拓展方面的投入。同時,公司還加強了內部管理,提升了生產效率和質量水平。這些舉措使得公司在激烈的市場競爭中保持了穩健的發展態勢。
Esico-Triton公司成立于XXXX年,起初是一個小型的電子設備研發團隊。當時,創始人[XXXXX]和[XXXXX]看到了電子設備市場的巨大潛力,于是決定合作創辦一家公司。他們的初衷是開發一款能夠簡化工作流程的電子設備。在公司創立初期,資金緊張,研發條件有限,但團隊成員憑借著對技術的熱情和專業知識,成功研發出了第一款產品——一款便攜式數據處理器。這款產品因其便攜性和高效性受到了市場的歡迎,為Esico-Triton的后續發展奠定了堅實的基礎。
為了擴大市場份額和提升品牌影響力,Blue Giga積極尋求與各行業領導者的合作。它與微軟、谷歌、英特爾等知名企業建立了戰略合作伙伴關系,共同推動物聯網和無線連接技術的發展。這些合作不僅為Blue Giga帶來了更多的商業機會,也提升了其在行業中的地位。
義隆電子非常重視研發實力和人才培養。公司擁有一支高素質的研發團隊,員工總數的七成以上為研發人才。公司每年投入大量資金用于研發新產品,并注重培養員工的創新能力和實踐能力。此外,義隆電子還與國內外知名學府合作,共同培養高素質的人才,為公司的長期發展提供了有力保障。
設計一個能夠識別序列“10010”的序列檢測器,設:x為數字碼流輸入,z為檢測標記輸出,且高電平表示“發現指定序列”,低電平表示“沒有發現指定序列”。要求(1)給出RTL描述;(2)編寫testbench;(3)進行邏輯綜合;(4)給出綜合后的仿真結果。 ...… 查看全部問答∨ |
|
本帖最后由 paulhyde 于 2014-9-15 09:33 編輯 在電 路 系 統的分析中,卷積具有十分重要的意義。尤其是對于一些內部結構未知的電路系統,由于無法給出描述系統的微分方程,只有通過實驗方法獲得實 驗數據或單位沖激響應的曲線。據此沖激響應,進 ...… 查看全部問答∨ |
|
百思橋科技受邀參加2009中國視頻系統博覽會 2009年10月,“2009中國視頻系統博覽會”將在深圳會展中心隆重開展。百思橋科技作為高清行業中重要的生產廠家,應展會主辦方的邀請,將安排公司的技術骨干人員攜帶主打產品及最新研發產品,盛裝參展。 ...… 查看全部問答∨ |
我想用WinIO.sys獲取cpu的當前溫度,為什么程序老是失敗,temp_dwPortVal=0xffffffff 在頭文件中導入: #include "WinIO.h" #pragma comment(lib,"WinIo.lib") 在實現中: DWORD temp_dwPortVal=0; & ...… 查看全部問答∨ |
請大家幫忙看看這個程序,為什么P5^6不能產生500MS的波形呢? static void TimeAIni(void) { WDTCTL = WDTPW + WDTHOLD; //關閉內部看門狗。 BCSCTL1 = XT2OFF+XTS; //關閉4M(XT2)振蕩器。 BCSCTL2 = SELM0 + SELM1 + SELS ; //MCLK選 ...… 查看全部問答∨ |
本帖最后由 paulhyde 于 2014-9-15 03:57 編輯 三個晚上沒睡個好覺了 ,現在眼睛一閉就爭不開,最想做的就是好好睡個覺,睡他個天昏地暗 … 查看全部問答∨ |
設計資源 培訓 開發板 精華推薦
- 【EEWORLD第三十三屆】2011年12月社區明星人物揭曉!
- 【瓜分2500元紅包】 票選DigiKey\"智造萬物,快樂不停\"創意大賽人氣作品TOP3!
- 搶先體驗!世界首款LoRa Soc單片機STM32WL
- 【有獎分享】MPS帶您快速探究電源設計秘密
- 實戰分享|從零開始,設計一款靠譜的開關電源
- 物聯網、汽車、AI全覆蓋——世平集團恩智浦解決方案大秀場
- ADI有獎下載活動之25:ADI汽車傳感器和傳感器接口解決方案
- 邀你參加:EEWORLD&ST 智能產品線下研討會(12月6日-深圳)
- 有獎直播:英飛凌工業半導體在電機驅動行業中的應用 2020年4月21日 上午10:00-11:30 準時開啟!