chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

AS32系列MCU芯片TIM模塊的捕獲和比較

安芯 ? 來(lái)源:jf_29981791 ? 作者:jf_29981791 ? 2025-11-30 09:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、引言

AS32系列MCU芯片集成4個(gè)高級(jí)定時(shí)器,每個(gè)定時(shí)器包含一個(gè)32位自動(dòng)重載計(jì)數(shù)器,該計(jì)數(shù)器由可編程預(yù)分頻器驅(qū)動(dòng),支持遞增、遞減、中心計(jì)數(shù)、編碼器模式等計(jì)數(shù)方式。

高級(jí)定時(shí)器具有6個(gè)獨(dú)立通道,可實(shí)現(xiàn)測(cè)量輸入信號(hào)的脈沖寬度、可編程PWM輸出、帶死區(qū)插入的互補(bǔ)PWM等功能。

二、PWM簡(jiǎn)介

PWM,全稱(chēng)脈沖寬度調(diào)制。它是一種用數(shù)字信號(hào)來(lái)模擬模擬電壓的技術(shù)。簡(jiǎn)單來(lái)說(shuō),就是快速地在“開(kāi)”(高電平)和“關(guān)”(低電平)之間切換,通過(guò)改變一個(gè)周期內(nèi)“開(kāi)”的時(shí)間比例,來(lái)控制平均電壓。

2.1****輸出比較模式

定時(shí)器被配置為PWM模式時(shí),會(huì)用到比較寄存器。

周期: 由自動(dòng)重載寄存器決定。計(jì)數(shù)器從0計(jì)數(shù)到這個(gè)值,然后歸零,這個(gè)過(guò)程就是一個(gè)PWM周期。

占空比: 由比較寄存器決定。它設(shè)定了電平翻轉(zhuǎn)的閾值。

工作流程:

1.計(jì)數(shù)器從0開(kāi)始向上計(jì)數(shù)。

2.當(dāng)計(jì)數(shù)器的值 小于 比較寄存器的值時(shí),輸出高電平(例如)。

3.當(dāng)計(jì)數(shù)器的值 達(dá)到或超過(guò) 比較寄存器的值時(shí),輸出翻轉(zhuǎn)為低電平。

4.計(jì)數(shù)器到達(dá)自動(dòng)重載值后歸零,輸出重新變?yōu)楦唠娖?,開(kāi)始下一個(gè)周期。

通過(guò)修改比較寄存器的值,就改變了高電平在一個(gè)周期內(nèi)持續(xù)的時(shí)間,從而改變了 占空比

輸出比較可用于:

控制LED亮度: 占空比越大,LED越亮。

驅(qū)動(dòng)舵機(jī): 舵機(jī)的角度由PWM脈沖的寬度精確控制。

控制電機(jī)速度: 通過(guò)改變平均電壓來(lái)調(diào)節(jié)直流電機(jī)轉(zhuǎn)速。

音頻輸出: 通過(guò)極高頻率的PWM,經(jīng)過(guò)濾波后可以生成簡(jiǎn)單的音頻信號(hào)。

2.2****輸入捕獲

輸入捕獲功能就像一個(gè)“高速抓拍機(jī)”。當(dāng)外部引腳上發(fā)生一個(gè)特定事件(如上升沿)時(shí),它立刻“抓拍”下當(dāng)前計(jì)數(shù)器的值,并保存起來(lái)。通過(guò)分析兩次“抓拍”的值,我們就能計(jì)算出這個(gè)事件的時(shí)間參
定時(shí)器配置為輸入捕獲模式時(shí),會(huì)用到 捕獲寄存器 。

工作流程:

1.定時(shí)器的計(jì)數(shù)器一直在自由運(yùn)行。

2.當(dāng)輸入引腳上出現(xiàn)第一個(gè)上升沿時(shí),硬件會(huì)立即將計(jì)數(shù)器當(dāng)前的值復(fù)制到捕獲寄存器中,并產(chǎn)生一個(gè)中斷。

3.在中斷服務(wù)程序里,程序讀取這個(gè)捕獲值(記為t1),并同時(shí)將捕獲邊沿設(shè)置為 下降沿 。

