基于ISD4004語(yǔ)音芯片和AT89S52單片機(jī)的語(yǔ)音播報(bào)記
引 言
本文介紹一種以語(yǔ)音存儲(chǔ)與自動(dòng)播放系統(tǒng)為基礎(chǔ)的語(yǔ)音播報(bào)記事器設(shè)計(jì)。該設(shè)計(jì)以ISD4004:語(yǔ)音芯片和AT89S52單片機(jī)為中心,很好地實(shí)現(xiàn)了語(yǔ)音存儲(chǔ)與自動(dòng)播放。
1 硬件設(shè)計(jì)原理
語(yǔ)音播報(bào)記事器的主要功能是實(shí)現(xiàn)語(yǔ)音存儲(chǔ)與定時(shí)播放。要實(shí)現(xiàn)語(yǔ)音存儲(chǔ)與定時(shí)播放的方法很多,可供選擇的器件也很多。由于單片機(jī)等微控制器的出現(xiàn)和數(shù)字電路技術(shù)的發(fā)展,使得現(xiàn)在的語(yǔ)音存儲(chǔ)與自動(dòng)播放變得易于實(shí)現(xiàn)。本設(shè)計(jì)采用單片機(jī)作為微控制器。單片機(jī)的字長(zhǎng)由4位、8位、16位發(fā)展到32位。目前這幾種字長(zhǎng)的單片機(jī)同時(shí)存在于市場(chǎng),用戶可以根據(jù)不同的需要進(jìn)行選擇。本系統(tǒng)選用字長(zhǎng)為8位的AT89S52單片機(jī)作為控制器。
目前可以與單片機(jī)配合使用的語(yǔ)音芯片有很多,其中不乏性能十分優(yōu)越的語(yǔ)音芯片,美國(guó)ISD公司生產(chǎn)的ISD4004語(yǔ)音芯片就是它們中的一員。ISD4004芯片采用CMOS技術(shù),內(nèi)含振蕩器、防混淆濾波器、平滑濾波器、音頻放大器、自動(dòng)靜噪及高密度多電平閃爍存貯陣列。引腳包括電源、時(shí)鐘、語(yǔ)音信號(hào)模擬輸入/輸出端、與MCU接口(SPI接口)幾部分。芯片采用多電平直接模擬量存儲(chǔ)技術(shù),每個(gè)采樣值直接存貯在片內(nèi)閃爍存貯器中,因此能夠非常真實(shí)、自然地再現(xiàn)語(yǔ)音。
ISD4004系列單片錄放時(shí)間為8~16 min,采樣頻率可為4.0/5.3/6.4/8.0 kHz,頻率越低,錄放時(shí)間越長(zhǎng),而音質(zhì)則有所下降。芯片設(shè)計(jì)基于所有操作必須由微控制器控制,操作命令可通過串行通信接口(SPI或Mi-crowire)送入。由于ISD4004的眾多優(yōu)點(diǎn),本設(shè)計(jì)就采用它作為錄放音器件。
系統(tǒng)外接時(shí)鐘芯片PCF8563、矩陣鍵盤LED顯示和E2PROM AT24C01。錄音時(shí)為了改善語(yǔ)音質(zhì)量,要提高輸入端的信噪比,因此在系統(tǒng)的輸入端采用三極管(9014)放大電路單端輸入,系統(tǒng)的輸出端經(jīng)音頻功率放大器LM386放大輸出后驅(qū)動(dòng)揚(yáng)聲器。整個(gè)系統(tǒng)的系統(tǒng)框圖如圖1所示。
2 硬件設(shè)計(jì)
2.1 語(yǔ)音輸入與輸出電路設(shè)計(jì)
語(yǔ)音信號(hào)經(jīng)過駐極體話筒轉(zhuǎn)化為的電信號(hào)很微弱,在送入語(yǔ)音芯片之前需要經(jīng)過放大。這樣做的目的是為了提高信號(hào)的信噪比,以達(dá)到更好的抑制噪聲的目的。由于聲電轉(zhuǎn)換器件使用的是駐極體話筒,所以后級(jí)放大電路使用三極管作為放大器件即可滿足要求。本設(shè)計(jì)中從語(yǔ)音芯片輸出的語(yǔ)音信號(hào)很微弱,不能直接驅(qū)動(dòng)揚(yáng)聲器,所以要在語(yǔ)音芯片和揚(yáng)聲器之間加上一個(gè)功率放大電路。功率放大電路使用美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的音頻功率放大器LM386并配合少許電容電阻構(gòu)成。該功放電路的放大效果良好,噪音小,可以滿足本設(shè)計(jì)的要求。
2.2 顯示電路設(shè)計(jì)
本設(shè)計(jì)的顯示部分使用LED數(shù)碼管。為了提高LED顯示的亮度,在本設(shè)計(jì)中,將a,b,c,d,e,f,g引腳分別串聯(lián)300 Ω的電阻后接5 V電壓即可。本設(shè)計(jì)采用軟件查表方式輸出。當(dāng)系統(tǒng)沒有錄放音時(shí),需要顯示年、月、日、時(shí)、分、秒、星期等信息;當(dāng)系統(tǒng)有錄放音時(shí),需要顯示與錄放音有關(guān)的信息。這樣,整個(gè)系統(tǒng)一共需要15個(gè)數(shù)碼管。為了節(jié)省單片機(jī)的I/O口,顯示部分使用了74LS154,單片機(jī)與LED的接口采用動(dòng)態(tài)接口。74LS154是4線16線譯碼器,用于將單片機(jī)的輸出譯碼后作為L(zhǎng)ED的片選信號(hào)使用。
2.3 PCF8563接口電路設(shè)計(jì)
PCF8563是飛利浦公司生產(chǎn)的低功耗的CMOS實(shí)時(shí)時(shí)鐘/日歷芯片,是I2C總線接口器件。設(shè)計(jì)中,PCF8563用來(lái)提供時(shí)間和日歷信息。當(dāng)沒有進(jìn)行錄音和放音操作時(shí),本設(shè)計(jì)相當(dāng)于一個(gè)萬(wàn)年歷;當(dāng)進(jìn)行錄音或放音時(shí),PCF8563用來(lái)對(duì)每段錄音或放音進(jìn)行計(jì)時(shí),所有的時(shí)間信息均通過LED數(shù)碼管顯示出來(lái)。由于PCF8563是漏極開路,所以必須要加5.1 kΩ的上拉電阻。PCF8563與AT89S52的接口電路設(shè)計(jì)如圖2所示。
2.4 ISD4004接口電路設(shè)計(jì)
本設(shè)計(jì)使用ISD4004-16M型號(hào)的語(yǔ)音芯片。這款語(yǔ)音芯片可以錄音16 min,它有一個(gè)端口為RAC端,RAC為行地址時(shí)鐘端,每個(gè)RAC周期表示ISD存儲(chǔ)器的操作進(jìn)行了1行(ISD4004系列中的存貯器共2 400行),所以RAC端的行地址數(shù)目與語(yǔ)音芯片中存儲(chǔ)器的行數(shù)對(duì)應(yīng),即語(yǔ)音芯片存放的每段錄音的初始與結(jié)束地址與惟一的RAC行地址數(shù)對(duì)應(yīng)。所以只需將RAC端與單片機(jī)的計(jì)數(shù)端相連,僅記錄RAC行地址數(shù)目即可實(shí)現(xiàn)整個(gè)錄放操作,且單片機(jī)的計(jì)數(shù)器無(wú)需中斷。根據(jù)以上的思想,設(shè)計(jì)ISD4004與單片機(jī)的接口電路如圖3所示。
3 軟件設(shè)計(jì)
本設(shè)計(jì)中的程序設(shè)計(jì)包括以下幾個(gè)部分,即鍵盤處理程序、ISD4004放音驅(qū)動(dòng)程序、ISD4004錄音驅(qū)動(dòng)程序、時(shí)間校正程序、錄音子程序、放音子程序、播放時(shí)間設(shè)置子程序、播放選擇程序、子程序設(shè)計(jì)。圖4為主程序流程圖。
4 系統(tǒng)測(cè)試
系統(tǒng)上電后15個(gè)數(shù)碼管全亮大概3 s,以此檢測(cè)數(shù)碼管的好壞。之后數(shù)碼管會(huì)出現(xiàn)年、月、日、星期、時(shí)、分、秒等信息。當(dāng)按下錄音鍵后,系統(tǒng)開始錄音。錄音時(shí),數(shù)碼管會(huì)顯示“SAVE”字樣,并會(huì)顯示該段錄音的時(shí)間信息;當(dāng)確定鍵按下后,該語(yǔ)音段的錄音結(jié)束,數(shù)碼管重新顯示時(shí)間信息。當(dāng)按下放音鍵時(shí),系統(tǒng)開始放音,這時(shí)數(shù)碼管會(huì)顯示“PLAY”字樣,并會(huì)顯示該段錄音的時(shí)間信息。放音結(jié)束后數(shù)碼管會(huì)回到時(shí)間顯示界面。當(dāng)按下時(shí)間校正鍵后,便可以對(duì)時(shí)間進(jìn)行校正;當(dāng)按下確定鍵后,時(shí)間校正結(jié)束。本系統(tǒng)可以錄音15 min,可以錄4段錄音。當(dāng)按下播放設(shè)置鍵后,就可以對(duì)每段錄音的播放時(shí)間進(jìn)行設(shè)置;當(dāng)按下播放選擇鍵后,就可以播放4段錄音中的任意一段。
本系統(tǒng)在播放錄音時(shí)會(huì)有少量的噪音,可能由以下原因造成:
(1)整個(gè)系統(tǒng)完全是手工焊制,線路之間存在干擾;
(2)ISD4004的數(shù)字地與模擬地沒有分別走線,全部接到了一起,存在干擾;
(3)語(yǔ)音輸入放大電路的放大倍數(shù)不夠,噪聲沒有得到足夠的抑制。
整個(gè)系統(tǒng)的設(shè)計(jì)合理,外圍電路結(jié)構(gòu)簡(jiǎn)單,方便調(diào)試;單片機(jī)余留有I/O口,方便系統(tǒng)的升級(jí)和擴(kuò)展;單片機(jī)的所有程序均使用C-51進(jìn)行編寫,方便調(diào)試和閱讀。整個(gè)系統(tǒng)工作穩(wěn)定,操作方便。本設(shè)計(jì)的設(shè)計(jì)原理完全可以用在公共汽車上,作為語(yǔ)音報(bào)站器使用,也可以用在銀行和醫(yī)院等一些需要自動(dòng)播報(bào)語(yǔ)音信息的公共場(chǎng)所。在本設(shè)計(jì)的基礎(chǔ)上稍加擴(kuò)充,就可以滿足實(shí)際應(yīng)用的需要。
評(píng)論