日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]IIS(集成音頻接口)于上個世紀(jì)80年代首先被Philips公司用于消費產(chǎn)品的音頻設(shè)備。被廣泛運用于CD、數(shù)字音頻磁帶、數(shù)字音頻處理器和數(shù)字TV音頻。IIS的組成一般來說包括4個管腳:串行數(shù)據(jù)輸入(IISDI)、串行數(shù)據(jù)輸出(

IIS(集成音頻接口)于上個世紀(jì)80年代首先被Philips公司用于消費產(chǎn)品的音頻設(shè)備。被廣泛運用于CD、數(shù)字音頻磁帶、數(shù)字音頻處理器和數(shù)字TV音頻。

IIS的組成一般來說包括4個管腳:串行數(shù)據(jù)輸入(IISDI)、串行數(shù)據(jù)輸出(IISDO)、左/右通道選擇(IISLRCK)、串行位時鐘(IISCLK);產(chǎn)生IISLRCK和IISCLK的是主控器。在S3C2440上和IIS相關(guān)的接口還有一個用于提供CODEC時鐘的管腳。就時序信號工作來說,當(dāng)IISSCLK提供不間斷的時鐘信號的時候IISLRCK會以“數(shù)據(jù)位+1”的寬度方式產(chǎn)生周期信號。低電平時期表示左聲道,高電平時期表示右聲道。然后IISDI或者IISDO就按照一定的格式不斷的發(fā)送/接收數(shù)據(jù)。

至于這種數(shù)據(jù)的格式,根據(jù)S3C2440的芯片資料的說明可以知道這樣以MSB為首位可以讓傳輸器和接收器不用知道對方的字長。數(shù)據(jù)還是按照各自的字長進(jìn)行截取,如果不能匹配就會造成截斷或者添0(意思是如果系統(tǒng)字長為32位而傳輸器的字長為16位那么傳輸?shù)臅r候32位的系統(tǒng)數(shù)據(jù)就會被折成16位的)反正就是數(shù)據(jù)位從高到低的傳輸。至于MSB對齊格式,和上面的時序區(qū)別在于MSB總是被首先的傳輸在左右聲道切換的時候。

芯片手冊


語音芯片UDA1341TS

/*-----------------------------------------------------------------------------------

*地址模式時序,掌握幾個要點

*數(shù)據(jù)傳輸?shù)臅r候保證L3MODE為低

*數(shù)據(jù)傳輸開始的信號是保證L3MODE為低L3CLOCK為高

*數(shù)據(jù)傳輸結(jié)束的信號是保證L3MODE為高L3CLOCK為高

*數(shù)據(jù)傳輸過程中一個L3CLOCK的周期傳一個數(shù)據(jù)位

*數(shù)據(jù)模式時序,掌握幾個要點

*數(shù)據(jù)傳輸?shù)臅r候保證L3MODE為低

*數(shù)據(jù)傳輸開始的信號是保證L3MODE為高L3CLOCK為高

*數(shù)據(jù)傳輸結(jié)束的信號是保證L3MODE為高L3CLOCK為高

*數(shù)據(jù)傳輸過程中一個L3CLOCK的周期傳一個數(shù)據(jù)位

*------------------------------------------------------------------------------------*/

2.mini2440電路圖

3.S3C2440寄存器

s3C2440A的IIS總線接口用于實現(xiàn)一個CODEC接口來擴(kuò)展8/16位立體聲CODEC芯片到便攜式應(yīng)用。IIS總線接口支持IIS總線數(shù)據(jù)格式和MSB對齊數(shù)據(jù)格式。接口提供DMA傳輸模式用于FIFO訪問代替一個中斷。它能同步的傳輸和接收數(shù)據(jù)如同選擇單獨傳輸或者接收數(shù)據(jù)一樣好。

