在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

AURIX? TC3xx Rest/Clock/Watch模塊

832065824 ? 來源:汽車電子嵌入式 ? 2023-02-20 09:45 ? 次閱讀

前言

本文包括TC3xx MCU的復位系統,時鐘系統和看門狗模塊三部分內容。在復位系統部分主要介紹了各種復位類型。在時鐘系統部分主要介紹時鐘源選擇,PLL倍頻配置,時鐘分發等內容。在看門狗模塊部分主要介紹了開門狗復位的觸發路徑,看門狗模塊的工作原理CPU EndInit/Safe EndInit的實現原理等內容。

4f4d3562-b0b3-11ed-bfe3-dac502259ad0.png

參考資料:

[1]https://videos.infineon-autoeco.com/pc/page/index?keyword=AURIX

[2]TriCoreTM TC1.6.2 core architecture manual

[3 ]Infineon-AURIX_TC3xx_Part1-UserManual-v02_00-EN

正文

1.Reset

4f7963d0-b0b3-11ed-bfe3-dac502259ad0.png

POST這個信號對于MCU來說是雙向的,也就是說在上電過程中PORST是MCU的輸出引腳,在完成上電過程后,PORST是MCU的輸入引腳。ESR0是受PORST控制的,PORST輸出低電平的時候,ESR0也會輸出低電平。

從POST引腳引起的reset就叫Warm Power On Reset,Cold PORST復位的范圍最大,基本上MCU所有的模塊都會Reset。

4fae063a-b0b3-11ed-bfe3-dac502259ad0.png

剛上電的時候,MCU的電壓是從0往上升的,所以剛開始的時候MCU處于一個under voltage的狀態,MCU主要監控VEXT, VDDP3, VDD三個輸入電源,在剛開始的時候只要這三個電源有一個處于under voltage狀態,或門(OR)就會輸出點平導通MOS管,PORST就會被拉低到地。所以在電源上升的過程中這三個電源有一個處于LBD Reset Hold(電源監控閾值)以下,MOS管就會被導通,PORST就會被一直拉低到地(輸出狀態,輸出低電平)。

電壓起來后(大于監控閾值),MOS管關斷,PORST變為輸入狀態,如果PORST外接了一個IC或者復位按鈕給了一個低電平,也會對MCU產生Reset(Warm Power On Reset)。

電壓沒起來前的Reset叫做Cold Power On Reset。

System or Application Reset包含的種類比較多:

1)Software reset

2)來自于SMU的reset

3)來自ESR0的復位請求

4fe549f6-b0b3-11ed-bfe3-dac502259ad0.png

一些模塊可以單獨Reset(SW Module reset,Debug Reset)。

復位原因寄存器

503e6ea0-b0b3-11ed-bfe3-dac502259ad0.png

STM0-STM5代碼STM compare match造成的Reset

EVRC, EVR33,SWD代表三個低電壓引起的Reset

STBYR表示Standby regulator的under voltage detect

正常情況下Reset后這個寄存器的值應該是0x10010000,也就是PORS和STBYR會被置位。

508bb7e6-b0b3-11ed-bfe3-dac502259ad0.png

Reset status register中的關于cold power on reset的Flag需要軟件清除(RSTCON2.CLRC),不然就會一直為1 。

50cce0e0-b0b3-11ed-bfe3-dac502259ad0.png

第四種的cold reset原因是:EVR previous regulator的輸出/standby supply電壓小于1.13V。

Warm power on reset就是在POST變為輸入狀態后,外部對POST產生一個低電平引起的復位(RAM數據是可以保持的)。

51022dcc-b0b3-11ed-bfe3-dac502259ad0.png

POSR和ESR0的復位時序:首先在POST(Input)上產生一個下降沿的負脈沖,通過MCU內部的一些邏輯電路產生延遲后ESR0被拉低,MCU內部的一些模塊和電路(Pads/Port Reset)就會被Reset,在ESR0被拉下來以后,CPUx核、Peripheral、Flash、Clock就會發生復位,這些模塊復位后ESR0就會被釋放掉,從0變成1,從這個點開始,MCU的Firmware(Boot rom)開始執行(Execution)。對于ESR0我們也可以配置一個ESR0的delay,當ESR0的delay大于Boot rom的執行時間后,Boot rom執行完準備跳轉到User code前會去檢測ESR0是不是被拉低,如果沒有被拉低的話,就會等待ESR0被拉低后再跳轉到User code。

