嵌入式系统之微控制器架构揭秘
一、微控制器编程与应用概述
在微控制器编程中,并非所有硬件都能直接在 MicroPython 中使用,这是编程者需要注意的一点。编程可以使用 C、C++ 和 MicroPython 语言。处理硬件相关主题时,可借助 C 语言,再用 C++ 语言进行泛化,最后(如果可能)给出 MicroPython 版本的代码,这样无论是 C 语言专家还是普通用户都能从中受益。
对于微控制器的选择,基于 Arm® Cortex™ - M4 架构的 STM32F429ZIT6 微控制器是个不错的选择。该架构在微控制器领域占据主导地位,原因在于 Arm® 提供 IP,各公司结合自定义外设单元形成物理微控制器,从而构建了庞大的生态系统。同时,它在低功耗方面表现出色,这对于独立嵌入式系统的实现至关重要。有数据显示相关合作伙伴已出货超 1800 亿基于 Arm® 的芯片,并且预计到 2035 年将生产一万亿个新的物联网设备,这表明嵌入式系统市场具有巨大的增长潜力。
为了让学习者更好地理解嵌入式系统概念,采用了“机器人真空吸尘器”这一主题应用,通过逐步介绍其硬件和软件组件,让读者了解复杂嵌入式系统的整体布局。
二、STM32F4 微控制器架构详解
(一)STM32F4 微控制器简介
本文所使用的 STM32F429ZIT6 微控制器基于 Arm® Cortex™ - M4 架构,为方便表述,后续简称为 STM32F4。其功能框图有助于将硬件和外设单元分为 CPU、内存、通用输入输出端口、时钟和定时器模块、模拟模块、数字通信模块等,下面将逐一介绍各单元。