精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

CW32 PWM輸出功能介紹

jf_pJlTbmA9 ? 來源:武漢芯源半導體 ? 作者:武漢芯源半導體 ? 2023-09-27 16:12 ? 次閱讀

脈沖寬度調制(PWM),即“Pulse Width Modulation”的縮寫,簡稱脈寬調制,是在數字電路中達到模擬輸出效果的一種手段,常見應用電機調速,照明燈調光等。

MCU中,主要通過定時器單元來時實現PWM輸出,以CW32L083VxTx為例,LPTIM,GTIM,ATIM都可以輸出PWM信號

低功耗寄存器(LPTIM)中,LPTIM 在連續模式下可以輸出 PWM 波,在單次模式下可以輸出單脈沖波或單次置位波形。連續模式下輸出PWM波的周期和占空比由自動重載寄存器 LPTIM_ARR 和比較寄存器 LPTIM_CMP決定。

通用定時器(GTIM)中,通過設置輸出比較功能,可以產生一個由重載寄存器 GTIMx_ARR 確定頻率、由比較捕獲寄存器 GTIMx_CCRy 確定占空比的PWM信號。每個GTIM對應有4個GTIMx_CCRy寄存器,可輸出4路PWM信號。向 GTIMx_CCMR 寄存器中的 CCyM 位寫入 0xE 或 0xF,能夠獨立地控制每個 CHy 輸出PWM信號的波形。

●設置 GTIMx_CMMR.CCyM 為 0xE,當 GTIMx_CNT >= GTIMx_CCRy 時,CHy 通道輸出高電平,否則輸出低電平。如果 GTIMx_CCRy 中的比較值大于重載寄存器 GTIMx_ARR 的值,則 CHy 通道輸出保持為低電平;如果 GTIMx_CCRy 中的比較值為 0,則 CHy 通道輸出保持為高電平。

●設置 GTIMx_CMMR.CCyM 為 0xF,當 GTIMx_CNT < GTIMx_CCRy 時,CHy 通道輸出高電平,否則輸出低電平。如果 GTIMx_CCRy 中的比較值大于重載寄存器 GTIMx_ARR 的值,則 CHy 通道輸出保持為高電平;如果 GTIMx_CCRy 中的比較值為 0,則 CHy 通道輸出保持為低電平。

下圖是 GTIMx_CMMR.CCyM 為 0xE、GTIMx_ARR 為 0x08 時PWM波形實例圖:

wKgaomUDzMmAW16SAADHibrdpf4990.png

高級定時器(ATIM)中有獨立PWM輸出模式和互補PWM輸出兩種模式。

●獨立PWM模式可獨立輸出6路PWM,PWM的周期和占空比由重載寄存器ATIM_ARR和比較捕獲寄存器ATIM_CHxCCRy寄存器確定。PWM 輸出模式需要設置控制寄存器 ATIM_CR、濾波寄存器 ATIM_FLTR 和死區寄存器 ATIM_DTR,如下表所示:

wKgaomUDzMuAQcIaAAFLeu2Af_c356.png

另外比較通道 CHx 的 A 路可通過控制寄存器 ATIM_CR 的 PWM2S 位域配置為單點比較或雙點比較 工作方式。在單點比較方式下,使用比較捕獲寄存器 ATIM_CHxCCRA 控制比較輸出;在雙點比較方式下,使用 比較捕獲寄存器 ATIM_CHxCCRA 和 ATIM_CHxCCRB 控制比較輸出。比較通道的 B 路只能使用單點比較,由比較 捕獲寄存器 ATIM_CHxCCRB 控制比較輸出。

●互補PWM模式可輸出3對互補輸出的PWM波形,通常用于電機控制。設置控制寄存器 ATIM_CR 的 COMP 位域為 1 選擇互補 PWM 輸出模式,比較輸出通道 CHxA 與通道 CHxB 產生一 對互補 PWM。在互補 PWM 輸出模式下,通道 CHx 的 A 路控制輸出信號, B 路比較捕獲寄存器 CHxCCRB 不再控制 CHxB 輸出,但仍可用作內部控制,比如觸發 ADCDMA

另外互補 PWM 輸出模式,也可通過控制寄存器 ATIM_CR 的 PWM2S 位域選擇單點比較或雙點比較工作方式:單點比 較時使用比較捕獲寄存器 ATIM_CHxCCRA 控制比較輸出;雙點比較時使用比較捕獲寄存器 ATIM_CHxCCRA 和 ATIM_CHxCCRB 控制比較輸出。

