盘点STM32的国产替代者(4)
扫描二维码
随时随地手机看文章
MM32是一个全球化的MCU产品,灵动微在上海设立芯片设计及运营中心,借助上海晶圆代工、封装测试完整产业链,确保灵动MCU从研发到生产一条龙进程;在南京设立软件及方案中心,一个50人规模的团队充分保障MCU方案的研发;深圳则建立销售及技术支持中心,可第一时间给予客户服务支持;此外还有香港建有海外运营及客服务中心,在台湾新竹的前不久刚成立东亚营销及方案中心。这使得MM32在中国形成多据点、本地化布局,以及时、快速的响应服务广大客户。
最新发布的MM32 MCU产品家族的五大产品系列,包括MM32 F系列通用高性能微控制器产品、MM32 L系列低功耗宽电压微控制器产品、MM32 W系列无线微控制器产品、MM32 P系列超小封装微控制器产品以及MM32 S系列安全加密微控制器产品。
根据21ic坛友火星国务卿的总结,MM32拥有以下亮点:
亮点一:MM32F的强悍之处
MM32F1主频高达168MHz,Flash/SRAM高达512KB/128KB,并有丰富的接口,据悉将在第四季度供货。
另一款MM32F0,标准主频全面升级到72MHz,保留超频潜力,相比通常只有48MHz主频的MCU提升不少。另外新增MM32F031C8T6系列对客户已经有百K级的交付。娄方超表示,针对近期MCU市场供不应求甚至炒货的情况,灵动微电子承诺只要有货绝不存货,准时发货,同时价格保持不变。
亮点二:L系列低功耗宽电压
灵动低功耗宽电压MCU系列具有全球主流低功耗MCU水准,超宽的工作电压, 同时MindSafe强大的安全功能,坚固的代码保护和数据流加密等。
亮点三:无线MCU
支持无线连接方式BLE,支持OTA(空中升级),sub 1GHz(将于2018年Q1支持)。
MM32无线系列的W0/W3产品,与F/L系列全部管脚兼容,并首次提出无线MCU原位替换通用MCU,同时还提倡让无线变成标准接口理念。
亮点四:P系列超小封装
亮点五:MindSafe技术
除此之外,灵动MM32已经建立了丰富成熟的生态系统,用娄总的话说,七年时间做MCU,其中五年优化生态,可见完善的生态系统对MCU产品的重要性。这个生态系统包括了应用文档、库函数与样例,开发评估板、解决方案、仿真工具以及在线支持等等。
灵动首席科学家刘强表示,基于灵动MM32开发平台,传统的库函数、例程、外设得以自然融合,给开发者以极大的便利,十倍百倍的提升开发效率,有效降低开发风险,并且使得开发成果易于复用、重用和维护。灵动还将推出在全球业界领先的SMART敏捷开发平台,将本土MCU开发水平提升至世界水准。
首先感谢厂家和社区提供这样一个直接体验产品的平台和机会。希望如此大力的推广可以收到较好的效果,加深工程师对灵动的印象,未来更多的产品内蕴藏着灵动微电的中国芯。
下面要看收到的物件了,整个板卡沉稳黑色,且期间布局比较美观整齐,接口靠近板边,看得出设计者考虑的还是比较细致的。
另外板载MM-LINK调试器,含虚拟串口,对调试来说很是方便,一根USB线就解决了烧录和串口打印。
加上厂商有编程的上位机软件,配套调试器堪称全家桶。EEPROM存储器,CAN控制器, FLASH存储器也都板载,可以进行SPI和I2C协议的调试,三个电位器接在ADC端口上。这些组成让板卡可以开箱即用,实现项目的初期调试。
说了这么多,看下实物照片。
同样给了黑色的背景
展示完了硬件,来烧录个程序看看吧。利用定时器设计时间片任务轮询,添加按键检测,LED提示,蜂鸣器响应,停机模式触发,串口打印信息几个任务,通过这些代码的调试体验改MCU的开发难度和外设易用性,也可评估低功耗特性和稳定性。下面看主要代码。
#include "main.h"#define TASKS_MAX 4typedef struct _TASK_COMPONENTS{uint16_t Run; uint16_t Timer; uint16_t ItvTime; void (*TaskHook)(void); } TASK_COMPONENTS; static void System_Task(void);static void Uart_Process(void);static void Key_Scan(void);static void AdcTemp_Samp(void);static TASK_COMPONENTS TaskComps[] ={ {0, 10, 10, Key_Scan}, {0, 200, 200, Uart_Process}, {0, 500, 500, AdcTemp_Samp}, {0, 1000, 1000, System_Task},};void TaskRemarks(void){uint16_t i;for (i=0; i{if (TaskComps[i].Timer) { TaskComps[i].Timer--; if (TaskComps[i].Timer == 0) { TaskComps[i].Timer = TaskComps[i].ItvTime; TaskComps[i].Run = 1; } } }}void TaskProcess(void){uint8_t i;for (i=0; i 板载按键K3按下后进入停机模式,这里没有做IO的配置和ADC的关闭操作。吐槽一下,这块板卡个人认为特色就是USB和低功耗。然而电路上没有可以方便测量工作电流的接口,或者有个电阻磁珠啥的可以挑开测测也行,但是看了原理图,没有。简单测了下整块的工作电流如图,这包括了调试器电路和板载其他期间的使用。{if (TaskComps[i].Run) { TaskComps[i].TaskHook(); TaskComps[i].Run = 0; } } }static void System_Task(void){ bsp_LedToggle(1);}static void Uart_Process(void){//printf("hello mm32\r\n"); bsp_LedToggle(2);}static void Key_Scan(void){uint8_t ucKeyCode; bsp_KeyScan(); ucKeyCode = bsp_GetKey();if(ucKeyCode != KEY_NONE) {switch (ucKeyCode) {//stop mode ,turn off adc ,set gpio aincase KEY_DOWN_K1:printf("\ninto stop mode\r\n");for(uint8_t i = 1; i < 5; i++){ bsp_LedOff(i); } HSI_SYSCLK(); Sys_Stop();break; default: bsp_LedOff(4); break; } }}static void AdcTemp_Samp(void){uint16_t adcVal;float Temp; adcVal = ADC1_SingleChannel_Get(ADC_Channel_10); Temp = 27.0 + (adcVal - 1800) / 5.96;printf("\ncpu temp is %.2fC\r\n",Temp);}int main(void) { Hal_Init();printf("\ninto normal mode\r\n");for(;;){ TaskProcess(); }}
上电任务开始运行后,进入停机模式之前,LED1以0.5hz闪烁,LED2以1hz闪烁,ADC任务采集核心温度,串口打印如下图,内心凉凉。 工程结构如下所示 整个工程的建立和调试相对于其他厂商来说还是很便利的,而且库函数的很多寄存器与常用的MCU比较近似,所以寻求替换的朋友们可以尝试了。应该说成本敏感和地方,确切外设应用的地方,使用MM32是比较有优势的。从demo板的设计与资源来看,厂家的支持应该也不错的。整体体验暂如此,接下来的小项目中继续挖掘详细的内容。 【MM33 eMiniBoard测评报告】+我的评测总结 用户: hu9jj
有幸获得了MM32 eMiniBoard的评测机会,自从上月20日收到这块小巧精致的评测板之后,我立即开始了评测过程,在短短的半个月时间里,我测试过厂家提供的ADC、I2C、UART、INT、TIM、PWM等例程。对于ADC转换还同时对比测试了固件库和寄存器两个版本,测试了开通DAM进行二阶滤波ADC转换以及多通道ADC转换。同时还用轮询法和中断法两种方式测试板载的四个按键,尽管K1按键没有测试成功,但其它按键的测试效果良好。还测试了定时器及PWM输出等例程。
除了测试板上集成的外设,我还测试了I2C驱动DS1307日历模块,成功地对日历芯片进行读写操作。测试了仿SPI驱动LCD_5110显示屏,测试了通过一线串口通讯驱动JQ8400语音模块等。
通过一系列的测试,MM32 eMiniBoard均能很好地与外设进行数据通讯,体现了良好的适应性能。
这次是我首次接触灵动公司的MCU产品,通过测试活动对MM32有了一定的了解,在测试过程中没有发现与主流同类产品有什么明显的差距,证明在普通应用中,国产的MCU同样也很出色。在厂家提供的资料中,最值得称赞的是同时提供了固件库和定时器两种版本,给象我一样准备学习寄存器编程的初学者带来了很大的便利,我经过ADC例程简单的对比,在相同功能情况下,寄存器版本比固件库版本的的代码要少很多,运行效率也更高。
然而在测试过程中也发现厂家提供的例程资料的不足部分,例如代码中LED的编号与电路图和板上丝印正好相反的问题、按键例程的引脚定义与实际不符的问题、TIM1例程中定时时间过长影响测试效果的问题等,这些现象表明厂家在提供资料时还需要严格把关,所有的例程都应该在指定板子上运行测试通过后再提供给大家,这样会给大家更好的感受。
尽管这次测试还不算完整全面,但从测试的结果来说,MM32表现还是很不错的,个人认为完全可以作为产品开发的选择之一。国产MCU的发展任重道远,也需要得到大家的支持,同时也希望灵动公司能进一步完善资料,为大家提供物美价廉的MCU产品。
具体测评来说:
翘首盼望了多天,一直没有快递的信息,今天上午忍不住,发邮件询问了快递号,下午就收到了。下面就是评测板的全貌——黝黑端庄:
这是评测板的背面——干净整洁:
板上有一个下载/调试接口和一个USB接口,另外还有一个三线串口(含GND)和CAN通讯接口,我迫不急待地连接好下载调试接口,随着一声短促的“嘀”声,评测板上四个不同颜色的LED便按照不同的频率闪烁起来了——绚丽多彩:
收到评测板并上电测试后,第二件必不可少的事情就是建立开发平台和自己的测试程序。相关的资料早已下载好了,只等评测板到了就可动手,万事俱备,只等东风。
一、开发平台的建立
我用的是Keil 5.28,先运行MindMotin.MM32L0xx_DFP.1.0.9.pack升级包,将MM32L0xx系统的相关参数添加到Keil中,此时Keil中就可以识别到mm32L0xx系列的MCU了。
再运行mm32_devkit.setup.exe程序,将mm32-LINK添加进去,此时keil中就可以选择到mm32-LINK,就可以下载烧录代码了。
我用的是WIN10系统,所以只需要做这两步就OK,据介绍:如果还不能正常烧录代码,则再运行mm32_usb_setup.exe程序。
需要注意的是,上述程序需要以管理员身份运行,否则有可以安装不成功。
二、测试程序的建立
厂家的资源中包含了固件库版和寄存器版两套各种外设的例程,完全可以直接拿来测试。我就是将其中的一个例程拷贝到自己的工程目录中,修改成自己的测试工程项目。
项目移动后,Keil中的包含路径及一些文件的路径需要修改,为了让项目资源自成体系,便于复制到其他电脑上使用,我将Device文件夹也拷贝到项目文件中。包含路径的修改相对容易,直接在KEIL中操作就行,如下图:
库文件路径的修改则比较麻烦,一个方法就是删除后重新添加,这样做就是容易漏添加文件,我是采取逐个修改文件的路径方法,在项目文件列表框中右键点击有惊叹号的文件名:
在弹出菜单中选择第一行:
在修改窗口中修改路径:
这是修改后的路径:
修改之后项目文件列表框文件名前的惊叹号便消失了。所有惊叹号消失之后,路径修改就完成了。
然后是编写测试的代码,与大部分测试者一样,首先是点亮LED,我选择的是流水灯,主程序的代码如下:
#include "delay.h"#include "sys.h"#include "uart.h"#include "adc.h"#include "led.h" uint8_t ledn; /**********************************************************************************************************函数信息 :main(void)**功能描述 :**输入参数 :**输出参数 :** 备注 :********************************************************************************************************/int main(void){ delay_init(); LED_Init(); while(1) { switch(ledn){ case 0: LED1_ON(); LED2_OFF(); LED3_OFF(); LED4_OFF(); break; case 1: LED1_OFF(); LED2_ON(); LED3_OFF(); LED4_OFF(); break; case 2: LED1_OFF(); LED2_OFF(); LED3_ON(); LED4_OFF(); break; case 3: LED1_OFF(); LED2_OFF(); LED3_OFF(); LED4_ON(); } ledn++; if(ledn > 3) ledn = 0; delay_ms(100); }} 编译代码通过,0错误,0警告:
下载烧录完成:
最后是测试效果,LED灯不停地依次闪亮。
更多过程可见: https://bbs.21ic.com/icview-2968410-1-1.html?_dsign=50d64354
灵动微MM32 eMiniBoard的性能介绍 用户:火星国务卿
上海灵动微电子是国内专注于MCU产品及应用方案的供应商,致力于提供高性能、高质量的32位MCU产品元件。灵动迄今为止已完成数百余项产品设计,满足客户及市场多领域、多层次的丰富应用场景需求。灵动微一级代理介绍MM32 eMiniBoard相关资料。
MM32 eMiniBoard(MCU型号:MM32L073PF),MM32 eMiniBoard开发板照片及简介。
MM32 eMiniBoard 简介:MM32L073PF (Cortex-M0 MCU:128k FLASH、8k SRAM);板载SPI Flash芯片;板载IIC EEPROM芯片;板载CAN转换芯片;板载无源蜂鸣器;具备3个VR;具备4个LED;具备4个KEY;外设IO全部引出,方便快速搭载模块测试。
双USB接口,USB-1支持USB仿真、下载和调试,USB-2支持USB device和供电;板载MM32-LINK OB,可对主控MCU进行在线仿真、调试和下载;支持 Keil uvision/ IAR EWARM开发环境。
MM32L073F产品使用高性能的 ARM® Cortex®-M0 为内核的 32 位MCU,工作频率最高可达48MHz,并内置高速存储器,丰富的增强型 I/O 端口和外设连接到外部总线。产品系列工作电压为 2.0V ∼ 5.5V,工作温度范围包含-40◦C ∼ +85◦C 常规型和-40◦C∼ +105◦C 扩展型。多种省电工作模式保证低功耗应用的要求。适合于应用在电机驱动和应用控制、工业等。
灵动微新品MM32F0010替代8位MCU最佳方案
用户:王小琪
MM32F0010概述
灵动微电子新产品MM32F0010使用内核M0的高性能32位微控制器,工作频率最高可达48MHz,内置高速存储器,丰富的增强型I/O端口和外设连接到外部总线。MM32F0010系列工作电压为2.0V∼5.5V,工作温度范围(环境温度)-40◦C∼85◦C常规型和-40◦C∼105◦C扩展型(V)。多种省电工作模式保证低功耗应用的要求。并提供QFN20和TSSOP20共2种封装形式。灵动微总代理英尚微电子可提供开发板、例程及必要的FAE支持等产品服务。
根据不同的封装形式,器件中的外设配置不尽相同。这些丰富的外设配置,使得本产品微控制器适合于电机驱动和应用控制、医疗和手持设备、PC游戏外设和GPS平台、工业应用、警报系统、视频对讲、和暖气通风空调系统等多种应用场合。
QFN20引脚分布 TSSOP20引脚分布
ARMⲺCortex-M0核心并内嵌闪存和SRAM
ARM®的Cortex®-M0处理器是最新一代的嵌入式ARM处理器,它为实现MCU的需要提供了低成本的平台、缩减的引脚数目、降低的系统功耗,同时提供卓越的计算性能和先进的中断系统响应。
ARM®的Cortex®-M0是32位的RISC处理器,提供额外的代码效率,在通常8和16位系统的存储空间上发挥了ARM内核的高性能。MM32F0010拥有内置的ARM核心,因此它与所有的ARM工具和软件兼容。
内置闪存存储器
最大16K字节的内置闪存存储器,用于存放程序和数据。
内置SRAM
最大2K字节的内置SRAM
低功耗模式
产品支持低功耗模式,可以在要求低功耗、短启动时间和多种唤醒事件之间达到最佳的平衡。
睡眠模式
在睡眠模式,只有CPU停止,所有外设处于工作状态并可在发生中断/事件时唤醒CPU。
停机模式
在保持SRAM和寄存器内容不丢失的情况下,停机模式可以达到最低的电能消耗。在停机模式下,HSI的振荡器和HSE晶体振荡器被关闭。可以通过任一配置成EXTI的信号把微控制器从停机模式中唤醒,EXTI信号可以是16个外部I/O口之一、PVD的输出的唤醒信号。
待机模式
待机模式可实现系统的最低功耗。该模式是在CPU深睡眠模式时关闭电压调节器。内部所有的1.5V部分的供电区域被断开。HSI和HSE振荡器也都关闭,可以通过WKUP引脚的上升沿、NRST引脚的外部复位、IWDG复位唤醒或者看门狗定时器唤醒并复位。SRAM和寄存器的内容将被丢失。
总结
通用MCU看似简单,其实是一个很复杂的产品体系。MCU的特点不仅是简单的替代,更关键的是产品品质、供货保证、支持服务,需要广大的合作伙伴们一起配合支持。
从灵动微产品来看,包括了5个系列覆盖各种需求场景,而整个生态图来看,灵动微的各类支持也非常丰富。不过通病还是文档方面,不过相信在国产化进程中,灵动微会越做越好。
附:灵动微生态图
免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!