使用可扩展微控制器实现设计灵活性

描述

作者:Kenton Williston

投稿人:DigiKey 北美编辑

2024-05-15

随着人工智能 (AI) 和具有丰富图形的复杂人机界面 (HMI) 等先进功能在应用中变得越来越普遍,产品设计人员开始寻找功能更强大的微控制器单元 (MCU)。但与此同时,设计人员也被要求开发成本最优的产品,而放弃这些华而不实的功能。在这些相互矛盾的压力下,选择一款能够轻松扩展以满足不同市场需求的 MCU 就势在必行。

不断加快的创新速度也加剧了这种压力。应用要求可能会发生意想不到的变化,因此轻松获取替代 MCU 就显得至关重要。此外,还必须考虑未来适用性和重复使用问题。如果设计元素可以在其他项目中重复使用,就可以大幅节省时间和成本。

应对这些挑战的方法之一就是选择具备丰富选项的 MCU 系列。[STMicroelectronics]的 [STM32H7]就是一个很好的例子。该系列既有高性价比的入门级 32 位 MCU,也有功能丰富的双核 MCU。

本文以 STM32H7 系列的功能为例,重点介绍了选择 MCU 系列时应考虑的标准。此外,还介绍了适用于 STM32H7 MCU 的开发板和工具,并说明了如何使用这些基础设施启动项目。

实现 MCU 系列灵活性和可扩展性的因素

在寻找具有灵活性的 MCU 系列时,必须考虑众多因素。提供广泛的性能和功率水平选项尤为重要。首选的 MCU 系列应包括针对不同目标优化的各种时钟速度和内核选项。例如,低功耗的 [Arm®] Cortex®-M4 和高性能的 Arm Cortex-M7。

该系列应包含具有基本处理能力的 MCU 和具有扩展能力的选件。许多应用需要数据保护和安全通信。硬件型加密、安全启动和加密加速器等功能对于这些用例至关重要。同样,数字信号处理器 (DSP) 和浮点指令对于数据密集型应用也至关重要。

MCU 系列还应提供各种大小的 RAM 和闪存,以适应从简单应用到需要大量软件框架或数据存储空间的各种应用。这些 MCU 应为超出内部存储器能力的应用提供外部存储器接口,以提供必要的可扩展性。

最后,拥有更多外设选项的 MCU 系列也能够应对更广泛的应用。确保 MCU 系列包括具有 USB、以太网、蓝牙和 Wi-Fi 等先进 I/O 的选件至关重要,因为可能难以在后续设计中作为升级增加这些接口。理想情况下,选择的 MCU 系列应在其产品范围内提供引脚兼容性,以便在不对印刷电路板(PC 板)做出重大设计变更的情况下,就能实现硬件升级或降级。

开发工具应从软件角度支持整个 MCU 系列。为了加快开发速度,还应该有一个统一的软件应用程序编程接口 (API) 和一套强大的库、中间件和实时操作系统 (RTOS)。

STM32H7:多功能性案例研究

STMicroelectronics 的 STM32H7 系列是符合这些标准的 MCU 系列典范。如表 1 所示,该系列具有高度可扩展性,围绕 Arm Cortex-M7 构建,涵盖基础和高级 MCU。该系列分为四个子系列,分别针对不同应用进行了优化。

| | | MCU 内核和时钟 | 最大闪存/RAM | 主要特性 |
| ---------------- | ----------------------------------------------- | ------------------------ | ---------------------------------------------- |
| 超值系列 | 280 MHz 至 550 MHz
Arm Cortex-M7 | 128 KB 闪存
1 MB RAM | 低成本、以太网、QSPI、TFT |
| 单核系列 | 280 MHz 至 550 MHz
Arm Cortex-M7 | 2 MB 闪存
1.4 MB RAM | TFT、以太网、Q-SPI、低功耗 |
| 双核系列 | 480 MHz
Arm Cortex-M7 +
240 MHz
Arm Cortex-M4 | 2 MB 闪存
1 MB RAM | 开关模式电源 (SMPS)、TFT-LCD、MIPI-DSI、JPEG |
| BootFlash 系列 | 600 MHz
Arm Cortex-M7 | 外部闪存、620 KB RAM | NeoChrom GPU、I3C、XiP、USB PHY |

表 1:STM32H7 系列四个子系列的主要亮点。(表格来源:作者,使用 STMicroelectronics 提供的原始资料)

超值系列的速度范围为 280 MHz 至 550 MHz,采用 128 KB 嵌入式闪存和 1 MB RAM。该系列支持各种通信接口和外部存储器扩展,为以性能为导向的系统提供经济高效的解决方案。[STM32H750VBT6]就是这样一款 MCU,其采用 14 x 14 mm 100-LQFP 封装。

单核系列的运行速度范围也是 280 MHz 至 550 MHz。该系列提供高达 2 MB 的闪存和 1.4 MB 的 RAM,与需要丰富用户界面和实时控制的应用非常契合。其中一个例子是 [STM32H743IIK6],其采用 10 x 10 mm 201-UFBGA 封装。

双核系列采用了针对效率进行优化的辅助 Arm Cortex-M4 内核。嵌入式开关模式电源 (SMPS) 可提高电源效率。其他先进外设包括 TFT-LCD、MIPI-DSI 和硬件 JPEG 编解码器。一个典型例子是 [STM32H747AII6],其采用 7 x 7 mm 169-UFBGA 封装。

