【经验】灵动微课堂 (第262讲):基于 MM32F0160系列的I2S接口的音乐播放器实验

2023-07-29 灵动MM32MCU公众号
MCU,MM32F0160,MM32F0163D7P,MindMotion MCU,MM32F0160,MM32F0163D7P,MindMotion MCU,MM32F0160,MM32F0163D7P,MindMotion MCU,MM32F0160,MM32F0163D7P,MindMotion

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


MM32F0160系列的I2S 接口有以下主要特征:

半双工通信(仅发送器或接收器)

主操作或从操作

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

数据帧格式可配置为 16 位、24 位或 32 位

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

可配置时钟极性(稳定状态)

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

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

数据方向始终是 MSB 优先

支持 I2S 协议:

飞利浦标准

MSB 对齐标准(MSB 位向左对齐)

LSB 对齐标准(LSB 位向右对齐)

PCM 标准(具有短帧同步模式、长帧同步模式的两种方式)

利用 DMA 请求传输数据(32 位宽)

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


1.MM32的I2S总线简述

MM32F0160的I2S总线与SPI总线复用即SPI_I2S串行外设(串行外设接口与集成电路内置音频总线)。

I2S总线接口与SPI总线接口引脚复用关系如下:

SD:串行数据(映射在MOSI引脚上),用于发送或接收两次多路数据通道(仅在半双工模式下)。

WS:声道选择(映射在NSS引脚上),是主模式控制数据的输出信号,或从模式的输入。

CK:串行时钟(映射在SCK引脚上),是主模式串行时钟的输出,或从模式串行时钟的输入。

MCK:可选的串行时钟(映射在MISO引脚上),用于驱动外部音频组件(仅当外部音频设备需要时钟输入时使用,由主模式提供)。


2.SPI_I2S功能框图简介


图1 SPI_I2S功能框图


如上图1所示为SPI_I2S外设的功能框图,SPI_I2S通过“总线接口逻辑”挂载在APB和DMA总线上,TXREG和RXREG寄存器、主模式控制单元和从模式控制单元、主从选择控制、收发控制逻辑以及时钟生成及控制单元,8Byte的发送缓冲和8Byte的接收缓冲构成,时钟控制单元由Spbrg和Pclk提供时钟。


3.SPI_I2S外设的I2S时钟预分频器

I2SCLK时钟由系统APB时钟提供,I2S模块的预分频器电路结构如下图2所示:


图2 SPI_I2S时钟预分频器电路结构图


如上图2所示,当MCKOE位为‘0’时芯片不需要输出MCK时钟,预分频器直接将I2SCLK分频到CK;当MCKOE位为‘1’时芯片会输出MCK时钟,预分频器将I2SCLK分频后得到MCK,然后再经过分频处理才得到CK(分频倍数由CHLEN选择为 4或8)。


音频采样率一般常用 192KHz,96 KHz,48 KHz,44.1 KHz,32 KHz,22.05 KHz,16 KHz,11.025KHz,8 KHz。因此可根据 I2S 时钟分频器的电路功能式样,配置寄存器 I2SCFGR中的I2SDIV[8:0]、MCKOE和CHLEN 位来得到期望的音频采样率。


I2S 传输数据时,比特率计算公式如下表1所示(CK 输出一个时钟周期对应传输 1 比特数据,因此比特率 = CK频率FCK)。


表1


音频采样率(Fs)和 I2S 比特率的关系由如下的公式定义:

Fs = I2S 比特率/(通道长度×通道数)= FCK /(通道长度×通道数)

注:通道长度,即数据包帧长度,可配置为16位或32位;通道数为左右声道,值固定为2。

综上所述,根据I2SDIV[8: 0]、MCKOE和CHLEN位的配置情况, 得到音频采样率与FI2SCLK(APB时钟频率)的关系如下表2所示:


表2


4.SPI_I2S外设的I2S接口的音乐播放器


工作原理介绍

基于I2S接口的音乐播放器工作原理框图如下图3所示:


图3 I2S接口的音乐播放器原理框图


如上图3所示为I2S接口的音乐播放器工作原理框图:


MM32F0160作为Host MCU其SPI1接口用于驱动25WQ80存储器用于写入和读取存储的音频文件。


MCU端I2S2(SPI2_I2S2)接口工作在从机模式,MCLK不输出时钟。通过PWM输出12MHz的REF_Clock给NAU88C22音频编解码芯片MCLK脚,NAU88C22内部PLL合成稳定的12.288MHz作为内部IMLCK主时钟。NAU88C22 BCLK输出bit clock时钟到MCU端I2S2_CK作为音频采样时钟。I2S2_WS接口即FS用于分时切换左右声道。I2S2_SD接口即DACIN输出从25WQ80存储器读取的音频信号流DAC Stream传输给NAU88C22音频编解码芯片。


MCU端I2C_SDA和I2C_SCL接口用于设置NAU88C22工作模式和参数。NAU88C22 DAC输出可以选择从Speaker PA输出推喇叭或者从Earphone PA耳机接口输出推动耳机。


53I2S接口的GPIO初始化

I2S接口GPIO的初始化代码如下所示:

void I2S2_GPIO_Init(void)

GPIO_InitTypeDef GPIO_InitStruct;

 RCC_GPIO_ClockCmd(GPIOB, ENABLE); 

GPIO_StructInit(&GPIO_InitStruct); 

/* PB12 I2S2_WS */ 

GPIO_InitStruct.GPIO_Pin = GPIO_Pin_12; 

GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; 

GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP; 

GPIO_Init(GPIOB, &GPIO_InitStruct);

 /* PB13 I2S2_CK */

 GPIO_InitStruct.GPIO_Pin = GPIO_Pin_13; 

GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; 

 GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP; 

GPIO_Init(GPIOB, &GPIO_InitStruct);

 /* PB14 I2S2_MCLK */ 

GPIO_InitStruct.GPIO_Pin = GPIO_Pin_14; 

GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; 

 GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU; 

GPIO_Init(GPIOB, &GPIO_InitStruct); 

/* PB15 I2S2_SD */ 

GPIO_InitStruct.GPIO_Pin = GPIO_Pin_15;

 GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; 

 GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP; 

GPIO_Init(GPIOB, &GPIO_InitStruct); 

/* PB12 AF I2S2_WS */ 

GPIO_PinAFConfig(GPIOB, GPIO_PinSource12, GPIO_AF_0);

 /* PB12 AF I2S2_CK */ 

GPIO_PinAFConfig(GPIOB, GPIO_PinSource13, GPIO_AF_0); 

/* PB12 AF I2S2_MCLK */ 

GPIO_PinAFConfig(GPIOB, GPIO_PinSource14, GPIO_AF_0);

 /* PB12 AF I2S2_SD */ 

GPIO_PinAFConfig(GPIOB, GPIO_PinSource15, GPIO_AF_0);

}


6.I2S从机的初始化


I2S从机的初始化步骤如下所示:

1.配置SPI_I2S_GCTL.SPIEN位为‘1’,开启模块使能;

2.配置SPI_I2S_GCTL.MODE位为‘0’,使模块功能为从模式;

3.配置寄存器SPI_I2S_I2SCFGR中的 I2SDIV[8:0]、 DATLEN 和 CHLEN 位,以符合希望得到的音频采样频率及数据包帧格式;

4.配置SPI_I2S_I2SCFGR.SPI_I2S位为‘1’,使能 I2S 传输功能;

5.配置寄存器SPI_I2S_I2SCFGR中的I2SSTD[1: 0]、 PCMSYNC 位,选择I2S传输时使用的通信标准;

6.配置SPI_I2S_GCTL.DMAMODE 位为‘1’,以启用 DMA 传输;

7.开启半双工传输许可, 即配置寄存器SPI_I2S_GCTL 中的 TXEN 或 RXEN 位为‘1’ (TXEN、 RXEN不可同时配置为‘1’)。


注意:从模式下发送时,在检测到WS的边沿之前,需要对寄存器SPI_I2S_TXREG进行1次数据写入操作;而且,从模式下接收时,在配置RXEN位为‘1’之前,需要一直维持WS输入信号在高电平。


I2S从机的初始化代码如下所示:


void I2S2_Slave_Init(void)

RCC_APB1PeriphClockCmd(RCC_APB1ENR_SPI2, ENABLE); /* Enable SPI2_I2S Clock */ 

SPI2->CCTL &= ~SPI_CCTL_LSBFE; /* MSB first enable */ 

SPI2->CCTL &= ~SPI_CCTL_CPHA; /* Clock phase select start second clock */

 SPI2->CCTL |= SPI_CCTL_CPHASEL; /* CPHA polarity select start second clock */ 

SPI2->CCTL |= SPI_CCTL_SPILEN; /* SPI character length 8bit data */ S

PI2->CCTL |= SPI_CCTL_CPOL; /* Clock polarity select high */ 

 SPI2->CCTL |= SPI_CCTL_TXEDGE; /* Transmit data edge for i2s bus */ 

 SPI2->I2SCFGR &= ~SPI_I2SCFGR_MCKOE; /* I2S master clock output disable */ 

SPI2->I2SCFGR &= ~SPI_I2SCFGR_CHLEN; /* Vocal tract length 16bit */

 SPI2->I2SCFGR |= SPI_I2SCFGR_DATLEN_32; /* Audio data width 32 */

 SPI2->I2SCFGR |= SPI_I2SCFGR_I2SSTD_Philips; /* I2S STD Philips */ 

 SPI2->I2SCFGR |= SPI_I2SCFGR_SPI_I2S; /* SPI/I2S module function selection */ 

 SPI2->GCTL &= ~SPI_GCTL_MODE; /* I2S Slave mode */ 

SPI2->GCTL |= SPI_GCTL_DW_8_32; /* double-word data select signal */

 SPI2->GCTL |= SPI_GCTL_DMAMODE; /* DMA access mode enable */ 

SPI2->GCTL |= SPI_GCTL_TXEN; /* I2S Transmit enable */ 

SPI2->GCTL |= SPI_GCTL_INTEN; /* SPI_I2S interrupt enable */ 

