解析灵动微MCU MM32SPIN0230的USART实现SPI读写Flash存储器方法

2023-11-10 MindMotion(灵动MM32MCU公众号)
MCU,MM32SPIN0230,MindMotion MCU,MM32SPIN0230,MindMotion MCU,MM32SPIN0230,MindMotion MCU,MM32SPIN0230,MindMotion

本文中MindMotion将为大家介绍MCU MM32SPIN0230的USART实现SPI读写Flash存储器的方法。


MM32SPIN0230的USART简介

MM32SPIN0230通用同步/异步收发器(USART)可以灵活地与外部设备进行全双工数据交换。通过内置波特率(包含整数及小数设定)发生器, USART 可以支持宽范围的波特率。
USART 支持异步模式(UART)、同步模式。其中 UART 支持单线半双工通信, UART 和同步模式支持调制解调器(CTS/RTS)操作。

MM32SPIN0230的USART功能框图
USART 的功能框图如下图1所示,由寄存器相关的控制单元、收发数据控制器、时钟控制器、硬件流控制单元以及引脚控制逻辑单元组成。


图1 MM32SPIN0230 USART功能框图


USART的同步模式
通过配置,USART_CR1.SAS 位为‘1’来使能同步模式(时钟引脚功能将同时有效)。
在同步模式下, USART_CR3.HDSEL 位应配置为‘0’。
同步模式支持主模式和从模式:主模式时使用内部波特率生成器生成的时钟,同时输出时钟;从模式时由 SCLK 引脚输入时钟。USART 在同步模式下,能与 SPI 实现数据通信(此时,用户应配置 SPI 与USART 的时钟极性、时钟相位为一致)。

USART的时钟
USART的时钟挂载在APB1总线上,由APB1总线提供工作时钟,以配置USART_CR2.CLKEN位为‘1’来使能时钟引脚功能, 同时根据USART_CR3.CKINE位配置来选择使用内部波特率时钟或从SCLK引脚输入时钟,以进行数据通信。
当选择内部波特率时钟时,可通过SCLK引脚输出同步时钟。
1帧数据的收发包含8个时钟脉冲。
当RE和TE都为‘0’, 时钟输出会停止, 并固定在USART_CR2.CPOL配置的电平。
通过配置USART_CR2.CPOL位选择时钟极性。
通过配置USART_CR2.CPHA位选择外部时钟相位。

USART时钟同步功能
SCLK 引脚作为发送器的时钟输出时,仅在数据段输出时钟,一帧数据输出 8 个时钟脉冲,最后一位发送完后,通信线保持最后一位的值,时钟输出固定在高电平或低电平(由 CPOL 位决定)。
USART 接收器在同步模式下的工作方式与异步模式下不同。如果RE=1,则数据在SCLK变化边沿上采样(上升或下降沿,取决于CPOL和CPHA位配置情况),而不会进行任何过采样。此时必须确保足够的建立时间和保持时间,以符合时序要求(类同于SPI协议)。
内部时钟源时,内部波特率生成器生成的波特率计算公式为:


其中通信波特率的单为MBps;PCLK 为内部时钟源的频率;MFD为波特率寄存器USART_BRR中整数分频(注意,在同步模式下应配置MFD≥2, 且小数分频FFD无效, 用户应配置FFD[3:0] 位为4’h0)。
使用内部时钟源且MFD=2时,同步模式的最高波特率为PCLK/8(MBps)。
外部时钟源时,要求外部输入时钟的最大频率为PCLK/8( MHz),此时最高波特率也为PCLK/8(MBps)。

USART的特性描述
如下图2所示为USART的数据帧类型示意图,当USART用作同步通信时,可通过配置同步时钟引脚即USART_SCK引脚的时钟极性和时钟相位实现SPI功能的通信。此时没有起始位,校验位以及停止位功能,仅支持8位。通过配置时钟极性CPOL和时钟相位CPHA可以实现基于USART的SPI通信的工作模式0-3。


图2 MM32SPIN0230 USART数据帧类型示意图


USART同步模式实现SPI通信的配置步骤
MM32SPIN0230有一路USART1,USART1同步模式实现SPI通信的配置步骤如下所示。

