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

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

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

PWM的原理是什么?調(diào)制器是怎樣實(shí)現(xiàn)的?

GReq_mcu168 ? 2018-07-23 16:49 ? 次閱讀

一、 PWM(脈沖寬度調(diào)制Pulse Width Modulation)原理:脈沖寬度調(diào)制波通常由一列占空比不同的矩形脈沖構(gòu)成,其占空比與信號(hào)的瞬時(shí)采樣值成比例。圖1所示為脈沖寬度調(diào)制系統(tǒng)的原理框圖和波形圖。該系統(tǒng)有一個(gè)比較器和一個(gè)周期為T(mén)s的鋸齒波發(fā)生器組成。語(yǔ)音信號(hào)如果大于鋸齒波信號(hào),比較器輸出正常數(shù)A,否則輸出0。因此,從圖1中可以看出,比較器輸出一列下降沿調(diào)制的脈沖寬度調(diào)制波。

PWM的原理是什么?調(diào)制器是怎樣實(shí)現(xiàn)的?

PWM的原理是什么?調(diào)制器是怎樣實(shí)現(xiàn)的?

其中,x{t}是離散化的語(yǔ)音信號(hào);Ts是采樣周期;o4YBAFtVmAyAdQrvAAABMD3BCnQ345.jpgo4YBAFtVmAyAOTqZAAABOpOZ0gs060.jpgp(t)可以表示為: PWM的原理是什么?調(diào)制器是怎樣實(shí)現(xiàn)的?o4YBAFtVmAyAFGLcAAAItitjsJc396.jpgo4YBAFtVmA2Ad228AAACV2B9yv4912.jpg

二、 數(shù)字脈沖寬度調(diào)制器的實(shí)現(xiàn):實(shí)現(xiàn)數(shù)字脈沖寬度調(diào)制器的基本思想?yún)⒖磮D2。

PWM的原理是什么?調(diào)制器是怎樣實(shí)現(xiàn)的?

圖中,在時(shí)鐘脈沖的作用下,循環(huán)計(jì)數(shù)器的5位輸出逐次增大。5位數(shù)字調(diào)制信號(hào)用一個(gè)寄存器來(lái)控制,不斷于循環(huán)計(jì)數(shù)器的輸出進(jìn)行比較,當(dāng)調(diào)制信號(hào)大于循環(huán)計(jì)數(shù)器的輸出時(shí),比較器輸出高電平,否則輸出低電平。循環(huán)計(jì)數(shù)器循環(huán)一個(gè)周期后,向寄存器發(fā)出一個(gè)使能信號(hào)EN,寄存器送入下一組數(shù)據(jù)。在每一個(gè)計(jì)數(shù)器計(jì)數(shù)周期,由于輸入的調(diào)制信號(hào)的大小不同,比較器輸出端輸出的高電平個(gè)數(shù)不一樣,因而產(chǎn)生出占空比不同的脈沖寬度調(diào)制波。

PWM的原理是什么?調(diào)制器是怎樣實(shí)現(xiàn)的?

為了使矩形脈沖的中心近似在t=kTs處,計(jì)數(shù)器所產(chǎn)生的數(shù)字碼不是由小到大或由大到小順序變化,而是將數(shù)據(jù)分成偶數(shù)序列和奇數(shù)序列,在一個(gè)計(jì)數(shù)周期,偶數(shù)序列由小變大,直到最大值,然后變?yōu)閷?duì)奇數(shù)序列計(jì)數(shù),變化為由大到小。如圖3例子。

奇偶序列的產(chǎn)生方法是將計(jì)數(shù)器的最后一位作為比較數(shù)據(jù)的最低位,在一個(gè)計(jì)數(shù)周期內(nèi),前半個(gè)周期計(jì)數(shù)器輸出最低位為0,其他高位逐次增大,則產(chǎn)生的數(shù)據(jù)即為偶數(shù)序列;后半個(gè)周期輸出最低位為1,其余高位依次減小,產(chǎn)生的數(shù)據(jù)為依次減小的偶序列。具體電路可以由以下電路圖表示:

PWM的原理是什么?調(diào)制器是怎樣實(shí)現(xiàn)的?

