↓點擊上面的“電子工程圖冊”即可輕松關注
1.脈寬調(diào)制原理
2.調(diào)制器的設計思想
3.具體實施設計
1.脈寬調(diào)制原理:
脈寬調(diào)制波通常由一系列不同比值空的矩形脈沖組成,與信號的瞬時采樣值成正比。圖1示出了脈寬調(diào)制系統(tǒng)的原理框圖和波形圖。該系統(tǒng)由一個比較器和一個周期為Ts的鋸齒波發(fā)生器組成。如果語音信號大于鋸齒信號,比較器輸出一個正常數(shù)字A,否則輸出0。因此,從圖1可以看出,比較器輸出一系列下降沿調(diào)制的脈寬調(diào)制波。
從圖1b的分析可以看出,產(chǎn)生的矩形脈沖的寬度取決于在下降沿時間t k的語音信號的幅度值。因此,采樣值之間的時間間隔是不均勻的。即使是采樣信號也可以通過在系統(tǒng)的輸入端插入采樣保持電路來獲得,但是對于實際的tk-kts
X{t}是離散的語音信號;Ts為采樣周期;未調(diào)制的寬度;m是調(diào)制指數(shù)。
但是,如果矩形脈沖近似如下:脈沖幅度為a,中心在t = k Ts,相鄰脈沖之間的變化較慢,那么脈寬調(diào)制波xp(t)可以表示為:
其中,。沒有頻譜分析,從等式(2)可以看出,脈寬信號由語音信號x(t)加上DC分量和相位調(diào)制波組成。此時,相位調(diào)制引起的信號重疊可以忽略,因此脈寬調(diào)制波可以直接由低通濾波器解調(diào)。
二、數(shù)字脈寬調(diào)制器的實現(xiàn):
實現(xiàn)數(shù)字脈寬調(diào)制器的基本思路見圖2。
圖中,在時鐘脈沖的作用下,周期計數(shù)器的5位輸出逐漸增大。5位數(shù)字調(diào)制信號由寄存器控制,并持續(xù)與周期計數(shù)器的輸出進行比較。當調(diào)制信號大于周期計數(shù)器的輸出時,比較器輸出高電平,否則輸出低電平。周期計數(shù)器循環(huán)一個周期后,向寄存器發(fā)送使能信號en,寄存器發(fā)送下一組數(shù)據(jù)。在每個計數(shù)器計數(shù)周期中,由于輸入調(diào)制信號的大小不同,比較器輸出端輸出的高電平數(shù)量也不同,從而產(chǎn)生空比例不同的脈寬調(diào)制波。
圖3
為了使矩形脈沖的中心近似在t=kTs,計數(shù)器產(chǎn)生的數(shù)字碼不是按順序從小到大或從大到小變化,而是將數(shù)據(jù)分為偶數(shù)序列和奇數(shù)序列。在一個計數(shù)周期內(nèi),偶數(shù)列從小到大變化,直到達到最大值,然后對奇數(shù)列進行計數(shù),由大到小變化。如圖3例子所示。
奇偶序列的生成方法是將計數(shù)器的最后一位作為比較數(shù)據(jù)的最低位。在一個計數(shù)周期內(nèi),前半個周期計數(shù)器輸出的最低位為0,其他高位依次遞增,則生成的數(shù)據(jù)為偶數(shù)序列;在周期的后半段,輸出的最低位為1,其他高位依次遞減,生成的數(shù)據(jù)是依次遞減的偶數(shù)序列。具體電路可由以下電路圖表示:
三、8051中的PWM模塊設計:
應該叫適合語音處理的PWM模塊,輸出引腳要接積分電路。輸出波形適合語音處理。設計精度為8位。
脈寬調(diào)制模塊應包括:
1.比較部分(比較):
2.計數(shù)器:
3.狀態(tài)和控制信號寄存器/控制器(PWM _ CTRL);
1)狀態(tài)產(chǎn)品寄存器:(Flags),地址:e8h
① en: PWM模塊啟動位,設置為‘1’將使PWM模塊開始工作;
②(保留空備用)
③ ④解調(diào)速率標志位:00–無分頻;01–2分頻;10–10分頻;除以11–16。(復位后00)
⑤(保留空備用)
⑥(保留空備用)
⑦(保持空備用)
⑧(保留空備用)
注意:在位操作的情況下,該寄存器可以被寫入和讀??;只能在字節(jié)操作模式下讀取。
2) DataStore,地址:F8H;
注意:該寄存器值不可讀,只能寫入。
4.端口:
1)數(shù)據(jù)總線(data bus);(雙向)
2)地址總線(addr總線);(英寸)
3) PWM波輸出端口(PWM輸出);(輸出)
4)控制線:
① CLK:時鐘;(英寸)
②復位:異步復位信號;(低電平有效)
③ WR:寫PWM RAM信號;(IN為低電平有效);
④ RD:讀取PWM RAM信號;(低電平有效)
⑤完成:接收反饋信號;(輸出高電平有效)
⑥ INT:中斷應用信號;(輸出低電平有效)
⑦InTersp:中斷響應信號;(低電平有效)
8字節(jié)位:字節(jié)/位操作控制信號(in1-byte 0-bit);
⑨⑩
如果中斷占用相當于MCU8051的外部中斷2,可以保證“讀取數(shù)據(jù)”中斷將在5個指令周期內(nèi)響應。
PWM模塊的用法:由于8051外部中斷1被占用,在不使用該模塊時,外部中斷2應該屏蔽。脈寬調(diào)制模塊產(chǎn)生的中斷請求可以視為“接受數(shù)據(jù)”的信號。中斷方法如下:“中斷讀取數(shù)據(jù)的過程”。使用PWM模塊,首先要將數(shù)據(jù)寫入內(nèi)部地址8FH的數(shù)據(jù)寄存器,然后將地址8EH的狀態(tài)寄存器的最低位(0)置為‘1’,即PWM模塊開始工作,輸出PWM調(diào)制波(如TIMER模塊)。在輸出PWM調(diào)制波的過程中,要及時將下一個調(diào)制數(shù)據(jù)寫入PWM,保證PWM連續(xù)運行,輸出波形連續(xù)。(有待改進)
中斷讀取數(shù)據(jù)的過程:
PWM模塊可以讀取數(shù)據(jù),申請中斷信號int設為‘0’,等待8051響應;
8051收到中斷申請后,做出中斷響應,將IntResp信號線設置為‘0’;
PWM模塊收到IntResp信號后,將中斷應用信號int復位為‘1’,等待8051通知讀取數(shù)據(jù)WR信號;
8051取出所需數(shù)據(jù),放在數(shù)據(jù)總線上,并將WR信號設置為“0”;
脈寬調(diào)制模塊發(fā)現(xiàn)WR信號為“0”,從數(shù)據(jù)總線讀取數(shù)據(jù)到內(nèi)部數(shù)據(jù)寄存器,并將完成位設置為“1”;
8051發(fā)現(xiàn)DONE信號跳轉(zhuǎn)變?yōu)椤?’,釋放數(shù)據(jù)總線;
脈寬調(diào)制模塊完成當前輸出周期,并將完成復位為“0”,此時當前數(shù)據(jù)寄存器可以再次接受數(shù)據(jù)輸入。
注意事項:
1)輸出PWM信號的高電平部分必須在一個輸出周期的中間,不能偏離,否則輸出語音經(jīng)過低通后會嚴重失真。
2)對于8位精密PWM,每個輸出周期占用256(28)個機器周期,但至少有22個指令周期,其中包括256個機器周期,即264(22*12)個機器周期。由于語音信號的連續(xù)性,與256和264不同的8個機器周期不能丟失空,否則會產(chǎn)生輸出信號。按照256/264的比例放大要輸出的數(shù)字量是不可行的,因為如果由于這樣的非整數(shù)放大,放大倍數(shù)很小,那么重新量化后就會忽略小數(shù)部分,造成失真。比如輸出數(shù)是16,放大后是16.5,很難選擇。
所以采取了以下措施:模塊以時鐘周期為標準,與TMBus無關,即與8051部分基本異步工作。讀取數(shù)據(jù)的方式是每次讀取足夠的數(shù)據(jù)段,并存儲在模塊中的RAM中(每次暫定讀取8個字節(jié))。存儲的字節(jié)數(shù)必須確保在這段數(shù)據(jù)的脈寬調(diào)制輸出期間,有足夠的時間繼續(xù)從內(nèi)存中讀取數(shù)據(jù)。由于8051的外部中斷2被占用,中斷應用可以在3個指令周期(36個時鐘周期)內(nèi)響應,PWM模塊處理一個數(shù)據(jù)需要256個時鐘周期,因此可以保證PWM模塊順序讀取數(shù)據(jù)的中斷能夠及時響應,而不影響調(diào)制信號的連續(xù)性。
rdram過程是異步的。
4)輸出后數(shù)據(jù)寄存器不會自動清零。通過將標志(0)寫入“0”,可以停止脈寬調(diào)制模塊繼續(xù)工作。
看了這篇文章有收獲嗎?請與更多人分享
關注《電子工程專輯》做一個優(yōu)秀的工程師!
回復關鍵詞是干貨:電路設計,電容,三極管,PCB接地
請加微信13264108376加入“模擬電源”“嵌入式”微信群
長按二維碼識別注意力
一鍵關注+歷史信息閱讀原文
1.《脈沖寬度 PWM 原理與實現(xiàn)》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡信息知識,僅代表作者本人觀點,與本網(wǎng)站無關,侵刪請聯(lián)系頁腳下方聯(lián)系方式。
2.《脈沖寬度 PWM 原理與實現(xiàn)》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。
3.文章轉(zhuǎn)載時請保留本站內(nèi)容來源地址,http://f99ss.com/jiaoyu/860714.html