色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

AT32講堂011 | 如何使用雅特力AT32 MCU定時器進行PWM輸入測試

雅特力 AT32 MCU ? 2022-07-02 15:03 ? 次閱讀

AT32定時器說明

定時器框架介紹

定時器由一個16位的自動裝載計數器組成(TMR2和TMR5較為特殊,其自動裝載計數器為32位),它由一個可編程的預分頻器驅動。它適合多種用途,包含測量輸入信號的脈沖寬度(輸入捕獲),或者產生輸出波形(輸出比較、PWM、嵌入死區時間的互補PWM等)。

使用定時器預分頻器和CRM時鐘控制預分頻器,可以實現脈沖寬度和波形周期從幾個微秒到幾個毫秒的調節。

圖1. 通用定時器的框圖7fd2059c-f8a2-11ec-a2f4-dac502259ad0.png

定時器由四個主要部分組成(見圖1)。第一部分時鐘單元。此單元提供定時器的時鐘驅動。第二部分時鐘基單元,此單元提供定時器計數功能。第三部分輸入捕獲,此單元允許輸入信號進入定時器模塊。第四部分輸出比較,此單元將定時器整合后的PWM輸出。

定時器一般配置步驟

1) 時鐘使能。crm_periph_clock_enable(CRM_TMR2_PERIPH_CLOCK, TRUE);

2) 初始化定時器參數,設置自動重裝值,分頻系數,計數方式等。

在庫函數中,定時器的初始化參數是通過初始化函數tmr_base_init()及tmr_cnt_dir_set()實現的:

void tmr_base_init(tmr_type* tmr_x, uint32_t tmr_pr, uint32_t tmr_div);

其中,第一個參數是確定是哪個定時器,這個比較容易理解。第二個參數tmr_pr是定時器計數的周期值。第二個參數tmr_div是定時器的分頻系數。

void tmr_cnt_dir_set(tmr_type *tmr_x, tmr_count_mode_type tmr_cnt_dir);

其中,第一個參數是確定是哪個定時器,第二個參數tmr_cnt_dir為定時器的計數模式(向上,向下,中央對齊)。特別地,增強模式是TMR2和TMR5獨有的功能。tmr_32_bit_function_enable()為增強模式使能(Plus Mode Enable)函數。開啟TMRx增強模式,該模式下TMRx_CVAL,TMRx_PR,TMRx_CxDT由16位擴展為32位。void tmr_32_bit_function_enable(tmr_type *tmr_x, confirm_state new_state);

當需要配置時鐘除頻參數時(注意和 TMR_DIV 的區別,配置濾波、死區時間時需配置該參數),會使用到tmr_clock_source_div_set()函數;當需要配置重復周期寄存器時(高級定時器TMR1/TMR8/TMR15才有),會使用到tmr_repetition_counter_set()函數。本例程不使用這兩個函數,僅做簡要介紹。

void tmr_clock_source_div_set(tmr_type *tmr_x, tmr_clock_division_type tmr_clock_div);void tmr_repetition_counter_set(tmr_type *tmr_x, uint8_t tmr_rpr_value);

3) 設置TMRx_ IDEN允許更新中斷。

void tmr_interrupt_enable(tmr_type *tmr_x, uint32_t tmr_interrupt, confirm_state new_state);這里著重描述參數tmr_interrupt,它是用來指明我們使能的定時器中斷的類型,定時器中斷的類型有很多種,包括更新中斷,觸發中斷,以及輸入捕獲中斷等等。

4) TMRx中斷優先級設置。

調用nvic_irq_enable()函數即可。

5)允許TMRx工作,也就是使能TMRx。

void tmr_counter_enable(tmr_type *tmr_x, confirm_state new_state);

6)編寫中斷服務函數。

規格說明

AT32 PWM高頻測試說明

圖2. 高頻測試原理框圖7fe9e8f6-f8a2-11ec-a2f4-dac502259ad0.png

測試高頻信號時,將高頻信號輸入作為定時器TMR2的時鐘源(如上圖所示),驅動定時器TMR2的 Counter計數,使用另一個定時器做時鐘基準,例如每隔1s,獲取TMR2的Counter變化值,則TMR2的變化值即為高頻信號的頻率值。

使用兩個定時器,其中一個定時器為TMR2(這里選取TMR2的原因在于其可以通過設置TMRx_CTRL1中的PMEN位,開啟TMRx增強模式,該模式下TMRx_CVAL,TMRx_PR,TMRx_CxDT由16位擴展為32位),測試高頻時,有利于Counter計數,不容易產生溢出。這樣做的好處在于,既可以測試高頻信號:最高50MHz(受限于I/O口的最高頻率),且沒有頻繁產生中斷,代碼也有冗余,去處理客戶任務。

