分享

干货 | NXP IoT Module 评测(2)

 知芯世界 2020-10-28

EEWORLD

电子资讯 犀利解读 

技术干货 每日更新

 

感谢NXP提供OM40006: IoT Module Base Board,使得玩家可以进一步评测OM40007:LPC54018 IoT Module for the LPC540xx family of MCUs。

OM40007 IoT模块的初步评测参见《NXP IoT Module评测》。OM40006 名号为IoT模块基板,作用便是将OM40007 的hirose板间平行连接插件引出的200个引脚扩展到基板上来,引出到各功能器件,以供更全面的使用OM40007 模块。为了便于说明方面,以下称OM40006 和OM40007 一起为IoT系统,如需单独说明其中一个部件,会使用OMxxx作为目标。

本次评测主要来看一看IoT系统的硬件部分。按照惯例首先应该是实景开箱图,与预期的一样,实景图远不如NXP官网的效果图来的漂亮。

一块巨大的4.3寸TFT LCD显示屏首先映入眼帘。这块屏来自晶鸿电子的RK043FN02H-CT,屏幕分辨率为272x480,控制接口使用的传统I2C,背光控制采用了一颗来自Diodes的AP5724WG-7。LPC54018提供的LCD功能并没有比之前版本的LPC MCU提供更高调的功能。所以如果产品中有涉及到LCD,那么过去积累的NXP产品线设计经验可以平滑的过渡到这款新MCU上;如果没有NXP的积累经验,可以参考NXP的AN12027,这是一份很详细的说明,即便不是使用NXP的MCU,这份文档也可以当作一份很好的通用LCD原理与背景参考。

所有的接口和其他功能,都被安排在了另一面。但是奇怪的是功能按键、接口的丝印确是两面都有,诸如LED,KEY,,难道翻过来之后还能按下ISP0等按键吗?

 

背面安排了arduino标准接口,PMOD接口,语音输出,语音输入,全功能USB接口,SD卡槽,RJ45以太网接口,CMSIS-DAP调试接口,外接SWD调试接口,数字拾音器,加速度模块,还有一些其他跳线。如此将显示LCD和接口的双面布局,好像有点不太方便两者同时使用。不过如果LCD和接口都放在一面的话,这块板子的布局上会有一些难度吧,毕竟OM40006只是做为设计参考板来使用。

这块IoT系统的LPC54018 MCU处理部件和NOR FLASH两大关键部件布置在OM40007上。OM40007上搭载了一颗来自宏旺电子Macronix的128 Mb串行Nor Flash,不过宏旺电子对这颗器件标注为“新设计不建议使用”。如此布局的目的自然是方便用户可以将BASE BOARD和IoT Module分开使用,结果之一却成了OM40006不配合OM40007就无法单独使用,OM40007不配合OM40006又不能全面评估LPC54018的绝大部分功能。参考另一块LPC54018开发板OM40003,IoT系统看起来只是多了一个SPI接口的Longsys GT1216 WiFi模块。如果考虑将WiFi模块单独成模块,配合OM40003多引出一个SPI接口的话,既可以独立出MCU开发板的评估功能,又可以更多的评估大部分SPI接口的WiFi模块。NXP作为独立器件大厂是不可能预测到客户未来会采用哪一款WiFi搭配,为本厂的MCU器件提供更多的评测方案应该符合原厂期望,何况NXP的基础方案应该没有这个必要与高通的WiFi绑定在一起。

为何说LPC54018MCU和NOR FLASH是两大关键部件?这颗芯片内部并没有配置常见的SoC Flash,翻译成人话说LPC54018内部没有为用户刷写提供非易失性存储空间,这和绝大部分常见的MCU不同。MCU内部配置360K SRAM,同时还提供外部存储控制器:EMC,用于扩展内存空间。OM40007上搭载了一颗华邦Winbond的256Mb SDRAM

另外,LPC54018的Power Domain,并没有为电池应用提供特别支持。电流消耗只有在最低级的深度关闭模式(deep power-down)达到nA级别,功能器件和其他Power模式的电流基本都在两位数uA级别,甚至EMC器件在全速180Mhz时的电流消耗在所有耗能部件中仅次于Cortex Core的35mA,达到8mA。

