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

基于SEP4020的嵌入式音頻系統(tǒng)設(shè)計(jì)

2008-12-31 00:00:00齊浩淳
電腦知識與技術(shù) 2008年31期

摘要:SEP4020是東南大學(xué)ASIC中心自主開發(fā)的一款基于ARM7TDMI核的微處理器,通過IIS音頻總線與UDA1341型CODEC構(gòu)成一種嵌入式音頻系統(tǒng),實(shí)現(xiàn)音頻的播放和采集。該文介紹了基于SEP4020和IIS總線的嵌入式音頻設(shè)備的硬件體系結(jié)構(gòu)及其驅(qū)動(dòng)程序的設(shè)計(jì)。給出相關(guān)硬件電路的說明及嵌入式系統(tǒng)下音頻驅(qū)動(dòng)程序的設(shè)計(jì)要點(diǎn)。

關(guān)鍵詞:SEP4020;音頻系統(tǒng);驅(qū)動(dòng)程序;IIS總線;UDA1341

中圖分類號:TP338文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2008)31-0964-03

Design of Embedded Audio System Based on SEP4020

QI Hao-chun

(IC Embedded System Lab,Southeast University,Nanjing 210096,China)

Abstract: SEP4020 which is developed by National ASIC System Engineering Research Center of SEU is a microprocessor based on ARM7TDMI core. The playing and sampling of audio signals is realized with an embedded audio system constructed by connecting the SEP4020 and CODEC UDA1341 with IIS bus. The hardware system structure and design of device driver of Embedded Audio device based on SEP4020 and IIS Bus interface have been introduced in the article. The explanations of relative hardware designs, as well as the key features of the audio devices' driver under embedded system are provided.

Key words: SEP4020; audio system; driver; IIS bus; UDA1341

1 引言

嵌入式音頻系統(tǒng)廣泛應(yīng)用于GPS自動(dòng)導(dǎo)航、PDA、3G手機(jī)等嵌入式領(lǐng)域,音頻系統(tǒng)基于某種處理器和操作系統(tǒng),由音頻設(shè)別和驅(qū)動(dòng)程序兩部分組成。音頻設(shè)別主要完成聲音數(shù)據(jù)的采集、回放、混音和聲音信號的模數(shù)轉(zhuǎn)換,驅(qū)動(dòng)程序在系統(tǒng)啟動(dòng)時(shí)對硬件進(jìn)行初始化,在系統(tǒng)啟動(dòng)后實(shí)現(xiàn)硬件和應(yīng)用程序之間的數(shù)據(jù)交互。

音頻系統(tǒng)設(shè)計(jì)包括軟件設(shè)計(jì)和硬件設(shè)計(jì)兩方面,硬件部分采用基于IIS總線的音頻系統(tǒng)體系結(jié)構(gòu)。IIS(Inter-IC Sound bus)是飛利浦公司提出的串行數(shù)字音頻總線協(xié)議,它主要針對數(shù)字音頻處理技術(shù)和設(shè)別的標(biāo)準(zhǔn)接口,它將音頻數(shù)據(jù)和時(shí)鐘信號分離,從而避免了由時(shí)鐘帶來的抖動(dòng)問題,系統(tǒng)中不再需要消除抖動(dòng)的器件。隨著該標(biāo)準(zhǔn)的廣泛應(yīng)用,不同廠家紛紛開發(fā)了支持該標(biāo)準(zhǔn)的語音芯片,但大多數(shù)由于功能單一,操作復(fù)雜,沒有得到廣泛應(yīng)用。PHILIPS生產(chǎn)了一種支持IIS總線數(shù)據(jù)格式的音頻編解碼新品啊UDA1341TS,由于其功能強(qiáng)大、低功耗、低電壓及其具有DSP語音功能等特征,目前已廣泛應(yīng)用于各種嵌入式語音系統(tǒng)中。

在軟件上,作為一個(gè)功能復(fù)雜的嵌入式系統(tǒng),需要有嵌入式操作系統(tǒng)支撐。Nucleus PLUS是美國ATI公司位實(shí)時(shí)性要求較高的嵌入式系統(tǒng)應(yīng)用設(shè)計(jì)的操作系統(tǒng)內(nèi)核。約95%的Nucleus PLUS代碼用ANSI C語言編寫,因此,非常便于移植并能夠支持大多數(shù)類型的微處理器。由于音頻應(yīng)用對實(shí)時(shí)性有很高的要求,且需要處理的數(shù)據(jù)量較大,所以必須合理分配資源,使用合適的算法。本文針對東南大學(xué)的SEP4020處理器和PHILIPS公司的UDA1341TS型立體聲音頻CODEC構(gòu)造了基于IIS的嵌入式音頻系統(tǒng), 給出了整個(gè)系統(tǒng)的軟硬件實(shí)現(xiàn)方案。

2 硬件體系結(jié)構(gòu)的配置

2.1 SEP4020微處理器簡介

SEP4020由東南大學(xué)國家專用集成電路系統(tǒng)工程技術(shù)研究中心設(shè)計(jì)的基于ARM720T的一款A(yù)RM處理器,采用0.18um標(biāo)準(zhǔn)CMOS的工藝設(shè)計(jì),內(nèi)嵌32位RISC內(nèi)核,兼容ARM720T,帶8KB指令數(shù)據(jù)Cache,三級流水線作業(yè),支持片上斷點(diǎn)、調(diào)試點(diǎn)設(shè)置,具有先進(jìn)的軟件開發(fā)環(huán)境和調(diào)試環(huán)境。圖1為SEP4020處理器的結(jié)構(gòu)框圖。

2.2 IIS總線

IIS(Inter-IC Sound)總線是PHILIPS公司提出的串行數(shù)字音頻總線協(xié)議。它是一種面向?qū)γ襟w的音頻總線,專用于音頻設(shè)備之間的數(shù)據(jù)傳輸,為數(shù)字立體聲提供序列的連接至標(biāo)準(zhǔn)編解碼器。IIS總線只處理聲音數(shù)據(jù)。其他信號(如控制信號)必須單獨(dú)傳輸。為了使必需的引腳數(shù)最小并且保持連線簡單,IIS總線由3條信號線組成:時(shí)分復(fù)用的數(shù)據(jù)銅導(dǎo)線(SD)、字選擇線(WS)和時(shí)鐘線(SCK)。

I2S工作模式分為MASTER模式和SLAVE模式,MASTER模式下,I2S向外輸出時(shí)鐘,SLAVE模式下,時(shí)鐘由外部芯片提供。常見的SOC芯片的I2S工作在MASTER模式,芯片外接音頻CODEC,SOC芯片向外提供數(shù)據(jù),CODEC做DA轉(zhuǎn)換發(fā)出聲音,錄音則是CODEC提供AD轉(zhuǎn)換后的數(shù)據(jù),SOC芯片把數(shù)據(jù)接收到MEMORY中。

無論在MASTER模式還是在SLAVE模式,I2S都可以作為TRANSMITTER或者RECEIVER,如果I2S向外接CODEC提供數(shù)據(jù),I2S是TRANSMITTER,如果I2S從外接CODEC接收數(shù)據(jù),I2S是RECEIVER。

圖2 MASTER = TRANSMITTER圖3 MASTER = RECEIVER

SCK由總線時(shí)鐘分頻而來,分頻比可配。WS是占空比為50%的周期性信號,高低電平分別對應(yīng)左右(或者右左)聲道,周期長度和音頻數(shù)據(jù)的字長有關(guān),例如,8位的雙聲道音頻數(shù)據(jù),對應(yīng)的WS周期就是16個(gè)SCK,8個(gè)左聲道數(shù)據(jù),8個(gè)右聲道數(shù)據(jù);若是單聲道,WS的高低電平將使用相同的數(shù)據(jù)。左右聲道對應(yīng)的WS信號電平可配,可以左低右高或者左高右低。

圖4I2S信號傳輸波形(左先) 圖5 I2S信號輸出波形(右先)

I2S的數(shù)據(jù)(SD信號)的變化比字選擇(WS)晚一個(gè)時(shí)鐘。I2S支持8位、16位、32位字傳輸,數(shù)據(jù)的傳輸支持DMA模式。在單聲道模式下,左右聲道輸出同樣的數(shù)據(jù)。

當(dāng)I2S作為TRANSMITTER工作時(shí),數(shù)據(jù)從總線傳輸?shù)絀2S的數(shù)據(jù)FIFO,然后根據(jù)設(shè)定的字長、聲道將數(shù)據(jù)送出,數(shù)據(jù)的高位先出。當(dāng)FIFO為半空的時(shí)候,發(fā)出中斷和DMA請求,當(dāng)FIFO為空時(shí),發(fā)出空中斷,I2S將繼續(xù)重復(fù)發(fā)送最后一個(gè)數(shù)據(jù)(這種情況下,CODEC將會(huì)發(fā)出不是用戶想要的聲音),直到有新的數(shù)據(jù)寫到FIFO中。

當(dāng)I2S作為RECEIVER工作時(shí),數(shù)據(jù)從外接的CODEC輸入到FIFO,當(dāng)FIFO半滿時(shí)發(fā)出中斷和DMA請求,當(dāng)FIFO為滿時(shí),發(fā)出滿中斷,I2S將繼續(xù)接收數(shù)據(jù),但之后接收的數(shù)據(jù)會(huì)被丟棄而不被存入FIFO中。

除了工作在標(biāo)準(zhǔn)的I2S模式,I2S模塊還可以工作在WS和SD對齊的方式。

圖6 對齊數(shù)據(jù)輸出波形(左先)圖7 對齊數(shù)據(jù)輸出波形(右先)

SEP4020內(nèi)置IIS總線接口,可直接外接8/16比特的立體聲CODEC。它還可以給FIFO通道提供DMA傳輸模式而非中斷模式,從而使數(shù)據(jù)發(fā)送和接收同時(shí)進(jìn)行。該IIS接口有3種工作方式(正常傳輸模式,DMA模式,傳輸/接收模式),可以通過設(shè)置IISCON寄存器來選擇,本系統(tǒng)使用正常傳輸模式,該模式下,IIS數(shù)據(jù)線將通過DMA接收和發(fā)送音頻數(shù)據(jù),IIS總線接口為FIFO隊(duì)列的訪問提供DMA傳輸模式來取代中斷,從而發(fā)送和接收數(shù)據(jù)。

2.3 支持IIS的編解碼芯片UDA1341TS介紹

UDA1341支持IIS總線數(shù)據(jù)格式,采用位元流轉(zhuǎn)換技術(shù)進(jìn)行信號處理,完成聲音信號的模數(shù)轉(zhuǎn)換,具有可編程增益放大器和數(shù)字自動(dòng)增益控制器,其低功耗、低電壓的特點(diǎn)使其非常適合用于MD/CD、筆記本電腦等便攜式設(shè)備。

UDA1341提供兩個(gè)音頻通道,分別輸入和輸出,對應(yīng)的引腳連接:IIS總線的音頻輸出IISSDO對應(yīng)UDA1341的音頻輸入;IIS總線的音頻輸入IISSDI對應(yīng)于DA1341的音頻輸出。UDA1341的L3接口相當(dāng)于一個(gè)混音器控制接口,可以用來控制輸入/輸出音頻信號的音量大小、低音等。L3接口的引腳L3MODE、L3DATA、L3CLOCK分別連接到SEP4020的GPA8、GPA3、GPA2。

2.4 L3總線介紹

本文中UDA1341TS采用微控制器輸入模式。在該模式總,所有的數(shù)字音頻處理特征和系統(tǒng)控制特征由微控制器通過l3m總線控制。如UDA1341TS在放音過程中去重音、音量控制、低音增強(qiáng)、高音和軟件靜音等DSP特征可通過L3 總線控制。

UDA1341TS和微控制器之間數(shù)據(jù)和控制信息的交換是通過一個(gè)L3硬件接口實(shí)現(xiàn)的。它包括以下引腳:

L3DATA,微控制器接口數(shù)據(jù)線;

L3MODE,微控制器接口模式線;

L3CLOCK,微控制器接口時(shí)鐘線;

通過微控制器總線的信息傳輸是按照“L3”格式來組織的。它有兩種不同的操作模式:地址模式和數(shù)據(jù)傳輸模式。地址模式通過L3總線來選擇通道設(shè)備并且指明數(shù)據(jù)傳輸?shù)哪康募拇嫫鳌?shù)據(jù)傳輸模式中數(shù)據(jù)傳輸可以是雙向的,向UDA1341TS輸入數(shù)據(jù),對它的音頻處理和控制功能進(jìn)行編程;向外輸出峰值電平的值。

L3控制的本質(zhì)就是向UDA1341TS寫數(shù)據(jù)的過程。向設(shè)備寫控制字分兩步進(jìn)行:第一步是在地址模式根據(jù)地址選擇設(shè)備,同時(shí)指名后來數(shù)據(jù)要發(fā)送到的寄存器類型;第二步是在數(shù)據(jù)傳輸模式下,傳送一個(gè)8位字節(jié)。要想正確地配置硬件以完成正確的功能,SEP4020提供的5根IIS信號線IISDI,IISDO,IISLRCK,IISCLK及CODEC必須和UDA1341TS提供的IIS信號線DATAO,DATAI,WS,BCK及SYSCLK對應(yīng)連接。

至此,使用SEP4020芯片和UDA1341TS及其它必需外圍設(shè)備構(gòu)建了一個(gè)功能完善的嵌入式音頻硬件系統(tǒng)。為接下來的與本系統(tǒng)對應(yīng)的底層控制軟件的開發(fā)做好了準(zhǔn)備,接下來進(jìn)行基于硬件的底層軟件設(shè)計(jì)。