SPI2->GCTL |= SPI_GCTL_SPIEN; /* Enable I2S */

 }


7.I2S发送DAC音频信号流


MM32F0163D7P的I2S2发送DAC音频信号流使用DMA中断发送,代码接口如下所示:


void I2S2_TxData_DMA_Interrupt(uint8_t *Buffer, uint8_t datasize)

 DMA_InitTypeDef DMA_InitStruct; 

NVIC_InitTypeDef NVIC_InitStruct; 

 RCC_DMA_ClockCmd(DMA1, ENABLE); /* Enable DMA1 Clock */ 

 DMA_DeInit(DMA1_Channel5); 

DMA_StructInit(&DMA_InitStruct);

 DMA_InitStruct.DMA_PeripheralBaseAddr = (uint32_t)&(SPI2->TXREG); /* SPI2_I2S2 BaseAddr */ 

DMA_InitStruct.DMA_MemoryBaseAddr = (uint32_t)(Buffer); /* Memory buffer for music data*/

 DMA_InitStruct.DMA_DIR = DMA_DIR_PeripheralDST; 

 DMA_InitStruct.DMA_BufferSize = datasize; /* Left and Right channel audio buffer size */

 DMA_InitStruct.DMA_PeripheralInc = DMA_PeripheralInc_Disable; 

 DMA_InitStruct.DMA_MemoryInc = DMA_MemoryInc_Enable; /* memory increment */ 

 DMA_InitStruct.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord; /* half word transfer */ 

DMA_InitStruct.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord; /* half word transfer */ 

DMA_InitStruct.DMA_Mode = DMA_Mode_Normal; /* Normal mode */ 

DMA_InitStruct.DMA_Priority = DMA_Priority_Medium; /* DMA Priority Medium */ 

DMA_InitStruct.DMA_M2M = DMA_M2M_Disable; /* Disable memory to memory transfer */

 DMA_InitStruct.DMA_Auto_reload = DMA_Auto_Reload_Enable; /* Enable auto reload */ 

DMA_Init(DMA1_Channel5, &DMA_InitStruct); DMA_ClearFlag(DMA1_FLAG_TC5); /* Clear transfer complete flag */

 DMA_ITConfig(DMA1_Channel5, DMA_IT_TC, ENABLE); /* Enable DMA Channel5 SPI2_I2S2 DMA transfer complete interrupt */ 

 NVIC_InitStruct.NVIC_IRQChannel = DMA1_Channel4_7_IRQn; /* Set SPI2_I2S2 DMA Channel NVIC intterrupt priority */ 

NVIC_InitStruct.NVIC_IRQChannelPriority = 0x01; 

NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE; /* Enable NVIC IRQChannel */ 

 NVIC_Init(&NVIC_InitStruct);

 DMA_Cmd(DMA1_Channel5, ENABLE); /* Enable SPI2_I2S2 DMA Channel5 */ 

SPI_DMACmd(SPI1, ENABLE); /* Enable SPI_I2S */ 

while (0 == I2S2_TX_DMA_InterruptFlag) 

}

}

I2S的DMA中断处理函数:

void DMA1_Channel4_7_IRQHandler(void)

if(SET == DMA_GetITStatus(DMA1_IT_TC5)) 

/* I2S2 DMA interrupt transfer flag */ 

 I2S2_TX_DMA_InterruptFlag = 1; 

/* Clear transfer complete interrupt flag */ 

 DMA_ClearITPendingBit(DMA1_IT_TC5); 

/* Enable SPI2_I2S2 DMA Channel5 */ 

 DMA_Cmd(DMA1_Channel5, ENABLE); 

}

}


8.MCU输出12MHz的PWM

给NAU88C22音频编解码芯片


配置MM32F0163D7P TIM1输出12MHz的PWM给NAU88C22合成12.228MHz时钟给NAU88C22的IMCLK和MCU的I2S,可参考MM32F0160_Samples中的TIM1 PWM输出例程。


9.SPI1接口的GPIO驱动25WQ80存储器

SPI1接口的GPIO初始化代码如下所示:

void SPI1_GPIO_Init(void)

GPIO_InitTypeDef GPIO_InitStruct;

 RCC_GPIO_ClockCmd(GPIOA, ENABLE);

 RCC_GPIO_ClockCmd(GPIOB, ENABLE); 

 GPIO_PinAFConfig(GPIOA, GPIO_PinSource15, GPIO_AF_0); /* PA15 AF SPI1_CS */

 GPIO_PinAFConfig(GPIOB, GPIO_PinSource3, GPIO_AF_0); /* PB3 AF SPI1_SCK */

 GPIO_PinAFConfig(GPIOB, GPIO_PinSource4, GPIO_AF_0); /* PB5 AF SPI1_MOSI */

 GPIO_PinAFConfig(GPIOB, GPIO_PinSource5, GPIO_AF_0); /* PB4 AF SPI1_MISO */

 GPIO_StructInit(&GPIO_InitStruct); 

GPIO_InitStruct.GPIO_Pin = GPIO_Pin_15; /* PA15 SPI1_CS */ 

GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; 

 GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP; 

