×
嵌入式 > 技术百科 > 详情

实用大于参数——小而灵活的NXP LPC824Lite评测

发布时间:2020-06-19 发布时间:
|

前不久,在NXP社区拿到了一款基于ARM Cortex-M0+处理器的NXP微控制器开发板 LPC824Lite,从搭载的处理器来看,基本可以确认主打的是低功耗,因为本人玩过的ARM Cortex-M0/M0+系列的微控制器也不少,所以当时没太在意,又有其它事情要忙乎,板子基本被我晾在了一边吃灰,正好趁周末无所事事,顺便拿出来整整。

众所周知,目前ARM的Cortex-M系列微控制器基本已经应用到各个领域,而前几年推出的ARM Cortex-M0/M0+系列处理器本意就是取代市面上8位/16位的单片机应用,虽然目前这个理想还没完全实现,但确实是在一点一点蚕食8/16位单片机的份额,就我所知,现在很多工科的大学已经开始用ARM系列微控制器的教科书取代很早之前的8051,相信这是大势所趋的事,尤其是目前众多的新兴物联网公司,但凡可以用单片机做的产品,大多数工程师首先考虑的绝对是Cortex-M系列微控制器,一是产品本身价格已经被广大厂商给干下来了,二来毕竟生态圈广泛,玩单片机的工程师基本都比较熟悉,而且很多代码可以靠以往的项目做适当的修改移植,也方面保留移植到接下去几代的产品中去,能省去不少研发时间,绝对的公司众多码农的福音。

LPC824Lite开发板

OK,言归正传,此次拿到的NXP LPC824Lite开发板十分简洁,一开始笔者以为是NXP官方自己设计推向市场的,仔细一瞧,应该是第三方的杰作,由NXP携手优龙科技做的。

在LPC824Lite开发板包装盒背面可以清楚的看到板卡的资源以及相关介绍。

NXP LPC824Lite板卡搭载的微控制器只有32K的 FLASH,有点小了,不过板卡额外搭载了4MB的SPI FLASH,另外还配备了2Kb EEPROM,存储样式倒是非常丰富。

实际看到板卡的外观还是比较惊讶的,原本以为第三方设计会是很low的做工,实际到手还是不错的,板卡也算顺应市场,保持了目前较为流行的兼容Arduino R3扩展接口,可以方便的连接各类功能模块,尤其是市面上大量的Arduino模块,构成合适的开发与评估系统;也搭载了板载的调试器CMSIS-DAP,支持U盘模式编程,还带有模拟串口功能,通过一条USB线连接PC即可开始开发调试。虽说板卡总体上比较精简,但毕竟五脏全俱,扩展的IO接口可以实现比较丰富的应用,如马达控制、智能家电、工业自动化等。

LPC824Lite硬件资源

LPC824Lite开发板主要的外设资源基本都布局在板卡正面,如下图所示:

板卡背面没有任何元器件,倒是印着得一个二维码非常显眼,至于什么内容,笔者不知道。习惯性吐槽:虽然目前二维码推广非常成功,但很多时候已经被滥用了,什么地方都出现一个二维码,但又不具体说明二维码是什么内容,就像这里,送它两个字“流氓”。

NXP LPC824Lite板载资源:

  • NXP LPC824基于ARM Cortex-M0+核心,主频30MHz
  • 32KB 片内Flash、8KB RAM、2Kb I2C EEPROM(AT24C02)、4MB SPI Flash(W24Q32)
  • 一个CMSIS-DAP板载调试接口,支持SWD模式、10针JTAG接口,同样支持SWD模式
  • IO 扩展接口(29个GPIO全部引出)、Arduino R3兼容接口、ADC可调电位器
  • 3颗CMSIS-DAP调试状态指示灯、8颗用户LED指示灯
  • 4个按键,包括复位按键和3个中断按键
  • Micro USB 5V供电

当初,也就是2012年的那段时间,NXP发布了跨时代意义的32位高效能的LPC800系列MCU,其目的意全面取代低端的8位/16位MCU市场,LPC800系列微控制器是基于出色电源效率的ARM Cortex-M0+处理器内核,除了低功耗外,值得称道的是恩智浦重新设计了LPC800系列外设,尽可能精简产品,响应速度更快且更加高效,相比传统的8位/16位MCU,其优势显而易见的。但是,市场的发展规律很多时候都不是按照我们预设的剧本来走的,虽然看似ARM Cortex-M0+取代8位/16位MCU是大势所趋的事,但是如今看来,这条路还是非常漫长的,相比取代,相信NXP更迫切需要做的是如何在同类的ARM Cortex-M0+系列微控制器产品中脱颖而出才行,那板子上搭载的这款NXP LPC824微控制器又具有怎样的特性?

