STM32

STM32是STMicroelectronics(意法半导体)推出的一系列基于ARM Cortex-M内核的32位微控制器(MCU)产品。这些微控制器提供了广泛的产品系列,覆盖了多种不同的性能和功能需求,适用于各种应用领域,包括工业控制、汽车电子、消费类电子、医疗设备等。

STM32系列微控制器以其高性能、低功耗、丰富的外设接口和灵活的开发工具而闻名。它们通常具有丰富的存储器、多种通信接口(如UART、SPI、I2C、CAN等)、模拟数字转换器(ADC)、定时器、PWM输出等功能,以满足不同应用场景下的需求。

STM32微控制器通常使用标准的ARM Cortex-M内核,包括Cortex-M0、M0+、M3、M4和M7等,这些内核具有不同的性能和功耗特性,可根据具体应用的需求进行选择。此外,STM32系列还提供了多种封装和引脚配置,以满足不同尺寸和集成度的要求。

STMicroelectronics为STM32系列提供了丰富的开发工具和支持资源,包括基于ARM开发环境的集成开发环境(IDE)、调试器、评估板和参考设计等。这些工具和资源有助于开发人员快速开发和部署他们的应用,并提供了全面的技术支持和文档资料,帮助用户充分发挥STM32微控制器的性能和功能优势。

该视频分为3个部分,第1部分将介绍如何在STM32CubeMX中设置Octo-SPI外设。第2部分将介绍如何初始化Octo-SPI外设并在存储器映射模式下设置Octo-SPI外设。第3部分将介绍如何为IS25LX256 OCTOSPI Flash 构建外部Flash loader。

来源:STM32单片机

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:demi@eetrend.com)。

围观 78

I-care 集团在Wi-care智能工业预测性维护系统中采用STM32WB5MMGH6无线模块

服务多重电子应用领域、全球排名前列的半导体公司意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)通过开发智能无线模块帮助工业企业提高制造效率,减少资源浪费和环境污染。STM32WB5MMGH6无线模块是为工业4.0应用专门设计,可以降低用意法半导体创新的无线微控制器开发强大用例的难度,如,I-care 集团的智能设备状态监测。

该模块为使用Bluetooth Low Energy、Zigbee、Thread等主流标准开发无线通信应用提供了一个完整的子系统,并配备免费的通信协议栈,开发人员也可以选用其他的专有协议。该模块集成了几个基本组件,包括天线及其匹配电路、全部无源器件和时钟晶体。EMC、Bluetooth LE 5.3、Zigbee 3.0 和 OpenThread 标准预认证可以简化用户的强制性测试和产品级审批流程,从而节省开发成本,加快产品上市时间。

一些客户已经在使用意法半导体的 STM32WB5MMGH6 模块设计即将推出的新产品。全球机器健康市场的龙头企业I-care Group就是其中一例,其机器工况持续监测解决方案可以改善工业设备的维护,确保机器处于最佳性能状态,避免意外故障和停机。 该公司的 Wi-care 传感器是真正的即插即用的无线持续资产监测系统,与 I-care 的云计算人工智能分析平台 I-see配合使用时,Wi-care 传感器变成了维护 4.0整体解决方案,准许用户将设备状态可视化,并制定维护时间计划。有了I-care 解决方案,用户可以避免 99% 以上的工业故障,减少机器停机时间10-20%,降低维护成本35-45%。

I-care 首席执行官 Fabrice Brion 表示:“I-care 的目标是成为全球规范性和预测性维护市场的领导者。我们市场先进的 Wi-care 传感器的快速成功生产和推出,在我们的发展计划中起着至关重要的作用。其中,ST 的 STM32WB5MMGH6 无线模块在Wi-care 中的贡献不可或缺。”

意法半导体BLE/802.15.4 MCU 总经理 Hakim Jaafar 表示:选用无线模块开发系统,而不是从零开始设计,是帮助开发人员完成项目的最快方式。STM32WB5MMGH6 模块基于我们自己的 STM32WB55 无线 MCU,并有 ST开发资源的全面支持,让这种开发方法变得更快捷、更容易、更经济。

STM32WB5MMGH6TR现已投产,产品已经上市。 该产品属于意法半导体工业产品长期供货10 年产品寿命承诺范围内。

