女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

PWM波的產生過程?如何觸發ADC呢?

冬至子 ? 來源:龍一的編程life ? 作者:龍憨憨 ? 2023-11-08 10:42 ? 次閱讀

PWM脈寬調制技術在控制領域中是非常常用的技術,電機控制電源控制等都是通過PWM進行驅動IGBTMOSFET等開關器件進行相關控制的。

目前所在公司的項目中需要用到PWM驅動功率放大電路,用以控制電流輸出,同時也是通過EPWM觸發ADC進行采樣電流,故此進行學習總結。

本次總結主要有以下內容:

1、PWM波的產生過程;

2、如何觸發ADC?

1、PWM的介紹

1.1 時鐘

我一直在強調時鐘的重要性,因為沒有時鐘,芯片的很多外設模塊是無法工作的,在你編程的過程中可能就會遇到因為沒有使能時鐘導致模塊無法工作的情況,所以當你的程序其他配置沒有問題,卻無法進行具體的寄存器操作時,你應該考慮查看是否打開了時鐘。

EPWM的時基模塊工作需要的時鐘信號,通過對系統時鐘的分頻得到時基時鐘(紅圈1)進行設置,主要是通過 時基控制寄存器(TBCTL) 的高速時基時鐘分頻位 **HSPCLKDIV[9:7] 和時基時鐘分頻位 CLKDIV[12:10] **進行分頻設置,通常設置為 1分頻 ,即 時基時鐘為系統時鐘

TBCLK = SYSCLKOUT / (HSPCLKDIV * CLKDIV)

// 設置TBCLK
EPwm1Regs.TBCTL.bit.HSPCLKDIV = 0x0U;
EPwm1Regs.TBCTL.bit.CLKDIV = 0x0U;

圖片

注意: TBCLK時基時鐘是否使能,EPWM模塊時鐘是否使能(如下圖Figure1),對TBCLK時基時鐘以及使用的EPWM1模塊時鐘進行使能,在程序中(DSP2833x_SysCtrl.c中)置1,具體程序如下所示:

SysCtrlRegs.PCLKCR1.bit.EPWM1ENCLK = 1; // ePWM1
SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1; // Enable TBCLK within the ePWM

1.2 ePWM結構及組成單元

F28335的PWM模塊是加強模塊,這個加強表現在它各個ePWM的獨立性,每個ePWM小模塊都由兩路ePWM輸出組成,分別為ePWMxA和ePWMxB,這一對PWM輸出,可以配置成三種輸出:

  • 兩路獨立的單邊沿PWM輸出;
  • 兩路獨立的但互相對稱的雙邊沿PWM輸出;
  • 一對雙邊沿非對稱的PWM輸出;

DSP28335共有18路PWM,6組 * 2 EPWM(A、B)+ 6路APWM,結構圖如下所示。

圖片

每組EPWM包括7個模塊:

時基模塊TB

比較計數模塊CC

動作模塊AQ

死區模塊DB

斬波模塊DC

事件觸發模塊ET

錯誤聯防模塊TZ

每個模塊各自作用如下:

TB :為輸出PWM產生始終基準TBCLK,配置PWM的時鐘基準計數器TBCTR,設置計數器的計數模式,配置硬件或軟件同步時鐘基準計數器,確定ePWM同步信號輸出源;

CC:確定PWM占空比,以及ePWM輸出高低電平切換時間;

AQ:確定計數器和比較寄存器匹配時產生動作,即ePWM 高低電平的切換;

DB:配置輸出PWM上升沿或下降沿延時時間,也可以將A、B兩通道配置成互補模式,我做的逆變器就是將ePWM配置成互補模式。死區時間可以編程確定;

PC:產生高頻PWM載波信號;

TZ:當外部有錯誤信號產生時,對PWM輸出進行相應處理,比如全置高,或拉低,或置為高阻態,從而起到保護作用。當然該功能也可以通過軟件強制產生;

EZ:使能ePWM中斷,使能ePWM觸發ADC采樣,確定事件產生觸發的速度和清除相關事件標志位。

ePWM模塊的7個模塊就像一條生產線,一級一級的經過,但DSP更高級,可以實現通過配置,使得ePWM只經過我選擇的生產線,沒有被選擇上的就不要經過。

例如,死區控制模塊可以需要也可以不需要,這就看實際系統需不需要了。在實際使用ePWM時,正常的發出PWM波往往只要要配置TB、CC、AQ、DB、ET五個模塊。

