Windows CE下基于TSC2101的音頻系統(tǒng)設計_第1頁
免費預覽已結束,剩余3頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、windows ce下基于tsc2101的音頻系統(tǒng)設計windows ce是一個開放的、可裁剪的、32位的實時操作系統(tǒng)。它具有牢靠性好、實時性高、內核體積小的特點,所以被廣泛用于各種嵌入式智能設備的開發(fā),其應用涉及工業(yè)控制、信息家電、移動通信、個人消費品等各個領域,是當今應用最多、增長最快的嵌入式操作系統(tǒng)。而在這些嵌入式應用中,音頻模塊成為了大多數(shù)產(chǎn)品不行或缺的一部份。本文針對windows ce操作系統(tǒng),構造了基于intel xscale pxa272和tsc2101音頻芯片的音頻系統(tǒng),并簡要介紹了其實現(xiàn)辦法。音頻系統(tǒng)的硬件實現(xiàn)本設計中的音頻驅動采納unified audio模型實現(xiàn),基于i

2、ntel xscale pxa272處理器和ti 的tsc2101音頻芯片,用法了基于i2s(inter-ic sound)的音頻系統(tǒng)體系結構,系統(tǒng)原理圖1所示。intel xscale pxa272芯片集成了i2s控制器,通過i2s總線處理音頻數(shù)據(jù)。其他信號(如控制信號)則需要單獨傳輸,在本設計中將xscale pxa272芯片的ssp串口配置為spi串口以實現(xiàn)控制信號的傳輸。圖1 系統(tǒng)原理圖i2s是菲利浦公司提出的串行數(shù)字音頻總線協(xié)議。pxa272的i2s控制器控制了i2s鏈接,i2s控制器由數(shù)據(jù)緩沖、狀態(tài)和控制寄存器、計數(shù)器組成。它們將系統(tǒng)內存和外設的音頻解碼芯片(tsc2101)銜接,

3、產(chǎn)生同步音頻。播放音頻文件時,i2s控制器通過i2slink銜接將系統(tǒng)內存中數(shù)字化的聲音樣本發(fā)送到外設的tsc2101音頻解碼芯片中,然后由tsc2101芯片的數(shù)模轉換器將數(shù)字音頻信號轉換成模擬信號。對于錄音來說,i2s控制器從外部的tsc2101音頻芯片接收到數(shù)字信號,然后將它們存儲到系統(tǒng)內存中。i2s提供了一般i2s和msb-justified-i2s格式。通過5根引腳銜接tsc2101芯片和pxa272的i2s控制器,形成音頻數(shù)據(jù)傳輸?shù)耐ǖ?。i2s控制器必須的信號主要有:一個碼率時鐘,可以引用外部或者內部時鐘源;一個控制信號提供“左/右”聲道控制信息;兩個串行音頻引腳,一個輸出一個輸入;

4、碼率時鐘,i2s控制器會將可選的系統(tǒng)時鐘信號也發(fā)送到外部中。i2s控制器通過dma方式來拜訪。dma方式下,dma控制器只能通過串行音頻數(shù)據(jù)寄存器(sadr)拜訪fifo。dma控制器通常以8、16或32字節(jié)大小的塊存取fifo隊列數(shù)據(jù)的。本設計中采納的音頻芯片tsc2101集成了立體聲音頻解碼、控制芯片,立體聲能以高達48kb/s的采樣率播放音頻文件,專供pda、pmp、智能手機和mp3播放機用法。tsc2101 將揚聲器、耳機放大器和四線觸摸屏控制器與音頻編解碼器集成再一起,帶有一個立體聲頭戴送受話器接口、一個手機送受話器接口、一個單聲道8揚聲器放大器以及一個32受話器驅動器,并集成有一個

5、電池監(jiān)控器和一個片上溫度。tsc2101芯片的設計2所示。圖2 tsc2101芯片電路設計本設計為tsc2101在智能手機中的運用,cp-in為通信模塊的語音輸入,cp-out則為音頻系統(tǒng)到通信模塊的輸出,在實際的應用中mic1可以通過tsc2101的內部pga(可編程增益放大)、agc(自動增益控制)電路銜接到cp-out,實現(xiàn)智能手機的話筒功能;同時,mic1輸入還可以通過內部的將語音數(shù)據(jù)采樣后經(jīng)i2s總線傳輸處處理器存儲空間實現(xiàn)錄音功能。固然,在智能手機通話的同時,還可以實現(xiàn)通話錄音功能。中的3841引腳為spi接口,4246引腳為i2s控制引腳,引腳912為觸摸屏輸入,引腳27和28為

