衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

TC3xx芯片時鐘系統的鎖相環PLL詳解

832065824 ? 來源:汽車電子嵌入式 ? 2023-12-01 09:37 ? 次閱讀

前言

時鐘好比MCU的心跳,只有時鐘正常了,MCU的核及外設才能正常工作。從源頭到系統到外設理解每一個時鐘的來源及其具體值才能方便后面理解MCAL的GPT,PWM,ICU等模塊的配置(MCAL模塊中的Tick數就是基于模塊時鐘的)。本系列文章就來詳細介紹TC3xx芯片的時鐘系統及其具體配置。本文為TC3xx芯片時鐘系統的鎖相環PLL詳解

縮略詞

簡寫 全稱
OSC OscillatorCircuit
PLL Phase-LockedLoop
DCO DigitallyControlledOscillator

注:本文章引用了一些第三方工具和文檔,若有侵權,請聯系作者刪除!

正文

2. 時鐘倍頻PLL

系統 PLL 可以將低頻外部時鐘信號轉換為高速內部時鐘,以獲得最佳性能。它允許通過改變不同的分頻器因子來使用多種輸入和輸出頻率。

系統 PLL 還具有故障安全邏輯,可檢測到非生成外部時鐘行為,如異常頻率偏差或外部時鐘完全丟失。如果它在外部時鐘上失去鎖定,它可以執行緊急操作。

2.1 特點

DCO鎖檢測

3 位輸入分隔器 P (除以 PDIV+1)

7 位反饋分隔器 N (乘以 NDIV+1)

3 位輸出分隔器 K2 (除以 K2DIV+1)

振蕩器監視(Oscillator Watchdog)

-檢測輸入頻率是否太低

-檢測輸入頻率是否太高

低頻率抖動調制

2.2 系統時鐘鎖相環PLL

984ecbb8-8fdd-11ee-939d-92fbcf53809c.png

Figure 3 System PLL Block Diagram

輸入頻率 fOSC 除以因子 P ,乘以因子 N ,然后再除以因子 K2。

輸出頻率計算公式如下:

fPLL0 = (N* fOSC) / (P * K2)

fPLL0需要 fOSC的輸入時鐘頻率。 因此,建議通過檢查 OSCCON.PLLV 來檢查和監控輸入頻率 fOSC 是否可用。 為了更好地監控,還可以通過 OSCCON.PLLHV 監控上頻。

系統操作頻率由三個分頻器(divider)的值控制: P , N 和 K2。修改兩個分頻器 P 和 N 對 DCO 頻率有直接影響,可能導致鎖定狀態丟失。修改 K2 分頻器對鎖定狀態沒有影響,但仍會更改系統 PLL 輸出頻率 fPLL0.

注意:通過更改 K2-Divider 的值來更改系統操作頻率,可以直接連接到設備的功耗。因此,必須謹慎行事。

當必須修改系統 PLL 輸出頻率的頻率時,應遵循以下順序:

應禁用為失去鎖定而生成的 SMU 警報。

CCU 使用不同的時鐘源時,可以配置系統 PLL 并檢查其位置 DCO 鎖定狀態。第一個目標頻率的選擇方式應與 CCU 當前使用的目標頻率相匹配,或僅略高一些。這可以避免在以后切換至系統 PLL 時發生系統操作頻率 (因此也避免功耗) 的大變化。應按以下方式選擇 P 和 N 分頻因子(divider):

選擇 P 和 N 時, fDCO位于其允許值的下半部分。 這會導致功耗略有降低,但抖動略有增加。

選擇 P 和 N 時, fDCO位于其允許值的上部區域。 這會導致功耗略有增加,但抖動略有降低。

通過更新 P , N 和 K2 分頻因子完成第一次PLL時鐘配置后,應檢查 DCO 鎖定狀態指示 (SYSPLLSTAT.LOCK = 1)。

系統 PLL 鎖定后,可以切換至系統 PLL。系統 PLL 丟失鎖定事件的 SMU 狀態標志應被清除,然后再次啟用SMU監控。

現在只能通過更改 K2-Divider 來配置目標系統 PLL 輸出目標頻率。根據 K2-Divider 的值,選擇輸出時鐘的周期時間。這可能會對使用外部通信接口的操作產生影響。多步更改 k2-Divider ,以避免輸出頻率發生大變化,從而避免功耗發生大變化。