2.Clock system

513ab584-b0b3-11ed-bfe3-dac502259ad0.png

時鐘選擇部分:外部晶振接入作為MCU的source clock,SYSCLK這個Pin腳信號輸入作為MCU的source clock,也可以使用fback這個100MHz的片內時鐘作為source clock。

倍頻PLL部分:在TC3xx里面有兩個PLL:

1)System_PLL主要是倍頻后給MCU的內核提供時鐘。

2)Peripheral_PLL主要是倍頻后通過一些分頻給外設提供時鐘。

時鐘分配(Distribution)部分:System_PLL產生倍頻時鐘fPLL0,Peripheral_PLL產生倍頻時鐘fPLL1和fPLL2,他們通過Clock Distribution

后通過時鐘分頻器可以產生各種各樣的時鐘頻率供外設使用。

TC3xx有兩種內部晶振:

1)100MHz的 Back-up Clock

2)70MHz的 Standby Clock,精度比較低,給SCR提供時鐘。

EXTCLK0和EXTCLK1可以配置輸出上面各種時鐘用來觀測。

5170e78a-b0b3-11ed-bfe3-dac502259ad0.png

一般我們選擇20MHz或者25MHz的外部晶振輸入,通過System_PLL倍頻后產生一個300MHz的fPLL0,fPLL0一般直接輸出300MHz給CPU各個內核提供時鐘。通過Peripheral_PLL產生160MHz的fPLL1和200MHz的fPLL2,再通過分配給各種外設提供時鐘。

51acf87e-b0b3-11ed-bfe3-dac502259ad0.png

fsource0,fsource1,fsource2就是fPLL0,fPLL1,fPLL2通過各種xxxDIV分屏器產生時鐘給各個模塊使用,一般fCPUx是300MHz,fGETH為150MHz。

Note:fMCANH是給CAN模塊的寄存器和RAM操作提供時鐘的,fMCAN是給CAN波特率產生提供時鐘的。

51edd448-b0b3-11ed-bfe3-dac502259ad0.png

fSRI通過分頻產生fCPUx給CPU提供時鐘,三個CPU的時鐘可以不同,CPU時鐘的改變不會影響其他外設時鐘。但是注意系統時鐘頻率的改變會使得系統電流發生改變,影響系統的穩定性。

521ee6a0-b0b3-11ed-bfe3-dac502259ad0.png

外接晶振有兩種模式可以選擇:

1)External Input Mode,這種模式下只需要用到輸入的XTAL1就行了(XTAL2不需要),也就是在這種模式下需要接一個有源晶振。

2)External Crystal Mode,這種模式下XTAl1和XTAL2都會用到,外部接的無源晶振。

5261b570-b0b3-11ed-bfe3-dac502259ad0.png

5295c68a-b0b3-11ed-bfe3-dac502259ad0.png

外部晶振頻率范圍是16MHz到40MHz。

在TC3xx里面還有有load capacitor(負載電容),也就是晶振的負載電容可以不用外部接,可以通過配置寄存器使用內部負載電容。

52bcc528-b0b3-11ed-bfe3-dac502259ad0.png

52e02ef0-b0b3-11ed-bfe3-dac502259ad0.png

Oscillator Watchdog

5329b02a-b0b3-11ed-bfe3-dac502259ad0.png

在System_PLL里面有一塊電路叫Oscillator Watchdog,這塊電路主要用來檢測輸入的晶振在一定的范圍里面。它的檢測方法是通過內部的100MHz的fBAK通過1/40分頻產生一個2.5MHz的Reference Clock,以這個Reference Clock對fosc經過1/(OSCVAL+1)分頻后的時鐘進行Monitor,如果對比后在一個Tolerance range范圍外的話,就會置位OSCCON.PLLHV或者OSCCON.PLLLV兩個寄存器位域。

5349b03c-b0b3-11ed-bfe3-dac502259ad0.png

一般都是使用外部20MHz的輸入晶振以及分頻/倍頻參數來參數CPU和外設時鐘。

538ef37c-b0b3-11ed-bfe3-dac502259ad0.png

PLL配置流程:

1)使能使用外部晶振

