预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10
亲,该文档总共12页,到这已经超出免费预览范围,如果喜欢就直接下载吧~
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
实验11I2S实验一、实验目的1.掌握ARM的IIS接口工作原理。2.学习编程实现ARM的IIS接口录音和播放音乐。3.掌握I2S接口的DMA工作方式。二、实验内容学习S3C2410自带的I2S音频接口的使用,通过DMA数据传输方式编程实现现场录音和播放。三、预备知识1.用EWARM集成开发环境,编写和调试程序的基本过程。2.ARM应用程序的框架结构。3.了解I2S音频总线。四、实验设备及工具硬件:ARM嵌入式开发平台,PC机,JTAG仿真器。软件:操作系统WindowsXP/7,EWARM集成开发环境,仿真器驱动程序,超级终端通讯程序。五、实验原理及说明1.I2S工作原理I2S(Inter-ICSoundBus)是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,在飞利浦公司的I2S标准中,既规定了硬件接口规范,也规定了数字音频数据的格式。I2S大部分是3线的(除了时钟和数据外,还有一个左右声道的选择信号),I2S主要用来传输音频信号,如STB、DVD、MP3等常用。I2S有3个主要信号:(1)串行时钟SCLK,也叫位时钟(BCLK),即对应数字音频的每一位数据,SCLK都有1个脉冲。SCLK的频率=2×采样频率×采样位数(2)帧时钟LRCK,用于切换左右声道的数据。LRCK为“1”表示正在传输的是左声道的数据,为“0”则表示正在传输的是右声道的数据。LRCK的频率等于采样频率。(3)串行数据SDAT就是用二进制补码表示的音频数据。2.WAV音乐格式在Windwos环境下,大部分的多媒体文件都依循着一种结构来存放信息,这种结构称为“资源互换文件格式”(resourcesinterchangefileformat,简称RIFF)。例如声音的WAV文件、视频的AVI文件等等均是由此结构衍生出来的。RIFF可以看作是一种树状结构,其基本构成单位为chunk,犹如树状结构中的节点,每个chunk由“辨别码”、“数据大小”及“数据”所组成。辨别码由4个ASCII码所构成,数据大小则标示出紧跟其后数据的长度(单位为字节),而数据大小本身也用掉4个字节,所以事实上一个chunk的长度为数据大小加8。一般而言,chunk本身并不允许内部再包含chunk,但有两种例外,分别为以“RIFF”及“LIST”为辨别码的chunk。而针对这两种chunk,RIFF又从原先的“数据”中切出4个字节。这4个字节称为“格式辨别码”,然而RIFF又规定文件中仅能有一个以“RIFF”为辨别码的chunk。只要是依循这一结构的文件,我们均称之为RIFF文档,这种结构提供了一种系统化的分类。如果和MS-DOS文件系统作比较,“RIFF”chunk就好比是一台硬盘的根目录,其格式辨别码便是此硬盘的逻辑代码(C:或D:),而“LIST”chunk即为其下的子目录,其他的chunk则为一般的文件。至于在RIFF文件的处理方面,微软提供了相关的函数。视窗下的各种多媒体文件格式就如同在磁盘上规定仅能放怎样的目录,而在该目录下仅能放何种数据。WAV为waveform(波形)的缩写。声音文件的结构如图所示,“RIFF”的格式辨别码为“WAVE”。整个文件由两个chunk所组成:辨别码“fmt”(注意,最后一个是空白字符!)及“data”。“RIFF”×××דWAVE”“fmt”sizeof(PCMWAVEFORMAT)structofPCMWAVEFORMATdata××××waveformdata图3.21WAV文件结构3.I2S音频接口I2S音频接口总线共有四根线:串行数据输入(IISDI)、串行数据输出(IISDO)、左右声道选择(IISLRCK)和串行位时钟(IISCLK)。由主控设备提供IISLRCK和IISCLK。IISCON寄存器IISCON寄存器的设置和位描述如表。表3-15IISCON寄存器的设置寄存器地址R/W描述复位值IISCON0x55000000(Li/HW,Li/W,Bi/W)0x55000002(Bi/HW)R/WIIS控制寄存器0x100表3-16IISCON寄存器的位描述IISCON位描述初始化状态左/右声道指示(只读)[8]0=左声道1=右声道1发送FIFO准备好标志(只读)[7]0=FIFO没准备好(空)1=FIFO准备好(非空)0接收FIFO准备好标志(只读)[6]0=FIFO没准备好(满)1=FIFO准备好(非满)0发送DMA服务请求使能[5]0=请求禁止1=请求使能0接收DMA服务请求使能[4]0=请求禁止1=请求使能0发送声道空闲信号[3]在闲置状态IISLRCK是停止的(暂停Tx)。只有在IIS是主控时这一位才有效。0=产生IISLRCK1=不