三、 8051中的PWM模塊設(shè)計(jì):應(yīng)該稱為一個(gè)適合語(yǔ)音處理的PWM模塊,輸出引腳應(yīng)該外接一積分電路。輸出波形的方式適合作語(yǔ)音處理。設(shè)計(jì)精度為8位。PWM模塊應(yīng)包括:1、 比較部分(Comp):2、 計(jì)數(shù)部分(Counter):3、 狀態(tài)及控制信號(hào)寄存/控制器(PWM_Ctrl);1) 狀態(tài)積寄存器:(Flags),地址:E8H ;①EN: PWM模塊啟動(dòng)位,置位為‘1’將使PWM模塊開(kāi)始工作;②(留空備用)③④解調(diào)速率標(biāo)志位:00 – 無(wú)分頻;01 – 2分頻;10 – 10分頻;11 – 16分頻。 (RESET后為00)⑤(留空備用)⑥(留空備用)⑦(留空備用)⑧(留空備用)注意:該寄存器可以位操作情況下可寫(xiě),不可讀;只能在字節(jié)操作方式下讀取。2) 數(shù)據(jù)寄存器(DataStore),地址:F8H;注意:該寄存器值不可讀,只可寫(xiě)。

4、 端口:1) 數(shù)據(jù)總線(DataBus);(雙向)2) 地址總線(AddrBus);(IN)3) PWM波輸出端口(PWMOut);(OUT)4) 控制線:① CLK:時(shí)鐘;(IN)② Reset:異步復(fù)位信號(hào);(IN 低電平有效)③ WR:寫(xiě)PWM RAM信號(hào);(IN 低電平有效); ④ RD:讀PWM RAM信號(hào);(IN 低電平有效)⑤ DONE:接受完畢反饋信號(hào);(OUT 高電平有效)⑥ INT:中斷申請(qǐng)信號(hào);(OUT 低電平有效)⑦ IntResp:中斷響應(yīng)信號(hào);(In低電平有效)⑧ ByteBit:字節(jié)/位操作控制信號(hào)(IN 1-BYTE 0-BIT);⑨中斷占用相當(dāng)于MCU8051的外部中斷2,則可保證在5個(gè)指令周期之內(nèi),“讀取數(shù)據(jù)”中斷必定得到響應(yīng)。

PWM模塊使用方法:因?yàn)檎加昧?051外部中斷1,所以在不使用該模塊時(shí),應(yīng)該把外部中斷2屏蔽。而PWM模塊產(chǎn)生的中斷請(qǐng)求可以看作是“能接受數(shù)據(jù)”的信號(hào)。中斷方法如后“中斷讀取數(shù)據(jù)過(guò)程”。使用PWM模塊,應(yīng)該先對(duì)內(nèi)部地址8FH的數(shù)據(jù)寄存器寫(xiě)入數(shù)據(jù),然后設(shè)置地址8EH的狀態(tài)寄存器最低位(0)為‘1’,即PWM模塊開(kāi)始工作并輸出PWM調(diào)制波(如TIMER模塊)。在輸出PWM調(diào)制波過(guò)程中,應(yīng)及時(shí)對(duì)PWM寫(xiě)入下一個(gè)調(diào)制數(shù)據(jù),保證PWM連續(xù)工作,輸出波形連續(xù)。 (待改進(jìn))

中斷讀取數(shù)據(jù)過(guò)程:

PWM模塊可以讀取數(shù)據(jù),申請(qǐng)中斷信號(hào)INT置位為‘0’,等待8051響應(yīng);

8051接受到中斷申請(qǐng)后,作出中斷響應(yīng),置位IntResp信號(hào)線為‘0’;

PWM模塊收到IntResp信號(hào)后,把中斷申請(qǐng)信號(hào)INT復(fù)位為‘1’,等待8051通知讀取數(shù)據(jù)WR信號(hào);

8051取出要求數(shù)據(jù)放于數(shù)據(jù)總線(DataBus)上,并置WR信號(hào)為‘0’;

PWM模塊發(fā)現(xiàn)WR信號(hào)為‘0’,由數(shù)據(jù)總線(DataBus)上讀取數(shù)據(jù)到內(nèi)部數(shù)據(jù)寄存器,將DONE位置位為‘1’;

8051發(fā)現(xiàn)DONE信號(hào)的上跳變?yōu)椤?’,釋放數(shù)據(jù)總線;

PWM模塊完成當(dāng)前輸出周期,復(fù)位DONE為‘0’,從此當(dāng)前數(shù)據(jù)寄存器可以再次接受數(shù)據(jù)輸入。

注意事項(xiàng):

1)輸出的PWM信號(hào)中的高電平部分必須處于一個(gè)輸出周期的中間,不能偏離,否則輸出語(yǔ)音經(jīng)過(guò)低通后必定是一失真嚴(yán)重的結(jié)果。

