《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于ISD4004語音芯片和AT89S52單片機(jī)的語音播報記
基于ISD4004語音芯片和AT89S52單片機(jī)的語音播報記
摘要: 本文介紹一種以語音存儲與自動播放系統(tǒng)為基礎(chǔ)的語音播報記事器設(shè)計,。該設(shè)計以ISD4004:語音芯片和AT89S52單片機(jī)為中心,,很好地實(shí)現(xiàn)了語音存儲與自動播放,。
Abstract:
Key words :

  引 言

  本文介紹一種以語音存儲與自動播放系統(tǒng)為基礎(chǔ)的語音播報記事器設(shè)計,。該設(shè)計以ISD4004:語音芯片和AT89S52單片機(jī)為中心,,很好地實(shí)現(xiàn)了語音存儲與自動播放,。

  1 硬件設(shè)計原理

  語音播報記事器的主要功能是實(shí)現(xiàn)語音存儲與定時播放,。要實(shí)現(xiàn)語音存儲與定時播放的方法很多,,可供選擇的器件也很多,。由于單片機(jī)等微控制器的出現(xiàn)和數(shù)字電路技術(shù)的發(fā)展,使得現(xiàn)在的語音存儲與自動播放變得易于實(shí)現(xiàn),。本設(shè)計采用單片機(jī)作為微控制器,。單片機(jī)的字長由4位,、8位、16位發(fā)展到32位,。目前這幾種字長的單片機(jī)同時存在于市場,用戶可以根據(jù)不同的需要進(jìn)行選擇,。本系統(tǒng)選用字長為8位的AT89S52單片機(jī)作為控制器。

  目前可以與單片機(jī)配合使用的語音芯片有很多,,其中不乏性能十分優(yōu)越的語音芯片,,美國ISD公司生產(chǎn)的ISD4004語音芯片就是它們中的一員。ISD4004芯片采用CMOS技術(shù),,內(nèi)含振蕩器,、防混淆濾波器、平滑濾波器,、音頻放大器,、自動靜噪及高密度多電平閃爍存貯陣列。引腳包括電源,、時鐘,、語音信號模擬輸入/輸出端、與MCU接口(SPI接口)幾部分,。芯片采用多電平直接模擬量存儲技術(shù),,每個采樣值直接存貯在片內(nèi)閃爍存貯器中,因此能夠非常真實(shí),、自然地再現(xiàn)語音,。

  ISD4004系列單片錄放時間為8~16 min,采樣頻率可為4.0/5.3/6.4/8.0 kHz,,頻率越低,,錄放時間越長,而音質(zhì)則有所下降,。芯片設(shè)計基于所有操作必須由微控制器控制,,操作命令可通過串行通信接口(SPI或Mi-crowire)送入。由于ISD4004的眾多優(yōu)點(diǎn),,本設(shè)計就采用它作為錄放音器件,。

  系統(tǒng)外接時鐘芯片PCF8563、矩陣鍵盤LED顯示和E2PROM AT24C01,。錄音時為了改善語音質(zhì)量,,要提高輸入端的信噪比,因此在系統(tǒng)的輸入端采用三極管(9014)放大電路單端輸入,,系統(tǒng)的輸出端經(jīng)音頻功率放大器LM386放大輸出后驅(qū)動揚(yáng)聲器,。整個系統(tǒng)的系統(tǒng)框圖如圖1所示。

  


  2 硬件設(shè)計

  2.1 語音輸入與輸出電路設(shè)計

  語音信號經(jīng)過駐極體話筒轉(zhuǎn)化為的電信號很微弱,,在送入語音芯片之前需要經(jīng)過放大,。這樣做的目的是為了提高信號的信噪比,,以達(dá)到更好的抑制噪聲的目的,。由于聲電轉(zhuǎn)換器件使用的是駐極體話筒,,所以后級放大電路使用三極管作為放大器件即可滿足要求。本設(shè)計中從語音芯片輸出的語音信號很微弱,,不能直接驅(qū)動揚(yáng)聲器,,所以要在語音芯片和揚(yáng)聲器之間加上一個功率放大電路。功率放大電路使用美國國家半導(dǎo)體公司生產(chǎn)的音頻功率放大器LM386并配合少許電容電阻構(gòu)成,。該功放電路的放大效果良好,,噪音小,可以滿足本設(shè)計的要求,。

  2.2 顯示電路設(shè)計

  本設(shè)計的顯示部分使用LED數(shù)碼管,。為了提高LED顯示的亮度,在本設(shè)計中,,將a,,b,c,,d,,e,f,,g引腳分別串聯(lián)300 Ω的電阻后接5 V電壓即可,。本設(shè)計采用軟件查表方式輸出。當(dāng)系統(tǒng)沒有錄放音時,,需要顯示年,、月、日,、時,、分、秒,、星期等信息;當(dāng)系統(tǒng)有錄放音時,,需要顯示與錄放音有關(guān)的信息。這樣,,整個系統(tǒng)一共需要15個數(shù)碼管,。為了節(jié)省單片機(jī)的I/O口,顯示部分使用了74LS154,,單片機(jī)與LED的接口采用動態(tài)接口,。74LS154是4線16線譯碼器,用于將單片機(jī)的輸出譯碼后作為LED的片選信號使用,。

  2.3 PCF8563接口電路設(shè)計

  PCF8563是飛利浦公司生產(chǎn)的低功耗的CMOS實(shí)時時鐘/日歷芯片,,是I2C總線接口器件,。設(shè)計中,PCF8563用來提供時間和日歷信息,。當(dāng)沒有進(jìn)行錄音和放音操作時,,本設(shè)計相當(dāng)于一個萬年歷;當(dāng)進(jìn)行錄音或放音時,PCF8563用來對每段錄音或放音進(jìn)行計時,,所有的時間信息均通過LED數(shù)碼管顯示出來,。由于PCF8563是漏極開路,所以必須要加5.1 kΩ的上拉電阻,。PCF8563與AT89S52的接口電路設(shè)計如圖2所示,。

  

 

  2.4 ISD4004接口電路設(shè)計

  本設(shè)計使用ISD4004-16M型號的語音芯片。這款語音芯片可以錄音16 min,,它有一個端口為RAC端,,RAC為行地址時鐘端,每個RAC周期表示ISD存儲器的操作進(jìn)行了1行(ISD4004系列中的存貯器共2 400行),,所以RAC端的行地址數(shù)目與語音芯片中存儲器的行數(shù)對應(yīng),,即語音芯片存放的每段錄音的初始與結(jié)束地址與惟一的RAC行地址數(shù)對應(yīng)。所以只需將RAC端與單片機(jī)的計數(shù)端相連,,僅記錄RAC行地址數(shù)目即可實(shí)現(xiàn)整個錄放操作,,且單片機(jī)的計數(shù)器無需中斷。根據(jù)以上的思想,,設(shè)計ISD4004與單片機(jī)的接口電路如圖3所示,。

  

 

  3 軟件設(shè)計

  本設(shè)計中的程序設(shè)計包括以下幾個部分,即鍵盤處理程序,、ISD4004放音驅(qū)動程序,、ISD4004錄音驅(qū)動程序、時間校正程序,、錄音子程序,、放音子程序、播放時間設(shè)置子程序,、播放選擇程序,、子程序設(shè)計。圖4為主程序流程圖,。

  

 

  4 系統(tǒng)測試

  系統(tǒng)上電后15個數(shù)碼管全亮大概3 s,,以此檢測數(shù)碼管的好壞。之后數(shù)碼管會出現(xiàn)年,、月,、日、星期、時,、分,、秒等信息。當(dāng)按下錄音鍵后,,系統(tǒng)開始錄音,。錄音時,數(shù)碼管會顯示“SAVE”字樣,,并會顯示該段錄音的時間信息;當(dāng)確定鍵按下后,,該語音段的錄音結(jié)束,,數(shù)碼管重新顯示時間信息,。當(dāng)按下放音鍵時,系統(tǒng)開始放音,,這時數(shù)碼管會顯示“PLAY”字樣,,并會顯示該段錄音的時間信息。放音結(jié)束后數(shù)碼管會回到時間顯示界面,。當(dāng)按下時間校正鍵后,,便可以對時間進(jìn)行校正;當(dāng)按下確定鍵后,時間校正結(jié)束,。本系統(tǒng)可以錄音15 min,,可以錄4段錄音。當(dāng)按下播放設(shè)置鍵后,,就可以對每段錄音的播放時間進(jìn)行設(shè)置;當(dāng)按下播放選擇鍵后,,就可以播放4段錄音中的任意一段。

  本系統(tǒng)在播放錄音時會有少量的噪音,,可能由以下原因造成:

  (1)整個系統(tǒng)完全是手工焊制,,線路之間存在干擾;

  (2)ISD4004的數(shù)字地與模擬地沒有分別走線,全部接到了一起,,存在干擾;

  (3)語音輸入放大電路的放大倍數(shù)不夠,,噪聲沒有得到足夠的抑制。

  整個系統(tǒng)的設(shè)計合理,,外圍電路結(jié)構(gòu)簡單,,方便調(diào)試;單片機(jī)余留有I/O口,方便系統(tǒng)的升級和擴(kuò)展;單片機(jī)的所有程序均使用C-51進(jìn)行編寫,,方便調(diào)試和閱讀,。整個系統(tǒng)工作穩(wěn)定,操作方便,。本設(shè)計的設(shè)計原理完全可以用在公共汽車上,,作為語音報站器使用,也可以用在銀行和醫(yī)院等一些需要自動播報語音信息的公共場所。在本設(shè)計的基礎(chǔ)上稍加擴(kuò)充,,就可以滿足實(shí)際應(yīng)用的需要,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。