0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动

完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>

3天内不再提示

基于MM32F5270控制器的I2S音频播放

灵动MM32MCU 来源:灵动MM32MCU 作者:灵动MM32MCU 2022-09-16 10:39 次阅读

MM32F5270 系列控制器支持 I2S 总线接口,本章节在接下来会对 MM32F5270 I2S进行介绍,并使用 MM32F5270 和 CS4344 芯片进行 I2S 通信来演示播放一段声音。

I2S 简介

I2S ( Inter—IC Sound ) 总线是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专责于音频设备之间的数据传输,广泛应用于各种多媒体系统。它采用了沿独立的导线传输时钟与数据信号的设计,通过将数据和时钟信号分离,避免了因时差诱发的失真,为用户节省了购买抵抗音频抖动的专业设备的费用。在飞利浦公司的 I2S 标准中,既规定了硬件接口规范,也规定了数字音频数据的格式。

在 MM32F5270 中,SPI 与 I2S 共用引脚。在 I2S 的描述中,支持半双工通信,也支持全双工模式。I2S 与 SPI 区别在于,I2S 主模式的控制逻辑使用独立的时钟分频处理单元。在半双工模式下,可使用 MCK 引脚输出驱动时钟,用于驱动外部音频组件。在全双工模式下,为了能同时进行数据的收发,MCK 驱动时钟只能从专用的 MCK 功能引脚输出。I2S 的功能框图如图 1 所示,包括时钟单元,寄存器控制单元,主从模式控制单元等。

433d0104-34d9-11ed-ba43-dac502259ad0.png

图1. I2S 功能框图

MM32F5270 中 I2S 主要特征

支持半双工通信(仅发射机或接收机)和全双工通信(SD,extSD 的数据方向根据主/从模式配置决定)两种通信方式

9 位可编程线性预分频器,以达到精确的音频采样频率( 8KHz 到 192KHz)

数据帧格式可以是 16 位、 24 位或 32 位

数据包帧固定为 16 位(16 位有效数据)或 32 位(16 位、 24 位、 32 位有效数据)

可编程时钟极性(稳定状态)

发射模式下的下溢标志(仅从机),接收模式下的上溢标志(主和从机)和接收/发射模式下的帧错误标志(仅从机)

用于传输和接收的 32 位寄存器为两个声道分时复用

支持 I2S 协议

飞利浦标准

MSB 对齐标准(左对齐)

LSB 对齐标准(右对齐)

PCM 标准(在 16 位信道帧上具有短帧和长帧同步或扩展到 32 位信道帧的 16 位数据帧)

数据方向始终是 MSB 优先

DMA 传输能力

可配置输出 MCLK 来驱动外部音频组件,比率固定在 256× FS(其中 FS 为音频采样频率)

I2S 信号接口

I2S 和 SPI 共用三个公共管脚:

串行时钟 CK

映射在 SCK 引脚上,也叫位时钟 BCLK,是主模式下的串行时钟输出以及从机模式下的串行时钟输入。SCLK 频率 = 2 x 采样频率 x 采样位数

帧时钟 WS

映射在 NSS 引脚上,是主模式下的串行时钟输出以及从机模式下的串行时钟输入。用于切换左右声道,LRCK 频率 = 采样频率

串行数据 SD

映射在 MOSI 管脚上,二进制补码表示的音频数据,用于发送或接收两次多路数据通道(仅在半双工模式下)。

当某些外部设备需要主时钟输入时,可以使用一个附加的管脚输出时钟到音频设备

主时钟 MCLK

映射在 MISO 引脚或专用 MCK 引脚上,当 I2S 配置为主模式时使用此时钟。MCLK 频率 = 256 x 采样频率 Fs

I2S 引脚信号如图 2 所示。

4366d7e0-34d9-11ed-ba43-dac502259ad0.png

图2. I2S 引脚信号

数据格式

三线总线处理音频数据,必须经过分时复用两个声道:右声道和左声道。因为只有一个 32 位寄存器用于传输或接收,所以软件应依次配置寄存器 TXREG 为各声道的数据,或依次读取寄存器 RXREG 为各声道的数据。按照 I2S 协议,总是先发送左声道,然后发送右声道。

数据格式可以采用以下格式进行发送:

16 位数据打包在 16 位帧中

16 位数据打包在 32 位帧中

24 位数据打包在 32 位帧中

32 位数据打包在 32 位帧中

当使用 32 位帧上发送 16 位数据时,前 16 位(MSB)是有效的位,16 位 LSB 制为 0,无需任何软件操作,通过硬件实现,其他格式相似。

通信标准

I2S 接口支持四种音频标准,通过配置寄存器 SPI_I2S_I2SCFGR 中的 I2SSTD[1:0]、PCMSYNC 位进行切换;数据格式则通过配置 DATLEN[1:0]、CHLEN 来进行选择。对于所有通信标准及数据格式,总是先发送最高位(MSB 优先)。

飞利浦标准

对于飞利浦标准,WS 信号用于指示正在传输的声道。发射器在 CK 的下降沿锁存数据,接收器并在 CK 的上升读取数据。WS 信号也在 CK 的下降沿被锁定。对于这种标准 I2S 格式的信号,无论有多少位有效数据,数据的最高位总是出现在 WS 变化(也就是一帧开始)后的第 2 个 CK 脉冲处,如图 3 所示。

43cfdccc-34d9-11ed-ba43-dac502259ad0.png

图3. 飞利浦标准示意图

MSB 对齐标准

对于 MSB 对齐标准,第一个数据在 WS 变化后的第一个沿有效,如图 4 所示。

43f916dc-34d9-11ed-ba43-dac502259ad0.png

图4. MSB 对齐标准示意图

LSB 对齐标准

