曾 憲 新疆新聞出版廣電總局喀什6503臺 844000
?
基于IIS總線的嵌入式音頻系統的設計
曾 憲 新疆新聞出版廣電總局喀什6503臺 844000
【文章摘要】
音頻系統在嵌入式領域中的應用較為廣泛,各種嵌入式產品對音頻系統的要求也各不相同。本文首先對基于IIS總線的嵌入式數字音頻系統的處理器、解碼芯片等軟硬件方案進行了總體論述。然后分別對其硬件包括電路等以及對軟件包括音頻信號的轉換、存儲等功能的實現進行了論述。
【關鍵詞】
IIS總線;嵌入式音頻系統;設計
嵌入式系統是現代多個學科進行融合的產物。它將計算機技術作為系統研發和運行的基礎,并通過對通信技術的應用,再從中加入各種傳感器以及網絡連接技術,從而使得嵌入式系統的環境適用性較強。而且這種系統沒有多余的軟件,硬件方面也不存在無用的存儲器,因此具有成本較低、體積較小、能耗較小且可靠性較高的優勢。嵌入式系統是一種技術密集型系統,且技術及產品的更新速度較快,會隨著計算機技術的不斷發展而進行改進。
本硬件系統的主要組成部分有電源電路、配置電路、復位電路、串行通訊接口等。其中電源電路分別為5V—2.5V和5V—3.3V的轉換器,作用是向芯片外部和內部進行供電;復位電路的作用是使得系統上的電復位以及在系統上工作時用戶的按鍵復位;晶振電路是為系統工作提供時鐘;FLASH存儲器的作用是在系統斷電后對用戶的應用程序等信息進行存儲;音頻接口的作用是使系統具備進行音頻輸出或輸入的功能;JTAG調試接口的作用是訪問芯片內部的所有部件并對系統的軟硬件進行調試以及編程等等。當然,由于S3C44BOX的多數接口是物理復用的,因此上面所提到的有些I/O功能無法同時使用,要通過使用寄存器來對功能進行分配。
2.1IIS總線概述
IIS,英文為Integrate InteRFace of Sound,也就是集成音頻接口。它被飛利浦公司首次應用于消費產品的音頻設備當中。它在LRCLK信號機制中被進行多路轉換,然后將兩種音頻信號合成一種數據隊列。當LRCLK高于高狀態時,左聲道的數據被傳輸,反之則是右聲道的數據傳輸。當然,這種高低與聲道的對應是可以自定義的,因此可可以顛倒過來。如果是多通道系統,那么在信號機制相同時,也可以實現同時執行好幾個數據隊列。因為IIS、PCM以及類似的音頻接口沒有寄存器入口,因此必須設計獨立的控制接口。
2.2IIS音頻驅動的實現形式
音頻驅動主要包括MDD/PDD、Wavedev2以及UAM三種模式。三種模式之間的共同點是接口相同,皆為流驅動,通過流接口與上層的waveapi.dll交互。其中第一種模式是最早的,也是最為常見的分層模式,而對支持mixer硬件的音頻設備來說,第三種模式最為恰當。
2.3芯片設計
UDA1341芯片是一種較為經濟的音頻CODEC,它的主要作用是對模擬音頻信號進行采集,并對數字音頻信號進行模擬輸出,而且還能對音頻信號進行數字化處理。此芯片具有耗能小、電壓低、保真強、動態范圍寬以及不易失真的優勢,適用于筆記本電腦、數字攝像機以及其他家庭袖珍多媒體立體聲音響設備。
2.4音頻軟件的設計
上述所提到的UDA1341芯片采用的是微控制器輸入模式。在這種模式中,是通過L3總線對所有的數字音頻和系統進行控制的。而它和微控制器之間進行信息交換所依賴的是一個L3硬件接口。這一硬件接口的引腳包括L3DATA、3DA ODE以及L3CLOCK。L3進行控制的實質就是向UDA1341寫數據。具體過程包括兩個步驟,一是在根據地址模式選擇設備的同時指明之后的數據所要發送到的寄存器的具體類型,二是在數據傳輸的模式下傳送一個八位的字節。
2.5基于IIS總線的嵌入式音頻系統的軟件設計
本軟件的基本流程是開始——清終端——系統端口進行初始化——IIS相應的端口進行初始化——UDA1341初始化——錄音——播放——IIS結束——程序結束。
本系統的音頻采樣規格為系統主時鐘為44.1Hz,采樣精度為16bit。本系統經過正確配置,能夠完成錄音、播放和循環播放。本系統的音頻數據傳輸非常簡單,因此不多做介紹,只對IIS模塊和UDA1341芯片的正確配置進行論述。由于嵌入式系統的硬件設備較多,而且并沒有PC中非常標準的體系結構,因此必須為其編寫控制音頻數據在硬件中流動并為音頻應用提供標準接口的驅動程序,且在設計過程中要對系統資源進行合理分配。驅動程序需要完成的任務主要有對設備以及對應的資源進行初始化以及釋放,對應用程序傳輸給設備文件的數據進行讀取而且對應用程序的請求進行回送。在這種情況下,需要在用戶空間、內核空間、總線以及外設之間進行數據傳輸。
在驅動程序的設計過程中,最為復雜的部分是DMA緩存區和內存管理部分。原因是音頻設備對實時性的要求較高,因此必須通過合理使用內存的方式提高音頻數據的處理速度。在部分控制器內,并沒有內置DMA的存儲區域,因此必須在驅動程序中為音頻設備分配DMA緩存區。這樣的話就能將需要回放以及錄制的聲音數據通過DMA存放在DMA緩存區中。
綜上所述,基于IIS總線的嵌入式音頻系統能夠實現播放、錄音、循環播放以及對音量進行調節的功能。此外,還能實現對功能進行擴充,例如進行外部中斷,使得系統可以有選擇的進行錄音以及播放。而且,本系統還能被應用于較為大型的系統設計中,例如嵌入式網絡音頻信號處理以及嵌入式網絡視頻信號處理等等,在其中作為一個子系統。總體來說,基于IIS總線的嵌入式音頻系統設計具有非常廣闊的發展前景、應用前景和研究價值。
【參考文獻】
[1]米韶華,康東,楊小峰等.S3C2440嵌入式音頻系統設計與實現[J].中國測試,2010,(2).
[2]王興,牟衛華,王飛雪等.基于S3C2442B 和WinCE的嵌入式導航音頻系統的優化設計與實現[J].全球定位系統,2011,(4).
[3]吳楊希,歐青立,朱劍等.基于WINCE和S3C2440A的嵌入式音頻系統[J].應用科技,2011,(10).
[4]丁勇,周余,都思丹等.基于Linux 2.6的嵌入式ASoC架構音頻驅動研究與實現[J].計算機應用與軟件,2010,(4).
[5]凱文,克洛斯,吳成彬.QSC新一代網絡音頻系統Q-SysTM網絡協議Q-LAN詳述[J].電聲技術.2011,35(3)∶ 69-75.
【作者簡介】
曾憲,女,1968年1月13日出生,四川省內江縣人,畢業于1988年7月新疆電大喀什分校勞動經濟管理專業,目前6503臺機房工作中級工程師