好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

串行数字音频总线(i2s).pdf

23页
  • 卖家[上传人]:ldj****22
  • 文档编号:45260305
  • 上传时间:2018-06-15
  • 文档格式:PDF
  • 文档大小:1.06MB
  • / 23 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • PSoC® Creator™ 组件数据手册 Cypress Semiconductor Corporation • 198 Champion Court • San Jose, CA 95134-1709 • 408-943-2600 Document Number: 001-87206 Rev. *A Revised April 11, 2016 特性特性  仅用于主控  每次采样 8 到 32 数据位  16、32、48 或 64 位字选择周期  数据速率高达 96 kHz,64 位字选择周期:6.144 MHz  Tx 和 Rx FIFO 中断  DMA 支持  独立的左声道和右声道 FIFO 或交叉立体声 FIFO  独立启用 Rx 和 Tx 概述概述 串行数字音频总线 (I2S) 是用于将数字音频组件连接在一起的串行总线接口标准此规范来自于 Philips® Semiconductor(I2S 总线规范;1986 年 2 月,修订时间为 1996 年 6 月 5 日) I2S 组件仅在主控模式下运行它还可在两个方向上运行,作为发射器 (Tx) 和接收器 (Rx)。

      Tx 和 Rx 的数据是独立的字节流字节流首先包含最高有效字节,并且第一个字的第 7 位 中存放 最高有效位用于每次采样的字节数(左/右声道的采样)是保持样品所需的最少字节数 何时使用何时使用 I2S 组件为立体声音频数据提供串行总线接口此接口是音频 ADC 和 DAC 组件最常用的接口 串行数字音频总线串行数字音频总线 (I2S) 2.40 串行数字音频总线 (I2S) PSoC® Creator™ 组件数据手册 Page 2 of 23 Document Number: 001-87206 Rev. *A 输入输入/输出连接输出连接 本节介绍 I2S 组件的各种输入和输出连接I/O 列表中的星号 (*) 表示,在 I/O 说明中列出的情况 下,该 I/O 可能不可见 sdi — 输入输入* 串行数据输入如果为 Direction(方向)参数选择了 Rx 选项,则显示此信息 如果此信号连接到输入引脚,则应禁用此引脚的“Input Synchronized”(同步输入)选择此信 号应已同步到 SCK,所以,用输入引脚同步器延迟信号会导致信号移入下一个时钟周期中 时钟时钟 — 输入输入 提供的时钟频率必须是输出串行时钟 (SCK) 所需时钟频率的两倍。

      例如,要产生 64 位字选择周 期的 48 kHz 音频,时钟频率应为: 2 × 48 kHz × 64 = 6.144 MHz sdo — 输出输出* 串行数据输出如果为 Direction(方向)参数选择了 Tx 选项,则显示此信息 Sck — 输出输出 输出串行时钟 ws — 输出输出 字选择输出指示要传输的通道 rx_interrupt — 输出输出* Rx 方向中断如果为 Direction(方向)参数选择了 Rx 选项,则显示此信息 tx_interrupt — 输出输出* Tx 方向中断如果为 Direction(方向)参数选择了 Tx 选项,则显示此信息 rx_DMA0 — 输出输出* Rx 方向 DMA 请求 FIFO 0(左侧或交错)如果选择了 DMA Request(DMA 请求)参数下的 Rx DMA,则显示此信息 PSoC® Creator™ 组件数据手册 串行数字音频总线 (I2S) Document Number: 001-87206 Rev. *A Page 3 of 23 rx_DMA1 — 输出输出* Rx 方向 DMA 请求 FIFO 1(右侧)。

      如果为 Rx 选择了 DMA Request(DMA 请求)参数下的 Rx DMA 和 Data Interleaving(数据交错)参数下的 Separated L/R(单独的 L/R),则显示 此信息 tx_DMA0 — 输出输出* Tx 方向 DMA 请求 FIFO 0(左侧或交错)如果选择了 DMA Request(DMA 请求)参数下的 Tx DMA,则显示此信息 tx_DMA1 — 输出输出* Tx 方向 DMA 请求 FIFO 1(右侧)如果为 Tx 选择了 DMA Request(DMA 请求)参数下的 Tx DMA 和 Data Interleaving(数据交错)参数下的 Separated L/R(单独的 L/R),则显示 此信息 原理图宏信息原理图宏信息 默认情况下,PSoC Creator 组件目录为 I2S 组件提供了三个原理图宏实现这些宏包含已连接到 数字引脚组件的 I2S 组件取消选择了 SDI 引脚上的“Input Synchronized”(输入同步)选 项,并关闭了所有引脚的 API 生成原理图宏使用为仅 Rx、仅 Tx,以及 Rx 和 Tx 方向配置的 I2S 组件,如下图中所示。

      仅仅 I2S Rx 仅仅 I2S Tx 串行数字音频总线 (I2S) PSoC® Creator™ 组件数据手册 Page 4 of 23 Document Number: 001-87206 Rev. *A I2S Rx 和和 Tx 组件参数组件参数 将 I2C 组件拖放到您的设计上,双击它以打开 Configure(配置)对话框该对话框有两个可用 于设置 I2S 组件的选项卡 图图 1. “Basic”(基本)选项卡(基本)选项卡 PSoC® Creator™ 组件数据手册 串行数字音频总线 (I2S) Document Number: 001-87206 Rev. *A Page 5 of 23 方向方向 确定组件运行的方向此值可设为 Rx Only(仅 Rx)、Tx Only(仅 Tx)或 Rx and Tx(Rx 和 Tx)(默认值) Data Bits((数据位数据位)) 确定为各个采样配置的数据位数(编译的硬件)该值可以设置为 8 到 32默认设置为 16 Word Select Period((字选择周期字选择周期)) 定义左右声道的完整样品的周期。

      该值可设置为 16、32(默认)、48 或 64 图图 2. Advanced(高级)选项卡(高级)选项卡 Data Interleaving((数据交错数据交错)) 用于选择数据为 Interleaved(交错)(默认值)还是 Separate L/R(单独 L/R)可单独选择 Rx 和 Tx DMA Request((DMA 请求请求)) 用于启用和禁用组件的 DMA 请求信号可单独选择 Rx 和 Tx这些选项默认为启用启用 串行数字音频总线 (I2S) PSoC® Creator™ 组件数据手册 Page 6 of 23 Document Number: 001-87206 Rev. *A Interrupt Source((中断源中断源)) 用于配置 Rx 和 Tx 方向的中断源Rx 和 Tx 方向具有单独的中断输出各个方向的多个源共同 进行“或”运算此软件可随时重新配置这些源;这些参数只定义了初始配置设置包括:  Rx:  Rx Overflow((Rx 溢出溢出))  Rx FIFO 0 not empty(Rx FIFO 0 非空)(左侧或交错)  Rx FIFO 1 not empty(Rx FIFO 1 非空)(右侧)— 如果不是交错,则仅有一个选项  Tx:  Tx Underflow((Tx 下溢下溢))  Tx FIFO 0 not full(Tx FIFO 0 未满)  Tx FIFO 1 not full(Tx FIFO 1 未满)(右侧)ORed 如果不是交错,则仅有一个选项 时钟选择时钟选择 此组件中没有内部时钟。

      您必须附加时钟源提供的时钟频率必须是输出串行时钟 (SCK) 所需时 钟频率的两倍 应用程序编程接口应用程序编程接口 应用程序编程接口 (API) 子程序允许您使用软件配置组件下表列出了每个函数的接口,并进行 了说明以下各节将更详细地介绍每个函数 默认情况下,PSoC Creator 将实例名称“I2S_1”分配给指定设计中组件的第一个实例可将该 实例重命名为符合标识符语法规则的任意唯一值实例名称会成为每个全局函数名称、变量和常 量符号的前缀出于可读性考虑,下表中使用的实例名称为“I2S” 函数函数 说明说明 I2S_Start() 启动 I2S 接口 I2S_Stop() 禁用 I2S 接口 I2S_EnableTx() 启用 I2S 接口的 Tx 方向 I2S_DisableTx() 禁用 I2S 接口的 Tx 方向 I2S_EnableRx() 启用 I2S 接口的 Rx 方向 I2S_DisableRx() 禁用 I2S 接口的 Rx 方向 I2S_SetRxInterruptMode() 设置 I2S Rx 方向中断的中断源 PSoC® Creator™ 组件数据手册 串行数字音频总线 (I2S) Document Number: 001-87206 Rev. *A Page 7 of 23 函数函数 说明说明 I2S_SetTxInterruptMode() 设置 I2S Tx 方向中断的中断源 I2S_ReadRxStatus() 返回 I2S Rx 状态寄存器中的状态 I2S_ReadTxStatus() 返回 I2S Tx 状态寄存器中的状态 I2S_ReadByte() 返回 Rx FIFO 中的一个字节 I2S_WriteByte() 将一个字节写入 Tx FIFO I2S_ClearRxFIFO() 清除 Rx FIFO I2S_ClearTxFIFO() 清除 Tx FIFO I2S_Sleep() 保存配置和禁用 I2S 接口 I2S_Wakeup() 恢复配置和启用 I2S 接口 I2S_Init() 启用 I2S 接口 I2S_Enable() 初始化或恢复默认 I2S 配置 I2S_SaveConfig() 保存 I2S 接口配置 I2S_RestoreConfig() 恢复 I2S 接口配置 全局变量全局变量 变量变量 说明说明 I2S_initVar 表示是否已初始化 I2S。

      变量将初始化为 0,并在第一次调用 I2S_Start() 时设置 为 1这使得组件无需在第一次调用 I2S_Start() 子程序后重新初始化便可重新启 动 如果需要重新对组件进行初始化,在调用 I2S_Start() 之前先调用 I2S_Init()或 可调用 I2S_Init() 和 I2S_Enable() 函数重新对 I2S 进行初始化 void I2S_Start(void) 说明说明:: 启动 I2S 接口根据需要,此函数启用活动模式电源模板位或门控时钟启动生成 sck 和 ws 输出Tx 和 Rx 方向保持禁用状态 参数参数:: 无 返回值返回值:: 无 副作用副作用:: 无 串行数字音频总线 (I2S) PSoC® Creator™ 组件数据手册 Page 8 of 23 Document Number: 001-87206 Rev. *A void I2S_Stop(void) 说明说明:: 禁用 I2S 接口根据需要,禁用活动模式电源模板位或门控时钟sck 和 ws 输出设为 0 禁用 Tx 和 Rx 方向,并清除其 FIFO 参数参数:: 无 返回值返回值:: 无 副作用副作用:: 无 void I2S_EnableTx(void) 说明说明:: 启用 I2S 接口的 Tx 方向。

      在下一个字选择下降沿开始。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.