日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀]引言隨著單片機集成化程度的不斷提高,現代單片機已經具備了數字信號處理功能,使語音信號處理用單片機實現成為可能。臺灣凌陽科技公司(SunPlus)推出的一款SPCE061A就是這樣的產品。SPCE061A是以μ"nSP TM16位微控

引言

隨著單片機集成化程度的不斷提高,現代單片機已經具備了數字信號處理功能,使語音信號處理用單片機實現成為可能。臺灣凌陽科技公司(SunPlus)推出的一款SPCE061A就是這樣的產品。SPCE061A是以μ"nSP TM16位微控制器及信號處理器芯片為內核的16位單片機,采用模塊式集成結構,片內集成了2KB RAM、32KB Flash、ADC、DAC、并行I/O等,特別適合語音信號處理。本文介紹如何實現用SPCE061A單片機采集語音信號,并傳送到PC機中的方法。

1 硬件系統(tǒng)結構

1.1 SPCE061A結構

SPCE061A的內部結構如圖1,其特點如下:

*16位μ"nSP TM微控制器;

*工作電壓:VDD為2.6~3.6V(CPU),VDDH為VDD~5.5V(I/O);

*CPU時鐘為0.32~49.152MHz;

*內置存儲器:SRAM為2KB,內存Flash為32KB;

*可編程音頻處理;

*2個16位可編程定時器/計數器;

*7通道10位ADC(內置麥克風放大和自動增益控制功能);

*2個10位DAC;

*32路可編程通用輸入輸出端口;

*串行輸入輸出接口;

*低電壓監(jiān)測/低電壓復位功能;

*14個中斷源可來自定時器、外部時鐘輸入、鍵喚醒等;

*內置在線仿真電路ICE。

1.2 SPCE061A開發(fā)方法

SPCE061A的開發(fā)是通過在線調試器PROBE實現的,如圖2所示。它利用了SPCE061A內置的在線仿真電路ICE和凌陽公司的在線串行編程技術。

1.3 語音采集的硬件電路

語音采集的硬件電路如圖3所示。MIC采用駐極體電容話筒,這種話筒具有靈敏度高、無方向性、重量輕、體積小、頻率響應寬、保真度好等優(yōu)點。

與PC機的串行通信用SPCE061A的UART接口,用MAX232芯片進行電平轉換,即可實現RS232通信。

2 軟件設計與實現

2.1 語音信號的采集壓縮與數據傳輸

(1)語音信號的采集壓縮

語音信號處理的基礎是對語音信號進行數字化,并采樣存儲。SRCE061A內置專門用于語音信號采集的自動增益控制放大器(AGC)的麥克風輸入通道(MIC_IN)。語音信號經麥克轉換成電信號,由隔離電容隔掉直流成分,然后輸入至內部前置放大器。SPCE061A內部自動增益控制電路AGC能隨時跟蹤、監(jiān)視前置放大器輸出的音頻信號電平,當輸入信號增器時,AGC電路自動減小放大器的增益;當輸入信號減小時,AGC電路自動增大放大器的增益,以便使進入A/D的信號保持在最佳電平,又可使諧波減至最小。

ADC初始化程序如下:

INT OFF;

R1=0x0030;

[P_TimerA_Ctrl]=R1;

//時鐘頻率為CLKA的fosc/2

R1=0xfa00;

[P_TimerA_Data]=R1;

//采樣率為16kHz

R1=0x003d;

[P_ADC_Ctrl]=R1; //設置AGC功能

R1=0x00A8;

[P_DAC_Ctrl]=R1; //采用自動方式且通過MIC_IN通道輸入,通過定時器A的溢出鎖存數據,ADC為自動方式

R1=0x1000;

[P_INT_Ctrl]=R1; //開中斷IRQ1_TM

INT IRQ;

采樣后的數字語音信號數據量非常大,且由于語音信號采樣點幅度分布的非均勻性和樣本間的相關性等原因,使語音信號中含有大量的冗余信息。因此,在實際應用中采用各種信源編碼技術來消除語音信號的冗余度。語音編碼方法主要有波形編碼、參數編碼和混合編碼。

*波形編碼的基本原理是以波形逼近為原則,在時域上把幅度樣本分層量化并用代碼表示;特點是語音質量高、抗噪性強編碼率高,適于語音及高保真音樂。

*參數編碼是基于某種語音產生模型,在編程端分析出該模型參數選擇適當的方式進行編碼;特點是語音質量差、抗噪抗弱和編碼率低。

*混合編碼綜合了波形和參數編碼之優(yōu)點。

凌陽SPCE061A提供了壓縮算法庫——SACMLIB(見表1),其處理的語音信號范圍是200Hz~3.4kHz的電話語音,并將A/D、編/解碼、存儲及D/A做成相應的模塊,對于每個模塊都有其應用程序接口API。

表1 SACM-LIB庫中模塊及其算法

(2)語音數據的傳輸