GPIO_Init(GPIOA, &GPIO_InitStruct); 

GPIO_InitStruct.GPIO_Pin = GPIO_Pin_3; /* PB3 SPI1_CS */ 

 GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; 

GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP; 

GPIO_Init(GPIOB, &GPIO_InitStruct); 

 GPIO_InitStruct.GPIO_Pin = GPIO_Pin_5; /* PB5 SPI1_CS */ GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; 

GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP; 

GPIO_Init(GPIOB, &GPIO_InitStruct); 

 GPIO_InitStruct.GPIO_Pin = GPIO_Pin_4; /* PB4 SPI1_CS */ 

 GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; 

GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU;

 GPIO_Init(GPIOB, &GPIO_InitStruct);

}


SPI1接口驱动25WQ80存储器,存储待读取的音频信号,经过SPI1读取后通过I2S2接口传输音频信号流到NAU88C22音频编解码芯片解码播放音乐,其初始化代码如下所示:


void SPI1_NVIC_Config(uint16_t spi_baud_div)

SPI_InitTypeDef SPI_InitStruct; 

 NVIC_InitTypeDef NVIC_InitStruct; /* SPI1 NVIC Priority Config */ 

 NVIC_InitStruct.NVIC_IRQChannel = SPI1_IRQn; 

 NVIC_InitStruct.NVIC_IRQChannelPriority = 0x01; 

 NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE;

 NVIC_Init(&NVIC_InitStruct); RCC_SPI_ClockCmd(SPI1, ENABLE); /* Enable SPI1 Clock */ 

SPI_DeInit(SPI1); 

 SPI_StructInit(&SPI_InitStruct); SPI_InitStruct.SPI_Mode = SPI_Mode_Master; /* SPI master mode */ 

SPI_InitStruct.SPI_DataSize = SPI_DataSize_8b; 

 SPI_InitStruct.SPI_DataWidth = 8; 

SPI_InitStruct.SPI_CPOL = SPI_CPOL_Low; /* The clock is low in idle state. */

 SPI_InitStruct.SPI_CPHA = SPI_CPHA_1Edge; /* Data sampling starts from the first clock edge */ 

SPI_InitStruct.SPI_NSS = SPI_NSS_Soft; 

/* SPI data edge adjust in fast speed mode */ 

 SPI_InitStruct.SPI_BaudRatePrescaler = (SPI_BaudRatePrescaler_TypeDef)spi_baud_div 

SPI_InitStruct.SPI_FirstBit = SPI_FirstBit_MSB; /* Data transfers start from MSB */ 

SPI_Init(SPI1, &SPI_InitStruct); 

if(SPI_InitStruct.SPI_BaudRatePrescaler <= 8)

 { 

 exSPI_DataEdgeAdjust(SPI1, SPI_DataEdgeAdjust_FAST);

 }

 /* Enable Receive available data interrupt and transmitter empty interrupt */

 SPI_ITConfig(SPI1, SPI_IT_RX | SPI_IT_TXEPT, ENABLE); 

SPI_BiDirectionalLineConfig(SPI1, SPI_Direction_Rx); /* Receive enable */ 

SPI_BiDirectionalLineConfig(SPI1, SPI_Direction_Tx); /* Transmit enable */

 SPI_Cmd(SPI1, ENABLE); /* Enable SPI1 */

}


SPI1读写25WQ80存储器函数接口请参考MM32F0160_Samples中的SPI_FLASH_Interrupt例程。


10.I2C接口的初始化


I2C1主机模式驱动NAU88C22音频编解码芯片用于发送指令控制NAU88C22音频编解码芯片工作。I2C1接口的GPIO初始化代码如下所示:


void I2C1_GPIO_Init(void)

GPIO_InitTypeDef GPIO_InitStruct;

 RCC_GPIO_ClockCmd(GPIOB, ENABLE); 

GPIO_PinAFConfig(GPIOB, GPIO_PinSource10, GPIO_AF_1); /* PB10 AF I2C1_SCL */ 

GPIO_PinAFConfig(GPIOB, GPIO_PinSource11, GPIO_AF_1); /* PB10 AF I2C1_SDA */

 GPIO_StructInit(&GPIO_InitStruct);

 GPIO_InitStruct.GPIO_Pin = GPIO_Pin_10; /* PB10 I2C1_SCL */

 GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; 

/* Keep the bus free which means SCK & SDA is high */ 

GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_OD; 

 GPIO_Init(GPIOB, &GPIO_InitStruct); 

GPIO_InitStruct.GPIO_Pin = GPIO_Pin_11; /* PB11 I2C1_SDA */ 

GPIO_Init(GPIOB, &GPIO_InitStruct);

}


I2C1接口作为主机驱动NAU88C22音频编解码芯片工作,其初始化代码如下所示:

void I2C_Master_Mode_Init(I2C_TypeDef *I2Cx, uint32_t I2C_speed)

 I2C_InitTypeDef I2C_InitStruct; 

RCC_I2C_ClockCmd(I2C1, ENABLE); /* Enable I2C clock */

 I2C_StructInit(&I2C_InitStruct); 

I2C_InitStruct.Mode = I2C_CR_MASTER; /* Configure I2C as master mode */ 

I2C_InitStruct.OwnAddress = 0;

 if (I2C_speed > 200000) /* more than 200K */ 

I2C_InitStruct.Speed = I2C_CR_SPEED_FAST; /* I2C fast speed mode */ 

else

 { 

I2C_InitStruct.Speed = I2C_CR_SPEED_STD; /* I2C standard speed mode */ 

}

 I2C_InitStruct.ClockSpeed = I2C_speed; /* I2C Speed */ 

I2C_Init(I2Cx, &I2C_InitStruct); 

I2C_Cmd(I2Cx, ENABLE);

}


I2C1设置从机地址代码如下所示:

void I2C_Set_DeviceAddr(I2C_TypeDef *I2Cx, uint8_t deviceaddr)

/* Disable I2C */ 

I2C_Cmd(I2Cx, DISABLE);

 /* Set the device address */ 

 I2C_Send7bitAddress(I2Cx, deviceaddr, I2C_Direction_Transmitter);

 /* Enable I2C */ 

I2C_Cmd(I2Cx, ENABLE);

}


I2C1的读写数据和命令的操作参考LibSamples_MM32F0160 I2C例程。


11.编译I2S程序烧录烧录到开发板中播放音乐


编译MM32F0163D7P的I2S2程序并烧录到开发板中实现音乐播放功能。


实验1:播放三角波测试文件实测输出波形



实验2:播放48KHz/24BIT立体声WAVE格式音乐文件实测输出波形


授权代理商:世强先进(深圳)科技股份有限公司
技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 0

本文由拾一转载自灵动MM32MCU公众号,原文标题为:灵动微课堂 (第262讲)|基于MM32F0163D7P的I2S接口的音乐播放器实验,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

评论

   |   

提交评论

全部评论(0

暂无评论

相关推荐

Keil分散加载文件浅析

分散加载文件(scatter file)是一个文本文件,用于描述 ARM 链接器生成映像文件所需要的信息,在一些应用场景中嵌入式系统可能会使用分散加载。本章节简要介绍了分散加载文件的基本概念和语法,旨在对分散加载文件有初步认识。

设计经验    发布时间 : 2023-12-28

灵动微电子MM32F0160系列MCU FlexCAN-FD通信应用指南

MM32F0160系列MCU具有一个 FlexCAN 模块,该模块遵循 ISO 11898-1 标准、 CAN FD 和 CAN 2.0B 协议规范,不仅兼容传统CAN,还支持CAN FD模式。本章节初步学习使用MM32F0160 FlexCAN-FD接口实现CAN FD通信,相关例程参考灵动官网的LibSamples或在此基础上修改。

设计经验    发布时间 : 2024-01-07

使用灵动MM32F5270 MCU UART配置实现LIN通信

本文主要简述MM32F5270 UART是如何实现LIN通信的。从LIN驱动程序、 主机程序、从机程序和验证等方面来讲代码实现。

设计经验    发布时间 : 2024-02-23

唯创知音(waytronic)语音IC/模块选型指南

目录- 关于唯创知音    芯片选型表    新产品介绍    播放类    播放类(工业级语音芯片)    大功率语音芯片    语音及固件下载更新标准方案    扩展语音芯片    多媒体芯片(工业级)    多路混音芯片    录音芯片    蓝牙芯片    语音识别芯片    存储器    功放芯片    传感器    驱动芯片    开发流程    MCU+标准功能(代码)    语音及固件更新下载标准方案    配套工具   

型号- WTV380QFN32,WT2801,WT588,WT588SXX-16S,WT588F02B-16S,WTK6900H-CQFN,WT8509,WT1312,WT2800,WT5880D系列,WT588FXXB-8S系列,WT0034A,WTR,WT2000T-QFN32N,WTV-VSB,WTV,WT8871,WT588FXXA-8S,WTU,WT2000T系列,WT25Q128X-8S,WT2605X,WTN6040F-8S,WT2605系列,WT2003HXX-16S,WT2003HXX-32NQFN,WT系列,WTR096,WT2605X B02,WT2605X B03,WTK6900H-C系列,WT2003HXX-32N,WT2605X B04,WT588F02KD-24SS,WT2605X B05,WT2000T-52N,WTR096A-16S,WT-FLASH系列,WT2003,WT2605C,TV600,WT8623,WT2003系列,WT2605-24SS,WT2003H系列,WT2000T-QFN52,WTK6900H-M01,WT-FLASH,WTK6900F-C,WTVXXX-SOP8,WT2801系列,WT588FXXA-8S系列,WT2800系列,WT200,WT2003HX-32N,WT588E系列,WT2003HXX-24SS,WTK6900系列,WT2605X-24SS,WTK6900F-C-24SS,WT2605C-32N,WTR系列,WTK6900G系列,WTV系列,WT25QXX系列,WT2003HX-16S,WTR096系列,WT25QXX,WT588F02BP-14S,WT588F,WT2003HM16,WTVXXXB-QFN32,WT588E,WT25Q16X-8S,WTK6900G-M,WTK6900H-B系列,WT2605C-24SS,WTN6,WT2605X-32NQFN,WTVXXX-P,WTU201F2,WT588S,WTK6900F,WT588FXX-8S,WTK6900G,WTK6900H,WT8002,WT2801A-32N,WT2003HM05,WTVXXX,WT25Q,WT2003H,WTK6900H-24SS,WT2605C-QFN32,WT588FXXX-8S,WT2605,WT588F系列,WT2605C-32NQFN,WT2003HM01,WTVXXXB-SOP8,WT2000T-32NQFN,WT2003HM02,WT2003HX-24SS,WT2003HM03,WTV380,WT0031,WTK6900G-24SS,WT2000T-QFN52N,WTN6XX-8S,WTU系列,WT0035,WT2003H4,WT5880D,WT0033,WT2605C系列,WT0032,WT8673,WT588F02A-16S,WT2605D-24SS,WT2605B05,WT 系列,WT2605B04,WT2000T-52NQFN,WT2605B03,WT2605B02,WT2003HP8-QFN32,WTXXX,WTV890,WT2000T-32N,WTVXXX-8S,WT2003HX,WTR096A-24SS,WT0024,WT8302,WT0023,WT0022,WTVXXX8系列,WT0021,WTU609F4,WTK6900H-A,WT588FXXB-8S,WT588E02B-8S,WTVXXXM06,WTVXXX-VSB,WTK6900H-B,WTN6040FP-14S,WTK6900H-C,WTR096A-28SS,WTV600,WT588F02B-8S,WTN6系列,WT588FXXX-16S,WTU506F8,WT2605X-32N,WT588F02KD,WT2003H-16S,WTVXXX系列,WT25Q64X-8S,WTK6900H-C-24SS,WTVXXX8,WT2801A-24SS,WTVXXX-PQFN,WT25Q系列,WT4890,WT588S系列,WT25Q32X-8S,WT588系列,WTK6900,WT480,WT9110B,WTN6040F,WTV390,WT25Q128×-8S,WT2003HB01,WT2003HB02,WT2003HB03,WTN6XXX-8S,WT2000T,WT2605-16S,WT2003H-25SS,WT2000T-QFN32,WT2605D-32N

选型指南  -  唯创知音 PDF 中文 下载

“MindMotion·Star“ Series: Major Member MM32F5260 Officially in Mass Production

At the Shenzhen Elexcon 2024 in late August, MindMotion Microelectronics officially unveiled the “MindMotion·Star” series of high-performance MM32 MCU products, featuring four sub-series: MM32F3, MindMotion Dubhe MM32F5, MindMotion Alioth MM32G5, and MindMotion Phecda MM32H5. MindMotion is excited to announce the formal launch of a key member of the MindMotion Dubhe sub-series: the MM32F5260.

产品    发布时间 : 2024-10-25

HVAC FLAP以MM32SPIN023C为主控设计提供All in one方案

暖通空调 (HVAC) 系统旨在调节、加热、冷却、通风、清洁或除湿车厢内的空气质量 (IAQ)。暖通空调系统由前端的传感器和机械/电子开关、鼓风机电机、执行器(用于新鲜空气循环控制、气流控制和温度控制)以及制冷装置组成,这些装置将空气输送到后端的座舱,以确保驾驶员和乘客的热舒适性。HVAC FLAP以 MM32SPIN023C 为主控。

应用方案    发布时间 : 2024-03-25

MindMotion MM32H5480 Triumphs with “2024 Hardcore MCU Chip Award“

MindMotion Microelectronics, as a frontrunner in the domestic market for general-purpose 32-bit MCU products and solutions, proudly secured the “2024 Hardcore MCU Chip Award“ for its high-performance product, the MM32H5480.

产品    发布时间 : 2024-10-23

MindMotion(灵动微) MCU选型表

32位高性能,高性价比MCU,Core核心有M0、M0+、2XM0、M3、STAR-MC1,Flash存储容量范围 16KB~2048KB,RAM存储容量范围 2KB~128KB,工作电压:1.8~48V,CPU频率(MHz):48~180MHz,GPIO 端口数(个):6~86,LQFP/TSSOP/QFN等多种封装形式。

产品型号
品类
内核
管脚数(个)
工作温度(℃)
CPU频率(MHz)
工作电压(V)
GPIO 端口数(个)
Flash(KB)
SRAM (KB)
封装/外壳/尺寸
MM32F0163D7PV
32位MCU
M0
64
-40℃~105℃
96MHz
2.0~5.5V
57
128KB
16KB
LQFP64

选型表  -  MindMotion 立即选型

【IC】“灵动·星”系列MM32高性能MCU产品搭载Star-MC1提供强劲内核动力,性能提升20%

“灵动·星”系列 MM32 高性能 MCU 产品,搭载安谋科技(Arm China)Star-MC1 内核性能,其1.5 DMIPS / MHz,提升 20% ,4.02 CoreMark / MHz,提升20% 。目前包含 4 个子系列: MM32F3,灵动·天枢 MM32F5,灵动·玉衡 MM32G5,灵动·天玑 MM32H5,为用户提供灵活、丰富的选择。

产品    发布时间 : 2024-10-23

MindMotion(灵动微)MM32系列32位MCU选型指南

描述- 灵动微电子成立于2011年,是中国本土领先的通用32位MCU产品及解决方案供应商。灵动微电子的 MCU 产品以 MM32 为标识,基于 Arm Cortex-M 系列内核,自主研发软硬件和生态系统。

型号- MM32G0163D4PV,MM32L0XX,MM32F0144C6PM,MM32F5230,MM32SPIN580C,MM32G0020,MM32G0140,MM32L073PF,MM32F0133C4Q,MM32SPIN080GN,MM32SPIN560CM,MM32SPIN023C,MM32F0133C4P,MM32F5287L8PV,MM32SPIN533AM,MM32F0162D7P,MM32F0121C6P,MM32F0163D4Q,MM32SPIN0230,MM32SPIN080C,MM32F0141C1T,MM32L062NT,MM32F0020B1N,MM32F0144C1TV,MM32F5330,MM32G0001,MM32G0120,MM32F0144C1TM,MM32F0163D7P,MM32SPIN030CN,MM32G0121C1TV,MM32F0010A1TV,MM32SPIN07PF,MM32SPIN05PFOP,MM32SPIN0230B1TV,MM32SPIN37PSD,MM32G0001A6T,MM32F3270,MM32F0121C4P,MM32F0121C4Q,MM32F5277E9PV,MM32F5287L9PV,MM32F0163D6P,MM32F5333D6PV,MM32SPIN0280DAPV,MM32F0121C4N,MM32SPIN080G,MM32SPIN560,MM32F0144C4PM,MM32F0144C4PV,MM32F5280,MM32SPIN06NT,MM32F0140,MM32SPIN560C,MM32F0020,MM32G5333D6QV,MM32F0162D4Q,MM32F0050C1TV,MM32F0273D6P,MM32SPIN0230B3NV,MM32SPIN06PF,MM32G0144C4QV,MM32SPIN0280,MM32L052NT,MM32F5270,MM32F0144C4P,MM32F5277E8PV,MM32F031C6T6,MM32F0130,MM32F0010,MM32F0020B1TV,MM32F5333D7PV,MM32G0144C4PV,MM32SPIN080CN,MM32F0144C4Q,MM32SPIN060G,MM32L0136C7P,MM32F0133C7P,MM32SPIN05NW,MM32F5331D3NV,MM32F0040B1T,MM32SPIN05NT,MM32G0001A6T1V,MM32SPIN06PT,MM32F0120,MM32F0162D6P,MM32F5331D3NM,MM32F003NW,MM32G0160,MM32SPIN27NF,MM32F0163D4QM,MM32SPIN05PF,MM32F031,MM32F3273G6P,MM32F0163D4QV,MM32L0136B6P,MM32G0001A1TV,MM32F0133C6P,MM32SPIN0280D7PV,MM32F5277E7PV,MM32F0144C6P,MM32SPIN222C,MM32F0144C6PV,MM32F0010A6T,MM32G0001A1T,MM32F3273G7P,MM32L0130,MM32G0001A1N,MM32SPIN05PT,MM32G0121C4PV,MM32F0010A1T,MM32F5233D7PV,MM32SPIN27PF,MM32F0010A1N,MM32G5330,MM32SPINEBK,MM32SPIN07,MM32F3273G8P,MM32SPIN160C,MM32SPIN06,MM32F0040B1N,MM32SPIN0230B1NV,MM32L0136C6P,MM32SPIN05,MM32L0020,MM32F0050,MM32SPIN0280D6PV,MM32SPIN533,MM32F031K6U6,MM32F3273G9P,MM32F0163D6PM,MM32SPIN040C,MM32G0020B1T,MM32F0163D6PV,MM32F003,MM32SPIN37,MM32G0020B1N,MM32F0273D8P,MM32F0160,MM32L0136C3T,MM32F0040,MM32G0001A1NV,MM32SPIN0280D6QV,MM32F0144C1T,MM32F103CBT6,MM32F5233D6PV,MM32F0144C4QM,MM32F3273E6P,MM32SPIN27PQ,MM32SPIN27PS,MM32SPIN27PT,MM32L0136C4N,MM32SPIN27,MM32F0020B1NV,MM32F0270,MM32G0121C4QV,MM32F031F6U6,MM32F0273D7P,MM32F003TW,MM32G0144C1TV,MM32F3273E7P,MM32F0141B1T,MM32G0163D6PV,MM32F0163D7PM,MM32SPIN030C,MM32F0163D7PV,MM32F0131C7P,MM32F103,MM32SPIN05TW,MM32F031Y6Y6,MM32F0141C4P,MM32F0141C4Q,MM32F0141C4N,MM32F031K6T6,MM32F0010A1NV,MM32F0131C6P,MM32SPIN422C,MM32F0020B1T,MM32SPIN0280D4PV,MM32L0020B1T,MM32F103RBT6,MM32L0020B1N,MM32F031F6P6,MM32F0121C1N,MM32F0050C1NV,MM32F5333D4QM,MM32G0001A6TV,MM32SPIN360C,MM32,MM32F5333D4QV,MM32F0141C6P,MM32F0141B4P,MM32F0131C4P,MM32F0131C4Q,MM32SPIN0230B3TV,MM32SPIN533A,MM32SPIN033A,MM32F5287L7PV,MM32F5233D4QV

选型指南  -  MINDMOTION  - 2024/5/30 PDF 中文 下载

【IC】灵动微电子高性能通用32位MCU产品MM32H5480荣获“2024年度硬核MCU芯片奖”

近日,第六届硬核芯生态大会在深圳举办,同期2024年度硬核中国芯获奖榜单正式发布。作为国内领先的本土通用32位MCU产品及解决方案供应商,MindMotion灵动微电子凭借高性能产品MM32H5480斩获“2024年度硬核MCU芯片奖”。

原厂动态    发布时间 : 2024-10-18

【IC】灵动发布全新入门级32位MCU MM32G0001系列,内置时钟全温度范围内偏差不超过±2%

灵动股份推出全新超值型MM32G0001系列MCU。2023年初,灵动首次发布了其主打高性价比的MM32G系列,目前已陆续推出了G0140,G0160和G5330系列产品。为进一步丰富MM32G系列产品组合,灵动和上下游合作伙伴通力合作,打造出全新入门级超值型MM32G0001系列MCU。

新产品    发布时间 : 2023-07-01

【经验】基于MM32F0163D7P的USB Audio Class(UAC)音频设备移植教程

在上一节我们在MM32F0163D7P 平台上成功的移植了TinyUSB,基于这个平台,今天我们来实现一个 uac2_headset 音频设备,这个设备支持基础的录音和放音功能,如果要支持音量调节/静音功能,还需要再添加一个 HID 变成复合设备。

设计经验    发布时间 : 2023-08-05

【IC】灵动微电子发布灵动·天枢子系列新成员:MM32F5260,搭载国产Star-MC1内核,内核动力强劲

在8月底的深圳嵌入式电子展上,灵动微电子正式发布了“灵动ž星”系列MM32高性能MCU产品,包含4个子系列:MM32F3,灵动·天枢 MM32F5,灵动·玉衡MM32G5,灵动·天玑MM32H5。9月30日灵动微电子正式发布灵动·天枢子系列的重磅成员:MM32F5260。

产品    发布时间 : 2024-10-10

展开更多

电子商城

查看更多

品牌:MindMotion

品类:高性能MCU

价格:¥5.8601

现货: 0

品牌:MindMotion

品类:电机专用SOC

价格:¥8.2805

现货: 295

品牌:MindMotion

品类:32位MCU

价格:¥7.7125

现货: 250

品牌:MindMotion

品类:电机专用MCU

价格:¥4.2617

现货: 250

品牌:MindMotion

品类:电机专用MCU

价格:¥3.7500

现货: 250

品牌:MindMotion

品类:电机专用MCU

价格:¥4.9500

现货: 250

品牌:MindMotion

品类:电机专用MCU

价格:¥10.6250

现货: 160

品牌:MindMotion

品类:高性能MCU

价格:¥14.6125

现货: 90

品牌:MindMotion

品类:32位MCU

价格:¥1.6125

现货: 72

品牌:MindMotion

品类:电机专用MCU

价格:¥2.5706

现货: 25

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:MindMotion

品类:32位MCU

价格:¥5.9400

现货:19,996

品牌:MindMotion

品类:32位MCU

价格:¥2.3800

现货:6,427

品牌:RENESAS

品类:16-BIT MCU

价格:¥5.5190

现货:910,635

品牌:RENESAS

品类:MCU

价格:¥5.1500

现货:200,000

品牌:恒烁

品类:MCU

价格:¥1.0800

现货:154,600

品牌:Advanced Digital Chips

品类:MCU

价格:¥6.6000

现货:100,000

品牌:RENESAS

品类:MCU

价格:¥5.8041

现货:86,925

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥7.3800

现货:76,715

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥15.3000

现货:75,000

品牌:Advanced Digital Chips

品类:MCU

价格:¥9.0000

现货:64,841

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

TFT LCD液晶显示屏/模组定制

可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。

最小起订量: 1000 提交需求>

MCU烧录/Flash烧录/CPLD烧录

可烧录IC封装SOP/MSOP/SSOP/TSOP/TSSOP/PLCC/QFP/QFN/MLP/MLF/BGA/CSP/SOT/DFN;IC包装Tray/Tube/Tape;IC厂商不限,交期1-3天。支持IC测试(FT/SLT),管装、托盘装、卷带装包装转换,IC打印标记加工。

最小起订量: 1pcs 提交需求>

查看更多

授权代理品牌:接插件及结构件

查看更多

授权代理品牌:部件、组件及配件

查看更多

授权代理品牌:电源及模块

查看更多

授权代理品牌:电子材料

查看更多

授权代理品牌:仪器仪表及测试配组件

查看更多

授权代理品牌:电工工具及材料

查看更多

授权代理品牌:机械电子元件

查看更多

授权代理品牌:加工与定制

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面