国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于AT89S52和K9F6408U0A的語音數字系統(tǒng)設計

2010-01-27 07:15鐘志萬
電子設計工程 2010年10期
關鍵詞:存儲器按鍵錄音

鐘志萬

(綿陽職業(yè)技術學院 信息工程系,四川 綿陽 621000)

數據采集技術涉及領域廣,采集信號的動態(tài)范圍寬,處理數據量大,對系統(tǒng)實時性能要求高。以數字信號的形式對信號進行處理,具有處理速度快、靈活、精確、抗干擾能力強、體積小及可靠性高等優(yōu)點,滿足了對信號快速、精確、實時處理及控制的要求。本設計利用了數字電路的這些優(yōu)點,對傳統(tǒng)的模擬錄音電路進行了改進,以較低的成本使性能得到了提高。

1 方案論證

本設計以數字化信號的形式對音頻信號進行處理,有以下3種方案可供選擇:

1)直接利用語音芯片進行語音錄放。Winbond公司的ISD系列語音芯片采用了Chip-Corded專利技術,聲音無需A/D轉換和壓縮就可直接存儲,不存在A/D轉換誤差,在一個記錄位(BIT)可存儲多達250級聲音信號,相當于通常A/D技術記錄容量的8倍。片內集成了晶體振蕩器、麥克風前置放大器、自動增益控制、抗混疊濾波器、平滑濾波器、聲音功率放大器等,只需很少的外圍器件,就可構成一個完整的聲音錄放系統(tǒng)[1]。

2)利用DSP對采樣信號進行處理。DSP是專門為快速實現各種信號處理算法而設計的、具有特殊結構的微處理器,其處理速度遠遠超過一般的CPU[2]。

3)利用AT89S52作為系統(tǒng)主控芯片,利用 ADC0809對音頻信號進行采集和A/D轉換,將轉換得到的數字化音頻信號存儲到擴展的數據存儲器中,利用軟件對信號進行數字濾波,最后通過單片機輸出PWM信號來完成放音。

從經濟和技術等因素考慮對上述3種方案進行比較:直接利用語音芯片可以減少很多外圍電路,電路設計方便,但語音芯片使用不夠靈活。 DSP具有強大的數字信號處理功能,使用靈活,但該芯片價格較高,不適于一般的應用。方案3)中器件均為常用芯片,易于獲取,且價位不高。因此,方案3)為最佳設計方案。

2 硬件設計

圖1為系統(tǒng)硬件結構圖。音頻信號通過拾音器將聲音信號轉換為可以處理的電信號,前置放大電路用來對拾音器的輸出進行放大,與A/D轉換電路匹配,A/D轉換電路實現對模擬信號的編碼。微處理器是系統(tǒng)的核心,它用來對數字化音頻信號進行處理和存儲,協(xié)調系統(tǒng)各個部分的工作,輸出PWM波來驅動輸出電路。

圖1 系統(tǒng)硬件結構框圖Fig.1 Structure diagram of hardware system

2.1 單片機

單片機是系統(tǒng)的控制中心,它主要實現以下的功能:控制LCD顯示語音信號的相關信息,控制按鍵識別和功能選擇;控制音頻數據的采集并存儲在Flash ROM,放音時讀取Flash ROM中數據,用軟件方法產生PWM脈沖信號,實現語音的存儲和回放。

2.2 聲音信號拾取、放大電路

聲音信號拾取電路就是將聲音信號轉換為電信號的裝置。本設計選用麥克風,它是一種聲敏電阻,其阻值隨外界聲音信號的變化而變化,將其串聯(lián)在電路中,電阻的變化形成電壓的變化,經過電容通交隔直,就得到了表征聲音信號特征的電信號。

然而由于聲音信號拾取電路輸出電壓的幅值很小,為20~25 mV,若將該信號直接與A/D轉換電路相連,由于A/D轉換器最小分辨電壓也為毫伏數量級,會產生很大的誤差,為了保證系統(tǒng)的精度,在和A/D轉換電路相連之前,需串聯(lián)一個放大電路,考慮到聲音信號拾取電路的輸出信號很小,放大電路的失真度和噪聲對系統(tǒng)的精度影響最大,故將其設計為抗共模干擾強的并聯(lián)負反饋放大電路,由于音頻信號的頻寬較大,故選用寬頻帶,低輸出阻抗的雙運放NE5532。

