一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

【S32K 進(jìn)階之旅】如何使用 S32K3 PIT 定時(shí)器實(shí)現(xiàn)精準(zhǔn)延時(shí)?

大大通 ? 2025-03-10 16:33 ? 次閱讀

前言

周期中斷定時(shí)器 (Periodic Interrupt Timer, PIT) 模塊顧名思義,就是通過計(jì)時(shí)行為引發(fā)周期性中斷事件的觸發(fā)器。本文基于 S32K312 開發(fā)板實(shí)現(xiàn)延時(shí)功能,在此之前先簡單介紹下 PIT 的特性。

1. PIT 模塊特性

根據(jù)下圖查表可知,不同型號(hào) S32K3 支持的 PIT 數(shù)量不同。最多有 4 組 PIT 模塊,每組有四路 PIT 通道,每路通道長度為 32-bit,其中 PIT_0 可鏈接兩路定時(shí)器并組成 64-bit lifetimer 生命定時(shí)器

wKgZPGfPi8mAEN96AAEJALhi4OA219.png

PIT 時(shí)鐘源為 AIPS_SLOW_CLK,其中 PIT_0 包含一路 RTI 時(shí)鐘源來自 SIRC_CLK(32KHz),可用于Standby模式下的系統(tǒng)喚醒。

wKgZPGfPi8mAW2OUAAA3wOqMzqI808.png

可用于引發(fā)中斷和觸發(fā)DMA通道

PIT 的每個(gè)通道都可獨(dú)立配置超時(shí)時(shí)限

如下圖所示,PIT 定時(shí)的時(shí)長由預(yù)裝載值決定,所有通道都是遞減計(jì)數(shù)方式,當(dāng)計(jì)時(shí)器計(jì)數(shù)到0會(huì)觸發(fā)定時(shí)器中斷,自動(dòng)重裝載值并立刻進(jìn)入下一個(gè)周期。

wKgZPGfPi8mAPTYGAADujD73XL8970.png

2. PIT 驅(qū)動(dòng)配置

在 S32K3 工程的驅(qū)動(dòng)配置界面添加 PIT 組件

wKgZO2fPi8mAGvhnAAEF3vPc2Us492.png

依次配置各個(gè)功能項(xiàng)

選擇 “GptChannelConfigSet” 選項(xiàng)卡

點(diǎn)擊“加號(hào)”按鈕添加定時(shí)器通道

選擇要配置的 PIT 實(shí)例,我們選用 PIT_0

如果需要啟用 Debug 模式下暫停的功能,那么 “PitFreezeEnable” 項(xiàng)使能

選擇對(duì)應(yīng)的定時(shí)器通道,我們選用通道 0

如果需要 64-bit 定時(shí)器的話,啟用 “ChainMode”,本文示例沒有用到

“PitNotification” 設(shè)置該通道發(fā)生超時(shí)中斷時(shí)調(diào)用的回調(diào)函數(shù)

選擇 “PitChannelMode” 連續(xù)模式或者單次模式,兩種模式都可以,如果選擇單次模式,每次發(fā)生超時(shí)中斷時(shí)會(huì)自動(dòng)關(guān)閉 PIT 通道,再次使用時(shí)需重新啟用該通道

選擇 “GptHwConfiguration” 選項(xiàng)卡,使能 PIT_0_CH_0 通道和中斷

wKgZO2fPi8mAdbtVAAEirSn7OIM521.pngwKgZO2fPi8mARkiWAADU65mQqy4883.png


在 IntCtrl_Ip 組件中添加 PIT 的中斷服務(wù)程序。

如果此處沒有配置,則必須在程序初始化時(shí)安裝 PIT 中斷處理函數(shù)。

wKgZO2fPi8mAA9Q3AACjNF71zkU422.png

更新源代碼,將會(huì)生成以下頭文件和源文件

Pit_Ip_BOARD_InitPeripherals_PBcfg.h

Pit_Ip_Cfg.h

Pit_Cfg_Defines.h

Pit_Ip_BOARD_InitPeripherals_PBcfg.c

wKgZPGfPi8mASSGgAAEIn_LxDY8047.png

下列驅(qū)動(dòng)層文件也會(huì)自動(dòng)添加到工程中

RTD/src/Pit_Ip .c

RTD/include/Pit_Ip.h

RTD/include/Pit_Ip_Types.h

3. 延時(shí)函數(shù)實(shí)現(xiàn)

在文件上方增加 “Pit_Ip.h” 和 “IntCtrl_Ip.h” 頭文件。

添加 PIT_0 實(shí)例的宏定義,方便函數(shù)調(diào)用。

wKgZO2fPi8mAZpqbAAAv3WbmSOw488.png

