实操项目带您了解NXP产品在边缘机器学习中的应用

  作者:Joseph Downing,贸泽电子专稿 时间:2024-08-09来源:EEPW


1723184545620368.png

在技术飞速发展的时代,边缘机器学习(边缘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倍。因此它能让设备大幅缩短工作时间,从而降低总体功耗。

image.png

图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)。

1723184643403090.png

图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。

1723184667964038.png

图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。

1723184695111003.png

图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)。然后就可以编程并调试代码。

image.png

图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。

1723184775903536.png

图6 NXP MCUXpresso SDK Builder开发板选择(图源:贸泽电子)

1.在Developer Environment Settings(图7)下方,选择所有库,确保其中有eIQ Middleware。

2.单击窗口底部的Download SDK。

1723184800654969.png

图7 NXP MCUXpresso SDK Builder开发环境设置(图源:贸泽电子)

1.从MCUXpresso SDK Dashboard(图8)找到新创建的SDK,然后在特定SDK窗口的右侧单击Download SDK。(该区域将列出所有创建的SDK。)

1723184822867456.png

图8 NXP MCUXpresso SDK Builder Dashboard(图源:贸泽电子)

2.打开MCUXpresso IDE(如果尚未打开)。

3.找到下载的SDK文件。

4.将压缩的SDK文件拖到Installed SDKs窗口(图9),按照屏幕上的说明开始安装。(注意:窗口位置可能因IDE配置而异。)

1723184865523501.png

图9 MCUXpresso IDE安装的SDK列表(图源:贸泽电子)

找到并加载示例项目

SDK安装完成后,使用以下步骤访问示例项目,以便测试和开发设备:

5打开MCUXpresso IDE并关闭欢迎窗口。

6.在MCUXpresso IDE的左下角找到Quickstart Panel(图10)。

image.png

图10 MCUXpresso IDE Quickstart Panel(图源:贸泽电子)

1.在Create or import a project下面,选择Import SDK example(s)…,这将打开SDK Import Wizard(图11)。

2.从列表中选择FRDM-MCXN947,然后单击Next。

1723184901448997.png

图11 MCUXpresso IDE SDK Import Wizard(图源:贸泽电子)

1.选择eiq_eamples下面的tflm_label_image演示文件,如图11所示。也可以选择其他示例。

2.单击Finish,开始将示例项目导入工作空间。

3.在Project Explorer窗口(图12)中,应可看到所有已安装和可用项目的列表。

image.png

图12 MCUXpresso IDE Project Explorer(图源:贸泽电子)

对FRDM-MCXN947进行编程和调试

利用所安装SDK中的可用示例程序,您可以评估任何eIQ项目。在本项目中,我们将评估Label Image示例项目。

1.从Project Explorer中的可用项目列表(图12),选择frdmmcxn947_tflm_label_image。

2.在IDE顶部的工具栏中,单击Build图标。

3.在控制台中确认编译完成且无错误(图13)。

1723184954486116.png

图13 MCUXpresso IDE控制台窗口(图源:贸泽电子)

4.右键单击所选示例程序,选择Debug As,然后选择MCUXpresso IDE LinkServer。

5.在SWD Configuration窗口(图14)中,选择Device 0,然后单击OK。

image.png

图14 MCUXpresso IDE SWD Configuration窗口(图源:贸泽电子)

6.label image文件编译完成后,按下F8或单击工具栏上的Resume图标,继续调试程序。

7.打开终端窗口(图15)或其他终端仿真器软件。

8.选择分配给设备的COM端口。

9.如下所示设置COM端口:

a.波特率:115200

b.数据位:8

c.奇偶校验位:无

d.停止位:1

e.流控制:无

1723184989934186.png

图15 MCUXpresso IDE终端窗口(图源:贸泽电子)

此示例项目的输出结果应显示在终端窗口中,由于未连接外部摄像头,因此只能显示静态图像。

更进一步

当然,这并不是最终的可能结果。只需拖放文件,还可通过eIQ Portal,使用自定义图像集创建模型(图16)。有了可用的示例和新增的硬件,图像分类和实时监控就变得简单多了。您还可以使用eIQ Toolkit转换现有模型,并利用eIQ Neutron NPU。MCX N系列中的eIQ Neutron NPU可以显著缩短运行模型时的推理时间。

1723185009710254.png

图16 eIQ Portal Data Set Curator(图源:贸泽电子)

结语

边缘ML的显著优势在于其提供实时见解的能力。在边缘设备上进行直接推理可使应用对动态条件迅速做出反应,这在时间敏感型场景中尤为有利。无论是在需要瞬间做出决策的自动驾驶汽车中、发现潜在威胁的智能监控摄像头中,还是在提供及时诊断的医疗保健设备中,通过边缘ML缩短延迟时间都是至关重要的创新。

本文提供了实操型指南,让读者了解在边缘ML应用中使用FRDM-MCXN947 FRDM开发板的基本步骤。此外,本文还介绍了用于生成ML模型的工具 - eIQ Portal。所展示的应用涉及智慧城市、工业物联网 (IIoT)、医疗保健和消费电子等多个行业,凸显了边缘ML广泛而深刻的影响。

作者简介

image.png

Joseph Downing于2011年加入贸泽电子,担任技术支持专员,后转为技术内容专员。此外,Joseph还曾就职于Intel、Radisys和Planar等电子行业公司,拥有20多年的工作经验。作为一名狂热的创客,Joseph帮助管理并向“应用与技术”专栏以及贸易展会提供技术项目和材料。

关键词: NXP 边缘机器学习

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版