當(dāng)前位置:首頁 > 消費(fèi)電子 > 消費(fèi)電子
[導(dǎo)讀]在研究傳統(tǒng)語音錄放電路的基礎(chǔ)上,提出了一種基于AT89S52的音頻信號(hào)采集、存儲(chǔ)與處理系統(tǒng)。該系統(tǒng)以單片機(jī)AT89S52為控制器,采用鍵盤和LCD作為人機(jī)界面,ADC0809采集音頻信號(hào),擴(kuò)展8 MB閃速存儲(chǔ)器K9F6408UOA作為數(shù)字化音頻信號(hào)的存儲(chǔ)器,通過軟件濾波濾除噪音;采用PWM產(chǎn)生聲音的原理,使存儲(chǔ)在Flash中的音頻數(shù)據(jù)控制PWM每個(gè)波形的占空比,通過低通濾波器將聲音從PWM的脈沖中分離,并驅(qū)動(dòng)揚(yáng)聲器。實(shí)驗(yàn)表明:8 kHz采樣頻率和8位采樣位數(shù)可獲得清晰的語音以及較好的音樂聲,語音存儲(chǔ)時(shí)間達(dá)15 min。

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

1 方案論證
   
本設(shè)計(jì)以數(shù)字化信號(hào)的形式對(duì)音頻信號(hào)進(jìn)行處理,有以下3種方案可供選擇:
    1)直接利用語音芯片進(jìn)行語音錄放。Winbond公司的ISD系列語音芯片采用了Chip-Corded專利技術(shù),聲音無需A/D轉(zhuǎn)換和壓縮就可直接存儲(chǔ),不存在A/D轉(zhuǎn)換誤差,在一個(gè)記錄位(BIT)可存儲(chǔ)多達(dá)250級(jí)聲音信號(hào),相當(dāng)于通常A/D技術(shù)記錄容量的8倍。片內(nèi)集成了晶體振蕩器、麥克風(fēng)前置放大器、自動(dòng)增益控制、抗混疊濾波器、平滑濾波器、聲音功率放大器等,只需很少的外圍器件,就可構(gòu)成一個(gè)完整的聲音錄放系統(tǒng)。
    2)利用DSP對(duì)采樣信號(hào)進(jìn)行處理。DSP是專門為快速實(shí)現(xiàn)各種信號(hào)處理算法而設(shè)計(jì)的、具有特殊結(jié)構(gòu)的微處理器,其處理速度遠(yuǎn)遠(yuǎn)超過一般的CPU。
    3)利用AT89S52作為系統(tǒng)主控芯片,利用ADC0809對(duì)音頻信號(hào)進(jìn)行采集和A/D轉(zhuǎn)換,將轉(zhuǎn)換得到的數(shù)字化音頻信號(hào)存儲(chǔ)到擴(kuò)展的數(shù)據(jù)存儲(chǔ)器中,利用軟件對(duì)信號(hào)進(jìn)行數(shù)字濾波,最后通過單片機(jī)輸出PWM信號(hào)來完成放音。
    從經(jīng)濟(jì)和技術(shù)等因素考慮對(duì)上述3種方案進(jìn)行比較:直接利用語音芯片可以減少很多外圍電路,電路設(shè)計(jì)方便,但語音芯片使用不夠靈活。DSP具有強(qiáng)大的數(shù)字信號(hào)處理功能,使用靈活,但該芯片價(jià)格較高,不適于一般的應(yīng)用。方案3)中器件均為常用芯片,易于獲取,且價(jià)位不高。因此,方案3)為最佳設(shè)計(jì)方案。

2 硬件設(shè)計(jì)
   
圖1為系統(tǒng)硬件結(jié)構(gòu)圖。音頻信號(hào)通過拾音器將聲音信號(hào)轉(zhuǎn)換為可以處理的電信號(hào),前置放大電路用來對(duì)拾音器的輸出進(jìn)行放大,與A/D轉(zhuǎn)換電路匹配,A/D轉(zhuǎn)換電路實(shí)現(xiàn)對(duì)模擬信號(hào)的編碼。微處理器是系統(tǒng)的核心,它用來對(duì)數(shù)字化音頻信號(hào)進(jìn)行處理和存儲(chǔ),協(xié)調(diào)系統(tǒng)各個(gè)部分的工作,輸出PWM波來驅(qū)動(dòng)輸出電路。


