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

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

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

3天內不再提示

PWM的原理是什么?調制器是怎樣實現的?

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

一、 PWM(脈沖寬度調制Pulse Width Modulation)原理:脈沖寬度調制波通常由一列占空比不同的矩形脈沖構成,其占空比與信號的瞬時采樣值成比例。圖1所示為脈沖寬度調制系統的原理框圖和波形圖。該系統有一個比較器和一個周期為Ts的鋸齒波發生器組成。語音信號如果大于鋸齒波信號,比較器輸出正常數A,否則輸出0。因此,從圖1中可以看出,比較器輸出一列下降沿調制的脈沖寬度調制波。

PWM的原理是什么?調制器是怎樣實現的?

PWM的原理是什么?調制器是怎樣實現的?

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

二、 數字脈沖寬度調制器的實現:實現數字脈沖寬度調制器的基本思想參看圖2。

PWM的原理是什么?調制器是怎樣實現的?

圖中,在時鐘脈沖的作用下,循環計數器的5位輸出逐次增大。5位數字調制信號用一個寄存器來控制,不斷于循環計數器的輸出進行比較,當調制信號大于循環計數器的輸出時,比較器輸出高電平,否則輸出低電平。循環計數器循環一個周期后,向寄存器發出一個使能信號EN,寄存器送入下一組數據。在每一個計數器計數周期,由于輸入的調制信號的大小不同,比較器輸出端輸出的高電平個數不一樣,因而產生出占空比不同的脈沖寬度調制波。

PWM的原理是什么?調制器是怎樣實現的?

為了使矩形脈沖的中心近似在t=kTs處,計數器所產生的數字碼不是由小到大或由大到小順序變化,而是將數據分成偶數序列和奇數序列,在一個計數周期,偶數序列由小變大,直到最大值,然后變為對奇數序列計數,變化為由大到小。如圖3例子。

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

PWM的原理是什么?調制器是怎樣實現的?

三、 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模塊繼續工作。

HMX

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

    關注

    114

    文章

    5153

    瀏覽量

    213456
  • 脈沖
    +關注

    關注

    20

    文章

    886

    瀏覽量

    95563
  • 調制器
    +關注

    關注

    3

    文章

    834

    瀏覽量

    45111

原文標題:PWM (脈沖寬度調制)原理與實現

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    請問FM調制器的FPGA實現

    求助FM調制器的FPGA實現,對FPGA這些完全不了解,在網上看可以用DDS技術實現FM的數字調制,就在書上按照步驟先做了產生正弦波分頻模塊尋址模塊數據存儲模塊,但編譯不能通過,也不知
    發表于 03-16 11:43

    Δ-Σ 調制器是如何工作的?

    0V時,1s密度為50%。因此,可以在不超出調制器范圍的情況下測量基準電壓和負基準電壓之間的輸入電壓。那么通過將輸入轉換為比特流調制器實現了什么?觀察調制器的頻譜內,輸入電壓和采樣數字
    發表于 08-12 04:45

    ∑-△調制器的設計原理是什么?怎么實現FPGA?

    ∑-△調制頻率合成器及其實現∑-△調制器原理設計∑-△調制器的FPGA實現
    發表于 04-15 06:47

    調制器的原理及應用

    調制器的原理及應用 調制器調制式直流放大電路中的一個重要環節。由下圖的方框可見:欲放大的直流信號ui經過調制器后,變為交流信號UA;再經過交流放
    發表于 01-13 16:53 ?43次下載

    數字脈沖寬度調制器實現

    數字脈沖寬度調制器實現
    發表于 08-01 09:51 ?2432次閱讀
    數字脈沖寬度<b class='flag-5'>調制器</b>的<b class='flag-5'>實現</b>

    電光調制器,電光調制器工作原理是什么?

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

    基于FPGA的全數字FQPSK調制器實現_楊峰

    基于FPGA的全數字FQPSK調制器實現_楊峰
    發表于 03-19 11:38 ?2次下載

    鄰頻調制器怎么調整_鄰頻調制器調試教程

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

    用三個運放實現脈沖寬度調制器,3 OPAMP implement PWM controler

    用三個運放實現脈沖寬度調制器,3 OPAMP implement PWM controler 關鍵字:運放電路,脈寬調制電路,MAX4094
    的頭像 發表于 09-20 18:32 ?1556次閱讀

    如何使用FPGA實現QPSK調制器的設計與實現

    采用FPGA設計芯片技術對多進制數字通信技術的QPSK調制器實現進行了設計研究,將調制器中原有多種專用芯片的功能集成在一片大規模可編程邏輯器件FPGA芯片上,實現了高度集成化,小型化。
    發表于 07-22 17:51 ?15次下載
    如何使用FPGA<b class='flag-5'>實現</b>QPSK<b class='flag-5'>調制器</b>的設計與<b class='flag-5'>實現</b>

    一種基于FPGA的MSK調制器設計與實現

    一種基于FPGA的MSK調制器設計與實現說明。
    發表于 04-27 14:08 ?22次下載

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

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

    PWM超級方波調制器

    電子發燒友網站提供《PWM超級方波調制器.zip》資料免費下載
    發表于 07-05 10:16 ?0次下載
    <b class='flag-5'>PWM</b>超級方波<b class='flag-5'>調制器</b>

    基于FPGA的OFDM調制器設計與實現

    電子發燒友網站提供《基于FPGA的OFDM調制器設計與實現.pdf》資料免費下載
    發表于 10-26 09:25 ?2次下載
    基于FPGA的OFDM<b class='flag-5'>調制器</b>設計與<b class='flag-5'>實現</b>

    空間光調制器的原理 空間光調制器的作用

    空間光調制器的原理 空間光調制器的作用? 空間光調制器是一種利用光的干涉、衍射等現象對光進行調制的器件,可以實現對光波的幅度、相位等進行調節
    的頭像 發表于 12-20 13:45 ?2083次閱讀