4.當(dāng)引腳出現(xiàn)下降沿時(shí),硬件再次將計(jì)數(shù)器的當(dāng)前值捕獲(記為t2)。

5.程序計(jì)算 t2 - t1,這個(gè)差值就是高電平期間計(jì)數(shù)器計(jì)數(shù)的次數(shù),再乘以計(jì)數(shù)周期,就得到了高電平脈沖的精確寬度。

6.同理,可以再捕獲下一個(gè)上升沿,計(jì)算出整個(gè)信號(hào)的周期。

輸入捕獲可用于:

測(cè)量脈沖寬度和頻率: 例如解碼紅外遙控信號(hào)(NEC協(xié)議)、測(cè)量超聲波測(cè)距模塊返回的脈沖寬度。

解碼編碼器信號(hào): 讀取旋轉(zhuǎn)編碼器的位置和速度。

測(cè)量數(shù)字信號(hào)的占空比。

三、軟件設(shè)計(jì)

本文同時(shí)啟用定時(shí)器HTIM1與HTIM5的通道1與通道2。其中,兩個(gè)定時(shí)器的通道1均配置為PWM輸出模式,以生成PWM信號(hào);相應(yīng)的通道2則工作在輸入捕獲模式,并采用中斷驅(qū)動(dòng)方式,以精確測(cè)量PWM信號(hào)的頻率與占空比。最終,測(cè)量數(shù)據(jù)將通過(guò)串口打印輸出。引腳連線如下:PD4->PH9, PC9->PD5

3.1軟件分析

HTIM1初始化函數(shù): void User_TIM1_Config(uint32_t arr, uint32_t psc, uint32_t rcr);

硬件使能與準(zhǔn)備

  1. GPIOD_CLK_ENABLE(); // 使能GPIOD時(shí)鐘
  2. HTIM1_CLK_ENABLE(); // 使能HTIM1時(shí)鐘

定時(shí)器時(shí)基配置

  1. TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up; // 向上計(jì)數(shù)
  2. TIM_TimeBaseInitStructure.TIM_Period = arr; // 設(shè)定周期
  3. TIM_TimeBaseInitStructure.TIM_Prescaler = psc; // 設(shè)定預(yù)分頻
  4. TIM_TimeBaseInitStructure.TIM_RepetitionCounter = rcr; // 重復(fù)計(jì)數(shù)

