0 引 言
語音信號處理是研究用數字信號處理技術對語音信號進行處理的一門新興學科。語音信號處理的應用極為廣泛,其中的主要技術包括語音編碼、語音合成、語音識別和語音增強等。語音識別就是讓計算機聽懂人的話,并做出正確的反應。目前主流的語音識別技術是基于統計模式識別的基本理論。同時,隨著高性能數字信號處理器(Digital Signal Processor,DSP)的日益普及,數字信號處理是將信號以數字方式表示并處理的理論和技術。數字信號處理與模擬信號處理是信號處理的子集。數字信號處理的目的是對真實世界的連續模擬信號進行測量或濾波。因此在進行數字信號處理之前需要將信號從模擬域轉換到數字域,這通常通過模數轉換器實現。而數字信號處理的輸出經常也要變換到模擬域,這是通過數模轉換器實現的。利用DSP對語音信號處理進行算法研究和實時實現正成為新的熱點。在此設計并實現了一種語音采集系統。該系統為語音信號處理的算法研究和實時實現提供一個通用平臺。
1 芯片簡介
OMAP5912采用獨特的雙核結構,內含1個實現控制功能的帶有TI增強型ARM926EJ—S(簡稱ARM9)內核的處理器和1個實現數據處理功能的高性能、低功耗TMS320C55x DSP(簡稱DSP)內核。ARM9處理器可用來實現各種通信協議、通信協議(communications protocol)是指雙方實體完成通信或服務所必須遵循的規則和約定。協議定義了數據單元使用的格式,信息單元應該包含的信息與含義,連接方式,信息發送和接收的時序,從而確保網絡中數據順利地傳送到確定的地方。通過通信信道和設備互連起來的多個不同地理位置的數據通信系統,要使其能協同工作實現信息交換和資源共享,它們之間必須具有共同的語言。這個規則就是通信協議。控制和人機接口;DSP具有多條數據地址總線,非常適合數據密集的多媒體處理,并具有極低的功耗。
TLV320AIC23(簡稱AIC23)是TI推出的一款高性能的立體聲音頻Codec芯片,內置耳機輸出放大器,支持MIC和LINE IN兩種輸入方式(二選一),且對輸入和輸出都具有可編程增益調節。AIC23的模數轉換(ADCs)和數模轉換(DACs)部件高度集成在芯片內部,采用了先進的Sigma—delta過采樣技術,可以在8~96 kHz的頻率范圍內提供16 b,20 b,24 b和32 b的采樣,ADC和DAC的輸出信噪比分別可以達到90 dB和100dB。
2 系統的硬件設計
2.1 系統的硬件結構
語音采集系統主要包括兩個模塊:以AIC23為核心的語音采集模塊;以OMAP5912的DSP為核心的語音數據接收處理模塊。
為使AIC23正常工作在需要的狀態下,必須通過I2C總線對其進行配置。AIC23采集的語音信號經過A/D轉換后,通過McBSPl傳送到接收寄存器DRR,然后經DMA通道傳送至接收緩沖區。存放在發送緩沖區的數據,通過DMA通道傳送到McBSPl的發送寄存器DXR,DMA---Direct Memory Access,直接內存訪問,是一種數據傳輸模式。DMA方式下不直接訪問CPU,而在RAM與設備之間傳輸,從而大大提高了數據傳輸速度。然后傳送至AIC23,經過D/A轉換后,由HEADPHONE輸出,如圖1所示。
2.2 系統的硬件接口設計
利用OMAP5912的I2C總線和McBSPl完成對AIC23的控制和通信。I2C總線與AIC23的控制口相連,McBSPl與AIC23的數據口相連。AIC23設置為Master模式,向McBSPl提供時鐘和幀同步信號。McBSPl.DX作為AIC23的輸入通道,McBSPl.DR作為AIC23的輸出通道,如圖2所示。
3 系統的軟件設計
系統的軟件分兩個方面來說明:主程序和中斷服務程序。
3.1 主程序
因為OMAP5912為雙核結構,且ARM9為主控制器,所以首先必須在ARM9側進行OMAP5912的初始化,讓DSP退出復位狀態,這里僅需調用TI提供的OSK5912 Board Support Library中的OSK5912_init()函數即可。然后在DSP側進行CPU、I2C總線、McBSPl、DMA的初始化,以及AIC23芯片的配置,如圖3所示。
限于篇幅,在此僅說明通過I2C總線配置AIC23的過程。AIC23芯片是一個可編程的芯片,內部有11個16位寄存器決定芯片的工作狀態。圖2中的MODE引腳決定控制接口的工作模式:MODE=O為I2C模式,MODE=1為SPI模式。系統采用的是I2C模式,即由DSP通過I2C總線完成對AIC23的初始化。I2C總線作為ARM9和DSP的共享設備,其使用權由圖1中的寄存器I2C SSW MPU CONF和DSPI2C SSW CONF決定,在默認的情況下由ARM9使用。為了讓DSP能使用I2C總線,I2C(Inter-Integrated Circuit)總線是由PHILIPS公司開發的兩線式串行總線,用于連接微控制器及其外圍設備。是微電子通信控制領域廣泛采用的一種總線標準。它是同步通信的一種特殊形式,具有接口線少,控制方式簡單,器件封裝形式小,通信速率較高等優點。I2C總線首先發送AIC23的地址,然后再把相應的AIC23內部映射寄存器的地址和配置參數合并為16位的控制字發送給AIC23。
3.2 中斷服務程序
在DSP的RAM空間中定義一個接收緩存數組Rxbuffer[]和發送緩存數組Txbuffer[],一個接收標志RxFlag和一個發送標志TxFlag。為了防止出現在執行中斷服務程序的時候,接收的新數據將緩存區未取走的數據覆蓋,將緩存數組分為上下兩部分,CPU在處理其中一個部分的時候,DMA自動操作另一部分,如圖4(a)所示。
該語音采集系統以中斷的方式工作,在工作的過程中,會產生兩個中斷:DMA接收中斷;DMA發送中斷。以DMA接收中斷為例來說明中斷服務程序。
當產生DMA接收中斷時,首先判斷RxFlag的值,若為O,則取接收數組Rxbuffer下半部分的數據作進一步的處理,同時置RxFlag為1;若為1,則取接收數組Rxbuffer上半部分的數據作進一步的處理,同時置RxFlag為O,然后退出中斷服務程序,進入主程序,等待中斷的再次產生,如圖4(b)所示。
4 仿真驗證
為了驗證設計的可行性,對該系統進行了仿真測試。仿真軟件為CCS(Code Composer Studio)2.21。系統由硬件仿真器TDS560USB通過JTAG仿真接口與計算機相連,用戶可以通過該接口向OMAP5912芯片加載程序并觀察芯片內部存儲器的數據,完成系統仿真及程序調試的任務。
在ARM和DSP側分別加載程序編譯后生成的。out文件,然后運行。經配置后的AIC23從MIC IN輸入語音信號,并對其進行8 kHz,16 b的采樣。不考慮圖4(a)中的信號處理過程,將采集到的語音直接送回AIC23芯片,經D/A后,由HEADPHONE輸出,此時,聽到的正是輸入的語音信號。
5 結 語
根據TI公司的OMAP5912和CODEC芯片TLV320AIC23的特性,根據TI公司的設計并實現了一種基于OMAP5912的語音采集系統。在該系統中,DMA通道結合McBSP的使用,可以大大減少CPU的工作量,簡化軟件設計,有效地利用DSP的硬件資源,提高系統的執行效率。
-
處理器
+關注
關注
68文章
19397瀏覽量
230724 -
芯片
+關注
關注
456文章
51126瀏覽量
426097 -
放大器
+關注
關注
143文章
13623瀏覽量
213963
發布評論請先 登錄
相關推薦
評論