PWM (脈衝寬度調製)原理與實現

2021-02-18 電子工程專輯

↑ 點擊上方「電子工程專輯」輕鬆關注

1、 PWM原理
2、調製器設計思想
3、具體實現設計


一、 PWM(脈衝寬度調製Pulse Width Modulation)原理:
        脈衝寬度調製波通常由一列佔空比不同的矩形脈衝構成,其佔空比與信號的瞬時採樣值成比例。圖1所示為脈衝寬度調製系統的原理框圖和波形圖。該系統有一個比較器和一個周期為Ts的鋸齒波發生器組成。語音信號如果大於鋸齒波信號,比較器輸出正常數A,否則輸出0。因此,從圖1中可以看出,比較器輸出一列下降沿調製的脈衝寬度調製波。
 
 
      通過圖1b的分析可以看出,生成的矩形脈衝的寬度取決於脈衝下降沿時刻t k時的語音信號幅度值。因而,採樣值之間的時間間隔是非均勻的。在系統的輸入端插入一個採樣保持電路可以得到均勻的採樣信號,但是對於實際中tk-kTs<<Ts的情況,均勻採樣和非均勻採樣差異非常小。如果假定採樣為均勻採樣,第k個矩形脈衝可以表示為:
                            (1)
其中,x{t}是離散化的語音信號;Ts是採樣周期; 是未調製寬度;m是調製指數。
 然而,如果對矩形脈衝作如下近似:脈衝幅度為A,中心在t = k Ts處,  在相鄰脈衝間變化緩慢,則脈衝寬度調製波xp(t)可以表示為:
                            (2)
其中,  。無需作頻譜分析,由式(2)可以看出脈衝寬度信號由語音信號x(t)加上一個直流成分以及相位調製波構成。當  時,相位調製部分引起的信號交迭可以忽略,因此,脈衝寬度調製波可以直接通過低通濾波器進行解調。


二、 數字脈衝寬度調製器的實現:
      實現數字脈衝寬度調製器的基本思想參看圖2。
 
      圖中,在時鐘脈衝的作用下,循環計數器的5位輸出逐次增大。5位數字調製信號用一個寄存器來控制,不斷於循環計數器的輸出進行比較,當調製信號大於循環計數器的輸出時,比較器輸出高電平,否則輸出低電平。循環計數器循環一個周期後,向寄存器發出一個使能信號EN,寄存器送入下一組數據。在每一個計數器計數周期,由於輸入的調製信號的大小不同,比較器輸出端輸出的高電平個數不一樣,因而產生出佔空比不同的脈衝寬度調製波。
  
                  圖3
       為了使矩形脈衝的中心近似在t=kTs處,計數器所產生的數字碼不是由小到大或由大到小順序變化,而是將數據分成偶數序列和奇數序列,在一個計數周期,偶數序列由小變大,直到最大值,然後變為對奇數序列計數,變化為由大到小。如圖3例子。
       奇偶序列的產生方法是將計數器的最後一位作為比較數據的最低位,在一個計數周期內,前半個周期計數器輸出最低位為0,其他高位逐次增大,則產生的數據即為偶數序列;後半個周期輸出最低位為1,其餘高位依次減小,產生的數據為依次減小的偶序列。具體電路可以由以下電路圖表示:
 


三、 8051中的PWM模塊設計:
應該稱為一個適合語音處理的PWM模塊,輸出引腳應該外接一積分電路。輸出波形的方式適合作語音處理。設計精度為8位。

