Windows CE系統下基于PXA272和TSC2101音頻系統
音頻系統的硬件實現
本設計中的音頻驅動采用Unified Audio模型實現,基于Intel Xscale PXA272處理器和TI 的TSC2101音頻芯片,使用了基于I2S(Inter-IC Sound)總線的音頻系統體系結構,系統原理圖如圖1所示。Intel Xscale PXA272芯片集成了I2S控制器,通過I2S總線處理音頻數據。其他信號(如控制信號)則需要單獨傳輸,在本設計中將Xscale PXA272芯片的SSP串口配置為SPI串口以實現控制信號的傳輸。

圖1 系統原理圖
I2S是菲利浦公司提出的串行數字音頻總線協議。PXA272的I2S控制器控制了I2S鏈接,I2S控制器由數據緩沖、狀態和控制寄存器、計數器組成。它們將系統內存和外設的音頻解碼芯片(TSC2101)連接,產生同步音頻。播放音頻文件時,I2S控制器通過I2SLINK連接將系統內存中數字化的聲音樣本發送到外設的TSC2101音頻解碼芯片中,然后由TSC2101芯片的數模轉換器將數字音頻信號轉換成模擬信號。
對于錄音來說,I2S控制器從外部的TSC2101音頻芯片接收到數字信號,然后將它們存儲到系統內存中。I2S提供了普通I2S和MSB-justified-I2S格式。通過5根引腳連接TSC2101芯片和PXA272的I2S控制器,形成音頻數據傳輸的通道。I2S控制器必需的信號主要有:一個碼率時鐘,可以引用外部或者內部時鐘源;一個控制信號提供“左/右”聲道控制信息;兩個串行音頻引腳,一個輸出一個輸入;碼率時鐘,I2S控制器會將可選的系統時鐘信號也發送到外部解碼器中。
I2S控制器通過DMA方式來訪問。DMA方式下,DMA控制器只能通過串行音頻數據寄存器(SADR)訪問FIFO。DMA控制器通常以8、16或32字節大小的塊存取FIFO隊列數據的。
本設計中采用的音頻芯片TSC2101集成了立體聲音頻解碼、觸摸屏控制芯片,立體聲DAC能以高達48Kb/s的采樣率播放音頻文件,專供PDA、PMP、智能手機和MP3播放機使用。TSC2101 將揚聲器放大器、耳機放大器和四線觸摸屏控制器與音頻編解碼器集成再一起,帶有一個立體聲頭戴送受話器接口、一個手機送受話器接口、一個單聲道8Ω揚聲器放大器以及一個32Ω受話器驅動器,并集成有一個電池監控器和一個片上溫度傳感器。
TSC2101芯片的電路設計如圖2所示。

圖2 TSC2101芯片電路設計
本設計為TSC2101在智能手機中的運用,CP-IN為通信模塊的語音輸入,CP-OUT則為音頻系統到通信模塊的輸出,在實際的應用中MIC1可以通過TSC2101的內部PGA(可編程增益放大)、AGC(自動增益控制)電路連接到CP-OUT,實現智能手機的話筒功能;同時,MIC1輸入還可以通過內部的ADC將語音數據采樣后經I2S總線傳輸到處理器存儲空間實現錄音功能。當然,在智能手機通話的同時,還可以實現通話錄音功能。電路圖中的38~41引腳為SPI接口,42~46引腳為I2S控制引腳,引腳9~12為觸摸屏輸入,引腳27和28為音頻輸出可以連接耳機,引腳26連接手機聽筒,引腳33、35連接外置揚聲器。
采用Unified Audio模型實現音頻驅動
音頻驅動的實現方式包括MDD-PDD分層模式和不分層的Unified Audio模型。MDD-PDD作為直接實現流接口的一種方法,使用微軟提供的模型設備驅動程序
評論