王彥茹,胡體玲
(杭州電子科技大學 電子信息學院,浙江 杭州 310018)
語音信號是人們相互傳遞信息的最基本的手段,其直觀,信息量大,優點十分明顯。將語音信號采集并存儲起來,而且可以按照人們的想法來控制和播放一直是人們研究和利用的重點,因此人們從未中斷過對語音信號的探索和研究。隨著科學的進步和技術的提高,人們早已不滿足于單純只將語音采集和存儲起來,人們越來越注重保證語音信號高清晰度和低失真度。傳統的模擬磁性錄音機每錄一次就會增加錄音的噪聲,不方便多次錄放和廣泛傳播,這在一定程度上也限制了語音信號方面的發展。現代數字技術對語音信號進行采集,將模擬信號轉化成數字信號,極大地方便了語音信號的存儲和復制,且通過處理芯片能過濾掉語音信號中的噪聲分量,使語音信號更加純凈。
文中采用8位單片機AT89S52[1]結合專門的語音芯片ISD25120實現了對語音信號的模數轉換,并對轉換后的數字信號進行一系列的處理。與一般的語音記錄儀相比,不僅大大提高了語音信號的清晰度,降低了失真度,而且實現了語音信號的分段采集、選段播放,設計更加人性化。由于采用ISD25120可使播放時間長達2分鐘之久。
ISD25120是一個語音信號處理芯片,該芯片可處理4.0、5.3、6.4和8.0 kHz頻率范圍的音頻信號,錄音時間可達120 s,最多可分為600個段,能反復錄放10萬次。同時該芯片內部集成了A/D、D/A數模和模數轉換器,免去了繁雜的外圍電路也避免摻雜進噪聲分量,具有良好的音色又避免了一般固體錄音電路因量化和壓縮造成的量化噪聲。相對于傳統記錄儀電路,該電路又集成了放大電路,時鐘電路,編碼解碼功能模塊,采樣時鐘等功能模塊,能保證錄音質量的高保真度和放音質量高清晰度。
ISD2500系列語音芯片[2]將480 k的EEPROM分為 600個信息段,每段800個字節。每個信息段的錄放音時間等于總時間除以600。如ISD25120的總時間為120 s,則每個信息段的錄放音時間為200 ms。將這些信息段進行組合分配就可以達到多段語音錄放功能,因此在系統實現過程中,只需要從片機輸出相應的位地址來控制ISD25120芯片中語音存儲的位置來確認從哪里讀取信號即可。
綜上所述,在該系統中單片機主要用于對該芯片的功能以及語音存儲地址進行控制,所以單片機的編程變得十分簡單。此外,為了美化界面,實現人機通信,該系統添加了LCD1602液晶顯示器、鍵盤、串口等外圍設備。整個系統可以分為語音輸入模塊、語音輸出模塊、鍵盤模塊、顯示模塊、串口模塊、語音芯片模塊。硬件實現框圖如圖1所示。

圖1 硬件實現框圖Fig.1 Block of the hardware system
系統以ISD25120為核心,充分利用其豐富的片內資源對語音信號進行采樣、量化、編解碼等處理。系統實現可以分為ISD25120語音芯片電路模塊,單片機控制電路模塊。
文中采用ISD25120語音芯片構成的語音處理電路模塊,如圖2所示。ISD25120的地址/模式輸入口A0~A9與單片機相應的I/O口連接以實現分段錄放音,通過單片機輸出相應的位地址來控制ISD25120芯片中語音存儲的位置,確認從哪里讀取信號。P/R、EOM、PD、CE引腳與單片機的I/O口連接,利用單片機輸出相應的控制信號來控制語音的錄放模式。MIC和MIC-REF通過耦合電路連接咪頭,用來采集語音信號。SP+和SP-連接一個喇叭,用來播放語音信號。
單片機通過各I/O口的數據來控制與其相連的外圍設備的工作。圖3所示的單片機電路中已經標出與單片機各引腳相連的所有端口,包括液晶顯示器、語音芯片、復位電路、晶振電路、按鍵及串口等。其中,鍵盤模塊通過按鍵與單片機引腳的連接用來選擇錄音/放音,通道選擇,執行/停止,以及復位功能。顯示模塊采用2×16液晶顯示器LCD1602對系統所處的狀態(錄音/放音,通道)進行顯示。串口模塊串口以及串口驅動芯片MAX23與單片機管腳進行連接,實現單片機與PC機的聯系,以進行程序的抄寫。

圖2 ISD25120芯片電路模塊Fig.2 Circuit diagram of ISD25120 chip

圖3 單片機控制電路Fig.3 Diagram of MCU control circuit
圖4是系統的軟件流程圖。軟件設計采用C語言編程[6],它具備可讀性和可移植性,易于調試編程。系統初始化后,通過C語言編程和三個按鍵進行控制可實現語音信號的錄放和選段播放。同時可利用液晶顯示器進行狀態、通道和路線以及正在錄放音的通道信息的顯示。程序的編寫主要實現四個功能:鍵盤掃描,LCD顯示,錄放音功能和選段功能,其中編程的重點和難點在于實現分段錄放音。
本文介紹了一種基于單片機AT89S52和語音芯片ISD25120的語音記錄儀,該系統可實現分段存儲,選段播放的功能。語音播放的時間可長達120 s,同時可通過按鍵和液晶1602實現人機對話,對功能(錄音或者放音),頻道(存儲或播放的位置)以及音量的大小進行選擇和控制。此語音系統結構合理,設計簡潔緊湊,能實現預期功能。如果更換存儲量更大的語音芯片,則語音播放時間會相應延長,應用將更加廣泛。

圖4 軟件設計的流程圖Fig.4 Flow chart of the software design
[1]張大為,劉迪,趙亞范.基于AT89S52芯片的簡易智能小車的設計與實現[J].電子設計工程,2011(19):138-140.ZHANG Da-wei, LIU Di, ZHAO Ya-fan.Design and implementation of simple intelligent car based on AT89S52 chip[J].Electronic Design Engineering,2011(19):138-140.
[2]肖海榮,王鳳英,楊金清,等.基于AT89C2051和ISD2560的錄放音系統設計[J].微計算機信息,2004,1(7):63-64.XIAO Hai-rong, WANG Feng-ying, YANG Jin-qing, et al.Design of record&play system based on AT89C2051 and ISD2560[J].Microcomputer Information,2004,1(7):63-64.
[3]阮炎林,高紅亮.單片機語音處理技術應用[J].工業控制技術,2011(4):88-90.RUAN Yan-lin,GAO Hong-liang.The application of SCM speech processing technology[J].Tndustrial Control Technique,2011(4):88-90..
[4]戴仙金,冼進.51單片機及其C語言程序開發實例[M].北京:清華大學出版社,2008.
[5]姜寶港.智能家用電器技術[M].北京:機械工業出版社,2010.
[6]戴佳,戴衛恒,劉博文.51單片機C語言應用程序設計實例精講[M].北京:電子工業出版社,2008.