对于 LSB 对齐标准,每个数据包帧的最低有效位总(LSB 位)是出现在 WS 变化前的 1 个 CK 脉冲周期处,如图 5 所示。

44314782-34d9-11ed-ba43-dac502259ad0.png

图5. LSB 对齐标准示意图

PCM 标准

对于 PCM 标准,不需要使用声道信息。PCM 有两个模式:短帧模式和长帧模式,通过配置SPI\_I2S\_I2SCFGR 寄存器的 PCMSYNC 位进行切换。在 PCM 模式下,输出信号(WS, SD)在 CK 信号的上升沿进行采样。输入信号(WS, SD)在 CK 下降沿被捕获。注意在主模式下, CK 和 WS 被配置为输出,如图 6 所示。

44662542-34d9-11ed-ba43-dac502259ad0.png

图6. PCM 对齐标准示意图

I2S 配置

I2S 的配置主要包括主从模式选择,时钟极性,全双工半双工模式选择,采样频率和通信标准的配置,从而进行数据传输。

主模式

I2S 功能的主模式下,选择全双工工作时,SD 引脚作为主机发送接口,extSD 作为主机接收接口,SCK 和 WS作为主机的输出信号,同时 MCK 向外部提供可选的驱动时钟(配置 SPI_I2S_I2SCFGR.MCKOE 位为 ‘1’ 使能 MCK 输出),如图 7 所示。

448b44bc-34d9-11ed-ba43-dac502259ad0.png

图7. I2S 主模式全双工通信

基于 MM32F5270 的声音播放实验

CS4344 芯片是实现本次实验功能的重要器件之一。CS4344 是一种立体声音频数模转换器 (DAC) ,可使用单个 +3.3 V 或 +5 V 电源,仅需要最小的支持电路。该系列线性模拟低通滤波器和自动速度模式检测,当自动选择 2 kHz 和 200 kHz 之间的采样率,使用采样率和主时钟速率方法。

本实验的基本原理是 MM32F3270 读取正弦波采样计算出的左右声道的数组数据,通过 I2S 接口将 PCM 信号传输给 CS4344,再经过 TS4871(音频功率放大器)连接到耳机接口,可以接入耳机等音频播放装置。

硬件设计

如图 8-9 是 PLUS-F5270 的 I2S 电路部分,完整原理图可以通过官网下载。其中,引脚信号对应分别为:

I2S2_SD 对应于引脚 E6

I2S2_CK 对应于引脚 D3

I2S2_WS 对应于引脚 E4

I2S2_MCK 对应于引脚 E5

44b2c636-34d9-11ed-ba43-dac502259ad0.png

图8. I2S 电路图(1)

44f2229a-34d9-11ed-ba43-dac502259ad0.png

图9. I2S 电路图(2)

GPIO 初始化 BOARD_InitPins()

配置 I2S 引脚,I2S_CK 为 PD3 引脚,I2S_SD 为 PE6 引脚,I2S_WS 为 PE4 引脚,I2S_MCK 为 PE5 引脚,复用通道为 AF5 。

voidBOARD_InitPins(void)
{
/*PB7-UART1_TX.*/
GPIO_Init_Typegpio_init;
gpio_init.Pins=GPIO_PIN_6;
gpio_init.PinMode=GPIO_PinMode_AF_PushPull;//GPIO_PinMode_AF_PushPull
gpio_init.Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&gpio_init);
GPIO_PinAFConf(GPIOB,gpio_init.Pins,GPIO_AF_7);

/*PB6-UART1_RX.*/
gpio_init.Pins=GPIO_PIN_7;
gpio_init.PinMode=GPIO_PinMode_In_Floating;//GPIO_PinMode_In_Floating
gpio_init.Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&gpio_init);
GPIO_PinAFConf(GPIOB,gpio_init.Pins,GPIO_AF_7);

/*PD3-I2S_CK.*/
gpio_init.Pins=GPIO_PIN_3;
gpio_init.PinMode=GPIO_PinMode_AF_PushPull;//GPIO_PinMode_In_PushPull
gpio_init.Speed=GPIO_Speed_10MHz;
GPIO_Init(GPIOD,&gpio_init);
GPIO_PinAFConf(GPIOD,gpio_init.Pins,GPIO_AF_5);

/*PE6-I2S_SD.*/
gpio_init.Pins=GPIO_PIN_6;
gpio_init.PinMode=GPIO_PinMode_AF_PushPull;//GPIO_PinMode_In_PushPull
gpio_init.Speed=GPIO_Speed_10MHz;
GPIO_Init(GPIOE,&gpio_init);
GPIO_PinAFConf(GPIOE,gpio_init.Pins,GPIO_AF_5);

/*PE4-I2S_WS.*/
gpio_init.Pins=GPIO_PIN_4;
gpio_init.PinMode=GPIO_PinMode_AF_PushPull;//GPIO_PinMode_In_PushPull
gpio_init.Speed=GPIO_Speed_10MHz;
GPIO_Init(GPIOE,&gpio_init);
GPIO_PinAFConf(GPIOE,gpio_init.Pins,GPIO_AF_5);

/*PE5-I2S_MCK.*/
gpio_init.Pins=GPIO_PIN_5;
gpio_init.PinMode=GPIO_PinMode_AF_PushPull;//GPIO_PinMode_In_PushPull
gpio_init.Speed=GPIO_Speed_10MHz;
GPIO_Init(GPIOE,&gpio_init);
GPIO_PinAFConf(GPIOE,gpio_init.Pins,GPIO_AF_5);
}

I2S 配置初始化 app_i2s_master_init()

初始化 I2S,配置时钟频率、采样率、数据长度、通信协议、传输模式及是否使能 MCLK 。

