音频——I2S 标准模式(二)

这篇具有很好参考价值的文章主要介绍了音频——I2S 标准模式(二)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • I2S 基本概念
  • 飞利浦(I2S)标准模式
  • 左(MSB)对齐标准模式
  • 右(LSB)对齐标准模式
  • DSP 模式
  • TDM 模式

I2S format

飞利浦 (I2S) 标准模式

  • 数据在跟随 LRCLK 传输的 BCLK 的第二个上升沿时传输 MSB,其他位一直到 LSB 按顺序传
  • 传输依赖于字长、BCLK 频率和采样率(BCLK=Fs x 声道数 x 采样位数)
  • 在每个采样的 LSB 和下一个采样的 MSB 之间都应该有未用的 BCLK 周期
  • LRCLK 为 0 传输左声道数据,LRCLK 为 1 传输右声道数据

时序图

飞利浦标准模式的 I2S 传输协议如下所示:
音频——I2S 标准模式(二),音频,飞利浦 I2S 标准模式,I2S 标准模式

AP 测试

五线模式

硬件拓扑图

音频——I2S 标准模式(二),音频,飞利浦 I2S 标准模式,I2S 标准模式

有点乱。。。

  • BCLK
    • MCU BCLK -> AP RX BCLK
    • MCU BCLK -> AP TX BCLK
  • ADC_LR_CLK
    • MCU ADC_LR_CLK -> AP TX LRCLK
  • ADC_DATA
    • MCU ADC_DATA -> AP TX DATA
  • DAC_LR_CLK
    • MCU DAC_LR_CLK -> AP RX LRCLK
  • DAC_DATA
    • MCU DAC_DATA -> AP RX DATA

需要注意的是 AP TX BCLKAP RX BCLK 都接到了 MCU BLCK,且 AP 端的两个 BCLK 的地线都要和 MCU 共地,否则波形出不来

数据路径

  • AP -> AP I2S TX -> MCU I2S RX -> MCU SRAM -> MCU I2S TX -> AP I2S RX -> AP

AP TX 配置

音频——I2S 标准模式(二),音频,飞利浦 I2S 标准模式,I2S 标准模式

AP RX 配置

音频——I2S 标准模式(二),音频,飞利浦 I2S 标准模式,I2S 标准模式

AP 输出 1k sine

音频——I2S 标准模式(二),音频,飞利浦 I2S 标准模式,I2S 标准模式

效果

  • ch1
    音频——I2S 标准模式(二),音频,飞利浦 I2S 标准模式,I2S 标准模式
  • ch2
    音频——I2S 标准模式(二),音频,飞利浦 I2S 标准模式,I2S 标准模式
  • FFT
    音频——I2S 标准模式(二),音频,飞利浦 I2S 标准模式,I2S 标准模式

四线 DAC 模式

硬件拓扑图

音频——I2S 标准模式(二),音频,飞利浦 I2S 标准模式,I2S 标准模式

  • BCLK
    • MCU BCLK -> AP RX BCLK
    • MCU BCLK -> AP TX BCLK
  • ADC_DATA
    • MCU ADC_DATA -> AP TX DATA
  • DAC_LR_CLK
    • MCU DAC_LR_CLK -> AP RX LRCLK
    • MCU DAC_LR_CLK -> AP TX LRCLK
  • DAC_DATA
    • MCU DAC_DATA -> AP RX DATA
  • 需要注意的是 AP TX BCLKAP RX BCLK 都接到了 MCU BLCK,且 AP 端的两个 BCLK 的地线都要和 MCU 共地,否则波形出不来
  • MCU DAC_LR_CLK 提供帧时钟

数据路径

  • AP -> AP I2S TX -> MCU I2S RX -> MCU SRAM -> MCU I2S TX -> AP I2S RX -> AP

其他 AP 输出输出设置与 5 线模式一致,效果图略

四线 ADC 模式

硬件拓扑图

音频——I2S 标准模式(二),音频,飞利浦 I2S 标准模式,I2S 标准模式

  • BCLK
    • MCU BCLK -> AP RX BCLK
    • MCU BCLK -> AP TX BCLK
  • ADC_DATA
    • MCU ADC_DATA -> AP TX DATA
  • ADC_LR_CLK
    • MCU ADC_LR_CLK -> AP RX LRCLK
    • MCU ADC_LR_CLK -> AP TX LRCLK
  • DAC_DATA
    • MCU DAC_DATA -> AP RX DATA
  • 需要注意的是 AP TX BCLKAP RX BCLK 都接到了 MCU BLCK,且 AP 端的两个 BCLK 的地线都要和 MCU 共地,否则波形出不来
  • MCU ADC_LR_CLK 提供帧时钟

数据路径

  • AP -> AP I2S TX -> MCU I2S RX -> MCU SRAM -> MCU I2S TX -> AP I2S RX -> AP

其他 AP 输出输出设置与 5 线模式一致,效果图略

二线 TX

硬件拓扑图

音频——I2S 标准模式(二),音频,飞利浦 I2S 标准模式,I2S 标准模式

  • BCLK
    • MCU BCLK -> AP RX BCLK
  • ADC_DATA
    • MCU ADC_DATA -> AP RX DATA1
  • DAC_LR_CLK
    • MCU DAC_LR_CLK -> AP RX LRCLK
  • DAC_DATA
    • MCU DAC_DATA -> AP RX DATA2

数据路径

  • MCU SRAM -> MCU I2S TX -> AP I2S RX -> AP

发送的数据

volatile signed int sin_48k_24bit[] = {
    0,        1094933,  2171131,  3210181,  4194303,  5106660,  5931641,  6655129,  7264747,  7750062,  8102772,  8316841,
    8388607,  8316841,  8102772,  7750062,  7264746,  6655129,  5931641,  5106660,  4194303,  3210179,  2171130,  1094932,
    0,        -1094933, -2171131, -3210181, -4194305, -5106661, -5931642, -6655129, -7264747, -7750063, -8102772, -8316841,
    -8388607, -8316841, -8102772, -7750062, -7264747, -6655129, -5931639, -5106660, -4194301, -3210180, -2171129, -1094933,
};

发送数据配置

int i2s_tx_data[240];
    for (unsigned int i = 0; i < 240); i++)
    {
        i2s_tx_data[i * 4] = sin_48k_24bit[i % 48];
        i2s_tx_data[i * 4 + 1] = sin_48k_24bit[i % 48];
        i2s_tx_data[i * 4 + 2] = sin_48k_24bit[i % 48];
        i2s_tx_data[i * 4 + 3] = sin_48k_24bit[i % 48];
    }

AP RX 配置

音频——I2S 标准模式(二),音频,飞利浦 I2S 标准模式,I2S 标准模式

效果

正弦波形
音频——I2S 标准模式(二),音频,飞利浦 I2S 标准模式,I2S 标准模式
FFT
音频——I2S 标准模式(二),音频,飞利浦 I2S 标准模式,I2S 标准模式

二线 RX

硬件拓扑图

音频——I2S 标准模式(二),音频,飞利浦 I2S 标准模式,I2S 标准模式

  • BCLK
    • MCU BCLK -> AP TX BCLK
  • ADC_LR_CLK
    • MCU ADC_LR_CLK -> AP TX LRCLK
  • ADC_DATA
    • MCU ADC_DATA -> AP TX DATA1
  • DAC_DATA
    • MCU DAC_DATA -> AP TX DATA2

数据路径

  • AP -> AP I2S TX -> MCU I2S RX -> MCU SRAM

AP TX 配置

音频——I2S 标准模式(二),音频,飞利浦 I2S 标准模式,I2S 标准模式

AP 输出 1k sine

音频——I2S 标准模式(二),音频,飞利浦 I2S 标准模式,I2S 标准模式

效果

将 SRAM 数据导出,使用 python 绘制图片即可,绘制的图形如下图

sample_rate 为 48KHz,data_depth 为 24,那根据这些可以算出持续时间为 0.01s。
音频——I2S 标准模式(二),音频,飞利浦 I2S 标准模式,I2S 标准模式
更多 PCM 数据解析请参考:音频——解析 PCM 数据

I2S Slave

硬件拓扑图

音频——I2S 标准模式(二),音频,飞利浦 I2S 标准模式,I2S 标准模式

  • BCLK(选择一个即可)
    • AP TX BCLK -> MCU BCLK
    • AP RX BCLK -> MCU BCLK
  • ADC_LR_CLK
    • AP TX LRCLK -> MCU ADC_LR_CLK
  • ADC_DATA
    • AP TX DATA -> MCU ADC_DATA
  • DAC_LR_CLK
    • AP RX LRCLK -> MCU DAC_LR_CLK
  • DAC_DATA
    • AP RX DATA -> MCU DAC_DATA

数据路径

  • AP -> AP I2S TX -> MCU I2S RX -> MCU SRAM -> MCU I2S TX -> AP I2S RX -> AP

AP TX 配置

音频——I2S 标准模式(二),音频,飞利浦 I2S 标准模式,I2S 标准模式

AP RX 配置

音频——I2S 标准模式(二),音频,飞利浦 I2S 标准模式,I2S 标准模式

效果

音频——I2S 标准模式(二),音频,飞利浦 I2S 标准模式,I2S 标准模式

逻辑分析仪抓包

待补充。。。文章来源地址https://www.toymoban.com/news/detail-691996.html

