I²S协议概述与信号线说明

news2025/4/17 14:36:46

IIS协议概述

​ I²S(Inter-IC Sound)协议,又称 IIS(Inter-IC Sound),是一种专门用于数字音频数据传输的串行总线标准,由飞利浦(Philips)公司提出。该协议通常用于微控制器(MCU)、数字信号处理器(DSP)、数模转换器(DAC)、模数转换器(ADC)、音频编解码器(CODEC)等之间的音频数据交换。

1. I²S 协议基本特征

特性描述
主从结构一般由主设备提供时钟(BCLK 和 LRCK),从设备接收数据或发送数据。通常用于连接一个发送器(Master 或 Transmitter)和一个或多个接收器(Slave 或 Receiver)。
数据格式串行传输,MSB(最高位)先发送,数据左对齐,通常为 16/24/32 位。
数据类型一般支持双声道(立体声)数据,左声道和右声道交替传输。
时钟同步使用两个时钟信号同步数据传输:位时钟(BCLK)和帧时钟(LRCK/WS)。

2. I²S 信号线说明

主要的信号线(通常至少 3 条):

  1. SCK (Serial Clock) / BCLK (Bit Clock): 串行时钟或位时钟。
    • 功能: 为总线上的每个数据位提供时钟。每一位数据在 SCK 的一个时钟周期内传输。
    • 频率: 通常等于 采样率 (Fs) × 每个通道的位数 (Word Length) × 通道数。例如,对于 44.1 kHz 立体声(2通道)、16位音频,理论上 SCK 至少需要 44.1 kHz * 16 * 2 = 1.4112 MHz。但实际上,为了兼容不同的位深,常常使用固定的 SCK 周期数,例如每个通道帧固定为 32 个 SCK 周期,此时 SCK = Fs * 64 = 44.1 kHz * 64 = 2.8224 MHz。
    • 谁驱动: 通常由 Master 设备驱动。
  2. WS (Word Select) / LRCLK (Left-Right Clock): 字选择或左右声道时钟。
    • 功能:
      • 指示当前传输的是哪个声道的数据(通常:Low = 左声道,High = 右声道,但也可能相反,需查阅设备手册)。
      • 标记每个音频样本(“字”)的开始。
    • 频率: 等于音频的采样率 (Fs)。例如,对于 44.1 kHz 音频,WS 信号的频率就是 44.1 kHz。
    • 谁驱动: 通常由 Master 设备驱动。
  3. SD (Serial Data) / DIN / DOUT: 串行数据线。
    • 功能: 承载实际的 PCM 音频数据。数据是串行传输的,通常是最高有效位 (MSB) 优先
    • 方向: 从发送器 (Transmitter/Master/Slave) 到接收器 (Receiver/Slave)。可能有 DIN(数据输入)和 DOUT(数据输出)分开的引脚。

可选信号线:

  • MCLK (Master Clock):主时钟(有时也叫 SYSCLK)。
    • 功能: 提供一个比 SCK 更高频率的系统时钟,通常供 DAC 或 ADC 内部的Σ-Δ调制器等部件使用。
    • 频率: 通常是采样率 Fs 的整数倍,如 128Fs, 256Fs, 384Fs, 512Fs 等。
    • 谁驱动: 通常由系统中的主时钟源(可能是 Master 设备,也可能是独立的晶振)驱动。并非所有 I²S 实现都需要 MCLK。
信号线全称说明
BCLKBit Clock每发送一个比特就跳变一次。数据线 DIN 在 BCLK 上升沿或下降沿有效(取决于实现)。
LRCK/WSWord Select指示当前数据是左声道还是右声道。低电平表示左声道,高电平表示右声道。
DINData Input数据线,主机输出音频数据,从设备读取(如 MAX98357)。
DOUTData Output麦克风(如 INMP441)将音频数据通过此引脚发送出去。
MCLK(可选)Master Clock可选的主时钟,一些系统使用(如 CODEC),但许多模块如 MAX98357 不需要。

3. 工作模式