實例演示

以CW32L083VxTx的通用定時器GTIM1為例,實現PWM輸出例程:GTIM1的CH3通道(PB08)輸出周期為500uS,占空比遞增遞減循環改變的PWM信號。

1.配置不同的系統時鐘

voidRCC_Configuration(void)
{
/*0.HSI使能并校準*/
RCC_HSI_Enable(RCC_HSIOSC_DIV6);
/*1.設置HCLK和PCLK的分頻系數*/
RCC_HCLKPRS_Config(RCC_HCLK_DIV1);
RCC_PCLKPRS_Config(RCC_PCLK_DIV1);
/*2.使能PLL,通過HSI倍頻到48MHz*/
RCC_PLL_Enable(RCC_PLLSOURCE_HSI,8000000,6);
//PLL輸出頻率48MHz
RCC_PLL_OUT();
///

2.配置GPIO口

voidGPIO_Configuration(void)
{
/*PB08作為GTIM1的CH3PWM輸出*/
__RCC_GPIOB_CLK_ENABLE();
PB08_AFx_GTIM1CH3();
PB08_DIGTAL_ENABLE();
PB08_DIR_OUTPUT();
PB08_PUSHPULL_ENABLE();
}

3.配置中斷使能

voidNVIC_Configuration(void)
{
__disable_irq();
NVIC_EnableIRQ(GTIM1_IRQn);
__enable_irq();
}

4.配置GTIM為PWM輸出功能

voidPWM_OutputConfig(void)
{
GTIM_InitTypeDefGTIM_InitStruct={0};
__RCC_GTIM1_CLK_ENABLE();
GTIM_InitStruct.Mode=GTIM_MODE_TIME;/*!

5.GTIM標志清零函數

voidGTIM_ClearITPendingBit(GTIM_TypeDef*GTIMx,uint32_tGTIM_IT)
{
GTIMx->ICR=~GTIM_IT;
}

6.GTIM 比較值設置函數

voidGTIM_SetCompare3(GTIM_TypeDef*GTIMx,uint32_tValue)
{
GTIMx->CCR3=0x0000FFFF Value;
}

7.GTIM中斷處理函數

voidGTIM1_IRQHandler(void)
{
/*USERCODEBEGIN*/
//中斷每500us進入一次,每50ms改變一次PosWidth
staticuint16_tTimeCnt=0;
GTIM_ClearITPendingBit(CW_GTIM1,GTIM_IT_OV);
if(TimeCnt++>=100)//50ms
{
TimeCnt=0;
if(Dir)
{
PosWidth+=15;//5us
}
else
{
PosWidth-=15;
}
if(PosWidth>=Period*3)
{
Dir=0;
}
if(0==PosWidth)
{
Dir=1;
}
GTIM_SetCompare3(CW_GTIM1,PosWidth);
}
/*USERCODEEND*/
}

8.主函數

uint32_tPeriod=500;//周期,單位us
uint32_tPosWidth=0;//正脈寬,單位us
uint8_tDir=1;//計數方向1增加,0減少

int32_tmain(void)
{
/*系統時鐘配置*/
RCC_Configuration();
/*GPIO配置*/
GPIO_Configuration();
PWM_OutputConfig();
/*NVIC配置*/
NVIC_Configuration();
while(1)
{
/*中斷服務程序見GTIM1_IRQHandler()*/
}

9.實驗演示

系統時鐘由HSI提供,通過PLL倍頻到48MHz。GTIM1經16分頻后,以3MHz的頻率計數,ARR設置為1499,GTIM1的溢出周期為500us。GTIM1每500us進入一次中斷,每50ms改變一次CH3的CCR寄存器的值,即改變PWM的正脈寬,步長為5us,先遞增到ARR,然后遞減到0,如此反復。通過示波器圖像顯示,PB08處的信號波的占空比隨時間進行周期性變化。截取2個波形如下:

wKgZomUDzMyADxsvAAXQ714RA-8104.png

wKgZomUDzM-AKEcRAAXkmkHucmI050.png

來源:武漢芯源半導體

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

審核編輯 黃宇

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

    關注

    31

    文章

    5317

    瀏覽量

    120002
  • PWM
    PWM
    +關注

    關注

    114

    文章

    5141

    瀏覽量

    213390
  • 定時器
    +關注

    關注

    23

    文章

    3237

    瀏覽量

    114467
收藏 人收藏

    評論

    相關推薦

    基于CW32的門禁綜合系統

    基于CW32單片機的門禁綜合系統是一款功能強大的智能門禁解決方案,它提供了三種開鎖方式:密碼開鎖、指紋開鎖和刷卡開鎖,為用戶提供方便、安全的門禁控制。該系統的核心控制器采用了CW32單片機,具備
    的頭像 發表于 12-28 11:43 ?1664次閱讀
    基于<b class='flag-5'>CW32</b>的門禁綜合系統

    CW32移植Free-RTOS】CW32開發者扶持計劃

    CW32配置Free-RTOS全過程,CW32開發者扶持計劃
    的頭像 發表于 04-18 09:38 ?6094次閱讀
    【<b class='flag-5'>CW32</b>移植Free-RTOS】<b class='flag-5'>CW32</b>開發者扶持計劃

    CW32快速開發入門

    CW32快速開發入門
    的頭像 發表于 04-24 18:56 ?1874次閱讀
    <b class='flag-5'>CW32</b>快速開發入門

    CW32開發者扶持計劃#CW32 #芯片

    CW32
    CW32生態社區
    發布于 :2023年05月24日 16:56:14

    【應用筆記】CW32 自舉程序中使用的 ISP 協議

    提供的 ISP 模式,通過 UART 串口方便地實現對 CW32 微控制器片上 FLASH主存儲器的擦除和燒寫。本應用筆記將介紹如何進入 CW32 微控制器 ISP 模式,以及所使用的 ISP 協議,并詳細
    發表于 06-06 13:26

    如何基于CW32系列MCU實現VBAT功能

    介紹了如何基于 CW32 系列 MCU,通過增加簡單的外部電路配合軟件實現 VBAT 功能,在系統電源掉電后仍能保持 RTC 時鐘正常計時,以及如何降低系統功耗,從而延長后備電池的使用壽命。
    發表于 09-15 07:24

    cw32和stm32的區別

    cw32和stm32的區別 CW32和STM32是兩種常見的單片機,被廣泛應用于各種電子設備中。在本文中,我們將深入探討CW32和STM32之間的區別和優劣勢。 1. 硬件性能 硬件性能是衡量單片機
    的頭像 發表于 08-16 11:15 ?3988次閱讀

    cw32和gd32的區別

    cw32和gd32的區別 CW32和GD32是兩種不同的芯片系列,分別由WCH和GigaDevice公司推出,兩者有很多不同之處,下面我們來詳細介紹。 首先從CW32系列開始,
    的頭像 發表于 08-16 11:15 ?1882次閱讀

    基于CW32熱敏電阻采集溫度應用

    基于CW32熱敏電阻采集溫度應用
    的頭像 發表于 10-25 16:45 ?506次閱讀
    基于<b class='flag-5'>CW32</b>熱敏電阻采集溫度應用

    CW32單片機UART基本數據收發功能介紹

    CW32單片機UART基本數據收發功能介紹
    的頭像 發表于 10-24 16:50 ?722次閱讀
    <b class='flag-5'>CW32</b>單片機UART基本數據收發<b class='flag-5'>功能</b><b class='flag-5'>介紹</b>

    CW32的SPI單工模式主從通信介紹

    CW32的SPI單工模式主從通信介紹
    的頭像 發表于 10-24 15:50 ?758次閱讀
    <b class='flag-5'>CW32</b>的SPI單工模式主從通信<b class='flag-5'>介紹</b>

    CW32實時時鐘(RTC)介紹

    CW32實時時鐘(RTC)介紹
    的頭像 發表于 10-24 15:36 ?1091次閱讀
    <b class='flag-5'>CW32</b>實時時鐘(RTC)<b class='flag-5'>介紹</b>

    CW32通用輸入輸出端口詳解

    CW32通用輸入輸出端口詳解
    的頭像 發表于 10-30 17:33 ?1038次閱讀
    <b class='flag-5'>CW32</b>通用輸入<b class='flag-5'>輸出</b>端口詳解

    基于CW32的物聯網應用

    CW32】基于CW32的物聯網應用
    的頭像 發表于 11-02 15:55 ?739次閱讀
    基于<b class='flag-5'>CW32</b>的物聯網應用

    CW32單片機在智能馬桶的應用介紹

    和調節。本文將介紹CW32單片機在智能馬桶的詳細應用。圖:CW32的智能馬桶控制板CW32單片機在智能馬桶的應用介紹1.溫度感應與控制智能馬
    的頭像 發表于 12-20 10:09 ?579次閱讀
    <b class='flag-5'>CW32</b>單片機在智能馬桶的應用<b class='flag-5'>介紹</b>