注意

建議配置完P 和 N 分頻器(divider)的新值后重置 DCO 鎖定檢測 (SYSPLLCON0.RESLD = 1),這樣就能得到一個芯片預定義好的DCO鎖的檢測時間(讓DCO鎖有充足時間檢測并鎖定) 。

由于兩個 PLL (System PLL and Peripheral PLL)的緊急從 PLL 切換至備用時鐘同時激活,強烈建議僅在設置了外圍 PLL 并將其鎖定到目標頻率時,才將系統時鐘切換至系統 PLL。如果執行了順序設置,則可能會發生外設 PLL 在設置過程中丟失鎖定事件,這也會導致系統時鐘切換至備用時鐘。

建議在設置 DCO 頻率并鎖定系統 PLL 后步進的設置系統 PLL K2-Divider (降低功率突變沖擊)。此外,用戶必須在再次更改 SYSPLLCON1.K2DIV 值之前檢查 SYSPLLSTAT.K2RDY =1。SYSPLLCON1.K2DIV 寄存器在上一次寫入仍在進行時被鎖定,如 SYSPLLSTAT.K2RDY =0 所示。

System PLL Lock Detection

系統 PLL 具有鎖定檢測(lockdetection)功能,用于監控系統 PLL 的 DCO 部分,以區分穩定和不穩定的 DCO 電路行為。如果兩個輸入fREF 和fDIV的差異太大,鎖定探測器(lock detector)會將 DCO 電路標記為不穩定,因此 DCO 的輸出fDCO. 低于某一級別的一個或兩個輸入頻率的變化不會被鎖定標記,因為 DCO 可以處理小的變化且保證系統沒有任何問題。

System PLL Loss-of-Lock Event

由于晶體 / 陶瓷諧振器或外部時鐘線斷裂,系統PLL 可能會解鎖。在這種情況下,會生成 SMU 警報事件。

System PLL Power Down Mode

系統 PLL 提供斷電模式。如果根本不需要外圍 PLL ,則可以進入此模式以節省電源。通過設置位 SYSPLLCON0.PLLPWD 進入斷電模式。當系統 PLL 處于斷電模式時,不會生成系統PLL 輸出頻率。

Frequency Modulation

系統 PLL 輸出頻率 fPLL0還可以通過低頻調制進行修改,以減少 EMI。隨機序列被添加到 DCO ,從而形成隨機調制的 fDCO。 調制頻率由 fREF定義。

調制通過位 SYSPLLCON0.MODEN啟用。 調制本身會在配置的調制幅度 (MA) 范圍內隨機改變 DCO 頻率。調制振幅通過 SYSPLLCON2.MODCFG[9:0] 選擇。

SYSPLLCON2.MODCFG[9:0] = HEX[(64 * (MA / 100)) * (fOSC / P) *(N/ fMV)]

Example: for MA = 1.25%; fOSC = 20 MHz; P = 2; N = 60; fMV = 3.6 MHz the resulting bit field setting is 0x85.

調制的執行方式是,調制所增加的累積抖動保持在JMOD以下 (有關定義的值,請參閱數據表)。調制本身通過 fREF進行監控,因此應使用盡可能最小的值配置分壓器。

2.3 系統PLL寄存器

系統PLL狀態寄存器

986e350c-8fdd-11ee-939d-92fbcf53809c.png

系統控制寄存器0

9889aa80-8fdd-11ee-939d-92fbcf53809c.png

989fd616-8fdd-11ee-939d-92fbcf53809c.png

系統PLL配置寄存器1

98b3e0fc-8fdd-11ee-939d-92fbcf53809c.png

2.4 外設時鐘鎖相環PLL

外設PLL配置基本和系統PLL類似,這里只給出時鐘倍頻圖及其計算公式。

98d4dfaa-8fdd-11ee-939d-92fbcf53809c.png

Figure4 Peripheral PLL Block Diagram

fPLL1 = (N* fOSC) / (P * K2)

fPLL2 = (N* fOSC) / (P * K3 * 1.6) if DIVBY = 0 or fPLL2 = (N* fOSC) / (P * K3 * 2) if DIVBY = 1

fHSCT = fDCO / 2

通過配置外設PLL的配置寄存器就能配置P, K2, K3參數的具體值。

2.5 PLL實際應用配置

需求1:配置fOSC到100MHz.