2)Clock Control Unit的Input Clock選擇fBAK,Clock Control Unit已經屬于Clock Distribution了,沒有選擇fPLL而是選擇fBAK作為它的輸入時鐘,所以這個時候CPU和Peripheral都是基于fBACK的。

3)選擇fosc作為PLL的輸入時鐘。

4)設置一個初始的PLL配置參數,比如我們先把System_PLL倍頻到100MHz,Peripheral_PLL可以直接倍頻到最終頻率,比如Peripheral_PLL1到320MHz,Peripheral_PLL2到200MHz。

5)設置分頻寄存器。

6)把Clock Control Unit的Input Clock選擇從fBAK切換到PLL。

7)System_PLL也就是fPLL0慢慢從100MHz倍頻到300MHz,是的系統的電流平穩上升。

53c02906-b0b3-11ed-bfe3-dac502259ad0.png

54020934-b0b3-11ed-bfe3-dac502259ad0.png

542bb50e-b0b3-11ed-bfe3-dac502259ad0.png

5460b3a8-b0b3-11ed-bfe3-dac502259ad0.png

5493c3c4-b0b3-11ed-bfe3-dac502259ad0.png

54c8847e-b0b3-11ed-bfe3-dac502259ad0.png

CPU時鐘慢慢倍頻上去,讓電流的變化平滑上升。

3.Watchdog

54f35fc8-b0b3-11ed-bfe3-dac502259ad0.png

TC3xx芯片的Watchdog在SCU模塊里面,Watchdog分為兩種,一種是CPU Watchdog,一種是Safety Watchdog,每一個CPU都有自己的CPU Watchdog。

5522e95a-b0b3-11ed-bfe3-dac502259ad0.png

每個Watchdog有三個Register,WDTxCon0,WDTxCon1,WDTxSR。

5552b720-b0b3-11ed-bfe3-dac502259ad0.png

Watchdog一般情況下如果Watchdog time溢出了就會產生一個watch dog reset,在TC3xx中Watchdog的Timeout并不會直接觸發Reset,而是經過配置SMU后會觸發SMU里面的一個Recovery Timer啟動,Recovery Timer的Timeout時間可以配置,單Recovery Timerout后就會產生一個Alarm,如果這個Alarm配置為Reset信號的話,就會觸發Reset。

5572b930-b0b3-11ed-bfe3-dac502259ad0.png

55af8626-b0b3-11ed-bfe3-dac502259ad0.png

EndInit的保護有三種:

1)“CE”保護,只有把每一個CPU的ENDINIT設為0后,這個CPU的critical registers保護才被解除(可寫)。

2)“E”保護,任意一個CPU的ENDINIT設為0后,所有CPU的system critical registers保護就解除了。

3)“SE”保護,Safety Watchdog的ENDINIT設為0后,Safety EndInit的保護就解除了。

ENDINIT設置為0的操作,需要一套較為復雜的操作序列。

ENDINIT置為0需要一段時間,只有等到ENDINIT真的為0后才能執行往下的操作,不然可能會產生異常。

55ec7b58-b0b3-11ed-bfe3-dac502259ad0.png

EICON0和SEICON0是兩個Global的ENDINIT保護寄存器,如果不想改變Watchdog CPUx或者Safety Watchdog的ENDINIT值,但是又想解除保護,就可以使用Global的EICON0和SEICON0(前提是EndInit的保護等級是“E”或者“SE”)。

560bc800-b0b3-11ed-bfe3-dac502259ad0.png

對于保護等級為“E”或者“SE”的寄存器,在操作它之前需要先解除EndInit保護。

5649687c-b0b3-11ed-bfe3-dac502259ad0.png

fsys類似fspb,類似于外設總線頻率。

567d439a-b0b3-11ed-bfe3-dac502259ad0.png

56b265fc-b0b3-11ed-bfe3-dac502259ad0.png

復位以后CPU的Watchdog默認是處在Time-Out Mode下的,WDT在Time-Out Mode下就會從0xFFFC開始往上計數,如果計數到0xFFFF就會溢出,如果在計數到0xFFFF之前對WDT_CON0進行了password access后對WDT_CON0進行了Modify access,重新對WDT進了reload value到REL_1值(寫寄存器前ENDINIT值改為1了,也就是先要介紹ENDINIT保護),這樣WDT從Time-Out模式切換到了Normal Mode,這個時候WDT開始從REL_1值晚上計數。