2.1 單片機(jī)
   
單片機(jī)是系統(tǒng)的控制中心,它主要實(shí)現(xiàn)以下的功能:控制LCD顯示語音信號(hào)的相關(guān)信息,控制按鍵識(shí)別和功能選擇;控制音頻數(shù)據(jù)的采集并存儲(chǔ)在Flash ROM,放音時(shí)讀取Flash ROM中數(shù)據(jù),用軟件方法產(chǎn)生PWM脈沖信號(hào),實(shí)現(xiàn)語音的存儲(chǔ)和回放。
2.2 聲音信號(hào)拾取、放大電路
   
聲音信號(hào)拾取電路就是將聲音信號(hào)轉(zhuǎn)換為電信號(hào)的裝置。本設(shè)計(jì)選用麥克風(fēng),它是一種聲敏電阻,其阻值隨外界聲音信號(hào)的變化而變化,將其串聯(lián)在電路中,電阻的變化形成電壓的變化,經(jīng)過電容通交隔直,就得到了表征聲音信號(hào)特征的電信號(hào)。
    然而由于聲音信號(hào)拾取電路輸出電壓的幅值很小,為20~25 mV,若將該信號(hào)直接與A/D轉(zhuǎn)換電路相連,由于A/D轉(zhuǎn)換器最小分辨電壓也為毫伏數(shù)量級(jí),會(huì)產(chǎn)生很大的誤差,為了保證系統(tǒng)的精度,在和A/D轉(zhuǎn)換電路相連之前,需串聯(lián)一個(gè)放大電路,考慮到聲音信號(hào)拾取電路的輸出信號(hào)很小,放大電路的失真度和噪聲對(duì)系統(tǒng)的精度影響最大,故將其設(shè)計(jì)為抗共模干擾強(qiáng)的并聯(lián)負(fù)反饋放大電路,由于音頻信號(hào)的頻寬較大,故選用寬頻帶,低輸出阻抗的雙運(yùn)放NE5532。
2.3 A/D轉(zhuǎn)換電路
   
A/D轉(zhuǎn)換電路由A/D轉(zhuǎn)換器ADC0809與系統(tǒng)處理器AT89S52組成,主要實(shí)現(xiàn)對(duì)放大后的聲音信號(hào)進(jìn)行采樣。ADC0809與AT89S52的電路連接如圖2所示。


    從圖2中可以看到,把ADC0809的ALE信號(hào)與START信號(hào)接在一起,這樣可使得在信號(hào)的前沿寫入(鎖存)通道地址,緊接著在其后沿就啟動(dòng)轉(zhuǎn)換。啟動(dòng)A/D轉(zhuǎn)換只需要一條P2.7=0指令。在此之前,要將P2.7清零并將最低3位與所選的通道對(duì)應(yīng)的地址送入數(shù)據(jù)指針DPTR中。ADC0 809的轉(zhuǎn)換結(jié)束信號(hào)EOC取反后與AT89S52的相連,采用中斷方式讀取A/D轉(zhuǎn)換結(jié)果,并啟動(dòng)下一次A/D轉(zhuǎn)換。也可定時(shí)啟動(dòng)A/D轉(zhuǎn)換,并讀取上次轉(zhuǎn)換結(jié)果。
2.4 聲音編碼存儲(chǔ)電路
   
