应读者要求,嵌入式ARM将继续介绍能够替代STM32的国产产品。 今日带来能够完美替代STM32的产品是灵动微的MM32 MCU。
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开发水平提升至世界水准。
多说无益,直接看几个21ic家网友的测评:
【MM32 eMiniBoard测评报告】+ 裸机多任务工程 用户:BinWin
首先感谢厂家和社区提供这样一个直接体验产品的平台和机会。希望如此大力的推广可以收到较好的效果,加深工程师对灵动的印象,未来更多的产品内蕴藏着灵动微电的中国芯。
下面要看收到的物件了,整个板卡沉稳黑色,且期间布局比较美观整齐,接口靠近板边,看得出设计者考虑的还是比较细致的。
另外板载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 {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(); }} 板载按键K3按下后进入停机模式,这里没有做IO的配置和ADC的关闭操作。吐槽一下,这块板卡个人认为特色就是USB和低功耗。然而电路上没有可以方便测量工作电流的接口,或者有个电阻磁珠啥的可以挑开测测也行,但是看了原理图,没有。简单测了下整块的工作电流如图,这包括了调试器电路和板载其他期间的使用。
上电任务开始运行后,进入停机模式之前,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产品。
免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!