• 正文
    • 時(shí)鐘的設(shè)置限制及計(jì)算方式:
    • PLL時(shí)鐘的相位:
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

AG32 PLL時(shí)鐘輸出

04/09 07:34
296
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

?AG32開發(fā)者?AG32開發(fā)者

?2024年11月28日 16:47?

AG32內(nèi)部集成一個(gè)PLL,供MCU和CPLD使用,?支持5路時(shí)鐘輸出。PLL時(shí)鐘輸出以MCU優(yōu)先。

這里整理下5路時(shí)鐘:

PLLCLK0:就是 SYSCLK (名字使用SYSCLK)

PLLCLK1:VE里如果定義USB0 device,系統(tǒng)會(huì)自動(dòng)生成60Mhz時(shí)鐘給USB用;

PLLCLK2:VE里定義了MAC信號(hào)時(shí),這路時(shí)鐘給MAC用(25 MII/50M RMII);

PLLCLK3:VE里定義BUSCLK時(shí)(只能是sysclk整數(shù)分頻)給CPLD用;

PLLCLK4:獨(dú)立給用戶使用;

這里的SYSCLK相當(dāng)于RISC-V的運(yùn)行頻率,也是AHB時(shí)鐘。系統(tǒng)如果沒有定義USB,?Ethernet MAC的情況下,相應(yīng)的幾路時(shí)鐘都可以給CPLD用。這里的BUSCLK相當(dāng)于CPLD與MCU通過AHB通訊時(shí)的APB時(shí)鐘。當(dāng)MCU需要運(yùn)行到200Mhz以上時(shí),ADC部分的邏輯無法運(yùn)行到這么高的頻率,需要定義BUSCLK給CPLD用。

時(shí)鐘的設(shè)置限制及計(jì)算方式:

PLLCLK是用戶期望的目標(biāo)值,是由外部時(shí)鐘通過PLL倍頻和分頻后產(chǎn)生的:

  1. VCO=HSE*X/Y,X,Y皆為整數(shù)
  2. VCO小于1200MHZ。
  3. 所有的設(shè)置頻率必須能被這個(gè)最終VCO整除。

舉例:mcu主頻100M,系統(tǒng)用了MAC(50M),系統(tǒng)用了USB(60M),cpld自定義了PLLCLK3為80M,cpld自定義了PLLCLK4為60M。則,PLL目標(biāo)值就是10050608060的最小公倍數(shù),為1200M。

如果使用到一些特殊頻率,則可能需要通過選擇外部時(shí)鐘來實(shí)現(xiàn)。

VSCODE 編譯的時(shí)候,會(huì)輸出時(shí)鐘的一些信息的。如:

PLL時(shí)鐘的相位:

PLL?除了輸出時(shí)鐘頻率外,還能輸出不同相位的時(shí)鐘。我們有一個(gè)例程,提供了高精度的PWM輸出,輸出精度可以達(dá)到100pS。?可能有人奇怪了,VCO最高也就輸出1.2G,也就0.8nS左右的精度,怎么可以達(dá)到100pS的精度呢?這里設(shè)計(jì)就用到了時(shí)鐘相位。

VE里可以定義時(shí)鐘的不同相位:

相位以45°為單位,可以產(chǎn)生8個(gè)不同的相位,再加上1.2G的頻率,相當(dāng)于可以產(chǎn)生10G的頻率,就可以實(shí)現(xiàn)100pS的精度。

大家可以用示波器測(cè)測(cè)相位,這樣更容易理解。

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計(jì)資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