使能USART1的时钟和用作USART1的GPIO时钟
●配置GPIO复用为USART1功能
●配置一路普通GPIO为推挽输出模式用于USART同步通信的CS引脚
●配置 USART1_CR1.SAS 位为‘1’来使能同步模式(时钟引脚功能将同时有效)
●配置 USART1_CR1.MLS 位为‘0’或 为‘1’来选择数据格式为LSB或MSB
●配置 USART1_CR3.HDSEL位为‘0’来选择数据通信为全双工模式
●配置 USART1_CR2.CPOL位为‘0’ 或 为‘1’设置时钟空闲时为低电平或高电平
●配置 USART1_CR2.CPHA位为‘0’ 或 为‘1’设置在时钟第一个变化沿捕获数据或在时钟第二个变化沿捕获数据
●配置USART1_BRR波特率寄存器小数分频FFD[3:0]为0(USART同步模式,波特率小数分频无效)
●配置USART1同步模式波特率,USART1_BRR波特率寄存器整数分频MFD[15:0],需配置MFD>=2
●使能USART1接收和发送中断以及NVIC中断优先级(如有使用到USART接收和发送中断功能)
●使能USART1功能
●编写应用层USART1同步通信模式下数据接收、数据发送函数以及中断处理接收和中断发送函数。(如使能了接收和发送中断功能)

USART同步模式实现SPI通信 读写W25Q32存储器
根据以上配置步骤USART1同步模式实现SPI通信的配置步骤,使用MM32SPIN0230的库函数配置USART1为同步模式主机功能实现SPI通信读写W25Q32 Flash存储器,分别配置GPIO PA11复用为USART1_TX功能,PA12复用为USART1_RX功能,PB2复用为USART1_SCLK功能(注:USART1用作同步模式主机功能PA11 USART1_TX当做SPI_MOSI引脚使用,PA12 USART1_RX当做SPI_MISO引脚使用,PB2 USART1_SCLK当做SPI_SCL使用)并配置GPIO PB4为推挽输出模式当做SPI_CSS引脚使用。

USART1同步通信模式实现SPI通信的初始化代码如下所示:

#define SPI_FLASH_CS_H() GPIO_WriteBit(GPIOB, GPIO_Pin_4, Bit_SET)
#define SPI_FLASH_CS_L() GPIO_WriteBit(GPIOB, GPIO_Pin_4, Bit_RESET)
uint16_t DeviceID = 0;                /* W25Q32 Device ID */
uint32_t JEDEC_ID = 0;                /* W25Q32 JEDEC ID */
void USART_Configure(uint32_t Baudrate)
{
    GPIO_InitTypeDef GPIO_InitStruct;
    NVIC_InitTypeDef NVIC_InitStruct;

    RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART1, ENABLE);
    USART_SyncMasterConfig(USART1, USART_Clock_Idle_Low, USART_Clock_Phase_1Edge, Baudrate);    /* USART Init configure SPI Mode0 */
    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE);

    GPIO_PinAFConfig(GPIOA, GPIO_PinSource11, GPIO_AF_5);   /* PA11 AF USART_TX for SPI_MOSI function */
    GPIO_PinAFConfig(GPIOA, GPIO_PinSource12, GPIO_AF_5);   /* PA12 AF USART_RX for SPI_MISO function */
    GPIO_PinAFConfig(GPIOB, GPIO_PinSource2,  GPIO_AF_6);   /* PB2 AF USART_SCLK for SPI_SCLK function */

    GPIO_StructInit(&GPIO_InitStruct);
    GPIO_InitStruct.GPIO_Pin   = GPIO_Pin_4;        
    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_High;
    GPIO_InitStruct.GPIO_Mode  = GPIO_Mode_Out_PP;  /* PB4 for SPI_CSS function */
    GPIO_Init(GPIOB, &GPIO_InitStruct);

    SPI_FLASH_CS_H();                           /* Set PB4 for SPI_CSS High leve */
    GPIO_StructInit(&GPIO_InitStruct);
    GPIO_InitStruct.GPIO_Pin   = GPIO_Pin_11;
    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_High;
    GPIO_InitStruct.GPIO_Mode  = GPIO_Mode_AF_PP;
    GPIO_Init(GPIOA, &GPIO_InitStruct);

    GPIO_StructInit(&GPIO_InitStruct);
    GPIO_InitStruct.GPIO_Pin   = GPIO_Pin_12;
    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_High;
    GPIO_InitStruct.GPIO_Mode  = GPIO_Mode_FLOATING;
    GPIO_Init(GPIOA, &GPIO_InitStruct);

    GPIO_StructInit(&GPIO_InitStruct);
    GPIO_InitStruct.GPIO_Pin   = GPIO_Pin_2;
    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_High;
    GPIO_InitStruct.GPIO_Mode  = GPIO_Mode_AF_PP;
    GPIO_Init(GPIOB, &GPIO_InitStruct);

    NVIC_InitStruct.NVIC_IRQChannel = USART1_IRQn;
    NVIC_InitStruct.NVIC_IRQChannelPriority = 0x01;
    NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStruct);
    USART_Cmd(USART1, ENABLE);
}

