專利名稱:一種基于fpga的數(shù)字化語音存儲與回放系統(tǒng)的制作方法
一種基于FPGA的數(shù)字化語音存儲與回放系統(tǒng)所屬領(lǐng)域本發(fā)明屬于電子技術(shù)領(lǐng)域,特別是屬于數(shù)字音頻信息存儲、播放領(lǐng)域。
背景技術(shù):
傳統(tǒng)的磁帶語音錄放系統(tǒng)因其體積大,使用不便,在電子與信息處理的使用中受到許多限制.本發(fā)明提出的體積小巧,功耗低的的數(shù)字化語音存儲與回放系統(tǒng),完全可以替代磁帶系統(tǒng),數(shù)字化語音存儲和回放系統(tǒng)的基本原理是對語音的錄音與放音的數(shù)字控制,其中關(guān)鍵技術(shù)在于為了增加語音存儲的時間,提高存儲器的利用率,采用了非失真的壓縮算法對語音信號進行壓縮后再存儲,在回放時再進行解壓縮,對輸入語音信號進行數(shù)字濾波以抑制雜音和干擾,從而確保了語音回放的質(zhì)量。目前基于單片微機的語音系統(tǒng)的應(yīng)用越來越廣泛,如電腦語音鐘、語音型數(shù)字萬用表、手機話費查詢系統(tǒng)、排隊機、監(jiān)控系統(tǒng)語音報警以及公共汽車報站器等等。本發(fā)明是一種基于FPGA的數(shù)字化語音存儲與回放系統(tǒng),是一套智能語音錄放系統(tǒng),實現(xiàn)了語音的分段錄取、組合回放,通過軟件進行控制。
發(fā)明內(nèi)容
本發(fā)明所涉及的系統(tǒng)分為3個狀態(tài)待機狀態(tài),錄音狀態(tài)和回放狀態(tài),分別由三個按鍵(RESET,RECORD, PLAY)控制進入。系統(tǒng)主要由A/D轉(zhuǎn)換器ADC0809、D/A轉(zhuǎn)換器 DAC0832、靜態(tài)存儲器SRAM IS61LV5U8和FPGA控制器組成。其中控制器為本系統(tǒng)核心,在錄音狀態(tài)時控制ADC0809采集模擬語音信號,并將采集到的數(shù)據(jù)存儲于IS61LV5U8 ;回放狀態(tài)時讀取SRAM中存儲的數(shù)字語音信號并利用DAC0832轉(zhuǎn)換為模擬語音信號,系統(tǒng)總體框圖如圖1所示。本發(fā)明中主要分為前向同道和后項通道,前向通道主要完成語音信號的采集及存儲,后向通道完成語音信號的讀取和回放。前向通道主要包括話筒及其放大電路、自動增益放大電路、帶通濾波電路、A/D轉(zhuǎn)換電路;后向通道包括D/A轉(zhuǎn)換電路、低通濾波電路和功率放大電路。本發(fā)明的話筒采用駐極體話筒,它具有體積小、結(jié)構(gòu)簡單、電聲性能好、價格低的特點。它的輸出電平一般為幾十毫伏左右,經(jīng)過放大電路使其電壓幅度達到2V左右。系統(tǒng)采用兩級高輸入阻抗同向放大電路,R2用來調(diào)節(jié)駐極體話筒的工作點,前一級增益Al = 1+R4/R3,后一級增益A2 = 1+R7/R6。前一級主要起隔離和阻抗匹配的作用,而第二級主要完成電壓的放大,電路原理圖如圖2所示。在本電路中R9和C5組成無源濾波器,對輸入信號進行初濾波,Dl, R13,C6組成包絡(luò)檢波電路,將運放輸出的交流語音信號轉(zhuǎn)換成直流信號。輸出音頻信號的電壓量通過R12反饋到運放的負(fù)端,反饋電壓在RlO上產(chǎn)生壓降,而RlO 作用于工作在可變電阻區(qū)的場效應(yīng)管的柵極,從而通過控制UGD來改變場效應(yīng)管的導(dǎo)通電阻,達到改變放大倍數(shù)的目的。當(dāng)信號強度強時自動減小放大倍數(shù),信號弱時自動增大放大倍數(shù),電路如圖3所示。本發(fā)明帶有通濾波電路,聲音信號由話筒經(jīng)放大電路轉(zhuǎn)換成電壓信號后,必須經(jīng)過帶通濾波器除去雜波。本系統(tǒng)中帶通濾波器由二階高通濾波器和二階低通濾波器組成, 根據(jù)語音信號的范圍,選擇通帶范圍為300Hz 3. 4kHz。這個帶通濾波器既可以保證語音信號通過,又可以消除采樣信號的諧波成分,電路如圖4所示。上限截止頻率^二 ——=-^-- = 3.62KHz
“2π R15Cs 2πχ2χ103χ0.022χ10"6下限截止頻率Α=^^:27Γχ1.1χ丄Q.47x妒=308歷
f f 1964品質(zhì)因素2= + = ^^ = ^ = 0.593
Jbw Jh -Ji存儲系統(tǒng)SRAM連接電路如圖5所示,所使用的IS61LV5U8是美國芯成半導(dǎo)體公司生產(chǎn)的靜態(tài)SRAM,其容量為51IX8bit,在本系統(tǒng)中主要用于存儲采樣得到的數(shù)字語音信號。本發(fā)明的A/D轉(zhuǎn)換器采用TI公司生產(chǎn)的ADC0809,其分辨率為八位,時鐘范圍為 640KHz 1280KHZ,為了達到8KHz的采樣頻率,F(xiàn)PGA為其提供750KHz的時鐘信號。由于 ADC0809不能對雙極性信號進行采樣,轉(zhuǎn)換范圍只能在OV 5V,為了保證語音信號不失真, 在進行A/D轉(zhuǎn)換之前,應(yīng)先利用同相比例放大電路給信號提供一個2. 5V的偏置,A/D轉(zhuǎn)換
電路如圖6所示,由圖可知,運放輸出電壓% = R23 L W +^-I
^Ku + K25)xK2& K26 J本發(fā)明的后向通路中,D/A轉(zhuǎn)換電路的DAC轉(zhuǎn)換器采用國家半導(dǎo)體公司生產(chǎn)的 DAC0832,它為8位雙極型電流驅(qū)動數(shù)模轉(zhuǎn)換器。在此利用兩級運放電路將電流信號轉(zhuǎn)換為電壓信號,連接電路如圖7所示
T, T, DwitalCode -128其輸出電壓^Wr= VREF X-—-低通濾波器設(shè)計,由于經(jīng)D/A轉(zhuǎn)換后的模擬語音信號主要含有因采樣引入的高次諧波成分,使得產(chǎn)生的模擬信號為階梯波,所以需在后面添加一級低通濾波,濾除引入的高次諧波成分。在此,選用截止頻率為4KHz的二階低通濾波器,其電路如圖8所示其上限截止頻率為-=---- = 4Λ63ΚΗζ
2π R32Cu 2χ3.14χ75χ103χ510χ10"12本發(fā)明音頻功率放大電路,從低通濾波器輸出的語音信號功率較小,需經(jīng)過功率放大電路放大后才能送給擴音器播放,在此選擇國家半導(dǎo)體公司生產(chǎn)的LM386音頻功率放大器對模擬語音信號放大,連接電路如圖9所示。本發(fā)明的軟件系統(tǒng)設(shè)計方面,軟件主要負(fù)責(zé)整個系統(tǒng)的狀態(tài)控制并產(chǎn)生各模塊需要的控制信號。系統(tǒng)總共分為三個狀態(tài),按照狀態(tài)機設(shè)計模式劃分如下待機狀態(tài)不錄音不放音,設(shè)有復(fù)位鍵,按下后SRAM的地址計數(shù)器清空,A/D轉(zhuǎn)換器和D/A轉(zhuǎn)換器停止工作。錄音狀態(tài)設(shè)有錄音鍵,按下后進入,控制部分向ADC0809輸出一個頻率為750ΚΗζ 的時鐘信號和一個8Κ的采樣信號START,使得采樣率保持在lOOus,同時向計數(shù)器輸出一個與START同步的CLK信號。將計數(shù)器的計數(shù)值作為SRAM的地址,在每次A/D轉(zhuǎn)換結(jié)束時產(chǎn)生一個結(jié)束信號,用此信號作為SRAM的片選和寫入信號,即可按照地址遞增的順序?qū)⒉杉降臄?shù)字語音信號存入SRAM。再次按下RESET鍵表示錄音結(jié)束,當(dāng)錄音結(jié)束或計數(shù)器溢出時系統(tǒng)產(chǎn)生錄音停止信號C0,然后系統(tǒng)進入待機狀態(tài)。 回放狀態(tài)設(shè)有回放鍵PLAY,按下后進入,控制部分向計數(shù)器輸出與START同頻率的CLK信號,保證存儲與回放的節(jié)奏一致,同時給SRAM遞增的地址信號,DAC開始工作,把 SRAM輸出的數(shù)字語音信號轉(zhuǎn)換成模擬語音信號,再通過后向通道達到語音回放的目的。再次按下RESET鍵時進入待機狀態(tài)。系統(tǒng)軟件信號流向圖如圖10所示。軟件流程圖如圖11 所示,F(xiàn)PGA的控制模塊軟件設(shè)計如圖12所示。圖13是FPGA時序圖。系統(tǒng)調(diào)試證明,本發(fā)明噪聲低,語音回放效果好、抗干擾能力強,各方面性能優(yōu)越。
圖1系統(tǒng)總體框圖
圖2音頻信號前級放大電路
圖3音頻信號自動增益控制電路
圖4音頻信號帶通濾波器電路
圖5IS61LV5128連接電路
圖6ADC0809連接電路
圖7DAC0832連接電路
圖8二階低通濾波器連接電路
圖9音頻功率放大器連接電路
圖10系統(tǒng)軟件信號流向圖
圖11軟件流程圖
圖12FPGA控制模塊軟件設(shè)計圖
圖13FPGA時序圖
具體實施例方式本發(fā)明的主要系統(tǒng)設(shè)計如發(fā)明內(nèi)容中描述,本發(fā)明的系統(tǒng)程序的實現(xiàn)方面分頻程序library ieee ;use ieee. std_logic_1164. all ;entity fen is port (elk:in std_logic ;clkfen:out std_logic);endfen ;architecture fen_arc of fen isbeginprocess (elk)variable cnt: integer range 0 to 89 ;beginif elk' event and elk =' 1' thenif cnt = 89then
5
cnt: = 0 ;clkfen < = ' 1';elsecnt: = cnt+1 ;clkf en < = ' 0';end if ;end if ;end process ;end fen_arc ;主程序library ieee ;—stateuse ieee.std_logic_1164. all ;entity statel isport(elk:in std_logic ;clk2:in std_logic ;co: in std_logic ;—count' s coreset:in std_logic ;rec: in std_logic ;play:in std_logic ;eoc: in std_logic ;start: out std_logic ;--adAoe: out std_logic ;—adSwe: out std_logic ;—sramScs: out std_logic ;—sramDcs: out std_logic ;—da chip selectcn:out std_logic ;—count' s elkcreset: out std_logic) ;—count‘ s resetend statel ;architecture a of statel istype states is (stO, stl, st2);signal current_state, next_state: states: = stO ;beginTM:process (reset, elk)beginif reset =' 1' or co =' 1' thencurrent_state < = stO ;elsif elk' event and elk =' 1' thencurrent_state < = next_state ;end if ;
6
end process ;COM process (play, rec, current_state, eoc, co)begincase current_state iswhen stO => start < = ' 0' ;Aoe < = ' O' ;Scs < = ‘ 1' ;Dcs
<='1' ;cn < = ' O' ;—waitcreset < = ‘ 1';if rec1' thennext_state <= stl ;elsif play =' 1' thennext_state <= st2 ;elsenext_state <= stO ;end if ;when stl = > Aoe < = ' 1' ;Dcs < = ' 1' ;—recordSwe <= not eoc ;Scs <= not eoc ;cn <= clk2 ;creset < =' 0';start <= clk2 ;if play =' 1' thennext—state <= st2 ;elsif rec =' 0' then—fullnext_state <= stO ;elsenext_state <= stl ;end if ;when st2 => start < = ' 0' ;Aoe < = ' 0' ;Scs < = ‘ 0' ;Swe
<='1' ;Dcs < = ' 0' ;—playcn <= clk2 ;creset < = ‘ 0';if rec=' 1' thennext—state <= stl ;elsif play =' 0' thennext—state <= stO ;elsenext_state <= st2 ;end if ;
end case ;end process ;end a ;
權(quán)利要求
1.一種基于FPGA的數(shù)字化語音存儲與回放系統(tǒng),包括語音存儲系統(tǒng)、軟件控制系統(tǒng)、 語音回放系統(tǒng),其主要特征在于
2.根據(jù)權(quán)利要求1所述的基于FPGA的數(shù)字化語音存儲與回放系統(tǒng),其主要特征在于以ALTRA公司EP1C12Q240C8 FPGA作為主控芯片,借助EDA技術(shù),利用8位A/D轉(zhuǎn)換器 ADC0809和SRAM IS61LV5128來實現(xiàn)語音信號的采集與存儲;
3.根據(jù)權(quán)利要求1所述的基于FPGA的數(shù)字化語音存儲與回放系統(tǒng),其主要特征在于 利用8位D/A轉(zhuǎn)換器DAC0832和低通濾波器將數(shù)字語音信號還原為模擬語音信號,從而實現(xiàn)語音的存儲和回放功能;
4.根據(jù)權(quán)利要求1所述的基于FPGA的數(shù)字化語音存儲與回放系統(tǒng),其主要特征在于 采用FPGA為系統(tǒng)提供750KHz的時鐘信號;
5.根據(jù)權(quán)利要求1所述的基于FPGA的數(shù)字化語音存儲與回放系統(tǒng),其主要特征在于 可擴展SRAM,以增加語音存儲時間,滿足不同用戶的要求。
全文摘要
本發(fā)明公開了一種基于FPGA的數(shù)字化語音存儲與回放系統(tǒng),以ALTRA公司EP1C12Q240C8FPGA作為主控芯片,借助EDA技術(shù),利用8位A/D轉(zhuǎn)換器ADC0809和SRAMIS61LV5128來實現(xiàn)語音信號的采集與存儲,利用8位D/A轉(zhuǎn)換器DAC0832和低通濾波器將數(shù)字語音信號還原為模擬語音信號,從而實現(xiàn)語音的存儲和回放功能。本系統(tǒng)具有設(shè)計快速,調(diào)試方便,系統(tǒng)噪聲低,語音回放效果好、抗干擾能力強等優(yōu)點,可廣泛應(yīng)用于日常生活。同時可擴展SRAM,增加語音存儲時間,滿足不同用戶的要求。
文檔編號G11B20/10GK102194498SQ201010126900
公開日2011年9月21日 申請日期2010年3月18日 優(yōu)先權(quán)日2010年3月18日
發(fā)明者王晨, 竺銀瑤 申請人:王晨, 竺銀瑤