voidapp_i2s_master_init(void)
{
/*setupI2Smastermodule.*/
I2S_Master_Init_Typei2s_master_init;

i2s_master_init.ClockFreqHz=BOARD_I2S_FREQ;
i2s_master_init.SampleRate=BOARD_I2S_SAMPLE_RATE;
i2s_master_init.DataWidth=BOARD_I2S_DATA_WIDTH;
i2s_master_init.Protocol=BOARD_I2S_PROTOCOL;
i2s_master_init.EnableMCLK=true;
i2s_master_init.Polarity=BOARD_I2S_CPOL;
i2s_master_init.XferMode=I2S_XferMode_TxOnly;

I2S_InitMaster(BOARD_I2S_PORT,&i2s_master_init);

/*enableI2S.*/
I2S_Enable(BOARD_I2S_PORT,true);
}

Protocol

通信标准格式选择,可选 I2S Philips 标准、左对齐标准、右对齐标准、 PCM 短帧标准或 PCM 长帧标准,它设定 SPI\_I2S\_I2SCFGR 寄存器 I2SSTD位和 PCMSYNC位的值。一般设置为 I2S Philips 标准即可。

DataWidth

数据格式选择,设定有效数据长度和帧长度,可选标准 16bit 格式、扩展 16bit( 32bit 帧长度) 格式、 24bit 格式和 32bit 格式,它设定 SPI\_I2SCFGR 寄存器 DATLEN 位和CHLEN 位的值。对应 16bit 数据长度可选 16bit 或 32bit 帧长度,其他都是 32bit 帧长度。

EnableMCLK

主时钟输出使能控制,可选使能输出或禁止输出,它设定 SPI_I2SPR 寄存器 MCKOE 位的值。为提高系统性能一般使能主时钟输出。

SampleRate

采样频率设置,标准库提供采样采样频率选择,分别为 4KHz、8kHz、 11kHz、12KHz、16kHz、22kHz、32kHz、44kHz、48kHz、96kHz、192kHz 以及默认 2Hz,它设定 SPI\_I2S\_SPBRG 寄存器的值。

Polarity

空闲状态的 CK 线电平,可选高电平或低电平,它设定 SPI\_I2S\_CCTL 寄存器 CPOL位的值。一般设置为低电平即可。

左右声道数据

采样函数 f (t) = A *sin( B*t ) , t 为采样时间,单位: s。采样位宽为 16bit,采样频率为 8 khz,系数 A 为10000,B 为2000π。

/*i2sleftchannelxferdata.*/
constint16_tsound_buf_left[SOUND_BUF_SIZE]=
{
0,3535,5000,3535,0,-3535,-5000,-3535,
0,3535,5000,3535,0,-3535,-5000,-3535,
};

/*i2srightchannelxferdata.*/
constint16_tsound_buf_right[SOUND_BUF_SIZE]=
{
0,3827,7071,9238,10000,9238,7071,3827,
0,-3827,-7071,-9238,-10000,-9238,-7071,-3827
};

左右声道数据传输

/*putdataintoleftchannel.*/
voidapp_i2s_put_data_left(void)
{
I2S_PutData(BOARD_I2S_PORT,(uint32_t)sound_buf_left[sound_buf_index_left]);
sound_buf_index_left++;
if(sound_buf_index_left>=SOUND_BUF_SIZE)
{
sound_buf_index_left=0;
}
}

/*putdataintorightchannel.*/
voidapp_i2s_put_data_right(void)
{
I2S_PutData(BOARD_I2S_PORT,(uint32_t)sound_buf_right[sound_buf_index_right]);
sound_buf_index_right++;
if(sound_buf_index_right>=SOUND_BUF_SIZE)
{
sound_buf_index_right=0;
}
}

main() 函数

