999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Wi-Fi SoC的嵌入式Linux音頻驅(qū)動(dòng)設(shè)計(jì)與實(shí)現(xiàn)*

2016-11-07 05:41:25梁作坤
關(guān)鍵詞:嵌入式系統(tǒng)設(shè)計(jì)

陳 熹 程 鵬 梁作坤 吳 斌

(1.中國(guó)科學(xué)院微電子研究所 北京 100029)(2.銳凌微南京電子科技有限公司 南京 210042)

?

基于Wi-Fi SoC的嵌入式Linux音頻驅(qū)動(dòng)設(shè)計(jì)與實(shí)現(xiàn)*

陳熹1程鵬1梁作坤2吳斌1

(1.中國(guó)科學(xué)院微電子研究所北京100029)(2.銳凌微南京電子科技有限公司南京210042)

基于Wi-Fi SoC的音頻驅(qū)動(dòng)開(kāi)發(fā)是Wi-Fi音頻應(yīng)用的系統(tǒng)設(shè)計(jì)難點(diǎn)之一,論文針對(duì)AR9331無(wú)線SoC平臺(tái),提出了一種基于ASoC架構(gòu)的嵌入式Linux音頻驅(qū)動(dòng)程序,設(shè)計(jì)了一種鏈?zhǔn)紻MA傳輸機(jī)制,提高了系統(tǒng)實(shí)時(shí)性并降低了CPU資源占用率,通過(guò)動(dòng)態(tài)音頻電源管理策略,降低了音頻系統(tǒng)的功耗開(kāi)銷。該驅(qū)動(dòng)已被整合到“48KHz/24-bit/雙聲道”高保真無(wú)線音頻系統(tǒng)中,實(shí)際結(jié)果表明該驅(qū)動(dòng)架構(gòu)具有良好的抽象層級(jí)和可移植性,可適用于基于高通多款主流WiFi SoC的無(wú)線音頻系統(tǒng)上,具備非常好的實(shí)用參考價(jià)值。

音頻驅(qū)動(dòng); ASoC; DMA; 動(dòng)態(tài)音頻電源管理

Class NumberTP316.8

1 引言

內(nèi)置Wi-Fi的嵌入式音頻系統(tǒng)拋棄了傳統(tǒng)的音頻數(shù)據(jù)線,與藍(lán)牙相比具有帶寬大、傳輸距離遠(yuǎn)、可組網(wǎng)等優(yōu)勢(shì)[1],廣泛應(yīng)用于逐漸興起的智能家居,已成為一大應(yīng)用熱點(diǎn)。音頻驅(qū)動(dòng)是Wi-Fi音頻系統(tǒng)的設(shè)計(jì)難點(diǎn)之一,決定了系統(tǒng)的音頻錄放性能,因此具有很大的研究意義。高保真音頻應(yīng)用對(duì)實(shí)時(shí)性要求較高,數(shù)據(jù)吞吐率高,時(shí)序非常嚴(yán)格,因此驅(qū)動(dòng)必須合理地分配系統(tǒng)資源,使用DMA傳輸是一種常見(jiàn)的解決方式[2]。Linux內(nèi)核中,片上ALSA系統(tǒng)(ALSA System on Chip,ASoC)是針對(duì)嵌入式SoC及音頻芯片優(yōu)化的驅(qū)動(dòng)架構(gòu),提供高代碼復(fù)用性和動(dòng)態(tài)音頻電源管理(Dynamic Audio Power Management,DAPM)機(jī)制,可縮短驅(qū)動(dòng)開(kāi)發(fā)周期并降低音頻系統(tǒng)功耗。已有研究中,文獻(xiàn)[3~4]分析的ASoC驅(qū)動(dòng)僅涉及基本框架,文獻(xiàn)[5~7]介紹了ASoC驅(qū)動(dòng)的基本設(shè)計(jì)方法,較少有文獻(xiàn)涉及DMA緩沖區(qū)機(jī)制和DAPM策略的實(shí)現(xiàn)。

本文針對(duì)高通AR9331無(wú)線SoC平臺(tái),選用WM8983作為音頻芯片,提出了一種基于ASoC架構(gòu)的嵌入式Linux音頻驅(qū)動(dòng),設(shè)計(jì)了一種鏈?zhǔn)紻MA傳輸機(jī)制,提高了音頻系統(tǒng)實(shí)時(shí)性并降低了CPU資源消耗,通過(guò)DAPM策略,使音頻系統(tǒng)工作于優(yōu)化的低功耗模式。

2 系統(tǒng)軟硬件架構(gòu)

2.1硬件體系架構(gòu)

本文的硬件平臺(tái)基于高通公司的無(wú)線SoC芯片AR9331,其內(nèi)部包含一個(gè)MIPS 24K內(nèi)核的32位處理器,主頻達(dá)400MHz,并且集成了Wi-Fi模塊和IIS音頻總線控制器。音頻編解碼器選用凌云邏輯公司的WM8983,ADC和DAC支持的采樣頻率最高為48KHz。圖1是AR9331與WM8983的連接示意圖。

圖1 音頻系統(tǒng)的硬件體系架構(gòu)

硬件工作原理如下:播放時(shí),應(yīng)用程序緩沖區(qū)的音頻數(shù)據(jù)經(jīng)過(guò)CPU解碼后進(jìn)入DMA緩沖區(qū),然后經(jīng)由DMA控制器的Rx FIFO傳送給IIS控制器,再通過(guò)IIS總線串行輸出到WM8983,進(jìn)行音頻播放;錄音時(shí)則相反,WM8983采集到的音頻數(shù)據(jù),經(jīng)由IIS總線、IIS控制器、DMA控制器的Tx FIFO進(jìn)入DMA緩沖區(qū),CPU再對(duì)這些數(shù)據(jù)進(jìn)行編碼處理。

2.2軟件體系架構(gòu)

Linux內(nèi)核中,高級(jí)Linux聲音架構(gòu)(Advanced Linux Sound Architecture,ALSA)是默認(rèn)的音頻驅(qū)動(dòng)架構(gòu),ALSA提供了通用的程序庫(kù)及內(nèi)核API,使應(yīng)用程序與內(nèi)核驅(qū)動(dòng)隔離,具有良好的可移植性[8]。然而對(duì)于嵌入式SoC和音頻芯片,ALSA存在驅(qū)動(dòng)代碼耦合度過(guò)高、不支持低功耗電源管理等缺點(diǎn)。ASoC就是為解決上述問(wèn)題而設(shè)計(jì)的音頻驅(qū)動(dòng)架構(gòu),提供了代碼獨(dú)立性、簡(jiǎn)單音頻接口配置、DAPM機(jī)制等特征。圖2是本文的ASoC音頻驅(qū)動(dòng)架構(gòu),ASoC驅(qū)動(dòng)分為編解碼器驅(qū)動(dòng)、平臺(tái)驅(qū)動(dòng)和板卡驅(qū)動(dòng)三個(gè)部分[4],依次介紹如下。

圖2 ASoC音頻驅(qū)動(dòng)架構(gòu)

1) 編解碼器驅(qū)動(dòng)。負(fù)責(zé)配置編解碼器DAC與ADC的工作模式、設(shè)置輸入與輸出方式等,它與平臺(tái)、板卡均無(wú)關(guān),可以直接復(fù)用于不同系統(tǒng)。

2) 平臺(tái)驅(qū)動(dòng)。平臺(tái)包含音頻接口和數(shù)據(jù)傳輸方式,平臺(tái)驅(qū)動(dòng)負(fù)責(zé)配置和管理音頻接口和數(shù)據(jù)傳輸功能,平臺(tái)驅(qū)動(dòng)也是獨(dú)立的。

3) 板卡驅(qū)動(dòng)。板卡是編解碼器和平臺(tái)的載體,包含支撐整個(gè)音頻系統(tǒng)正常工作的硬件設(shè)備及其連接關(guān)系,板卡驅(qū)動(dòng)負(fù)責(zé)耦合編解碼器驅(qū)動(dòng)和平臺(tái)驅(qū)動(dòng),還包含一些板級(jí)配置。

3 基于AR9331和WM8983的ASoC

架構(gòu)音頻驅(qū)動(dòng)設(shè)計(jì)

3.1ASoC驅(qū)動(dòng)整體結(jié)構(gòu)

ASoC的設(shè)計(jì)采用了面向?qū)ο蟮乃枷隱3],ASoC驅(qū)動(dòng)最頂層的對(duì)象是snd_soc_card,它是整個(gè)聲卡驅(qū)動(dòng)的封裝。圖3給出了ASoC驅(qū)動(dòng)的整體結(jié)構(gòu)[6],由編解碼器驅(qū)動(dòng)、平臺(tái)驅(qū)動(dòng)和板卡驅(qū)動(dòng)導(dǎo)出的對(duì)象在括號(hào)中進(jìn)行了標(biāo)注,沒(méi)有標(biāo)注的對(duì)象則在系統(tǒng)初始化過(guò)程中由ASoC核心產(chǎn)生。

snd_soc_codec代表編解碼器,snd_soc_platform代表SoC平臺(tái),snd_soc_dai代表數(shù)字音頻接口(Digital Audio Interface,DAI),它們都有對(duì)應(yīng)的xxx_driver驅(qū)動(dòng)對(duì)象,分別由編解碼器驅(qū)動(dòng)和平臺(tái)驅(qū)動(dòng)導(dǎo)出。DAI對(duì)象存在兩個(gè),分別是編解碼器的codec_dai與平臺(tái)的cpu_dai,snd_soc_dai_link位于板卡驅(qū)動(dòng)中,用于綁定codec_dai和cpu_dai,完成平臺(tái)和編解碼器音頻接口的連接。另外一個(gè)重要的對(duì)象是snd_soc_pcm_runtime,它是運(yùn)行過(guò)程中整個(gè)ASoC的紐帶,保存著其他對(duì)象的信息,用于完成對(duì)象之間的數(shù)據(jù)交互。

ASoC音頻驅(qū)動(dòng)的初始化過(guò)程包括[5]:編解碼器及平臺(tái)初始化,注冊(cè)各自的驅(qū)動(dòng)對(duì)象;板卡初始化,導(dǎo)出編解碼器與平臺(tái)的連接關(guān)系;ASoC核心初始化,產(chǎn)生運(yùn)行時(shí)信息。

圖3 ASoC驅(qū)動(dòng)整體結(jié)構(gòu)

3.2鏈?zhǔn)紻MA緩沖區(qū)設(shè)計(jì)

高保真音頻應(yīng)用的實(shí)時(shí)性要求很高,例如播放“48KHz/24-bit/雙聲道”的音頻,將產(chǎn)生2.3Mbps的PCM數(shù)據(jù)流,與低音質(zhì)音頻應(yīng)用相比,其數(shù)據(jù)吞吐率較高,若采用普通FIFO傳輸模式,頻繁的中斷將導(dǎo)致CPU效率降低。因此,本文采用DMA數(shù)據(jù)傳輸方式,在DMA控制器接管總線時(shí),CPU可以執(zhí)行其他任務(wù),有效提高了系統(tǒng)工作效率[9]。

AR9331芯片沒(méi)有專用于音頻設(shè)備的內(nèi)置DMA存儲(chǔ)區(qū)域,因此本文在驅(qū)動(dòng)中為音頻設(shè)備分配DMA緩沖區(qū)。高保真音頻應(yīng)用I/O數(shù)據(jù)量很大,因而需要較大的緩沖區(qū),大緩沖區(qū)需較長(zhǎng)的填充時(shí)間,會(huì)增加系統(tǒng)延時(shí),并占據(jù)更大資源。為解決延時(shí)問(wèn)題,本文提出了一種鏈?zhǔn)窖h(huán)DMA緩沖區(qū)機(jī)制,在不增加延時(shí)的情況下可提供較大的緩沖區(qū),提高系統(tǒng)的實(shí)時(shí)處理能力并降低資源占用率。

圖4是本文設(shè)計(jì)的鏈?zhǔn)紻MA緩沖區(qū)結(jié)構(gòu),DMA緩沖區(qū)被分割成若干個(gè)大小相同的數(shù)據(jù)塊,描述符dma_buf_desc包含數(shù)據(jù)塊的大小、物理地址等信息,DMA控制器就通過(guò)描述符訪問(wèn)DMA緩沖區(qū)。描述符還保存了指向下一描述符的指針,尾描述符的指針指向首描述符,以此實(shí)現(xiàn)了DMA緩沖區(qū)的鏈?zhǔn)窖h(huán)結(jié)構(gòu)。緩沖區(qū)控制塊ar9331_dma則實(shí)現(xiàn)對(duì)DMA緩沖區(qū)的管理,當(dāng)前塊指針指向正在處理的數(shù)據(jù)塊描述符,DMA延時(shí)用于確保DMA傳輸完成,自旋鎖用于一些需要同步的操作。驅(qū)動(dòng)程序初始化時(shí),通過(guò)dma_alloc_coherent()開(kāi)辟連續(xù)的DMA緩沖區(qū),隨后將調(diào)用dma_pool_alloc()為描述符分配內(nèi)存空間并進(jìn)行緩沖區(qū)塊的劃分[10]。

圖4 DMA緩沖區(qū)結(jié)構(gòu)

對(duì)于不同格式的音頻數(shù)據(jù),緩沖區(qū)塊的劃分也應(yīng)不同,例如采用“16KHz/16-bit/單聲道”格式進(jìn)行錄音,WM8983產(chǎn)生256Kbps的數(shù)據(jù)流量,使用2KB的DMA數(shù)據(jù)塊,則應(yīng)用程序有0.0625s的時(shí)間處理每個(gè)塊中的數(shù)據(jù),若采用1411.2Kbps的無(wú)損CD音質(zhì)采樣,則需要更大的數(shù)據(jù)塊進(jìn)行緩沖。本文設(shè)計(jì)的驅(qū)動(dòng)根據(jù)不同音頻格式自動(dòng)選擇合理的參數(shù)進(jìn)行劃分,使DMA傳輸既滿足實(shí)時(shí)性要求,又不分配過(guò)大的緩沖區(qū)導(dǎo)致資源浪費(fèi),表1是典型格式下的DMA數(shù)據(jù)塊劃分情況。

表1 典型音頻格式DMA數(shù)據(jù)塊劃分情況

3.3DAPM機(jī)制實(shí)現(xiàn)

DAPM是ASoC架構(gòu)下針對(duì)便攜式音頻設(shè)備的電源管理機(jī)制,能自動(dòng)發(fā)現(xiàn)并關(guān)閉空閑的音頻組件,從而降低系統(tǒng)功耗[7]。電源切換是參考音頻路由映射表做出的,圖5是一個(gè)典型的音頻路由,在DAPM機(jī)制下,當(dāng)用戶層改變某一組件的狀態(tài),例如將MUX1從LDAC切換至PGA1時(shí),系統(tǒng)會(huì)自動(dòng)遍歷MUX1所在的音頻路徑,對(duì)通路上的組件執(zhí)行上電操作(打開(kāi)PGA1),并對(duì)斷路上的組件執(zhí)行斷電操作(關(guān)閉LDAC)。

圖5 典型音頻路由

通常,為了實(shí)現(xiàn)這種電源自動(dòng)切換機(jī)制,需要針對(duì)特定硬件系統(tǒng)編寫(xiě)復(fù)雜的驅(qū)動(dòng)代碼,DAPM則提供了一種統(tǒng)一的方法,只需導(dǎo)出音頻路由中組件以及路徑的映射表,DAPM模塊就可以實(shí)現(xiàn)電源的動(dòng)態(tài)管理。

WM8983內(nèi)部的音頻路由映射表由通用的編解碼器驅(qū)動(dòng)實(shí)現(xiàn),本文重點(diǎn)分析板級(jí)DAPM功能的實(shí)現(xiàn),主要工作是定義DAPM組件和音頻路徑。板級(jí)DAPM組件包括揚(yáng)聲器、耳機(jī)插孔、麥克風(fēng)插孔等設(shè)備[11],在板卡驅(qū)動(dòng)中使用一組宏進(jìn)行定義:

struct snd_soc_dapm_widget machine_widgets[] = {

SND_SOC_DAPM_SPK("Internal Speaker",ar9331_wm8983_speaker_event),

SND_SOC_DAPM_HP("Headphone Jack",NULL),

SND_SOC_DAPM_MIC("Mic Jack",NULL),

};

第一個(gè)宏的第二個(gè)參數(shù)為DAPM事件響應(yīng)函數(shù),用于檢測(cè)耳機(jī)插孔的插拔從而自動(dòng)給揚(yáng)聲器上下電。音頻路徑則用于描述DAPM組件的連接關(guān)系,與耳機(jī)插孔相關(guān)的路徑定義如下:

struct snd_soc_dapm_route audio_map[] = {

{ "Headphone Jack",NULL,"HPL" },

{ "Headphone Jack",NULL,"HPR" },

};

以上用于連接耳機(jī)插孔和WM8983的兩個(gè)耳機(jī)輸出引腳。snd_soc_card對(duì)象中有兩個(gè)成員分別指向板級(jí)DAPM組件及音頻路徑,系統(tǒng)通過(guò)該對(duì)象實(shí)現(xiàn)板級(jí)音頻路由映射表。

4 系統(tǒng)測(cè)試與分析

按照?qǐng)D1中的硬件體系架構(gòu),本文搭建了圖6所示的硬件測(cè)試平臺(tái),核心板型號(hào)為TinyPlay1100,平臺(tái)搭載OpenWrt系統(tǒng),采用Linux 3.10.49內(nèi)核。

圖6 硬件測(cè)試平臺(tái)

圖7 WAV音頻播放測(cè)試

使用aplay/arecord進(jìn)行播放/錄制測(cè)試,結(jié)果表明驅(qū)動(dòng)具有良好的實(shí)時(shí)性和穩(wěn)定性,支持8KHz至48KHz采樣率,16-bit/24-bit位寬,單/雙聲道音頻的錄放,效果良好,圖7是使用aplay播放WAV音頻的測(cè)試圖。圖8給出了DAPM機(jī)制下,旁路播放(線路輸入耳機(jī)輸出)時(shí)各個(gè)組件的電源狀態(tài),可見(jiàn)空閑的組件都處于關(guān)閉狀態(tài)。

圖8 旁路播放時(shí)電源狀態(tài)

表2給出了典型情況下,本系統(tǒng)運(yùn)行ASoC架構(gòu)驅(qū)動(dòng)與普通ALSA架構(gòu)驅(qū)動(dòng)的功耗對(duì)比,系統(tǒng)在音頻設(shè)備待機(jī)時(shí)的整機(jī)功耗約下降65mW。

表2 ASoC架構(gòu)驅(qū)動(dòng)與普通ALSA架構(gòu)驅(qū)動(dòng)功耗對(duì)比

注:*系統(tǒng)外接麥克風(fēng)、線路輸入及16歐姆耳機(jī)。

5 結(jié)語(yǔ)

本文以AR9331無(wú)線Wi-Fi SoC平臺(tái)為嵌入式處理核心元件,設(shè)計(jì)并實(shí)現(xiàn)了一種基于ASoC架構(gòu)的嵌入式Linux音頻驅(qū)動(dòng),提出了一種高效率、低開(kāi)銷的鏈?zhǔn)紻MA緩沖區(qū)結(jié)構(gòu),并完成了DAPM功能的設(shè)計(jì)。鏈?zhǔn)紻MA支持高保真、大數(shù)據(jù)量的音頻播放與錄制,在DAPM機(jī)制之下,音頻系統(tǒng)在不同應(yīng)用場(chǎng)景中都工作于低功耗模式。測(cè)試結(jié)果表明該驅(qū)動(dòng)具有良好的實(shí)時(shí)性和魯棒性,本文提出的驅(qū)動(dòng)架構(gòu)具有很好的可移植性,對(duì)基于Wi-Fi SoC的音頻驅(qū)動(dòng)開(kāi)發(fā)具有很大的實(shí)用性和指導(dǎo)意義。

[1] 張方奎,張春業(yè).短距離無(wú)線通信技術(shù)及其融合發(fā)展研究[J].電測(cè)與儀表,2007,44(10):48-52.

ZHANG Fangkui,ZHANG Chunyei.Study on the short range wireless communication technique and its merging developing trends[J]. Electrical Measurement & Instrumentation,2007,44(10):48-52.

[2] 孟祥岳,孔令通,張文明,等.嵌入式Linux系統(tǒng)下音頻驅(qū)動(dòng)程序的設(shè)計(jì)[J].電視技術(shù),2013,37(S2):480-481.

MENG Xiangyue,KONG Lingtong,Zhang Wenming,et al. Design of Audio Driver Based on Embedded Linux System[J]. Video Engineering,2013,37(S2):480-481.

[3] 丁勇,周余,都思丹.基于Linux 2.6的嵌入式ASoC架構(gòu)音頻驅(qū)動(dòng)研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2010,27(4):267-270.

DING Yong,ZHOU Yu,DU Sidan.ON LINUX 2.6 BASED EMBEDDED ASoC AUDIO DRIVER AND ITS IMPLEMENTATION[J]. Computer Applications & Software,2010,27(4):267-270.

[4] 鄭遠(yuǎn)志,孫國(guó)強(qiáng).基于ASoC架構(gòu)的嵌入式音頻驅(qū)動(dòng)分析與驗(yàn)證[J].信息技術(shù),2013(9):121-124.

ZHENG Yuanzhi,SUN Guoqing.Analysis and verification of audio driver based on ASoC for embedded system[J]. Information Technology,2013(9):121-124.

[5] 楊鯉源,王鵬,吳曉飛,等.基于SEP6200的LINUX音頻驅(qū)動(dòng)設(shè)計(jì)[J]. 電子器件,2014(2):266-269.YANG Liyuan,WANG Peng,WU Xiaofei, et al. Design of a Linux Audio Driver Based on the SEP6200[J]. Chinese Journal of Electron Devices,2014(2):266-269.

[6] 孔海燕.通信導(dǎo)航一體化芯片Linux音頻系統(tǒng)驅(qū)動(dòng)的設(shè)計(jì)與實(shí)現(xiàn)[D].濟(jì)南:山東大學(xué),2015:22-23.

KONG Haiyan. Design and Implementation of Linux Audio System Driver in Communication and Navigation Integration Chip[D]. Jinan: Shandong University,2015:22-23.

[7] 侯智雄.基于ARM平臺(tái)ALSA音頻驅(qū)動(dòng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:中國(guó)地質(zhì)大學(xué)(北京),2013:38-40.HOU Zhixiong. Design and Implementation about ALSA audio driver based on the ARM platform[D]. Beijing: China University of Geosciences(Beijing),2013:38-40.

[8] 周鵬,王承,湯銀煥,等. 基于ALSA的WM8976音頻驅(qū)動(dòng)的設(shè)計(jì)[J]. 武漢理工大學(xué)學(xué)報(bào):信息與管理工程版,2011,33(4):517-520.

ZHOU Peng,Wang Cheng,Shang Yinhuan, et al. Design of WM8976 Audio Driver Based on ALSA[J]. Journal of Wuhan University of Technology,2011,33(4):517-520.

[9] 何瓊,陳鐵,程鑫.DMA在高速實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)中的應(yīng)用[J]. 儀表技術(shù)與傳感器,2012(3):49-52.

HE Qiong,CHEN Tie,CHENG Xin. Application of DMA in High-speed Real-time Data Acquisition System[J]. Instrument Technique & Sensor,2012(3):49-52.

[10] 宋寶華.Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解[M].北京:人民郵電出版社,2008:230-240.

SONG Baohua. Linux device driver development in detail[M]. Beijing: Posts & Telecom Press,2008:230-240.

[11] 顏瑋,鄭晉.基于TCC8801的嵌入式Linux ALSA音頻驅(qū)動(dòng)設(shè)計(jì)與研究[J].科技信息,2013(23):100-102.YAN Wei,ZHENG Jin. The Research of Embedded Linux ALSA Audio Driver Based on TCC8801[J]. Science & Technology Information,2013(23):100-102.

Design and Implementation of Embedded Linux Audio Driver Based on Wi-Fi SoC

CHEN Xi1CHENG Peng1LIANG Zuokun2WU Bin1

(1.Institute of Microelectronics of Chinese Academy of Science, Beijing100029) (2. Ralinwi Nanjing Electronic Technology Co. Ltd, Nanjing210042)

The development of audio driver based on Wi-Fi System on Chip (SoC) is one of the system design difficulties of Wi-Fi audio application. This paper presents an embedded Linux audio driver based on ALSA System on Chip (ASoC) architecture,aimed at AR9331 wireless SoC platform. A kind of Direct Memory Access (DMA) chaining transfer mechanism was designed. The real time performance of the system was enhanced and central processing unit (CPU) resource usage was reduced. Power consumption was also reduced via dynamic audio power management (DAPM). The driver was applied in the “48KHz/24-bit/Stereo” high-fidelity wireless audio system. Tests showed that the driver architecture had good abstractness and portability. It can be quickly transplanted to wireless audio systems based on several Wi-Fi SoC of Qualcomm and is of good reference value.