使用此方法測試的頻率范圍在:50MHz到1Hz(TMR2的工作頻率為240MHz)。

注意:增強模式是TMR2和TMR5獨有的功能,使用不支持增強模式的其他TMR,或使用不含有增強模式TMR的AT32時,測試頻率會受限。

AT32 PWM低頻測試說明

圖3. 低頻測試原理框圖800862ae-f8a2-11ec-a2f4-dac502259ad0.png

測試低頻信號時,將低頻信號輸入作為定時器TMR2的捕獲輸入(如上圖所示),觸發TMR2的輸入捕獲中斷,利用TMR2工作時鐘除以兩次輸入捕獲之間Counter變化值,即可得到低頻信號頻率值。

這里定時器為TMR2(這里選取TMR2的原因在于其可以通過設置TMRx_CTRL1中的PMEN位,開啟TMRx增強模式,該模式下TMRx_CVAL,TMRx_PR,TMRx_CxDT由16位擴展為32位),有利于低頻測試。

使用此方法測試的最低頻率為:56mHz。(TMR2的工作頻率在240MHz)。

注意:增強模式是TMR2和TMR5獨有的功能,使用不支持增強模式的其他TMR,或使用不含有增強模式TMR的AT32時,測試頻率會受限。

AT32 PWM占空比測試說明

圖4. 占空比測試原理框圖80214698-f8a2-11ec-a2f4-dac502259ad0.png

測試PWM占空比時,利用門控模式(Hang Mode)方式來測量(如上圖所示),將輸入信號同時作為兩個定時器的輸入信號,利用輸入信號來控制定時器的Counter計數。一個定時器在輸入信號的高電平階段計數,另一個定時器在輸入信號的低電平階段計數,使用第三個定時器作為時間基準,例如產生1s的中斷,在中斷內,獲取這段時間內,兩定時器Counter計數值,將兩值做比值即可獲取當前的PWM占空比。

這里定時器為TMR2和TMR5(這里選取TMR2、TMR5的原因在于其可以通過設置TMRx_CTRL1中的PMEN位,開啟TMRx增強模式,該模式下TMRx_CVAL,TMRx_PR,TMRx_CxDT由16位擴展為32位),有利于測試。

這樣做的好處在于,可以測量較高頻率的占空比值,例如10MHz內,誤差在1%以內。且沒有頻繁產生中斷,代碼也有冗余,去處理客戶任務。

注意:增強模式是TMR2和TMR5獨有的功能,使用不支持增強模式的其他TMR,或使用不含有增強模式TMR的AT32時,測試頻率會受限。

PWM Test快速使用方法

硬件資源

1) AT-START-F403A實驗板圖5. AT-START-F403A實驗板804ea930-f8a2-11ec-a2f4-dac502259ad0.png

注意:該Demo是基于AT32F403A的硬件條件,若使用者需要在AT32其他型號上使用,請修改相應配置即可。

pwm input test demo使用

  • 打開pwm input test project源程序,其中,在at32f403a_407_clock.h里面有三個宏定義:

80a99cfa-f8a2-11ec-a2f4-dac502259ad0.png

分別用于測試高頻信號,低頻信號,PWM占空比,打開需要測試的宏【注意:每次只開一個宏】。

打開pwm output源程序,其中,在at32f403a_407_clock.h中有三個宏定義:

80cac254-f8a2-11ec-a2f4-dac502259ad0.png

分別產生高頻信號,低頻信號,PWM占空比用于測試。

AT-START板載的AT-LINK-EZ自帶串口輸出功能,它可以將USART1_TX口PA9輸出至PC。也可使用其他串口工具進行測試結果的輸出。

若測試高頻信號時:

1)打開pwm output源程序宏定義:#define Output_High_Frequency,PA8產生60MHz PWM

(I/O口已超頻工作,可適當降低主頻)。編譯下載到實驗板1。

2) 打開pwm input test程序宏定義:#define high_frequency_test,編譯下載到實驗板2。

3) 將實驗板1的PA8接入到實驗板2的PA0,USART1通過PA9輸出當前的PWM頻率信息

串口打印信息如下:

圖6. 測試高頻信號,串口打印信息

80e901ce-f8a2-11ec-a2f4-dac502259ad0.png

若測試低頻信號時:

1) 打開pwm output源程序宏定義:#define Output_Low_Frequency,PA8產生500mHz PWM。編譯下載到實驗板1。

2) 打開pwm input test程序宏定義:#define low_frequency_test,編譯下載到實驗板2。

3) 將實驗板1的PA8接入到實驗板2的PA0,USART1通過PA9輸出當前的PWM頻率信息。

串口打印信息如下(應將第一個數據舍棄):

圖7. 測試低頻信號,串口打印信息

80f53e12-f8a2-11ec-a2f4-dac502259ad0.png

若測試PWM占空比時,

1) 打開pwm output源程序宏定義:#define Output_PWM_Duty_Ration_10,PA8產生6MHzPWM,占空比為10%。編譯下載到實驗板1。

2) 打開pwm input test程序宏定義:#define duty_ration_test,編譯下載到實驗板2。

3) 將實驗板1的PA8接入到實驗板2的PA0,USART1通過PA9輸出當前的PWM占空比信息。

串口打印信息如下:圖8. 測試 PWM 占空比,串口打印信息8118e56a-f8a2-11ec-a2f4-dac502259ad0.png關于雅特力雅特力科技于2016年成立,是一家致力于推動全球市場32位微控制器(MCU)創新趨勢的芯片設計公司,專注于ARM Cortex-M4/M0+的32位微控制器研發與創新,全系列采用55nm先進工藝及ARM Cortex-M4高效能或M0+低功耗內核,締造M4業界最高主頻288MHz運算效能,并支持工業級別芯片工作溫度范圍(-40°~105°)。雅特力目前已累積相當多元的終端產品成功案例:如微型打印機、掃地機、光流無人機、熱成像儀、激光雷達、工業縫紉機、伺服驅控、電競周邊市場、斷路器、ADAS、T-BOX、數字電源、電動工具等終端設備應用,廣泛地覆蓋5G、物聯網、消費、商務及工控等領域。

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

    關注

    146

    文章

    17316

    瀏覽量

    352237