時序的速率和音頻數(shù)據(jù)的采樣速率相關(guān),因為IIS傳輸?shù)氖菙?shù)字采樣信號。所以數(shù)據(jù)的傳輸必須要達(dá)到采樣速率。這里以一個wav文件作為例子(采樣頻率44.1KHz、聲道數(shù)2、數(shù)據(jù)位數(shù)16)。該文件的聲音要得到還原,那么數(shù)據(jù)必須以44.1KHz的速率傳輸。但是數(shù)據(jù)是串行傳輸?shù)?,為了在指定時間傳輸?shù)綌?shù)據(jù),所以傳輸速率必須要乘以16才能一個數(shù)據(jù)以44.1KHz的速率傳輸,然后由于聲道數(shù)位2,所以有兩個通道要同時傳輸數(shù)據(jù)。但是傳輸通道只有一個,所以為了保證同時,還要在此基礎(chǔ)上乘以2。根據(jù)上面的時序可以知道是SCLK在控制整個時序,所以得出IISSCLK=采樣頻率×采樣位數(shù)×通道數(shù)。這里為了簡便起見,采樣頻率記為fs。于是IISSCLK為32fs。知道一個管腳的時序,其他時序也就好確定了。

在S3C2440下,IIS的配置都是通過寄存器來完成的。下面總結(jié)一些S3C2440使用IIS接口需要做的一些配置工作。

IIS相關(guān)的寄存器:

IISCON寄存器

功能名稱

說明

LR_CH_INDEX

[8]

左/右聲道索引

0——左

1——右

TRANS_FIFO_RFLAG

[7]

傳輸FIFO準(zhǔn)備標(biāo)識

0——空

1——非空

RECV_FIFO_RFLAG

[6]

接收FIFO準(zhǔn)備標(biāo)識

0——滿

1——非滿

TRANS_DMA_EN

[5]

傳輸DMA服務(wù)請求

0——關(guān)閉

1——使能

RECV_DMA_EN

[4]

接收DMA服務(wù)請求

0——關(guān)閉

1——使能

TRANS_CH_IDLE_CMD

[3]

在Idle狀態(tài)IISLRCK是非活動的(暫停Tx)

0——Notidle

1——Idle

RECV_CH_IDLE_CMD

[2]

在Idle狀態(tài)IISLRCK是非活動的(暫停Rx)

0——Notidle

1——Idle

IIS_PRESCALER

[1]

IIS預(yù)分頻

0——關(guān)閉

1——開啟

IIS_EN

[0]

IIS接口使能

0——關(guān)閉

1——開啟

IISMOD寄存器

功能名稱

說明

MA_CLK_SELECT

[9]

主時鐘選擇

0——PCLK

1——MPLLin

MA_SL_MODE

[8]

主/從模式選擇

0——主模式(IISLRCK和IISCLK是輸出模式)

1——從模式(IISLRCK和IISCLK是輸入模式)

TX_RX_MODE

[7:6]

傳輸/接收模式選擇

00——無傳輸

01——接收模式

10——傳輸模式

11——傳輸和接收模式

LR_CH_EN

[5]

左右聲道使能

0——右聲道

1——左聲道

SER_FORMAT

[4]

串行接口格式

0——IIS兼容格式

1——MSB對齊格式(最高位左對齊)

SER_DATA_BIT

[3]

串行數(shù)據(jù)位數(shù)

0——8位

1——16位

MA_CLK_FS

[2]

主時鐘頻率選擇

0——256fs

1——384fs

(fs:采樣頻率)

SCLK

[1:0]

串行時鐘頻率選擇

00——16fs

01——32fs

10——48fs

11——保留

IISPSR寄存器

功能名稱

說明

PRE_A

[9:5]

預(yù)分頻器A的值

PRE_B

[4:0]

預(yù)分頻器B的值

注意:選擇IIS的時鐘源(PCLK或者M(jìn)PLLin)后,經(jīng)過兩個預(yù)分頻器處理后會分別得到IISSCLK、IISLRCK和CDCLK(預(yù)分頻器A得到IISSCLK、IISLRCK;預(yù)分頻器B得到CDCLK)。一般來說,這兩個預(yù)分頻器的值N相等。這里通過CDCLK來計算預(yù)分頻器B的N值來推知預(yù)分頻器A的N值,計算公式為CDCLK=時鐘源/(N+1)。

