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

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

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

詳細介紹下Aurix芯片的STM模塊

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

1. STM硬件資源

1.1 STM硬件單元

TC37x芯片有3個STM模塊,每個STM模塊可以產(chǎn)生兩個SRx_INT中斷信號(通過STM模塊的Compare功能實現(xiàn),下文介紹),Davinci OS中的硬件定時器就是使用STM模塊的SRx_INT中斷信號

4a68b46a-5c00-11ee-939d-92fbcf53809c.png

4a71f764-5c00-11ee-939d-92fbcf53809c.png

1.2 STM時鐘

系統(tǒng)冷啟動或者系統(tǒng)復位后,fSTM=50MHz,也就是fSTM的一個tick為1/(50*(10^6)) = 0.00000002 s = 20ns.

Note: TC37x的時鐘系統(tǒng)后面的文章再介紹,本文默認系統(tǒng)啟動后fSTM就為50MHz.

4a7e4dde-5c00-11ee-939d-92fbcf53809c.png

1.3 STM中斷源

在1.1章節(jié)中介紹了TC37x有3個STM硬件單元,每個STM硬件單元可以產(chǎn)生兩個中斷信號,中斷號計算公式如下截圖所示:

e.g. STM0的SR0_INT = 0x300 + 0*8 + 0*4 = 0x300 = 768.

4a8fd7fc-5c00-11ee-939d-92fbcf53809c.png

2. 功能描述

2.1 功能特色

一個不受約束的64-bit計數(shù)器,也就是能產(chǎn)生一個0– 2^64的計數(shù),如果我們使用fSTM = 50MHz,那么計數(shù)器的最大計數(shù)值對應的最大時間為:2^64 * 20ns = 4270079.647..天 = 11698 年,也就說實際使用中這個計數(shù)器不可能溢出

這個64b-bit計數(shù)器可以同步讀出。理論上,TC37x是32-bit系統(tǒng),每個指令周期頂多能讀32-bit數(shù)據(jù),TC37x芯片是怎么保證64-bit計時器值同步讀出來的了?-- 通過STM_CAP寄存器機制,后面介紹。

64 位計數(shù)器的不同 32 位部分可以同步讀。STM的64-bit提供了6個32-bitTimer可以同步讀出來,后文介紹。

基于與部分 STM 內(nèi)容的比較匹配,靈活地生成服務請求。通過STM_CMPx的比較機制靈活的產(chǎn)生服務請求事件,后文具體介紹。

系統(tǒng)啟動后,STM自動啟動。

如果ARSTDIS.STMxDIS被清除,則Application Reset也會ResetSTM registers;如果ARSTDIS.STMxDIS沒有被清除,則Application Reset不會ResetSTM registers,只有System Reset才會ResetSTM registers.

2.2 STM計時器Timer

STM作為Timer時,可以提供7個不同基準的Timer:

STM_TIM0: 基準為2^0 tick = 1 tick = 20 ns,也就是每20 ns,計數(shù)器加1.

STM_TIM1: 基準為2^4 tick = 16 tick = 320 ns,…

STM_TIM2: 基準為2^8 tick = 256 tick = 5120 ns = 5.120 us,…

STM_TIM3: 基準為2^12 tick = 4096 tick = 81920 ns = 81.92 us,…

STM_TIM4: 基準為2^16 tick = 65536 tick = 1310720 ns= 1.31072 ms,…

STM_TIM5: 基準為2^20 tick = 1048576 tick = 209715220 ns = 0. 20971522 s,…

STM_TIM6: 基準為2^32 tick = 4294967296 tick = 85899345920 ns = 85.899345920 s,…

4aaadae8-5c00-11ee-939d-92fbcf53809c.png

理論上,TC37x是32-bit系統(tǒng),每個指令周期頂多能讀32-bit數(shù)據(jù)且在讀取32-bit數(shù)據(jù)的時候STM是不會停下來等你再讀另一個32-bit的數(shù)據(jù)的,TC37x芯片是怎么保證64-bit計時器值同步讀出來的了?-- 通過STM_CAP寄存器機制,每次讀取其中一個寄存器 TIM0 至 TIM5 時,它都會鎖定 STM 高部分的內(nèi)容。因此,在讀取下部時, CAP 完全同時保存計時器的上限值。然后,第二個讀取操作將讀取 CAP 的內(nèi)容以獲得完整的計時器值。

2.3 STM比較器功能

64 位系統(tǒng)計時器的內(nèi)容可以與 CMP0 和 CMP1 寄存器中存儲的兩個比較值的內(nèi)容進行比較。服務請求可以在 STM 與 CMP0 或 CMP1 寄存器的比較匹配上生成。