Note: 后面會介紹password access和Modify access

56e27422-b0b3-11ed-bfe3-dac502259ad0.png

在上圖中的3)的地方對WDT_CON0進行了password access,WDT就會切換到Time-Out Mode,WDT又從0xFFFC開始計數,如果在4)這個點,又對WDT_CON0做了password access就會切換WDT到Normal Mode,同時對WDT_CON0做了一次Modify access后,WDT從REL_2開始計數。

570d9c60-b0b3-11ed-bfe3-dac502259ad0.png

計數到0xFFFF后WDT就溢出了,觸發SMU的Timeout的Alarm,這個Alarm會觸發SMU里面的一個Recovery time進行計數,Recovery time也timeout后就會產生一個SMU的reset。

574125b2-b0b3-11ed-bfe3-dac502259ad0.png

576df52e-b0b3-11ed-bfe3-dac502259ad0.png

Password access的條件是LCK為0,ENDINIT為1。WDTxCON0.PW[7:2]寫入當前WDTxCON0.PW[7:2]值的反轉值,WDTxCON0.PW[15:8]寫入當前WDTxCON0.PW[15:8]值,這樣Password access就解鎖了。

57a5547e-b0b3-11ed-bfe3-dac502259ad0.png

如果Password成功以后,就相當于這個寄存器被解鎖了,然后就可以在PW中填入新的Password,REL和ENDINIT也可以寫入新的值,當完成Modify access后,這個寄存器就又被lock住了,如果要改它就需要再來一次password access。

57e5f844-b0b3-11ed-bfe3-dac502259ad0.png

當WDT_CON0進行了一次Password Access之后WDT的狀態會切換為Time-Out mode,也就是說接下來操作這個寄存器的時間必須要比較短,就是要在Watchdog Timeout之前完成操作。

582db382-b0b3-11ed-bfe3-dac502259ad0.png

585786e4-b0b3-11ed-bfe3-dac502259ad0.png

587fa778-b0b3-11ed-bfe3-dac502259ad0.png

58a3063c-b0b3-11ed-bfe3-dac502259ad0.png

Set EndInit的Modify Access動作會設置WDT_CON0.INIT為1,WDT的Reload timer會重新Reload一次,也就是和Watchdog的喂狗操作是一樣的。

審核編輯 :李倩

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

    關注

    10

    文章

    579

    瀏覽量

    71574
  • 復位系統
    +關注

    關注

    0

    文章

    4

    瀏覽量

    5686
  • Aurix
    +關注

    關注

    1

    文章

    73

    瀏覽量

    11268
  • 時鐘系統
    +關注

    關注

    1

    文章

    106

    瀏覽量

    12109