Standard I²S (飞利浦标准): 数据在 WS 变化后的第二个 SCK 周期开始传输。左右通道的数据MSB均是在WS变化后第二个SCK/BCLK上升沿有效。

image-20250407213054933

Left-Justified (左对齐): 数据在 WS 信号变化的同时(或第一个 SCK 周期)就开始传输 MSB。具体如下图所示:

image-20250407213153823

Right-Justified (右对齐): 数据的 LSB 紧靠在 WS 信号下一次变化之前的最后一个 SCK 周期对齐。

image-20250407213232151

  • 接收设备必须事先知道待传数据的字长。
  • 左右对齐模式的WS时钟高电平为左声道,低电平为右声道,刚好与标准IIS相反。
  • SCK = 采样率(48K、44.1K、16K等) x 字长(16bit、24bit、32bit) x 2(左右两通道)

图片参考来自:IIS接口详细介绍-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2330569.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

免费Deepseek-v3接口实现Browser-Use Web UI:浏览器自动化本地模拟抓取数据实录

源码 https://github.com/browser-use/web-ui 我们按照官方教程,修订几个环节,更快地部署 步骤 1:克隆存储库 git clone https://github.com/browser-use/web-ui.git cd web-ui Step 2: Set Up Python Environment 第 2 步:设置…

[蓝桥杯] 求和

题目链接 P8772 [蓝桥杯 2022 省 A] 求和 - 洛谷 题目理解 这道题就是公式题,我们模拟出公式后,输出最终结果即可。 本题不难,相信很多同学第一次见到这道题都是直接暴力解题。 两个for循环,测试样例,直接拿下。 #in…

通过Ollama本地部署DeepSeek R1模型(Windows版)

嗨,大家好,我是心海 以下是一份详细的Windows系统下通过Ollama本地部署DeepSeek R1模型的教程,内容简洁易懂,适合新手用户参考 本地部署大模型,就有点像在你自己的电脑或者服务器上,安装并运行这样一个“私…

【C++】vector的底层封装和实现

目录 目录前言基本框架迭代器容量第一个测试,野指针异常第二轮测试,浅拷贝的问题 元素访问修改操作push_backinsert迭代器失效问题 erase 默认成员函数构造函数双重构造引发调用歧义 拷贝构造赋值重载析构函数 源码end 目录 前言 废话不多说&#xff0…

Open CASCADE学习|读取点集拟合样条曲线(续)

问题 上一篇文章已经实现了样条曲线拟合,但是仍存在问题,Tolerance过大拟合成直线了,Tolerance过大头尾波浪形。 正确改进方案 1️⃣ 核心参数优化 通过调整以下参数控制曲线平滑度: Standard_Integer DegMin 3; // 最低阶…

【Django】教程-11-ajax弹窗实现增删改查

【Django】教程-1-安装创建项目目录结构介绍 【Django】教程-2-前端-目录结构介绍 【Django】教程-3-数据库相关介绍 【Django】教程-4-一个增删改查的Demo 【Django】教程-5-ModelForm增删改查规则校验【正则钩子函数】 【Django】教程-6-搜索框-条件查询前后端 【Django】教程…

R语言:气象水文领域的数据分析与绘图利器

R 语言是一门由统计学家开发的用于统计计算和作图的语言(a Statistic Language developed for Statistic by Statistician),由 S 语言发展而来,以统计分析功能见长。R 软件是一款集成 了数据操作、统计和可视化功能的优秀的开源软…

Kotlin与HttpClient编写视频爬虫

想用Apache HttpClient库和Kotlin语言写一个视频爬虫。首先,我需要确定用户的具体需求。视频爬虫通常涉及发送HTTP请求,解析网页内容,提取视频链接,然后下载视频。可能需要处理不同的网站结构,甚至可能需要处理动态加载…

图形化编程语言:低代码赛道的技术革命与范式突破

在 2024 年 Gartner 低代码平台魔力象限报告中,传统低代码厂商市场份额增速放缓至 12%,而图形化编程语言赛道融资额同比激增 370%。本文深度剖析低代码平台的技术瓶颈,系统阐释图形化编程语言的核心优势,揭示其如何重构软件开发范…

