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

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

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

PWM模塊在計數(shù)過程中可以根據(jù)哪三種配置trigger信號

恒美股份 ? 來源:華芯微特32位MCU ? 作者:華芯微特32位MCU ? 2021-08-09 17:53 ? 次閱讀

SWM201系列所有型號PWM操作均相同,不同型號PWM通道數(shù)可能不同。使用前需使能PWM模塊時鐘。PWM模塊用于實現(xiàn)芯片輸出特定的方波,控制外部元器件,如步進(jìn)電機(jī)等。

計數(shù)器可以通過APB總線讀寫寄存器、和外部硬件同時控制,實現(xiàn)計數(shù)過程的控制。同時,CPU和外部硬件也可以共同實現(xiàn)對輸出PWM信號的控制。

PWM模塊提供了2組(PWM0、PMW1)、8路(PWM0A、PWM0B、PWM0AN、PWM0BN、PWM2A、PWM2B、PWM2AN、PWM2BN)獨立通道,支持邊沿模式、中心對稱模式。

中心對稱模式下,輸出是互補輸出。如PWM0A驅(qū)動PWM0A和PWM0AN兩個輸出信號,兩個信號周期相等、電平值相反,且可設(shè)置死區(qū)。

程序中配置如下(SWM201內(nèi)置PN預(yù)驅(qū)):

static void PWM_Init (void)

{

PWM_InitStructure PWM_initStruct;

PORT_Init(PORTA, PIN5, PORTA_PIN5_PWM1AN, 0);

PORT_Init(PORTA, PIN4, PORTA_PIN4_PWM1BN, 0);

PORT_Init(PORTA, PIN3, PORTA_PIN3_PWM0AN, 0);

PORT_Init(PORTA, PIN2, PORTA_PIN2_PWM1A, 0);

PORT_Init(PORTA, PIN1, PORTA_PIN1_PWM1B, 0);

PORT_Init(PORTA, PIN0, PORTA_PIN0_PWM0A, 0);

//PWM引腳初始化

PWM_initStruct.Mode = PWM_CENTER_ALIGNED;

//中心對齊模式

PWM_initStruct.Clkdiv = 1;

//分頻F_PWM = 60M/1 = 60M

PWM_initStruct.Period =10000;

//周期:60M/6000 = 1KHz,中心對稱模式下頻率//降低到500Hz

PWM_initStruct.HdutyA = 2500; //占空比:2000/10000 = 25%

PWM_initStruct.DeadzoneA = 50; //死區(qū)時間:50/60M

PWM_initStruct.IdleLevelA = 0; //停止?fàn)顟B(tài)下PWMxA輸出電平

PWM_initStruct.IdleLevelAN= 0; //停止?fàn)顟B(tài)下PWMxAN輸出電平

PWM_initStruct.OutputInvA = 0; //PWMxA輸出未取反

PWM_initStruct.OutputInvAN= 0; //PWMxAN輸出未取反

PWM_initStruct.HdutyB = 1500;

PWM_initStruct.DeadzoneB = 50;

PWM_initStruct.IdleLevelB = 0;

PWM_initStruct.IdleLevelBN= 0;

PWM_initStruct.OutputInvB = 0;

PWM_initStruct.OutputInvBN= 0;

PWM_initStruct.UpOvfIE = 0;

PWM_initStruct.DownOvfIE = 0;

PWM_initStruct.UpCmpAIE = 1; //開啟上升沿比較器PWM0A匹配中斷使能

PWM_initStruct.DownCmpAIE = 0;

PWM_initStruct.UpCmpBIE = 0;

PWM_initStruct.DownCmpBIE = 0;

PWM_Init(PWM0, &PWM_initStruct);

PWM_initStruct.UpCmpAIE = 0; //屏蔽PWM1A中斷

PWM_Init(PWM1, &PWM_initStruct);

PWM_Start(PWM0_MSK | PWM1_MSK);

//啟動PWM,開始PWM輸出

PWM_OutMask(PWM1, PWM_CH_B, PWM_EVT_1, 0, PWM_EVT_1, 1);

//挖坑功能設(shè)置:PWM1B和PWM1BN在event1為高時分別輸出0和1

PWM_CmpTrigger(PWM0, 750, PWM_DIR_UP, 40, PWM_TRG_1, 1);

//設(shè)置ADC采樣點(ADC采樣設(shè)置請查看“SWM20x系列電機(jī)框架搭建:ADC篇”)

}

TRIGGER控制:

PWM模塊在計數(shù)過程中,可以根據(jù)輸出三種trigger信號:

01

PWM計數(shù)器比較匹配觸發(fā):PWM計數(shù)器在計數(shù)過程中,當(dāng)計到TRIG_CNT中配置的參考值時,就會產(chǎn)生一個周期的trig信號。根據(jù)配置,可以將該trig信息映射到輸出的trig[7:0]信號上,且輸出寬度可以配置,以4個計數(shù)周期為單位進(jìn)行設(shè)置,最小長度為0個(即不輸出PWM_TRIG,只輸出ADC_TRIG),最大長度為252個計數(shù)當(dāng)重復(fù)計數(shù)功能有效時,trig信號會在最后一次重復(fù)計數(shù)時產(chǎn)生。

02

ADC觸發(fā):在PWM_TRIG輸出寬度的正中間,會輸出一個pclk的ADC_TRIG信號,用于觸發(fā)ADC采樣。

03

PWM計數(shù)器溢出觸發(fā):當(dāng)計數(shù)器溢出TRIG使能,且計數(shù)器發(fā)生向上溢出或向下溢出時,會產(chǎn)生一個pclk周期的TRIG信號,與自定義TRIG一致,可以根據(jù)配置將該trig信息映射到輸出的trig[7:0]信號上。TRIGGER控制波形如下圖所示:

觸發(fā)SARADC采樣:

PWM在任意模式下可以觸發(fā)ADC,每一路輸出獨立的ADC觸發(fā)信號,且每個周期可以設(shè)置1個ADC觸發(fā)點,每個PWM只輸出一個觸發(fā)信號,不區(qū)分A.B分別觸發(fā)。將SARADC配置寄存器(CTRL)中TRIG方式設(shè)置為PWM觸發(fā)。每路PWM對應(yīng)1個ADTRG值,當(dāng)PWM計數(shù)到指定值,可觸發(fā)ADC進(jìn)行采樣。具體配置方式如下:

配置PWMx路觸發(fā)ADC控制寄存器,設(shè)置觸發(fā)點是否有效以及PWM觸發(fā)ADC時間點。

配置ADC的觸發(fā)方式為PWM觸發(fā)

使能PWM模塊EN位,當(dāng)計數(shù)值到達(dá)MATCH設(shè)置值時,觸發(fā)ADC配置寄存器(CTRL)中選中的通道(CHx)進(jìn)行采樣,采樣完成后,將產(chǎn)生EOC標(biāo)志位,并產(chǎn)生ADC中斷。

編輯:jq

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

    關(guān)注

    68

    文章

    10890

    瀏覽量

    212430
  • PWM
    PWM
    +關(guān)注

    關(guān)注

    114

    文章

    5196

    瀏覽量

    214382
  • ADC采樣
    +關(guān)注

    關(guān)注

    0

    文章

    134

    瀏覽量

    12877

原文標(biāo)題:SWM20x系列電機(jī)框架搭建:PWM(電機(jī))篇

