精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

TC3xx芯片時鐘系統的時鐘源詳解

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

正文

1.時鐘

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

1.1 有源晶振和無源晶振

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

1.1.1 無源晶振

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

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

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

1.1.2 有源晶振

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

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

有源晶振參考電路有源晶振不需要CPU的內部振蕩器,信號穩定,質量較好,且連接方式比

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

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

1.1.3 有源晶振和無源晶振的區別

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

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

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

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

1.1 振蕩器電路(OSC)

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

1.1.1外部輸入時鐘模式

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

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 ,選擇振蕩器時鐘作為看門狗的源。

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

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

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

fOSC = OSCCON.OSCVAL - 1 + 16MHz

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

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

Note:

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

1.1.6 配置SMU和時鐘相關的Alarm

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

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

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

配置SMU_AGiCFj寄存器Disable Clock相關的Alarm.

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

和ClockAlarm相關的Group是Group 8, 也就是AGiCFj中I == 8.

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

Note: AG8CF0, AG8CF1, AG8CF2三個寄存器的同一個bit的組合關系決定一個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,產生的Alarm就是SMU_CPU_RST.

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

1.2 備用時鐘

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

1.3 OSC實際應用配置

需求:配置使用一個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;
}







審核編輯:劉清

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

    關注

    1

    文章

    885

    瀏覽量

    20548
  • 晶體管
    +關注

    關注

    77

    文章

    9641

    瀏覽量

    137876
  • 晶體振蕩器
    +關注

    關注

    9

    文章

    616

    瀏覽量

    29061
  • 瓷片電容
    +關注

    關注

    0

    文章

    76

    瀏覽量

    14573
  • 時鐘系統
    +關注

    關注

    1

    文章

    99

    瀏覽量

    11707

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

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

收藏 人收藏

    評論

    相關推薦

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

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

    TC3xx芯片的Endinit功能詳解

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

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

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

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

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

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

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

    TC3xx系列怎么禁用trap?

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

    請問TC3XX WDT 的check access應該如何使用?

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

    TC3xx系列是否支持RTC功能?

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

    TC3xx的HSM中有沒有單調計數器?

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

    TSIM是否支持TC3xx系列在沒有硬件的情況下調試應用程序?

    你好, TSIM是否支持TC3xx系列在沒有硬件的情況下調試應用程序? AURIX TC3xx - Free Entry ToolChain 是否有助于實現上述目的?
    發表于 05-17 07:02

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

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

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

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

    TC3xx芯片DMU介紹

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

    TC3xx芯片的MPU功能詳解

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

    深入解析TC3xx芯片中的SMU模塊應用

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