單片機(jī)在語音存儲與回放中的應(yīng)用
一、引言
目 前,隨著數(shù)字化信號處理技術(shù)的不斷提高,單片機(jī),數(shù)字信號處理器以及語音處理大規(guī)模集成電路的進(jìn)步,語音合成,語音識別,語音存儲和回放技術(shù)的應(yīng)用越來越 廣泛,盡管現(xiàn)在各種語言合成芯片,語音處理應(yīng)用電路有許多,但都需要增加硬件投資,在一些由單片機(jī)構(gòu)成的測控系統(tǒng)中,由于單片機(jī)接口有限,還需要擴(kuò)寬硬件 接口線路,本文介紹的語音存儲與回放系統(tǒng)中,沒有使用專用的語音處理芯片,不需擴(kuò)寬接口電路,只利用一般的單片機(jī)測控系統(tǒng)中都有的硬件電路(如A/D、 D/A、,存儲器等)就能完成語音信號的數(shù)字化處理,即能完成語音的存儲與回放,實現(xiàn)單片機(jī)測控系統(tǒng)的語音提示報警及語音提示操作。因此特別適用于單片機(jī) 測控系統(tǒng),為單片機(jī)測控系統(tǒng)的語音報警及語音提示操作在幾乎不需增加硬件投資情況下的語音處理提供了一種思路。
2、系統(tǒng)總體結(jié)構(gòu)
數(shù)字化語音存儲與回放系統(tǒng)的基本思想是將模擬語音信號通過模數(shù)轉(zhuǎn)換器A/D轉(zhuǎn)換成數(shù)字信號,再通過單片機(jī)控制存儲在存儲器中,回放時,由單片機(jī)控制將數(shù)據(jù)從存儲器中讀出,然后通過數(shù)模轉(zhuǎn)換器D/A 轉(zhuǎn)換成模擬信號,經(jīng)放大在揚聲器或耳機(jī)上輸出語音。
本設(shè)計方案系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示:
3、各部分電路設(shè)計
1)音頻前置放大器
聲音通過MIC轉(zhuǎn)換成微弱的電信號(mv級),必須進(jìn)行放大才能經(jīng)A/D轉(zhuǎn)換送入單片機(jī)。可采用專用的音頻前置放大器。本方案采用寬頻帶,低噪聲及失真小的NE5534組成,放大器增益可調(diào),如圖2所示。
2)帶通濾波器(BPF)
本方案選擇有源帶通濾波器,]由運算放大器OP07組成。其中心頻率為f。=1000Hz,通帶為300Hz-3.4KHz。品質(zhì)因數(shù)可調(diào)如圖2所示
3)A/D轉(zhuǎn)換器
帶 通濾波器的輸出信號經(jīng)采樣保持(LF398)后送A/D轉(zhuǎn)換器轉(zhuǎn)換,本方案選用的是AD574芯片,本系統(tǒng)中采樣頻率fs=8KHz,字長為8位。 AD574是快速、逐次逼近型、12/8位模/數(shù)轉(zhuǎn)換器,轉(zhuǎn)換速度最大為35us,轉(zhuǎn)換精度小于等于0.05%。AD574片內(nèi)具有三態(tài)輸出緩沖電路,可 直接與8位或16位單片機(jī)接口,使用非常方便,應(yīng)用廣泛,價格適中。
4)D/A轉(zhuǎn)換器
語音回放需將存儲的數(shù)字信號通過D/A轉(zhuǎn)換器轉(zhuǎn)換成語音模擬信號,本方案選用DAC0832芯片,變換頻率為fc-8KHz,字長為8位,DAC0832是一種具有兩個輸入緩沖器的8位D/A芯片,轉(zhuǎn)換時間為1us,可直接與89C51相連。
5)單片機(jī)及存儲器
本方案采用ATMEL公司的AT89C51微控制器,選用閃速存儲器 AT29C040作為存儲器供采集用。
AT89C51與8031相比,它內(nèi)部有4K E2PROM,可省去最少系統(tǒng),節(jié)省并行口,兩者兼容。
AT29C040具有在線可擦寫,非揮發(fā)性,信息保存可靠,存儲容量大等優(yōu)點,每片的容量為512K字節(jié),它是國外最新產(chǎn)品。該產(chǎn)品的讀寫與一般RAM相同。由于89C51一般能尋址64K字節(jié)。
所以需要利用P1口進(jìn)行地址擴(kuò)寬。本系統(tǒng)中另加三根線(P1.1,P1.2,P1.3),作地址線用,使尋址空間擴(kuò)寬到512K字節(jié),并采用分頁管理方式進(jìn)行管理分配內(nèi)存,即在總線輸出地址之前,先對外加的3根高位地址選頁, 然后在所選頁中,進(jìn)行輸入,輸出操作。
由于系統(tǒng)的采樣頻率fs=8KHz,字長為8位字節(jié),1秒鐘的語音需要8K字節(jié)的存儲空間。這樣一片AT29C040可存儲60秒鐘的語音。
單片機(jī)與A/D、D/A及存儲器的連接如圖3所示。
4、軟件設(shè)計
利 用89C51的INT0和INT1設(shè)置兩按鈕,INT0中斷完成語音存儲功能,INT1中斷完成語音回放功能。為保證語音的采樣頻率為8KHz,利用 CTC定時采樣 ,同樣在回放時的變換頻率也通過CTC確定為8KHz,其INT0中斷服務(wù)程序和INT1中斷服務(wù)框圖如圖4所示。
5、結(jié)束語
本系統(tǒng)電路簡單,程序乘法。采用閃存保存語音,即使斷電仍然能保持信息不丟失,所以保存信息安全可靠。如果在軟件中增加壓縮算法,可節(jié)省存儲空間,是一種實用的電路方案。