上面講了那么多,那PWM波到底是如何產生的呢?接下來就開始講解這個問題。

2、PWM的產生

2.1 時基模塊-設置PWM產生的三種模式

PWM產生的三種模式分別為:up模式、down模式、up-down模式。

PWM產生的本質是信號通過與載波比較,根據設置輸出高低電平,占空比由一個周期內高電平的時間決定。 在實際實現上,載波通過計數器計數得到,其周期值TBPRD即為載波計數最大值(峰值),信號是根據具體需求經過PI控制器輸出得到,與載波進行比較后產生相應占空比。如up-down模式,如下圖1-2-1所示。

圖片

2.2 周期和頻率的計算

1、up和down模式是向上計數和向下計數,其周期和頻率的計算公式一致,為:

Tpwm = (TBPRD+1)* t_TBCLK

Fpwm= 1 / Tpwm

2、up-down模式是先向上計數后向下計數,其周期和頻率的計算公式為:

Tpwm = 2 * TBPRD*t_TBCLK

Fpwm= 1 / Tpwm

在實際開發中,一般選用up-down模式,較前兩種模式優勢在于增長平滑,無較大突變,更適合實際應用。

實際設置PWM的頻率為10KHz,TBCLK為150MHz,則可計算出周期為:

PRD = 150 000 000 / (10 000 * 2)= 7500

2.3 計數比較模塊-比較事件產生,決定占空比

計數比較模塊主要是通過時基計數的值與比較寄存器CMPA、CMPB進行比較,比如圖1-2-1的值3900設置為CMPA的值,根據設置,當計數值大于或小于CMPA的值,AQ進行相應動作(置高或置低),就能得到相應占空比的PWM波。

比較主要有四種情況:

1、TBCTR = CMPA,PWM根據AQ動作;

2、TBCTR = CMPB,PWM根據AQ動作;

3、TBCTR = PRD,PWM根據AQ動作;

4、TBCTR = 0,PWM根據AQ動作;

注意: up或down模式只比較一次,而up-down模式比較兩次。

實際過程中,比較的這個值時不斷變化的,根據具體需求(參考值)通過PID控制器在不斷調整,輸出不同占空比的PWM,達到控制的目的。

2.3 動作模塊AQ–根據比較結果動作,決定占空比

動作模塊AQ根據動作模塊寄存器AQCTLA、AQCTLB的設置對比較事件進行動作。

主要有四種動作模式:

1、不動作

2、置低

3、置高

4、翻轉

動作模塊事件優先級

不同模式下的動作事件是有優先級的,up-down模式在向上計數和向下計數的過程中,事件優先級不一樣。所有模式下,軟件強制事件的優先級最高。

至此,PWM的產生基本得到解答。具體是:

1、設置TBCLK時鐘以及模塊時鐘使能;
2、選擇up-down模式,確定頻率,得到周期值;
3、確定比較事件以及動作模式,決定PWM的占空比,即可得到PWM波。=

3、如何觸發ADC?

這里主要講解一下思路。

觸發ADC的事件主要涉及到PWM模塊的事件觸發模塊ET,根據時基模塊和計數比較模塊輸入的比較事件以及CTR_Dir時基計數方向產生相應事件,設置事件觸發選擇寄存器ETSEL,選擇觸發ADC啟動轉換或進行中斷請求。

圖片

ADC啟動轉換觸發信號為EPWMxSOCA和EPWMxSOCB,根據ADC的設置選擇某個信號或兩個信號。

觸發ADC啟動轉換的具體設置為:

1、設置哪種觸發事件,
TBCTR = CMPA
TBCTR = CMPB
TBCTR = PRD
TBCTR = 0
2、什么事件模式下情況觸發
每個事件、每2個事件、每3個事件,一般是設置為每個事件觸發ADC啟動轉換。

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

    關注

    102

    文章

    3927

    瀏覽量

    133842
  • 寄存器
    +關注

    關注

    31

    文章

    5421

    瀏覽量

    123307
  • 逆變器
    +關注

    關注

    293

    文章

    4857

    瀏覽量

    210050
  • ADC驅動器
    +關注

    關注

    0

    文章

    35

    瀏覽量

    14122
  • PWM波
    +關注

    關注

    0

    文章

    100

    瀏覽量

    17254
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    TTL和CMOS中△I噪聲的產生過程與基本特點分析

    隨著數字電路向高集成度、高性能、高速度、低工作電壓、低功耗等方向發展,數字電路中的△I噪聲正逐步成為數字系統的主要噪聲源之一,因此研究△I噪聲的產生過程與基本特點,對認識△I噪聲特性進而抑制△I噪聲具有實際意義。
    發表于 09-19 09:52 ?5571次閱讀
    TTL和CMOS中△I噪聲的<b class='flag-5'>產生過程</b>與基本特點分析

    STM32L151定時器上升沿觸發ADC采樣,為什么每個PWM周期內會觸發第二次采樣?

    PWM低電平的時候,不知道為什么每個PWM周期內會觸發第二次采樣? 此外,如何確保ADC采樣到PWM正脈沖的中間時刻
    發表于 05-24 07:37

    PWM產生的方法及原理

    如休利用51單片機的來產生PWM,用以控制led的亮度變化,在網上看過一些程序,有些地方不大明白,程序是這樣的:#includeunsigned char cycle,pwm;***
    發表于 07-14 12:24

    ADCPWM觸發力矩困難

    電流具有三角的形式。因此,對于反饋控制,在其中間值即PWM信號的中間感測電流是重要的。由于PWM占空比為50%(應該是0A的電流)時沒有得到預期的結果,所以我認為觸發
    發表于 03-13 08:59

    用定時器TIM產生PWM來控制ADC的采樣頻率

    實現的功能:用定時器TIM產生PWM來控制ADC的采樣頻率,在ADC中斷中將采樣值直接通過DAC輸出。本文主要展示
    發表于 08-10 06:43

    怎么知道產生PWM波形對不對

    前言在做嵌入式開發的過程中,不可避免的會用到PWM的功能,但是我們怎么知道產生PWM波形對不對,這個時候可能就需要一臺示波器來測量一下了
    發表于 08-16 09:06

    TMS320F28335時鐘電路的主頻時鐘產生過程是怎樣的

    TMS320F28335時鐘電路的主頻時鐘產生過程是怎樣的?產生DSP所需要的時鐘共幾種方式
    發表于 01-17 08:07

    如何實現定時器TIM3輸出PWM觸發ADC采樣

    STM32F4定時器系統包括哪些部分?如何實現定時器TIM3輸出PWM觸發ADC采樣
    發表于 01-25 06:34

    pwm產生驅動電機

    一.pwm產生驅動電機,舵機的運動,肯定要用到pwm,所以我們先來分享一下如何來產生
    發表于 02-15 06:13

    如何使用PWM觸發ADCPWM剎車功能來阻止PWM輸出

    應用程序:本文件描述如何使用 PWM 觸發 ADCPWM 剎車功能來阻止 PWM 輸出 。 BSP 版本:Mini51DE系列 BS
    發表于 08-23 07:31

    如何使用PWM觸發ADCPWM剎車功能來阻止PWM輸出

    應用程序:本文件描述如何使用 PWM 觸發 ADCPWM 剎車功能來阻止 PWM 輸出 。 BSP 版本:Mini51DE系列 BS
    發表于 08-30 06:17

    PWM產生電路圖

    高精度PWM產生電路圖 圖6-54是高精度PWM產生電路。該電路采用數宇數據,以1%步進
    發表于 03-11 22:13 ?8500次閱讀
    <b class='flag-5'>PWM</b><b class='flag-5'>波</b><b class='flag-5'>產生</b>電路圖

    AVR產生PWM實例程序

    AVR單片機產生PWM實例程序
    發表于 12-29 20:38 ?5次下載

    介紹開關電源紋波的產生過程資料下載

    電子發燒友網為你提供介紹開關電源紋波的產生過程資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發表于 04-26 08:44 ?6次下載
    介紹開關電源紋波的<b class='flag-5'>產生過程</b>資料下載

    PWM硬件間隔觸發ADC

    PWM硬件間隔觸發ADC(新型電源技術課程答案)-在各種應用場景中,比如電機,電源,變頻器等應用中,ADC的采樣點會有很嚴格的要求,如果采樣點選擇錯誤,會給整個控制系統造成嚴重后果,本
    發表于 08-04 18:00 ?59次下載
    <b class='flag-5'>PWM</b>硬件間隔<b class='flag-5'>觸發</b><b class='flag-5'>ADC</b>