91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>電子元器件>接口定義>

數字脈沖寬度調制器的實現

2008年08月01日 09:51 m.xsypw.cn 作者:本站 用戶評論(0

數字脈沖寬度調制器的實現

脈沖寬度控制pwm的工作原理

實現數字脈沖寬度調制器的基本思想參看圖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連續工作,輸出波形連續。 (待改進)

 中斷讀取數據過程:

  1.  PWM模塊可以讀取數據,申請中斷信號INT置位為‘0’,等待8051響應;
  2.  8051接受到中斷申請后,作出中斷響應,置位IntResp信號線為‘0’;
  3.  PWM模塊收到IntResp信號后,把中斷申請信號INT復位為‘1’,等待8051通知讀取數據WR信號;
  4.  8051取出要求數據放于數據總線(DataBus)上,并置WR信號為‘0’;
  5.  PWM模塊發現WR信號為‘0’,由數據總線(DataBus)上讀取數據到內部數據寄存器,將DONE位置位為‘1’;
  6.  8051發現DONE信號的上跳變為‘1’,釋放數據總線;
  7.  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模塊繼續工作。

非常好我支持^.^

(3) 100%

不好我反對

(0) 0%

( 發表人:admin )

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      主站蜘蛛池模板: 久操视频在线播放 | 七月丁香八月婷婷综合激情 | aa在线播放 | 久久精品国产99精品最新 | 97综合色 | 精品视频免费看 | 欧美人另类zooz | 好大好猛好爽好深视频免费 | 九九精品影院 | 成人精品人成网站 | 久久午夜国产片 | 色老头视频在线观看 | 在线干| 亚洲男人天堂手机版 | 国产在线观看www鲁啊鲁免费 | 四虎最新免费网址 | 天天爱夜夜做 | 久久天天躁狠狠躁夜夜躁综合 | 天天爽夜夜 | 日韩成a人片在线观看日本 日韩成人黄色 | 午夜a级毛片 | 777777777妇女亚洲 | 久久99热不卡精品免费观看 | 成人牲交一极毛片 | 337p欧洲亚洲大胆艺术 | 欧美无遮挡国产欧美另类 | 99久久精品费精品国产一区二 | 久久久国产精品免费看 | 黑人边吃奶边扎下面激情视频 | 久操伊人 | 天天爽夜夜爽视频 | 天天干天天干天天插 | 中文天堂最新版www官网在线 | 亚洲 欧美 日韩 在线 中文字幕 | 第四色激情 | 亚洲精品福利视频 | 中文字幕一二三四区 | 欧美大片一区二区三区 | 人人干天天操 | 久久青草国产精品一区 | 波多野结衣三个女人蕾丝边 |