2.3 A/D轉換電路

A/D轉換電路由A/D轉換器ADC0809與系統(tǒng)處理器AT89S52組成,主要實現對放大后的聲音信號進行采樣。ADC0809與AT89S52的電路連接如圖2所示。

從圖2中可以看到,把ADC0809的ALE信號與START信號接在一起,這樣可使得在信號的前沿寫入(鎖存)通道地址,緊接著在其后沿就啟動轉換。啟動A/D轉換只需要一條P2.7=0指令。在此之前,要將P2.7清零并將最低3位與所選的通道對應的地址送入數據指針DPTR中。ADC0809的轉換結束信號EOC取反后與AT89S52的INT1相連,采用中斷方式讀取A/D轉換結果,并啟動下一次A/D轉換。也可定時啟動A/D轉換,并讀取上次轉換結果。

圖2 ADC0809與AT89S52的連接電路Fig.2 Circuit connection between ADC0809 and AT89S52

2.4 聲音編碼存儲電路

在采樣時每一采樣點都會產生1字節(jié)的數字編碼信號,由于采樣的頻率為8 kHz,若錄音15 min,則所需的存儲空間為7.031 25 MB,故系統(tǒng)選用8 MB的Flash存儲器K9F6408U0A,由于該存儲器的地址線和數據線可復用[3],這樣可節(jié)省I/O接口。K9F6408U0A的最大優(yōu)點在于其命令、數據和地址均可通過8條I/O接口線與主控制器進行通信,大大簡化了系統(tǒng)的連線,增強了系統(tǒng)的穩(wěn)定性。除8條I/O接口線外,K9F6408U0A還包括以下控制線,1)CLE:命令鎖存使能端,高電平有效。在WE信號的上升沿,命令信號可通過I/O口鎖入命令寄存器;2)ALE:地址鎖存使能端,高電平有效。在WE信號的上升沿,地址信號可通過I/O口鎖入地址寄存器;3)CE:片選線,低電平有效。在頁編程或塊擦除操作期間或器件處于忙狀態(tài)時,CE高電平將被忽略,4)WE:寫使能口,命令、地址和數據在WE信號的上升沿被鎖定;5)RE:讀使能口,在該口的下降沿將數據送到I/O口線上,并使內部列地址寄存器加1;6)WP:寫保護口,低電平有效,當其為低時,編程和擦除操作禁止;7)R/B:操作狀態(tài)指示信號。為低時,表示正在編程、擦除或讀操作,操作結束后變高。利用上述控制線,從而方便實現系統(tǒng)主控制器對K9F6408U0A的控制。AT89S52單片機與K9F6408U0A存儲接口電路[4]如圖3所示。

圖3 AT89S52與K9F6408U0A存儲接口電路Fig.3 Interface circuit of AT89S52 and K9F6408U0A Flash

2.5 PWM輸出電路

圖4 PWM輸出電路Fig.4 PWM output circuit

本設計采用單片機輸出PWM信號驅動音頻放大電路,PWM輸出電路如圖4所示。PWM是一種利用微處理器的數字輸出控制模擬電路的有效技術,對一系列脈沖的寬度進行調制,等效獲得所需波形,并且由于沒有使用D/A轉換器,系統(tǒng)成本減少很多。 PWM的優(yōu)點是從處理器到被控系統(tǒng)信號都是數字形式的,無需進行D/A轉換。讓信號保持為數字形式可將噪聲影響降到最小。此外PWM信號很容易通過MCU的軟件進行控制,即使電路稍微有些系統(tǒng)誤差,易于通過軟件進行校正[5]。

圖4中,利用單片機的P1.7引腳輸出一定寬度的PWM信號,通過三極管整形后,作用在慣性環(huán)節(jié)上,得到的輸出信號PWMOUT將作用在音頻功放電路上,還原為聲音。

2.6 音頻功率放大電路