2)對(duì)于8位精度的PWM,每個(gè)輸出周期占用256(28)個(gè)機(jī)器周期,但是包含256個(gè)機(jī)器周期至少有22個(gè)指令周期,亦即264(22*12)個(gè)機(jī)器周期,由于語(yǔ)音信號(hào)的連續(xù)性,256與264之間相差的8個(gè)機(jī)器周期是不能由之丟空的,否則也會(huì)使輸出信號(hào)失真。如果將須輸出數(shù)字量按256/264的比例放大輸出,亦不可行,因?yàn)槿绱朔钦麛?shù)比例放大,放大倍數(shù)很小,則經(jīng)過(guò)再量化后小數(shù)部分亦會(huì)被忽略掉,產(chǎn)生失真。舉例:輸出數(shù)字量為16,按比例放大后為16.5,更會(huì)產(chǎn)生難以取舍的問(wèn)題。

故采取以下辦法:該模塊以時(shí)鐘周期為標(biāo)準(zhǔn),而與TMBus無(wú)關(guān),即基本上與8051部分異步工作。讀取數(shù)據(jù)方式為每次讀取足夠數(shù)據(jù)段儲(chǔ)存于模塊內(nèi)的RAM內(nèi)(暫定每次讀取8字節(jié)),儲(chǔ)存字節(jié)數(shù)必須能保證PWM輸出該段數(shù)據(jù)過(guò)程中,有足夠時(shí)間從RAM處繼續(xù)讀取數(shù)據(jù)。由于占用了8051的外部中斷2,中斷申請(qǐng)?jiān)?個(gè)指令周期(36個(gè)時(shí)鐘周期)內(nèi)必定能得到響應(yīng),而PWM模塊處理一個(gè)數(shù)據(jù)需要固定耗時(shí)256個(gè)時(shí)鐘周期,故能保證PWM模塊順序讀取數(shù)據(jù)中斷能及時(shí)得到響應(yīng),不會(huì)影響調(diào)制信號(hào)的連續(xù)性。

3)RD RAM過(guò)程是異步過(guò)程。

4)輸出后數(shù)據(jù)寄存器不自動(dòng)清零。因?yàn)榭梢酝ㄟ^(guò)把Flags(0)寫(xiě)‘0’而停止PWM模塊繼續(xù)工作。

HMX

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

    關(guān)注

    114

    文章

    5099

    瀏覽量

    212807
  • 脈沖
    +關(guān)注

    關(guān)注

    20

    文章

    879

    瀏覽量

    95411
  • 調(diào)制器
    +關(guān)注

    關(guān)注

    3

    文章

    826

    瀏覽量

    45053

