当前位置:首页 > 单片机 > 单片机
[导读]IIS(集成音频接口)于上个世纪80年代首先被Philips公司用于消费产品的音频设备。被广泛运用于CD、数字音频磁带、数字音频处理器和数字TV音频。IIS的组成一般来说包括4个管脚:串行数据输入(IISDI)、串行数据输出(

IIS(集成音频接口)于上个世纪80年代首先被Philips公司用于消费产品的音频设备。被广泛运用于CD、数字音频磁带、数字音频处理器和数字TV音频。

IIS的组成一般来说包括4个管脚:串行数据输入(IISDI)、串行数据输出(IISDO)、左/右通道选择(IISLRCK)、串行位时钟(IISCLK);产生IISLRCK和IISCLK的是主控器。在S3C2440上和IIS相关的接口还有一个用于提供CODEC时钟的管脚。就时序信号工作来说,当IISSCLK提供不间断的时钟信号的时候IISLRCK会以“数据位+1”的宽度方式产生周期信号。低电平时期表示左声道,高电平时期表示右声道。然后IISDI或者IISDO就按照一定的格式不断的发送/接收数据。

至于这种数据的格式,根据S3C2440的芯片资料的说明可以知道这样以MSB为首位可以让传输器和接收器不用知道对方的字长。数据还是按照各自的字长进行截取,如果不能匹配就会造成截断或者添0(意思是如果系统字长为32位而传输器的字长为16位那么传输的时候32位的系统数据就会被折成16位的)反正就是数据位从高到低的传输。至于MSB对齐格式,和上面的时序区别在于MSB总是被首先的传输在左右声道切换的时候。

芯片手册


语音芯片UDA1341TS

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

*地址模式时序,掌握几个要点

*数据传输的时候保证L3MODE为低

*数据传输开始的信号是保证L3MODE为低L3CLOCK为高

*数据传输结束的信号是保证L3MODE为高L3CLOCK为高

*数据传输过程中一个L3CLOCK的周期传一个数据位

*数据模式时序,掌握几个要点

*数据传输的时候保证L3MODE为低

*数据传输开始的信号是保证L3MODE为高L3CLOCK为高

*数据传输结束的信号是保证L3MODE为高L3CLOCK为高

*数据传输过程中一个L3CLOCK的周期传一个数据位

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

2.mini2440电路图

3.S3C2440寄存器

s3C2440A的IIS总线接口用于实现一个CODEC接口来扩展8/16位立体声CODEC芯片到便携式应用。IIS总线接口支持IIS总线数据格式和MSB对齐数据格式。接口提供DMA传输模式用于FIFO访问代替一个中断。它能同步的传输和接收数据如同选择单独传输或者接收数据一样好。

时序的速率和音频数据的采样速率相关,因为IIS传输的是数字采样信号。所以数据的传输必须要达到采样速率。这里以一个wav文件作为例子(采样频率44.1KHz、声道数2、数据位数16)。该文件的声音要得到还原,那么数据必须以44.1KHz的速率传输。但是数据是串行传输的,为了在指定时间传输到数据,所以传输速率必须要乘以16才能一个数据以44.1KHz的速率传输,然后由于声道数位2,所以有两个通道要同时传输数据。但是传输通道只有一个,所以为了保证同时,还要在此基础上乘以2。根据上面的时序可以知道是SCLK在控制整个时序,所以得出IISSCLK=采样频率×采样位数×通道数。这里为了简便起见,采样频率记为fs。于是IISSCLK为32fs。知道一个管脚的时序,其他时序也就好确定了。

在S3C2440下,IIS的配置都是通过寄存器来完成的。下面总结一些S3C2440使用IIS接口需要做的一些配置工作。

IIS相关的寄存器:

IISCON寄存器

功能名称

说明

LR_CH_INDEX

[8]

左/右声道索引

0——左

1——右

TRANS_FIFO_RFLAG

[7]

传输FIFO准备标识

0——空

1——非空

RECV_FIFO_RFLAG

[6]

接收FIFO准备标识

0——满

1——非满

TRANS_DMA_EN

[5]

传输DMA服务请求

0——关闭

1——使能

RECV_DMA_EN

[4]

接收DMA服务请求

0——关闭

1——使能

TRANS_CH_IDLE_CMD

[3]

在Idle状态IISLRCK是非活动的(暂停Tx)

0——Notidle

1——Idle

RECV_CH_IDLE_CMD

[2]

在Idle状态IISLRCK是非活动的(暂停Rx)

0——Notidle

1——Idle

IIS_PRESCALER

[1]

IIS预分频

0——关闭

1——开启

IIS_EN

[0]

IIS接口使能

0——关闭

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]