為了使系統(tǒng)有足夠大的輸出,驅動揚聲器發(fā)聲,便于調節(jié)音量,在PWM輸出電路后使用了音頻信號功率放大器LM386構建功率放大電路,如圖5所示。

圖5 音頻功放電路Fig.5 Audio frequency power amplifier circuit

LM386型音頻功率放大器主要應用于低電壓消費類產品。為使外圍元件最少,電壓增益內置為20。但在其引腳1和8之間外接電阻和電容,便可將電壓增益調為任意值,直至200。輸入端以地位參考,同時輸出端被自動偏置到電源電壓的一半,在6 V電源電壓下,其靜態(tài)功耗僅為24 mW,使得LM386特別適用于電池供電的場合。PWMOUT為PWM輸出電路的輸出,揚聲器為8 Ω,0.5 W。經過調試發(fā)現將電源+5 V用10 μF和0.1 μF的電容濾波后,會減小很多噪聲,效果較好。

3 系統(tǒng)軟件設計

系統(tǒng)具有錄音、放音、暫停、清除存儲內容等功能,各種功能由按鍵來選擇,系統(tǒng)首先掃描各個按鍵的狀態(tài),如果有按鍵按下,就轉往相應的處理程序,系統(tǒng)程序流程如圖6所示。

圖6 系統(tǒng)流程圖Fig.6 Flow chart of system

3.1 系統(tǒng)初始化程序

系統(tǒng)初始化程序主要對單片機中斷、定時器、LCD初始化、鍵盤、PWM、K9F6408U0A存儲接口,以及ADC0809地址、程序中要用到的各個變量進行設置。

3.2 按鍵掃描程序

由于錄音和暫停是由和外部中斷引腳相連的2個按鍵來設置,一旦按鍵按下就進入錄音或放音程序,所以按鍵掃描程序用于掃描放音鍵和清除鍵是否按下。

3.3 錄音程序

與外部中斷0相連的按鍵按下,則進入錄音程序。

錄音過程實質上是啟動ADC0809對模擬音頻信號進行采樣,并將A/D轉換結果存儲到外圍數據存儲器中的過程,故其主要包含對ADC0809進行讀取,對外圍數據存儲器進行寫入兩個部分。

提取聲音數據時,要注意采樣頻率、采樣位數、存儲容量與存儲時間的關系,通常8 kHz的采樣頻率和8位的采樣位數可獲得清晰的語音以及較好的音樂聲,并且占有較少的存儲空間[6]。

以8 kHz的采樣頻率啟動ADC0809,并讀取上次采樣結果,寫到外擴Flash存儲器的代碼片段如下:

3.4 放音程序

若P1.0按下,則執(zhí)行放音程序。放音過程實質上是讀取外圍數據存儲器中的數據,將其轉化為一定寬度的PWM波,進行輸出的過程。讀取K9F6408U0A的子函數如下:

產生PWM波形的步驟:1)設置定時器,產生定時中斷,若采樣率為11.025 kHz,則設置定時器的定時中斷頻率為11.025 kHz;2)初始化 PWM 模塊,產生 11.025 kHz 的 PWM波形;3)等待定時器中斷,在中斷處理程序中取采樣數據,并設置PWM占空比寄存器,判斷聲音是否播放完成。若完成,則關定時器中斷,并停止PWM輸出。

3.5 暫停程序

在錄音過程中,如果需要暫時停止錄音可以按下暫停鍵進入暫停狀態(tài),再次按下暫停鍵可以返回暫停以前的狀態(tài)。程序中設置了一個變量來指示現在是應該暫停還是恢復。

3.6 存儲器內容清除程序

當存儲器內容已滿,而又需要錄音時,可以按下清除按鍵,清除一定容量的內容,供用戶再次使用。

4 調試注意事項

系統(tǒng)進行調試時,應注意以下方面:

1)由于在 PCM(Pulse Code Modulation)編碼及 DPCM 編碼模式下都要采用8 kHz的采樣率,所以,每次壓縮中斷服務程序必須在不超過125μs的時間內完成,因此,壓縮錄音處理程序的代碼必須進行最大可能的優(yōu)化,以減少程序執(zhí)行時間,以免采樣和數據處理或信息顯示發(fā)生沖突,也可避免在中斷采樣時造成采樣點的丟失。

