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

2024-01-07 灵动MM32MCU公众号
MCU,MM32F0160,MindMotion MCU,MM32F0160,MindMotion MCU,MM32F0160,MindMotion MCU,MM32F0160,MindMotion

1、FlexCAN-FD简介

MM32F0160 系列MCU具有一个 FlexCAN 模块,该模块遵循 ISO 11898-1 标准、 CAN FD 和 CAN 2.0B 协议规范,不仅兼容传统CAN,还支持CAN FD模式。在CAN-FD模式下,可实现最高8 Mbps的FD模式通信速率,支持标准帧(11位标识符)和扩展帧(29位标识符),支持最大64字节有效负载,并且具有非常灵活的用于传输和接收的邮箱系统。


使用CAN FD较传统CAN具有如下优点:

(1)增加了数据长度,在发送长数据时,软件更加简单高效,满足更高的数据吞吐量。

(2)提高了传输速率,使得延迟时间更短,具有更好的实时性,满足更高的带宽。

(3)扩展了CRC场,为数据内容提供了更好的保护,增加了系统安全性。

本章节初步学习使用MM32F0160 FlexCAN-FD接口实现CAN FD通信,相关例程参考灵动官网的LibSamples或在此基础上修改。关于CAN FD协议不再进行详细介绍,感兴趣的小伙伴可以查阅相关资料增进了解。


2、CAN FD帧

ISO 11898-1标准指定了符合ISO 11898-1(2003)标准的经典帧格式,并引入了CAN FD(Flexible Data Rate)帧格式。经典帧格式支持高达1Mbps的比特率,以及每帧8字节的有效负载。FD帧格式支持超过1Mbps的比特率,以及每帧超过8字节的有效负载。FlexCAN可以收发CAN FD和经典CAN格式交替的报文。


CAN FD 帧中有三个附加的控制位:

●EDL:扩展数据长度位,支持更多的数据负载。

●BRS比特率切换位:决定CAN FD帧是否切换比特率。

●ESI错误状态指示:错误主动节点发送显性,错误被动节点发送隐性。

CAN FD格式不支持远程帧,远程帧总是以经典CAN格式传输。接收到FD帧并匹配邮箱时,接收报文缓冲区的RTR位将被无效化。


CAN FD报文数据字段可超过8字节,支持12至64字节。CAN FD报文可切换比特率,使CAN帧的控制字段、数据字段和CRC字段比特率高于帧的开始和结束。


CAN FD帧结构(部分)如下图所示:

CAN FD帧从SOF(帧起始)到BRS的仲裁段,以标称比特率传输;从BRS到CRC界定符的数据段,以数据比特率传输;从CRC界定符到Intermission位,传输恢复为标称比特率。如果CAN FD帧中BRS为隐性,则位时序在BRS的采样点发生变化。BRS位之前,CAN FD仲裁段的标称位时序由CAN_CBT或CAN_CTRL1寄存器定义;检测到隐性BRS时,数据位时序由CAN_FDCBT 寄存器定义。


3、协议时序

FlexCAN具有单独配置CAN FD协议时序的寄存器,CAN FD位时序寄存器(CAN_FDCBT)存储用于控制位时序参数的字段:FPRESDIV、FPROPSEG、FPSEG1、FPSEG2和FRJW。


CAN FD报文数据段的FDPRESDIV定义了串行时钟(Sclock)的预分频,见下列方程。串行时钟的周期定义了用于构成CAN FD波形的时间单位Tq,Tq为CAN引擎所能处理的最小时间单元。

比特率定义了接收或传输 CAN FD报文的速率,公式如下:

位时间可以细分为三个部分:

●同步段(SYNC_SEG):1Tq的固定长度;信号边沿出现在该段内。

●时间段1:包括传播段和相位段1。FlexCAN 使用 CAN_FDCBT寄存器的FDPROPSEG和FDPSEG1字段,其总和(+1)为2 ~ 39Tq。

●时间段 2:包括相位段2。其值(+1)为2 ~ 8Tq。时间段2不能小于信息处理时间2Tq。