USART1同步通信模式中断接收数据,代码如下所示:
void USART_Synchronous_RxData_Interrupt(uint8_t *Buffer, uint8_t Length)
{
    uint8_t i = 0;

    for (i = 0; i < Length; i++)
    {
        USART_RxStruct.Buffer[i] = 0;
        USART_TxStruct.Buffer[i] = 0;
    }
    USART_RxStruct.Length = Length;
    USART_RxStruct.CurrentCount = 0;
    USART_RxStruct.CompleteFlag = 0;
    USART_TxStruct.Length = Length;
    USART_TxStruct.CurrentCount = 0;
    USART_TxStruct.CompleteFlag = 0;
    USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
    USART_ITConfig(USART1, USART_IT_TXE, ENABLE);
    while (0 == USART_TxStruct.CompleteFlag)
    {
    }
    while (0 == USART_RxStruct.CompleteFlag)
    {
    }
    for (i = 0; i < Length; i++)
    {
        Buffer[i] = USART_RxStruct.Buffer[i];
    }
}  

USART1同步通信模式中断发送数据,代码如下所示:
void USART_Synchronous_TxData_Interrupt(uint8_t *Buffer, uint8_t Length)
{
    uint8_t i = 0;

    for (i = 0; i < Length; i++)
    {
        USART_RxStruct.Buffer[i] = 0;
        USART_TxStruct.Buffer[i] = Buffer[i];
    }
    USART_RxStruct.Length = Length;
    USART_RxStruct.CurrentCount = 0;
    USART_RxStruct.CompleteFlag = 0;
    USART_TxStruct.Length = Length;
    USART_TxStruct.CurrentCount = 0;
    USART_TxStruct.CompleteFlag = 0;
    USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
    USART_ITConfig(USART1, USART_IT_TXE, ENABLE);
    while (0 == USART_TxStruct.CompleteFlag)
    {
    }
    while (0 == USART_RxStruct.CompleteFlag)
    {
    }
}

USART1同步通信模式读SPI Flash,代码如下所示:
void SPI_FLASH_RxBuffer(uint8_t *Buffer, uint8_t Length)
{
    if (Length)
    {
        USART_Synchronous_RxData_Interrupt(Buffer, Length);
    }
}


USART1同步通信模式写SPI Flash,代码如下所示:
void SPI_FLASH_TxBuffer(uint8_t *Buffer, uint8_t Length)
{
    if (Length)
    {
        USART_Synchronous_TxData_Interrupt(Buffer, Length);
    }
}

USART1同步通信模式处理中断接收和发送命令和读写数据,即读写SPI Flash,代码如下所示:
void USART1_IRQHandler(void)
{
    uint8_t RxData = 0;

    if (RESET != USART_GetITStatus(USART1, USART_IT_RXNE))
    {
        RxData = USART_ReceiveData(USART1);

        if (0 == USART_RxStruct.CompleteFlag)
        {
            USART_RxStruct.Buffer[USART_RxStruct.CurrentCount++] = RxData;
            if (USART_RxStruct.CurrentCount == USART_RxStruct.Length)
            {
                USART_RxStruct.CompleteFlag = 1;
                USART_ITConfig(USART1, USART_IT_RXNE, DISABLE);
                USART_ITConfig(USART1, USART_IT_TXE, DISABLE);
            }
        }
    }
    if (RESET != USART_GetITStatus(USART1, USART_IT_TXE))
    {
        if (0 == USART_TxStruct.CompleteFlag)
        {
            USART_SendData(USART1, USART_TxStruct.Buffer[USART_TxStruct.CurrentCount++]);
            if (USART_TxStruct.CurrentCount == USART_TxStruct.Length)
            {
                USART_TxStruct.CompleteFlag = 1;
            }
        }
    }
}

