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