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

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

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

詳細(xì)介紹下Aurix芯片的STM模塊

832065824 ? 來(lái)源:汽車(chē)電子嵌入式 ? 2023-09-26 09:12 ? 次閱讀

1. STM硬件資源

1.1 STM硬件單元

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

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

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

1.2 STM時(shí)鐘

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

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

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

1.3 STM中斷源

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

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

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

2. 功能描述

2.1 功能特色

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

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

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

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

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

如果ARSTDIS.STMxDIS被清除,則Application Reset也會(huì)ResetSTM registers;如果ARSTDIS.STMxDIS沒(méi)有被清除,則Application Reset不會(huì)ResetSTM registers,只有System Reset才會(huì)ResetSTM registers.

2.2 STM計(jì)時(shí)器Timer

STM作為T(mén)imer時(shí),可以提供7個(gè)不同基準(zhǔn)的Timer:

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

STM_TIM1: 基準(zhǔn)為2^4 tick = 16 tick = 320 ns,…

STM_TIM2: 基準(zhǔn)為2^8 tick = 256 tick = 5120 ns = 5.120 us,…

STM_TIM3: 基準(zhǔn)為2^12 tick = 4096 tick = 81920 ns = 81.92 us,…

STM_TIM4: 基準(zhǔn)為2^16 tick = 65536 tick = 1310720 ns= 1.31072 ms,…

STM_TIM5: 基準(zhǔn)為2^20 tick = 1048576 tick = 209715220 ns = 0. 20971522 s,…

STM_TIM6: 基準(zhǔn)為2^32 tick = 4294967296 tick = 85899345920 ns = 85.899345920 s,…

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

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

2.3 STM比較器功能

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

2.3.1 STM比較功能寄存器

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

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

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

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

2.3.2 STM比較器功能示例

如下圖所示,對(duì)應(yīng)的CMCOM的配置為:

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

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

MSIZE0 = 10001B = 17D : Compare Register0從0-bit開(kāi)始的7個(gè)bit用于比較

MSTART0 = 01010B = 10D : 和STM的第10-bit位開(kāi)始的7個(gè)bit比較

CMP1類(lèi)似……

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

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

2.3.3 STM比較器中斷控制

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

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

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

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

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

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

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

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

2.4 配置STM是否在Debug時(shí)停止

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

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

3. AUTOSAR OS中的配置

3.1 OsHardwareTimerChannels

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

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

3.2 OsIsrs中配置STM中斷

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

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

3.3 OsCounters引用STMTimer

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

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

4. 總結(jié)

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

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






審核編輯:劉清

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

    關(guān)注

    31

    文章

    5250

    瀏覽量

    119197
  • 比較器
    +關(guān)注

    關(guān)注

    14

    文章

    1614

    瀏覽量

    106831
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3218

    瀏覽量

    113675
  • 計(jì)時(shí)器
    +關(guān)注

    關(guān)注

    1

    文章

    414

    瀏覽量

    32485
  • STM
    STM
    +關(guān)注

    關(guān)注

    1

    文章

    555

    瀏覽量

    42272

原文標(biāo)題:TC3xx芯片STM介紹

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    NVRAM Manager(NVM)模塊詳細(xì)介紹

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

    NVRAM Manager(NVM)模塊詳細(xì)介紹

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

    Aurix的時(shí)鐘功能包括幾個(gè)模塊?

    Aurix的時(shí)鐘功能包括幾個(gè)模塊
    發(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模塊庫(kù)詳細(xì)介紹

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

    芯片封裝詳細(xì)介紹

    芯片封裝詳細(xì)介紹裝配工藝一、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軟件的安裝和使用方法。英飛凌針對(duì)Tricore系列單片機(jī)推出了一款免費(fèi)的軟件——AURIX? Development Studio,集成
    發(fā)表于 01-27 07:07

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

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

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

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

    WT588D-16P語(yǔ)音芯片模塊詳細(xì)電路原理圖免費(fèi)下載

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

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

    全新的AURIX 系列產(chǎn)品采用65納米嵌入式閃存技術(shù),為要求苛刻的汽車(chē)應(yīng)用環(huán)境提供了卓越的可靠性。此外,雙前端理念在該產(chǎn)品中得到了延續(xù)。與前幾代產(chǎn)品相同的是,客戶(hù)同樣可以在安全軟件的配合實(shí)現(xiàn)滿(mǎn)足SIL/ ASIL安全標(biāo)準(zhǔn)的方案。
    的頭像 發(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單片機(jī)公開(kāi)課-Aurix Reset & BootROM(1)

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

    TC3xx芯片DMU介紹

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