USART1同步通信模式SPI Flash写使能,代码如下所示:
void SPI_FLASH_WriteEnable(void)
{
    uint8_t Command = 0x06;

    SPI_FLASH_CS_L();
    SPI_FLASH_TxBuffer(&Command, 0x01);
    SPI_FLASH_CS_H();
}

USART1同步通信模式判断SPI Flash是否处于总线忙转态,代码如下所示:
void SPI_FLASH_WaitBusy(void)
{
    uint8_t  Status     = 0;
    uint8_t  Command[2] =
    {
        0x05, 0xFF
    };
    uint32_t Timeout = 0;

    do
    {
        SPI_FLASH_CS_L();
        SPI_FLASH_TxBuffer(Command, 0x02);
        SPI_FLASH_RxBuffer(&Status, 0x01);
        SPI_FLASH_CS_H();

        if (Timeout++ > 0xFFFF)
        {
            break;
        }
    }
    while (Status & 0x01);
}

USART1同步通信模式读SPI Flash DeviceID,代码如下所示:
void SPI_FLASH_ReadDeviceID(void)
{
    uint8_t  Command[4] =
    {
        0x90, 0xFF, 0xFF, 0x00
    };
    uint8_t  Buffer[2];
    SPI_FLASH_CS_L();
    SPI_FLASH_TxBuffer(Command, 0x04);
    SPI_FLASH_RxBuffer(Buffer, 0x02);
    SPI_FLASH_CS_H();
    DeviceID   = Buffer[0];
    DeviceID <<= 8;
    DeviceID  |= Buffer[1];
}

USART1同步通信模式读SPI Flash JEDEC ID,代码如下所示:
void SPI_FLASH_ReadJEDEC_ID(void)
{
    uint8_t  Command = 0x9F;
    uint8_t  Buffer[3];

    SPI_FLASH_CS_L();
    SPI_FLASH_TxBuffer(&Command, 0x01);
    SPI_FLASH_RxBuffer(Buffer, 0x03);
    SPI_FLASH_CS_H();
    JEDEC_ID   = Buffer[0];
    JEDEC_ID <<= 8;
    JEDEC_ID  |= Buffer[1];
    JEDEC_ID <<= 8;
    JEDEC_ID  |= Buffer[2];
}

USART1同步通信模式SPI Flash 扇区擦除,代码如下所示:
void SPI_FLASH_SectorErase(uint16_t Index)
{
    uint8_t  Command[4] =
    {
        0x20, 0x00, 0x00, 0x00
    };
    uint32_t Address = Index * 4 * 1024;

    Command[1] = (uint8_t)((Address >> 16) & 0x000000FF);
    Command[2] = (uint8_t)((Address >> 8) & 0x000000FF);
    Command[3] = (uint8_t)((Address >> 0) & 0x000000FF);
    SPI_FLASH_WriteEnable();
    SPI_FLASH_CS_L();
    SPI_FLASH_TxBuffer(Command, 4);
    SPI_FLASH_CS_H();
    SPI_FLASH_WaitBusy();
}

USART1同步通信模式快速读SPI Flash,代码如下所示:
void SPI_FLASH_FastRead(uint32_t Address, uint8_t *Buffer, uint32_t Length)
{
    uint8_t Command[5] =
    {
        0x0B, 0x00, 0x00, 0x00, 0xFF
    };
    Command[1] = (uint8_t)((Address >> 16) & 0x000000FF);
    Command[2] = (uint8_t)((Address >> 8) & 0x000000FF);
    Command[3] = (uint8_t)((Address >> 0) & 0x000000FF);
    SPI_FLASH_CS_L();
    SPI_FLASH_TxBuffer(Command, 0x05);
    SPI_FLASH_RxBuffer(Buffer, Length);
    SPI_FLASH_CS_H();
}

USART1同步通信模式页编程SPI Flash,代码如下所示:
void SPI_FLASH_PageProgram(uint32_t Address, uint8_t *Buffer, uint32_t Length)
{
    uint8_t Command[4] =
    {
        0x02, 0x00, 0x00, 0x00
    };
    Command[1] = (uint8_t)((Address >> 16) & 0x000000FF);
    Command[2] = (uint8_t)((Address >> 8) & 0x000000FF);
    Command[3] = (uint8_t)((Address >> 0) & 0x000000FF);
    SPI_FLASH_WriteEnable();
    SPI_FLASH_CS_L();
    SPI_FLASH_TxBuffer(Command, 0x04);
    SPI_FLASH_TxBuffer(Buffer, Length);
    SPI_FLASH_CS_H();
    SPI_FLASH_WaitBusy();
}

