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

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

3天內(nèi)不再提示

TC3xx芯片時鐘系統(tǒng)的時鐘源詳解

832065824 ? 來源:汽車電子嵌入式 ? 2023-11-29 09:26 ? 次閱讀

正文

1.時鐘

晶振好比人的心臟,晶振產(chǎn)生的時鐘脈沖好比心臟產(chǎn)生的心跳,所以,晶振對于MCU來講必不可少,晶振沒有起振,MCU必定無法工作。

1.1 有源晶振和無源晶振

無源晶振又名“無源晶體”、“石英晶體諧振器”,英文名Crystal或Crystal Resonator。有源晶振又稱“石英晶體振蕩器”,英文名Crystal Oscillator。

1.1.1 無源晶振

無源晶振一般有兩個引腳,無極性。它自身無法振動,一般外部都接有兩個10-22PF的瓷片電容。

29909898-8e4b-11ee-939d-92fbcf53809c.png

無源晶振參考電路無源晶振信號質(zhì)量較差,通常需要精確匹配外圍電路(用于信號匹配的電容、電感、電阻等),更換不同頻率的晶體時周邊配置 電路也需要做相應(yīng)的調(diào)整。一般建議采用精度較高的石英晶體。

1.1.2 有源晶振

有源晶振有4只引腳,是一個完整的振蕩器,其中除了石英晶體外,還有晶體管和阻容元件,因此體積較大。有源晶振的封裝有4個引腳,分別為VCC (電壓)、GND (地)、OUT (時鐘信號輸出)、NC (空腳)。

29b419b2-8e4b-11ee-939d-92fbcf53809c.png

有源晶振參考電路有源晶振不需要CPU的內(nèi)部振蕩器,信號穩(wěn)定,質(zhì)量較好,且連接方式比

較簡單(主要做好電源濾波,通常使用一個電容和電感構(gòu)成濾波網(wǎng)絡(luò),輸出端用一個小阻值的

電阻過濾信號即可) , 不需要復雜的配置電路。

1.1.3 有源晶振和無源晶振的區(qū)別

1、有源晶振比較貴,但是有源晶振自身就能振動。無論無源晶振,還是有源晶振,都有自身的優(yōu)點和缺點所在,若考慮產(chǎn)品成本,建議可以選擇無源晶振電路;若考慮產(chǎn)品性能,建議選擇有源晶振電路,省時方便也能保證產(chǎn)品性能。

2、無源晶振最高精度為5ppm, 而有源晶振的精度則可以達到0. 1ppm。精度越高, 頻率穩(wěn)定性也更好。有源晶振在穩(wěn)定性上要勝過無源晶振,但也有自身小小的缺陷,有源晶振的信號電平是固定,所以需要選擇好合適輸出電平,靈活性較差。

3、有源晶振一般4個腳,1個電源,1個接地,1個信號輸出端,1個NC (空腳)。有個點標記的為1腳,按逆時針(管腳向下)分別為2、3、4。

4、無源晶振有2個引腳,要借助于外部的時鐘電路(接到主IC內(nèi)部的振蕩電路)才能產(chǎn)生振蕩信號,自身無法振蕩。

1.1 振蕩器電路(OSC)

振蕩器電路是一種 Pierce 振蕩器(Pierce oscillator),設(shè)計用于與外部晶體(external crystal) / 陶瓷諧振器(ceramic resonator)或外部穩(wěn)定時鐘源(external stable clock source)配合使用。 該電路由一個反向放大器組成, XTAL1 作為輸入, XTAL2 作為帶有集成反饋電阻的輸出。

1.1.1外部輸入時鐘模式

使用外部輸入時鐘模式時,外部時鐘信號連接到OSC模塊的XTAL1引進,XTAL2引腳保持懸空狀態(tài)。

29c315f2-8e4b-11ee-939d-92fbcf53809c.png

Figure 1 AURIX TC3xx Platform Direct Clock Input

如果在正常模式直接使用外部時鐘提供的時鐘信號時,不使用外部晶體 / 陶瓷諧振器并繞過振蕩器,則輸入頻率需要等于或大于 PLL 的 DCO 輸入頻率 (該值在Data sheet中列出)。

1.1.2 外部晶體 / 陶瓷諧振器模式

Figure 2 顯示了兩種工作模式的推薦外部電路:外部晶體 / 陶瓷諧振器模式 (帶和不帶外部組件)。

29d54e66-8e4b-11ee-939d-92fbcf53809c.png

Figure2 External Circuitry for Crystal / Ceramic Resonator operation

1.1.3 OSC控制寄存器