2.3.1 STM比較功能寄存器

CMCON(Compare Match Control Register)寄存器的MSIZEx位域配置CMPx寄存器從0-bit開始多少位用來和STM比較,MSTARTx位域配置STM Counter的哪一位開始和CMPx寄存器比較。

4acb0a70-5c00-11ee-939d-92fbcf53809c.png

4af1e636-5c00-11ee-939d-92fbcf53809c.png

4b07656a-5c00-11ee-939d-92fbcf53809c.png

2.3.2 STM比較器功能示例

如下圖所示,對應的CMCOM的配置為:

MSIZE0 = 10001B = 17D; MSTART0 = 01010B = 10D

MSIZE1 = 00111B = 7D; MSTART1 = 00111B = 7D

MSIZE0 = 10001B = 17D : Compare Register0從0-bit開始的7個bit用于比較

MSTART0 = 01010B = 10D : 和STM的第10-bit位開始的7個bit比較

CMP1類似……

4b193aba-5c00-11ee-939d-92fbcf53809c.png

Compare成功后,就會產(chǎn)生Event,Event可用于配置中斷。

2.3.3 STM比較器中斷控制

4b21a3da-5c00-11ee-939d-92fbcf53809c.png

Compare中斷事件產(chǎn)生舉例:

第1步:配置STMx_CMCON. MSTARTx位域,設置比較寄存器在STM中的起始位置

第2步:配置STMx_CMCON.MSIZEx使用STM_CMPx的寬度(多少bit)

第3步:配置STM_CMPx.CMPVAL[31:0]定時器值

第4:配置STM_ICR.CMPxOS到時觸發(fā)STMIR0還是STMIR1中斷

第5步:配置STM_ICR.CMPxEN使能中斷,等待定時中斷觸發(fā)

中斷觸發(fā)后:在中斷服務例程(ISR,中斷服務函數(shù))里設置STM_ISCR.CMPxIRR=1清除中斷,并重復上述第5步操作重新使能中斷,等待中斷觸發(fā)

2.4 配置STM是否在Debug時停止

OCS.SUS[27:24]位域配置為0時,STM計時不會被外部調(diào)試器的操作打斷; OCS.SUS[27:24]位域配置為2, 在使用調(diào)試器Stop程序的時候,STM會同步Stop計時。

4b2bb960-5c00-11ee-939d-92fbcf53809c.png

3. AUTOSAR OS中的配置

3.1 OsHardwareTimerChannels

Davinci的SIP包中硬件相關的配置都是默認配置好,TC37x芯片有三個STM定時器,每個STM有兩個通道(也就每個STM能產(chǎn)生兩個中斷事件)。

4b4847ba-5c00-11ee-939d-92fbcf53809c.png

3.2 OsIsrs中配置STM中斷

OsIsrs中關于STM產(chǎn)生的中斷也是默認配置好的,使用三個STM的Channel0通道。

4b55776e-5c00-11ee-939d-92fbcf53809c.png

3.3 OsCounters引用STMTimer

OsCounsters使用硬件定時器STM,需要引用STM的配置。

4bf247f6-5c00-11ee-939d-92fbcf53809c.png

4. 總結

STM一般用作Os的Timer,如果OS中配置使用了STM,那么應用就不能再使用了。具體怎么使用,那就是Os的靜態(tài)代碼實現(xiàn)的了。作為學習,我們理解了STM的Compare Operation機制就能去閱讀Os是怎么配置寄存器實現(xiàn)Timer功能的了。

4c150426-5c00-11ee-939d-92fbcf53809c.png






審核編輯:劉清

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

    關注

    31

    文章

    5268

    瀏覽量

    119646
  • 比較器
    +關注

    關注

    14

    文章

    1623

    瀏覽量

    106994
  • 定時器
    +關注

    關注

    23

    文章

    3226

    瀏覽量

    114144
  • 計時器
    +關注

    關注

    1

    文章

    416

    瀏覽量

    32572
  • STM
    STM
    +關注

    關注

    1

    文章

    555

    瀏覽量

    42316

原文標題:TC3xx芯片STM介紹

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