main 函數(shù)中添加 PIT 和 Interrupt 初始化語句,一定要最先初始化時(shí)鐘,再是其他外設(shè)。這里也配置了一路 GPIO 用于控制開發(fā)板上的 LED,演示延時(shí)效果。

wKgZO2fPi8mALzL_AAD0CLznn34402.png

創(chuàng)建 PIT0_CH0 對(duì)應(yīng)的回調(diào)函數(shù),中斷事件發(fā)生時(shí)可以在此處分配任務(wù)。這里的函數(shù)名要與 “PitNotification” 配置中的名稱保持一致。

wKgZPGfPi8mAJxTjAAAfoUUOrqM572.png

完成上述的操作之后,PIT 定時(shí)器還沒有啟動(dòng)。為了精確的使用延時(shí)函數(shù),我們需要查看當(dāng)前工程中 PIT 的時(shí)鐘源 AIPS_SLOW_CLK 頻率,可以打開圖形化配置界面在時(shí)鐘樹中找到,也可以在 “Clock_Ip_Cfg.c” 源文件中查看。

wKgZO2fPi8qAf13ZAAGK5LC63e8804.pngwKgZPGfPi8qAD3LRAAApCtjTgpc955.png

創(chuàng)建一個(gè)毫秒延時(shí)函數(shù),為了降低庫函數(shù)運(yùn)行延遲,我們直接把命令寫入寄存器。

如下圖所示,將預(yù)裝載值寫入 LDVAL,TCTRL的 TEN 置位開啟定時(shí)器,此時(shí)定時(shí)器開始遞減計(jì)數(shù),循環(huán)檢測(cè) TFLG 寄存器,當(dāng)超時(shí)中斷發(fā)生時(shí) TIF 置位,關(guān)閉 PIT 定時(shí)器通道并清除掛起的中斷,完成一次延時(shí)操作。

我們工程中的 PIT0_CLK 是 30MHz,所以預(yù)裝載值:

count_timer = ( 30000000/1000) * delayMs = 30000 * delayMs

wKgZPGfPi8qATXxNAAC5JBPOuh8701.png

完成上述代碼的編寫之后,就可以在應(yīng)用程序中使用了。

4. 參考文檔

[1] S32K3xx Reference Manual, Rev. 9, 07/2024, NXP

歡迎關(guān)注大大通博主:汽車大牛

了解更多汽車相關(guān)應(yīng)用知識(shí)!

