C6678的PLL模塊設置


這部分講解的是Main PLL和 PLL Controller的配置,主要介紹怎樣提供DSP核 C66X CorePac需要的工作時鍾;C6678除了Main PLL,還有 DDR3 PLL、PASS PLL。

1、Keystone1架構 C6678: Main PLL and PLL Controller結構圖:

2、 CLKIN 是提供的參考時鍾,即輸入時鍾,經過Main PLL后時鍾輸出為 PLLOUT,再輸入到PLL Controller中,PLL Controller可以通過設置相關寄存器對輸入的PLLOUT時鍾進行分頻,來獲取多種不同頻率的時鍾,滿足核心和外設的時鍾需求,由圖可以看出PLL Controller一共輸出了16種不同的時鍾;

3、16種不同的時鍾中,SYSCLK1時鍾用來作為核C66X CorePac的工作時鍾,SYSCLK1時鍾頻率直接等於PLLOUT,不進行分頻,所以C66X CorePac的工作時鍾直接等於PLLOUT;其它時鍾都具有不同的分頻系數,其中只有PLLDIV2、PLLDIV5、PLLDIV8三個分頻系數可以通過寄存器進行調整,其它的分頻系數都是固定的;這些時鍾的具體作用參考data manual;

4、如何設置核C66X CorePac的工作時鍾?例如:輸入時鍾為100MHZ,怎樣設置核C66X CorePac的工作時鍾為1000MHZ,即核的工作時鍾為輸入參考時鍾的10倍?

(1)、核C66X CorePac的工作時鍾為SYSCLK1,即等於PLLOUT;當MAIN PLL工作在Bypass Mode時,PLLOUT的值直接等於輸入的參考時鍾CLKIN;當MAIN PLL工作在PLL Mode時,PLLOUT的值由輸入時鍾CLKIN、Main PLL的分頻系數PLLD、倍增系數PLLM、以及OUTPUTDIVIDE值共同決定,公式如下:

  對於Keystone1架構的芯片,OUTPUTDIVIDE值默認為1,而Keystone2架構的芯片,OUTPUTDIVIDE值默認為0,OUTPUTDIVIDE值通過寄存器SECCTL[22:19]來設置;
  PLLM的值一共有13位,PLLM[12:0],13位被分成兩個部分,高位部分PLLM[12:6]由寄存器MAINPLLCTL0[18:12]決定,低位部分PLLM[5:0]由寄存器PLLM[5:0]決定;PLLD的值由寄存器MAINPLLCTL0[5:0]決定;寄存器的具體地址和設置,參考專門介紹PLL的數據手冊;
(2)、當輸入參考時鍾為100MHZ時,設置核C66X CorePac的工作時鍾SYSCLK1為1000MHZ,即PLLOUT等於1000MHZ:
  根據公式設置OUTPUTDIVIDE值為1,PLLM值為19,PLLD值為0,則PLLOUT等於1000MHZ;另外寄存器的設置要滿足公式:BWADJ = ((PLLM + 1)>> 1)- 1;BWADJ[11:0]的值由兩部分決定,一部分BWADJ[11:8]由寄存器MAINPLLCTL1[3:0]決定,另一部分BWADJ[7:0]由寄存器MAINPLLCTL0[31:24]決定;
  一般PLLM[12:6]都設為0,所以PLLM的值一般由PLLM[5:0]決定,即由寄存器MAINPLLCTL0[5:0]決定;C6678的PLL設置例程很多,可以參考例程代碼;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM