I2S接口规范PPT学习课件_第1页
I2S接口规范PPT学习课件_第2页
I2S接口规范PPT学习课件_第3页
I2S接口规范PPT学习课件_第4页
I2S接口规范PPT学习课件_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

S3C44B0XI2S总线接口功能及应用开发 方欣SC06002017汪涛SC06002051 43组 内容结构 I2S总线概述 I2S总线规范 I2S总线结构配置 S3C44B0XI2S总线概述 S3C44B0XI2S总线特性 S3C44B0XI2S总线结构 S3C44B0XI2S接口工作模式 S3C44B0XI2S音频数据格式 S3C44B0XI2S接口特殊功能寄存器 嵌入式音频系统应用 I2S总线概述 音响数据的采集 处理和传输是多媒体技术的重要组成部分 众多的数字音频系统已经进入消费市场 例如数字音频录音带 数字声音处理器 对于设备和生产厂家来说 标准化的信息传输结构可以提高系统的适应性 I2S Inter ICSound 总线是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准 该总线专责于音频设备之间的数据传输 广泛应用于各种多媒体系统 I2S总线规范 I2S总线拥有三条数据信号线 SCK continuousserialclock 串行时钟对应数字音频的每一位数据 SCK都有1个脉冲 SCK的频率 2 采样频率 采样位数 WS wordselect 字段 声道 选择用于切换左右声道的数据 WS的频率 采样频率 SD serialdata 串行数据用二进制补码表示的音频数据 对于系统而言 产生SCK和WS的信号端就是主导装置 用MASTER表示 简单系统示意图如图1所示 信号线 I2S总线规范 发送端产生SCK和WS 接收端产生SCK和WS 外置控制器产生SCK和WS 作为主导装置 发送端成为在外部时钟下的从属装置 图1 简单系统配置 信号线 续 I2S总线规范 串行数据 SD I2S格式的信号无论有多少位有效数据 数据的最高位总是被最先传输 在WS变化 也就是一帧开始 后的第2个SCK脉冲处 因此最高位拥有固定的位置 而最低位的位置则是依赖于数据的有效位数 也就使得接收端与发送端的有效位数可以不同 如果接收端能处理的有效位数少于发送端 可以放弃数据帧中多余的低位数据 如果接收端能处理的有效位数多于发送端 可以自行补足剩余的位 常补足为零 这种同步机制使得数字音频设备的互连更加方便 而且不会造成数据错位 为了保证数字音频信号的正确传输 发送端和接收端应该采用相同的数据格式和长度 当然 对I2S格式来说数据长度可以不同 信号线 续 I2S总线规范 字段 声道 选择 WS 命令选择线表明了正在被传输的声道 WS为 1 表示正在传输的是左声道的数据 WS为 0 表示正在传输的是右声道的数据 WS可以在串行时钟的上升沿或者下降沿发生改变 并且WS信号不需要一定是对称的 在从属装置端 WS在时钟信号的上升沿发生改变 WS总是在最高位传输前的一个时钟周期发生改变 这样可以使从属装置得到与被传输的串行数据同步的时间 并且使接收端存储当前的命令以及为下次的命令清除空间 基本的接口时序图可以参看图2所示 信号线 续 I2S总线规范 图2典型的I2S信号 最高位 信号线 续 I2S总线规范 电压规范 输出电压 VL2 4V输入电压VIL 0 8VVIH 2 0V注 目前使用的TTL电平标准 随着其他IC LSI 的流行 其他电平也会支持 I2S总线规范 延迟特性 在I2s总线中 任何设备都可以通过提供必需的时钟信号成为系统的主导装置 而从属装置通过外部时钟信号来得到它的内部时钟信号 这就意味着必须重视主导装置和数据以及命令选择信号之间的传播延迟 总的延迟主要由两部分组成 外部时钟和从属装置的内部时钟之间的延迟内部时钟和数据信号以及命令选择信号之间的延迟对于数据和命令信号的输入 外部时钟和内部时的延迟不占据主导的地位 它只是延长了有效的建立时间 set uptime 延迟的主要部分是发送端的传输延迟和设置接收端所需的时间 见图3和图4 I2S总线规范 延迟特性 续 图3timingforI2STransmitter 图4timingforI2SReceiver I2S总线规范 T是时钟周期 Tr是最小允许时钟周期 T Tr这样发送端和接收端才能满足数据传输速率的要求 对于所有的数据速率 发送端和接收端均发出一个具有固定的传号空号比 mark spaceratio 的时钟信号 所以tLC和tHC是由T所定义的 tLC和tHC必须大于0 35T 这样使信号在从属装置端可以被检测到 延迟 tdtr 和最快的传输速度 由Ttr定义 是相关的 快的发送端信号在慢的时钟上升沿可能导致tdtr不能超过tRC而使thtr为零或者负 只有tRC不大于tRCmax的时候 tRCmax 0 15T 发送端才能保证thtr大于等于0 为了允许数据在下降沿被记录 时钟信号上升沿及T相关的时间延迟应该给予接收端充分的建立时间 set uptime 数据建立时间 set uptime 和保持时间 holdtime 不能小于指定接收端的建立时间和保持时间 延迟特性 续 I2S总线结构配置 发送端 图5发送端硬件配置 I2S总线结构配置 发送端 续 随着WS信号的改变 导出一个WSP脉冲信号 进入并行移位寄存器 从而输出数据被激活 串行数据的默认输入是0 因此所有位于最低位 LSB 后的数据将被设置为0 I2S总线结构配置 接收端 图6接收端硬件配置 I2S总线结构配置 接收端 续 随着第一个WS信号的改变 WSP在SCK信号的下降沿重设计数器 在 1outofn 译码器对计数器数值进行译码后 第一个串行的数据 MSB 在SCK时钟信号的上升沿被存放进入B1 随着计数器的增长 接下来的数据被依次存放进入B2到Bn中 在下一个WS信号改变的时候 数据根据WSP脉冲的变化被存放进入左 声道 锁存器或者右 声道 锁存器 并且将B2一Bn的数据清除以及计数器重设 如果有冗余的数据则最低位之后的数据将被忽略 注意 译码器和计数器 虚线内的部分 可以被一个n比特移位寄存器所代替 S3C44B0XI2S总线概述 S3C44B0X的IIS总线接口可作为一个编码解码接口与外部8 16位的立体声音频解码电路 CODECIC 相连 从而实现微唱片和便携式应用 它支持IIS数据格式和MSB Justified数据格式 IIS总线接口为先进先出队列FIFO的访问提供DMA传输模式来取代中断模式 可同时发送和接收数据 也可只发送或接收数据 S3C44B0XI2S总线特性 IIS MSB Justified格式兼容 每通道8 16位数据格式 每通道有16fs 32fs 48fs fs为采样频率 的串行时钟 具有256fs和384fs的主时钟 具有为主时钟和编码解码时钟分频的可编程分频器 支持32 2 16 字节发送和接收 FIFO 具有正常和DMA两种传输模式 S3C44B0XI2S总线结构 图7IIS总线框图 各部分功能如下 S3C44B0XI2S总线结构 总线接口 寄存器组 和状态机 BRFC 总线接口逻辑和FIFO的访问由状态机控制 两个三位的预分频器 IPSR 一个被用作IIS总线接口的主时钟发生器 另一个被用作外部编码解码的时钟发生器 16字节的FIFOs TxFIFO RxFIFO 在发送数据的传输过程中 数据被写入TxFIFO 在接收数据的传输过程中 数据从RxFIFO被读出 主IISCLK发生器 SCLKG 在主模式中 串行位时钟由主时钟 指IIS总线接口的主时钟 产生 通道发生器和状态机 CHNC IISCLK和IISLRCK由通道状态机产生和控制 16位移位寄存器 SFTR 在发送数据模式中 并行数据被移成串行数据输出 在接收数据模式中 串行数据被移成并行数据输入 S3C44B0XI2S接口工作模式 单独发送或接收模式a 正常传输模式FIFO队列的就绪标志位决定了CPU读或写队列的时间 发送队列非空 队列发送数据准备就绪 标志位置1 发送队列为空 标志位置0 接收队列未满 标志位置1 指示队列可接收数据 接收队列满 标志位置0 当CPU访问发送或接收队列 FIFOs 时 串行数据能够被发送或接收 b DMA传输模式发送或接收队列的访问由DMA控制器来完成 在发送或接收模式中 DMA服务请求由队列的就绪标志位自动给出 发送和接收同时模式IIS总线接口能够同时发送和接收数据 一个通道用正常传输模式 另一通道用DMA传输模式 S3C44B0XI2S音频数据格式 IIS BUS格式MSB Justified格式 图8IIS总线和MSB Justified格式数据接口格式 两种格式 S3C44B0XI2S音频数据格式 表1编解码时钟 表2可用的串行位时钟频率 采样频率和主时钟 1 IIS控制寄存器IISCON S3C44B0XI2S接口特殊功能寄存器 IISCON地址 0 x01D18000 Li HW Li W Bi W R W0 x01D18002 Bi HW 表3IIS控制寄存器IISCON 2 IIS模式寄存器IISMOD S3C44B0XI2S接口特殊功能寄存器 IISMOD地址 0 x01D18004 Li HW Li W Bi W R W0 x01D18006 Bi HW 表4IIS模式寄存器IISMOD S3C44B0XI2S接口特殊功能寄存器 3 IIS比例因子寄存器IISPSR 注 如果Prescaler的值位3 5 7 则占空比将不是50 此种情况下 高电平H周期为0 5MCLK IISPSR地址 0 x01D18008 Li HW Li W Bi W R W0 x01D1800A Bi HW 0 x001D1800B Bi B 表5IIS比例因子寄存器IISPSR 4 IIS队列控制寄存器IISFCON S3C44B0XI2S接口特殊功能寄存器 IISFCON地址 0 x01D1800C Li HW Li W Bi W R W0 x01D1800E Bi HW 表6IIS队列控制寄存器IISFCON 5 IIS队列寄存器IISFIF S3C44B0XI2S接口特殊功能寄存器 IISFIF地址 0 x01D18010 Li HW R W0 x01D18012 Bi HW 表7IIS队列寄存器IISFIF 嵌入式音频系统应用 图9S3C2410与UDA1314硬件电路连接 硬件链接 图10UDA1341内部结构 设计硬件电路时选用第二组输入音频信号 硬件链接 嵌入式音频系统应用 音频驱动实现 整个音频驱动的实现分为4个部分 初始化 打开设备主要完成对UDA1341音量 采样频率 L3接口等的初始化 并且注册设备 DSP驱动实现DSP驱动实现了音频数据的传输即播放和录音的数据传输 同时提供ioctl对UDA1341中的DAC和ADC采样率进行控制 MIXER驱动实现MIXER驱动只控制混音效果 并不执行读写操作 所以MIXER的文件操作结构只实现了1个ioctl调用 提供给上层设置CODEC的混音效果 设备的释放设备的卸载由注销函数close 来完成 注销函数使用注册时得到的设备号 同时释放驱动程序使用的各种系统资源 如DMA和缓冲区等 嵌入式音频系统应用 嵌入式音频系统应用 应用程序编写的注意事项 1 和所有应用程序一样 在程序编写中不要卖弄编程技巧 清晰的结构有助于提高程序的稳定性和可维护性 2 打开音频设备文件时尽可能使用O RDONLY或者O WRONLY标识位 有助于提高程序的速度 只有在应用程序既能进行录音操作也进行回放操作时才能使用O RDWR标识位 3 嵌入式芯片中对不同数据结构分配的字节数都不一样 进行音频数据处理时要小心数据截断 要注意音频数据使用的低位优先格式还是高位优先格式 4 一般而言 音频设备文件打开时已经初始化一些音频的属性 如果要对这些参数进行修改 应该对混频器设备文件进行操作 这有助于提高程序的设备无关性 5 进行各种系统调用 设备打开 参数设定或设备读写等 时要检查返回值 因为对硬件设备的操作有可能失败 嵌入式音频系统应用 应用程序编写的注意事项 续 6 对设备参数进行设定时 要注意查看音频设备是否支持设定的参数 比如高档的音频解码芯片就不支持8位的采样宽度 7 ioctl系统调用并不对输入的参数进行严格检查 所以使用ioctl前最好检查输入参数是否合法 8 设置单工和双工时要注意 有时候芯片在单工方式时工作良好 但在同一个频率 双工方式下可能无法正常工作 这是需要降低频率 9 编写程序时 尽可能地考虑兼容件 比如编写的应用程序针对的是16位的音频数据 但也应该考虑以后程序移植到32位音频系统上的可能性 10 读取音频数据时要读取所有的采样信息 比如使用16位的双工采样 每次采样会产生16 2 32bit 4B的采样信息 读取数据的时候应

温馨提示

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

评论

0/150

提交评论