Oscillator Circuit Control Register用來配置OSC模式和晶振頻率。主要用到的配置位域為:OSCCON.MODE 配置晶振模式

OSCCON.OSCVAL配置晶振頻率

OSCCON.PLLLV標識OSC頻率是否可用

OSCCON.PLLHV標識OSC頻率是否可用

29e22dca-8e4b-11ee-939d-92fbcf53809c.png

29f1283e-8e4b-11ee-939d-92fbcf53809c.png

29ffe734-8e4b-11ee-939d-92fbcf53809c.png

2a19f2dc-8e4b-11ee-939d-92fbcf53809c.png

2a315422-8e4b-11ee-939d-92fbcf53809c.png

1.1.4 配置OSC

只有配置了OSC后,外部晶振才能作為時鐘源工作。

Power-on復位后OSC模塊是被disabled,需要重新配置。在任何其他重置過程中和之后,振蕩器不會受到影響,并按照先前配置的方式工作,這種情況下不需要重新配置。

可以通過SSW來配置OSC,也可以在App中直接配置OSC。值得注意的是:OSCCON寄存器是受Endinit保護的,配置的時候需要解鎖Endinit。

參考文檔:

1.1.5 OSC看門狗

通過配置 SYSPLLCON0.Insel = 01B ,選擇振蕩器時鐘作為看門狗的源。

與系統(tǒng) PLL 結(jié)合使用時,將實施監(jiān)控功能。定義此功能的目的是檢測外部晶體 / 陶瓷諧振器的嚴重故障。系統(tǒng)可以檢測到時鐘輸入丟失或輸入頻率過高 (在較高諧波上運行)。

振蕩器監(jiān)視程序監(jiān)視來自 OSC 的傳入時鐘頻率 fOSC。 穩(wěn)定且定義的輸入頻率是操作的強制要求。 因此,每次系統(tǒng)重置后都會自動選擇此模式。

預期輸入頻率 fOSC通過位字段 OSCCON.OSCVAL 選擇。OSC WDT 檢查頻率是否過低或過高。

fOSC = OSCCON.OSCVAL - 1 + 16MHz

在配置 OSC WDT 功能之前,應(yīng)禁用所有 SMU 振蕩器看門狗報警響應(yīng)選項,以避免意外的 SMU 報警。此后,可以更改 OSCCON.OSCVAL 的值。然后, OSC_WDT 應(yīng)通過設(shè)置 OSCCON.OSCRES 重置。這將請求使用新配置啟動 OSC WDT 監(jiān)控。當設(shè)定 OSCCON.PLLLV 和 / 或 OSCCON.PLLHV 的預期正監(jiān)測結(jié)果時,輸入頻率處于預期范圍內(nèi)。當設(shè)置 OSCCON.OSCRES 清除 OSCCON.PLLLV 和 OSCCON.PLLHV 時,應(yīng)設(shè)置兩個狀態(tài)標志。因此,在再次啟用 SMU 報警響應(yīng)之前,應(yīng)清除這兩個標志。如果只設(shè)置了位 OSCCON.OSCRES 而未對 OSCCON.OSCVAL 進行任何修改,也應(yīng)使用 SMU 報警禁用 - 清除 - 啟用序列。

如果 SMU 檢測到振蕩器監(jiān)視報警,則必須執(zhí)行與 PLL 鎖定丟失事件相同的恢復過程。

Note:

振蕩器看門狗主要用于 PLL 輸入時鐘 fOSC _i通過寄存器 SYSPLLCON0.Insel = 01B 設(shè)置為 fOSC0 時。如果 SYSCLK 通過 SYSPLLCON0.Insel = 10B 用作 fOSC _i的源,用戶應(yīng)將 SYSCLK 頻率限制在與使用晶體相同的范圍內(nèi),或禁用 SMU 中的看門狗報警。通過 SYSPLLCON0.Insel = 00B 使用備份時鐘作為 fOSC _i的輸入時,也需要禁用看門狗報警。 數(shù)據(jù)表中列出了通過分配的 GPIO 輸入引腳驅(qū)動 SYSCLK 時的可用晶體頻率范圍和允許的頻率范圍。

1.1.6 配置SMU和時鐘相關(guān)的Alarm

SMU模塊在后續(xù)的TC3xx系類文章中再詳細講解,這里僅僅列出在配置OSC時相關(guān)的SMU寄存器。

只有SMU_KEYS寄存器的CFGLCK[7:0]配置為0xBC時才能配置SMU.

2a3e069a-8e4b-11ee-939d-92fbcf53809c.png

