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

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

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

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

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

芯片手冊(cè)


語(yǔ)音芯片UDA1341TS

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

*地址模式時(shí)序,掌握幾個(gè)要點(diǎn)

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

*數(shù)據(jù)傳輸開(kāi)始的信號(hào)是保證L3MODE為低L3CLOCK為高

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

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

*數(shù)據(jù)模式時(shí)序,掌握幾個(gè)要點(diǎn)

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

*數(shù)據(jù)傳輸開(kāi)始的信號(hào)是保證L3MODE為高L3CLOCK為高

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

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

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

2.mini2440電路圖

3.S3C2440寄存器

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

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

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

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

IISCON寄存器

功能名稱

說(shuō)明

LR_CH_INDEX

[8]

左/右聲道索引

0——左

1——右

TRANS_FIFO_RFLAG

[7]

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

0——空

1——非空

RECV_FIFO_RFLAG

[6]

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

0——滿

1——非滿

TRANS_DMA_EN

[5]

傳輸DMA服務(wù)請(qǐng)求

0——關(guān)閉

1——使能

RECV_DMA_EN

[4]

接收DMA服務(wù)請(qǐng)求

0——關(guān)閉

1——使能

TRANS_CH_IDLE_CMD

[3]

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

0——Notidle

1——Idle

RECV_CH_IDLE_CMD

[2]

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

0——Notidle

1——Idle

IIS_PRESCALER

[1]

IIS預(yù)分頻

0——關(guān)閉

1——開(kāi)啟

IIS_EN

[0]

IIS接口使能

0——關(guān)閉

1——開(kāi)啟

IISMOD寄存器

功能名稱

說(shuō)明

MA_CLK_SELECT

[9]

主時(shí)鐘選擇

0——PCLK

1——MPLLin

MA_SL_MODE

[8]

主/從模式選擇

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

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

TX_RX_MODE

[7:6]

傳輸/接收模式選擇

00——無(wú)傳輸

01——接收模式

10——傳輸模式

11——傳輸和接收模式

LR_CH_EN

[5]

左右聲道使能

0——右聲道

1——左聲道

SER_FORMAT

[4]

串行接口格式

0——IIS兼容格式

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

SER_DATA_BIT

[3]

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

0——8位

1——16位

MA_CLK_FS

[2]

主時(shí)鐘頻率選擇

0——256fs

1——384fs

(fs:采樣頻率)

SCLK

[1:0]

串行時(shí)鐘頻率選擇

00——16fs

01——32fs

10——48fs

11——保留

IISPSR寄存器

功能名稱

說(shuō)明

PRE_A

[9:5]

預(yù)分頻器A的值

PRE_B

[4:0]

預(yù)分頻器B的值

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

IISFCON寄存器

功能名稱

說(shuō)明

TX_FIFO_MODE

[15]

傳輸FIFO訪問(wèn)模式選擇

0——普通

1——DMA

RX_FIFO_MODE

[14]

接收FIFO訪問(wèn)模式選擇

0——普通

1——DMA

TX_FIFO_EN

[13]

傳輸FIFO使能位

0——關(guān)閉

1——使能

RX_FIFO_EN

[12]

接收FIFO使能位

0——關(guān)閉

1——使能

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

[11:6]

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

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

[5:0]

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

IISFIFO寄存器

功能名稱

說(shuō)明

FENTRY

[15:0]

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

3.1.DMA

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

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

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

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

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

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

DMA請(qǐng)求資源

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


DMA操作

空閑時(shí):DMA_ACK=0;INT_REQ=0;

單服務(wù):知道CURR_TC計(jì)數(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ū)動(dòng).

*FunctionList:

*History:

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

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

#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ù):無(wú)

**返回:無(wú)

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

voidSoundRecord(unsignedchar*pucRecBuf,unsignedlongulSize);

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

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

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

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

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

**返回值:無(wú)

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

本站聲明: 本文章由作者或相關(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)系本站刪除。
換一批
延伸閱讀

移植環(huán)境1,主機(jī)環(huán)境:VMare下CentOS 5.5 ,1G內(nèi)存。2,集成開(kāi)發(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ū)動(dòng)

移植環(huán)境1,主機(jī)環(huán)境:VMare下CentOS 5.5 ,1G內(nèi)存。2,集成開(kāi)發(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啟動(dòng)CPU的時(shí)候,CPU會(huì)自動(dòng)通過(guò)其內(nèi)部硬件結(jié)構(gòu)復(fù)制NandFlash中的前4K代碼到cpu的自帶SRAM中,注意這是CPU自帶的SRAM,區(qū)別于本文所講的SDRAM,本文所指的SDRAM是外接SDR...

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

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

關(guān)鍵字: gpio mini2440 驅(qū)動(dòng)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個(gè)16位定時(shí)器,其中0、1、2、3有PWM功能,有一根輸出引腳,可以產(chǎn)生周期性高低電平變化。定時(shí)器4沒(méi)有輸出引腳。2.芯片手冊(cè)3.mini2440電路圖4.S3C2440寄存器定時(shí)器時(shí)鐘源是PCL...

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

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

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

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

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

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

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

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

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