<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > S3C2440時(shí)鐘設(shè)置詳解

          S3C2440時(shí)鐘設(shè)置詳解

          作者: 時(shí)間:2016-11-26 來(lái)源:網(wǎng)絡(luò) 收藏
          S3C2440A中的時(shí)鐘控制邏輯可以產(chǎn)生必須的時(shí)鐘信號(hào),包括CPU的FCLK,AHB總線外設(shè)的HCLK以及APB總線外設(shè)的PCLK。S3C2440A包含兩個(gè)鎖相環(huán)(PLL):一個(gè)提供給FCLK、HCLK和PCLK,另一個(gè)專用于USB模塊(48MHz)。時(shí)鐘控制邏輯可以不使用PLL來(lái)減慢時(shí)鐘,并且可以由軟件連接或斷開(kāi)各外設(shè)模塊的時(shí)鐘,以降低功耗。

          S3C2440A的主時(shí)鐘源由外部時(shí)鐘(EXTCLK)或者外部晶振(XTIPll)提供,輸入時(shí)鐘源由模式控制引腳OM3和OM2控制選擇,在復(fù)位信號(hào)的上升沿參考OM3和OM2的引腳將OM[3:2]的狀態(tài)在內(nèi)部鎖定,如圖1所示

          本文引用地址:http://www.ex-cimer.com/article/201611/321671.htm

          圖1 引導(dǎo)啟動(dòng)時(shí)的時(shí)鐘源選擇

          選擇不同輸入時(shí)鐘源時(shí)連接方式如圖2所示:

          圖2 時(shí)鐘連接參考

          通過(guò)在片內(nèi)集成的2個(gè)鎖相環(huán):MPLL和UPLL,可對(duì)輸入的Fin=12MHz的晶振頻率進(jìn)行倍頻。S3C2440使用了三個(gè)倍頻因子MDIV、PDIV和SDIV來(lái)設(shè)置倍頻,通過(guò)寄存器MPLLCON和UPLLCON可設(shè)置倍頻因子。其中MPLLCON寄存器用于設(shè)置處理器內(nèi)核時(shí)鐘主頻FCLK,其輸入輸出頻率間的關(guān)系為

          FCLK=MPLL=(2*m*Fin)/(p*2^s)

          其中m=(MDIV+8), p=(PDIV+2), s=SDIV。

          其中UPLLCON寄存器用于產(chǎn)生48MHz或96MHz,提供USB時(shí)鐘(UCLK),其輸入輸出頻率間的關(guān)系為

          UCLK=UPLL=(m * Fin) / (p * 2^s)

          其中m=(MDIV+8), p=(PDIV+2), s=SDIV。

          手工計(jì)算相對(duì)復(fù)雜些,我們可以根據(jù)欲得到的主頻FCLK大小,直接通過(guò)查表來(lái)獲知各倍頻因子的設(shè)置參數(shù),詳見(jiàn)。

          S3C2440的數(shù)據(jù)手冊(cè)中提供了一個(gè)表格來(lái)查詢各個(gè)輸出頻率和輸入頻率所對(duì)應(yīng)的MPLL中參數(shù)m、p和s的值,使用的時(shí)候最好只使用該表格中推薦的數(shù)值。

          圖3 PLL真值表

          通過(guò)圖3的真值表,我們可以得到如果輸入時(shí)鐘為12MHz,輸出時(shí)鐘FCLK為405MHz,可以選擇MDIV為127,PDIV為2,SDIV為1。輸出48MHz和96MHz是UPLLCON使用的。

          除了可設(shè)置內(nèi)核時(shí)鐘FCLK,還需要設(shè)置AHB總線設(shè)備使用的HCLK和APB總線設(shè)備使用的PCLK。通過(guò)CLKDIVN和CAMDIVN這兩個(gè)寄存器可設(shè)置三者的分頻關(guān)系,如圖4 為CLKDIVN的說(shuō)明,可以通過(guò)設(shè)置CLKDIVN和CAMDIVN的相關(guān)位來(lái)設(shè)置這三個(gè)時(shí)鐘。

          圖4 FCLK、HCLK和PCLK關(guān)系

          具體可參觀數(shù)據(jù)手冊(cè)中對(duì)此的說(shuō)明。即若主頻FLCK是400MHz,如果按照1:4:8的設(shè)置,可以先設(shè)置CLKDIVN為0101,然后設(shè)置CAMDIVN的第9位為0(不設(shè)置的時(shí)候該位默認(rèn)為0),此時(shí)HLCK是100MHz,PLCK是50MHz。

          可將該頻率映射到CLKOUT0引腳,對(duì)其測(cè)試驗(yàn)證。

          在我們搭建好2440的硬件平臺(tái)后,我們?cè)谡{(diào)試硬件的時(shí)候,通常需要將系統(tǒng)的時(shí)鐘測(cè)試引腳引出來(lái)測(cè)試,以確認(rèn)系統(tǒng)是否達(dá)到設(shè)計(jì)的要求。2440提供了CLKOUT0和CLKOUT1這兩個(gè)引腳用于測(cè)試時(shí)鐘??梢酝ㄟ^(guò)設(shè)置MISCCR寄存器的CLKSEL0和CLKSEL1位來(lái)選擇CLKOUT0和CLKOUT1的時(shí)鐘源。其時(shí)鐘源分別有000=MPLL輸出,001為UPLL輸出,010為RTC輸出,011為HCLK,100為PCLK,101為DCLK1/0,11X為保留的。

          測(cè)試用的匯編程序如下:

          AREA Example,CODE,READONLY;聲明代碼段Example

          ENTRY ;標(biāo)示程序入口

          CODE32 ;聲明32位ARM指令

          START LDR R0, =0x0005C011 ;FCLK=400MHz

          LDR R1, =0x4C000004 ;MPLLCON寄存器

          STR R0,[R1]

          LDR R0, =0x00000005 ;FCLK:HCLK:PCLK=1:4:8

          LDR R1, =0x4C000014 ;CLOCK DIVIDER control

          STR R0,[R1]

          LDR R0, =(0xa<<18)

          LDR R1, =0x56000070 ;端口H控制寄存器

          STR R0,[R1]

          ;CLKOUT0、CLKOUT1引腳復(fù)用(選擇GPH10-9的功能為CLKOUT0和1)

          LDR R0, =(0x86<<3)

          ;CLKOUT0和CLKOUT1分別輸出HCLK及PCLK

          LDR R1, =0x56000080 ;MISCCR寄存器

          STR R0,[R1]

          END

          測(cè)試沒(méi)錯(cuò)的話就Okay了



          關(guān)鍵詞: S3C2440時(shí)鐘設(shè)

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();