當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] 隨著Internet技術(shù)和多媒體技術(shù)的快速發(fā)展,語音通信技術(shù)的應(yīng)用越來越廣泛,也越來越受到重視[1]。如今的嵌人式設(shè)備日益復(fù)雜化,功能比以前更加豐富,性能也越來越高。在多種嵌人式終端產(chǎn)品中,音頻處

隨著Internet技術(shù)和多媒體技術(shù)的快速發(fā)展,語音通信技術(shù)的應(yīng)用越來越廣泛,也越來越受到重視[1]。如今的嵌人式設(shè)備日益復(fù)雜化,功能比以前更加豐富,性能也越來越高。在多種嵌人式終端產(chǎn)品中,音頻處理功能已成為不可缺少的重要組成部分,高質(zhì)量的音效是當(dāng)前發(fā)展的重要趨勢(shì)。

本文利用ATMEL公司的AT91RM9200型微處理器和Philips公司的UDA1341型立體聲音頻編解碼器設(shè)計(jì)了一種嵌入式音頻系統(tǒng)。該嵌入式音頻系統(tǒng)硬件部分采用基于IIS總線的音頻系統(tǒng)體系結(jié)構(gòu),其主要硬件電路后文作了詳細(xì)的介紹。軟件上,筆者以嵌入式Linux操作系統(tǒng)作為平臺(tái),重點(diǎn)介紹該音頻系統(tǒng)在此平臺(tái)下的驅(qū)動(dòng)程序的實(shí)現(xiàn)。






2AT91RM9200處理器簡(jiǎn)介

AT91RM9200是ATMEL公司針對(duì)系統(tǒng)控制以及通信領(lǐng)域推出的基于ARM920T內(nèi)核的新型微處理器[2],在高性能和低功耗特性方面具有極大的優(yōu)勢(shì),而且具有很高的主頻,最高可達(dá)到180MHz。該處理器具有獨(dú)立的16K指令和16K數(shù)據(jù)cache,全功能的MMU虛擬內(nèi)存管理單元,以及內(nèi)部的16KBSRAM和128KBROM,EBI接口控制器。片上集成了豐富的外圍接口,包括網(wǎng)絡(luò)MAC、USB控制器、SDRAM控制器、CF接口、NANDflash接口、IIC接口、JTAG調(diào)試器以及支持256MB的地址空間。而且處理器還提供自舉模式,供用戶寫入引導(dǎo)代碼,方便Linux等操作系統(tǒng)的移植。

3UDA1341TS音頻芯片及IIS總線簡(jiǎn)介

PHILIPS公司的UDA1341TS是一塊功能強(qiáng)大的專用語音處理芯片[3]。該芯片集語音放大、濾波、采樣、A/D和D/A轉(zhuǎn)換等功能于一體,并且能進(jìn)行數(shù)字語音處理。本設(shè)計(jì)使用的AT91RM9200處理器具有一個(gè)IIS音頻接口,此接口采用DMA方式傳輸數(shù)據(jù)。在該方式下,由DMA控制器取代CPU,獲得總線控制權(quán),從而實(shí)現(xiàn)內(nèi)存與外設(shè)或者內(nèi)存之間的不同區(qū)域之間大量數(shù)據(jù)的快速傳輸。用DMA接口傳輸數(shù)據(jù),不僅可以降低CPU負(fù)擔(dān),還可以節(jié)省系統(tǒng)的軟件設(shè)計(jì)時(shí)間,降低編程難度。而UDA1341TS支持IIS總線格式,并且具有數(shù)字語音處理特性,由此決定了UDA1341TS與AT91RM9200處理器的電路連接比較簡(jiǎn)單,并且能實(shí)現(xiàn)語音的A/D和D/A等預(yù)處理,而不需要再額外增加專門的A/D和D/A器件。

需要說明的是,數(shù)字音頻系統(tǒng)需要多種多樣的集成電路,因此,為這些電路提供一個(gè)標(biāo)準(zhǔn)的通信協(xié)議非常重要。IIS總線是由SONY和PHILIPS公司等電子巨頭共同提出的數(shù)字音頻總線協(xié)議,全稱是內(nèi)部集成電路聲音總線(InterICSoundBus),它是一種串行的數(shù)字音頻總線協(xié)議,該總線專門用于音頻設(shè)備之間的數(shù)據(jù)傳輸,為數(shù)字立體聲提供一個(gè)序列連接至標(biāo)準(zhǔn)編解碼器[4],目前很多音頻芯片和處理器都提供了對(duì)IIS總線的支持。筆者根據(jù)IIS總線的原理,結(jié)合AT91RM9200處理器和數(shù)字音頻輸入/輸出接口芯片UDA1341TS的結(jié)構(gòu)特點(diǎn),設(shè)計(jì)的嵌入式音頻系統(tǒng)可以運(yùn)用到很多類似的音頻系統(tǒng)中。

4系統(tǒng)硬件設(shè)計(jì)方案

由于IIS總線只處理音頻數(shù)據(jù),而其他的信號(hào)如編碼、控制等信號(hào)單獨(dú)傳送。為了使必需的引腳數(shù)最小并且保持連線簡(jiǎn)單,IIS總線由3條信號(hào)線組成:時(shí)分復(fù)用的數(shù)據(jù)通道線、字段選擇線和時(shí)鐘信號(hào)線。本系統(tǒng)由系統(tǒng)主控制器提供時(shí)鐘信號(hào),控制數(shù)字音頻數(shù)據(jù)在各個(gè)IC之間的流向。此時(shí),發(fā)送器在外部時(shí)鐘信號(hào)的控制下產(chǎn)生數(shù)據(jù),處于從模式。

本設(shè)計(jì)硬件連接圖比較簡(jiǎn)單,如圖1所示。圖中的處理器采用了AT91RM9200處理器,其內(nèi)置IIS音頻總線,內(nèi)置的IIS接口能讀取IIS總線上的數(shù)據(jù),并由UDA1341TS芯片外擴(kuò),通過總線和系統(tǒng)連接,需要處理器提供系統(tǒng)時(shí)鐘和3根控制線。

AT91RM9200的IIS控制器由5個(gè)引腳與外部的音頻編解碼器相連。這些引腳分別是:系統(tǒng)時(shí)鐘;位速率時(shí)鐘(可使用內(nèi)部或外部時(shí)鐘源);字段選擇;串行聲音輸入;串行聲音輸出。本設(shè)計(jì)中,UDA1341TS使用的是L3接口,該接口用來控制音頻信號(hào)的音量大小以及低音等。L3接口有3個(gè)信號(hào):L3MODE,L3CLK,L3DATA,將字節(jié)寫入L3總線寄存器。IIS總線控制器通過軟件控制AT91RM9200的通用I/O引腳(筆者選用的是PA0、PA1、PA2三個(gè)通用I/O口)來支持L3接口。下圖是本嵌入式音頻系統(tǒng)的硬件電路連接圖,見圖2。

各個(gè)引腳的連接說明如下:

SYSCLK:IIS總線的基本時(shí)鐘源,AT91RM9200處理器的TCLK3引腳與UDA1341TS芯片的系統(tǒng)時(shí)鐘相連接。由于UDA1341TS芯片僅支持從模式,因此在所有的應(yīng)用中系統(tǒng)設(shè)備必須提供系統(tǒng)時(shí)鐘。系統(tǒng)時(shí)鐘頻率是可編程的,其分頻率可以是256、384或512倍的采樣頻率。系統(tǒng)時(shí)鐘必須在頻率上與數(shù)字接口信號(hào)一致。在設(shè)計(jì)中筆者用的是256fs的時(shí)鐘。

WS:字段選擇引腳,用于指出現(xiàn)行串行數(shù)據(jù)采樣值為左聲道還是右聲道數(shù)據(jù),AT91RM9200處理器的TK0引腳與WS相連接。