原文標題:學習筆記 | AURIX? TC3xx Rest/Clock/Watch模塊

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

    TC3XX 系列屬于AURIX? 2G系列,AURIX? 2G系列系列單片機采用的是TC1.6.E和TC1.6P的核心組合。使用的是32位哈
    發表于 09-19 10:00 ?3158次閱讀
    英飛凌<b class='flag-5'>TC3XX</b>系列多核MCU學習筆記(<b class='flag-5'>3</b>)

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

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

    AURIX? TC3XX如何暫時僅啟用/禁用CAN中斷?

    你我使用的是 AURIX? TC3XX。 在 CAN ISR 處理期間,如何暫時僅啟用/禁用 CAN 中斷?
    發表于 01-18 06:47

    Pflash恢復保護命令最終會在Aurix TC3xx控制器上重置目標是為什么?

    我正在連接 T32 調試器的 Aurix TC3xx 控制器評估板上測試 Pflash 讀/寫保護機制,我配置了 UCB_pFlash 和 UCB 調試,我成功解鎖了 Pflash 保護,然后嘗試再次鎖定保護,最終進入目標重置。 我不知道為什么會這樣。
    發表于 01-24 06:42

    GCC和TASKING有什么區別?應該為AURIX? TC3xx選擇什么?

    GCC 和 TASKING 有什么區別? 我應該為 AURIX? TC3xx 選擇什么? 這將如何影響代碼的運行?
    發表于 03-01 10:09

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

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

    英飛凌AURIX單片機TC3xx系列助力自動駕駛和電動交通發展

    2016年10月28日,為滿足自動駕駛汽車和電動車的市場需求,英飛凌科技股份公司(FSE: IFX / OTCQX: IFNNY)近日發布新一代 AURIX?單片機,即TC3xx,它是市場上同類器件中集成度最高的產品,實時性能是現有器件的
    發表于 11-07 13:51 ?3166次閱讀

    英飛凌AURIX單片機TC3xx系列助力電動交通發展

    為滿足自動駕駛汽車和電動車的市場需求,英飛凌科技股份公司近日發布新一代 AURIX?單片機,即TC3xx,它是市場上同類器件中集成度最高的產品,實時性能是現有器件的3倍。
    發表于 03-24 13:42 ?5952次閱讀

    關于英飛凌AURIX?單片機TC3xx系列的性能和應用

    英飛凌副總裁兼控制器業務總經理Peter Schaefer表示:“AURIX TC3xx系列器件將推進自動駕駛和電動汽車的發展。能夠推出新一代高性能多核單片機,我們頗感到自豪,它將設立新的性能標準,其性能、加密和安全功能全都符合ISO 26262 ASIL-D體系要求。
    的頭像 發表于 09-24 17:36 ?8220次閱讀

    英飛凌 AURIX 單片機 培訓文檔鏈接

    包括AURIX? -TC2xx Microcontroller TrainingAURIX? -TC3xx Microcontroller TrainingAURIX? TC2xx I
    發表于 12-03 16:06 ?20次下載
    英飛凌 <b class='flag-5'>AURIX</b> 單片機 培訓文檔鏈接

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

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

    英飛凌AURIX TC3xx和TRAVEO T2G系列微控制器介紹

    英飛凌市場領先的 AURIX TC3xx 和TRAVEO T2G 車用 MCU將率先支持Rust語言。雖然TRAVEO 使用的是 Rust 官方工具鏈和Arm Cortex-M 目標架構,但英飛凌的工具合作伙伴 HighTec EDV-Systeme 為
    發表于 06-20 15:07 ?1405次閱讀
    英飛凌<b class='flag-5'>AURIX</b> <b class='flag-5'>TC3xx</b>和TRAVEO T2G系列微控制器介紹

    TC3xx芯片DMU介紹

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

    AURIX? TC3xx榮膺“金輯獎·中國汽車新供應鏈百強”

    2023年10月19日,由蓋世汽車主辦的2023第五屆“金輯獎”頒獎典禮在上海隆重舉行, 英飛凌AURIX TC3xx單片機,憑借強大的運算能力
    的頭像 發表于 11-10 15:22 ?1817次閱讀
    <b class='flag-5'>AURIX</b>? <b class='flag-5'>TC3xx</b>榮膺“金輯獎·中國汽車新供應鏈百強”

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

    TC3xx芯片是德國英飛凌半導體公司推出的汽車級處理器芯片系列,其中的SMU(System Management Unit)模塊是其重要組成部分之一。SMU模塊TC3xx芯片中具有重
    的頭像 發表于 03-01 18:08 ?2393次閱讀
    主站蜘蛛池模板: 国产va免费精品高清在线观看 | 国产精品久久精品牛牛影视 | 国产精品三级在线观看 | 天堂在线资源最新版 | 天天操天天射天天舔 | 四虎永久在线观看视频精品 | 午夜亚洲国产精品福利 | 成人久久久精品乱码一区二区三区 | 99精品国产在热久久 | 亚洲国产成人精品不卡青青草原 | 久久综合色88 | 男女互插小说 | 免费看男女做好爽好硬视频 | 激情五月婷婷综合 | 午夜美女视频在线观看高清 | 五月激情网站 | 午夜剧场官网 | 超黄视频网站 | 日本在线观看www | 国产未成女年一区二区 | 成人高清毛片a | 国产午夜精品久久久久九九 | 一个色亚洲 | 亚洲视频第一页 | 国产簧片 | 日韩亚洲欧洲在线com91tv | 国产嫩草影院在线观看 | 国产成人精品三级在线 | 日本在线免费 | 女人张开腿双腿让男人桶 | 午夜一级 | 亚洲一区二区在线 | 久久99久久精品97久久综合 | 五月丁香| 欧美一级在线观看播放 | 美女网站在线观看视频18 | 黄蓉吕文德欲乱系列小说 | 免费人成网ww777kkk手机 | 亚洲成年人网 | 性欧美精品 | 亚洲第一网站 |