详细技术信息

STM32WB5MMGH6 供电的 STM32WB55 MCU 具有用于应用级处理的 Arm® Cortex®-M4 内核和专用于管理集成无线电的 Cortex-M0+,可确保两个域的实时性能。

MCU 包含大量的片上 RAM,这在运行 Thread 协议时特别有利。 流行的用例包括无线通信和设备控制,例如远程传感器、智能门锁、包括打印机在内的 PC 配件,以及网络网关和智能楼宇控制器等基础设施设备。 无线电的多协议技术提供了灵活性,并允许方便的设备管理和车队管理。

使用 STM32WB5MMGH6 模块的产品设计人员受益于广泛的 STM32 微控制器开发生态系统,其中包括 STM32CubeMX 配置器等免费工具和 STM32CubeWB MCU 软件包等软件。 该软件包提供基本的嵌入式开发资源,包括生产就绪的 MISRA C ISO/TS 16949 兼容的硬件抽象层 (HAL) 和低层 APIFatFS 文件系统、FreeRTOS、通信协议堆栈和代码示例。

关于意法半导体

意法半导体拥有48,000名半导体技术的创造者和创新者,掌握半导体供应链和先进的制造设备。作为一家半导体垂直整合制造商(IDM),意法半导体与二十多万家客户、数千名合作伙伴一起研发产品和解决方案,共同构建生态系统,帮助他们更好地应对各种挑战和新机遇,满足世界对可持续发展的更高需求。意法半导体的技术让人们的出行更智能,电力和能源管理更高效,物联网和互联技术应用更广泛。意法半导体承诺将于2027年实现碳中和。详情请浏览意法半导体公司网站:www.st.com

关于I-Care Group

I-care Group 是世界机器健康管理领域的先进企业,其人工智能和数据驱动解决方案可以在提前几个月甚至几年预测设备故障。I-care致力于让世界各地的机器变得更安全,生产效率更高,可持续性更强。2004 年在Mons成立,公司拥有近 700 名员工,在12个国家(美洲、欧洲和亚太地区)成立子公司,客户遍布55 个国家。I-care荣获 2020 年安永企业奖(比利时)

围观 10

意法半导体在GitHub网站上创建了 STM32 Hotspot社区,为开发者寻找专业开发的STM32 微控制器嵌入式软件项目提供了一个新场所。STM32 Hotspot 包含意法半导体内部工程师原本是为展品和概念验证模型等用途开发的非产品化代码。

srxYkHSAiw.jpg

意法半导体通常不会与外部分享此类代码示例。意法半导体已经为用户提供大量的 STM32 参考代码,现在STM32 Hotspot又将内部项目代码分享供给更广泛的开发者社区,助力他们创造更多的产品附加值。通过意法半导体GitHub社区获取软件资源,用户对软件的真实来源放心。

STM32 Hotspot 中的项目来自实际用例,有助于加快常用功能的开发,减少项目开发工作量和总体研发周期。这些代码可以免费下载,软件发行协议是意法半导体简化商贸手续的常规许可条款,方便客户直接集成到自己的应用程序中。

STM32 Hotspot 与意法半导体的GitHub主社区并存,后者让用户可以访问意法半导体官方发行的所有STM32开源软件,包括 STM32Cube平台和 STM32MPU 嵌入式软件发行版。这两个社区并立扩大了对 STM32 系列 1200 多款Arm® Cortex®-M 嵌入式内核和 Cortex-A7 MPU 内核微控制器的开发支持。

GitHub 用户可以在 https://github.com/stm32-hotspot 找到 STM32 Hotspot网页。了解更多信息,加入 ST GitHub 主社区,请访问 https://github.com/STMicroelectronics

了解详情还可以阅读我们的博文: https://blog.st.com/stm32-hotspot/

围观 18

机器学习 (ML) 在服务器和移动应用中已经风靡多年,现在这种趋势已蔓延到边缘设备,并且变得突出。由于边缘设备需要节能,因此开发人员需要学习和了解如何将ML模型部署到基于微控制器的系统中。

在微控制器上运行的ML模型通常被称为tinyML。然而,将模型部署到微控制器并非易事,但它正在变得越来越容易,没有经过任何专业培训的开发人员也能在规定时间完成部署。

