《電子技術應用》
您所在的位置:首頁 > 電源技術 > 設計應用 > 利用PWM給HCS12單片機應用增加語音功能
利用PWM給HCS12單片機應用增加語音功能
摘要: 隨著嵌入式領域的拓展,目前許多微控制器芯片一般都不具備數據-模擬的雙向通道,但幾乎都集成有PWM產生模塊。本文利用飛思卡爾公司HCS12單片機的PWM模塊,還原存儲在存儲器中的聲音采樣數據,在幾乎不增加成本的情況下,實現嵌入式應用中的擴展語音功能。
Abstract:
Key words :

  隨著嵌入式領域的拓展,目前許多微控制器芯片一般都不具備數據-模擬的雙向通道,但幾乎都集成有PWM產生模塊。本文利用飛思卡爾公司HCS12單片機的PWM模塊,還原存儲在存儲器中的聲音采樣數據,在幾乎不增加成本的情況下,實現嵌入式應用中的擴展語音功能。

  HCS12系列單片機未包含數/模轉換的模塊。要給其擴展語音功能,通常的做法是增加一塊數/模轉換芯片。雖然這樣做可以得到非常好的音質(取決于數/模轉換芯片的性能),但由于要多使用一塊數/模轉換芯片,在對音質要求不太高的應用中,會給設計增加額外的成本,同時也使電路設計相對復雜。

  本文介紹利用PWM還原聲音的解決方案,可以很好地解決這個矛盾。例如安全報警應用中,系統通常已經包含了一塊微控制器(用來處理人機交互以及系統的控制等),當發出警報時,可以是“BB”或“當當”的蜂鳴聲;當然,更好的做法是發出清晰的語音。

  用PWM產生聲音的基本原理,是使用存儲在Flash中的音頻采樣數據或通過某種算法產生的聲音數據,來控制PWM每個波形的占空比;接下來通過一低通濾波器濾波,就可將聲音從PWM的脈沖波里分離出來,驅動揚聲器發出聲音。 

  1 從WAV文件中提取聲音采樣數據

  一般來說,可以從WAV文件中提取聲音數據,標準的WAV格式的聲音文件含有聲音的采樣數據和文件頭。文件頭描述了后面聲音數據的一些信息,如通道數、采樣頻率、采樣位數以及數據的長度等。

  通道數,是指聲音的采樣路數,如單聲道、立體聲等。采樣頻率,是指每秒鐘對聲音的采樣次數,采樣頻率越高,還原出來的聲音越接近原始聲音,如表l所列。要精確還原出某種頻率的波形,其最小采樣率應為該波形的2倍。

采樣頻率與音質關系

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

程序

  提取聲音數據時,請注意采樣頻率、采樣位數、存儲容量與存儲時間的關系,如表2所列。通常,11.025 kHz的采樣頻率和8位的采樣位數可獲得清晰的語音以及較好的音樂聲,并且占有較少的存儲空間。

采樣頻率

  通過了解和分析WAV文件的格式,可以將文件中的聲音采樣數據讀取出來,并轉換為C語言格式的數組結構,以便和其他程序一并編譯和下載到芯片中去。例如:

程序

  2 產生PWM波形

  要還原聲音,最低要求是HCSl2系列微控制器具備一個PWM模塊,芯片選擇的另一個細節是要有足夠的Flash存儲容量,來存儲聲音的采樣數據。MC9S12DP256具有一個16位的PWM模塊.可產生16位解析精度的PWM波形,這意味著nr以使用16位的采樣數據來產生PWM。MC9S12DP256還具備256 KB的Flash,能夠存儲23 78 s八位11.025 kHz的采樣數據。

  產生PWM波形的步驟:

  ①設置定時器.產生定時中斷:如采樣率為ll.025 kHz.則設置定時器的定時中斷頻率為11.025 kHz。

  ②初始化PWM模塊,產生11.025kHz的PWM波形。

  ③等待定時器中斷,在中斷處理程序中取采樣數據,并設置PWM占空比寄存器,判斷聲音是否播放完成。若完成,則關定時器巾斷,并停止PWM輸出。

  3 低通濾波

  PWM輸出后須通過低通濾波器濾波,才能還原成人耳能識別的聲音。低通濾波器的類型和參數取決于聲音的采樣頻率和價格預算。最簡單的要數RC濾波器。這種濾波器的優點是儀需要兩個元件,另一種是有源濾波器,濾波效果好,但相對復雜。

  濾波器截止頻率的選擇,對于音頻輸出是非常重要的,推薦設置在采樣頻率的一半。若要獲得更佳的濾波器截止頻率,就要進一步對采樣數據進行分析,找出最大具有有效聲音數據的頻率。當然,在一般應用中并沒有要求這么嚴格,甚至在某些場合中,即使用參數不非常明確的元件也能獲得很好的聲音輸出,這時RC濾波器將是最好的選擇。

程序

程序

  推薦使用圖1所示的濾波器,其截止頻率為5.5 kHz(11.025 kHz/2)。這個設計中,使用了2個運算放大器,足夠驅動一小型揚聲器。

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

濾波器

  結語

  利用MC9S12DP256微控制器的PWM功能可為單片機的應用增加語音功能。對聲音采樣數據的存儲方式是用直接的、原始的采樣數據。在具體的實際應用中,為存儲更長時間的聲音數據,還可對聲音數據進行壓縮,具體算法請參考相關資料。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 美女私密福利第一导航 | 欧美在线观看一区 | 亚洲欧美精品一区天堂久久 | 国产欧美成人免费观看视频 | 夜夜骑天天干 | 九九热在线播放 | 国产欧美精品一区二区三区–老狼 | 插菊综合网 | 欧美一级美片在线观看免费 | 日本特级淫片 | 岛国在线播放v片免费 | 亚洲永久精品一区二区三区 | 911国内自产亚洲第一 | 久热爱精品视频在线观看久爱 | 欧美爽爽爽爽爽爽视频 | 九九热免费在线视频 | 精品小视频 | 综合丁香 | a毛片在线观看 | 久久亚洲私人国产精品va | 亚洲天堂va| 亚洲欧洲日产国码在线观看 | 精品国产麻豆免费网站 | 最近免费中文字幕视频高清在线看 | 天天色综合2 | 中文字幕日韩精品亚洲七区 | 成年人在线观看视频免费 | 国产自产在线 | 一级特色大黄美女播放网站 | 精品国产成人 | 日本成人在线播放 | 日本欧美韩国专区 | 亚洲精品影视 | 黄色福利小视频 | 日产免费自线一二 | 久艹在线| 国产欧美日韩综合二区三区 | 国产级a爱做片免费观看 | japanhd日本xxxxx| 一级特黄牲大片免费视频 | 成人免费公开视频 |