輸入捕獲配置(通道2

  1. TIM_IC_InitStructure.TIM_Channel = TIM_Channel_2; // 使用通道2
  2. TIM_IC_InitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising; // 上升沿捕獲
  3. TIM_IC_InitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; // 直接輸入
  4. TIM_IC_InitStructure.TIM_ICFilter = 0x0; // 無(wú)濾波器
  5. TIM_IC_InitStructure.TIM_ICPrescaler = 0x0; // 每個(gè)事件都捕獲

中斷與PWM輸出配置

中斷使能:

  1. TIM_IT_Update://定時(shí)器溢出更新中斷
  2. TIM_IT_CC2://通道2捕獲/比較中斷

PWM****輸出配置(通道1):

  1. TIM_OC_InitStructure.TIM_OCMode = TIM_OCMode_PWM1; // PWM模式1
  2. TIM_OC_InitStructure.TIM_Pulse = arr/2; // 初始占空比50%
  3. TIM_OC_InitStructure.TIM_OCPolarity = TIM_OCPolarity_High; // 高電平有效

注:HTIM5配置除GPIO引腳外其余配置通HTIM1,此外HTIM5和HTIM1掛在不同總線下,讀者使用時(shí)需自行計(jì)算外設(shè)時(shí)鐘

在輸入捕獲模式下,當(dāng)相應(yīng)的 ICx 信號(hào)檢測(cè)到跳變沿后,將使用捕獲/比較寄存器(TIMx_CCRx)來(lái)鎖存計(jì)數(shù)器的值。簡(jiǎn)單的說(shuō)就是通過(guò)檢測(cè) TIMx_CHx 上的邊沿信號(hào),在邊沿信號(hào)發(fā)生跳變(比如上升沿/下降沿)的時(shí)候,將當(dāng)前定時(shí)器的值(TIMx_CNT)存放到對(duì)應(yīng)的通道的捕獲/比較寄存(TIMx_CCRx)里面,完成一次捕獲。

從上圖可以看出,t1-t2 時(shí)間就是需要測(cè)量的高電平時(shí)間,假如定時(shí)器工作在向上計(jì)數(shù)模式,測(cè)量方法是:首先設(shè)置定時(shí)器通道 x 為上升沿捕獲,這樣在 t1 時(shí)刻,就會(huì)捕獲到當(dāng)前的 CNT 值,然后立即清零 CNT,并設(shè)置通道 x 為下降沿捕獲,這樣到 t2 時(shí)刻,又會(huì)發(fā)生捕獲事件,得到此時(shí)的 CNT 值,記為 CCRx2。根據(jù)定時(shí)器的計(jì)數(shù)頻率,就可以算出 t1-t2 的時(shí)間,從而得到高電平脈寬。在 t1-t2 時(shí)間內(nèi)可能會(huì)出現(xiàn) N 次定時(shí)器溢出,因此還需要對(duì)定時(shí)器溢出進(jìn)行處理,防止因高電平時(shí)間過(guò)長(zhǎng)發(fā)生溢出導(dǎo)致測(cè)量數(shù)據(jù)不準(zhǔn)。CNT計(jì)數(shù)的次數(shù)等于:N*ARR+CCRx2,有了這個(gè)計(jì)數(shù)次數(shù),再乘以 CNT 的計(jì)數(shù)周期,即可得到 t2-t1 的時(shí)間長(zhǎng)度,即高電平持續(xù)時(shí)間。部分邏輯在中斷函數(shù)中實(shí)現(xiàn):

  1. void TIM1_IRQ_Handler()
  2. {
  3. static uint32_t TIM1_counter=0;
  4. /* Get the value of TIM_CNT*/
  5. if (TIM1_GetComplete==0)
  6. {
  7. if (TIM_GetITStatus(TIM1, TIM_IT_Update)!= RESET)
  8. {
  9. TIM1_Update_counter++;
  10. TIM_ClearITPendingBit(TIM1, TIM_IT_Update);
  11. }
  12. if (TIM_GetITStatus(TIM1, TIM_IT_CC2)!= RESET)
  13. {
  14. TIM1_counter++;
  15. if (TIM1_counter==1)
  16. {
  17. TIM1_Update_counter=0;
  18. TIM1_Value1=TIM_GetCounter(TIM1);
  19. }
  20. if (TIM1_counter==2)
  21. {
  22. TIM1_Value2=TIM_GetCounter(TIM1);
  23. TIM1_counter=0;
  24. TIM1_GetComplete=1;
  25. }
  26. TIM_ClearITPendingBit(TIM1, TIM_IT_CC2);
  27. }
  28. }
  29. else
  30. {
  31. TIM_ClearITPendingBit(TIM1, TIM_IT_Update | TIM_IT_CC2);
  32. }
  33. }

計(jì)算并輸出PWM信號(hào)周期和頻率的函數(shù)

  1. /* Calculate the input frequency and period */
  2. TIM1_Input_Poriod=(10000*TIM1_Update_counter-TIM1_Value1+TIM1_Value2);
  3. TIM1_Input_Poriod = TIM1_Input_Poriod/20;
  4. Printf("TIM1 Input_Poriod: %d usrn", (uint32_t)TIM1_Input_Poriod);
  5. Printf("TIM1 Frequence: %d hzrn", (uint32_t)(1000000/TIM1_Input_Poriod));
  6. TIM1_Update_counter=0;
  7. TIM1_GetComplete=0;
  8. ClearCache();

其中第三行的20 為 HTIM1的時(shí)鐘頻率為20M。

四、開(kāi)發(fā)板驗(yàn)證:

審核編輯 黃宇

聲明:本文內(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)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    147

    文章

    18588

    瀏覽量

    385929
  • MCU芯片
    +關(guān)注

    關(guān)注

    3

    文章

    258

    瀏覽量

    12526
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    AS32系列MCU芯片中CRC計(jì)算模塊的應(yīng)用介紹

    、執(zhí)行器動(dòng)作異常甚至整個(gè)控制系統(tǒng)宕機(jī)。循環(huán)冗余校驗(yàn)(CRC)作為一種高效的錯(cuò)誤檢測(cè)技術(shù),如同數(shù)據(jù)傳輸與存儲(chǔ)過(guò)程中的"安全校驗(yàn)屏障",持續(xù)保障MCU與外部設(shè)備交互數(shù)據(jù)的準(zhǔn)確性。本文將系統(tǒng)闡述國(guó)科安芯推出的AS32系列
    的頭像 發(fā)表于 11-21 15:20 ?1080次閱讀
    <b class='flag-5'>AS32</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b><b class='flag-5'>芯片</b>中CRC計(jì)算<b class='flag-5'>模塊</b>的應(yīng)用介紹

    FreeRTOS 在 AS32系列RISC-V 架構(gòu)MCU電機(jī)驅(qū)動(dòng)中的應(yīng)用實(shí)踐與優(yōu)化

    一、AS32系列 RISC-V MCU與 FreeRTOS 融合的電機(jī)驅(qū)動(dòng)架構(gòu)解析 1.1 硬件層: AS32系列 架構(gòu)的優(yōu)勢(shì) 在電機(jī)驅(qū)動(dòng)系
    的頭像 發(fā)表于 11-13 23:33 ?500次閱讀

    32位MCU芯片國(guó)產(chǎn)品牌(32系列單片機(jī)常用型號(hào)有哪些)

    32位MCU芯片,是指處理器內(nèi)核的數(shù)據(jù)總線寬度為32位的微控制器,相較于8位或16位MCU,具備更強(qiáng)的數(shù)據(jù)處理能力、更高的主頻以及更為豐富的外設(shè)接口。32系列單片機(jī)這類(lèi)
    的頭像 發(fā)表于 11-13 16:31 ?618次閱讀

    基于 AS32X601 微控制器的定時(shí)器模塊TIM)技術(shù)研究與應(yīng)用實(shí)踐

    摘要: 本文全面介紹了國(guó)科安芯推出的AS32X601系列微控制器的定時(shí)器模塊TIM),包括其系統(tǒng)架構(gòu)、功能特性、應(yīng)用場(chǎng)景以及工程實(shí)踐要點(diǎn)。通過(guò)對(duì)芯片的詳細(xì)分析,揭示了其高性能運(yùn)行的基
    的頭像 發(fā)表于 08-19 16:44 ?584次閱讀

    抗輻照MCU芯片:衛(wèi)星互聯(lián)網(wǎng)光模塊選型的關(guān)鍵考量

    和質(zhì)量。而微控制單元(MCU芯片作為光模塊的“大腦”,在控制與管理光模塊的各項(xiàng)功能中發(fā)揮著不可替代的作用。然而,太空環(huán)境復(fù)雜多變,高能粒子輻射會(huì)對(duì)
    的頭像 發(fā)表于 07-23 18:02 ?649次閱讀

    AS32系列MCU調(diào)試教程 SPI調(diào)試的常見(jiàn)問(wèn)題解析

    簡(jiǎn)介 AS32X601內(nèi)置的I2C模塊提供了支持全雙工的同步串行通信。該接口可配置為主機(jī)或從機(jī)模式,配置為主機(jī)模式時(shí),它可為外部從器件提供通信時(shí)鐘(SCK),6個(gè)SPI每個(gè)都支持8個(gè)從機(jī)。 SPI
    的頭像 發(fā)表于 06-27 18:10 ?529次閱讀
    <b class='flag-5'>AS32</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b>調(diào)試教程 SPI調(diào)試的常見(jiàn)問(wèn)題解析

    AS32系列MCU芯片I2C模塊性能解析與調(diào)試

    國(guó)科安芯推出的AS32X601內(nèi)置的I2C模塊提供了符合工業(yè)標(biāo)準(zhǔn)的兩線串行制接口,可用于MCU和外部IIC設(shè)備的通訊。IIC總線使用兩條串行線:串行數(shù)據(jù)線SDA和串行時(shí)鐘線SCL。 IIC接口模塊
    的頭像 發(fā)表于 06-20 16:31 ?734次閱讀
    <b class='flag-5'>AS32</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b><b class='flag-5'>芯片</b>I2C<b class='flag-5'>模塊</b>性能解析與調(diào)試

    第二十二章 TIM——高級(jí)定時(shí)器

    本章介紹了W55MH32的高級(jí)定時(shí)器(TIM1和TIM8),其含時(shí)基單元等,具備輸入捕獲、輸出比較、PWM生成等功能,還支持互補(bǔ)輸出、死區(qū)插入等,適用于工業(yè)電機(jī)控制,也提及相關(guān)配置結(jié)構(gòu)
    的頭像 發(fā)表于 06-20 13:58 ?1375次閱讀
    第二十二章 <b class='flag-5'>TIM</b>——高級(jí)定時(shí)器

    第二十一章 TIM——通用定時(shí)器

    本篇文章介紹了W55MH32的通用定時(shí)器(TIM2~TIM5等),其由16位自動(dòng)裝載計(jì)數(shù)器和可編程預(yù)分頻器構(gòu)成,具備輸入捕獲、輸出比較、PWM生成等功能,還介紹了時(shí)基單元、計(jì)數(shù)器模式等
    的頭像 發(fā)表于 06-20 13:57 ?1356次閱讀
    第二十一章 <b class='flag-5'>TIM</b>——通用定時(shí)器

    一文讀懂熱界面材料:TIM1與TIM2的奇妙世界

    TIM1:芯片的“貼身保鏢”2025ThermalLink在熱界面材料的世界里,TIM1堪稱(chēng)芯片的“貼身保鏢”。它通常緊緊地貼附在芯片(如C
    的頭像 發(fā)表于 05-11 06:41 ?1926次閱讀
    一文讀懂熱界面材料:<b class='flag-5'>TIM</b>1與<b class='flag-5'>TIM</b>2的奇妙世界

    靈動(dòng)微電子MM32MCU的主流型芯片選型

    靈動(dòng)微電子MM32系列32位MCU已經(jīng)在江湖上久負(fù)盛名,以產(chǎn)品平臺(tái)化、系列化、兼容性好、性?xún)r(jià)比高、易于開(kāi)發(fā)著稱(chēng)。MM32MCU分為超值型、主流型、性能型、低功耗、汽車(chē)控制、電機(jī)與電源等
    的頭像 發(fā)表于 05-06 13:32 ?1847次閱讀
    靈動(dòng)微電子MM32<b class='flag-5'>MCU</b>的主流型<b class='flag-5'>芯片</b>選型

    TIM2輸入捕獲,DMA開(kāi)啟中斷傳輸輸入捕獲數(shù)據(jù),程序跑的過(guò)程中,DMA一直中斷,TIM6只觸發(fā)一次中斷,怎么解決?

    TIM2捕獲輸入的數(shù)據(jù),并且通過(guò)DMA存儲(chǔ),在開(kāi)啟DMA中斷同時(shí),TIM6中斷也開(kāi)啟(用于計(jì)時(shí))。但是程序跑的過(guò)程中,DMA一直中斷,TIM6只觸發(fā)一次中斷。
    發(fā)表于 03-14 06:39

    無(wú)法通過(guò)DMA讀取輸入捕獲寄存器的值

    想法:使用HC-SR04超聲波模塊檢測(cè)距離,利用輸入捕獲計(jì)算模塊高電平的時(shí)間與DMA傳輸輸入捕獲寄存器的數(shù)值。 配置描述: 將DMA設(shè)置為如下圖: 故障描述: 如果使用DMA,則數(shù)據(jù)顯
    發(fā)表于 02-10 14:31

    英銳恩MCU芯片科普:?jiǎn)纹瑱C(jī)芯片選型指南

    MCU芯片
    英銳恩科技
    發(fā)布于 :2025年01月17日 18:10:05

    英銳恩MCU芯片科普:?jiǎn)纹瑱C(jī)開(kāi)發(fā)必備的工具有哪些?

    MCU芯片
    英銳恩科技
    發(fā)布于 :2025年01月17日 17:48:07