2)在選擇ADC0809的時鐘時,經典選擇是640 kHz左右,最初選擇將單片機的ALE端4分頻后作為ADC0809的時鐘信號,但發(fā)現影響了LCD的輸出顯示。將ALE改為2分頻后(用1 M觸發(fā))作為ADC0809的時鐘信號,問題得到解決。

3)使用MAX813L復位芯片替代RC復位電路,使電路可靠復位,結合軟件監(jiān)控實現看門狗功能。

4)當采樣頻率為8 kHz,字長為8位時,存儲語言時長超過15 min,回放語音質量良好。

5 結束語

利用K9F6408U0A 8 MB NAND Flash存儲器和單片機PWM功能可為單片機的應用增加語音功能。對聲音采樣數據的存儲方式是用直接的、原始的采樣數據。在具體的實際應用中,可選用內嵌A/D轉換器的STC12C5A08AD,可省去外擴ADC0809,使電路更簡潔。創(chuàng)新之處在于不使用專用的語音芯片,實現使單片機應用系統(tǒng)語音的存儲與回放。

[1]韓改寧,李永鋒.基于AT89C52單片機的語音錄放系統(tǒng)實現[J].電子設計工程,2009,17(9):116-117.HAN Gai-ning,LI Yong-feng.Implementation of voice recording and playback system based on AT89C52 [J].Electronic Design Engineering,2009,17(9):116-117

[2]鄧彥松,向偉,王丹.基于DSP的語音信號處理系統(tǒng)設計[J].中國集成電路,2007,16(4):43-44.DENG Yan-song,XIANG Wei,WANG Dan.Voice signal processing system design based on DSP[J].China Integrated Circuit 2007,16(4):43-44

[3]吳洪鐸.8098單片機存儲空間的擴展技術[J].遼寧師范大學學報:自然科學版,2000,23(4):47-50.WU Hong-duo.Extended FlashRAM of 8098 microcontroller[J].Journal of Liaoning Normal University:Natural Science Edition,2000,23(4):47-50.

[4]賀今朝,閆衛(wèi)平.基于K9F6408U0A和SPDS202A的數碼錄音系統(tǒng)[J].電子設計工程,2002(2):14-16.HE Jin-zhao,YAN Wei-ping.A digital voice recording system based on K9F6408U0A and SPD 202A[J].Electronic Design Engineering,2002(2):14-16.

[5]秦健.一種基于PWM的電壓輸出DAC電路設計[J].現代電子技術,2004,27(14):81-83.QIN Jian.Electronic circuit design based on PWM for DAC with voltage output [J].Modern Electronics Technique,2004,27(14):81-83.

[6]羅光平,尤一鳴.利用PWM給單片機應用增加語音功能[J].單片機與嵌入式系統(tǒng)應用,2007(1):36-38.LUO Guang-ping,YOU Yi-ming.Add vioce function for MCU appliction by using PWM [J].Microcontrollers&Embedded Systems,2007(1):36-38.

猜你喜歡
存儲器按鍵錄音
靜態(tài)隨機存儲器在軌自檢算法
基于有限狀態(tài)機的按鍵檢測程序設計
Funny Phonics
funny phonics
Listen and Choose
Listen and Color
一種多方向導光按鍵結構設計
存儲器——安格爾(墨西哥)▲
基于Nand Flash的高速存儲器結構設計
基于有限狀態(tài)機的STM32系統(tǒng)按鍵識別方法
娄烦县| 铁岭县| 南江县| 图片| 大英县| 滕州市| 晋州市| 新密市| 行唐县| 洛川县| 广德县| 万全县| 南木林县| 凉城县| 牡丹江市| 常宁市| 江孜县| 常州市| 宁明县| 西林县| 邵武市| 通许县| 鹤岗市| 本溪市| 黑河市| 滨海县| 饶阳县| 合川市| 遂昌县| 庄浪县| 靖安县| 五常市| 曲松县| 庄河市| 会宁县| 沙坪坝区| 栖霞市| 鄂州市| 平果县| 汉川市| 舞钢市|