当采用CAN FD位作为持续时间的衡量标准时,一个CAN FD位的外设时钟个数NumClkBit为:


fCANFDCLK为PE时钟,单位Hz。

fSYS为系统(CHI)时钟频率,单位Hz。


4、报文缓冲区

MM32F0160 FlexCAN遵循CAN FD协议规范,该模块已经设计了对应的CAN FD报文缓冲区结构。经典 CAN 帧使用传统型 Rx FIFO,CAN FD帧使用增强型Rx FIFO。下图为FlexCAN所使用的报文缓冲区结构,包括CAN 2.0B的两种帧格式:扩展帧(29位ID)和标准帧(11位ID)。每个报文缓冲区由16、24、40或72字节组成,其中包括8、16、32或64字节的数据。邮箱使用 0x80 ~ 0x27F 的内存区域。

EDL — 扩展数据长度,EDL位区分CAN帧和CAN FD 帧。


BRS — 比特率切换,定义是否在 CAN FD 帧内切换比特率。


ESI — 错误状态指示,表示发送节点是错误主动还是错误被动。


CODE — 报文缓冲区代码,CODE 字段可以被 CPU 和 FlexCAN 读写,用作报文缓冲区匹配和仲裁过程的一部分。编码详见用户手册。


SRR — 替代远程请求,

●1:扩展帧格式传输时,必须使用隐性位。

●0:扩展帧格式传输时,显性位无效。

只用于扩展帧格式。传输时(发送缓冲区)该位必须设置为 1,且将会和从 CAN 总线上接收到的值一起存储于接收缓冲区。该位可以被接收为隐性或显性,如果 FlexCAN 以显性位接收,则认为仲裁丢失。


IDE — ID扩展位,

●1:扩展帧;

●0:标准帧。


RTR — 远程传输请求

●1:如果是发送MB,则表示当前MB可能有一个远程帧待发送;如果是接收MB,则接收到的远程帧将会被存储;

●0:表示当前的M 中有一个数据帧待传输。在接收MB中,可能会被用于匹配过程。

如果FlexCAN传输1(隐性),接收到0(显性),则认为仲裁丢失。如果 RTR传输0(显性),接收到1(隐性),则认为是位错误。如果接收到的值与发送值相同,则被认为是一次成功的位传输。

注:配置CAN FD帧时RTR位必须为0。


DLC — 数据字节长度

该4位字段为发送/接收数据的长度(以字节为单位),位于偏移地址为0x8到0xF的MB空间。

接收阶段,该字段由FlexCAN写入,从接收帧的DLC字段复制而得;

传输阶段,该字段由CPU写入,且与要传输的帧的DLC字段相对应。

当RTR = 1 时,被传输的帧为远程帧,不包含数据字段(DLC 字段的设置无效,参见表格“有效数据字节”)。


TIME STAMP — 自由运行计时器时间戳

该16位字段为自由运行计时器的复制,当标识符字段开头出现在CAN总线上时进行捕获。


PRIO — 本地优先级

该 3 位字段只有当MCR.LPRIO_EN被置位时才有效,且只针对传输邮箱。用于附加到 ID 来定义传输优先级,不会被传输。


ID — 帧标识符

标准帧格式,只有高 11 位(28 ~ 18)用于识别接收或发送帧,忽略低 18 位。扩展帧格式,所有位都用于识别传输或接收帧。


DATA BYTE0 ~ 63 — 数据字段

数据帧最多可以使用64个字节,取决于为MB选择的有效负载大小。从总线上接收到的帧以该帧被接收时的格式进行存放。只有n小于DLC时,DATA BYTE(n)才有效。

5、MB 内存映射

FlexCAN内存缓冲区的内存映射如下表所示:

6、FlexCAN-FD API

从灵动官网下载的FLEXCAN固件库中定义了FD相关的API函数如下:

7、FlexCAN-FD通信

配置FlexCAN为CAN FD模式,通过中断接收和发送报文。


7.1  FlexCAN配置

void FlexCAN_Configure(void)
{
    GPIO_InitTypeDef        GPIO_InitStruct;
    NVIC_InitTypeDef        NVIC_InitStruct;

    flexcan_config_t        FlexCAN_ConfigStruct;
    flexcan_rx_mb_config_t  FlexCAN_RxMB_ConfigStruct;

    RCC_ClocksTypeDef RCC_Clocks;

    RCC_GetClocksFreq(&RCC_Clocks);

    RCC_AHBPeriphClockCmd(RCC_AHBENR_GPIOB, ENABLE);

    RCC_APB1PeriphClockCmd(RCC_APB1ENR_FLEXCAN, ENABLE);

    GPIO_PinAFConfig(GPIOB, GPIO_PinSource8, GPIO_AF_3);
    GPIO_PinAFConfig(GPIOB, GPIO_PinSource9, GPIO_AF_3);

    GPIO_StructInit(&GPIO_InitStruct);
    GPIO_InitStruct.GPIO_Pin   = GPIO_Pin_8;
    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStruct.GPIO_Mode  = GPIO_Mode_FLOATING;
    GPIO_Init(GPIOB, &GPIO_InitStruct);

    GPIO_StructInit(&GPIO_InitStruct);
    GPIO_InitStruct.GPIO_Pin   = GPIO_Pin_9;
    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStruct.GPIO_Mode  = GPIO_Mode_AF_PP;
    GPIO_Init(GPIOB, &GPIO_InitStruct);

    NVIC_InitStruct.NVIC_IRQChannel = FLEX_CAN_IRQn;
    NVIC_InitStruct.NVIC_IRQChannelPriority = 0;
    NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStruct);

    FLEXCAN_GetDefaultConfig(&FlexCAN_ConfigStruct);

    FlexCAN_ConfigStruct.baudRate             = 1000000U; /* 1Mbps */
    FlexCAN_ConfigStruct.baudRateFD           = 2000000U; /* 2Mbps */
    FlexCAN_ConfigStruct.clkSrc               = Enum_Flexcan_ClkSrc1;
    FlexCAN_ConfigStruct.enableLoopBack       = false;
    FlexCAN_ConfigStruct.disableSelfReception = true;
    FlexCAN_ConfigStruct.enableIndividMask    = true;
    FLEXCAN_Init(FLEX_CAN1, &FlexCAN_ConfigStruct);

    FLEXCAN_EnterFreezeMode(FLEX_CAN1);

    FLEX_CAN1->MCR   |= 1 << 13;
    FLEX_CAN1->CTRL1 &= (~CAN_CTRL1_SMP(1));

    FLEXCAN_ExitFreezeMode(FLEX_CAN1);

    /* Baudrate calculate by automatically */
    FLEXCAN_FDCalculateImprovedTimingValues(FlexCAN_ConfigStruct.baudRate, FlexCAN_ConfigStruct.baudRateFD,
                                            RCC_Clocks.PCLK1_Frequency, &FlexCAN_ConfigStruct.timingConfig);

    FLEXCAN_FDInit(FLEX_CAN1, &FlexCAN_ConfigStruct, FLEXCAN_64BperMB, true);

    FLEXCAN_SetFDTxMbConfig(FLEX_CAN1, 1, true);
    FLEXCAN_SetFDTxMbConfig(FLEX_CAN1, 3, true);

    FlexCAN_RxMB_ConfigStruct.id     = FLEXCAN_ID_STD(0x111);
    FlexCAN_RxMB_ConfigStruct.format = Enum_Flexcan_FrameFormatStandard;
    FlexCAN_RxMB_ConfigStruct.type   = Enum_Flexcan_FrameTypeData;
    FLEXCAN_SetFDRxMbConfig(FLEX_CAN1, 0, &FlexCAN_RxMB_ConfigStruct, true);

    FLEXCAN_SetRxIndividualMask(FLEX_CAN1, 0, FLEXCAN_RX_MB_STD_MASK(0xFFF, 0, 0));

    /* Enable MB0 Interrupt */
    FLEX_CAN1->IMASK1 |= (0x01U << 0);

    FlexCAN_RxMB_ConfigStruct.id     = FLEXCAN_ID_EXT(0x222);
    FlexCAN_RxMB_ConfigStruct.format = Enum_Flexcan_FrameFormatExtend;
    FlexCAN_RxMB_ConfigStruct.type   = Enum_Flexcan_FrameTypeData;
    FLEXCAN_SetFDRxMbConfig(FLEX_CAN1, 2, &FlexCAN_RxMB_ConfigStruct, true);

    FLEXCAN_SetRxIndividualMask(FLEX_CAN1, 2, FLEXCAN_RX_MB_EXT_MASK(0xFFF, 0, 1));

    /* Enable MB2 Interrupt */
    FLEX_CAN1->IMASK1 |= (0x01U << 2);
}


