S3C2410系列I2S总线接口功能及应用开发_第1页
S3C2410系列I2S总线接口功能及应用开发_第2页
S3C2410系列I2S总线接口功能及应用开发_第3页
S3C2410系列I2S总线接口功能及应用开发_第4页
S3C2410系列I2S总线接口功能及应用开发_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、S3C2410系列 I2S总线接口功能及应用开发内容结构 I2S总线概述 I2S总线规范 I2S总线结构配置 S3C2410X I2S总线概述 S3C2410X I2S总线特性 S3C2410X I2S总线结构 S3C2410X I2S接口工作模式 S3C2410X I2S音频数据格式 S3C2410X I2S接口特殊功能寄存器 嵌入式音频系统应用I2S总线概述 音响数据的采集、处理和传输是多媒体技术的重要组成部分。众多的数字音频系统已经进入消费市场,例如数字音频录音带、数字声音处理器。对于设备和生产厂家来说,标准化的信息传输结构可以提高系统的适应性。I2S(InterIC Sound)总线是

2、飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专责于音频设备之间的数据传输,广泛应用于各种多媒体系统。I2S总线规范I2S总线拥有三条数据信号线: SCK: (continuous serial clock) 串行时钟 对应数字音频的每一位数据,SCK都有1个脉冲。SCK的频率=2采样频率采样位数。 WS: (word select) 字段(声道)选择 用于切换左右声道的数据。WS的频率采样频率。 SD: (serial data) 串行数据 用二进制补码表示的音频数据。 对于系统而言,产生SCK和WS的信号端就是主导装置,用MASTER表示,简单系统示意图如图1所示:

3、 信号线I2S总线规范发送端产生SCK和WS接收端产生SCK和WS外置控制器产生SCK和WS,作为主导装置,发送端成为在外部时钟下的从属装置图1、简单系统配置信号线(续)I2S总线规范串行数据(SD) I2S格式的信号无论有多少位有效数据,数据的最高位总是被最先传输(在WS变化(也就是一帧开始)后的第2个SCK脉冲处),因此最高位拥有固定的位置,而最低位的位置则是依赖于数据的有效位数。也就使得接收端与发送端的有效位数可以不同。如果接收端能处理的有效位数少于发送端,可以放弃数据帧中多余的低位数据;如果接收端能处理的有效位数多于发送端,可以自行补足剩余的位(常补足为零)。这种同步机制使得数字音频设

4、备的互连更加方便,而且不会造成数据错位。为了保证数字音频信号的正确传输,发送端和接收端应该采用相同的数据格式和长度。当然,对I2S格式来说数据长度可以不同。信号线(续)I2S总线规范字段(声道)选择(WS) 命令选择线表明了正在被传输的声道。 WS为“1”表示正在传输的是左声道的数据。 WS为“0”表示正在传输的是右声道的数据。 WS可以在串行时钟的上升沿或者下降沿发生改变,并且WS信号不需要一定是对称的。在从属装置端,WS在时钟信号的上升沿发生改变。WS总是在最高位传输前的一个时钟周期发生改变,这样可以使从属装置得到与被传输的串行数据同步的时间,并且使接收端存储当前的命令以及为下次的命令清除

5、空间。 基本的接口时序图可以参看图2所示: 信号线(续)I2S总线规范图2 典型的I2S信号最高位信号线(续)I2S总线规范电压规范输出电压: VL 2.4V 输入电压 VIL=0.8V VIH=2.0V注:目前使用的TTL电平标准,随着其他IC(LSI)的 流行,其他电平也会支持。I2S总线规范延迟特性 在I2s总线中,任何设备都可以通过提供必需的时钟信号成为系统的主导装置,而从属装置通过外部时钟信号来得到它的内部时钟信号,这就意味着必须重视主导装置和数据以及命令选择信号之间的传播延迟,总的延迟主要由两部分组成: 外部时钟和从属装置的内部时钟之间的延迟 内部时钟和数据信号以及命令选择信号之间

6、的延迟 对于数据和命令信号的输入,外部时钟和内部时的延迟不占据主导的地位,它只是延长了有效的建立时间(setup time)。延迟的主要部分是发送端的传输延迟和设置接收端所需的时间。见图3和图4: I2S总线规范延迟特性(续)图3 timing for I2S Transmitter图4 timing for I2S ReceiverI2S总线规范T是时钟周期,Tr是最小允许时钟周期,TTr这样发送端和接收端才能满足数据传输速率的要求。对于所有的数据速率,发送端和接收端均发出一个具有固定的传号空号比(markspace ratio)的时钟信号,所以t LC和tHC是由T所定义的。 t LC和t

7、HC必须大于0.35T,这样使信号在从属装置端可以被检测到。延迟(tdtr)和最快的传输速度(由Ttr定义)是相关的,快的发送端信号在慢的时钟上升沿可能导致tdtr不能超过tRC而使thtr为零或者负。只有tRC不大于tRCmax的时候(tRCmax:0.15T),发送端才能保证thtr大于等于0。为了允许数据在下降沿被记录,时钟信号上升沿及T相关的时间延迟应该给予接收端充分的建立时间(set-up time)。数据建立时间(set-up time)和保持时间(holdtime)不能小于指定接收端的建立时间和保持时间。延迟特性(续)I2S总线结构配置发送端图5 发送端硬件配置I2S总线结构配置