配置SMU_AGiCFj寄存器Disable Clock相關(guān)的Alarm.

2a515b96-8e4b-11ee-939d-92fbcf53809c.png

和ClockAlarm相關(guān)的Group是Group 8, 也就是AGiCFj中I == 8.

2a6f19f6-8e4b-11ee-939d-92fbcf53809c.png

Note: AG8CF0, AG8CF1, AG8CF2三個寄存器的同一個bit的組合關(guān)系決定一個Alarm的類型。

舉例:

AG8CF0[0].CF0, AG8CF1[0].CF0, AG8CF2[0].CF0就是三個bit, 組合為一個0x0 – 0x7的具體Alarm類型,如果

AG8CF0[0] == 1,

AG8CF1[0].CF0 == 1,

AG8CF2[0] .CF0== 1,

那么最后組合為111 = 0x7,產(chǎn)生的Alarm就是SMU_CPU_RST.

2a80f720-8e4b-11ee-939d-92fbcf53809c.png

1.2 備用時鐘

備用時鐘源可用作備用時鐘源。此時鐘源提供穩(wěn)定但可靠的時鐘源,可用作系統(tǒng)的時鐘源。它提供的準確度低于外部晶體或陶瓷諧振器。不能啟用或禁用備份時鐘,也不能通過其他方式控制備份時鐘,以阻止其常規(guī)操作。因此,除了選擇備份時鐘作為源 (CCUCON0.CLKSEL = 00B 作為時鐘分配的時鐘源, SYSPLLCON0.Insel = 00B 作為兩個 PLL 的時鐘源) 外,沒有可用的控制位。

1.3 OSC實際應(yīng)用配置

需求:配置使用一個20MHz的外部無源晶振。

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


