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

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

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

3天內不再提示

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

jf_pJlTbmA9 ? 來源:AT32 MCU 雅特力科技 ? 作者:AT32 MCU 雅特力科技 ? 2023-10-27 14:20 ? 次閱讀

AT32定時器說明

定時器框架介紹

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

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

wKgaomUD5J2AfbVOAAHVdlujXF4361.png 圖1. 通用定時器的框圖

定時器由四個主要部分組成(見圖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高頻測試說明

wKgZomUD5J-AbCtPAAHZprjcf1g957.png 圖2. 高頻測試原理框圖

測試高頻信號時,將高頻信號輸入作為定時器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低頻測試說明

wKgaomUD5KOAW64oAAG4lGf0r_Q982.png 圖3. 低頻測試原理框圖

測試低頻信號時,將低頻信號輸入作為定時器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占空比測試說明

wKgZomUD5KSAQwxUAAGDBJEjLRk901.png 圖4. 占空比測試原理框圖

測試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實驗板

wKgaomUD5KeABL8sAAhCZiozhAI326.png 圖5. AT-START-F403A實驗板

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

pwm input test demo使用

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

wKgaomUD5KmATBcAAABDtIOQLts397.png

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

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

wKgZomUD5KqAHYwnAABWgRU8D54336.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頻率信息

串口打印信息如下:

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

若測試低頻信號時:

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頻率信息。

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

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

若測試PWM占空比時,

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

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

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

串口打印信息如下:

wKgZomUD5LGAADGfAAEiiPxfArg063.png 圖8. 測試 PWM 占空比,串口打印信息

來源:AT32 MCU 雅特力科技
免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯系小編進行處理

審核編輯 黃宇

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

    關注

    146

    文章

    17126

    瀏覽量

    350996
  • 測試
    +關注

    關注

    8

    文章

    5275

    瀏覽量

    126600
  • PWM
    PWM
    +關注

    關注

    114

    文章

    5181

    瀏覽量

    213810
  • 定時器
    +關注

    關注

    23

    文章

    3246

    瀏覽量

    114725
收藏 人收藏

    評論

    相關推薦

    AT32 MCU定時器入門指南

    定時器種類有基本定時器、通用定時器、高級控制定時器,以AT32F435xx舉例,下表為各種類型定時器的功能總表。本文主要就
    發表于 11-01 10:26 ?1910次閱讀
    <b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b><b class='flag-5'>定時器</b>入門指南

    FAQ0090 AT32F4xx系列獨立PWM輸出數量

    FAQ0090 AT32F4xx系列獨立PWM輸出數量Questions: AT32F4xx 系列不同封裝型號可以輸出最多獨立 PWM
    發表于 05-11 19:44

    如何使用AT32定時器進行PWM輸入測試

    AT32 PWM Input Test介紹了如何使用AT32 定時器進行PWM
    發表于 10-24 07:28

    AT32 MCU定時器入門指南

    AT32 MCU 定時器入門指南主要就定時器溢出中斷進行基礎講解和案列解析。
    發表于 10-25 07:24

    AT32 MCU QSPI應用說明

    AT32 MCU QSPI Application Note主要介紹以下幾部分內容:1. 基于提供的V2.x.x 的BSP 板級支持包
    發表于 10-25 06:18

    攜高效能AT32 MCU“芯”動亮相ICCAD 2020

    高峰論壇,獲得了業界人士、廣大客戶及眾多媒體的廣泛關注。 (供圖,下同) 在同期舉辦的IP 與 IC 設計專題論壇上,
    的頭像 發表于 12-16 17:12 ?2059次閱讀

    攜高性能AT32 MCU精彩亮相全球MCU生態發展大會

    技術、邊緣AI、新興應用和生態發展等熱門議題。 業務處長陳佳延在大會發表了題為“
    的頭像 發表于 08-30 10:04 ?4517次閱讀
    <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>精彩亮相全球<b class='flag-5'>MCU</b>生態發展大會

    AT32 SPI

    AT32 SPI 科技AT32F415系
    發表于 03-30 10:44 ?491次閱讀

    攜高性能AT32 MCU精彩亮相D Forum 2021 微控制論壇

    AT32高效能MCU平臺–持續布局多元化應用市場”的主題演講。產品與行銷處長杜立博先生在演講中首先介紹了公司近幾年來取得的成績,
    的頭像 發表于 02-24 09:33 ?719次閱讀
    <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>精彩亮相D Forum 2021 微控制<b class='flag-5'>器</b>論壇

    攜高性能AT32 MCU精彩亮相全球MCU生態發展大會

    技術、邊緣AI、新興應用和生態發展等熱門議題。業務處長陳佳延在大會發表了題為“AT3
    的頭像 發表于 02-24 09:31 ?565次閱讀
    <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>精彩亮相全球<b class='flag-5'>MCU</b>生態發展大會

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

    AT32定時器說明定時器框架介紹定時器由一個16位的自動裝載計數組成(TMR2和TMR5較為特殊,其自動裝載計數
    的頭像 發表于 07-02 15:03 ?4124次閱讀
    <b class='flag-5'>AT32</b>講堂011 | 如何使用<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><b class='flag-5'>定時器</b><b class='flag-5'>進行</b><b class='flag-5'>PWM</b><b class='flag-5'>輸入</b><b class='flag-5'>測試</b>

    AT32講堂036 | AT32 MCU定時器入門指南

    AT32定時器概述定時器種類有基本定時器、通用定時器、高級控制定時器,以AT32F435xx舉例
    的頭像 發表于 11-02 14:56 ?5116次閱讀
    <b class='flag-5'>AT32</b>講堂036 | <b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b><b class='flag-5'>定時器</b>入門指南

    AT32 MCU實現高效電機驅動控制與應用

    發展。受邀出席此次會議,產品市場總監林金海發表了題為“AT32
    的頭像 發表于 11-17 08:15 ?834次閱讀
    <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 定時器配置中pr和div的作用

    AT32定時器是51系列單片機中的一種定時器,可以實現多種定時功能。在AT32定時器中,pr和d
    的頭像 發表于 01-08 10:12 ?1297次閱讀

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

    近日,與SEGGER共同宣布J-Link仿真調試與Flasher在線燒錄全面支持AT32
    的頭像 發表于 02-23 10:27 ?409次閱讀
    主站蜘蛛池模板: 含羞草影院免费区| 久久精品免视看国产| 久久精品热线免费| 欧美狂野乱码一二三四区| 香蕉99久久久久成人麻豆| 3dbdsm变态videos高清| 福利片福利一区二区三区| 久99re视频9在线观看| 青青青草国产| 野花韩国在线观看| 纯肉小黄文高H| 久久亚洲AV成人无码动态图| 色久久久综合88一本道| 最近中文字幕完整版免费高清| 高清观看ZSHH96的视频素材| 巨爆乳中文字幕爆乳区| 天美传媒在线观看完整高清| 97色伦亚洲自偷| 国模丽丽啪啪一区二区| 欧美性狂猛bbbbbbxxxx| 亚洲午夜精品A片久久软件 | 久久中文字幕综合不卡一二区| 日本一本二本三区免费免费高清| 一本一本之道高清在线观看| 国产AV无码熟妇人妻麻豆| 蜜桃人妻无码AV天堂三区| 亚洲黄色高清| 俄罗斯人与动ZOZ0| 嫩草亚洲国产精品| 亚洲视频一区在线| 国产精品av| 全肉高H短篇合集| 综合人妻久久一区二区精品| 国产精品视频第一区二区三区| 欧洲videosdesrxotv| 中文字幕绝色少妇性| 国内精品偷拍在线观看| 十九岁在线观看免费完整版电影| 99热最新在线| 美女动态图真人后进式| 亚洲一区精品在线|