验证USART1同步通信模式读写W25Q32 SPI Flash,本实例在MDK Keil环境下编译验演示,在main函数中调用读写W25Q32 SPI Flash的函数,代码如下所示:
int main(void)
{
    uint8_t i = 0;
    uint8_t EraseBuffer[100], WriteBuffer[100], ReadBuffer[100];
    USART_RxStruct.CompleteFlag = 0;
    USART_TxStruct.CompleteFlag = 1;
    USART_Configure(8000000); /* Configure USART Read/write SPI Flash baud rate 8M */
    SPI_FLASH_ReadDeviceID();
    SPI_FLASH_ReadJEDEC_ID();
    SPI_FLASH_SectorErase(0); /* USART erases the SPI Flash sector */
    SPI_FLASH_FastRead(0, EraseBuffer, 100);
    for (i = 0; i < 100; i++)
    {
        WriteBuffer[i] = i;
    }
    SPI_FLASH_PageProgram(0, WriteBuffer, 100); /* USART page programming SPI Flash writes 100 bytes of data */
    SPI_FLASH_FastRead(0, ReadBuffer, 100); /* The USART reads 100 bytes of data written to the SPI Flash */

    PLATFORM_DeInitUSART1();
    PLATFORM_InitConsole(115200);
    printf("\r\n\r\n");
    printf("\r\nSPI Flash DeviceID : 0x%04x", DeviceID);
    printf("\r\nSPI Flash JEDEC ID : 0x%06x", JEDEC_ID);
    printf("\r\nSPI FLASH Sector Erase...");
    printf("\r\nSPI FLASH Read...");
    for (i = 0; i < 100; i++)
    {
        if (0 == (i % 10))
        {
            printf("\r\n");
        }
        printf("0x%02x ", EraseBuffer[i]);
    }
    printf("\r\nSPI FLASH Page Program...");
    printf("\r\nSPI FLASH Read...");
    for (i = 0; i < 100; i++)
    {
        if (0 == (i % 10))
        {
            printf("\r\n");
        }
        printf("0x%02x ", ReadBuffer[i]);
    }
    while (1)
    {
    }
}

使用MM32-LINK Mini调试下载工具连接MM32SPIN0230 MiniBoard,板子USB口连接USB串口工具连接到电脑端,打开串口调试助手,并配置串口波特率为115200,按快捷键F7编译工程,编译成功后按快捷键F8下载程序到MM32SPIN0230 MiniBoard,如下图3所示,串口调试助手分别打印输出了W25Q32 SPI Flash的DeviceID和JEDEC ID,USART1同步通信模式扇区擦除W25Q32 SPI Flash数据后读出的100字节0xFF数据(说明擦除成功),以及USART1同步通信模式写入到W25Q32 SPI Flash中的0-99共100字节数据(每行10字节,共10行),读出了写入的0-99共100字节数据,写入和读出的数据一致即0-99对应十六进制为0x00-0x63。

图3 测试结果

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

本文由出山转载自MindMotion(灵动MM32MCU公众号),原文标题为:灵动微课堂 (第276讲)|MM32SPIN0230的USART实现SPI读写Flash存储器,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

平台合作

评论

   |   

提交评论

