加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

AG32:時鐘配置與使用

08/14 09:19
1630
閱讀需 9 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

本文檔介紹了AG32開發(fā)中,時鐘配置的具體方式以及例子。如需了解AG32更多資料可發(fā)郵件:sales@agm-micro.com

1、外部晶振與內(nèi)部振蕩器的使用:

mcu和cpld聯(lián)合編程時,整顆芯片需要一顆外部晶振。

(芯片有內(nèi)部振蕩器,但誤差較大,校準(zhǔn)后5%以內(nèi)誤差,參后續(xù)介紹)

該晶振是mcu和cpld共用的,(沒必要為cpld再單獨提供一顆晶振)。

晶振可以是有源的,也可以是無源的。

【注:這里的外部晶振配置,跟單純使用MCU是一樣的】

如果是無源晶體,頻率限制在4M~16M。要接到芯片的OSC_IN/OUT引腳。然后VE中直接定義主頻多少M即可。如:

(這是目前開發(fā)板上使用的配置)

如果是有源晶體,頻率無限制。根據(jù)接入點分為兩種情況:

1)如果接入到OSC_IN引腳:

ve里定義同上(修改HSECLK項的值為有源晶振頻率)。

同時,需要在platformio.ini里增加配置:

BOARD_HSE_BYPASS=SYS_HSE_BYPASS_ON,

2)如果接入到別的IO引腳(如PIN_2):

VE配置中,除了配置 HSECLK項外,還需要配置PLL_CLKIN項,如圖:

同時,需要在platformio.ini里增加配置:

BOARD_HSE_BYPASS=SYS_HSE_NONE

如果使用內(nèi)部振蕩器:

校準(zhǔn)后精度大約在5%以內(nèi),節(jié)省成本且對時鐘要求不高的話可以使用。

使用方式:

在VE里增加:"PLL_CLKIN
PIN_OSC",如下圖:

(注:不用配置HSECLK項)

同時在platformio.ini里增加配置:

BOARD_HSE_BYPASS=SYS_HSE_NONE

注:自動校準(zhǔn)目前有以下使用限制:

a)邏輯部分要壓縮,platformio.ini中配置 board_logic.compress = true

b)校準(zhǔn)動作是在燒錄時進行的。

燒錄時,需要使用swd方式且通過我們的軟件燒錄,uart不支持。

(即:出廠燒錄不支持uart方式)

目前測試過jlink和dap校準(zhǔn)結(jié)果都還不錯,但是也出現(xiàn)過一個客戶使用其他燒錄器校準(zhǔn)結(jié)果差很多。

(對一個全新的或是wipe過后的芯片燒錄會看到校準(zhǔn)信息)

2、PLL倍頻及分頻:

整顆芯片只有一個PLL倍頻模塊(mcu和cpld共用)。

倍頻分頻操作是封裝在系統(tǒng)內(nèi)部的(用戶無須也不能控制這個時鐘樹)。

實現(xiàn)原理:

A. 系統(tǒng)會根據(jù)所有用到的頻率項(mcu和cpld要用到的全部頻率),計算出他們的最小公倍數(shù)。該數(shù)值就是要倍頻到的目標(biāo)值;

B. 以外部時鐘作為輸入,PLL倍頻到這個目標(biāo)值,然后再以這個目標(biāo)值為基準(zhǔn),分頻給mcu各外設(shè)和cpld來使用。

C. 倍頻和分頻,無須開發(fā)者關(guān)注。

開發(fā)者只要設(shè)置好自己需要的各個時鐘頻率即可。

開發(fā)者可設(shè)置的頻率分為mcu部分和cpld部分。

mcu部分,只需要關(guān)注系統(tǒng)主頻。

主頻是在VE里通過SYSCLK項配置,該主頻是mcu的工作頻率。

外設(shè)頻率則基于這個主頻再分頻(參考各個外設(shè)的驅(qū)動部分)。

cpld部分,cpld最多可以輸入5路不同頻率的時鐘。