3 底層驅(qū)動(dòng)程序設(shè)計(jì)

嵌入式系統(tǒng)硬件設(shè)備種類繁多,且缺乏PC中標(biāo)準(zhǔn)的體系結(jié)構(gòu),所以必須為各種設(shè)備編寫驅(qū)動(dòng)程序,驅(qū)動(dòng)程序的主要任務(wù)是控制音頻數(shù)據(jù)在硬件中流動(dòng),并為音頻應(yīng)用提供標(biāo)準(zhǔn)接口。

通過配置IIS和CODEC,以及對DMA傳輸進(jìn)行配置,可以實(shí)現(xiàn)IIS的錄音和放音等功能,本系統(tǒng)音頻采樣規(guī)格為44.1Hz,采樣精度為16bit。具體配置如下:

3.1 L3總線配置

本系統(tǒng)將GPA2配置為L3CLOCK信號,GPA3,GPA8分別配置為L3DATA和L3MODE。SEP4020和UDA1341連接配置程序如下:

static void IIS_PortSetting(void)

{ #define L3C (1<<2)//GPA2 = L3CLOCK

#define L3D (1<<3)//GPA3 = L3DATA

#define L3M (1<<8)//GPA8 = L3MODE

static void _WrL3Addr(U8 data)

{

S32 i,j;

rGPBDAT= rGPBDAT ~(L3D|L3M|L3C)|L3C;//L3D=L, L3M=L(in address mode), L3C=H

for(j=0;j<4;j++);//tsu(L3) > 190ns

//GPB[4:2]=L3C:L3D:L3M

for(i=0;i<8;i++) //LSB first

{

if(data 0x1) //If data's LSB is 'H'

{

rGPBDAT = ~L3C; //L3C=L

rGPBDAT |= L3D;//L3D=H

for(j=0;j<4;j++);//tcy(L3) > 500ns

rGPBDAT |= L3C;//L3C=H

rGPBDAT |= L3D;//L3D=H

for(j=0;j<4;j++);//tcy(L3) > 500ns

}

else //If data's LSB is 'L'

{

rGPBDAT = ~L3C; //L3C=L

rGPBDAT = ~L3D; //L3D=L

for(j=0;j<4;j++);//tcy(L3) > 500ns

rGPBDAT |= L3C;//L3C=H

rGPBDAT = ~L3D; //L3D=L

for(j=0;j<4;j++);//tcy(L3) > 500ns

}

data >>= 1;

}

rGPBDAT= rGPBDAT ~(L3D|L3M|L3C)|(L3C|L3M); //L3M=H,L3C=H

}

3.2 DMA傳輸配置

本系統(tǒng)相應(yīng)的DMA寄存器配置如下,I2S Transmitter 表示放音,I2S Receiver表示錄音。

// I2S Transmitter DMA Configuration

write_reg(DMACC0SrcAddr, EMIADDR_CSC_BASE);//source addr

write_reg(DMACC0DestAddr, I2S_T_DR);//destination addr

write_reg(DMACC0Control, TRANSFERSIZE(16)+DI(0)+SI(1)+DESTSIZE(2)+SOURCESIZE(2)+DESTBURST(3)+SOURCEBURST(3));

//control, 16, SI, 32, Burst = 4

write_reg(DMACC0Configuration, 0X200B);//configuration, mem to I2S_T,

//completionmask, enable

// I2S Receiver DMA configuration

write_reg(DMACC2SrcAddr, I2S_R_DR);

write_reg(DMACC2DestAddr, EMIADDR_CSD_BASE);

write_reg(DMACC2Control, TRANSFERSIZE(0x800)+DI(1)+SI(0) + DESTSIZE(2) + SOURCESIZE(2)+DESTBURST(3)+SOURCEBURST(3));//re:256 -- tr:16, add int

write_reg(DMACC2Configuration, 0X038D); //I2S_R(MMC) TO mem,

//completion not mask

// I2S_T DMA Configuration as receiver

write_reg(DMACC0SrcAddr, I2S_T_DR);//source addr

write_reg(DMACC0DestAddr, EMIADDR_CSGBAB_val);//destination addr

write_reg(DMACC0Control, TRANSFERSIZE(16) + DI(1) + SI(0) + DESTSIZE(2)+SOURCESIZE(2)+DESTBURST(3)+SOURCEBURST(3));//control, 16, SI, 32, Burst = 4

write_reg(DMACC0Configuration, 0X020D);//configuration, mem to I2S_T,

//completionmask, enable

// I2S_R DMA configuration as transmitter

write_reg(DMACC2SrcAddr, EMIADDR_CSB_BASE);

write_reg(DMACC2DestAddr, I2S_R_DR);

write_reg(DMACC2Control, TRANSFERSIZE(256)+DI(0)+SI(1)+DESTSIZE(2)+SOURCESIZE(2)+DESTBURST(3)+SOURCEBURST(3));//re:256--tr:16, add int

write_reg(DMACC2Configuration, 0X280B);//I2S_R(SSI) TO mem,

//completion not mask

4 結(jié)束語

本文介紹了在嵌入式系統(tǒng)中構(gòu)建基于IIS總線的音頻系統(tǒng),實(shí)現(xiàn)音頻的播放和錄音的采集。具體講述了基于東南大學(xué)ASIC中心SEP4020型微處理器的CODEC硬件連接的實(shí)現(xiàn)及嵌入式操作系統(tǒng)下音頻驅(qū)動(dòng)的實(shí)現(xiàn)。該系統(tǒng)已經(jīng)在基于SEP4020的開發(fā)平臺上得到了實(shí)現(xiàn),可以順利進(jìn)行音頻的播放和采集,并取得了良好的效果。

參考文獻(xiàn):

[1] SEP4020移動(dòng)終端應(yīng)用處理器用戶手冊[S].國家用集成電路系統(tǒng)工程技術(shù)中心,2008-01.

[2] FURBERS.ARM SoC System Structure[M].田澤,于敦山,盛世敏,譯.北京:北京航空航天大學(xué)出版社,2002:87-159.

[3] 徐睿,李斐,王申康.基于IIS總線的嵌入式音頻系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用,2004(4):7-9.

[4] 黎想,馬欣.基于VxWorks的音頻系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2002(12):233-235.

[5] 32位嵌入式系統(tǒng)硬件設(shè)計(jì)與調(diào)試[M].北京:機(jī)械工業(yè)出版社,2005.

[6] Marwedel P.Embedded system design[M].北京:科學(xué)出版社,2007.

主站蜘蛛池模板: 国产精品福利社| 欧洲av毛片| 波多野结衣一区二区三区四区| 高清色本在线www| 亚洲区第一页| 亚洲中文字幕在线观看| 热九九精品| 欧美成人怡春院在线激情| 亚洲AⅤ无码日韩AV无码网站| 多人乱p欧美在线观看| 欧美精品二区| 国产精品不卡片视频免费观看| 99视频在线观看免费| 久久99久久无码毛片一区二区| 免费jjzz在在线播放国产| 3p叠罗汉国产精品久久| 男人天堂亚洲天堂| 久久久久亚洲精品成人网| 中文字幕在线视频免费| 日韩精品一区二区三区大桥未久| 熟妇丰满人妻av无码区| 亚洲成人高清在线观看| 欧美亚洲一区二区三区导航 | 国产精品吹潮在线观看中文| 秋霞国产在线| 日韩 欧美 国产 精品 综合| 欧美a级完整在线观看| 在线看片中文字幕| 国产亚洲精品91| 强奷白丝美女在线观看| 亚洲一区二区三区在线视频| 免费va国产在线观看| 国产精品福利一区二区久久| 四虎永久在线精品影院| 91网在线| 亚洲欧美日韩色图| 毛片大全免费观看| 婷婷五月在线视频| 久久香蕉国产线看观看精品蕉| 精品一区二区三区四区五区| 免费看a毛片| 爽爽影院十八禁在线观看| 中文字幕永久在线观看| 天天干天天色综合网| 日韩黄色大片免费看| 欧美一区国产| 亚洲综合国产一区二区三区| 伊人狠狠丁香婷婷综合色| 成人日韩欧美| 99热国产这里只有精品无卡顿"| 日本黄色a视频| 一级毛片无毒不卡直接观看 | 亚洲视频影院| 国产精品对白刺激| 色播五月婷婷| 天堂在线www网亚洲| 国产成人你懂的在线观看| 中文字幕在线看| 国产在线98福利播放视频免费| 麻豆国产在线观看一区二区| 米奇精品一区二区三区| 国产导航在线| 国产av色站网站| 亚洲网综合| 国产91在线免费视频| 国产福利不卡视频| 91无码视频在线观看| 国产视频入口| 亚洲av无码成人专区| 91网址在线播放| 伊人无码视屏| 一区二区三区在线不卡免费| 欧美伦理一区| 有专无码视频| 久草国产在线观看| 91在线精品免费免费播放| 青青草久久伊人| 精品福利网| 国产精品30p| 99re在线观看视频| 99精品国产电影| 免费AV在线播放观看18禁强制|