電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設計 | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> 單片機 >> 正文

利用PWM給單片機應用增加語音功能

作者:佚名    文章來源:本站原創(chuàng)    點擊數(shù):    更新時間:2011/5/6
摘要 隨著嵌入式領域的拓展,目前許多微控制器芯片一般都不具備數(shù)據(jù)一模擬的雙向通道,但幾乎都集成有PWM產(chǎn)生模塊。本文利用飛思卡爾公司HCSl2單片機的PWM模塊,還原存儲在存儲器中的聲音采樣數(shù)據(jù),在幾乎不增加成本的情況下,實現(xiàn)嵌入式應用中的擴展語音功能。
關鍵詞 單片機PWM語音低通濾波


    HCSl2系列單片機未包含數(shù)/模轉換的模塊。要給其擴展語音功能,通常的做法是增加一塊數(shù)/模轉換芯片。雖然這樣做可以得到非常好的音質(取決于數(shù)/模轉換芯片的性能),但由于耍多使用一塊數(shù)/模轉換芯片,在對音質要求不太高的應用中,會給設計增加額外的成本,同時也使電路設計相對復雜。
    本文介紹利用PWM還原聲音的解決方案,可以很好地解決這個矛盾。例如安全報警應用中,系統(tǒng)通常已經(jīng)包含了一塊微控制器(用來處理人機交互以及系統(tǒng)的控制等),當發(fā)出警報時,可以是“BB”或“當當”的蜂鳴聲;當然,更好的做法是發(fā)出清晰的語音。
    用PWM產(chǎn)生聲音的基本原理,是使用存儲在Flash中的音頻采樣數(shù)據(jù)或通過某種算法產(chǎn)生的聲音數(shù)據(jù),來控制PWM每個波形的占空比;接下來通過一低通濾波器濾波,就可將聲音從PWM的脈沖波里分離出來,驅動揚聲器發(fā)出聲音。


1 從WAV文件中提取聲音采樣數(shù)據(jù)
    一般來說,可以從WAV文件中提取聲音數(shù)據(jù),標準的WAV格式的聲音文件含有聲音的采樣數(shù)據(jù)和文件頭。文件頭描述了后面聲音數(shù)據(jù)的一些信息,如通道數(shù)、采樣頻率、采樣位數(shù)以及數(shù)據(jù)的長度等。
    通道數(shù),是指聲音的采樣路數(shù),如單聲道、立體聲等。采樣頻率,是指每秒鐘對聲音的采樣次數(shù),采樣頻率越高,還原出來的聲音越接近原始聲音,如表l所列。要精確還原出某種頻率的波形,其最小采樣率應為該波形的2倍。

    采樣位數(shù),指的是每次采樣的采樣精度。采樣位數(shù)越高,還原出來的聲音的量化噪聲越小,波形也越接近原波形。WAV文件的文件頭定義:

    提取聲音數(shù)據(jù)時,請注意采樣頻率、采樣位數(shù)、存儲容量與存儲時間的關系,如表2所列。通常,11.025 kHz的采樣頻率和8位的采樣位數(shù)可獲得清晰的語音以及較好的音樂聲,并且占有較少的存儲空間。
    通過了解和分析WAV文件的格式,可以將文件中的聲音采樣數(shù)據(jù)讀取出來,并轉換為C語言格式的數(shù)組結構,以便和其他程序一并編譯和下載到芯片中去。例如:


2 產(chǎn)生PWM波形
    要還原聲音,最低要求是HCSl2系列微控制器具備一個PWM模塊,芯片選擇的另一個細節(jié)是要有足夠的Flash存儲容量,來存儲聲音的采樣數(shù)據(jù)。MC9S12DP256具有一個16位的PWM模塊.可產(chǎn)生16位解析精度的PWM波形,這意味著nr以使用16位的采樣數(shù)據(jù)來產(chǎn)生PWM。MC9S12DP256還具備256 KB的Flash,能夠存儲23 78 s八位11.025 kHz的采樣數(shù)據(jù)。
    產(chǎn)生PWM波形的步驟:①設置定時器.產(chǎn)生定時中斷:如采樣率為ll.025 kHz.則設置定時器的定時中斷頻率為11.025 kHz。②初始化PWM模塊,產(chǎn)生11.025kHz的PWM波形。③等待定時器中斷,在中斷處理程序中取采樣數(shù)據(jù),并設置PWM占空比寄存器,判斷聲音是否播放完成。若完成,則關定時器巾斷,并停止PWM輸出。


3 低通濾波
    PWM輸出后須通過低通濾波器濾波,才能還原成人耳能識別的聲音。低通濾波器的類型和參數(shù)取決于聲音的采樣頻率和價格預算。最簡單的要數(shù)RC濾波器。這種濾波器的優(yōu)點是儀需要兩個元件,另一種是有源濾波器,濾波效果好,但相對復雜。
    濾波器截止頻率的選擇,對于音頻輸出是非常重要的,推薦設置在采樣頻率的一半。若要獲得更佳的濾波器截止頻率,就要進一步對采樣數(shù)據(jù)進行分析,找出最大具有有效聲音數(shù)據(jù)的頻率。當然,在一般應用中并沒有要求這么嚴格,甚至在某些場合中,即使用參數(shù)不非常明確的元件也能獲得很好的聲音輸出,這時RC濾波器將是最好的選擇。
    推薦使用圖1所示的濾波器,其截止頻率為5.5 kHz(11.025 kHz/2)。這個設計中,使用了2個運算放大器,足夠驅動一小型揚聲器。

    圖2也給出一種簡單直接的接法:僅使用一22μF的電容用于低通濾波,驅動一5 kHz、8Ω的小揚聲器。

結語
    利用MC9S12DP256微控制器的PWM功能可為單片機的應用增加語音功能。對聲音采樣數(shù)據(jù)的存儲方式是用直接的、原始的采樣數(shù)據(jù)。在具體的實際應用中,為存儲更長時間的聲音數(shù)據(jù),還可對聲音數(shù)據(jù)進行壓縮,具體算法請參考相關資料。
Tags:單片機,語音功能  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網(wǎng)友評論
最新推薦
關于我們 - 聯(lián)系我們 - 廣告服務 - 友情鏈接 - 網(wǎng)站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
亚洲AV第一成肉网| 国产真实夫妇交换| 加勒比色综合久久久久久久久| 亚洲av日韩av无码污污网站| bestialityvideo另类骆驼| 精品国产一区AV天美传媒| 日韩免费在线视频| 国产精品无码日韩欧| 伊人婷婷综合缴情亚洲五月| 久久99精品久久久久久不卡| 蜜臀亚洲AV无码精品国产午夜.| 欧美性色欧美a在线播放| 国精产品一品二品国精品69xx| 国产人妖另类在线二区| 亚洲欧美视频网站| 久久99久久99精品| 麻豆久久婷婷综合五月国产| 欧美狂摸吃奶呻吟| 富二代国app产下载| 国产乱女乱子视频在线播放| 亚洲国产精品人久久| x8x8在线观看| 精品亚洲麻豆1区2区3区| 无码色偷偷亚洲国内自拍| 国产国语在线播放视频| 五月婷婷六月天| 进击的巨人第一季动漫樱花动漫| 日韩精品有码在线三上悠亚 | 日韩在线第二页| 国产日韩精品欧美一区| 亚洲AV无码精品色午夜果冻不卡| 黄色一级视频欧美| 日韩成人免费在线| 国产偷亚洲偷欧美偷精品| 久久亚洲欧美国产精品| 色偷偷亚洲女人天堂观看欧| 曰韩无码二三区中文字幕| 国产破外女出血视频| 么公的又大又深又硬想要| 蜜桃成熟时仙子| 成人精品一区二区不卡视频|