歡迎登錄大聯(lián)大工程師社區(qū)——大大通,提問/評(píng)論,獲取技術(shù)文檔等更多資訊!

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

    關(guān)注

    242

    文章

    23614

    瀏覽量

    669093
  • NXP
    NXP
    +關(guān)注

    關(guān)注

    61

    文章

    1318

    瀏覽量

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

    關(guān)注

    23

    文章

    3272

    瀏覽量

    116711
  • PIT
    PIT
    +關(guān)注

    關(guān)注

    0

    文章

    15

    瀏覽量

    8314
  • s32k
    +關(guān)注

    關(guān)注

    1

    文章

    15

    瀏覽量

    9886
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    恩智浦推出用于汽車微控制單元——S32K3系列

    S32K1系列開始,恩智浦半導(dǎo)體已將Cortex-M7內(nèi)核用于一系列汽車微控制單元(MCU)。新的S32K3系列提高了處理內(nèi)存和性能,并具有鎖步模式(圖1)之類的功能。非對(duì)稱Co
    發(fā)表于 11-29 11:31 ?4694次閱讀

    s32k3每次運(yùn)行到Mcu_DistributePllClock報(bào)錯(cuò)怎么解決?

    剛開始接觸s32k系列產(chǎn)品。s32k3每次運(yùn)行到Mcu_DistributePllClock,都會(huì)報(bào)如下錯(cuò)誤。問題是什么?
    發(fā)表于 03-14 08:38

    s32k3的MBDT需要autosar?

    我們最近決定為我們的項(xiàng)目使用 S32K3,目前正在從 MPC574 切換到 S32K3 開發(fā)套件。一位同事為 s32k3 安裝了 MBDT,并報(bào)告說他還必須安裝一些 autosar 驅(qū)動(dòng)程序
    發(fā)表于 03-27 07:25

    如何設(shè)置S32K3的調(diào)試密碼?

    1、如何設(shè)置S32K3的調(diào)試密碼?阿拉伯?dāng)?shù)字配置調(diào)試密碼后如何解鎖帳號(hào)?1、S32K3怎么配置調(diào)試密碼?2、配置完成測(cè)試密碼如何解鎖?
    發(fā)表于 04-18 09:54

    如何檢查S32K3上的Lpspi+eDMA/PIT/CAN/EEPROM掛起的中斷?

    我正在研究 S32K3 上的 Lpspi+eDMA/PIT/CAN/EEPROM 模塊。有必要檢查中斷是否得到服務(wù)。我不知道哪些寄存表示掛起的中斷。有什么解決辦法嗎?
    發(fā)表于 04-23 09:20

    關(guān)于S32K汽車通用MCU,NXP工程師總結(jié)的10個(gè)超實(shí)用Tips

    S32K144是NXP推出的基于ARM Cortex-M4F內(nèi)核的汽車級(jí)通用MCU系列S32K1xx的第一顆高性能單片機(jī)。本文首先簡要介紹S32K系列MCU的內(nèi)核和片上資源信息,然后列出S3
    發(fā)表于 10-27 09:35 ?121次下載
    關(guān)于<b class='flag-5'>S32K</b>汽車通用MCU,NXP工程師總結(jié)的10個(gè)超實(shí)用Tips

    s32ks32k14x系列(1)——開發(fā)環(huán)境搭建

    文章目錄s32k環(huán)境搭建及使用1. S32K系列MCU開發(fā)環(huán)境2. 軟件安裝包及SDK獲取3. 軟件安裝s32k環(huán)境搭建及使用1. S
    發(fā)表于 12-06 10:36 ?28次下載
    【<b class='flag-5'>s32k</b>】<b class='flag-5'>s32k</b>14x系列(1)——開發(fā)環(huán)境搭建

    S32K3 RTD的PIT定時(shí)器

    S32K3xx 有 3個(gè)PITPIT是周期性中斷定時(shí)器,可用于中斷和觸發(fā)。包括專用實(shí)時(shí)中斷(RTI),它在單獨(dú)的時(shí)鐘上運(yùn)行,可用于系統(tǒng)喚醒
    的頭像 發(fā)表于 01-29 09:56 ?2268次閱讀

    S32K3的周期性中斷定時(shí)器介紹

    S32K3xx 有 3個(gè)PIT,PIT是周期性中斷定時(shí)器,可用于中斷和觸發(fā)。包括專用實(shí)時(shí)中斷(RTI),它在單獨(dú)的時(shí)鐘上運(yùn)行,可用于系統(tǒng)喚醒
    的頭像 發(fā)表于 01-29 09:55 ?3996次閱讀

    S32K的STM系統(tǒng)定時(shí)模塊

    S32K的STM系統(tǒng)定時(shí)模塊
    的頭像 發(fā)表于 01-29 10:18 ?1376次閱讀

    S32K 進(jìn)階之旅】從零開始搭建 S32K 開發(fā)環(huán)境

    作為S32K 系列MCU 的新用戶,入門的準(zhǔn)備工作有哪些呢?一套用起來稱心的開發(fā)工具肯定是必不可少的。本文要搭建的開發(fā)環(huán)境就是2020 年NXP 針對(duì)其通用汽車級(jí)MCU(S32K1xx 系列)推出的最新版本的IDE 和對(duì)應(yīng)版本的SDK。
    的頭像 發(fā)表于 03-17 15:58 ?8474次閱讀
    【<b class='flag-5'>S32K</b> <b class='flag-5'>進(jìn)階</b><b class='flag-5'>之旅</b>】從零開始搭建 <b class='flag-5'>S32K</b> 開發(fā)環(huán)境

    S32K 進(jìn)階之旅】Interrupt 模塊介紹與應(yīng)用

    S32K144 Interrupt介紹; S32DS Interrupt例程簡介與應(yīng)用; 例程代碼解釋以及寄存介紹
    的頭像 發(fā)表于 05-04 15:29 ?3092次閱讀
    【<b class='flag-5'>S32K</b> <b class='flag-5'>進(jìn)階</b><b class='flag-5'>之旅</b>】Interrupt 模塊介紹與應(yīng)用

    基于S32K3的新一代IBCM解決方案

    基于S32K3的新一代IBCM解決方案
    的頭像 發(fā)表于 09-27 15:51 ?1176次閱讀
    基于<b class='flag-5'>S32K3</b>的新一代IBCM解決方案

    S32K3可以直連AWS云服務(wù)啦!

    亞馬遜云服務(wù)(AWS)集成到其廣泛采用的S32K3汽車微控制系列中,以用于車身控制、區(qū)域控制和電氣化應(yīng)用,進(jìn)一步擴(kuò)展對(duì)恩智浦 S32汽車計(jì)算平臺(tái) 上的安全云連接的支持。 S32K3
    的頭像 發(fā)表于 10-20 10:15 ?725次閱讀
    <b class='flag-5'>S32K3</b>可以直連AWS云服務(wù)啦!

    S32K3系列汽車級(jí)MCU應(yīng)用筆記

    電子發(fā)燒友網(wǎng)站提供《S32K3系列汽車級(jí)MCU應(yīng)用筆記.docx》資料免費(fèi)下載
    發(fā)表于 12-30 15:43 ?2次下載