時(shí)鐘系統(tǒng)介紹:
目前 i.MXRT1xxx 系列主要分為 i.MXRT10xx 和 i.MXRT11xx 兩大分支。這兩個(gè)分支的時(shí)鐘系統(tǒng)設(shè)計(jì)是有一些差異的,不過總體來說,架構(gòu)差別不大,我們以如下 i.MXRT1170 的時(shí)鐘架構(gòu)為例來具體介紹。
在時(shí)鐘系統(tǒng)架構(gòu)圖里我們能看到有五大組件:OSC_PLL、CCM、LPCG、GPC、SRC,其中最核心的功能在前兩個(gè),OSC_PLL 主要負(fù)責(zé)產(chǎn)生時(shí)鐘,CCM 主要用于分配時(shí)鐘。
時(shí)鐘源頭:
首先,說一下芯片內(nèi)部的 RC OSC。在芯片設(shè)計(jì)時(shí),為了保證在沒有外部時(shí)鐘/晶振輸入的情況下,芯片也能工作,所以內(nèi)部集成了一些振蕩器/振蕩電路(RC Oscillator),32KHz 和 24MHz(48MHz) 是標(biāo)配,部分型號(hào)上還有 16MHz、400MHz,不過這些內(nèi)部振蕩器精度有限(有可能誤差20%),適用芯片低速運(yùn)行場(chǎng)合。
如果是芯片高速運(yùn)行的場(chǎng)合(或者對(duì)精度要求高的場(chǎng)合),那一定需要外接高精度振蕩器,包含從 XTALI/XTALO 引腳進(jìn)來的 24MHz OSC,以及從 RTC_XTALI/RTC_XTALO 引腳進(jìn)來的 32.768KHz OSC,這兩個(gè)外部時(shí)鐘源是由 OSC_PLL 大模塊內(nèi)部的 XTALOSC 小模塊負(fù)責(zé)管理的,XTALOSC 模塊優(yōu)先檢測(cè)外部是否有 32.768KHz / 24MHz OSC 存在,如果存在則用外部源,如果不存在則啟用內(nèi)部 32KHz / 24MHz RC OSC 源。
24MHz OSC(內(nèi)部或者外部源)是 OSC_PLL 內(nèi)部 PLL 的主要時(shí)鐘源,有了基準(zhǔn)的 24MHz 時(shí)鐘,PLL 就能將其倍頻得到想要的高頻時(shí)鐘,芯片內(nèi)部 PLL 有很多個(gè),大部分 PLL 都只是輸出固定原始頻率時(shí)鐘,少部分含 PFD 功能的 PLL(一般是 System PLL)可以調(diào)節(jié)原始頻率輸出。除了 24MHz OSC 外,PLL 也可以接受來自 CLK1_P/CLK1_N 引腳輸入的源。
時(shí)鐘輸出:
32KHz / 24MHz OSC 是比較重要的時(shí)鐘源頭,它的精度對(duì)系統(tǒng)性能有很大影響,因此我們需要有一種方法實(shí)測(cè)這兩個(gè)時(shí)鐘的精度,芯片設(shè)計(jì)時(shí)特意在一些 I/O 引腳復(fù)用功能里做了 REF_CLK_24M / REF_CLK_32K 選項(xiàng),當(dāng) I/O 配置為該功能時(shí),便可用示波器量得具體時(shí)鐘頻率。
我們知道 CCM 模塊負(fù)責(zé) OSC_PLL 輸出的時(shí)鐘資源的分配,芯片里所有外設(shè)的具體時(shí)鐘源指定以及分頻系數(shù)、開關(guān)控制均由 CCM 來完成。如果你想觀測(cè)某 PLL 最終輸出或者常用外設(shè)時(shí)鐘源最終配置,也可以通過指定 I/O 輸出觀測(cè),即下面的 CCM_CLKO1 / CCM_CLKO2 復(fù)用功能選項(xiàng)。當(dāng)然 CCM_CLKOx 不僅僅用于觀測(cè)頻率,也可以用于給外部芯片提供時(shí)鐘源。
審核編輯:湯梓紅
-
mcu
+關(guān)注
關(guān)注
146文章
16890瀏覽量
349931 -
時(shí)鐘系統(tǒng)
+關(guān)注
關(guān)注
1文章
98瀏覽量
11681
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論