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

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

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

3天內不再提示

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

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

1. STM硬件資源

1.1 STM硬件單元

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

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

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

1.2 STM時鐘

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

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

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

1.3 STM中斷源

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

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

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

2. 功能描述

2.1 功能特色

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

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

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

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

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

2.3 STM比較器功能

64 位系統計時器的內容可以與 CMP0 和 CMP1 寄存器中存儲的兩個比較值的內容進行比較。服務請求可以在 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成功后,就會產生Event,Event可用于配置中斷。

2.3.3 STM比較器中斷控制

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

Compare中斷事件產生舉例:

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

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

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

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

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

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

2.4 配置STM是否在Debug時停止

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

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

3. AUTOSAR OS中的配置

3.1 OsHardwareTimerChannels

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

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

3.2 OsIsrs中配置STM中斷

OsIsrs中關于STM產生的中斷也是默認配置好的,使用三個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的靜態代碼實現的了。作為學習,我們理解了STM的Compare Operation機制就能去閱讀Os是怎么配置寄存器實現Timer功能的了。

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






審核編輯:劉清

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

    關注

    31

    文章

    5363

    瀏覽量

    121158
  • 比較器
    +關注

    關注

    14

    文章

    1658

    瀏覽量

    107428
  • 定時器
    +關注

    關注

    23

    文章

    3255

    瀏覽量

    115368
  • 計時器
    +關注

    關注

    1

    文章

    426

    瀏覽量

    32861
  • STM
    STM
    +關注

    關注

    1

    文章

    557

    瀏覽量

    42578

原文標題:TC3xx芯片STM介紹

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

收藏 人收藏

    評論

    相關推薦

    NVRAM Manager(NVM)模塊詳細介紹

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

    NVRAM Manager(NVM)模塊詳細介紹

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

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

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

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

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

    誰能詳細介紹track-and-hold

    在運放和ADC芯片的數據手冊中經常看到track-and-hold,誰能詳細介紹track-and-hold?
    發表于 01-20 09:10

    simulink模塊詳細介紹

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

    12864+紅外解碼的原理、芯片詳細介紹

    這是我根據德飛萊改編的程序,對紅外解碼的原理、芯片詳細介紹和理解、12864的使用、以及對多文件的使用多在里面。 特別是對多文件的使用讓我感覺單片機的編程簡化了很多12864 紅外.rar
    發表于 07-19 03:03

    芯片封裝詳細介紹

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

    AURIX TC2xx芯片命名規則是什么?

    AURIX TC2xx芯片命名規則是什么?
    發表于 11-08 06:46

    AURIX Development Studio的使用方法

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

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

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

    關于AURIX的具體介紹和內容分析

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

    AURIX? Development Studio 安裝使用

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

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

    英飛凌AURIX單片機公開課-Aurix Reset & BootROM(1)
    發表于 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模塊。本文就來
    的頭像 發表于 08-31 14:10 ?2087次閱讀
    TC3xx<b class='flag-5'>芯片</b>DMU<b class='flag-5'>介紹</b>
    百家乐官网鞋业| 优博| bet365 备用网址| 多伦多百家乐官网的玩法技巧和规则| 澳博国际| 瑞士百家乐的玩法技巧和规则 | 百家乐官网21点桌| 玩百家乐保时捷娱乐城| 百家乐官网什么平台好| 爱婴百家乐的玩法技巧和规则| 真人百家乐官网ea平台| 亲朋棋牌官方下载| 百家乐庄闲客户端| 法老王娱乐城| 百家乐微笑玩| 澳门百家乐官网必胜看| 邻水| 百家乐贴士介绍| 百家乐赌场代理合作| 玩百家乐官网犯法| 百家乐官网信誉好的平台| 大发888亚洲游戏 网页| 百家乐解密软件| 成都百家乐官网牌具| 百家乐官网怎么| 百家乐官网足球投注网哪个平台网址测速最好| 太阳城娱乐城去大丰收娱乐| 大发888游戏官方| 百家乐官网真人现场| 一路发娱乐城| 德州扑克在线| 悠哉棋牌游戏大厅| 大发888娱乐城下载新澳博| 百家乐桌游| 百家乐打水策略| 至尊百家乐官网20130402| 百家乐官网玩揽法的论坛| 真人百家乐官网策略| 阳新县| 百家乐官网娱乐城游戏| 信誉好百家乐官网平台|