main() 函数结合上述操作,串口打印 "i2s_master_basic" ,初始化 I2S 后,将发送数组数据到左右声道缓冲区,进行声音播放。
intmain(void)
{
BOARD_Init();

printf("i2s_master_basic.
");

app_i2s_master_init();

while(1)
{
while(0u!=(I2S_GetStatus(BOARD_I2S_PORT)&SPI_I2S_CSTAT_TXFULL_MASK))
{}

app_i2s_put_data_left();/*sendingleftchanneldata.*/

while(0u!=(I2S_GetStatus(BOARD_I2S_PORT)&SPI_I2S_CSTAT_TXFULL_MASK))
{}
app_i2s_put_data_right();/*sendingrightchanneldata.*/
}
}

实验演示

本实验以搭载 MM32F5277E9PV 的 PLUS-F5270 开发板为平台,其扬声器将会播放左声道数据,演示视频如下:

演示1. 播放左声道数据

音响数据的采集、处理和传输是多媒体技术的重要组成部分。众多的数字音频系统已经进入消费市场,例如数字音频录音带、数字声音处理器。对于设备和生产厂家来说,标准化的信息传输结构可以提高系统的适应性。

本文介绍了 MM32F5270 中通过 I2S 和 CS4344 芯片进行通信来演示播放一段声音,后续将进行 MP3 的播放,未完待续!

审核编辑:汤梓红


  • 控制器
    +关注

    关注

    104

    文章

    11767

    浏览量

    166198
  • 总线接口
    +关注

    关注

    0

    文章

    65

    浏览量

    30431
  • I2S
    I2S
    +关注

    关注

    1

    文章

    55

    浏览量

    40926
  • MM32
    +关注

    关注

    0

    文章

    88

    浏览量

    294
收藏 人收藏

    评论

    相关推荐

    通过I2S连接一个音频芯片,ESP32如何连接这个音频芯片?

    我们要通过I2S连接一个音频芯片,但改音频芯片的设定为I2S slave 模式,但却提供MCLK出来。 麻烦可以告知在ESP32 该如何配置去连接此芯片呢?谢谢!
    发表于 03-14 07:36

    ESP32 I2S连接ES8156的问题求解

    sample 最小 32bit 。但是在播放 16 bit 双通道音频的时候,BCLK / LRCLK 只有 32 ,每个 sample 是 16 。我用 I2S
    发表于 03-09 08:25

    雅特力AT32 MCU SPI/I2S入门指南

    AT32的SPI接口提供软件编程配置选项,根据软件编程配置方式不同,可以分别作为SPI和I2S使用。 本文将分SPI和I2S分别介绍SPI接口作SPI或I2S的功能特性以及配置流程。
    的头像 发表于 03-08 13:18 727次阅读
    雅特力AT32 MCU SPI/<b>I2S</b>入门指南

    使用I2S播放音乐时,BLE不能被手机扫描到怎么解决?

    ,使用I2S播放。上电后,在手机可以看到“hid"设备, 关闭手机蓝牙再开后,就扫描不到'hid"设备了。 直到关闭音乐播放,立即可以扫描到设备"hid". 我修改解码opus steam的任务优先级也无法解决这个问题。请问,是否I2S播放会影响蓝
    发表于 03-06 06:59

    MM32F5270 勘误表(英文版)

    MM32F5270 勘误表(英文版)
    发表于 02-23 18:48 0次下载
    <b>MM32F5270</b> 勘误表(英文版)

    MM32F5270 勘误表(中文版)

    MM32F5270 勘误表(中文版)
    发表于 02-23 18:47 0次下载
    <b>MM32F5270</b> 勘误表(中文版)

    MM32F5270 用户手册(英文版)

    MM32F5270 用户手册(英文版)
    发表于 02-23 18:46 0次下载
    <b>MM32F5270</b> 用户手册(英文版)

    MM32F5270 用户手册(中文版)

    MM32F5270 用户手册(中文版)
    发表于 02-23 18:46 0次下载
    <b>MM32F5270</b> 用户手册(中文版)

    MM32F5270 产品手册(英文版)

    MM32F5270 产品手册(英文版)
    发表于 02-23 18:45 0次下载
    <b>MM32F5270</b> 产品手册(英文版)

    MM32F5270 产品手册(中文版)

    MM32F5270 产品手册(中文版)
    发表于 02-23 18:45 1次下载
    <b>MM32F5270</b> 产品手册(中文版)

    使用I2S播放音乐时,BLE不能被手机扫描到的原因?怎么解决?

    ,使用I2S播放。上电后,在手机可以看到“hid"设备, 关闭手机蓝牙再开后,就扫描不到'hid"设备了。 直到关闭音乐播放,立即可以扫描到设备"hid". 我修改解码opus steam的任务优先级也无法解决这个问题。请问,是否I2S播放会影响蓝
    发表于 02-13 06:11

    数字音频信号如何传输:I2S协议

    I2S(Inter—IC Sound)总线, 又称集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准。采用沿独立的导线传输时钟与数据信号的设计,通过分离数据和时钟信号,避免了时差诱发的失真。
    发表于 12-05 10:48 569次阅读

    MM32F5270】Keil开发环境搭建

    本文是对MM32F5270相关的灵动官网资料和社区现有几篇环境搭建帖的整理和总结。详细且完整的记录了——如何从零搭建MM32F5270 Keil开发环境以及如何编译运行MM32F5270 SDK中
    的头像 发表于 11-23 08:58 1405次阅读
    【<b>MM32F5270</b>】Keil开发环境搭建

    传统I2S为何要包括系统时钟?

    传统 I2S—为何要包括系统时钟?过去,我们在讨论音频话题时,偶尔会提及 I2S。我在以前的一些文章中提到过 I2S,其他人在做音频研究时也都会提到它。简而言之,它是一种将立体声数据从一端传输至
    发表于 11-23 07:09

    AN4309_将STM32L1xx微控制器与外部I2S音频编解码连接起来播放音频文件

    AN4309_将STM32L1xx微控制器与外部I2S音频编解码连接起来播放音频文件
    发表于 11-21 08:11 0次下载
    AN4309_将STM32L1xx微<b>控制器</b>与外部<b>I2S</b><b>音频</b>编解码<b>器</b>连接起来<b>播放音频</b>文件

    支持I2S数字音频接口;音频功放芯片NTP8835C

    韩国耐福数字功放系列其NTP8835C芯片采用I2S数字输入接口, 可用于音频应用场合,例如蓝牙/WIFI音箱、音响设备,投影仪、高清电视、会议系统等。通过I2S传输数字音频信号, 能够还原和输出
    发表于 11-15 18:15 501次阅读
    支持<b>I2S</b>数字<b>音频</b>接口;<b>音频</b>功放芯片NTP8835C

    灵动MM32F5270斩获 2022全球电子成就奖之“年度微控制器/接口”奖

    MM32F5270 是一款搭载了安谋科技 Arm China STAR-MC1 内核的 MCU 产品,其工作频率可达 120MHz,内置多达256KB Flash 和 192KB RAM,配置浮点
    的头像 发表于 11-11 11:07 291次阅读

    #硬声创作季 #STM32 手把手教你学STM32-084 I2S录音简介-3

    I2Sstm32
    水管工
    发布于 :2022年10月29日 15:08:07

    #硬声创作季 #STM32 手把手教你学STM32-084 I2S录音简介-2

    I2Sstm32
    水管工
    发布于 :2022年10月29日 15:07:40

    #硬声创作季 #STM32 手把手教你学STM32-084 I2S录音简介-1

    I2Sstm32
    水管工
    发布于 :2022年10月29日 15:07:15

    I2S 和 PCM 转换问题

    目前有一个需求,需要将音频 PCM接口 转化为 I2S 接口,在阅读资料后,想通过硬件电路,将PCM直接转化 为I2S。PCM 波形 :我想直接对PCM 的四个线路,BCLK , SYNC
    发表于 10-11 18:28

    基于Keil的MM32f5270例程源码

    MM32f5270_例程源码,基于Keil软件的工程
    发表于 09-26 14:46 0次下载

    I2S、TDM、PCM音频总线

    I2S包括两个声道(Left/Right)的数据,在主设备发出声道选择/字选择(WS)控制下进行左右声道数据切换。通过增加I2S接口的数目或其它I2S设备可以实现多声道(Multi-Channels)应用。
    的头像 发表于 09-20 11:01 1569次阅读

    全面解析I2S、TDM、PCM音频总线

    I2S是比较简单的数字接口协议,没有地址或设备选择机制。在I2S总线上,只能同时存在一个主设备和发送设备。主设备可以是发送设备,也可以是接收设备,或是协调发送设备和接收设备的其它控制设备。
    发表于 09-20 10:58 2795次阅读

    基于MM32F5270开发板实现一个水质过滤采样仪的设计

    设计硬件,故本次测评基于开发板MindSDK I2C实现深度传感数度采集。一. 开发环境搭建开发环境搭建及固件下载参考MM32F5270开发板试用+ 开发环境的搭建并测试GPIO例程MindSDK体验测试
    发表于 09-06 15:42

    MM32F5270(STAR-MC1内核)适配RT-Thread教程

    概述 2022年4月,灵动微电子发布了搭载安谋科技“星辰”STAR-MC1处理的全新高性能 MM32F5 微控制器系列。该系列在内核、总线和外设配置等多个方面进行了创新,内核上更是首次搭载了
    的头像 发表于 08-23 14:33 766次阅读

    自制TFA9894D I2S 5.6W放大器分线

    的输出功率。分线 PCB 可以连接到任何具有 I2C 控制和 3.3V 电平的 I2S/TDM 音频的微控制器或微处理,包括 Raspberry Pi!只需提供 I2S/TDM 音频流,初始化
    发表于 08-22 06:07

    灵动微电子高性能 MM32F5270 荣获“中国电子信息博览会创新奖”

    近日,第十届中国电子信息博览会 (CITE) 在深圳会展中心隆重开幕。会上由上海灵动微电子股份有限公司(以下简称“灵动微电子”)联合安谋科技发布的高性能 MM32F5270 荣获组委会颁发的“中国电子信息博览会创新奖”。
    发表于 08-18 09:48 247次阅读

    MM32F5270:高速ADC和COMP及三合一控制案例

    的 3 合 1 控制的例子来对前面几期的内容做一个综合的讲解。 1、高速 ADC ADC 用于将模拟信号转换成数字信号,是微控制器应用中必不可少的外设之一。 MM32F5270 中包含了 2 组高速
    的头像 发表于 05-31 16:51 3264次阅读

    MM32F5270总线架构设计

    本文介绍了MM32F5270 中所采用的多并发总线架构,并通过带显示的音频播放器的实例说明了该架构在实际应用中所能达到的吞吐率提升效果。
    的头像 发表于 05-11 11:15 1262次阅读
    <b>MM32F5270</b>总线架构设计

    I2S音频总线基本知识科普

    I2S(Inter—IC Sound)总线, 又称集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准。
    的头像 发表于 04-12 07:48 1.9w次阅读
    <b>I2S</b><b>音频</b>总线基本知识科普

    AT32 SPI和I2S入门指南

    本文参考I2S全双工章节。AT32控制器的大部分型号都是SPI和I2S共用SPI接口,根据软件编程配置来选择SPI还是I2S功能。本文分别介绍了SPI和I2S的几种模式/协议,配置流程和使用案例。目录
    发表于 03-14 19:49

    音频外部codec芯片i2s引脚与RK3399 i2s1是怎样进行连接的

    音频外部codec芯片i2s引脚与RK3399 i2s1是怎样进行连接的?如何对RK3399 i2s1声卡注册进行配置呢?
    发表于 03-07 06:21

    智能硬件设计中I2S、PDM、TDM选什么音频接口

    智能硬件设计,I2S、PDM、TDM选什么音频接口?
    的头像 发表于 02-23 15:08 7056次阅读
    智能硬件设计中<b>I2S</b>、PDM、TDM选什么<b>音频</b>接口

    esp32cam micropython如何使用I2S驱动DAC模块播放音频

    研究了一下,发现esp32cam的两个DAC引脚被摄像头占用了,分别是25和26。我们只能用I2S总线输出数字音频,之后用MAX98357模块将数字信号转成模拟信号。下面是代码:导入模块和定义引脚
    发表于 02-15 07:41

    灵动微课堂 (第192讲) | 基于MM32F3270 I2S 使用

    接口有 3 个主要信号,但只能实现数据半双工传输,后来为实现全双工传输有些设备增加了扩展数据引脚。MM32F3270 系列控制器支持 I2S 总线接口,本章节在接下来会对MM32F3270 I2S进行
    发表于 01-10 11:16

    I2S总线是怎样驱动WM8978的

    背景为了了解I2S总线所对应的硬件设计,下文转载了《STM32:I2S驱动WM8978》。以加深对I2S总线的了解。正文最近项目中使用STM32F4驱动音频IC:WM8978。由于STM32的I2S
    发表于 01-05 07:10

    esp32cam micropython使用I2S驱动DAC模块播放音频

    研究了一下,发现esp32cam的两个DAC引脚被摄像头占用了,分别是25和26。我们只能用I2S总线输出数字音频,之后用MAX98357模块将数字信号转成模拟信号。下面是代码:导入模块和定义引脚
    发表于 12-16 16:52 2次下载
    esp32cam micropython使用<b>I2S</b>驱动DAC模块<b>播放音频</b>

    MM32F3270微控制器音频类产品参考方案

    设备:专业话筒系列、耳机、收扩音系统等。 基于灵动微MM32F3270微控制器音频类产品参考方案,具有以下特点: -通过SDIO进行读取SD、TF卡内的音频文件进行播放 -通过USB的OTG接口进行读取U盘内的音频文件进行播放 -通过I2S接口把
    发表于 12-11 14:42 413次阅读

    MM32F3270控制器的主要特点

    ®Cortex®-M3内核,最高主频120MHz •高达512KB Flash和128KB SRAM •外扩存储接口FSMC •多达8组UART、3组SPI、3组I2S2
    发表于 12-07 17:26 719次阅读

    STM32cubeMX I2S DMA双缓冲配置

    stm32f4xx_hal_i2s.c2,修改stm32f4xx_hal_dma_ex.c3,在MX_I2S_Init函数里增加4,测试开发测试环境STM32型号:stm32F401RCI2S芯片:ES7243stm32cubeMX 版本:cubeMX配置方法1,配置I2S模块;我的是录音
    发表于 12-03 09:06 27次下载
    STM32cubeMX <b>I2S</b> DMA双缓冲配置

    基于STM32F407 直播声卡实现的简易教程--I2S驱动篇

    一、硬件平台使用野火开发板STM32F407,codec为板载WM8978二、音频格式标准的I2S,采样频率为44.1Khz,24bit,1组立体声。由此我们可以得到LCLK = 44.1Khz
    发表于 12-02 16:21 28次下载
    基于STM32<b>F</b>407 直播声卡实现的简易教程--<b>I2S</b>驱动篇

    传统I2S—为何要包括系统时钟

    作者:Dafydd Roche,德州仪器   传统 I2S—为何要包括系统时钟? 过去,我们在讨论音频话题时,偶尔会提及 I2S。我在以前的一些文章中提到过 I2S,其他人在做音频研究时也都会
    的头像 发表于 11-23 10:31 3031次阅读

    【 星空派GD32F303开发板试用体验】I2S语音播放功能及改进方向

    存放在TF卡上,进而通过LCD接口来显示图片,由I2S接口来播放音频信息。TF卡的接口电路如图2所示,只是在TF卡的例程中仅提供了块读写的功能,要进行文件的读写需自行添加文件系统。 图2TF卡接口电路
    发表于 10-31 15:38

    TN:将I2S兼容音频设备连接到ADSP-21065L

    TN:将I2S兼容音频设备连接到ADSP-21065L
    发表于 04-27 21:13 3次下载
    TN:将<b>I2S</b>兼容<b>音频</b>设备连接到ADSP-21065L

    AN-第1325:高性能数字MEMS麦克风与具有I2S输出的SigmaDSP音频处理的简单接口

    AN-第1325:高性能数字MEMS麦克风与具有I2S输出的SigmaDSP音频处理的简单接口
    发表于 04-15 15:23 8次下载
    AN-第1325:高性能数字MEMS麦克风与具有<b>I2S</b>输出的SigmaDSP<b>音频</b>处理<b>器</b>的简单接口

    SAMD5x/E5x的集成I2S外部编解码接口

    I2S(Inter-IC Sound)控制器提供与外部音频器件的双向同步数字音频链路。
    发表于 04-01 10:05 8次下载
    SAMD5x/E5x的集成<b>I2S</b>外部编解码<b>器</b>接口

    音频总线I2S协议:I2S收发模块FPGA的仿真设计

    1 概述 I2S(Inter—IC Sound)总线, 又称 集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专门用于音频设备之间的数据传输,广泛应用
    的头像 发表于 12-14 17:34 6407次阅读
    <b>音频</b>总线<b>I2S</b>协议:<b>I2S</b>收发模块FPGA的仿真设计

    数字接口I2S数据传输模式和应用框图

    I2S(Inter-IC Sound)总线,是Philips公司为数字音频传输制定的总线标准。
    发表于 10-12 15:07 5201次阅读
    数字接口<b>I2S</b>数据传输模式和应用框图

    PIC32 MX170F256能使用I2S ADC和I2S DAC吗?

    嗨,我有这个芯片:PIC32 MX170F256B,它有I2S音频。我能在这个芯片中使用I2S ADC和I2S DAC吗?我注意到它总是立体声这个i2s,不是单声道,更多的是2个频道,这个i2s在SPI音频上的优势是什么?谢谢
    发表于 03-09 09:52

    I2S接口概述和与DSP的连接方法

    I²SI2S(Inter-IC Sound或Integrated Interchip Sound)是由飞利浦公司(现NXP)在1986年制定的一种用于音频IC或者设备之间传输数字PCM信息的一种接口标准。
    的头像 发表于 01-27 17:39 2w次阅读
    <b>I2S</b>接口概述和与DSP的连接方法

    如何在为典型音频设备和I2S组件配置的UBFS之间传递数据?

    你好,我正在寻找一个示例项目,该项目至少提供了一个基本思想,即如何在为典型音频设备(扬声和麦克风)和I2S组件配置的UBFS之间传递数据。我正在研究的项目有一个用于处理数字音频数据的外置编解码
    发表于 10-23 12:07

    I2S有哪些信号?

    传统 I2S—为何要包括系统时钟?过去,我们在讨论音频话题时,偶尔会提及 I2S。我在以前的一些文章中提到过 I2S,其他人在做音频研究时也都会提到它。简而言之,它是一种将立体声数据从一端传输至另一端的同步方法。
    发表于 08-14 06:49

    如何将音频上载到pic32mx并使用i2s

    您好,我是微控制器和编程方面的新手。我使用的是PIC32MX1/2/5启动套件和I/O扩展板。我使用的软件是MPLAB X IDE 3.35,XC32 1.42,Harmony 1.08。我想做
    发表于 07-30 12:03

    如何配置I2S应用程序?

    嗨,大家好,经过多天的痛苦,我正在寻求一些帮助。我正在尝试将基本的uSD写入I2S应用程序,但结果真的很难看。我正在使用STM3240G评估板和Adafruit MAX98357板。我正在
    发表于 07-26 09:39

    为什么我的cs4334音频dac接i2s后没声?

    有人用过cs4334音频dac吗?i2s都接上了,插耳机没声。。
    发表于 07-22 04:35

    请问一般常用I2S解码音频的IC有哪些?

    如题,对于STM32,一般常用I2S解码音频的IC有哪些呢?
    发表于 07-02 04:35

    基于Kinetis微控制器eDMA和I2S音频接口设计介绍

    ,减小量化噪声。音频处理系统中,采用DMA实现音频数据在微控制器内的传输,能减少内核的参与,降低内核负担。系统的数据传输通道如图1所示,音频信号暂存在缓存区中,由DMA传输到I2S总线模块的发送
    发表于 06-12 05:00

    基于I2S的USB 声卡系统设计

    关键词:I2S , USB , 声卡 近年来USB产品层出不穷,USB音频类在USB开发者论坛的努力下,成为一种标准的规范,USB声卡也开始在市场上悄然出现。因为USB声卡内置了DAC和有源功放
    发表于 01-13 14:11 1098次阅读

    用于远程汽车音频系统的同轴I2S串行音频串行

    描述 TIDA-00134 参考设计是 I2S 串行音频串行,具有用于使用 I2S 和 TDM 模式(例如放大器)将远程音频单元连接到无线电或信息娱乐系统的高速数字串行接口。此设计使用 TI
    发表于 12-14 15:15

    请问STM32F407作为I2S从机为什么会出现数据错位?

    STM32F407作为I2S从机,位时钟和同步时钟有外部codec提供,使用DMA传输数据。播放wav文件时的,操作顺序如下:1.打开文件,解析文件头信息;2.配置MCU端I2S;3.设置并启动
    发表于 12-12 08:46

    I2S有噪音/静电

    我通过BLE将Android的音频流传送到PSoC 4,并通过I2S发送接收到的数据以播放它,但是它听起来有噪声/静态-Y。我能够通过噪声听到某种正弦波,当我改变正弦波的频率时,我可以通过扬声A
    发表于 11-07 15:00

    怎么设置I2S

    问候语,我在协调I2S音频协议方面遇到了一些麻烦。我所能找到的所有帮助文件都显示I2S应该是驱动程序下的选项,但是它不在那里。但是,在SPI驱动程序下,I2S使用的是什么,我可以将它设置为
    发表于 10-22 15:07

    LPC2300系列ARM课件合集包括I2SI2C接口及RTC和MMC控制器资料合集

    本文档的主要内容详细介绍的是LPC2300系列ARM课件合集包括I2SI2C接口及RTC和MMC控制器资料合集。
    发表于 10-18 08:00 13次下载

    音频I2S

    作者:Dafydd Roche,德州仪器 传统I2S—为何要包括系统时钟?过去,我们在讨论音频话题时,偶尔会提及 I2S。我在以前的一些文章中提到过 I2S,其他人在做音频研究时也都会提到它
    发表于 09-19 14:17

    6713实验箱I2S问题

    有个问题请教下:6713实验箱有没有I2S 实验?,怎么工程里都是I2C的,其中I2S资料也很少,6713的I2S是不是标准的I2S?MP3Echo, MP3Chorus,MP3FIR,回声、合声、滤波三个实验里的I2C,难道就是I2S?谢谢。
    发表于 06-21 13:57

    请问CC3200 I2S总线如何正确播放单声道音频数据?

    本帖最后由 一只耳朵怪 于 2018-6-8 10:11 编辑 如题,现在我用CC3200的I2S总线播放单声道音频数据,用DMA将数据直接配置到了I2S_TX_DMA_PORT,但这样做好
    发表于 06-07 07:17

    几种常见的I2S数据格式

    I2S总线简单有效,可以有效提升输出数据的质量,在各种嵌入式音频系统中有广泛应用。但是在嵌入式音频系统设计中,并不是所有的MCU都支持I2S总线格式,再加上I2S还没有统一的接口标准,不同的厂家生产的设备接口也是五花八门
    发表于 01-29 19:18 1.1w次阅读
    几种常见的<b>I2S</b>数据格式

    I2S接口工作原理_I2S接口介绍

    I2S总线, 又称 集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专门用于音频设备之间的数据传输,广泛应用于各种多媒体系统。数字传输接口,最常见的包括SPDIF。
    发表于 01-29 17:18 9.3w次阅读
    <b>I2S</b>接口工作原理_<b>I2S</b>接口介绍

    i2si2c的区别

    I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。I2S总线, 又称 集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专门用于音频设备之间的数据传输
    发表于 01-29 16:47 6.6w次阅读
    <b>i2s</b>和<b>i2</b>c的区别

    i2s音频总线学习

    I2S是飞利浦公司针对数字音频设备(如CD播放器、数码音效处理、数字电视音响系统)之间的音频数据传输而制定的一种总线标准。它采用了独立的导线传输时钟与数据信号的设计,通过将数据和时钟信号分离,避免了因时差诱发的失真
    发表于 01-29 16:29 3123次阅读
    <b>i2s</b><b>音频</b>总线学习

    STM32手册上的SPI/I2S及USART/UART识读话题

    以STM32F407为例。下面是STMCU选型手册和数据手册相关信息的截图。 从选型手册上看到,STM32F407 的SPI 标了3个,I2S标了2个。这里往往会被误解为3个SPI接口再额外加2I2S接口。其实不然,我们可以进一步查看数据手册,数据手册里将SPI/I2
    发表于 11-29 19:54 936次阅读

    基于FPGA的PCI-I2S音频系统设计

    提出了一种基于FPGA实现的PCI-I2S音频系统方法。通过在FPGA中将PCI软核、FIFO以及设计的接口电路等相结合,在FPGA上实现了 PCI、I2C、I2S等多种总线,并且结合音频解码实现
    发表于 11-17 08:17 2028次阅读
    基于FPGA的PCI-<b>I2S</b><b>音频</b>系统设计

    基于I2S(Inter-IC音频总线)在Kinetis上的应用介绍

    本应用笔记是针对新用户的快速指南,旨在说明如何将 Kinetis 上的 I2S 模块用作 Inter-IC 音频总线。另外,还将讨论基于 DMA 和中断的乒乓缓冲区方案,该方案旨在降低用于处理音频数据流的 CPU 开销。最后将举例说明如何在每个通道上播放频率不同的两个正弦波,以供大家参考。
    发表于 09-04 14:59 10次下载
    基于<b>I2S</b>(Inter-IC<b>音频</b>总线)在Kinetis上的应用介绍

    LM49370的PCM/I2S桥结构

    上。 这种任务之一就是多种数字音频格式的管理,例如单声道PCM(用于语音)和立体声I2S(用于音乐)。支持蓝牙耳机和播放MP3/MP4的能力都成为标准特性,有助于满足同一系统内不同数字音频接口管理的需求。如图1所示,在语音通话期间蓝牙收发
    发表于 06-12 10:35 13次下载
    LM49370的PCM/<b>I2S</b>桥结构

    双SPI仿真I2S在StellarisLM4FMCU上实现

    这份应用报告给出了一个使用两个串行外设接口(SPI) 来仿真一个集成音频接口芯片(I2S) 外设,此外设被集成在Stellaris LM4F232 微控制器上。通过采用音频API,存储在板载安全
    发表于 06-07 11:24 16次下载
    双SPI仿真<b>I2S</b>在StellarisLM4FMCU上实现

    LM49370及PCM/I2S桥内容介绍

    牺牲任何功能是代表一些基带处理的职责到外部集成电路。 一个这样的职责是管理多个数字音频格式,如单声道PCM(语音)和立体声I2S(音乐)。蓝牙耳机支持和MP3 / MP4播放功能是标准功能便于在同一系统内管理不同数字音频接口的需要。如图所示图1,蓝牙收发
    发表于 05-25 09:26 14次下载
    LM49370及PCM/<b>I2S</b>桥内容介绍

    I2S设备和MSP430器件的连接指南

    介绍 MSP430系列微处理是快速强大的设备,非常适合用于各种无线收发。在流式音频应用程序,但是,它是理想的微处理支持音频总线,允许互连到音频编解码。 本应用笔记介绍了如何创建一个I2S总线
    发表于 05-19 15:56 32次下载
    <b>I2S</b>设备和MSP430器件的连接指南

    CAN、I2SI2C、SPI、SSP总线的介绍和比较

    CAN、I2SI2C、SPI、SSP总线的介绍和比较。
    发表于 07-14 16:20 46次下载

    GD32F207-I2S

    单片机GD32F207学习例程之I2S例程源码
    发表于 06-03 15:40 26次下载

    103xx通过外部I2S音频解码播放音频文件

    103xx通过外部I2S音频解码播放音频文件。
    发表于 01-12 18:26 54次下载

    STM32F2技术培训_数字音频接口_I2S

    STM32F2技术培训_数字音频接口_I2S
    发表于 12-03 17:35 54次下载

    I2S 数字音频蓝牙模块

    我在网上或其它地方都很难找到带有I2S数字音频格式输出的蓝牙模块呢。
    发表于 07-31 12:45

    基于FPGA和AD1836的I2S接口设计

    I2S(Inter IC Sound Bus)是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,它既规定了硬件接口规范,也规定了数字音频数据的格式。I2S有三个主要的信号:
    发表于 03-29 11:02 5438次阅读
    基于FPGA和AD1836的<b>I2S</b>接口设计

    音频接口I2S实验

    实验目的 1.掌握有关音频处理的实验原理及说明;2.通过实验了解I2S(Inter–ICSound)音频接口的工作原理;3.通过实验掌握对处理S3C2410中I2S模块电路
    发表于 12-29 00:07 113次下载

    利用MAXIICPLD实现SPI至I2S的接口

    引言:本应用笔记介绍怎样使用Altera®MAX®IICPLD来实现协议转换,通过串行外设接口(SPI)控制inter-IC声音(I2S)总线上的音频设备数据流。
    发表于 07-05 15:53 52次下载

    LPC1700系列微控制器I2S接口用户手册

    目录第20章I2S接口20.1基本配置20.2特性20.3概述20.4引脚描述20.5寄存描述20.5.1数字音频输出寄存20.5.2数字音频输入寄存20.5.3发送FIFO寄存20.5.4接收FI
    发表于 06-05 08:57 57次下载

    基于I2S的USB声卡系统设计

    基于I2S的USB声卡系统设计 近年来USB产品层出不穷,USB音频类在USB开发者论坛的努力下,成为一种标准的规范,USB声卡也开始在市场上悄然出现。因为USB
    发表于 10-17 10:01 3907次阅读
    基于<b>I2S</b>的USB声卡系统设计

    下载硬声App