全部评论(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 -  设计经验 代理服务 技术支持 采购服务

MindMotion Wins “Best Motor Controller Solution Supplier” Award with Featured Motor Control Products: MM32SPIN0230、MM32SPIN080G、MM32SPIN060G

At the“2024 5th Motor Control Technology Market Performance Awards” organized by Electronic Enthusiasts Network 2024 during the Advanced Motor Control Technology Seminar (Autumn), MindMotion was honored with the “Best Motor Controller Solution Supplier” award. This award recognizes companies with outstanding market performance, technological expertise, and innovative capabilities in the motor control industry.

2024-12-07 -  原厂动态 代理服务 技术支持 采购服务

【IC】灵动新推出32位MCU MM32F0120,主频高达72MHz,提供64KB Flash和8KB RAM

灵动微电子发布的MM32F0120,搭载Cortex M0内核,主频高达72MHz,提供64KB Flash和8KB RAM,最高支持48pin封装。适用于屏显控制、电动玩具、电源管理、马达控制、无线快充等多种应用场合。

2024-09-11 -  产品 代理服务 技术支持 采购服务

灵动凭借MM32SPIN0230/080G/060G电机控制MCU获“最佳电机控制器解决方案供应商”荣誉

2024年11月21日,在2024电机控制先进技术研讨会(秋季),“2024第五届电机控制技术市场表现奖”年度评选活动上,MindMotion灵动凭借多年在电机控制领域的优秀表现,荣获“最佳电机控制器解决方案供应商”奖,该奖项旨在通过业界共同推荐、评选出电机控制行业内市场表现优秀,具有技术和创新能力的企业。

2024-11-28 -  原厂动态 代理服务 技术支持 采购服务

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 立即选型

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

公司介绍及产品应用领域    第二代M0产品    G系列产品 / 第二代M3产品 / 第二代M33产品 / 第二代电机专用MCU    第二代电机SOC产品 / AEC-Q100 / 第二代低功耗产品    第一代M0产品    第一代M3产品 / 第一代M33产品 / 第一代电机专用MCU / 第一代电机SOC产品 / 第一代低功耗产品   

MINDMOTION  -  MCU,单片机,MM32G0163D4PV,MM32L0XX,MM32F0144C6PM,MM32F5230,MM32SPIN580C,MM32G0020,MM32G0140,MM32L073PF,MM32F0133C4Q,MM32SPIN080GN,MM32SPIN560CM,MM32SPIN023C,MM32F0133C4P,MM32F5287L8PV,MM32SPIN533AM,MM32F0162D7P,MM32F0121C6P,MM32SPIN0230,MM32F0163D4Q,MM32SPIN080C,MM32F0141C1T,MM32L062NT,MM32F0020B1N,MM32F0144C1TV,MM32F5330,MM32G0001,MM32G0120,MM32F0144C1TM,MM32F0163D7P,MM32SPIN030CN,MM32G0121C1TV,MM32SPIN07PF,MM32F0010A1TV,MM32SPIN05PFOP,MM32SPIN0230B1TV,MM32SPIN37PSD,MM32G0001A6T,MM32F3270,MM32F0121C4P,MM32F5277E9PV,MM32F5287L9PV,MM32F0121C4Q,MM32F5333D6PV,MM32SPIN0280DAPV,MM32F0163D6P,MM32F0121C4N,MM32SPIN080G,MM32F0144C4PM,MM32SPIN560,MM32F0144C4PV,MM32F5280,MM32SPIN06NT,MM32F0140,MM32SPIN560C,MM32F0020,MM32G5333D6QV,MM32F0162D4Q,MM32F0273D6P,MM32F0050C1TV,MM32SPIN0230B3NV,MM32SPIN06PF,MM32G0144C4QV,MM32SPIN0280,MM32L052NT,MM32F5270,MM32F0144C4P,MM32F5277E8PV,MM32F031C6T6,MM32F0130,MM32F0010,MM32F0020B1TV,MM32F5333D7PV,MM32G0144C4PV,MM32SPIN080CN,MM32F0144C4Q,MM32SPIN060G,MM32L0136C7P,MM32F0133C7P,MM32SPIN05NW,MM32F5331D3NV,MM32SPIN05NT,MM32F0040B1T,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,MM32SPIN0230B1NV,MM32L0136C6P,MM32SPIN05,MM32F0040B1N,MM32L0020,MM32F0050,MM32SPIN0280D6PV,MM32SPIN533,MM32F031K6U6,MM32F3273G9P,MM32F0163D6PM,MM32SPIN040C,MM32G0020B1T,MM32F003,MM32SPIN37,MM32F0163D6PV,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,MM32G0163D6PV,MM32F0163D7PM,MM32F0141B1T,MM32SPIN030C,MM32F0163D7PV,MM32F0131C7P,MM32F103,MM32SPIN05TW,MM32F031Y6Y6,MM32F0141C4P,MM32F0141C4Q,MM32F0141C4N,MM32F031K6T6,MM32F0010A1NV,MM32F0131C6P,MM32SPIN422C,MM32SPIN0280D4PV,MM32F0020B1T,MM32L0020B1T,MM32F103RBT6,MM32L0020B1N,MM32F031F6P6,MM32F0121C1N,MM32F0050C1NV,MM32F5333D4QM,MM32G0001A6TV,MM32SPIN360C,MM32,MM32F5333D4QV,MM32F0141C6P,MM32F0141B4P,MM32F0131C4P,MM32F0131C4Q,MM32SPIN0230B3TV,MM32SPIN533A,MM32SPIN033A,MM32F5287L7PV,MM32F5233D4QV,安防,汽车,消费电子,厨电,个人护理,电动工具,车身电子,通信,智能家居,汽车电机,无线连接,手机周边,工业控制,数据通信,楼宇自动化,计量仪表,电机,泵类,小家电,工业能源,伺服电机,照明控制,汽车周边,汽车配件,低速交通工具,显示仪表,家电,电源,个人娱乐,健康,个人健康,电脑周边,大家电,计算机

2024/5/30  - 选型指南 代理服务 技术支持 采购服务

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 -  产品 代理服务 技术支持 采购服务

【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 -  产品 代理服务 技术支持 采购服务

灵动微电子扎根张江造“芯”,打造本土32位MCU知名品牌

灵动微电子成立于2011年,2016年进军MCU市场,2019年积极向工业、大家电、汽车等领域发力,目前已涵盖消费电子、电机与电源、家电、汽车、计算机与通信、工业控制等应用领域,客户群体包括飞利浦、小米、汇川、海尔、海信、美的等,是中国本土领先的通用32位MCU 产品及解决方案供应商。

2024-09-19 -  原厂动态 代理服务 技术支持 采购服务

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

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

2024-10-18 -  原厂动态 代理服务 技术支持 采购服务

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

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

2023-08-05 -  设计经验 代理服务 技术支持 采购服务

MM32F0160的FlexCAN FD位时间采样点的计算

FlexCAN模块是一个通信控制器,扩展了CAN FD功能,遵循ISO 11898-1标准、CAN FD和CAN 2.0B协议规范。 CAN协议主要被设计用作车载串行总线,满足实时处理,带宽要求,车辆在电磁干扰环境下的可靠操作,该模块支持标准和扩展帧,支持最大64字节有效负载,传输速率高达 8Mbps,并且具有非常灵活的用于传输和接收的邮箱系统和RxFIFO接收机制。

2023-12-26 -  设计经验 代理服务 技术支持 采购服务

New Milestone! Following the Success of MM32G0001, MindMotion Launches the Next-Level, High-Value MCU – MM32F0120

MindMotion Microelectronics is excited to announce the official launch of its next-level MCU, the MM32F0120. In 2023, MindMotion‘s entry-level MCU, MM32G0001, made a huge impact with its cost-performance ratio, comparable to or even surpassing 8/16-bit MCUs, earning high praise in the market.

2024-09-14 -  产品 代理服务 技术支持 采购服务
展开更多

电子商城

查看更多

品牌:MindMotion

品类:电机专用MCU

价格:¥2.5706

现货: 25

品牌:MindMotion

品类:32位MCU

价格:¥1.6125

现货: 3,072

品牌:MindMotion

品类:电机专用SOC

价格:¥8.2805

现货: 280

品牌:MindMotion

品类:电机专用MCU

价格:¥4.9500

现货: 250

品牌:MindMotion

品类:电机专用MCU

价格:¥4.2617

现货: 250

品牌:MindMotion

品类:电机专用MCU

价格:¥3.7500

现货: 250

品牌:MindMotion

品类:32位MCU

价格:¥7.7125

现货: 250

品牌:MindMotion

品类:电机专用MCU

价格:¥10.6250

现货: 160

品牌:MindMotion

品类:高性能MCU

价格:¥14.6125

现货: 90

品牌:MindMotion

品类:32位MCU

价格:¥3.3750

现货: 20

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:MindMotion

品类:32位MCU

价格:¥5.9400

现货:19,996

品牌:MindMotion

品类:32位MCU

价格:¥2.3800

现货:6,427

品牌:RENESAS

品类:16-BIT MCU

价格:¥3.9530

现货:910,635

品牌:RENESAS

品类:MCU

价格:¥5.1500

现货:200,000

品牌:恒烁

品类:MCU

价格:¥1.0800

现货:154,600

品牌:ADI

品类: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

品牌:Microchip

品类: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 提交需求>

IC烧录代工及IC自动化烧录

拥有IC烧录机20余款,100余台设备,可以烧录各种封装的IC;可烧录MCU、FLASH、EMMC、NAND FLASH、EPROM等各类型芯片,支持WIFI/BT模组PCBA烧录、测试。

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

查看更多

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

查看更多

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

查看更多

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

查看更多

授权代理品牌:电子材料

查看更多

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

查看更多

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

查看更多

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

查看更多

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

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

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

收藏
收藏当前页面