串行数据位数

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]

预分频器A的值

PRE_B

[4:0]

预分频器B的值

注意:选择IIS的时钟源(PCLK或者MPLLin)后,经过两个预分频器处理后会分别得到IISSCLK、IISLRCK和CDCLK(预分频器A得到IISSCLK、IISLRCK;预分频器B得到CDCLK)。一般来说,这两个预分频器的值N相等。这里通过CDCLK来计算预分频器B的N值来推知预分频器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——关闭

1——使能

RX_FIFO_EN

[12]

接收FIFO使能位

0——关闭

1——使能

传输FIFO数据计数

[11:6]

数据计数值0~32

接收FIFO数据计数

[5:0]

数据计数值0~32

IISFIFO寄存器

功能名称

说明

FENTRY

[15:0]

IISFIFO寄存器保存传输或者接收的音频数据值

3.1.DMA

S3C2440支持4通道位于系统总线和外围设备总线之间的DMA控制器。每个DMA控制器通道能执行数据搬运在系统总线设备和/或外围总线设备之间而没有限制。换句话说,每个通道能处理下面4种情形:

1.源和目地都在系统总线里

2.源在系统总线目地在外围总线

3.源在外围总线目地在系统总线

4.源和目地都在外围总线

DMA的优势是它在传输数据的时候不需要CPU的干预。DMA操作能被软件初始化,或者响应来自内部外围总线或者扩展请求管脚。

DMA请求资源

各个DMA控制器的通道能选择其中一个DMA请求资源,如果H/WDMA请求模式被DCON寄存器选择(注意如果S/W请求模式被选择,这个DMA请求资源无任何意义)。表8-1展示了4个DMA资源于各个通道。


DMA操作

空闲时:DMA_ACK=0;INT_REQ=0;

单服务:知道CURR_TC计数变为0;

全服务:完成一次原子操作;

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

传输大小

单元(unit)和突发(Burst)

iis.h


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

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

*FileName:iis.h

*Author:HuangYinqing

*Version:1.0

*Date::2012-08-12

*Description:iis音频驱动.

*FunctionList:

*History:

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

/*IIS调试等级*/

#defineDBG_IIS_LEVEL1

/*采样频率选择*/

#defineFRQ_SELECT4

/*使用DMA传输数据*/

//#defineIIS_USE_DMA

/*引脚定义*/

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

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

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

#defineMIN_VOLUME0x01

#defineMID_VOLUME0x20

#defineMAX_VOLUME0x3e//==音量最大值

/*缓冲区产度*/

#defineSOUND_DATA_LEN243552

/*函数原型*/

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

**函数名称:voidSoundRecord(unsignedchar*pucRecBuf,unsignedlongulSize)

**函数功能:录音

**入口参数:pucPlayBuf:放音缓冲区;ulSize:缓冲区大小

**出口参数:无

**返回:无

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

voidSoundRecord(unsignedchar*pucRecBuf,unsignedlongulSize);

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

**函数名称:voidSoundPlay(unsignedchar*pucPlayBuf,unsignedlongulSize)

**函数功能:放音

**入口参数:pucPlayBuf:放音缓冲区;ulSize:缓冲区大小

**出口参数:无

**返回值:无

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