公式:fPLL0 = (N* fOSC) / (P * K2)

fOSC== 20MHz

N= SYSPLLCON0.NDIV + 1 = 29(0x1D, 配置SYSPLLCON0.NDIV為29) + 1 = 30

98f7bd9a-8fdd-11ee-939d-92fbcf53809c.png

P = SYSPLLCON0.PDIV+ 1 = 0(配置SYSPLLCON0.PDIV為0) + 1 = 1

9997cb28-8fdd-11ee-939d-92fbcf53809c.png

K2 = SYSPLLCON1.K2DIV + 1 = 5(配置SYSPLLCON1.K2DIV為5) +1 = 6

99a2b6be-8fdd-11ee-939d-92fbcf53809c.png

fPLL0 = (N* fOSC) / (P * K2) = (30 * 20)/(1 * 6) = 100MHz

查看SYSPLLSTAT寄存器的PWDSTAT和K2RD位域來判斷時鐘配置結果。

需求2:配置fPLL1到320MHz.

需求3:配置fPLL2到200MHz.

需求4:配置fHSCT到640MHz.

計算公式:

fPLL1 = (N* fOSC) / (P * K2)

fPLL2 = (N* fOSC) / (P * K3 * 1.6) if DIVBY = 0 or fPLL2 = (N* fOSC) / (P * K3 * 2) if DIVBY = 1

fHSCT = fDCO / 2

同樣,我們配置:

N = 32

P = 1

K2 = 2

K3 = 2

fPLL1 = (N* fOSC) / (P * K2) = (32 * 20) / (1 * 2) = 320 MHz.

fPLL2 = (N* fOSC) / (P * K3 * 1.6) if DIVBY = 0 or fPLL2 = (N* fOSC) / (P * K3 * 2) if DIVBY = 1

= (32 * 20) / (1 * 2 * 1.6) = 200 MHz.

fHSCT = fDCO / 2 = = (N* fOSC) / (P) = 640 MHz.

示例代碼:

#include"IfxScu_reg.h"
#include "IfxSmu_reg.h"