默認情況下,cpld工程接口中輸入到cpld的sys_clock,就是跟mcu同頻的SYSCLK?系統(tǒng)時鐘(由VE決定多少M)。

Bus_clock則是在SYSCLK基礎(chǔ)上進行分頻的另一路時鐘(其實就是后續(xù)的PLLCLK3)。

Bus_clock在VE中頻率定義(必須是SYSCLK的整數(shù)倍分頻):

如果 ve 里沒有定義 BUSCLK,則 bus_clock 和 sys_clock 同頻。

bus_clock 是為了防止 cpld部分速度跟不上sysclk而設(shè)定的。

cpld中除了這兩路(其實就是0路和第3路),還有3路可以使用。

3、CPLD可用的時鐘(除去SYSCLK的另外4路):

CPLD的時鐘除了以上輸入的sys_clock,還有4路可以獨立使用。

參考《AGRV2K_邏輯設(shè)置.pdf》,如下圖:

這里的PLLCLK1、PLLCLK2、PLLCLK3、PLLCLK4就是可使用的獨立時鐘。

注意:當(dāng)mcu中使用USB時,PLLCLK1自動給了USB,不能再使用;當(dāng)mcu中使用了MAC時,PLLCLK2自動給了MAC,不能再使用。另外,上述的BUSCLK對應(yīng)的是這里的PLLCLK3。如果用了BUSCLK的名字,這里的PLLCLK3就不能再用。

這里整理下5路時鐘:

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

PLLCLK1:開USB時,這路時鐘給USB用(60M),不開USB時給用戶用;

PLLCLK2:開MAC時,這路時鐘給MAC用(25/50M),不開MAC時給用戶用;

PLLCLK3:用BUSCLK時(只能是sysclk整數(shù)分頻)不能用PLLCLK3,否則可用;

PLLCLK4:獨立給用戶使用;

以PLLCLK3和PLLCLK4為例,說明怎么使用該時鐘。

在VE里配置如下:

PLLCLK3 40 # 40MHz

PLLCLK4 60 # 60MHz

PLL_CLKOUT3 pll_clk3

PLL_CLKOUT4 pll_clk4

則可定義pllclk3為40M輸入,pllclk4為60M輸入。

在生成的cpld入口處,分別對應(yīng)信號pll_clk3和pll_clk4,如圖:

輸入的時鐘,可以跟sys_clock一樣使用。

4、幾個時鐘的設(shè)置限制及計算方式:

上邊提到的倍頻后PLL目標(biāo)值,其數(shù)值關(guān)系需要滿足:

A. PLL=HSE*X/Y,X,Y皆為整數(shù)

B. PLL小于1200MHZ。

C. 所有的設(shè)置頻率必須能被這個最終PLL整除。

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

如果使用到一些特殊頻率,則可以調(diào)整其他頻率往這個特殊頻率的倍數(shù)上來湊。

(如果配置后不滿足這里的條件,編譯時會報錯)

5、cpld可運行的最高頻率:

mcu的運行最高頻率是248M。而cpld中沒有標(biāo)準(zhǔn)的最高頻率。

最大能跑多少M,取決于cpld里的設(shè)計。

如果是邏輯電路,則不存在時鐘的概念。

如果是時序電路,則看設(shè)計中門電路的復(fù)雜程度。如果跑100M的時鐘,每個上升沿之間就是10納秒,在設(shè)計時,要保證10納秒內(nèi)對應(yīng)的動作能全部執(zhí)行完。

如果是簡單電路,一般是可以跑到200M以上。

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
ECS-160-10-30B-CKM-TR 1 ECS International Inc Parallel - Fundamental Quartz Crystal,

ECAD模型

下載ECAD模型
$7.67 查看
ECS-2520S18-384-EN-TR 1 ECS International Inc HCMOS Output Clock Oscillator,

ECAD模型

下載ECAD模型
$1.86 查看
ASFLMPLV-100.000MHZ-LR-T 1 Abracon Corporation MEMS OSC XO 100.0000MHZ LVDS SMD

ECAD模型

下載ECAD模型
$4.88 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