
5.9 鎖相環(huán)PLL1(Phase Locked Loop 1)
PLL1僅從主晶振獲得自己的時(shí)鐘頻率,并且可以用于僅為USB子系統(tǒng)提供混合48MHz的時(shí)鐘頻率,這可以看作由PLL0提供USB時(shí)鐘源以外的另一個(gè)選擇。
PLL1在復(fù)位后是禁用并且處于關(guān)閉狀態(tài),如果PLL1被停用,USB的時(shí)鐘可以由完成提供48MHz信號(hào)狀態(tài)設(shè)定后的PLL0提供,如果PLL1通過(guò)PLL1CON寄存器使能并且連接,那么PLL1將自動(dòng)的作為USB子系統(tǒng)的時(shí)鐘源。
PLL1的激活由PLL1CON寄存器控制,它的倍頻和分頻值由PLL1CFG寄存器控制,為了防止PLL1參數(shù)發(fā)生意外改變或者PLL1失效,對(duì)這兩個(gè)寄存器進(jìn)行了保護(hù),完成保護(hù)的饋送順序類似于看門(mén)口定時(shí)器。圖5.13為L(zhǎng)PC17xx的PLL1的結(jié)構(gòu)框圖。
圖5.13 PLL1結(jié)構(gòu)框圖
以下將描述PLL1涉及的寄存器及其功能描述。
1.PLL1控制寄存器PLL1 Control register(PLL1CON,0x400F C0A0)
PLL1CON寄存器可以用于使能和連接PLL1,使能PLL1鎖定到當(dāng)前倍頻器和分頻器值設(shè)定的頻率上,連接PLL1將使USB子系統(tǒng)功能根據(jù)PLL1的輸出時(shí)鐘來(lái)工作,對(duì)PLL1CON的更改只有在對(duì)PLL1FEED寄存器執(zhí)行了正確的PLL饋送序列后才生效。
表5.15 PLL1控制寄存器
PLL1在作為USB子系統(tǒng)時(shí)鐘源之前必須進(jìn)行設(shè)置、使能并鎖定。
2.PLL1配置寄存器PLL1 Configuration register(PLL1CFG,0x400F C0A4)
PLL1CFG寄存器是最新的PLL1配置值的保存寄存器,包含PLL倍頻器和分頻器的值。在執(zhí)行正確的PLL1饋送序列之前改變PLL1CFG寄存器的值不會(huì)生效。
表5.16 PLL1配置寄存器
3.PLL1狀態(tài)寄存器PLL1 Status Register(PLL1STAT,0x400F C0A8)
PLL1STAT為只讀寄存器,它是PLL1控制和配置信息的回讀寄存器,反映了正在使用的真實(shí)PLL1的參數(shù)和狀態(tài)。PLL1STAT可能和PLL1CON和PLL1CFG中的值不同,這是因?yàn)闆](méi)有執(zhí)行正確的PLL1饋送序列,這兩個(gè)寄存器中的值并未生效。
表5.17 PLL1狀態(tài)寄存器
PLL1STAT寄存器中的PLOCK1位連接到中斷控制器,這樣可以使用軟件打開(kāi)PLL1并連接到其他功能,不需要等待PLL1鎖定,當(dāng)發(fā)生中斷時(shí)(PLOCK1=1),可以連接PLL1并禁止中斷。
PLL1有3種可能的工作方式,由PLLE1和PLLC1位組合獲得。
表5.18 PLL1的工作模式
4.PLL1饋送寄存器PLL1Feed register(PLL1FEED,0x400F C0AC)
必須將正確的饋送序列寫(xiě)入PLL1FEED寄存器才能使PLL1CON和PLL1CFG寄存器的更改生效。饋送序列如下:
將值0xAA寫(xiě)入PLL1FEED
將值0x55寫(xiě)入PLL1FEED
這兩個(gè)寫(xiě)操作的順序必須正確,而且在兩次操作之間必須沒(méi)有其他的寄存器訪問(wèn)相同的地址空間(從0x400F C000到0x400F FFFF),這就意味著盡量在執(zhí)行PLL1饋送的操作的時(shí)候禁止中斷。不管寫(xiě)入的值不正確還是沒(méi)有滿足前兩個(gè)條件,對(duì)PLL1CON或者PLL1CFG寄存器的更改都不會(huì)生效。
表5.19 PLL1饋送寄存器
5.PLL1和掉電模式
掉電模式會(huì)自動(dòng)關(guān)閉并斷開(kāi)PLL1,從掉電模式喚醒不會(huì)自動(dòng)恢復(fù)PLL1的設(shè)置,PLL1的恢復(fù)必須由軟件來(lái)完成。通常,一個(gè)將PLL1激活并等待鎖定,然后將PLL1連接的子程序可以在任何中斷服務(wù)程序的開(kāi)始調(diào)用,有一點(diǎn)非常重要,那就是不要試圖在掉電喚醒后簡(jiǎn)單的執(zhí)行饋送序列來(lái)重新啟動(dòng)PLL1,這會(huì)出現(xiàn)在PLL1鎖定建立之前同時(shí)使能并連接PLL1的危險(xiǎn)。
6.PLL1頻率計(jì)算
表5.20 PLL1所需變量表
PLL1的輸出頻率公式為:USBCLK=M×FOSC或者USBCLK=FCCO/(2×P)
確定PLL1為USB提供時(shí)鐘配置的方法如下:
* PLL1需要輸出的時(shí)鐘頻率是USBCLK=48MHz;
* 選擇時(shí)鐘頻率(FOSC)。FOSC可以是12MHz,16MHz以及24MHz;
* 計(jì)算配置MSEL1的M值;
* 計(jì)算配置PSEL1的P值。
聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電源網(wǎng)。本網(wǎng)站原創(chuàng)內(nèi)容,如需轉(zhuǎn)載,請(qǐng)注明出處;本網(wǎng)站轉(zhuǎn)載的內(nèi)容(文章、圖片、視頻)等資料版權(quán)歸原作者所有。如我們采用了您不宜公開(kāi)的文章或圖片,未能及時(shí)和您確認(rèn),避免給雙方造成不必要的經(jīng)濟(jì)損失,請(qǐng)電郵聯(lián)系我們,以便迅速采取適當(dāng)處理措施;歡迎投稿,郵箱∶editor@netbroad.com。
微信關(guān)注 | ||
![]() |
技術(shù)專題 | 更多>> | |
![]() |
技術(shù)專題之EMC |
![]() |
技術(shù)專題之PCB |