基于SoPC的嵌入式語音處理系統的設計與實現
摘 要:介紹一種基于SoPC技術實現的語音處理系統的設計方法。系統主要由CyeloneⅡFPGA內嵌NiosⅡ軟核處理器及音頻編/解碼芯片構成;通過構建嵌入式Linux操作系統來實現對音頻信號的采集和回放處理。詳細介紹通過SoPCBuilder配置NiosⅡ嵌入式處理器、外圍設備及接口的過程,以及嵌入式Linux操作系統在SoPC系統上的移植過程。利用SoPC系統的可裁減性以及嵌入式系統的可移植性,可使該設計作為一個子系統應用在如網絡會議的視頻電話中,該方法對SoPC系統的開發研究具有較高的參考價值。
關鍵詞:片上系統;嵌入式Linux;音頻編碼;音頻解碼;軟核處理器
0 引 言
可編程的片上系統(System on PrograromableChip,SoPC)是現代計算機輔助設計技術、EDA技術和大規模集成電路技術高度發展的產物。它可以將處理器、存儲器、I/O接口、硬件協處理器和普通的用戶邏輯等系統設計需要的功能模塊都集成到1片FPGA芯片內部,實現MCU,DSP和FPGA的完美結合,這將是未來嵌入式系統的發展趨勢,在儀器儀表、手持設備上有著廣闊的應用前景。
在此利用SoPC技術設計了語音處理系統,包括語音的采集和回放處理,該系統可以作為音視頻監控系統、VoIP等系統的語音處理模塊。
1 系統構成方案
1.1 系統硬件構成
設計的嵌入式語音處理系統的硬件結構如圖1所示。系統的主控部分由CycloneⅡEP2C35系列FPGA芯片、外圍電路及語音編解碼芯片構成。EP2C35是Altera公司推出低成本FPGA芯片,該芯片具有33 216個邏輯單元(LE)、105個M4KB RAM塊、RAM總位數是483 840 b、4個鎖相環和35個嵌入式乘法器以及豐富外部擴展引腳。
CycloneⅡ系列FPGA片內結構是以32 b NiosⅡ處理器作為核心,NiosⅡ處理器是AItera公司的第二代用戶可配置的、采用流水線技術、單指令流的32位RISC內嵌處理器,基于通用FPGA架構的軟CPU內核,其性能超過200 DMIPS。NiosⅡ處理器內核有3種類型,分別是快速型、經濟型和標準型,用來滿足不同的設計要求。
音頻部分主要由語音編解碼芯片TLV320AIC23和外部輸入/輸出器件構成;通過麥克風采集模擬音頻信號,經過AIC23轉換為數字音頻信號,由NiosⅡ處理器進行語音的存儲及傳輸;NiosⅡ處理器輸出的數字音頻信號經過AIC23轉換為模擬音頻信號,通過耳機播放。系統內部包括UART,以太網接口等可以方便地實現系統的擴展,實現諸如IP電話的系統設計。
1.2 主控芯片FPGA的配置
主控芯片FPGA的配置是通過SoPC Builder在CycloneⅡFPGA開發平臺上實現的。根據需求,該系統主要配置如下:標準型NiosⅡ處理器、片上SDRAMMT46V16M16、以太網芯片LAN91C111,FLASH存儲器件AM29LVl28M,SSRAM器件CY7C1380C,UART,JTAG UART,PLL鎖相環、定時器Timer,DMA,I2C,AIC23等控制器核。其中以太網芯片、FLASH存儲器件、SSRAM器件通過Avalon三態總線橋與Avalon Switch Fabric連接,所有的外圍接口通過AvaIon Switch Fabric與NiosⅡ處理器連接。通過SoPC Builder添加的主要外圍接口如圖2所示。
系統添加外圍器件的控制核后,經過SoPC Builder定義生成系統,集成SoPC Builder系統到QuartusⅡ工程,進行引腳分配,編譯硬件設計,生成配置文件.sof和.ptf文件。SoPC Builder是一個自動化的系統開發工具,能夠非常容易地在一個設計中加入NiosⅡ處理器以及其它外設接口。
2 系統接口設計
系統主要模塊在FPGA片內生成,外部接口主要是TLV320AIC23與CycloneⅡEP2C35的硬件接口設計。
TLV320AIC23(AI(223)是TI公司的一款高性能的立體聲音頻編解碼器,設計中通過其自帶的A/D,D/A轉換器來完成模擬音頻信號的采樣和數字音頻信號的D/A轉換工作;AIC23中的模/數與數/模轉換器使用了多比特sigma―delta工藝,并在內部集成了高采樣率的數字內插濾波器。該器件的數字傳輸字長可以是16,20,24,32 b,它支持8~96 kHz的采樣率。AIC23內部有11個配置寄存器,可通過控制接口來配置該器件的寄存器,AIC23的控制接口有SPI,I2C兩種規格。模式終端狀態決定了控制接口的形式,在設計中MODE接數字地表示利用I2C控制接口對AIC23傳輸控制數據。I2C總線是Philips公司開發的一種雙向兩線多主機總線,它能方便地實現芯片間的數據傳輸與控制。CS接數字地定義了在I2C總線上A IC23的7 b外設地址為“0011010”。該系統的I2C接口使用GPIO一I2C,即用2根通用的I/O口作為I2C時鐘線SCL和數據傳輸線SDA,通過軟件實現I2C協議。
AIC23芯片與數字系統的接口有右判斷模式、左判斷模式、I2S模式和DSP模式4種。設計中使用I2S數據傳送模式。I2S總線是飛利浦公司為數字音頻設備之間的音頻數據傳輸而制定的一種總線標準,廣泛應用于各種多媒體系統。數字音頻接口由時鐘信號BCLK、數據信號DIN和DOUT、同步信號LRCIN和LRCOUT組成。應當說明:BCLK在主動方式下是輸出,而在從動方式下是輸入。AIC23的IP核包I2S發送/接收模塊、輸入/輸出FIFO存儲器模塊,AIC23的IP核結構如圖3所示。
評論