文章出處:【微信號:gh_737991c81b3d,微信公眾號:恒美股份】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    示波器的三種觸發(fā)模式

    模式進(jìn)行比較,并介紹它們的實操特點和適用場景。 1. 單次觸發(fā)(Single Trigger) 單次觸發(fā)模式是示波器的一特殊觸發(fā)模式,通常用于捕獲一次性的事件,適用于不規(guī)則或偶發(fā)信號的捕捉。 工作原理:
    的頭像 發(fā)表于 01-07 11:04 ?165次閱讀
    示波器的<b class='flag-5'>三種</b>觸發(fā)模式

    微控制器PWM模塊介紹

    : 一、PWM模塊的工作原理 PWM模塊的工作原理基于脈沖寬度調(diào)制技術(shù),通過控制信號脈沖的持續(xù)時間和頻率來產(chǎn)生一
    的頭像 發(fā)表于 11-28 17:21 ?773次閱讀

    什么是PID調(diào)節(jié)器的三種模式

    PID調(diào)節(jié)器是一廣泛應(yīng)用于工業(yè)控制系統(tǒng)的控制器,它根據(jù)給定的參考值(設(shè)定值)和實際測量值(過程變量)之間的偏差來調(diào)整控制信號,以達(dá)到控制
    的頭像 發(fā)表于 11-06 10:38 ?595次閱讀

    放大電路的失真分為三種

    放大電路的失真是指放大器輸出信號與輸入信號相比,出現(xiàn)了形狀、幅度或相位上的偏差。失真可以分為多種類型,但最常見的三種是諧波失真、互調(diào)失真和截止失真。 1. 諧波失真(Harmonic
    的頭像 發(fā)表于 10-15 11:09 ?1910次閱讀

    基本放大電路有三種

    基本放大電路是電子電路至關(guān)重要的組成部分,它能夠?qū)⑤斎?b class='flag-5'>信號放大到所需的電平,以便后續(xù)電路進(jìn)行處理。電子工程,基本放大電路主要有三種形式
    的頭像 發(fā)表于 10-15 11:07 ?1898次閱讀

    電路電阻的連接形式有三種

    電路,電阻的連接形式主要有三種:串聯(lián)、并聯(lián)和混聯(lián)。這三種連接方式電路設(shè)計和應(yīng)用具有重要的
    的頭像 發(fā)表于 08-20 10:43 ?2533次閱讀

    常用的pwm跟蹤控制方式是三種

    PWM(脈寬調(diào)制)跟蹤控制是一廣泛應(yīng)用于電機(jī)控制、電源管理、通信等領(lǐng)域的技術(shù)。它通過調(diào)整脈沖的寬度來控制輸出信號的占空比,從而實現(xiàn)對系統(tǒng)的精確控制。常用的PWM跟蹤控制方式主要有
    的頭像 發(fā)表于 08-14 10:34 ?1487次閱讀

    pwm逆變電路的控制方法有三種

    的大小。本文將介紹PWM逆變電路的三種控制方法:正弦波PWM控制、空間矢量PWM控制和預(yù)測控制。 正弦波PWM控制 正弦波
    的頭像 發(fā)表于 08-08 15:04 ?1361次閱讀

    放大電路的三種組態(tài)可以放大什么

    放大電路是電子學(xué)中非常重要的組成部分,它們可以將輸入信號的幅度放大,以滿足各種應(yīng)用的需求。放大電路的三種基本組態(tài)包括共射放大電路、共集放大電路和共基放大電路。每種組態(tài)都有其特定的應(yīng)用和特點。以下
    的頭像 發(fā)表于 07-09 14:31 ?1351次閱讀

    菱fx系列plc擴(kuò)展模塊配置軟件的作用

    應(yīng)用,為了滿足不同的控制需求,通常需要對PLC進(jìn)行擴(kuò)展,以增加更多的輸入/輸出點、特殊功能模塊等。菱FX系列PLC提供了豐富的擴(kuò)展模塊,可以
    的頭像 發(fā)表于 06-20 10:21 ?1357次閱讀

    信號調(diào)制的三種基本方法

    引言 通信系統(tǒng)信號調(diào)制是一將低頻信號轉(zhuǎn)換為適合在信道傳輸?shù)母哳l
    的頭像 發(fā)表于 06-03 09:38 ?4563次閱讀

    FPGA開發(fā)過程中配置全局時鐘需要注意哪些問題

    FPGA開發(fā)過程中,配置全局時鐘是一個至關(guān)重要的步驟,它直接影響到整個系統(tǒng)的時序和性能。以下是配置全局時鐘時需要注意的一些關(guān)鍵問題: 時鐘抖動和延遲 :全局時鐘資源的設(shè)計目標(biāo)是實現(xiàn)最
    發(fā)表于 04-28 09:43

    IGBT模塊封裝過程中的技術(shù)詳解

    IGBT 模塊封裝采用了膠體隔離技術(shù),防止運行過程中發(fā)生爆炸;第二是電極結(jié)構(gòu)采用了彈簧結(jié)構(gòu),可以緩解安裝過程中對基板上形成開裂,造成基板的裂紋;第
    發(fā)表于 04-02 11:12 ?1190次閱讀
    IGBT<b class='flag-5'>模塊</b>封裝<b class='flag-5'>過程中</b>的技術(shù)詳解

    verilog端口類型有三種

    Verilog ,端口類型有三種:輸入端口(input)、輸出端口(output)和雙向端口(inout)。 輸入端口(input)用于接收來自其他模塊
    的頭像 發(fā)表于 02-23 10:28 ?2210次閱讀

    邊緣計算分為三種類型?邊緣計算這項技術(shù)可以應(yīng)用在哪些領(lǐng)域?

    邊緣計算分為三種類型?邊緣計算這項技術(shù)可以應(yīng)用在哪些領(lǐng)域? 邊緣計算是一分布式計算的模式,它將數(shù)據(jù)處理和存儲的功能從傳統(tǒng)的集中式云計算
    的頭像 發(fā)表于 02-06 14:38 ?1511次閱讀