收藏 人收藏

    評論

    相關推薦

    NVRAM Manager(NVM)模塊詳細介紹

    存儲協(xié)議棧負責ECU中非易失性數(shù)據(jù)的存儲管理。存儲協(xié)議棧的分享包括NVM、MemI、Ea、Fea、Eep、Fls模塊詳細介紹及代碼分析,具體的項目實戰(zhàn)請關注本號的后續(xù)文章,本篇為NVRAM Manager(NVM)
    發(fā)表于 09-06 09:16 ?6283次閱讀

    NVRAM Manager(NVM)模塊詳細介紹

    存儲協(xié)議棧負責ECU中非易失性數(shù)據(jù)的存儲管理。存儲協(xié)議棧的分享包括NVM、MemI、Ea、Fea、Eep、Fls模塊詳細介紹及代碼分析,具體的項目實戰(zhàn)請關注本號的后續(xù)文章,本篇為NVRAM Manager(NVM)
    發(fā)表于 09-15 11:43 ?5208次閱讀

    Aurix的時鐘功能包括幾個模塊?

    Aurix的時鐘功能包括幾個模塊
    發(fā)表于 02-04 06:36

    調(diào)試AURIX TC397芯片的ASCLIN模塊,為什么lin線電平是5V而不是12V?

    目前調(diào)試AURIX TC397 芯片的ASCLIN模塊,直接使用官方例程AURIX_ASCLIN_LIN_Master_1_KIT_TC397_TFT,將
    發(fā)表于 02-18 08:33

    simulink模塊詳細介紹

    simulink模塊詳細介紹
    發(fā)表于 07-24 22:12

    芯片封裝詳細介紹

    芯片封裝詳細介紹裝配工藝一、DIP雙列直插式封裝DIP(DualIn-LINE PACKAGE)是指采用雙列直插形式封裝的集成電路芯片,絕大多數(shù)中小規(guī)模集成電路(IC)均采用這種封裝形
    發(fā)表于 11-03 07:41

    AURIX TC2xx芯片命名規(guī)則是什么?

    AURIX TC2xx芯片命名規(guī)則是什么?
    發(fā)表于 11-08 06:46

    AURIX Development Studio的使用方法

    本文主要介紹AURIX Development Studio軟件的安裝和使用方法。英飛凌針對Tricore系列單片機推出了一款免費的軟件——AURIX? Development Studio,集成
    發(fā)表于 01-27 07:07

    一文詳細介紹ble藍牙4.2模塊的基本特征和參數(shù)

    一文詳細介紹ble藍牙4.2模塊的基本特征和參數(shù)。目前市面上還沒有 ble 藍牙 5.0 模塊,那我們來簡單介紹
    發(fā)表于 02-09 09:34 ?13次下載

    FM C51數(shù)字收音機源代碼應用和FM芯片模塊資料詳細概述

    本文檔的主要內(nèi)容詳細介紹的是FM C51數(shù)字收音機源代碼應用和FM芯片模塊資料詳細概述。
    發(fā)表于 08-23 08:00 ?14次下載
    FM C51數(shù)字收音機源代碼應用和FM<b class='flag-5'>芯片</b>和<b class='flag-5'>模塊</b>資料<b class='flag-5'>詳細</b>概述

    WT588D-16P語音芯片模塊詳細電路原理圖免費下載

    本文檔的主要內(nèi)容詳細介紹的是WT588D-16P語音芯片模塊詳細電路原理圖免費下載。
    發(fā)表于 09-17 08:00 ?84次下載
    WT588D-16P語音<b class='flag-5'>芯片</b><b class='flag-5'>模塊</b>的<b class='flag-5'>詳細</b>電路原理圖免費下載

    關于AURIX的具體介紹和內(nèi)容分析

    全新的AURIX 系列產(chǎn)品采用65納米嵌入式閃存技術,為要求苛刻的汽車應用環(huán)境提供了卓越的可靠性。此外,雙前端理念在該產(chǎn)品中得到了延續(xù)。與前幾代產(chǎn)品相同的是,客戶同樣可以在安全軟件的配合實現(xiàn)滿足SIL/ ASIL安全標準的方案。
    的頭像 發(fā)表于 09-23 08:40 ?1.9w次閱讀

    AURIX? Development Studio 安裝使用

    AURIX? Development Studio 安裝使用
    發(fā)表于 12-03 16:21 ?14次下載
    <b class='flag-5'>AURIX</b>? Development Studio 安裝使用

    英飛凌AURIX單片機公開課-Aurix Reset & BootROM(1)

    英飛凌AURIX單片機公開課-Aurix Reset & BootROM(1)
    發(fā)表于 12-03 16:21 ?10次下載
    英飛凌<b class='flag-5'>AURIX</b>單片機公開課-<b class='flag-5'>Aurix</b> Reset & BootROM(1)

    TC3xx芯片DMU介紹

    介紹Fls模塊的功能之前,有必要先介紹TC3xx芯片的DMU模塊。本文就來
    的頭像 發(fā)表于 08-31 14:10 ?1677次閱讀
    TC3xx<b class='flag-5'>芯片</b>DMU<b class='flag-5'>介紹</b>