蓝桥杯每日刷题c++

目录 P9240 [蓝桥杯 2023 省 B] 冶炼金属 - 洛谷 (luogu.com.cn) P8748 [蓝桥杯 2021 省 B] 时间显示 - 洛谷 (luogu.com.cn) P10900 [蓝桥杯 2024 省 C] 数字诗意 - 洛谷 (luogu.com.cn) P10424 [蓝桥杯 2024 省 B] 好数 - 洛谷 (luogu.com.cn) P8754 [蓝桥杯 2021 省 AB2…

arthas之dump/classloader命令的使用

文章目录 1. dump2. classloader 1. dump 作用:将已加载类的字节码文件保存到特定目录:logs/arthas/classdump/ 参数 数名称参数说明class-pattern类名表达式匹配[c:]类所属 ClassLoader 的 hashcode[E]开启正则表达式匹配,默认为通配符匹…

第一次3D打印,一个简单的小方块(Rhino)

一、建模 打开犀牛,我们选择立方体 我们点击上册的中心点 输入0,然后回车0 而后我们输长度:10,回车确认 同样的,宽度10 高度同样是10 回车确认后,我们得到一个正方形 二、导出模型 我们选择文件—>保存…

VMware-workstation-full-12.5.2 install OS X 10.11.1(15B42).cdr

手把手虚拟机安装苹果操作系统 VMware_workstation_full_12.5.2 unlocker208 Apple Max OS X(M)-CSDN博客 vcpu-0:VERIFY vmcore/vmm/main/physMem_monitor.c:1180 FILE: FileCreateDirectoryRetry: Non-retriable error encountered (C:\ProgramData\VMware): Cann…

[ctfshow web入门] web16

信息收集 提示:对于测试用的探针,使用完毕后要及时删除,可能会造成信息泄露 试试url/phpinfo.php url/phpsysinfo.php url/tz.php tz.php能用 点击phpinfo,查看phpinfo信息,搜索flag,发现flag被保存为变量…

全面支持MCP协议,开启便捷连接之旅,MaxKB知识库问答系统v1.10.3 LTS版本发布

2025年4月7日,MaxKB开源知识库问答系统正式发布v1.10.3 LTS版本。 在MaxKB v1.10.3 LTS版本中,应用方面,MaxKB新增支持MCP调用节点,AI对话节点新增MCP工具调用功能,支持设置MCP服务配置;函数库方面&#x…

VTK知识学习(51)- 交互与Widget(二)

1、交互器样式 前面所讲的观察者/命令模式是 VTK实现交互的方式之一。在前面示例 所示的窗口中可以使用鼠标与柱体进行交互,比如用鼠标滚轮可以对柱体放大、缩小;按下鼠标左键不放,然后移动鼠标,可以转动柱体;按下鼠标左键,同时按…

底盘---麦克纳姆轮(Mecanum Wheel)

一、基本定义与起源 定义:麦克纳姆轮是一种实现全向移动的特殊轮式结构,通过在主轮周边安装多个倾斜的辊子(小轮),使设备能够在平面上向任意方向移动(包括横向、斜向、旋转等),无需…

深入源码级别看spring bean创建过程

我们通常聊到spring bean的生命周期,大多是从网上找帖子背些基本概念,这样我们学到的东西是不够直观清晰的,这篇文章我就试着从源码级别来讲清楚bean的创建过程。 一、准备demo代码 我们既然要深入源码来看bean的创建过程,那么就…

I/O进程1

day1 一、标准IO 1.概念 在C库中定义的一组用于输入输出的函数 2.特点 (1).通过缓冲机制减少系统调用,提高效率 (2.)围绕流进行操作,流用FILE *来描述(3).标准IO默认打开了三个流,stdin(标准输入)、stdout(…

解决Python与Anaconda中pip的冲突,安装包失败问题(此应用无法在你电脑上运行,无法访问)

1、Anaconda安装在D盘 2、Python安装在C盘(当时刚换电脑,新电脑还未分盘,着急用python直接安装) 问题: (1)winr,cmd无法访问c盘下的pip,安装包失败。采用管理者身份&…