原文標(biāo)題:PWM (脈沖寬度調(diào)制)原理與實(shí)現(xiàn)

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    請(qǐng)問(wèn)FM調(diào)制器的FPGA實(shí)現(xiàn)

    求助FM調(diào)制器的FPGA實(shí)現(xiàn),對(duì)FPGA這些完全不了解,在網(wǎng)上看可以用DDS技術(shù)實(shí)現(xiàn)FM的數(shù)字調(diào)制,就在書(shū)上按照步驟先做了產(chǎn)生正弦波分頻模塊尋址模塊數(shù)據(jù)存儲(chǔ)模塊,但編譯不能通過(guò),也不知
    發(fā)表于 03-16 11:43

    Δ-Σ 調(diào)制器是如何工作的?

    0V時(shí),1s密度為50%。因此,可以在不超出調(diào)制器范圍的情況下測(cè)量基準(zhǔn)電壓和負(fù)基準(zhǔn)電壓之間的輸入電壓。那么通過(guò)將輸入轉(zhuǎn)換為比特流調(diào)制器實(shí)現(xiàn)了什么?觀察調(diào)制器的頻譜內(nèi),輸入電壓和采樣數(shù)字
    發(fā)表于 08-12 04:45

    ∑-△調(diào)制器的設(shè)計(jì)原理是什么?怎么實(shí)現(xiàn)FPGA?

    ∑-△調(diào)制頻率合成器及其實(shí)現(xiàn)∑-△調(diào)制器原理設(shè)計(jì)∑-△調(diào)制器的FPGA實(shí)現(xiàn)
    發(fā)表于 04-15 06:47

    調(diào)制器的原理及應(yīng)用

    調(diào)制器的原理及應(yīng)用 調(diào)制器調(diào)制式直流放大電路中的一個(gè)重要環(huán)節(jié)。由下圖的方框可見(jiàn):欲放大的直流信號(hào)ui經(jīng)過(guò)調(diào)制器后,變?yōu)榻涣餍盘?hào)UA;再經(jīng)過(guò)交流放
    發(fā)表于 01-13 16:53 ?43次下載

    數(shù)字脈沖寬度調(diào)制器實(shí)現(xiàn)

    數(shù)字脈沖寬度調(diào)制器實(shí)現(xiàn)
    發(fā)表于 08-01 09:51 ?2415次閱讀
    數(shù)字脈沖寬度<b class='flag-5'>調(diào)制器</b>的<b class='flag-5'>實(shí)現(xiàn)</b>

    電光調(diào)制器,電光調(diào)制器工作原理是什么?

    電光調(diào)制器,電光調(diào)制器工作原理是什么? 電光調(diào)制器是利用某些晶體材料在外加電場(chǎng)的作用下所產(chǎn)生的電光效應(yīng)而制成的器件。常用的有兩種方
    發(fā)表于 04-02 15:50 ?2.1w次閱讀

    基于FPGA的全數(shù)字FQPSK調(diào)制器實(shí)現(xiàn)_楊峰

    基于FPGA的全數(shù)字FQPSK調(diào)制器實(shí)現(xiàn)_楊峰
    發(fā)表于 03-19 11:38 ?2次下載

    鄰頻調(diào)制器怎么調(diào)整_鄰頻調(diào)制器調(diào)試教程

    本文主要介紹了鄰頻調(diào)制器如何調(diào)整_鄰頻調(diào)制器怎樣調(diào)整。鄰頻調(diào)制器(也稱作射頻調(diào)制器,調(diào)頻調(diào)制器
    發(fā)表于 01-16 15:39 ?1.6w次閱讀

    用三個(gè)運(yùn)放實(shí)現(xiàn)脈沖寬度調(diào)制器,3 OPAMP implement PWM controler

    用三個(gè)運(yùn)放實(shí)現(xiàn)脈沖寬度調(diào)制器,3 OPAMP implement PWM controler 關(guān)鍵字:運(yùn)放電路,脈寬調(diào)制電路,MAX4094
    的頭像 發(fā)表于 09-20 18:32 ?1489次閱讀

    如何使用FPGA實(shí)現(xiàn)QPSK調(diào)制器的設(shè)計(jì)與實(shí)現(xiàn)

    采用FPGA設(shè)計(jì)芯片技術(shù)對(duì)多進(jìn)制數(shù)字通信技術(shù)的QPSK調(diào)制器實(shí)現(xiàn)進(jìn)行了設(shè)計(jì)研究,將調(diào)制器中原有多種專用芯片的功能集成在一片大規(guī)??删幊踢壿嬈骷﨔PGA芯片上,實(shí)現(xiàn)了高度集成化,小型化。
    發(fā)表于 07-22 17:51 ?15次下載
    如何使用FPGA<b class='flag-5'>實(shí)現(xiàn)</b>QPSK<b class='flag-5'>調(diào)制器</b>的設(shè)計(jì)與<b class='flag-5'>實(shí)現(xiàn)</b>

    一種基于FPGA的MSK調(diào)制器設(shè)計(jì)與實(shí)現(xiàn)

    一種基于FPGA的MSK調(diào)制器設(shè)計(jì)與實(shí)現(xiàn)說(shuō)明。
    發(fā)表于 04-27 14:08 ?22次下載

    LTC6992演示電路-TimerBlox壓控脈寬調(diào)制器(1 MHz PWM)

    LTC6992演示電路-TimerBlox壓控脈寬調(diào)制器(1 MHz PWM)
    發(fā)表于 06-08 15:30 ?33次下載
    LTC6992演示電路-TimerBlox壓控脈寬<b class='flag-5'>調(diào)制器</b>(1 MHz <b class='flag-5'>PWM</b>)

    PWM超級(jí)方波調(diào)制器

    電子發(fā)燒友網(wǎng)站提供《PWM超級(jí)方波調(diào)制器.zip》資料免費(fèi)下載
    發(fā)表于 07-05 10:16 ?0次下載
    <b class='flag-5'>PWM</b>超級(jí)方波<b class='flag-5'>調(diào)制器</b>

    基于FPGA的OFDM調(diào)制器設(shè)計(jì)與實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《基于FPGA的OFDM調(diào)制器設(shè)計(jì)與實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 10-26 09:25 ?2次下載
    基于FPGA的OFDM<b class='flag-5'>調(diào)制器</b>設(shè)計(jì)與<b class='flag-5'>實(shí)現(xiàn)</b>

    空間光調(diào)制器的原理 空間光調(diào)制器的作用

    空間光調(diào)制器的原理 空間光調(diào)制器的作用? 空間光調(diào)制器是一種利用光的干涉、衍射等現(xiàn)象對(duì)光進(jìn)行調(diào)制的器件,可以實(shí)現(xiàn)對(duì)光波的幅度、相位等進(jìn)行調(diào)節(jié)
    的頭像 發(fā)表于 12-20 13:45 ?1922次閱讀