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

          新聞中心

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

          S3C2440初始化時(shí)鐘設(shè)置

          作者: 時(shí)間:2016-11-25 來源:網(wǎng)絡(luò) 收藏
          S3C2440 CPU默認(rèn)的工作主頻為12MHz或16.9344MHz,在我的2440的開發(fā)板上上使用的是12MHZ,這里使用最多的也是12M。使用PLL電路可以產(chǎn)生更高的主頻供CPU及外圍器件使用。

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

          S3C2440有兩個(gè)PLL:MPLL和UPLL,UPLL專用與USB設(shè)備。MPLL用于CPU及其他外圍器件。

          通過MPLL會(huì)產(chǎn)生三個(gè)部分的時(shí)鐘頻率:FCLK、HCLK、PLCK。FCLK用于CPU核,HCLK用于AHB總線的設(shè)備(比如SDRAM),PCLK用于APB總線的設(shè)備(比如UART)。

          設(shè)置S3c2440的時(shí)鐘頻率就是設(shè)置MPLL的幾個(gè)寄存器:

          1、LOCKTIME:設(shè)為0x00ffffff

          MPLL啟動(dòng)后需要等待一段時(shí)間(Lock Time),使得其輸出穩(wěn)定。位[23:12]用于UPLL,位 [11:0] 用于MPLL。使用確省值0x00ffffff即可。

          2、CLKDIVN:用來設(shè)置FCLK:HCLK:PCLK的比例關(guān)系,默認(rèn)為1:1:1

          這里值設(shè)為0x05(HDIVN=2,PDIVN=1),即FCLK:HCLK:PCLK=1:4:

          3、MPLLCON:設(shè)為(0x7f << 12)|(0x02 << 4)|(0x01),即0x7f0021

          對于MPLLCON寄存器,[19:12]為MDIV,[9:4]為PDIV,[1:0]為SDIV。有如下計(jì)算公式:

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

          m=(MDIV+8), p=(PDIV+2), s=SDIVFin即默認(rèn)輸入的時(shí)鐘頻率12MHz。MPLLCON設(shè)為0x7f0021,可以計(jì)算出FCLK=400MHz,再由CLKDIVN的設(shè)置可知:HCLK=100MHz,PCLK=50MHz。

          例子:


          rMPLLCON=(0x5c<<12)|(1<<4)|1; //總頻Fclk設(shè)置為400M
          // MPLL(FCLK) = (2 * m * Fin)/(p * 2^s)
          // m=(MDIV+8), p=(PDIV+2), s=SDIV
          //MPLLCON寄存器,[19:12]為MDIV,[9:4]PDIV,[1:0]為SDIV


          rCLKDIVN=0x05; //分頻因子設(shè)置
          //(HDIVN=2, PDIVN=1),即FCLK:HCLK:PCLK=1:4:8
          //HCLK=100M ; PCLK=50M
          cal_cpu_bus_clk(); //??????



          評論


          技術(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); })();