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