配置PB8、PB9复用为FlexCAN的RX、TX引脚;

配置CAN 1Mbps和CAN FD 2Mbps、MB选择64字节负载;

配置NVIC中断;

配置MB1、MB3为发送邮箱;

配置MB0、MB2为接收邮箱;

MB0仅接收ID为0x111的标准帧;

MB2仅接收ID为0x222的扩展帧。


7.2  发送标准帧报文

void FlexCAN_FD_SendStandardFrameMessage(uint32_t ID, uint8_t *Buffer, uint8_t Length)
{
    flexcan_fd_frame_t FlexCAN_FD_FrameStruct;

    FlexCAN_FD_FrameStruct.length = Length;
    FlexCAN_FD_FrameStruct.type   = (uint8_t)Enum_Flexcan_FrameTypeData;
    FlexCAN_FD_FrameStruct.format = (uint8_t)Enum_Flexcan_FrameFormatStandard;
    FlexCAN_FD_FrameStruct.brs    = 1;
    FlexCAN_FD_FrameStruct.edl    = 1;
    FlexCAN_FD_FrameStruct.id     = ID;

    for (uint8_t i = 0; i < 16; i++)
    {
        FlexCAN_FD_FrameStruct.dataWord[i] = Buffer[i * 4] << 24 | Buffer[i * 4 + 1] << 16 | Buffer[i * 4 + 2] << 8 | Buffer[i * 4 + 3];
    }

    FLEXCAN_WriteFDTxMb(FLEX_CAN1, 1, &FlexCAN_FD_FrameStruct);
}


flexcan_fd_frame_t是按照FlexCAN MB结构定义的结构体,将要发送的标准帧按照帧结构依次设置结构体的各字段,接着写入MB1发送邮箱。


7.3  发送扩展帧报文

void FlexCAN_FD_SendExtendFrameMessage(uint32_t ID, uint8_t *Buffer, uint8_t Length)
{
    flexcan_fd_frame_t FlexCAN_FD_FrameStruct;

    FlexCAN_FD_FrameStruct.length = Length;
    FlexCAN_FD_FrameStruct.type   = (uint8_t)Enum_Flexcan_FrameTypeData;
    FlexCAN_FD_FrameStruct.format = (uint8_t)Enum_Flexcan_FrameFormatExtend;
    FlexCAN_FD_FrameStruct.brs    = 1;
    FlexCAN_FD_FrameStruct.edl    = 1;
    FlexCAN_FD_FrameStruct.id     = ID;

    for (uint8_t i = 0; i < 16; i++)
    {
        FlexCAN_FD_FrameStruct.dataWord[i] = Buffer[i * 4] << 24 | Buffer[i * 4 + 1] << 16 | Buffer[i * 4 + 2] << 8 | Buffer[i * 4 + 3];
    }

    FLEXCAN_WriteFDTxMb(FLEX_CAN1, 3, &FlexCAN_FD_FrameStruct);
}


同上,将要发送的扩展帧按照帧结构依次设置结构体的各字段,接着写入MB3发送邮箱。


7.4  获取报文并发送