本文探讨了嵌入式环境开发人员如何通过STMicroelectronics的STM32微控制器开始使用ML。为此,文中展示了如何通过X-CUBE-AITensorFlow Lite for Microcontrollers模型转换用于STM32CubeIDE,来创建“Hello World”应用。

tinyML用例介绍

tinyML是一个不断发展的领域,它将ML功能整合到微控制器等资源和功耗受限的设备中,通常采用深度神经网络。然后,这些微控制器设备可以运行ML模型,在边缘进行有价值的工作。以下几个用例中的tinyML非常值得关注。

第一个用例常见于许多移动设备和家庭自动化设备,即关键词识别。通过关键词识别,嵌入式设备可以使用麦克风捕获语音并检测预先训练的关键词。tinyML模型使用表示语音的时间序列输入,将其转换为语音特征,通常为频谱图,其中包含随时间变化的频率信息。然后,将频谱图输入经过训练的神经网络,以检测特定的字词,结果就是检测到特定字词的概率。图1显示了这个过程的示例。

“图1:关键词识别是tinyML的有趣用例。输入的语音被转换为频谱图,然后输入经过训练的神经网络,以确定是否有预先训练的字词。(图片来源:Arm®)"
图1:关键词识别是tinyML的有趣用例。输入的语音被转换为频谱图,然后输入经过训练的神经网络,以确定是否有预先训练的字词。(图片来源:Arm®)

许多嵌入式环境开发人员感兴趣的另一个tinyML用例为图像识别。微控制器从摄像头捕获图像,然后将其输入预先训练的模型。模型可以辨别图中的内容。例如,模型可以确定是否有猫、狗或者鱼等等。图像识别用于边缘的一个很好的例子是视频门铃。视频门铃通常可以检测门口是否有人,或者是否有放下的包裹。

最后一个非常常见的用例是用tinyML进行预见性维护。预见性维护使用ML基于异常检测、分类算法和预测模型来预测设备状态。同样,从HVAC系统到工厂车间设备,应用非常广泛。

尽管上述三个用例是目前常见的tinyML,但开发人员无疑还可以找到更多潜在的用例。以下是相关应用的列表:

  • 手势分类
  • 异常检测
  • 模拟量表读取器
  • 指导和控制 (GNC)
  • 包装检测

无论哪个用例,开始熟悉tinyML的最好方法是使用“Hello World”应用,它可以帮助开发人员学习和理解实现并运行一个最基础的系统所遵循的基本流程。在STM32微控制器上运行tinyML模型,有5个必要步骤:

1、捕获数据
2、标记数据
3、训练神经网络
4、转换模型
5、在微控制器上运行模型

捕获、标记和训练“Hello World”模型

关于捕获和标记用于训练模型所需的数据,开发人员通常有许多选择。首先,有大量的线上训练数据库。开发人员可以搜索他人收集和标记的数据。例如,对于基本的图像检测,有CIFAR-10或ImageNet。如需训练模型来检测照片中的微笑,也有一个图像集。从在线数据存储库开始显然是不错的选择。

如果所需的数据尚未在互联网上公开,开发人员也可以生成自己的数据。可以使用Matlab或其他工具来生成数据集。如果不能自动生成数据,也可以手动完成。最后,如果觉得这些都太耗时,也可在互联网上购买数据集。收集数据往往是最令人兴奋和有趣的选择,但也最费事。

这里探讨的“Hello World”示例展示了如何训练模型来生成正弦波并将其部署到STM32上。这个示例由Pete Warden和Daniel Situnayake整理,当时他们在谷歌开展TensorFlow Lite for Microcontrollers工作。这样一来,工作变得更容易,因为他们已经整理出了简单的捕获、标记和训练模型的公开教程。可以在Github上找到(点击此处);打开链接后,开发人员应点击“Run in Google Colab”(在Google Colab中运行)按钮。Google Colab是Google Collaboratory的简称,它允许开发人员在浏览器中编写和执行Python,无需配置,并提供对Google GPU的免费访问。

