基于DSP雙路音頻信號實時處理系統設計
摘要 采用TMS320C5509A作為核心處理器,給出了一種利用DMA結合多通道緩沖串口McBSP組成的語音信號采集系統的實現方法。合理分配了數據緩沖空間,可靠穩定地實現數據的實時更新,完成雙路立體聲信號的實時采集、處理和發送。闡述了AIC芯片與DSP連接的配置和數據接口的設計方法,給出CODEC與DSP之間數據傳輸的程序示例。試驗證明。該系統能夠高精度、高穩定地完成音頻信號的采集處理和發送任務,適用于個人便攜式音頻通信設備的驅動開發。
關鍵詞 DSP;DMA;TLV320AIC23B;實時采集處理;緩沖更新
現代音頻信號處理領域,通常需要采集大量的數據進行實時分析,并目逐步從處理單路信號發展為處理多路信號。對語音信號而言,采用元音強度與元音間隔作為聽者識別信號的基礎參數。另外音頻信號處理的器件也從傳統的模/數、數/模轉換器發展成為多款高性能專用芯片。傳統的數據采集系統以工控機或普通單片機為核心,整個系統體積大、功耗高,未考慮語音數據實時處理和發送。設計的實時語音處理系統具有數據量大、緩沖更新迅速、穩定性高、采集發送延時小等特點。該系統利用DSP進行數據處理,DMA與McBSP實現雙路音頻信號的實時并行采集發送,便于實驗室進行數據分析、算法仿真和過優化處理流程等,也可用于個人便攜式音頻通信設備的驅動開發。
1 硬件概述
該系統采用美國Texas Instruments公司TMS320VC55X處理器,其繼承了C54X系列的發展趨勢,低功耗、低成本,在有限的功率條件下能夠保持優良的性能。工作在0.9 V,其核的功率僅為0.05W/MIPS,性能可達800 MIPS,對數字通信、語音處理等便攜式應用提出的挑戰提供了有效的解決方案。以TMS320VC5509A為例,該芯片共有3個多通道緩沖串口,分別為McBSP0、McBSP1、McBSP2,每個串口接收和發送數據使用獨立的時鐘,支持連續傳送,可直接與多媒體數字信號編碼器的工業接口以及ADC/DAC接口實現無縫連接,通過CPU或DMA對16 bit寄存器訪問實現通信,由DX引腳發送數據,RX引腳接收數據。通信時鐘和幀同步有CLKX,CLKR,FSX以及FSR引腳來控制。TMS320VC5509A芯片提供
6個通道DMA控制器,可獨立于CPU完成4個標準接口的數據傳輸。每個通道可從一個數據源地址讀取數據后寫入另一個口或目標地址。特別指出5509芯片具有64 kB雙訪問RAM,其結構由8個4 kB×16位的塊組成,允許兩個端口同時訪問,提高了系統速度。
TLV320AIC23B是TI公司推出的一款高性能立體聲音頻編解碼器,內置耳機輸出放大器,支持MIC和LINE二選一的輸入方式。輸入和輸出都具有可編程的增益調節功能。TLV320AIC23B的模/數轉換器(ADC)和數/模轉換器(DAC)集成在芯片內部,可以在8~96 kHz的采樣率下,提供16 bit、20 bit、24 bit和32 bit的采樣數據。ADC和DAC的輸出信噪比分別可達90 dB和100 dB。AIC23B通過外圍器件對其內部寄存器進行編程配置,其配置接口支持SPI總線接口和I2C總線接口,如表1所示。
AIC23b數據傳輸格式支持右判斷模式、左判斷模式、I2C模式和DSP模式4種方式,其中DSP模式專門針對TI DSP設計。這兩款芯片的I/O電壓兼容,從而使得二者可以無縫連接,因此,基于DSP和音頻Codec芯片AIC23B構建的硬件系統是一種理想的語音信號處理系統。在語音信號處理系統中,AIC23主頻為12 MHz,A/D和D/A轉換器的抽樣頻率為8 kHz,模擬音頻信號由LINEIN/MICIN輸入到該芯片,這些參數需要通過McBSP1對AIC23進行配置實現。模擬音頻信號通過A/D轉換、編碼后,由數字音頻接口傳送給DSP的串口McBSP0,并接收DSP處理后的數據,收到的數字音頻信號經解碼、D/A轉換后,從HEADPHO/LINEOUT輸出。本系統采用DSP模式,如圖1所示。
I2C總線協議是由Philips公司開發的兩線式串行總線,用于連接微控制器及其外圍設備,該協議已廣泛地應用于數字通信系統硬件電路設計中。
AIC23B與微處理器的接口有兩個,一個是控制口,用于設置MC23B的工作參數,另一個是數據口,用于傳輸AIC23B的A/D、D/A數據。用I2C總線與AIC23B的控制口接口,對AIC23B的各個控制寄存器進行設置。McBSP的發送與接收時鐘均由AIC23B提供。
在DMA應用中,可以賦予每個通道的bit流高低的優先級。每個DMA通道的同步事件為MCBSP串口收發事件,同時每個通道某個事件完成后可向CPU發送一個中斷。用戶可以編寫代碼修改寄存器配置,當DMA在進行數據傳輸時,只要用戶使能該通道,就可將配置寄存器復制到工作寄存器中。另外DMA支持自動初始化模式,可以在塊傳輸過程中反復復制,連接示意圖如圖2所示。
2 軟件系統設計
方案中兩路麥克風輸入數據,兩路耳機輸出數據。在此給出一路信號的接收處理發送過程,另一路信號設計思路相同。
在DARAM中開辟緩沖和處理單元,數據傳輸均采用DMA獨立于CPU的方式。CPU只有在接收DMA觸發中斷后對數據進行處理,并將處理后數據拷貝到DMA發送緩沖。為保證整個傳輸過程中無數據丟失,DMA接收端采用半幀中斷的方式接收數據。在數據載入過程中,可以選擇兩個區域進行操作,將數據區分為receive1與receive2用于保存載入的數據,同時開辟程序運行區process1和process2用于運行程序。當receive區域觸發半幀中斷,CPU讀取receive1中的數據并將其復制到process1中,調用處理函數proc1,在CPU進行相關信號處理時,DMA繼續將數據載入receive2,其滿時觸發整幀中斷,DMA自動初始化將receive1覆蓋。CPU此時即可將receive2中的數據復制到process2中,調用處理函數proc 2,這樣receive區域交替更新,即可實現程序的不間斷運行。
每次中斷服務程序的運行時間必須小于半幀中斷的間隔時間。此方案可以保證系統的延時足夠小。在使用該方案時,用戶必須根據自己的需要設計合適的采樣頻率和緩沖數據區的大小。為提高系統穩定性,實驗可以根據要求設計中斷的優先級。系統軟件設計如圖3所示。
3 結束語
系統采用DSPVC5509作為核心處理器,充分利用了DSP片上資源,采用獨立于CPU的DMA實現了數據的實時采集處理以及發送,降低了總線占用率。設計的可更新緩沖區不僅符合DMA傳輸要求而且避免了數據丟失,實時更新減少了數據空間的浪費。另外該系統具有低功耗、穩定性高的特點,可以根據用戶需求進一步擴展。
相關閱讀:
- ...2012/04/23 12:22·基于DSP的中頻電源測試系統設計
- ...2012/03/06 19:39·基于DSP的快速軸角變換方法
- ...2012/02/03 11:32·基于DSP的雙頻超聲波流量計硬件電路設計
- ...2011/11/14 10:31·基于DC/DC的大電流升壓電路方案
- ...2011/10/31 16:02·基于DSP的聲雷達信號采集系統
- ...2011/10/28 10:28·基于DSP和OV6630傳感器的圖像采集系統
- ...· Efinix® 全力驅動AI邊緣計算,成功推出Trion™ T20 FPGA樣品, 同時將產品擴展到二十萬邏輯單元的T200 FPGA
- ...· 英飛凌亮相進博會,引領智慧新生活
- ...· 三電產品開發及測試研討會北汽新能源專場成功舉行
- ...· Manz亞智科技跨入半導體領域 為面板級扇出型封裝提供化學濕制程、涂布及激光應用等生產設備解決方案
- ...· 中電瑞華BITRODE動力電池測試系統順利交付北汽新能源
- ...· 中電瑞華FTF系列電池測試系統中標北京新能源汽車股份有限公司
- ...· 中電瑞華大功率高壓能源反饋式負載系統成功交付中電熊貓
- ...· 中電瑞華國際在電動汽車及關鍵部件測評研討會上演繹先進測評技術