staticuint8Startup_ClockInit_ConfigPLL(void)
{
Ifx_SCU_SYSPLLCON0SysPLLCon0;
Ifx_SCU_PERPLLCON0ScuPerPllCon0;
Ifx_SCU_PERPLLCON1ScuPerPllCon1;
uint32TimeoutCount;
uint8Error=0;

LockEndinit_Core0();


/*ConfigurethesystemPLL*/
SysPLLCon0.U =MODULE_SCU.SYSPLLCON0.U;
SysPLLCon0.B.PDIV=0x00;
SysPLLCon0.B.NDIV=0x1D;
SysPLLCon0.B.INSEL=1;//fOSCisusedasclocksource
MODULE_SCU.SYSPLLCON0.U = SysPLLCon0.U;


/*ConfiguretheperipheralPLL*/
ScuPerPllCon0.U=MODULE_SCU.PERPLLCON0.U;
ScuPerPllCon0.B.DIVBY=0x00;
ScuPerPllCon0.B.PDIV=0x00;
ScuPerPllCon0.B.NDIV=0x1F;
MODULE_SCU.PERPLLCON0.U = ScuPerPllCon0.U;
/*PowerupthesystemPLLandperipheralPLL*/
MODULE_SCU.SYSPLLCON0.B.PLLPWD=1;
 MODULE_SCU.PERPLLCON0.B.PLLPWD=1;
 
    /*Checkiftheconfigurationisvalid*/
TimeoutCount=0x3000;
while((MODULE_SCU.SYSPLLSTAT.B.PWDSTAT==1U)||(MODULE_SCU.PERPLLSTAT.B.PWDSTAT==1U))
{
if(((--(TimeoutCount))<=?0)
????????{
????????????(Error?)?=?1;
????????????break;
????????}
????}??


    /*?Check?if?the?configuration?is?valid?*/
????TimeoutCount?=?0x5000;
????while((MODULE_SCU.SYSPLLSTAT.B.K2RDY?==?0U)?||
???????????????(MODULE_SCU.PERPLLSTAT.B.K2RDY?==?0U)?||
??????????????(MODULE_SCU.PERPLLSTAT.B.K3RDY == 0U)) ???????????????????????????????????????
????{
????????if (((--TimeoutCount)) <= 0)
????????{
????????????(Error ) = 1;
????????????break;
????????}
????}??
????MODULE_SCU.SYSPLLCON1.B.K2DIV?=?5;


????ScuPerPllCon1.U?=?MODULE_SCU.PERPLLCON1.U;
????ScuPerPllCon1.B.K2DIV?=?1;
????ScuPerPllCon1.B.K3DIV?=?1;
????MODULE_SCU.PERPLLCON1.U?=?ScuPerPllCon1.U;
????TimeoutCount = 0x5000;


????while((MODULE_SCU.SYSPLLSTAT.B.K2RDY == 0U) ||


???????????????(MODULE_SCU.PERPLLSTAT.B.K2RDY == 0U) ||


???????????????(MODULE_SCU.PERPLLSTAT.B.K3RDY?==?0U))???????????????????????????????????????
????{
????????if?(((--(TimeoutCount))?<=?0)
????????{
????????????(Error?)?=?1;
????????????break;
????????}
????} ?
    /*?Start?PLL?locking?for?latest?set?values*/
????MODULE_SCU.SYSPLLCON0.B.RESLD?=?1;??
????MODULE_SCU.PERPLLCON0.B.RESLD = 1;


???/*Wait?for?PLL?lock?to?be?set*/
????TimeoutCount?=?0x3000;
????while((MODULE_SCU.SYSPLLSTAT.B.LOCK?==?0U)?||?(MODULE_SCU.PERPLLSTAT.B.LOCK?==?0U))?????????????????????????????????????????
????{
????????if (((--(TimeoutCount)) <= 0)
????????{
????????????(Error ) = 1;
????????????break;
????????}
????}??
????UnlockEndinit_Core0();
}

Note:下一篇文章介紹TC3xx芯片時鐘系統的時鐘分配CCU.

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17317

    瀏覽量

    352635
  • 鎖相環
    +關注

    關注

    35

    文章

    590

    瀏覽量

    87895
  • pll
    pll
    +關注

    關注

    6

    文章

    781

    瀏覽量

    135331
  • 時鐘系統
    +關注

    關注

    1

    文章

    101

    瀏覽量

    11800

原文標題:TC3xx芯片Clock System功能詳解-鎖相環PLL

文章出處:【微信號:汽車電子嵌入式,微信公眾號:汽車電子嵌入式】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    TC3xx芯片的Endinit功能詳解

    為了提供系統的安全性能,TC3xx上一些重要的寄存器都受Endinit保護,不能直接修改。如果想要修改這些重要寄存器,就需要先按特定步驟解鎖Endinit,然后才能修改這些重要的寄存器的值,最后還要
    的頭像 發表于 11-27 09:23 ?2482次閱讀
    <b class='flag-5'>TC3xx</b><b class='flag-5'>芯片</b>的Endinit功能<b class='flag-5'>詳解</b>

    LabVIEW鎖相環PLL

    LabVIEW鎖相環PLL鎖相環是一種反饋電路,其作用是使得電路上的時鐘和某一外部時鐘的相位同步。
    發表于 05-31 19:58

    鎖相環原理

    鎖相環原理 鎖相環路是一種反饋電路,鎖相環的英文全稱是Phase-Locked Loop,簡稱PLL。其作用是使得電路上的時鐘和某一外部
    發表于 08-21 14:46 ?5214次閱讀

    鎖相環(PLL),鎖相環(PLL)是什么意思

    鎖相環(PLL),鎖相環(PLL)是什么意思 PLL的概念 我們所說的PLL。其
    發表于 03-23 10:47 ?6164次閱讀

    鎖相環

    鎖相環英文為PLL,即PLL鎖相環。可以分為模擬鎖相環和數字鎖相環。兩種分類的
    發表于 10-26 12:40
    <b class='flag-5'>鎖相環</b>

    鎖相環(PLL)的工作原理及應用

    鎖相環路是一種反饋控制電路,簡稱鎖相環PLL,Phase-Locked Loop)。鎖相環的特點是:利用外部輸入的參考信號控制環路內部振蕩信號的頻率和相位。
    的頭像 發表于 03-29 09:54 ?1.4w次閱讀

    TC3xx芯片DMU介紹

    AUTOSAR架構圖下的Fls模塊對上(Fee)模塊提供統一的標準接口,但是具體的實現因不同的芯片而不一樣,Infineon公司的Fls模塊通過操作TC3xx芯片的DMU模塊實現Fls的功能。在具體
    的頭像 發表于 08-31 14:10 ?2087次閱讀
    <b class='flag-5'>TC3xx</b><b class='flag-5'>芯片</b>DMU介紹

    pll鎖相環倍頻的原理

    pll鎖相環倍頻的原理? PLL鎖相環倍頻是一種重要的時鐘信號處理技術,廣泛應用于數字系統、通信
    的頭像 發表于 09-02 14:59 ?3438次閱讀

    用FPGA的鎖相環PLL給外圍芯片提供時鐘

    的時序要求。尤其對于需要高速數據傳輸、信號采集處理等場景的數字信號處理系統而言,FPGA PLL的應用更是至關重要。本文將介紹FPGA鎖相環PLL的基本原理、設計流程、常見問題及解決方
    的頭像 發表于 09-02 15:12 ?3512次閱讀

    TC3xx芯片的MPU功能詳解

    在前面的文章文章中我們介紹了RH850-U2A的內存保護單元(MPU),了解了MPU的概念以及在RH850-U2A上的具體使用流程,但是對于TC3xx系列芯片的的MPU功能不甚了解。
    的頭像 發表于 09-19 11:42 ?2639次閱讀
    <b class='flag-5'>TC3xx</b><b class='flag-5'>芯片</b>的MPU功能<b class='flag-5'>詳解</b>

    pll鎖相環的作用 pll鎖相環的三種配置模式

    pll鎖相環的作用 pll鎖相環的三種配置模式? PLL鎖相環是現代電子技術中廣泛應用的一種電路
    的頭像 發表于 10-13 17:39 ?3755次閱讀

    什么是鎖相環PLL和DLL都是鎖相環區別在哪里?

    什么是鎖相環PLL和DLL都是鎖相環區別在哪里? 鎖相環(Phase Locked Loop,PLL)是一種基于反饋的控制
    的頭像 發表于 10-13 17:39 ?1831次閱讀

    了解鎖相環PLL)瞬態響應 如何優化鎖相環PLL)的瞬態響應?

    了解鎖相環PLL)瞬態響應 如何優化鎖相環PLL)的瞬態響應? 鎖相環PLL)是一種廣泛應
    的頭像 發表于 10-23 10:10 ?2006次閱讀

    頻繁地開關鎖相環芯片的電源會對鎖相環有何影響?

    頻繁地開關鎖相環芯片的電源會對鎖相環有何影響? 鎖相環PLL)是一種被廣泛應用在現代電子技術中的集成電路,它是一種反饋控制
    的頭像 發表于 10-30 10:16 ?674次閱讀

    鎖相環PLL的工作原理 鎖相環PLL應用領域

    鎖相環(Phase-Locked Loop,簡稱PLL)是一種電子電路,它能夠自動調整輸出信號的相位,使其與輸入信號的相位同步。這種電路在電子工程領域有著廣泛的應用,特別是在頻率合成、時鐘恢復、調制
    的頭像 發表于 11-06 10:42 ?1386次閱讀
    百家乐官网真人游戏投注网| 百家乐官网下对子的概率| 太阳城百家乐官网看牌| 24山吉凶视频| 新澳门百家乐软件下载| 立博百家乐官网的玩法技巧和规则 | 百家乐官网15人桌| 百家乐是个什么样的游戏| 百家乐合法| 大发娱乐场官网| 代理百家乐官网最多占成| 太阳城百家乐网上| 大发888娱乐场备用| 百家乐官网有免费玩| 乐天百家乐官网的玩法技巧和规则| 宝马百家乐的玩法技巧和规则| 银河国际| 运城百家乐官网的玩法技巧和规则 | 百家乐筹码皇冠| 武安市| 百家乐tt娱乐| 大发888 客服| 现金百家乐官网代理| 网络百家乐金海岸破解软件| 优博娱乐网址| 澳门百家乐官网赌场娱乐网规则| 豪华百家乐人桌| 皋兰县| 虚拟百家乐游戏下载| 盈禾| 做生意风水方向怎么看| 申城棋牌官网| 新加坡百家乐官网的玩法技巧和规则 | 百家乐筹码桌| 郧西县| 百家乐桌布小| 泰州市| 网络百家乐骗局| 百家乐官网压钱技巧| 如何玩百家乐游戏| 百家乐官网有真假宝单吗|