PWM模塊應包括:
1、 比較部分(Comp):
2、 計數部分(Counter):
3、 狀態及控制信號寄存/控制器(PWM_Ctrl);
1) 狀態積寄存器:(Flags),地址:E8H ;
①EN: PWM模塊啟動位,置位為『1』將使PWM模塊開始工作;
②(留空備用)
③④解調速率標誌位:00 – 無分頻;01 – 2分頻;10 – 10分頻;11 – 16分頻。 (RESET後為00)
⑤(留空備用)
⑥(留空備用)
⑦(留空備用)
⑧(留空備用)
注意:該寄存器可以位操作情況下可寫,不可讀;只能在字節操作方式下讀取。
2) 數據寄存器(DataStore),地址:F8H;
注意:該寄存器值不可讀,只可寫。
4、 埠:
1) 數據總線(DataBus);(雙向)
2) 地址總線(AddrBus);(IN)
3) PWM波輸出埠(PWMOut);(OUT)
4) 控制線:
① CLK:時鐘;(IN)
② Reset:異步復位信號;(IN 低電平有效)
③ WR:寫PWM RAM信號;(IN 低電平有效);
④ RD:讀PWM RAM信號;(IN 低電平有效)
⑤ DONE:接受完畢反饋信號;(OUT 高電平有效)
⑥ INT:中斷申請信號;(OUT 低電平有效)
⑦ IntResp:中斷響應信號;(In低電平有效)
⑧ ByteBit:字節/位操作控制信號(IN 1-BYTE 0-BIT);
⑨⑩
 
        中斷佔用相當於MCU8051的外部中斷2,則可保證在5個指令周期之內,「讀取數據」中斷必定得到響應。

        PWM模塊使用方法:因為佔用了8051外部中斷1,所以在不使用該模塊時,應該把外部中斷2屏蔽。而PWM模塊產生的中斷請求可以看作是「能接受數據」的信號。中斷方法如後「中斷讀取數據過程」。使用PWM模塊,應該先對內部地址8FH的數據寄存器寫入數據,然後設置地址8EH的狀態寄存器最低位(0)為『1』,即PWM模塊開始工作並輸出PWM調製波(如TIMER模塊)。在輸出PWM調製波過程中,應及時對PWM寫入下一個調製數據,保證PWM連續工作,輸出波形連續。 (待改進)

 中斷讀取數據過程:

 PWM模塊可以讀取數據,申請中斷信號INT置位為『0』,等待8051響應;

 8051接受到中斷申請後,作出中斷響應,置位IntResp信號線為『0』;

 PWM模塊收到IntResp信號後,把中斷申請信號INT復位為『1』,等待8051通知讀取數據WR信號;

 8051取出要求數據放於數據總線(DataBus)上,並置WR信號為『0』;

 PWM模塊發現WR信號為『0』,由數據總線(DataBus)上讀取數據到內部數據寄存器,將DONE位置位為『1』;

 8051發現DONE信號的上跳變為『1』,釋放數據總線;

 PWM模塊完成當前輸出周期,復位DONE為『0』,從此當前數據寄存器可以再次接受數據輸入。

注意事項:
 1)輸出的PWM信號中的高電平部分必須處於一個輸出周期的中間,不能偏離,否則輸出語音經過低通後必定是一失真嚴重的結果。
2)對於8位精度的PWM,每個輸出周期佔用256(28)個機器周期,但是包含256個機器周期至少有22個指令周期,亦即264(22*12)個機器周期,由於語音信號的連續性,256與264之間相差的8個機器周期是不能由之丟空的,否則也會使輸出信號失真。如果將須輸出數字量按256/264的比例放大輸出,亦不可行,因為如此非整數比例放大,放大倍數很小,則經過再量化後小數部分亦會被忽略掉,產生失真。舉例:輸出數字量為16,按比例放大後為16.5,更會產生難以取捨的問題。

故採取以下辦法:該模塊以時鐘周期為標準,而與TMBus無關,即基本上與8051部分異步工作。讀取數據方式為每次讀取足夠數據段儲存於模塊內的RAM內(暫定每次讀取8位元組),儲存字節數必須能保證PWM輸出該段數據過程中,有足夠時間從RAM處繼續讀取數據。由於佔用了8051的外部中斷2,中斷申請在3個指令周期(36個時鐘周期)內必定能得到響應,而PWM模塊處理一個數據需要固定耗時256個時鐘周期,故能保證PWM模塊順序讀取數據中斷能及時得到響應,不會影響調製信號的連續性。
3)RD RAM過程是異步過程。
4)輸出後數據寄存器不自動清零。因為可以通過把Flags(0)寫『0』而停止PWM模塊繼續工作。