void FlexCAN_FD_RxMB_Handler(uint8_t Index)
{
    uint8_t Buffer[64];
    flexcan_fd_frame_t FlexCAN_FD_FrameStruct;

    FLEXCAN_ReadFDRxMb(FLEX_CAN1, Index, &FlexCAN_FD_FrameStruct);

    for(uint8_t i = 0; i < 16; i++)
    {        
        Buffer[i*4+0] = (FlexCAN_FD_FrameStruct.dataWord[i] >> 0x18) & 0xFF;
        Buffer[i*4+1] = (FlexCAN_FD_FrameStruct.dataWord[i] >> 0x10) & 0xFF;
        Buffer[i*4+2] = (FlexCAN_FD_FrameStruct.dataWord[i] >> 0x08) & 0xFF;
        Buffer[i*4+3] = (FlexCAN_FD_FrameStruct.dataWord[i] >> 0x00) & 0xFF;
    }

    if (Index == 0)
    {
        FlexCAN_FD_SendStandardFrameMessage((FlexCAN_FD_FrameStruct.id >> CAN_ID_STD_SHIFT), Buffer, FlexCANFD_TX_64Bytes_DataLen);
    }
    else
    {
        FlexCAN_FD_SendExtendFrameMessage((FlexCAN_FD_FrameStruct.id >> CAN_ID_EXT_SHIFT), Buffer, FlexCANFD_TX_64Bytes_DataLen);
    }
}


读接收邮箱(Index),获取CAN FD报文中的数据,并发送该报文。


7.5  中断服务子程序

void FlexCAN_IRQHandler(void)
{
    uint32_t u32flag = 1;

    /* MB0 */
    if (FLEXCAN_GetMbStatusFlags(FLEX_CAN1, u32flag << 0) != 0)
    {
        FlexCAN_FD_RxMB_Handler(0);

        FLEXCAN_ClearMbStatusFlags(FLEX_CAN1, u32flag << 0);
    }

    /* MB1 */
    if (FLEXCAN_GetMbStatusFlags(FLEX_CAN1, u32flag << 1) != 0)
    {
        FLEXCAN_ClearMbStatusFlags(FLEX_CAN1, u32flag << 1);
    }

    /* MB2 */
    if (FLEXCAN_GetMbStatusFlags(FLEX_CAN1, u32flag << 2) != 0)
    {
        FlexCAN_FD_RxMB_Handler(2);

        FLEXCAN_ClearMbStatusFlags(FLEX_CAN1, u32flag << 2);
    }

    /* MB3 */
    if (FLEXCAN_GetMbStatusFlags(FLEX_CAN1, u32flag << 3) != 0)
    {
        FLEXCAN_ClearMbStatusFlags(FLEX_CAN1, u32flag << 3);
    }
}


MB0、MB2完成接收调用MB接收函数,获取报文并通过MB1、MB3发送。MB1、MB3完成传输,清除对应标志。


7.6  FlexCAN_FD中断示例

void FlexCAN_FD_Interrupt_Sample(void)
{
    uint8_t Buffer[64] =
    {
        0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,0xAA,
        0xAA,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,0x55,
        0x55,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,0xAA,
        0xAA,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,0x88,
    };

    printf("\r\nTest %s", __FUNCTION__);

    FlexCAN_Configure();

    while (1)
    {
        FlexCAN_FD_SendStandardFrameMessage(0x214, Buffer, FlexCANFD_TX_64Bytes_DataLen);

        PLATFORM_LED_Toggle(LED1);
        PLATFORM_DelayMS(1000);
    }
}


调用FlexCAN_Configure(),在while中间隔1s中发送标准帧报文,帧ID为0x214,数据为定义好的Buffer[64]。

在主函数中调用FlexCAN_FD_Interrupt_Sample()。


8、验证

连接CAN调试工具,配置波特率CAN 1Mbps、CAN FD 2Mbps,观测上位机软件:

接收区间隔1s接收到一次FD报文,ID为0x214。

在发送区发送标准帧FD报文,ID为0x111,发送扩展帧FD报文,ID为0x222,各发送5次:

每发送1次报文,接收区接收到1次该ID的报文,和程序预期一致。

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