8、发送端(续) 随着WS信号的改变,导出一个WSP脉冲信号,进入并行移位寄存器,从而输出数据被激活。串行数据的默认输入是0,因此所有位于最低位(LSB)后的数据将被设置为0I2S总线结构配置接收端图6 接收端硬件配置I2S总线结构配置接收端(续) 随着第一个WS信号的改变,WSP在SCK信号的下降沿重设计数器。在“1 out of n”译码器对计数器数值进行译码后,第一个串行的数据(MSB)在SCK时钟信号的上升沿被存放进入B1,随着计数器的增长,接下来的数据被依次存放进入B2到Bn中。在下一个WS信号改变的时候,数据根据WSP脉冲的变化被存放进入左(声道)锁存器或者右(声道)锁存器,并且将B2

9、一Bn的数据清除以及计数器重设,如果有冗余的数据则最低位之后的数据将被忽略。注意:译码器和计数器(虚线内的部分)可以被一个n比特移位寄存器所代替。S3C44B0X I2S总线概述 S3C44B0X的IIS总线接口可作为一个编码解码接口与外部8/16位的立体声音频解码电路(CODEC IC)相连,从而实现微唱片和便携式应用。它支持IIS数据格式和MSB-Justified 数据格式。IIS总线接口为先进先出队列FIFO的访问提供DMA传输模式来取代中断模式,可同时发送和接收数据,也可只发送或接收数据。S3C2410X I2S总线特性 IIS、MSB-Justified格式兼容; 每通道 8/16

10、 位数据格式; 每通道有16 f s、32 f s、48 f s (fs为采样频率)的串行时钟; 具有256 f s和384 f s的主时钟; 具有为主时钟和编码解码时钟分频的可编程分频器; 支持32(216)字节发送和接收(FIFO); 具有正常和DMA两种传输模式。S3C2410X I2S总线结构图7 IIS总线框图各部分功能如下:S3C44B0X I2S总线结构总线接口、寄存器组、和状态机(BRFC):总线接口逻辑和FIFO的访问由状态机控制; 两个三位的预分频器(IPSR):一个被用作IIS总线接口的主时钟发生器,另一个被用作外部编码解码的时钟发生器; 16字节的FIFOs(TxFIF

11、O、RxFIFO):在发送数据的传输过程中,数据被写入TxFIFO,在接收数据的传输过程中,数据从RxFIFO被读出; 主IISCLK发生器(SCLKG):在主模式中,串行位时钟由主时钟(指IIS总线接口的主时钟)产生; 通道发生器和状态机(CHNC):IISCLK和IISLRCK由通道状态机产生和控制; 16位移位寄存器(SFTR):在发送数据模式中,并行数据被移成串行数据输出,在接收数据模式中,串行数据被移成并行数据输入;S3C2410X I2S接口工作模式 单独发送或接收模式 a、正常传输模式 FIFO队列的就绪标志位决定了CPU读或写队列的时间。发送 队列非空,队列发送数据准备就绪,标

12、志位置1;发送队列为 空,标志位置0。接收队列未满,标志位置1,指示队列可接收数 据;接收队列满,标志位置0。当CPU访问发送或接收队列 (FIFOs)时,串行数据能够被发送或接收。 b、DMA传输模式 发送或接收队列的访问由DMA控制器来完成。在发送或接收 模式中,DMA服务请求由队列的就绪标志位自动给出。 发送和接收同时模式 IIS总线接口能够同时发送和接收数据。一个通道用正常传输模 式,另一通道用DMA传输模式。S3C2410X I2S音频数据格式IIS-BUS格式MSB-Justified格式图8 IIS总线和MSB-Justified格式数据接口格式两种格式S3C2410X I2S音

13、频数据格式表1 编解码时钟表2 可用的串行位时钟频率采样频率和主时钟1、IIS控制寄存器 IISCON位位名称描述初始状态 8 Left/RightChannel Index(只读) 0 左通道 1 右通道1 7 Transmit FIFOReady Flag(只读) 0 发送FIFO没有准备好(空) 1 发送FIFO准备好(不空)0 6 Receive FIFOReady Flag(只读) 0 接收FIFO没有准备好(空) 1 接收FIFO准备好(不空)0 5 Transmit DMA service Request Enable0 发送DMA请求禁止1 发送DMA请求使能0 4 Recei

14、ve DMA service Request Enable0 接收DMA请求禁止1 接收DMA请求使能0 3 Transmit Channel Idle Command在发送空闲状态,IISLRCK不激活(暂停发送),该位仅在IIS是Master时有效 0 IISLRCK产生 1 IISLRCK不产生0 2 Transmit Channel Idle Command在接收空闲状态,IISLRCLK不激活(暂停接收),该位仅在IIS是Master时有效 0 IISLRCK产生 1 IISLRCK不产生0 1 IIS Prescaler Enable0 预分频器禁止 1 使能预分频器0 0 IIS