看完本文有收穫?請分享給更多人
關注「電子工程專輯」,做優秀工程師!

回復關鍵詞有乾貨:電路設計丨電容丨三極體丨PCB丨接地‧‧‧‧‧‧

加入「模電數電」「嵌入式」微信群請加微信13264108376

長按二維碼識別關注


閱讀原文可一鍵關注+歷史信息

相關焦點

  • 大佬帶你深入pwm殿堂,搞明白pwm頻率是咋回事
    對於pwm,想必很多朋友都有所耳聞。但是,大家對於pwm真的了解嗎?譬如,pwm頻率是如何被確定下來的?pwm頻率和pwm值是同一個東西嗎?如果不是,pwm頻率和pwm值有什麼區別呢?如果你對這些問題存在疑惑,或者是對本文涉及的pwm相關知識具有興趣,不妨繼續往下閱讀哦。
  • 如何輸出並查看脈衝調製信號?
    此時雙方已經實現了信息的傳遞,接下來劉叔發現自己身邊有個空位,前後搖擺手示意老王座過來,老王看到後比了個OK的手勢表示收到。此時劉叔在舉起的雙手上繼續前後搖擺雙手,這就是在載波的基礎之上加載調製信號的意思,通過不同的手勢能達到傳遞不同信息的目的,同時假想兩支手同時做不同的手勢,可以傳遞的信息量也會增加。這就是調製的魅力。
  • 基於SHE-PWM控制的DC-AC電源
    Keyword:Selective Harmonic Eliminated-PWM control Bootstrap1 前言:以單片機和DSP為核心組成的控制電路的逆變電源,能實現電源的全數字控制,但系統較複雜,軟體工作量大,研製周期長。
  • 基於Cortex-A9的pwm詳解
    一、什麼是PWMPWM,英文名Pulse Width Modulation,是脈衝寬度調製縮寫,它是通過對一系列脈衝的寬度進行調製,等效出所需要的波形(包含形狀以及幅值),對模擬信號電平進行數字編碼,也就是說通過調節佔空比的變化來調節信號、能量等的變化,佔空比就是指在一個周期內,信號處於高電平的時間佔據整個信號周期的百分比
  • 用ne555實現LED無極調光
    限時乾貨下載:關注我們「單片機」,回復「教程」獲取單片機電子書,回復「仿真」獲取Proteus仿真資料,百度盤群組分享連結更新時間:2016-12-02,失效請在文末留言,不要在後臺留言在論壇看到有人問怎麼實現
  • 從零開始一文教你快速實現數位化SPWM純正弦波逆變器
    其理論基礎一句話就能說明白:衝量相等而形狀不同的窄脈衝加在具有慣性的環節上時,其效果基本相同。用人話類比就是五張一塊和一張五塊一樣有價值。從調製的角度可以理解為低頻的50hz正弦信號作為調製波,高頻的方波作為載波,調製方法是佔空比調製,在經過全橋放大信號之後,通過低通濾波器就能還原出大功率的50hz正弦信號。
  • 變頻器的工作原理
    變頻器原理是利用電力半導體器件的通斷作用將工頻電源變換為另一頻率的電能控制裝置。可分為交——交變頻器,交——直——交變頻器。交——交變頻器可直接把交流電變成頻率和電壓都可變的交流電;交——直——交變頻器則是先把交流電經整流器先整流成直流電,再經過逆變器把這個直流電流變成頻率和電壓都可變的交流電。
  • 利用頻譜分析儀加速脈衝信號分析
    最高RBW/VBW限制了頻譜分析儀測量窄脈衝的能力,並且通用規則長期以來一直認為最短的脈衝是可測的,其脈衝寬度應大於或等於2/RBW 。  雷達系統通常在射頻脈衝內採用調製。了解這種調製的功率特性很重要,這是因為雷達範圍受到脈衝內可獲得功率的限制。反過來說,更長的脈衝長度將導致有限的解析度。調製制式可能的範圍從簡單的FM(調頻)到複雜的數字調製制式,其可以支持現代頻譜分析儀。
  • 基於XC2V500-6FG256C和AD9858實現複雜信號模擬的設計
    模擬出的調製信號相位頻率調製函數直接輸出數位訊號至AD9858的控制FPGA,通過控制AD9858的頻率相位字實現調製,幅度脈衝調製函數信號通過數字模擬轉換器(ADC)後加至自動增益控制(AGC)電路實現調製,這樣大大降低了對硬體的要求,同時也減少了軟體的計算量。
  • 以FPGA為核心的數字通信信號2FSK的調製解調技術及其實現方案詳解
    以FPGA為核心的數字通信信號2FSK的調製解調技術及其實現方案詳解 工程師青青 發表於 2018-07-13 09:51:00 隨著通信理論和計算機技術的發展,現代通信系統中常用的是數字調製技術,數位訊號的調製
  • 基於CPLD器件和EDA技術實現QDPSK調製解調電路的設計
    基於CPLD器件和EDA技術實現QDPSK調製解調電路的設計 電子設計 發表於 2019-05-24 08:12:00 隨著無線通信頻帶資源的日益緊張,無線通信主要包括微波通信和衛星通信。
  • 全橋型IGBT脈衝雷射電源原理與性能分析
    與氣體雷射器或其他雷射器(如化學雷射器,自由電子雷射器等)相比,固體雷射器具有結構緊湊、牢固耐用等優點,其運行方式多樣,可在脈衝、連續、調Q及鎖模下運行。  2原理框圖  本文介紹的雷射電源為工作於重複脈衝方式的固體雷射器提供電能。該雷射器採用氙燈作泵浦光源,在惰性氣體燈中,氙氣的總轉換效率最高。雷射器用於雷射打標,工作頻率每秒60次。
  • 脈衝信號測試對示波器帶寬的要求
    與正弦波信號不同,脈衝信號由於具有很多諧波頻率分量,為了信號保真度,其對示波器的帶寬提出了更高的要求。脈衝信號又分為基帶脈衝信號和射頻脈衝信號,本文將從這兩個方面著手定性的分析脈衝信號測試對示波器帶寬的要求。 1. 基帶脈衝信號測試:對於這類信號,有一個參數對示波器的帶寬要求極高,那就是上升/下降時間。
  • 提高鋼板寬度性能指標 在線測寬儀不可或缺
    鋼板測寬儀利用線陣CCD圖像檢測技術,實現了傳動鋼板的非接觸動態寬度測量及鋼板寬度超差報警。利用CCD技術對產品表面質量進行實時檢測、動態測量,具有結構簡單、非接觸、精度高、測量速度快、性能穩定可靠等優點。測寬儀測頭的主要傳感部件之一是CCD,它具有靈敏度高、畸變小、壽命長、抗振動、抗磁場、體積小、無殘影等特點。
  • 51單片機產生PWM方法
    1 軟體延時法利用軟體延時函數,控制電平持續的時間,達到模擬pwm的效果。程序如下:#include<reg52.h>sbit pwm=P1^0;main(){while(1){ pwm=1;delayus(60);//置高電平後延時60us,佔空比60%pwm=0;delayus(40);
  • 無線通信技術系列之UWB超寬帶技術原理解析
    無線通信技術系列之UWB超寬帶技術原理解析 羅德與施瓦茨 發表於 2021-01-14 16:25:29 基於IEEE 802.15.4a/f/z標準的UWB(Ultra-wideband)超寬帶技術是一種利用納秒級的窄脈衝進行數據傳輸的無線通信技術
  • 移相控制ZVS PWM全橋變換器的直通問題分析
    圖1 移相控制ZVS PWM DC/DC全橋變換器的主電路  對於全橋變換器的ZVS移相控制方式超前臂的ZVS實現較為容易,滯後臂的ZVS較為困難。全橋電路在一個周期內的整個工作過程請參考文獻[1]。