本文由ll转载自灵动MM32MCU公众号,原文标题为:灵动微课堂 (第279讲)|MM32F0160 FlexCAN-FD 通信,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

评论

   |   

提交评论

全部评论(0

暂无评论

相关推荐

Keil分散加载文件浅析

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

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

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

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

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

基于MM32F5270 MCU初步学习移植FreeRTOS

FreeRTOS是一个RTOS类的嵌入式实时操作系统,具有源码公开、可移植、可裁减、调度策略灵活的特点,可以方便地移植到各种单片机上运行。本系列微课堂基于MM32F5270 MCU初步学习使用FreeRTOS开发。

设计经验    发布时间 : 2024-08-30

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

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

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

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

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

产品    发布时间 : 2024-09-11

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等多种封装形式。

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

选型表  -  MindMotion 立即选型

喜讯|灵动再获工信部第三批重点专精特新“小巨人”荣誉称号

为了深入贯彻习总书记关于“培育一批“专精特新”中小企业”的重要指示精神,上海灵动微电子股份有限公司积极配合工业和信息化部开展的第三批专精特新“小巨人”企业复核工作,并顺利通过了相关审核。

厂牌及品类    发布时间 : 2024-09-06

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

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

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

累计交付超4亿颗!世强硬创获低功耗32位MCU厂商灵动股份授权

MindMotion(灵动股份)MM32WB0510系列配套软件支持各种蓝牙Profile,提供小尺寸协议栈,最小仅占用12KB Flash和2KB RAM。

签约新闻    发布时间 : 2023-07-24

【经验】灵动MindSDK搭建Keil MDK开发环境指南

本文介绍基于Windows操作系统构建嵌入式系统开发环境过程中需要使用的主要软件Keil MDK,并对一些需要特别关注的要点重点说明。Keil MDK是灵动官方的软件开发平台MindSDK支持的主要编译工具之一。

设计经验    发布时间 : 2023-07-02

基于MM32F5270 MCU的Ethernet实现LwIP协议栈移植

LwIP是轻量化的TCP/IP协议,由瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。本文基于搭载了MM32F5277E9P MCU的开发板 PLUS-F5270 V2.0进行实现LwIP协议栈移植。

设计经验    发布时间 : 2024-08-30

The High-performance MCU MM32F52 Series featuring the Arm China “STAR-MC1” Processor Is Available for Order

The MM32F52 series is MindMotion announced the first family of high-performance MCUs featuring the Arm China “STAR-MC1” processor, which is based on the Arm-v8 architecture and offers approximately 20% higher performance per unit compared to Cortex-M3 and Cortex-M4.

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

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 中文 下载

邀请函|灵动邀您共赴第七届(苏州)电动工具控制与充电技术研讨会之约!

MindMotion灵动邀您2024.8.23参加在苏州尼盛万丽酒店(2楼尼盛宴会厅)举办的第七届(苏州)电动工具控制与充电技术研讨会。灵动微电子的MCU产品以MM32为标识,基于Arm Cortex-M系列内核,自主研发软硬件和生态系统。目前已量产近300款型号,在本土通用32位MCU公司中位居前列。

厂牌及品类    发布时间 : 2024-08-22

展开更多

电子商城

查看更多

只看有货

品牌:MindMotion

品类:32位MCU

价格:

现货: 0

品牌:MindMotion

品类:电机专用SOC

价格:¥8.2805

现货: 335

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

品牌:恒烁

品类:MCU

价格:¥1.0800

现货:154,600

品牌:RENESAS

品类:MCU

价格:¥15.6605

现货:140,156

品牌:ST

品类:单片机(MCU)

价格:¥14.2871

现货:114,259

品牌:MICROCHIP

品类:MCU

价格:¥6.6000

现货:100,000

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥7.3800

现货:76,715

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥15.3000

现货:75,000

品牌:MICROCHIP

品类:MCU

价格:¥9.0000

现货:64,841

品牌:Sonix

品类:MCU

价格:¥0.8500

现货:51,104

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

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

收藏
收藏当前页面