综合考虑LPC54018芯片的Flash、S(D)RAM配置策略、Power控制和功耗情况,玩家应该不难猜测NXP将这颗芯片定位为下一代物联网应用提供大量资源存储与访问的外部不断电通讯/控制的应用场景。提取三个点:1、大量资源;2、外部不断电;3、面向通讯/控制。

那么目标就清晰了,针对上面的应用场景,我们来看功能器件是如何满足(或不满足)场景设定的。

物联网典型应用中节点被大量部署,通常环境下IoT节点始终运行在低功耗或休眠模式。从LPC54018的Power控制和功耗情况看,它被设计成外部不断电,所以功能器件的功耗、处理功耗等常见设计便不需要出现在这颗芯片中。很多低功耗MCU器件中常见的预处理、事件、路由、唤醒协处理等降低内核功耗的部件放在这颗芯片里倒显得很是多余了。

通常在提供web服务的IoT节点上会占用大量资源,比如web页面上的图片,html文件(js,css,html等),处理逻辑,嵌入式web服务器等。这些资源相对传统的Flash尺寸来说很容易就变得很大,所以可扩展的Nor Flash对大量资源来说是必须满足的。然而,个人认为如果MCU内部可以配置一定数量的内部Flash资源,可以更好的满足成本、可用性、易用性场景。如果应用上只有很小的资源需求,那么就可以省去外部Flash的空间和成本要求。同时,很多应用场景中会有升级需要,如果把内部Flash和外部Flash分开,将系统放在内部flash,将资源放在外部Flash,那么升级的时候就可以分步进行升级:或者单独升级系统内核,或者单独升级外部资源。另外,大量Flash IAP升级应用确实都只针对单一内部Flash,在这种应用场景中积累了大量经验,并且LPC54018的内部ROM API也提供了相应支持。然而相对的,针对外部Nor Flash的升级经验并没被大量积累,NXP也没有提供相应工具进行Nor Flash的bin文件封装,目前可以知道的手段只有在编译工程的时候通过整体打包的形式产生。这种统一打包的形式为以上升级需求场景增加了用户介入的难度。MCU上配备有SD操作外设,大量的外部资源也可以通过SD设备提供,这使得Nor Flash的唯一性与SD的存在似乎有一丝矛盾的地方。

所以针对上面这个问题,建议NXP可以在MCU中配置适量Flash,并且提供一个专用的Bin工具用来封装系统内核和资源文件,或者干脆取消Nor Flash的唯一性,用SD来替代资源空间。

针对通讯和控制,LPC54018配置了大量常见外设:GPIO,外部IO中断,DMA,ADC,SCTimer/PWM,各种时钟和计数功能,Flexcomm(USART,I2C,I2S,SPI),DMIC,SD,LCD,CAN,Ethernet,USB全速和高速设备等等。OM40006上同时也配置了NXP的加速度传感器MMA8652FCR1和楼氏电子的SPH0641LM4H,以供玩家更多的评测。这些外设仅从名字上就可以看出大部分外设都属于NXP传统产线上的外设功能。除了Flexcomm和SCTimer属于NXP这几年的新外设之外,其他外设对NXP MCU的老用户来说应该对它们都不会感到陌生。笔者前面有评测文章说过现在各MCU厂的一个趋势是将传统线制串口通讯集成在一个模块,通过功能配置完成不同功能的使用,所以NXP也不例外。Flexcomm绝对是LPC独创外设,非常超前,非常有特色,非常易用,具体请参考用户手册,也可参考AN12127。SCTimer/PWM倒是一个有意思的模块,将状态机封装在里面,提供了另一种定时输出的手段。状态机应该对MCU用户不陌生,但是传统PWM的使用模式和状态机的使用模式确实有实质上的差异,可以参考AN11538,也可以参考笔者前面的分析文章12

从上面的评测和说明可以看出,LPC54018应用于“下一代物联网应用提供大量资源存储与访问的外部不断电通讯/控制的应用场景”在外设配置上大家都说绝对合适,非常适用,纷纷表示再贵都要上,没钱借钱也要上。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多