浏览训练示例将输出两个不同的模型文件;一个是为微控制器量化的model.tflite TensorFlow模型,一个是没有量化的model_no_quant.tflite模型。量化可以表明如何以数字方式存储模型的激活和偏置。量化后可以得到更小的模型,更适合于微控制器。好奇的读者可以在图2中查看训练过的模型结果与实际正弦波结果的对比。模型的输出以红色显示。正弦波输出并不完美,但对“Hello World”程序而言,其效果已经很好了。

“图2:TensorFlow模型正弦波预测与实际值的对比。(图片来源:Beningo
图2:TensorFlow模型正弦波预测与实际值的对比。(图片来源:Beningo Embedded Group)

选择开发板

在研究如何转换TensorFlow模型以便在微控制器上运行之前,需要选择该模型中部署的微控制器。本文将重点介绍STM32微控制器,因为STMicroelectronics公司有许多tinyML/ML工具,可以很好地转换和运行模型。此外,STMicroelectronics有多种与其ML工具兼容的元器件(图3)。

“图3:图示为STMicroelectronics
图3:图示为STMicroelectronics AI生态系统目前支持的微控制器和微处理器单元(MPU)。(图片来源:STMicroelectronics)

如果办公室里有这样一块开发板,就非常适合启动和运行“Hello World”应用。然而,如果对本例之外的应用感兴趣,想要了解手势控制或关键词识别,可以选择STM32 B-L4S5I-IOT01A开发套件物联网节点(图4)。

该开发板带有STM32L4+系列Arm Cortex®-M4处理器。该处理器有2MB闪存和640KB RAM,为tinyML模型提供了充足的空间。该模块还带有STMicroelectronics的MP34DT01微机电系统 (MEMS) 麦克风,可用于关键词识别的应用开发,适用于tinyML用例实验。此外,同样来自STMicroelectronics的板载LIS3MDLTR三轴加速计,可用于基于tinyML的手势检测。

“图4:STM32
图4:STM32 B-L4S5I-IOT01A开发套件物联网节点搭载Arm Cortex-M4处理器、MEMS麦克风和三轴加速计,是适应性tinyML实验平台。(图片来源:STMicroelectronics)

使用STM32Cube.AI转换和运行TensorFlow Lite模型

凭借可以运行tinyML模型的开发板,开发人员现在可以开始对TensorFlow Lite模型进行转换,以便在微控制器上运行。TensorFlow Lite模型可以直接在微控制器上运行,但需要一个运行时环境来处理它。

运行模型时,需要执行一系列的功能。这些功能首先收集传感器数据,然后筛选,提取必要特征,并反馈给模型。该模型输出结果,然后对结果进一步筛选,通常还会再进行一些操作。图5显示了该过程的概况。

“图5:数据如何从传感器流向运行时,再到tinyML应用的输出。(图片来源:Beningo
图5:数据如何从传感器流向运行时,再到tinyML应用的输出。(图片来源:Beningo Embedded Group)

STM32CubeMx的X-CUBE-AI插件提供了解释TensorFlow Lite模型的运行时环境,并提供了开发人员可以利用的替代运行时和转换工具。X-CUBE-AI插件在项目中默认不启用。然而,在创建新项目并初始化电路板后,在Software Packs-> Select Components(软件包-> 选择组件)下,有一个启用AI运行时的选项。这里有几个选项;确保本例中使用的是Application模板,如图6所示。

“图6:X-CUBE-AI插件需要使用本例的应用模板来启用。(图片来源:Beningo
图6:X-CUBE-AI插件需要使用本例的应用模板来启用。(图片来源:Beningo Embedded Group)

启用X-CUBE-AI后,STMicroelectronics X-CUBE-AI类别将出现在工具链中。点击该类别,开发人员能选择自己创建的模型文件并设置模型参数,如图7所示。可通过分析按钮对模型进行分析,并为开发人员提供RAM、ROM和执行周期信息。强烈建议开发人员比较Keras和TFLite模型选项。在较小的正弦波模型示例中,没有显著差异,但却可以发现其中的区别。点击“Generate code”(生成代码)可生成该项目。

“图7:分析按钮为开发人员提供RAM、ROM和执行周期信息。(图片来源:Beningo
图7:分析按钮为开发人员提供RAM、ROM和执行周期信息。(图片来源:Beningo Embedded Group)

代码生成器将初始化项目,并为tinyML模型构建运行时环境。但默认情况下,不会为模型提供输入。开发人员需要添加代码,为模型提供输入值 — x值,模型将解释该值并生成正弦y值。如图8所示,需要在acquisition_and_process_data和post_process函数中增加几段代码。

“图8:所示代码将连接伪输入传感器值到正弦波模型。(图片来源:Beningo
图8:所示代码将连接伪输入传感器值到正弦波模型。(图片来源:Beningo Embedded Group)

此时,本例运行就绪。注意:添加一些printf语句来获取模型输出,以便快速验证。快速编译和部署能让“Hello World”tinyML 模型运行。获取整个周期的模型输出得到图9所示的正弦波。它并不完美,但对于首个tinyML应用来说非常优秀。由此,开发人员可以将输出与脉冲宽度调制器 (PWM) 联结起来,并产生正弦波。

“图9:在
图9:在 STM32上运行时的“Hello World”正弦波模型输出。(图片来源:Beningo Embedded Group)

嵌入式系统上的ML技巧和窍门

开发人员若要在基于微控制器的系统上开始使用ML,需要做相当多的工作,才能让自己的首个tinyML应用运行起来。然而,记住几个“技巧和窍门”,可以简化和加快其开发:

  • 浏览TensorFlow Lite for Microcontrollers的“Hello World”示例,包括Google Colab文件。花点儿时间调整参数,了解这些参数对经过训练的模型的影响。
  • 在微控制器应用中使用量化模型。量化模型经过压缩,可以使用uint8_t而非32位浮点数。因此,该模型更小,执行速度更快。
  • 了解TensorFlow Lite for Microcontrollers资源库中的其他示例。其他示例包括手势检测和关键词检测。
  • 以“Hello World”为例,将模型输出连接到PWM和低通滤波器上,以查看产生的正弦波。执行运行时实验,增加和减少正弦波频率。
  • 选择包括“额外”传感器的开发板,以便尝试广泛的ML应用。
  • 尽管收集数据很有趣,但一般来说,购买或使用开源数据库来训练模型更容易。

开发人员遵循这些“技巧和窍门”,可以在确保应用安全的同时节省更多的时间并省去更多的麻烦。

本文小结

机器学习已经蔓延至网络边缘,而基于资源受限微控制器的系统是其主要目标。最新的工具可以转换和优化机器学习模型,以在实时系统上运行。如图所示,在STM32开发板上实现和运行模型相对容易,但也会涉及复杂性问题。虽然只探讨了产生正弦波的简单模型,但也可以实现更复杂的模型,如手势检测和关键词识别。

来源:得捷电子DigiKey
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 550

本应用笔记描述如何在基于 Arm® Cortex®‑M33 处理器的 Arm® TrustZone® STM32 微控制器上获得安全启动和安全固件更新流程解决方案。该应用笔记还提供此解决方案与 X-CUBE-SBSFU 解决方案的顶层比较结果,后者适用于基于 Arm® Cortex®‑M0、Cortex®‑M3、Cortex®‑M4、或 Cortex®‑M7 处理器的非 TrustZone®STM32 微控制器。它还为安全启动和安全固件更新流程解决方案提供顶层集成指南。

对于 Arm® TrustZone® STM32 微控制器,安全启动和安全固件更新流程解决方案在相应的 TM32Cube MCU 包中提供。与 X-CUBE-SBSFU STM32Cube 扩展包中提出的解决方案不同,该解决方案基于开源 TF‑M(可信固件面向 Arm® Cortex®‑M)参考实现。

本应用笔记适用于所有 TrustZone® STM32 微控制器。然而,本文档中将 STM32L5 系列作为示例。
STM32Cube MCU 包中可用的基于 TF‑M 的应用可能会不同,具体取决于 TrustZone®STM32 微控制器。参照公认的 Arm®TrustZone® STM32 微控制器(第 2 节 参考)的 TFM 应用(TF‑M 的完整实现)的用户手册,获取对解决方案的精确描述。

详阅请点击下载《Arm® TrustZone® STM32 微控制器的安全启动和安全固件更新解决方案概述》

来源:STM32
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 79

页面

订阅 RSS - STM32