15、 Interface Enable0 IIS禁止(停止) 1 IIS使能(启动) 0S3C44B0X I2S接口特殊功能寄存器IISCON 地址:0 x01D18000(Li/HW,Li/W,Bi/W) R/W 0 x01D18002(Bi/HW)表3 IIS控制寄存器IISCON2、IIS模式寄存器 IISMOD位位名称描述初始状态 8 Master/SlaveMode Select0主模式(IISLRCK和IISCLK输出)1 从模式(IISLRCK和IISCLK输入)0 7:6 Transmit/ Receive Mode Select00 不传输 01 接收模式10 发送模式 11 发

16、送/接收模式00 5 Active Level ofLeft/Right Channel0 左通道为低(右通道为高)1 左通道为高(右通道为低)0 4 Serial Interface Format0 IIS格式1 MSB-Justified0 3 Serial Data BitPer Channel0 8位1 16位0 2 Master Clock (CODECLK)Frequency Select0256 fs 1384 fs (fs:采样频率)0 1:0 Transmit Channel Idle Command0016 fs 0132 fs1048 fs 11N/A00S3C2410X

17、 I2S接口特殊功能寄存器IISMOD 地址:0 x01D18004(Li/HW,Li/W,Bi/W) R/W 0 x01D18006(Bi/HW)表4 IIS模式寄存器IISMODS3C2410X I2S接口特殊功能寄存器3、IIS比例因子寄存器 IISPSR位位名称描述初始状态 7 : 4 Prescaler Value A预分频器A的比例因子clock_prescaler_A=MCLK/0 x0 3 : 0Prescaler Value B预分频器B的比例因子clock_prescaler_B=MCLK/0 x0IISPSR 3:0 / 7:4 比例因子IISPSR 3:0 / 7:4

18、比例因子0000B21000B10001B41001B0010B61010B3*0011B81011B0100B101100B5*0101B121101B0110B141110B7*0111B161111B注:* 如果Prescaler的值位3、5、7,则占空比将不是50, 此种情况下,高电平H周期为0.5MCLK。IISPSR 地址:0 x01D18008(Li/HW,Li/W,Bi/W) R/W 0 x01D1800A(Bi/HW) 0 x001D1800B(Bi/B)表5 IIS比例因子寄存器IISPSR4、IIS队列控制寄存器 IISFCONS3C2410X I2S接口特殊功能寄存器位

19、位名称描述初始状态 11发送FIFO存取模式虚字选择0正常存取模式1 DMA存取模式0 10 接收FIFO存取模式选择0正常接收模式1DMA接收模式0 9 发送FIFO使能位0 FIFO禁止1 FIFO使能0 8 接收FIFO使能位0 FIFO禁止1 FIFO使能0 7:4 发送FIFO数据计数值数据计数值08(只读)000 3:0 接收FIFO数据技术值数据计数值08(只读)000IISFCON 地址:0 x01D1800C(Li/HW,Li/W,Bi/W) R/W 0 x01D1800E(Bi/HW)表6 IIS队列控制寄存器 IISFCON5、IIS队列寄存器 IISFIFS3C2410

20、X I2S接口特殊功能寄存器位位名称描述初始状态 15:0 FENTRYIIS的发送/接收数据0 x0IISFIF 地址:0 x01D18010(Li/HW) R/W 0 x01D18012(Bi/HW)表7 IIS队列寄存器 IISFIF嵌入式音频系统应用图9 S3C2410与UDA1314硬件电路连接硬件链接图10 UDA1341内部结构 设计硬件电路时选用第二组输入音频信号?硬件链接嵌入式音频系统应用音频驱动实现整个音频驱动的实现分为4个部分:初始化、打开设备 主要完成对UDA1341音量、采样频率、L3接口等的初始化, 并且注册设备。DSP驱动实现 DSP驱动实现了音频数据的传输即播放

21、和录音的数据传输。 同时提供ioctl对UDA1341中的DAC和ADC采样率进行控制。 MIXER 驱动实现 MIXER驱动只控制混音效果,并不执行读写操作所以 MIXER的文件操作结构只实现了1个ioctl调用提供给上层设置 CODEC的混音效果。 设备的释放 设备的卸载由注销函数close()来完成。注销函数使用注册 时得到的设备号,同时释放驱动程序使用的各种系统资源如 DMA和缓冲区等。嵌入式音频系统应用嵌入式音频系统应用应用程序编写的注意事项(1)和所有应用程序一样,在程序编写中不要卖弄编程技巧,清晰的结构有助于提高程序的稳定性和可维护性。(2)打开音频设备文件时尽可能使用O_RDONLY或者O_WRONLY标识位,有助于提高程序的速度,只有在应用程序既能进行录音操作也进行回放操作时才能使用O_RDWR标识位。(3)嵌入式芯片中对不同数据结构分配的字节数都不一样,进行音频数据处理时要小心数据截断。要注意音频数据使用的低位优先格式还是高位优先格式。(4)一般而言,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论