6、音頻輸出可以銜接耳機,引腳26銜接手機聽筒,引腳33、35銜接外置揚聲器。采納unified audio模型實現(xiàn)音頻驅動音頻驅動的實現(xiàn)方式包括mdd-pdd分層模式和不分層的unified audio模型。mdd-pdd作為挺直實現(xiàn)流接口的一種辦法,用法微軟提供的模型設備驅動程序(mdd)庫,該庫能實現(xiàn)音頻ddsi函數(shù),這個pdd庫通常叫做wavepdd.lib。然后把兩個庫銜接起來形成wavedev.dll。作為音頻驅動的另外一種辦法,就是采納unified audio模型,即不分層的音頻驅動模型,這種模型的音頻驅動支持標準的波形驅動接口。在本設計中就是用法的這種方式來實現(xiàn)音頻驅動(plat

7、form builder的驅動名目下包括有基于這種模型驅動的實例代碼)。在分層的音頻驅動中,驅動程序由mdd和pdd組成,mdd層執(zhí)行與硬件平臺無關的功能,pdd層則是挺直與硬件平臺相關的操作,而在unified audio模型中,mdd和pdd的分層是不須要的,圖3是unified audio模型的音頻驅動結構。圖3 unified audio模型的音頻驅動結構在這種模型下,音頻驅動仍然是以流接口的形式實現(xiàn),分離實現(xiàn)了wav-close()、wav-powerdown()、wav-deinit()、 wav-powerup()、wav-init()、wav-read()、wav-iocont

8、rol()、wav-seek()、wav-open()、wav-write()這幾個標準的流接口函數(shù)。dma緩存區(qū)設計與實現(xiàn)因為音頻設備驅動程序設計對設備的實時性要求較高,所以dma緩存區(qū)設計以及合理地利用緩存區(qū)加快對音頻數(shù)據(jù)的處理,削減延時變得非常重要。dma控制器是使cpu處理其他與數(shù)據(jù)總線無關的處理,而由dma控制器負責數(shù)據(jù)傳輸?shù)臋C制,這種機制使得cpu從繁重的數(shù)據(jù)傳輸中解脫出來,可以執(zhí)行其他計算,從而提高了系統(tǒng)運行速度。pxa272的dma控制器提供了32個dma通道,031。這些通道提供了flow-through 和fly by的數(shù)據(jù)傳輸方式。在本設計中,用法雙緩存區(qū)dma通道設計,

9、4所示,當cpu正在處理某一個緩存區(qū)數(shù)據(jù)的同時,dma控制器可以完成另一個緩存區(qū)數(shù)據(jù)的傳輸,如此交替下去,則可以提高系統(tǒng)的并行能力,提高音頻處理的實時性。雙緩存區(qū)驅動程序設計當中,以播音為例,新的音頻數(shù)據(jù)在cpu的控制下先寫到緩存1中,此時dma控制器正在處理緩存2的數(shù)據(jù)傳輸。當緩存2的數(shù)據(jù)所有傳完之后,會產(chǎn)生一個dma中斷,該中斷通知cpu開頭往緩存2里寫新的音頻數(shù)據(jù),與此同時,dma也繼續(xù)處理緩存1的數(shù)據(jù)。這樣,因為cpu和dma沒有處理同一段dma緩存區(qū),就削減了資源拜訪的矛盾,并且能夠最大程度上保證音頻數(shù)據(jù)不走失,提高音頻處理的實時性,也提高了系統(tǒng)的并行能力。本設計中用法mapdmabuffers()函數(shù)實現(xiàn)dma音頻數(shù)據(jù)緩存區(qū)的分配,函數(shù)主要實現(xiàn)的功能是:分配接收和發(fā)送音頻數(shù)據(jù)的dma緩存區(qū)。結束語本文分析了嵌入式windows ce操作系統(tǒng)基于tsc2101音頻芯片的音頻系統(tǒng)實現(xiàn)的基本原理及其驅動程序模型,并結合詳細程序重點描

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論