收藏 人收藏

    評論

    相關推薦

    高級定時器PWM輸入模式的配置方法

    我們將向大家介紹高級定時器的另一個常見應用——PWM輸入模式。在本節課中,我們將先圍繞輸入捕獲模式展開,并重點描述PWM
    的頭像 發表于 11-08 16:48 ?2731次閱讀
    高級<b class='flag-5'>定時器</b><b class='flag-5'>PWM</b><b class='flag-5'>輸入</b>模式的配置方法

    發布高性能電機控制專用MCU

    近日,科技正式推出了其首款高性能電機控制專用MCU——AT32M412/M416。這款MCU專為出行工具、家電及工業控制等應用而設計,
    的頭像 發表于 11-01 18:11 ?943次閱讀

    AT32講堂088 | AT32F402/F405時鐘配置

    介紹如何結合提供的V2.x.x的板級支持包(BSP)來配置時鐘。以下介紹時鐘配置的方法主要分兩種:1、以手動編寫代碼調用BSP中提供的驅動函數接口來進行時鐘配
    的頭像 發表于 09-15 08:08 ?571次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>088 | <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32F402/F405時鐘配置

    AT32講堂087 | AT32 IDE快速入門指南

    新建項目新項目向導AT32ID提供支持MCU的C語言項目模板,方便用戶快速創建項目。菜單欄【File】>【New】>【CProject】。新建項目向導的對話框將出現。在對
    的頭像 發表于 09-15 08:08 ?522次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>087 | <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> IDE快速入門指南

    AT32 MCU的隨機數生成

    概述產品和生態系統安全性的需求比以往任何時候都更加重要。真隨機數是所有安全系統的核心,其質量會影響設計的安全性。因此在沒有內置硬件TRNG的AT32的微控制系列中,如何提高隨機數的有效,來符合
    的頭像 發表于 08-30 12:26 ?676次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>的隨機數生成

    AT32講堂085 | AT32 MCU HICK時鐘校準

    簡介AT32系列MCU內部都有提供適合運行的內部高速時鐘(HICK),其本質就是內置于芯片的RC振蕩。在25℃下,其典型值頻率8MHz的精度由工廠校準到±1%,在-40到105℃,該內部高速時鐘
    的頭像 發表于 08-30 12:26 ?789次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>085 | <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b> HICK時鐘校準

    電機應用快速入門指南

    AT32電機控制算法庫目標電機:三相永磁同步電機(直流無刷電機)控制模式:可執行有位置感測/無位置感測FOC弦波矢量控制可執行有位置感測/無位置感測
    的頭像 發表于 08-30 12:26 ?498次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>電機應用快速入門指南

    攜多款AT32 MCU新品與應用方案亮相2024慕尼黑上海電子展

    7月8日,2024慕尼黑上海電子展electronicaChina在上海新國際博覽中心拉開序幕,作為全球電子行業的盛會,匯聚了國內外眾多優質電子企業,為業界呈現一場前所未有的科技盛宴。攜高性能
    的頭像 發表于 07-09 08:15 ?709次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>攜多款<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>新品與應用方案亮相2024慕尼黑上海電子展

    AT32 MCU通過IEC 60730功能安全認證,為家電產品提供安全保障

    ??近日,AT32MCU安全庫順利通過IEC60730功能安全認證,為家電產品提供安全質量保證。國際公認的測試、檢驗和認證機構SGS為
    的頭像 發表于 05-20 08:15 ?609次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>通過IEC 60730功能安全認證,為家電產品提供安全保障

    發布全新車載型AT32A423系列MCU

    近日發布了全新車載型AT32A423系列MCU,該產品基于ARM?Cortex?-M4內核設計,集成了豐富的外設資源,展現了高效能與多尺寸封裝的雙重優勢。
    的頭像 發表于 05-17 10:38 ?677次閱讀

    AT32F423入門使用指南

    初步環境準備開發環境下載地址:
    的頭像 發表于 05-14 08:15 ?1721次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32F423入門使用指南

    AT32 MCU與SEGGER攜手合作,開發量產事半功倍

    近日,與SEGGER共同宣布J-Link仿真調試與Flasher在線燒錄全面支持AT32
    的頭像 發表于 02-23 10:27 ?448次閱讀

    AT32 MCU與SEGGER攜手合作,開發量產事半功倍

    近日,與SEGGER共同宣布J-Link仿真調試與Flasher在線燒錄全面支持AT32MCU
    的頭像 發表于 02-22 08:13 ?523次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>與SEGGER攜手合作,開發量產事半功倍

    AT32F423時鐘配置

    介紹如何結合提供的V2.x.x的板級支持包(BSP)來配置時鐘。以下介紹時鐘配置的方法主要分兩種:1、以手動編寫代碼調用BSP中提供的驅動函數接口來進行時鐘配
    的頭像 發表于 02-19 13:26 ?646次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32F423時鐘配置

    AT32 Workbench圖形化代碼生成工具,簡化嵌入式開發最佳利器

    嵌入式系統應用市場廣泛,早已遍及日常生活,隨著產品需求復雜度的提升,32位MCU開發難度也隨之增加,如何降低開發成本,縮短開發周期,是所有嵌入式開發人員的共同課題。面對市場競爭日益加劇的情形,
    的頭像 發表于 02-19 13:26 ?620次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> Workbench圖形化代碼生成工具,簡化嵌入式開發最佳利器
    主站蜘蛛池模板: 伊人久久丁香色婷婷啪啪 | 国产99精品视频一区二区三区 | 69式国产真人免费视频 | 美女被艹网站 | 国产偷窥盗摄一区二区 | 永久免费的污视频网站 | 无码天堂亚洲国产AV久久 | 日韩午夜欧美精品一二三四区 | 伊人国产精品 | 国产亚洲精品久久77777 | 视频一区国产精戏刘婷30 | 黄色小说在线 | 99精品视频在线 | 97国产成人精品视频 | 久久99国产亚洲高清观着 | 91传媒蜜桃香蕉在线观看 | 重口味av | 久久日本片精品AAAAA国产 | 灌满内射HP1V1 | 中国字字幕在线播放2019 | 欧美日韩一区二区三区四区 | 99精品成人无码A片观看金桔 | 日本一卡二卡三卡四卡无卡免费播放 | 99热只有这里有精品 | 欧美性爱 先锋影音 | 蜜桃传媒星空传媒在线播放 | 伦理片免费秋霞e | 美女议员被泄裸照 | 中文无码熟妇人妻AV在线 | 亚洲精品一区三区三区在线观看 | 2012中文字幕手机在线 | 色宅男午夜电影网站 | CHINESE熟女老女人HD视频 | 日韩美一区二区 | G国产精品无马 | 国产久青青青青在线观看 | 男女车车的车车网站W98免费 | 领导边摸边吃奶边做爽在线观看 | 亚洲高清国产拍精品影院 | 日韩欧美成人免费中文字幕 | 无码免费视频AAAAAA片草莓 |