Audio Driver, ASoC, DMA, dynamic audio power management

2016年4月10日,

2016年5月28日

國(guó)家發(fā)改委2013年移動(dòng)互聯(lián)網(wǎng)及第四代移動(dòng)通信(TD-LTE)產(chǎn)業(yè)化專項(xiàng):高速寬帶無(wú)線接入技術(shù)研發(fā)及創(chuàng)新應(yīng)用示范資助。

陳熹,男,碩士研究生,研究方向:嵌入式系統(tǒng)設(shè)計(jì)、Linux驅(qū)動(dòng)開(kāi)發(fā)。程鵬,男,碩士,助理研究員,研究方向:寬帶無(wú)線通信系統(tǒng)。梁作坤,男,研究方向:物聯(lián)網(wǎng)智能家居。吳斌,男,博士,研究員,博士生導(dǎo)師,研究方向:寬帶通信SoC體系架構(gòu)、實(shí)時(shí)信號(hào)處理VLSI體系架構(gòu)。

TP316.8

10.3969/j.issn.1672-9722.2016.10.044

猜你喜歡
嵌入式系統(tǒng)設(shè)計(jì)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無(wú)人機(jī)系統(tǒng)
ZC系列無(wú)人機(jī)遙感系統(tǒng)
瞞天過(guò)海——仿生設(shè)計(jì)萌到家
搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
Altera加入嵌入式視覺(jué)聯(lián)盟
主站蜘蛛池模板: 五月激激激综合网色播免费| 久久性妇女精品免费| 青青草国产在线视频| 日本午夜在线视频| WWW丫丫国产成人精品| 国产精品免费p区| 狠狠ⅴ日韩v欧美v天堂| 亚洲无码高清一区二区| 亚洲一区二区在线无码| 久久精品91麻豆| 国产青榴视频| 麻豆国产在线观看一区二区| 欧美综合成人| 亚洲男人在线天堂| 五月婷婷激情四射| 免费一级毛片| 香蕉网久久| 2022国产无码在线| 亚洲日韩高清无码| 在线观看国产精美视频| 国产成人综合久久精品下载| 久久一本日韩精品中文字幕屁孩| 亚洲综合中文字幕国产精品欧美| 国产成人啪视频一区二区三区 | 色综合久久88| 一级黄色片网| 极品私人尤物在线精品首页 | 亚洲国产精品国自产拍A| 国产在线自揄拍揄视频网站| 欧美亚洲欧美| 欧美高清三区| 亚洲人成网站在线观看播放不卡| 久久国产香蕉| 国产成人精品综合| 久久综合亚洲色一区二区三区| 国产成人精品视频一区二区电影| 国产综合色在线视频播放线视 | 日本一本正道综合久久dvd| 国产成人在线小视频| 国产精品所毛片视频| 国产精品尹人在线观看| 香蕉国产精品视频| 亚洲综合精品第一页| 欧美国产日韩在线播放| 亚洲中文字幕23页在线| 日韩av无码精品专区| 一级高清毛片免费a级高清毛片| 在线观看欧美国产| 国产精品一区在线麻豆| 91丨九色丨首页在线播放| 国产大片黄在线观看| 丰满人妻久久中文字幕| 国产精品欧美激情| 亚洲一区精品视频在线| 亚洲AV无码一区二区三区牲色| 91口爆吞精国产对白第三集| 91精品国产无线乱码在线| a级毛片在线免费| 美女免费黄网站| 美女毛片在线| 一区二区三区成人| 国产成人精品男人的天堂下载| 18禁色诱爆乳网站| 国产精品无码久久久久AV| 热热久久狠狠偷偷色男同| 欧美日韩高清在线| 激情无码字幕综合| 国产毛片高清一级国语| 色噜噜狠狠狠综合曰曰曰| 国产波多野结衣中文在线播放 | 久久国产av麻豆| 欧美日韩免费| 亚洲综合色婷婷中文字幕| 日韩精品一区二区三区免费| 毛片手机在线看| 国产伦精品一区二区三区视频优播| 欧美日韩动态图| 亚洲国产一成久久精品国产成人综合| 国产大全韩国亚洲一区二区三区| 色综合网址| 亚洲AV电影不卡在线观看| 波多野结衣中文字幕一区二区|