IISFCON寄存器

功能名稱

說明

TX_FIFO_MODE

[15]

傳輸FIFO訪問模式選擇

0——普通

1——DMA

RX_FIFO_MODE

[14]

接收FIFO訪問模式選擇

0——普通

1——DMA

TX_FIFO_EN

[13]

傳輸FIFO使能位

0——關(guān)閉

1——使能

RX_FIFO_EN

[12]

接收FIFO使能位

0——關(guān)閉

1——使能

傳輸FIFO數(shù)據(jù)計數(shù)

[11:6]

數(shù)據(jù)計數(shù)值0~32

接收FIFO數(shù)據(jù)計數(shù)

[5:0]

數(shù)據(jù)計數(shù)值0~32

IISFIFO寄存器

功能名稱

說明

FENTRY

[15:0]

IISFIFO寄存器保存?zhèn)鬏敾蛘呓邮盏囊纛l數(shù)據(jù)值

3.1.DMA

S3C2440支持4通道位于系統(tǒng)總線和外圍設(shè)備總線之間的DMA控制器。每個DMA控制器通道能執(zhí)行數(shù)據(jù)搬運在系統(tǒng)總線設(shè)備和/或外圍總線設(shè)備之間而沒有限制。換句話說,每個通道能處理下面4種情形:

1.源和目地都在系統(tǒng)總線里

2.源在系統(tǒng)總線目地在外圍總線

3.源在外圍總線目地在系統(tǒng)總線

4.源和目地都在外圍總線

DMA的優(yōu)勢是它在傳輸數(shù)據(jù)的時候不需要CPU的干預(yù)。DMA操作能被軟件初始化,或者響應(yīng)來自內(nèi)部外圍總線或者擴(kuò)展請求管腳。

DMA請求資源

各個DMA控制器的通道能選擇其中一個DMA請求資源,如果H/WDMA請求模式被DCON寄存器選擇(注意如果S/W請求模式被選擇,這個DMA請求資源無任何意義)。表8-1展示了4個DMA資源于各個通道。


DMA操作

空閑時:DMA_ACK=0;INT_REQ=0;

單服務(wù):知道CURR_TC計數(shù)變?yōu)?;

全服務(wù):完成一次原子操作;

完成后:DMA_ACK=1;INT_REQ=1;

傳輸大小

單元(unit)和突發(fā)(Burst)

iis.h


/*******************************************************************

*Copyright(C),2011-2012,XXX.

*FileName:iis.h

*Author:HuangYinqing

*Version:1.0

*Date::2012-08-12

*Description:iis音頻驅(qū)動.

*FunctionList:

*History:

******************************************************************/

/*IIS調(diào)試等級*/

#defineDBG_IIS_LEVEL1

/*采樣頻率選擇*/

#defineFRQ_SELECT4

/*使用DMA傳輸數(shù)據(jù)*/

//#defineIIS_USE_DMA

/*引腳定義*/

#defineL3C(1<<4)//GPB4=L3CLOCK

#defineL3D(1<<3)//GPB3=L3DATA

#defineL3M(1<<2)//GPB2=L3MODE

#defineMIN_VOLUME0x01

#defineMID_VOLUME0x20

#defineMAX_VOLUME0x3e//==音量最大值

/*緩沖區(qū)產(chǎn)度*/

#defineSOUND_DATA_LEN243552

/*函數(shù)原型*/

/***************************************************************

**函數(shù)名稱:voidSoundRecord(unsignedchar*pucRecBuf,unsignedlongulSize)

**函數(shù)功能:錄音

**入口參數(shù):pucPlayBuf:放音緩沖區(qū);ulSize:緩沖區(qū)大小

**出口參數(shù):無

**返回:無

***************************************************************/

voidSoundRecord(unsignedchar*pucRecBuf,unsignedlongulSize);

/***************************************************************

**函數(shù)名稱:voidSoundPlay(unsignedchar*pucPlayBuf,unsignedlongulSize)

**函數(shù)功能:放音

**入口參數(shù):pucPlayBuf:放音緩沖區(qū);ulSize:緩沖區(qū)大小

**出口參數(shù):無

**返回值:無

*************

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

移植環(huán)境1,主機環(huán)境:VMare下CentOS 5.5 ,1G內(nèi)存。2,集成開發(fā)環(huán)境:Elipse IDE3,編譯編譯環(huán)境:arm-linux-gcc v4.4.3,arm-none-eabi-gcc v4.5.1。4,...

關(guān)鍵字: mini2440 u-boot 移植 dm9000驅(qū)動

移植環(huán)境1,主機環(huán)境:VMare下CentOS 5.5 ,1G內(nèi)存。2,集成開發(fā)環(huán)境:Elipse IDE3,編譯編譯環(huán)境:arm-linux-gcc v4.4.3,arm-none-eabi-gcc v4.5.1。4,...

關(guān)鍵字: eeprom i2c mini2440 u-boot 移植

從NandFlash啟動CPU的時候,CPU會自動通過其內(nèi)部硬件結(jié)構(gòu)復(fù)制NandFlash中的前4K代碼到cpu的自帶SRAM中,注意這是CPU自帶的SRAM,區(qū)別于本文所講的SDRAM,本文所指的SDRAM是外接SDR...

關(guān)鍵字: s3c2440 sdram 硬件篇

以下是驅(qū)動的源碼。#includelinux/config.h//配置頭文件#includelinux/kernel.h//用于調(diào)用kmalloc和kfree#includelinux/sched.h//調(diào)度,進(jìn)程睡眠,...

關(guān)鍵字: gpio mini2440 驅(qū)動led

接上一篇:s3c2440硬件篇之三:NandFlash(1)介紹s3c2440讀NAND Flash的步驟:①設(shè)置NFCONF 在HCLK=100Mhz的情況下,TACLS=0,TWRPH0=3,TWRPH1=0,則 N...

關(guān)鍵字: s3c2440 硬件篇 讀nandflash

1.硬件原理2440有5個16位定時器,其中0、1、2、3有PWM功能,有一根輸出引腳,可以產(chǎn)生周期性高低電平變化。定時器4沒有輸出引腳。2.芯片手冊3.mini2440電路圖4.S3C2440寄存器定時器時鐘源是PCL...

關(guān)鍵字: mini2440 硬件篇 pwm定時器

移植環(huán)境1,主機環(huán)境:VMare下CentOS 5.5 ,1G內(nèi)存。2,集成開發(fā)環(huán)境:Elipse IDE3,編譯編譯環(huán)境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc...

關(guān)鍵字: Linux mini2440 內(nèi)核 開發(fā)環(huán)境 移植

通用異步收發(fā)傳輸器(UniversalAsynchronousReceiver/Transmitter),通常稱作UART,是一種異步收發(fā)傳輸器。UART以全雙工方式傳輸數(shù)據(jù),最簡單的連線只有2根,TxD用于發(fā)送,RxD...

關(guān)鍵字: mini2440 uart 硬件篇

//定義LED設(shè)備的名稱,這里是leds,這個模塊加載后,會自動在/dev目錄里創(chuàng)建該名字的設(shè)備文件。#define DEVICE_NAME "leds"//mini2440開發(fā)板上有4個LED(發(fā)光...

關(guān)鍵字: LED驅(qū)動 mini2440

S3C2440芯片對外提供的引腳上,只給出了27根地址線,單靠芯片上的27根引腳只能訪問128M的外設(shè)空間。為了擴(kuò)大外設(shè)的訪問范圍,S3C2440芯片又提供了8個片選信號nGCS0~nGSC7。當(dāng)某個片選信號nGSCx有...

關(guān)鍵字: mini2440 內(nèi)存初始化
關(guān)閉