在采樣時(shí)每一采樣點(diǎn)都會(huì)產(chǎn)生1字節(jié)的數(shù)字編碼信號(hào),由于采樣的頻率為8 kHz,若錄音15 min,則所需的存儲(chǔ)空間為7.031 25 MB,故系統(tǒng)選用8 MB的Flash存儲(chǔ)器K9F6408U0A,由于該存儲(chǔ)器的地址線和數(shù)據(jù)線可復(fù)用,這樣可節(jié)省I/O接口。K9F6408UOA的最大優(yōu)點(diǎn)在于其命令、數(shù)據(jù)和地址均可通過8條I/O接口線與主控制器進(jìn)行通信,大大簡化了系統(tǒng)的連線,增強(qiáng)了系統(tǒng)的穩(wěn)定性。除8條I/O接口線外,K9F6408 UOA還包括以下控制線,1)CLE:命令鎖存使能端,高電平有效。在信號(hào)的上升沿,命令信號(hào)可通過I/O口鎖入命令寄存器;2)ALE:地址鎖存使能端,高電平有效。在信號(hào)的上升沿,地址信號(hào)可通過I/O口鎖入地址寄存器;3):片選線,低電平有效。在頁編程或塊擦除操作期間或器件處于忙狀態(tài)時(shí),高電平將被忽略,4):寫使能口,命令、地址和數(shù)據(jù)在信號(hào)的上升沿被鎖定;5):讀使能口,在該口的下降沿將數(shù)據(jù)送到I/0口線上,并使內(nèi)部列地址寄存器加1;6)WP:寫保護(hù)口,低電平有效,當(dāng)其為低時(shí),編程擦除操作禁止;7)R/B:操作狀態(tài)指示信號(hào)。為低時(shí),表示正在編程、擦除或讀操作,操作結(jié)束后變高。利用上述控制線,從而方便實(shí)現(xiàn)系統(tǒng)主控制器對(duì)K9F6 408U0A的控制。AT89S52單片機(jī)與K9F6408UOA存儲(chǔ)接口電路如圖3所示。


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


    圖4中,利用單片機(jī)的P1.7引腳輸出一定寬度的PWM信號(hào),通過三極管整形后,作用在慣性環(huán)節(jié)上,得到的輸出信號(hào)PWMOUT將作用在音頻功放電路上,還原為聲音。
2.6 音頻功率放大電路
   
為了使系統(tǒng)有足夠大的輸出,驅(qū)動(dòng)揚(yáng)聲器發(fā)聲,便于調(diào)節(jié)音量,在PWM輸出電路后使用了音頻信號(hào)功率放大器LM386構(gòu)建功率放大電路,如圖5所示。


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

3 系統(tǒng)軟件設(shè)計(jì)
   
系統(tǒng)具有錄音、放音、暫停、清除存儲(chǔ)內(nèi)容等功能,各種功能由按鍵來選擇,系統(tǒng)首先掃描各個(gè)按鍵的狀態(tài),如果有按鍵按下,就轉(zhuǎn)往相應(yīng)的處理程序,系統(tǒng)程序流程如圖6所示。


3.1 系統(tǒng)初始化程序
   
系統(tǒng)初始化程序主要對(duì)單片機(jī)中斷、定時(shí)器、LCD初始化、鍵盤、PWM、K9F6408UOA存儲(chǔ)接口,以及ADC0809地址、程序中要用到的各個(gè)變量進(jìn)行設(shè)置。
3.2 按鍵掃描程序
   
由于錄音和暫停是由和外部中斷引腳相連的2個(gè)按鍵來設(shè)置,一旦按鍵按下就進(jìn)入錄音或放音程序,所以按鍵掃描程序用于掃描放音鍵和清除鍵是否按下。
3.3 錄音程序
   
與外部中斷O相連的按鍵按下,則進(jìn)入錄音程序。
    錄音過程實(shí)質(zhì)上是啟動(dòng)ADC0809對(duì)模擬音頻信號(hào)進(jìn)行采樣,并將A/D轉(zhuǎn)換結(jié)果存儲(chǔ)到外圍數(shù)據(jù)存儲(chǔ)器中的過程,故其主要包含對(duì)ADC0809進(jìn)行讀取,對(duì)外圍數(shù)據(jù)存儲(chǔ)器進(jìn)行寫入兩個(gè)部分。
    提取聲音數(shù)據(jù)時(shí),要注意采樣頻率、采樣位數(shù)、存儲(chǔ)容量與存儲(chǔ)時(shí)間的關(guān)系,通常8 kHz的采樣頻率和8位的采樣位數(shù)可獲得清晰的語音以及較好的音樂聲,并且占有較少的存儲(chǔ)空間。
    以8 kHz的采樣頻率啟動(dòng)ADC0809,并讀取上次采樣結(jié)果,寫到外擴(kuò)Flash存儲(chǔ)器的代碼片段如下:

3.4 放音程序
   
若P1.O按下,則執(zhí)行放音程序。放音過程實(shí)質(zhì)上是讀取外圍數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù),將其轉(zhuǎn)化為一定寬度的PWM波,進(jìn)行輸出的過程。讀取K9F6408UOA的子函數(shù)如下:
     
  
    產(chǎn)生PWM波形的步驟:1)設(shè)置定時(shí)器,產(chǎn)生定時(shí)中斷,若采樣率為11.025 kHz,則設(shè)置定時(shí)器的定時(shí)中斷頻率為11.025 kHz;2)初始化PWM模塊,產(chǎn)生11.025 kHz的PWM波形;3)等待定時(shí)器中斷,在中斷處理程序中取采樣數(shù)據(jù),并設(shè)置PWM占空比寄存器,判斷聲音是否播放完成。若完成,則關(guān)定時(shí)器中斷,并停止PWM輸出。
3.5 暫停程序
   
在錄音過程中,如果需要暫時(shí)停止錄音可以按下暫停鍵進(jìn)入暫停狀態(tài),再次按下暫停鍵可以返回暫停以前的狀態(tài)。程序中設(shè)置了一個(gè)變量來指示現(xiàn)在是應(yīng)該暫停還是恢復(fù)。
3.6 存儲(chǔ)器內(nèi)容清除程序
   
當(dāng)存儲(chǔ)器內(nèi)容已滿,而又需要錄音時(shí),可以按下清除按鍵,清除一定容量的內(nèi)容,供用戶再次使用。
    擦除:以塊為單位進(jìn)行擦除。代碼片段如下。

   

4 調(diào)試注意事項(xiàng)
   
系統(tǒng)進(jìn)行調(diào)試時(shí),應(yīng)注意以下方面:
    1)由于在PCM(Pulse Code Modulation)編碼及DPCM編碼模式下都要采用8 kHz的采樣率,所以,每次壓縮中斷服務(wù)程序必須在不超過125 μs的時(shí)間內(nèi)完成,因此,壓縮錄音處理程序的代碼必須進(jìn)行最大可能的優(yōu)化,以減少程序執(zhí)行時(shí)間,以免采樣和數(shù)據(jù)處理或信息顯示發(fā)生沖突,也可避免在中斷采樣時(shí)造成采樣點(diǎn)的丟失。
    2)在選擇ADC0809的時(shí)鐘時(shí),經(jīng)典選擇是640 kHz左右,最初選擇將單片機(jī)的ALE端4分頻后作為ADC0809的時(shí)鐘信號(hào),但發(fā)現(xiàn)影響了LCD的輸出顯示。將ALE改為2分頻后(用1 M觸發(fā))作為ADC0809的時(shí)鐘信號(hào),問題得到解決。
    3)使用MAX813L復(fù)位芯片替代RC復(fù)位電路,使電路可靠復(fù)位.結(jié)合軟件監(jiān)控實(shí)現(xiàn)看門狗功能。
    4)當(dāng)采樣頻率為8 kHz,字長為8位時(shí),存儲(chǔ)語言時(shí)長超過15 min,回放語音質(zhì)量良好。

5 結(jié)束語
   
利用K9F6408UOA 8 MB NAND Flash存儲(chǔ)器和單片機(jī)PWM功能可為單片機(jī)的應(yīng)用增加語音功能。對(duì)聲音采樣數(shù)據(jù)的存儲(chǔ)方式是用直接的、原始的采樣數(shù)據(jù)。在具體的實(shí)際應(yīng)用中,可選用內(nèi)嵌A/D轉(zhuǎn)換器的STC12C5A08AD,可省去外擴(kuò)ADC0809,使電路更簡潔。創(chuàng)新之處在于不使用專用的語音芯片,實(shí)現(xiàn)使單片機(jī)應(yīng)用系統(tǒng)語音的存儲(chǔ)與回放。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