BootFlash 系列以其高性能而著称,其速度高达 600 MHz。该系列旨在支持实时就地执行 (XiP) 应用,并配备 64 KB 引导闪存和 620 KB RAM。此外,系列中的某些型号还可选配 NeoChrom GPU 以增强图形加速功能。此系列的一个典型代表是 [STM32H7R3Z8J6],其采用 10 x 10 mm 144-UFBGA 封装。

与 STM32F4 和 STM32F7 系列兼容的好处

STM32H7 是 STMicroelectronics MCU 众多产品系列的一员,其引脚布局与同类 [STM32F4] 和 [STM32F7]系列兼容,能够适配最常见的封装形式。这些 MCU 均基于 Arm Cortex-M 内核,并且有着类似的外设和 GPIO 引脚布局。这些共性使得设计人员无需对硬件做出重大改动,便可轻松在 MCU 之间迁移。升级产品或基于每个系列的不同功能设计新产品时,这种兼容性可缩短开发时间并降低成本。

此外,所有 MCU 均由同一软件开发生态系统提供支持,包括用于配置和初始化代码生成的 [STM32CubeMX],以及用于开发和调试的 [STM32CubeIDE]。这种兼容性可确保软件组件、中间件和应用程序代码能够在针对任一系列的项目中重复使用,从而进一步加快开发周期。

开始使用 STM32H7 系列 MCU

开始使用 STM32H7 MCU 涉及几个关键步骤以及开发板和工具的高效使用。下面的分步指南将介绍如何开始使用这些功能强大的微控制器进行开发。

1.选择开发板

Discovery 套件是初学者入门探索的理想选择,该套件配有集成式调试器/编程器,通常还具有各种板载用户 LED、按键、传感器和连接选项。[NUCLEO-F767ZI](图 1)等 Nucleo 开发板在灵活性与经济性之间实现了良好平衡。这些开发板兼容 [Arduino]Uno,易于扩展,并且具有 [STLINK] 接口,可与调试器/编程器配合使用。

微控制器图 1:NUCLEO-F767ZI 开发板提供了一个简单而灵活的试验起点。(图片来源:STMicroelectronics)

评估板提供最全面的外设和连接选项,有助于全面探索各种功能。例如,[STM32H745I-DISCO](图 2)和 [STM32H750B-DK]等 Discovery 套件可以快速评估各种接口,并且具有如下特性:

  • 4.3 英寸RGB 界面 LCD,带触摸屏
  • 符合 IEEE-802.3-2002 标准的以太网
  • 以太网供电 (PoE)
  • USB OTG FS
  • SAI 音频编解码器
  • 一个 ST-MEMS 数字麦克风
  • 2 个 512 Mbit Quad-SPI NOR 闪存
  • 128 MB SDRAM
  • 4 GB 板载 eMMC
  • 2 个 CAN FD
  • 兼容 Arduino 扩展板
  • 具有 USB 重新枚举功能的板载 STLINK-V3E 调试器/编程器:大容量存储、虚拟 COM 端口和调试端口

微控制器图 2:STM32H745I-DISCO 评估板提供丰富的硬件资源。(图片来源:STMicroelectronics)

2.软件工具设置

STMicroelectronics 为其 MCU 提供了集成开发环境 (IDE)(图 3)。包括用于初始化代码生成和外设设置的编译器、调试器以及配置器。

微控制器图 3:STM32H7 IDE 的屏幕截图。(图片来源:STMicroelectronics)

3.学习和试验

接下来,建议阅读相关文档。最好从开发板的用户手册和相关的 STM32H7 参考手册入手。这些文档提供了有关 MCU 架构、外设配置、Pin-Mux 以及硬件特性的重要信息。

使用示例项目进行试验是学习这些工具的有效方法。STMicroelectronics 为各种 STM32 MCU 提供了一系列示例项目。这些示例可让您初步了解如何使用 MCU 的不同功能。

最后,开发人员社区还可提供更多支持。利用 [ST 社区]、教程和视频等资源可以找到常见问题的解决方案,并为可能的项目提供灵感。

4.开发和调试

集成开发环境提供了开始编写、编译和调试代码所需的一切。集成开发环境中的配置器可用于外设初始化和中间件设置。开发板的集成式 STLINK 调试器/编程器接口可进行实时调试。可使用断点、观察变量和单步执行代码来发现问题。

5.扩展项目

扩展板可以为 Discovery 和 Nucleo 开发板增加连接或传感器等功能。一旦通过开发板确定了所需功能,就可以使用开发板的原理图作为参考来设计定制 PC 板。[Seeed Technology Co., Ltd]的 [OpenMV4 CAM H7]摄像头平台(图 4)就是一个例子,其采用单核 STM32H743。

微控制器图 4:Seeed Technology OpenMV4 CAM H7 专用于视觉系统。(图片来源:Seeed Technology Co. Ltd.)

另一个例子是 Arduino 的 [ABX00051] Nicla Vision(图 5),其采用双核 STM32H747。

微控制器图 5:ABX00051 Nicla Vision 可帮助开发人员评估不同的图像传感器。(图片来源:Arduino)

结语

在产品设计中,要兼顾先进功能与成本优化这一对相互矛盾的需求,选择 MCU 就至关重要。选择正确的 MCU 系列能够提供可扩展的灵活解决方案,满足当前和未来的需求,STMicroelectronics 的 STM32H7 系列就是一个很好的例子。

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分