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