BCK:向UDA1341TS提供用作采樣邏輯的串行聲音位速率時(shí)鐘,AT91RM9200處理器的TD0引腳與UDA1341TS芯片的BCK引腳相連接。

DATAI,DATAO:用于從UDA1341TS接收、發(fā)送串行聲音數(shù)據(jù),AT91RM9200處理器的RD0,RK0引腳分別對(duì)應(yīng)UDA1341TS的音頻輸入、輸出引腳。

L3M0DE,L3CLOCK,L3DATA:UDA1341TS的L3接口引腳,分別與AT91RM9200的3個(gè)通用數(shù)據(jù)輸出引腳PA0、PA1、PA2連接。

5系統(tǒng)軟件設(shè)計(jì)方案

嵌入式Linux是一種完全開放且免費(fèi)的操作系統(tǒng),其支持多種硬件體系結(jié)構(gòu),運(yùn)行穩(wěn)定,擁有完善的開發(fā)工具,為開發(fā)人員提供了優(yōu)良的開發(fā)環(huán)境[5]。在嵌入式Linux系統(tǒng)中,設(shè)備驅(qū)動(dòng)程序提供了應(yīng)用程序和實(shí)際設(shè)備之間的一個(gè)軟件層(接口),為應(yīng)用程序屏蔽了硬件細(xì)節(jié)。本設(shè)計(jì)中,音頻設(shè)備驅(qū)動(dòng)程序主要通過對(duì)硬件的控制實(shí)現(xiàn)音頻流的傳輸,同時(shí)向上層提供標(biāo)準(zhǔn)的音頻接口。整個(gè)音頻驅(qū)動(dòng)程序包括設(shè)備初始化、打開設(shè)備、數(shù)字音頻處理(DSP)驅(qū)動(dòng)、混頻器(MIXER)驅(qū)動(dòng)和釋放設(shè)備等部分。本文由于篇幅的限制,僅介紹設(shè)備初始化及打開設(shè)備的實(shí)現(xiàn)。

設(shè)備初始化是整個(gè)音頻驅(qū)動(dòng)程序的開始部分,主要完成對(duì)UDA1341TS音量、采樣頻率、L3接口等的初始化,并且注冊(cè)設(shè)備。通過函數(shù)audio_init(void)完成以下具體功能:AT91RM9200控制端口(PA0、PA1、PA2)的初始化;為UDA1341TS分配DMA通道;初始化UDA1341TS芯片;注冊(cè)音頻audio設(shè)備和混頻器設(shè)備。

以下給出的是該函數(shù)總體框架:

audio_init(void)

{

Set_gpio_CTRl(GPIO_L3CLOCK);/*CPU控制端口的初始化*/

……/*“……”表示省略部分代碼,以下同*/

Input_stream.dma_ch=DMA_CH1;/*輸入DMA通道的選擇*/

Output_stream.dma_ch=DMA_CH2;/*輸出DMA通道的選擇*/

Local_IRQ_restore(flags);

Init_UDA1341();/*初始化UDA1341*/

……

/*下面兩個(gè)函數(shù)用來注冊(cè)音頻audio設(shè)備和混頻器設(shè)備*/

Audio_dev_dsp=register_sound_dsp(&at91rm9200_audio_fops,-1);

Audio_dev_mixer=register_ound_mixer(&at91rm9200_mixer_fops,-1);

}

打開設(shè)備由函數(shù)open()來實(shí)現(xiàn),該函數(shù)可以完成以下功能:配置IIS總線接口;設(shè)置UDA1341TS聲道及采樣頻率等參數(shù);計(jì)算緩沖區(qū)大小;為UDA1341TS分配DMA緩沖區(qū)。

該音頻模塊經(jīng)過正確的配置可以實(shí)現(xiàn)錄音、放音及循環(huán)放音等功能。本文給出初始化IIS接口、測(cè)試IIS接口以及運(yùn)用IIS接口來播放一段音樂的程序設(shè)計(jì)基本流程,流程圖如圖3所示。錄

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