SPCE061A的通用異步串口(UART)提供了一個8位全雙工標準接口,用于完成SPCE061A與外設之間的串行通信。借助于IOB口的特殊功能和UART IRQ中斷,可以同時完成UART接口的接收與發(fā)送數據的過程。根據應用需求,把UART設置為中斷方式接收數據,以查詢方式發(fā)送數據。

UART初始化程序InitUART()見網絡補充版(http://www.dpj.com.cn)。

2.2 上位機控制和存儲模塊

目前,Mircosoft公司的VC++6.0是基于Windows程序設計的主流開發(fā)工具之一。VC++不僅秉承了C++簡便、靈活及面向對象等優(yōu)點,而且提供了功能強大的MFC類庫,并能自動生成應用程序框架,提供標準化的程序結構和用戶接口。特別需要指出的是,為了今后調用低層的音頻處理API函數,對由下位上傳的音頻數據進一步進行語音識別方面的處理,我們使用VC來編寫上位機的控制及存儲程序。

在實驗室和工業(yè)應用中,RS232串口是常用的計算機與外部串行設備(單片機)之間的數據傳輸通道,由于串行通信簡單易用,所以應用廣泛。通常在VC++中有三種方法可以實現串行通信:

*使用VC++的標準通信函數_inp和_outp來實現串口通信;

*把串口看成是一個特殊的設備文件,使用有關文件處理的API函數來實現串口通信;

*使用ActiveX的串行通信控件MSComm來實現串口通信。

對于本實例來說,主要考慮的因素是實時語音數據存取,以及位機與下位機的配合。因此,采用了串行通信MSComm控件方法來實現串口通信。另外,可以采用二進制流文件Cfile類來存儲聲音文件。具體步驟見網絡補充版。

結語

通過以上實例錄制的語音數據,可以從PC機下載到SPCE061A中(或者作為資源文件放入工程中),使用SACM_A2000模塊的函數播放驗證,效果能夠滿足進一步語音信號處理需要。

用凌陽SPCE061A處理語音信號有如下獨特之處:

*硬件電路簡單,因SPCE061A是一款專門為語音信號處理設計的,麥克和喇叭可直接接入,用戶不必外接放大電路等;

*軟件編程容易,有相應的API函數,可直接調用。

*用ICE和圖形界面編譯軟件,調試方便。

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

機器人的尋路系統(tǒng)基于A*算法,該算法能有效地計算出有障礙物環(huán)境中的最優(yōu)路徑。該系統(tǒng)實現為分布式架構,其中計算密集型尋路運行在機器人的樹莓派4上,而機器人的TI板執(zhí)行計算路徑。

關鍵字: 機器人 樹莓派4 串行通信

在一些特殊的工業(yè)場合,有時需要將傳感器的信號不斷的實時采集和存儲起來,并且到一定時間再把數據回放到PC機中進行分析和處理。

關鍵字: PC機

在高速串行通信中,集成誤碼率測試儀(Integrated Bit Error Ratio Tester,簡稱IBERT)是Xilinx提供的一款用于測試transceiver的免費IP。IBERT的example des...

關鍵字: IBERT 串行通信

在現代工業(yè)控制系統(tǒng)和汽車電子領域,CAN(Controller Area Network)總線作為一種高效、可靠的串行通信協議,得到了廣泛的應用。CAN總線通過廣播的方式發(fā)送報文,每個節(jié)點都可以接收到總線上的所有信息,但...

關鍵字: CAN總線 串行通信 節(jié)點

PC機所使用的電源是基于一種叫做 “開關模式 ”的技術,所以我們通常把PC電源稱為——開關電源(SMPS),它還有一個別名——直流——直流轉換器。

關鍵字: PC機 開關模式 直流

串行通訊是指僅用一根接收線和一根發(fā)送線就能將數據以位進行傳輸的一種通訊方式。盡管串行通訊的比按字節(jié)傳輸的并行通信慢,但是串口可以在僅僅使用兩根線的情況下就能實現數據的傳輸。

關鍵字: 串口 串行通信

語音識別系統(tǒng)是一種通過捕捉語音信號后對其進行分析和處理的技術。它主要依賴于模式匹配、統(tǒng)計建模和人工神經網絡等方法來進行語音識別操作。語音識別系統(tǒng)本質上是一種模式識別系統(tǒng),包括特征提取、模式匹配、參考模式庫等三個基本單元。

關鍵字: 語音識別 語音信號

串行通信是一種通信方式,數據在通信線上按位進行傳輸。每位數據占據固定的時間長度,使用少數幾條通信線路就可以完成系統(tǒng)間交換信息,特別適用于計算機與計算機、計算機與外設之間的遠距離通信。

關鍵字: 串行通信 UART

串行通信接口是一種數據傳輸方式,采用串行通信協議(Serial Communication Protocol)。它通過串行數據線(Serial Data Line)進行數據傳輸,通常使用標準的RS-232、RS-485或...

關鍵字: 串行通信 RS-232
關閉