LPC2103學(xué)習(xí)之PLL
PLL的概述:
PLL它本來接收的輸入時鐘頻率范圍僅為10MHz~25MHz,然后可以通過一個振蕩器(CCO)倍增到范圍10MHz~70MHz。倍頻器可以是1到32的一個整數(shù),不過實(shí)際上沒那么多,因?yàn)楦?strong>LPC2103具體的最大工作頻率相關(guān)。最高頻率為70MHz。CCO的操作頻率為156MHz~320MHz。故在PLL內(nèi)部還有一個額外的分頻器在PLL提供所需要的輸出頻率時使CCO保持在其頻率范圍。輸出分頻器可以設(shè)置為2、4、8、16分頻產(chǎn)生輸出時鐘。下圖展示了PLL的內(nèi)部邏輯原理。
PLL激活由PLLCON寄存器控制,PLL倍頻器和分頻器的值由PLLCFG寄存器控制。由于芯片的所有操作都依賴于PLL(包括看門狗),如果操作PPL錯誤的話,將引起后續(xù)的執(zhí)行錯誤。所以我們需要對它進(jìn)行保護(hù),保護(hù)的操作類似于操作看門狗定時器的饋送序列來實(shí)現(xiàn)。PLL在芯片復(fù)位時和進(jìn)入掉電模式后關(guān)閉并旁路。PLL的使能只能通過軟件實(shí)現(xiàn)。程序必須在配置并激活PLL后等待其鎖定,然后作為時鐘源連接到PLL。
下面就是PLL的相關(guān)寄存器,不多,只有4個。
1。選擇需要操作的處理器操作頻率(CCLK),根據(jù)處理器的整體要求等各方面來設(shè)定。外圍器件的時鐘頻率可以低于處理器頻率。
2.選擇振蕩器頻率(Fosc)。CCLK一定是Fosc的整數(shù)倍。
3.計(jì)算M值匹配MSEL位。M = CCLK/Fosc。M的取值范圍為1~32,在PLLCFG中,寫入MSEL的值為M-1.
4.選擇P值以配置PSEL位,使Fcco在定義的限制頻率范圍內(nèi)。P必須是1、2、4或8其中的一個。寫入PPCFG中PSEL的值見下表。
PLL的操作也有兩種方式。
一是.查詢方式
1.PLLCON=1,設(shè)定PLL之前,需使能PLL,但不能連接PLL。
2.設(shè)定P和M的值(PLLCFG)
3.發(fā)送PLL饋送序列。
4.等待PLL鎖定--PLLSTAT.10 = 1.
5.PLLCON=3,設(shè)定P和M之后,連接PLL。
6.發(fā)送PLL饋送序列,把P和M的值寫入硬件。
二是中斷方式
1.PLLCON=1,設(shè)定PLL之前,需使能PLL,但不能連接PLL。
2.設(shè)定P和M的值(PLLCFG)
3.發(fā)送PLL饋送序列。
PLL中斷服務(wù)程序:
4.PLLCON=3,設(shè)定P和M之后,連接PLL。
5.發(fā)送PLL饋送序列,把P和M的值寫入硬件。
6.禁止PLL中斷,返回。
評論