LPC824M201JHI33微控制器

从恩智浦官方的MCU分类可以了解到,NXP LPC800系列微控制器最重要的特性除了低功耗之外,主要是集成了ADC以及SC定时器/PWM、开关矩阵。

回到板子实物,板载的微控制器具体型号为LPC824M201JHI33,采用HVQFN33 (5x5)封装,放大看板子上的芯片的布线简直是一种享受,原谅我这么“放荡不羁的嗜好”,这种封装非常适合对空间敏感、有限制要求的产品应用。

如果要细分的话,LPC82x系列产品是LPC800系列产品的扩展,通过添加的串行I/O端口和一个12位ADC提高了其多功能性和用法,其众多的特性就不再文章中啰嗦了,有需要的直接去官方下载规格书查看(中文的哦),不过主要的几个特点可以介绍下:

  • 开关矩阵

定时器在不增加复杂性的情况下引入了全新灵活度,包括开关矩阵在内的LPC824革命性功能使设计师只需通过配置工具中的一行代码或一次点击,就能将片内外设分配到任何引脚。

  • 可配置状态的定时器

LPC24上的另一个重要外设是状态配置定时器(SCT),它可根据用户的特定应用需求进行定制。SCT基本配置只有2个16位PWM,包括4个捕获输入和4个匹配输出,其中每个匹配寄存器都有一个映射寄存器。LPC800可提供常用8位MCU上的绝大多数定时或PWM功能。

  • 片内ROM驱动支持

为了匹配硬件创新,LPC824提供简单、无驱动的操作。I2C和UART底层驱动不再占用闪存空间,操作这些外设时只需简单地调用API。

  • 模拟外设,12位ADC

带高达12条输入通道和多个内部和外部触发器输入和高达1.2M samples/s的采样率。此ADC支持两个独立的转换序列。

NXP LPC82xM系列微控制器的具的硬件系统框图如下所示。

LPC824Lite开发环境以及上电

由于LPC824Lite不是NXP官方自己推的板子,提供的资源,如例程等资源完全“不受自己控制”,优龙科技为LPC824Lite开发板提供了相当丰富的例程资源,但只针对KEIL IDE编译环境,所以,如果用这板子开发的话,还是推荐用KEIL,虽然官方自家提供的LPCXpresso功能很强大,但毕竟是“巧妇难为无米之炊”嘛。

开发板上电后运行默认的出厂内置程序,包含了板卡外设的基本测试,如LED测试、SPI FLASH测试、EEPROM测试、ADC测试。

测试过程可通过USER按键执行,测试过程显示可以通过串口输出查看。

通过板载的可调电阻调整ADC采样实现LED点亮的个数变化。

优龙科技提供的资料如下,包括SDK、源代码、软件工具,使用手册以及芯片资料。

在使用KEIL IDE工具时需要先安装LPC800系列微控制器的Database包。

优龙科技提供的SDK中包含了常用的应用例程以及丰富的外设例程,作为第三方的板卡设计,在例程资源上确实要比NXP官方做的好,还算丰富。

随便选择一个例程可以正常的编译

下载调试的话需要先设置下KEIL中的调试器,选择CMSIS-DAP。

可以正确检测到微控制器,正常的下载调试也没什么问题。

不过再另外下载其它程序的时候出现了“Invalid ROM Table”的问题,不知道是什么原因导致的,但是重新烧录出厂的程序后,又变回正常了。值得说下下的是,LPC824Lite除了通过自带的调试器下载程序外,还支持Mbed U盘烧录方式、ISP下载、外部的JLINK下载等,这就方便用户在某步操作出现问题后有其他的途径可选择,非常好。至于平时的开发习惯,习惯哪个用哪个。由于笔者手头也没什么有意思的外设模块可供折腾,板子跑跑例程也就那么一回事,更多的内容挖掘网友可以通过下载官方的资料了解。

小结

总得来说,LPC824Lite板载的核心微控制器还是非常不错的,开关矩阵、可配置状态的定时器,目前又加上模拟功能12位ADC,可玩性还是相当高;

而LPC824Lite板子本身带有板载调试下载器(CMSIS-DAP),支持U盘模式编程,扩展了Arduino R3接口,可以方便的连接市面上各种功能的Arduino模块,适用于马达控制、智能家电、工业自动化等多个领域。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
无人机新突破:或将利用手机发射塔追踪无人机