实操项目带您了解NXP产品在边缘机器学习中的应用
在技术飞速发展的时代,边缘机器学习(边缘ML)作为一种变革性技术脱颖而出,重新定义了我们实时处理和分析数据的方式。这种开创性方法直接在边缘设备上部署ML模型,掀开了响应式智能应用的新篇章。本文将通过一个实操项目来深入探索边缘ML,探讨其意义、应用及其为各行各业带来的无数好处。
与严重依赖集中式云服务器进行大量数据处理的传统ML模型相比,边缘ML可将计算工作量直接转移到边缘设备上。这就给边缘设备提供了即时决策的潜力,而无需一直依赖外部服务器。这种转变解决了传统方法固有的延迟、隐私和带宽挑战等相关问题。
边缘ML的优势在于其提供实时见解的能力。通过直接在边缘设备上执行推理,应用可以针对不断变化的情况做出快速反应,因此非常适合时间敏感型场景。无论是在需要瞬间做出决策的自动驾驶汽车中、发现潜在威胁的智能监控摄像头中,还是在提供及时诊断的医疗保健设备中,通过边缘ML都能显著缩短延迟时间。
本文将带领读者了解在边缘ML的实际应用中使用FRDM-MCX-N947 FRDM开发板的必要步骤,并介绍用于生成ML模型的NXP eIQ® Portal。板载的MCX N947 MCU包含一个eIQ Neutron神经处理单元 (NPU),可缩短推理时间,从而提高边缘ML产品的电池寿命。从智慧城市和工业物联网 (IIoT) 到医疗保健和消费电子领域,潜在的应用多种多样且影响深远。
项目材料与资源
项目物料清单 (BOM)
● NXP FRDM-MCXN947
项目代码/软件
● MCUXpresso IDE for NXP MCU
● MCUXpresso SDK Builder
● eIQ Toolkit
其他资源
● MCUXpresso IDE终端窗口、Tera Term或其他终端仿真器软件
其他硬件
● Windows PC
● USB Type-C转USB Type-A电缆,或Type-C电缆(取决于PC USB端口的可用性)
帐户
● NXP帐户(可免费创建)
项目技术概况
FRDM-MCXN947开发板(图1)搭载MCX N947 MCU,后者有两个高性能Arm® Cortex®-M33内核,每个内核的运行速度高达150MHz。此MCU配备2MB闪存、可选的全ECC RAM、DSP协处理器和集成式eIQ Neutron NPU。NPU可显著提高ML吞吐量,与单核CPU相比,性能最多可提升30倍。因此它能让设备大幅缩短工作时间,从而降低总体功耗。
图1 搭载MCX N947 MCU的NXP FRDM-MCXN947开发板(图源:贸泽电子)
多核架构通过在模拟和数字外设之间智能分配工作负载,提高了系统性能和效率。此开发板配备了MCUXpresso Developer Experience支持,经过优化且使用方便,可以加快嵌入式系统的开发速度。
MCX N94x系列专为工业应用而设计,具有更丰富的模拟和电机控制外设。
项目开发
本项目将介绍MCX N94x MCU,专门使用FRDM-MCXN947开发板让读者了解如何轻松启动并运行该产品。
软件安装
下面列出了运行示例项目所需的软件,但只有MCUXpresso集成开发环境 (IDE) 是必需的。
MCUXpresso IDE
MCUXpresso IDE为开发人员提供基于Eclipse的用户友好开发环境,专为搭载Arm Cortex-M内核的NXP MCU(包括通用跨界MCU和支持无线功能的MCU)量身定制。此IDE提供各种高级编辑、编译和调试功能,包括MCU特定调试视图、代码跟踪和剖析、多核调试以及集成的配置工具(图2)。
图2 NXP MCUXpresso IDE(图源:贸泽电子)
安装步骤非常简单,只需导航至NXP MCUXpresso IDE下载网站。单击网站右上角的Downloads图标,导航至MCUXpresso Integrated Development Environment (IDE),然后单击Download。如果出现提示,请按照屏幕上的说明创建帐户。
在接下来的画面上,您可以选择要下载的版本以及要使用的操作系统 (OS) 。本项目使用MCUXpresso 11.8.1版本(请下载最新版本)和Windows OS。
SDK Builder
MCUXpresso SDK Builder(图3)通过提供开源驱动程序、中间件和参考示例应用来加快软件开发速度。通过SDK Builder,您可以定制并下载与所选处理器或评估板相匹配的软件开发套件 (SDK),从而简化开发流程。我们将在后面创建并安装SDK。
图3 NXP MCUXpresso SDK Builder网站(图源:贸泽电子)
eIQ Portal
eIQ Toolkit(图4)通过直观的图形用户界面(即eIQ Portal)和工作流工具,以及eIQ ML软件开发环境中的命令行主机工具选项,助力ML的开发。NXP的eIQ Toolkit是与Au-Zone Technologies独家合作开发的,它为开发人员提供图形级分析功能和运行时洞察力,可优化EdgeVerse™处理器上的神经网络架构。它还提供转换模型所需的工具以便利用eIQ Neutron NPU。
图4 eIQ Portal(图源:贸泽电子)
eIQ软件不是运行本示例项目所必需的,但它可以通过建立和实现新模型支持进一步的开发。所需文件可在eIQ Toolkit for End-to-End Model Development and Deployment页面找到。单击右上角的“Downloads”按钮,然后根据您的操作系统查找并下载最新版本的eIQ Toolkit安装程序。
硬件设置
本项目的硬件设置非常简单。只需用USB Type-C电缆将主机与电路板的J17 USB Type-C端口(SW1旁边)相连(图5)。然后就可以编程并调试代码。
图5 连接了USB Type-C电缆的FRDM-MCX-N947(图源:贸泽电子)
组装
创建并安装SDK
在开始之前,您需要找到并安装设备所需的SDK:
1.导航至https://mcuxpresso.nxp.com/en/welcome(需要登录)
2.单击Select Development Board
3.从Boards下拉菜单中选择MCX,然后选择FRDM-MCXN947 (MCXN947)(图6)。
4.选中后,从窗口右侧的Selection Details单击Build MCUXpresso SDK。
图6 NXP MCUXpresso SDK Builder开发板选择(图源:贸泽电子)
1.在Developer Environment Settings(图7)下方,选择所有库,确保其中有eIQ Middleware。
2.单击窗口底部的Download SDK。
图7 NXP MCUXpresso SDK Builder开发环境设置(图源:贸泽电子)
1.从MCUXpresso SDK Dashboard(图8)找到新创建的SDK,然后在特定SDK窗口的右侧单击Download SDK。(该区域将列出所有创建的SDK。)
图8 NXP MCUXpresso SDK Builder Dashboard(图源:贸泽电子)
2.打开MCUXpresso IDE(如果尚未打开)。
3.找到下载的SDK文件。
4.将压缩的SDK文件拖到Installed SDKs窗口(图9),按照屏幕上的说明开始安装。(注意:窗口位置可能因IDE配置而异。)
图9 MCUXpresso IDE安装的SDK列表(图源:贸泽电子)
找到并加载示例项目
SDK安装完成后,使用以下步骤访问示例项目,以便测试和开发设备:
5打开MCUXpresso IDE并关闭欢迎窗口。
6.在MCUXpresso IDE的左下角找到Quickstart Panel(图10)。
图10 MCUXpresso IDE Quickstart Panel(图源:贸泽电子)
1.在Create or import a project下面,选择Import SDK example(s)…,这将打开SDK Import Wizard(图11)。
2.从列表中选择FRDM-MCXN947,然后单击Next。
图11 MCUXpresso IDE SDK Import Wizard(图源:贸泽电子)
1.选择eiq_eamples下面的tflm_label_image演示文件,如图11所示。也可以选择其他示例。
2.单击Finish,开始将示例项目导入工作空间。
3.在Project Explorer窗口(图12)中,应可看到所有已安装和可用项目的列表。
图12 MCUXpresso IDE Project Explorer(图源:贸泽电子)
对FRDM-MCXN947进行编程和调试
利用所安装SDK中的可用示例程序,您可以评估任何eIQ项目。在本项目中,我们将评估Label Image示例项目。
1.从Project Explorer中的可用项目列表(图12),选择frdmmcxn947_tflm_label_image。
2.在IDE顶部的工具栏中,单击Build图标。
3.在控制台中确认编译完成且无错误(图13)。
图13 MCUXpresso IDE控制台窗口(图源:贸泽电子)
4.右键单击所选示例程序,选择Debug As,然后选择MCUXpresso IDE LinkServer。
5.在SWD Configuration窗口(图14)中,选择Device 0,然后单击OK。
图14 MCUXpresso IDE SWD Configuration窗口(图源:贸泽电子)
6.label image文件编译完成后,按下F8或单击工具栏上的Resume图标,继续调试程序。
7.打开终端窗口(图15)或其他终端仿真器软件。
8.选择分配给设备的COM端口。
9.如下所示设置COM端口:
a.波特率:115200
b.数据位:8
c.奇偶校验位:无
d.停止位:1
e.流控制:无
图15 MCUXpresso IDE终端窗口(图源:贸泽电子)
此示例项目的输出结果应显示在终端窗口中,由于未连接外部摄像头,因此只能显示静态图像。
更进一步
当然,这并不是最终的可能结果。只需拖放文件,还可通过eIQ Portal,使用自定义图像集创建模型(图16)。有了可用的示例和新增的硬件,图像分类和实时监控就变得简单多了。您还可以使用eIQ Toolkit转换现有模型,并利用eIQ Neutron NPU。MCX N系列中的eIQ Neutron NPU可以显著缩短运行模型时的推理时间。
图16 eIQ Portal Data Set Curator(图源:贸泽电子)
结语
边缘ML的显著优势在于其提供实时见解的能力。在边缘设备上进行直接推理可使应用对动态条件迅速做出反应,这在时间敏感型场景中尤为有利。无论是在需要瞬间做出决策的自动驾驶汽车中、发现潜在威胁的智能监控摄像头中,还是在提供及时诊断的医疗保健设备中,通过边缘ML缩短延迟时间都是至关重要的创新。
本文提供了实操型指南,让读者了解在边缘ML应用中使用FRDM-MCXN947 FRDM开发板的基本步骤。此外,本文还介绍了用于生成ML模型的工具 - eIQ Portal。所展示的应用涉及智慧城市、工业物联网 (IIoT)、医疗保健和消费电子等多个行业,凸显了边缘ML广泛而深刻的影响。
作者简介
Joseph Downing于2011年加入贸泽电子,担任技术支持专员,后转为技术内容专员。此外,Joseph还曾就职于Intel、Radisys和Planar等电子行业公司,拥有20多年的工作经验。作为一名狂热的创客,Joseph帮助管理并向“应用与技术”专栏以及贸易展会提供技术项目和材料。
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码