到了这里,关于音频——I2S 标准模式(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 音频I2S

    前言 基于网上资料对相关概念做整理汇总,部分内容引用自文后文章。 学习目标:简单了解相关概念、相关协议。 1 概述        数字音频接口DAI,即Digital Audio Interfaces,顾名思义,DAI表示在板级或板间传输数字音频信号的方式。相比于模拟接口,数字音频接口抗干扰能力

    2024年02月03日
    浏览(50)
  • 瑞芯微 | I2S-音频基础 -1

    最近调试音频驱动,顺便整理学习了一下i2s、alsa相关知识,整理成了几篇文章,后续会陆续更新。 喜欢嵌入式、Li怒晓得老铁可以关注一口君账号。 名称 含义 ADC(Analog to Digit Conversion) 模拟信号转换为数字信号 AEC(Acoustic Echo Cancellor) 回声消除 AGC(Automatic Gain Control) 自

    2024年03月14日
    浏览(60)
  • 音频——I2S 协议基本概念(一)

    I2S 基本概念 飞利浦(I2S)标准模式 左(MSB)对齐标准模式 右(LSB)对齐标准模式 DSP 模式 TDM 模式 I2S 信号线有多种模式 五线 I2S 四线 DAC I2S 四线 ADC I2S 两线 TX I2S 两线 RX I2S 以五线 I2S 为例,各个信号线的功能及描述见下表 信号线 描述 SCLK 串行时钟,也叫位时钟(BCLK),对应数字⾳频

    2024年02月09日
    浏览(40)
  • 【音视频开发】 I2S协议及标准

    1. 介绍 I2S(Inter—IC Sound)总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专门用于音频设备之间的音频数据传输。它采用了沿独立的导线传输时钟与数据信号的设计,通过将数据和时钟信号分离,避免了因时差诱发的失真,为用户节省了

    2024年02月12日
    浏览(45)
  • I2S/PCM接口及音频codec

    目录 1.I2S接口及时序 1.1 I2S接口信号 1.2 I2S接口时序 1.3 MCLK的作用 2. PCM(TDM)接口  2.1 PCM(TDM)接口信号 2.2 PCM接口时序 3.audio codec  可参考本人转载的一篇文章: 数字音频接口(I2S,PCM/TDM,PDM)_cy413026的博客-CSDN博客 数字音频接口。 https://blog.csdn.net/cy413026/article/details/132590286?csdn_shar

    2024年02月01日
    浏览(73)
  • Audio-音频传输接口(I2S、PCM、PDM)

    I2S和PCM(TDM)接口传输的数据是PCM编码格式的音频数据。 PDM接口传输的数据是PDM编码格式的音频数据。 I2S(Inter-IC Sound)总线有时候也写作 IIS,I2S 是飞利浦公司提出的一种用于数字音频设备之间进行音频数据传输的总线。和 I2C、SPI 这些常见的通信协议一样,I2S 总线用于主控制器

    2024年02月01日
    浏览(44)
  • LuatOS-SOC接口文档(air780E)-- i2s - 数字音频

    示例 常量 类型 解释 i2s.MODE_I2S number I2S标准,比如ES7149 i2s.MODE_LSB number LSB格式 i2s.MODE_MSB number MSB格式,比如TM8211 初始化i2s 参数 传入值类型 解释 int i2s通道号,与具体设备有关 int 模式, 当前仅支持0, MASTER|TX|RX 模式, 暂不支持slave. 可选 int 采样率,默认44100. 可选 int 数据位数,默认

    2024年02月07日
    浏览(68)
  • ESP32设备驱动——使用I2S播放音频的物联网应用

    在物联网应用中,使用嵌入式设备进行音频播放是一个常见的需求。ESP32是一款功能强大的嵌入式开发板,它集成了Wi-Fi和蓝牙功能,适用于物联网应用。本文将介绍如何在ESP32上使用I2S(Inter-IC Sound)接口来播放音频。 I2S是一种串行音频接口,用于高质量音频数据的传输。

    2024年03月21日
    浏览(62)
  • STM32CubeMX+MDK通过I2S接口进行音频输入输出(全双工读写一个DMA回调)

    目前有一个关于通过STM32F411CEUx的I2S总线接口控制SSS1700芯片进行音频输入输出的研究。 SSS1700 是具有片上振荡器的 3S 高度集成的USB音频控制器芯片 。 SSS1700 功能支持96 KHz 24 位采样率,带外部音频编解码器(24 位/96KHz I2S 输入和输出)并具有内置立体声16/24位ADC、立体声16/24位

    2024年04月12日
    浏览(52)
  • 物联网开发笔记(51)- 使用Micropython开发ESP32开发板之通过MAX98357 I2S音频模块播放音乐

    一、目的         这一节我们学习如何使用我们的ESP32开发板来播放音乐。 二、环境         ESP32 + MAX98357 I2S音频模块 + Thonny IDE + 几根杜邦线 接线方法: 三、代码     代码1,播放wav格式文件:wav格式文件几百K,别太大ESP32存储空间有限。 音频格式转换网站: 在线转

    2024年02月16日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包