staticuint8Startup_ClockInit_ConfigOSC(void)
{
/*DisableSMUClockAlarm*/
MODULE_SMU.KEYS.U=(uint32)0xBCU;/*EnableaccesstoSMUregisters*/
MODULE_SMU.CMD.U=(uint32)0x00000005;
MODULE_SMU.AG[8].U=0x1FU;/*ClearSMUAlarms*/
MODULE_SMU.KEYS.U=(uint32)0U;


/*CongigOSC--Start*/
Ifx_SCU_OSCCONscuOsccon;
uint32timeoutCount;
uint8error=0;

UnlockEndinit_Core0();


scuOsccon.U =MODULE_SCU.OSCCON.U;
scuOsccon.B.MODE = 0U;


/*fOSC=OSCCON.OSCVAL-1+16MHz*/
scuOsccon.B.OSCVAL=(uint32)5U;
MODULE_SCU.OSCCON.U = scuOsccon.U;




/*Checkiftheconfigurationisvalid*/
timeoutCount=0xFFFFF;
while((MODULE_SCU.OSCCON.B.PLLLV == 0U) && (MODULE_SCU.OSCCON.B.PLLHV == 0U)) 
{
if(((--(timeoutCount))<=?0)
????????{
????????????(error) = 1;
????????????break;
????????}
????}??
    /*Congig?OSC?--?End*/
    
????/*?Enable?SMU?Clock?Alarms?*/
????MODULE_SMU.KEYS.U?=?(uint32)0xBCU;?????????????/*?Enable?access?to?SMU?registers?*/
????MODULE_SMU.CMD.U??=?(uint32)0x00000005;
????MODULE_SMU.AG[8].U??=?0x1FU;???/*?Clear?SMU?Alarms*/
????MODULE_SMU.KEYS.U?=?(uint32)0U;


????LockEndinit_Core0();
????return?error;
}







審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 有源晶振
    +關(guān)注

    關(guān)注

    1

    文章

    882

    瀏覽量

    20519
  • 晶體管
    +關(guān)注

    關(guān)注

    77

    文章

    9610

    瀏覽量

    137661
  • 晶體振蕩器
    +關(guān)注

    關(guān)注

    9

    文章

    613

    瀏覽量

    29014
  • 瓷片電容
    +關(guān)注

    關(guān)注

    0

    文章

    76

    瀏覽量

    14557
  • 時鐘系統(tǒng)
    +關(guān)注

    關(guān)注

    1

    文章

    98

    瀏覽量

    11680

原文標題:TC3xx芯片Clock System功能詳解-時鐘源OSC

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

收藏 人收藏

    評論

    相關(guān)推薦

    英飛凌TC3XX系列多核MCU學習筆記(1)

    聲明:本文是在學習英飛凌 TC3XX系列多核 MCU 過程中整理的筆記,便于后期復習!
    發(fā)表于 09-19 09:54 ?2314次閱讀
    英飛凌<b class='flag-5'>TC3XX</b>系列多核MCU學習筆記(1)

    TC3xx芯片的Endinit功能詳解

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

    TC3xx芯片時鐘系統(tǒng)的鎖相環(huán)PLL詳解

    的Tick數(shù)就是基于模塊時鐘的)。本系列文章就來詳細介紹TC3xx芯片時鐘系統(tǒng)及其具體配置。本文為TC
    的頭像 發(fā)表于 12-01 09:37 ?2282次閱讀
    <b class='flag-5'>TC3xx</b><b class='flag-5'>芯片時鐘</b><b class='flag-5'>系統(tǒng)</b>的鎖相環(huán)PLL<b class='flag-5'>詳解</b>

    英飛凌TC3xx系列安全管理單元的使用

    本篇文檔主要用來介紹英飛凌基于AURIX-2G TriCore 1.6.2架構(gòu)的 TC3xx系列安全管理單元的使用。
    的頭像 發(fā)表于 12-07 09:29 ?1938次閱讀
    英飛凌<b class='flag-5'>TC3xx</b>系列安全管理單元的使用

    TC3XX寄存器讀寫時間過長怎么解決?

    我目前在做TC3XX底層代碼優(yōu)化,經(jīng)過之前多次測試目前可以確定該系列芯片對單個寄存器地址的讀寫耗時超過100us。請問對于寄存器讀寫耗時你們官方有沒有確切的文件說明?還有就是既然寄存器讀寫時間那么長100M的外設(shè)總線時鐘是否有意
    發(fā)表于 01-25 06:56

    TC3xx系列怎么禁用trap?

    目前在TC3xx調(diào)試flash讀寫功能,單獨運行flash相關(guān)功能沒有問題,但將flash相關(guān)功能集成到工程中。操作pflash就會進入trap中,查看了一些帖子說是要禁掉trap?請問怎么禁用trap?目前沒找到相關(guān)函數(shù)
    發(fā)表于 01-31 06:21

    請問TC3XX WDT 的check access應(yīng)該如何使用?

    hi,各位老師:請問TC3XX WDT 的check access應(yīng)該如何使用?以及Time Check Password如何理解及使用?讀手冊時,一直沒有理解到Time Check
    發(fā)表于 02-02 08:17

    TC3xx系列是否支持RTC功能?

    請教各位,TC3xx系列芯片是否支持RTC功能,目前要記錄snapshot的時間點(年月日時分秒)。
    發(fā)表于 02-02 07:53

    TC3xx的HSM中有沒有單調(diào)計數(shù)器?

    你好, 我看到 OPTIGA 有單調(diào)計數(shù)器,但我在 TC3xx 的 HSM 中確實找不到單調(diào)計數(shù)器。 能否確認TC3xx的HSM中沒有單調(diào)計數(shù)器?
    發(fā)表于 03-05 07:56

    TSIM是否支持TC3xx系列在沒有硬件的情況下調(diào)試應(yīng)用程序?

    你好, TSIM是否支持TC3xx系列在沒有硬件的情況下調(diào)試應(yīng)用程序? AURIX TC3xx - Free Entry ToolChain 是否有助于實現(xiàn)上述目的?
    發(fā)表于 05-17 07:02

    AUTOSAR MCAL-基于Infineon TC3xx芯片的ADC模塊

    ADC模塊了,由于最近開始使用Infineon TC3xx芯片,在配置ADC模塊的時候發(fā)現(xiàn)ADC模塊對上提供的標準接口是一樣的,在切換芯片的時候,IoHwAb_ADC模塊基本不用修改,但是對于具體
    的頭像 發(fā)表于 01-29 16:45 ?8112次閱讀

    AURIX? TC3xx NVM是非易失性存儲器學習筆記

    TC3xx芯片最多有6個內(nèi)核,每個核有自己的私有的Memory以及共有的Memory。
    發(fā)表于 06-19 09:09 ?6317次閱讀
    AURIX? <b class='flag-5'>TC3xx</b> NVM是非易失性存儲器學習筆記

    TC3xx芯片DMU介紹

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

    TC3xx芯片的MPU功能詳解

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

    深入解析TC3xx芯片中的SMU模塊應(yīng)用

    TC3xx芯片是德國英飛凌半導體公司推出的汽車級處理器芯片系列,其中的SMU(System Management Unit)模塊是其重要組成部分之一。SMU模塊在TC3xx
    的頭像 發(fā)表于 03-01 18:08 ?1542次閱讀