LPC2103學習之PLL

來源:互聯網
上載者:User

很久沒來部落格了。一直忙考試了,不過一切都結束了,暫時可以繼續做自己想做的事情了。今天來實驗室繼續玩ARM了,學習了2103的PLL部分。總的來說,還是比較簡單。當然關於PLL這個硬體的具體實現我還不是很清楚,當初高頻沒學好喃。。

PLL的概述:

PLL它本來接收的輸入時鐘頻率範圍僅為10MHz~25MHz,然後可以通過一個振蕩器(CCO)倍增到範圍10MHz~70MHz。倍頻器可以是1到32的一個整數,不過實際上沒那麼多,因為跟LPC2103具體的最大工作頻率相關。最高頻率為70MHz。CCO的操作頻率為156MHz~320MHz。故在PLL內部還有一個額外的分頻器在PLL提供所需要的輸出頻率時使CCO保持在其頻率範圍。輸出分頻器可以設定為2、4、8、16分頻產生輸出時鐘。展示了PLL的內部邏輯原理。

PLL啟用由PLLCON寄存器控制,PLL倍頻器和分頻器的值由PLLCFG寄存器控制。由於晶片的所有操作都依賴於PLL(包括看門狗),如果操作PPL錯誤的話,將引起後續的執行錯誤。所以我們需要對它進行保護,保護的操作類似於操作看門狗定時器的饋送序列來實現。PLL在晶片複位時和進入掉電模式後關閉並旁路。PLL的使能只能通過軟體實現。程式必須在配置並啟用PLL後等待其鎖定,然後作為時鐘源串連到PLL。

下面就是PLL的相關寄存器,不多,只有4個。

1。選擇需要操作的處理器操作頻率(CCLK),根據處理器的整體要求等各方面來設定。外圍器件的時鐘頻率可以低於處理器頻率。

2.選擇振蕩器頻率(Fosc)。CCLK一定是Fosc的整數倍。

3.計算M值匹配MSEL位。M = CCLK/Fosc。M的取值範圍為1~32,在PLLCFG中,寫入MSEL的值為M-1.

4.選擇P值以配置PSEL位,使Fcco在定義的限制頻率範圍內。P必須是1、2、4或8其中的一個。寫入PPCFG中PSEL的值見下表。

PLL的操作也有兩種方式。

一是.查詢方式

1.PLLCON=1,設定PLL之前,需使能PLL,但不能串連PLL。

2.設定P和M的值(PLLCFG)

3.發送PLL饋送序列。

4.等待PLL鎖定--PLLSTAT.10 = 1.

5.PLLCON=3,設定P和M之後,串連PLL。

6.發送PLL饋送序列,把P和M的值寫入硬體。

二是中斷方式

1.PLLCON=1,設定PLL之前,需使能PLL,但不能串連PLL。

2.設定P和M的值(PLLCFG)

3.發送PLL饋送序列。

PLL中斷服務程式:

4.PLLCON=3,設定P和M之後,串連PLL。

5.發送PLL饋送序列,把P和M的值寫入硬體。

6.禁止PLL中斷,返回。

 

以上就是關於PLL的部分。參考《EasyARM2103教材》

 

每天進步一點。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.