硬件学习笔记--57 MCU相关资源介绍

MCU(Microcontroller Unit,微控制器)是嵌入式系统的核心,集成了处理器核心、存储器、外设接口等关键资源。以下是关于MCU相关硬件资源的详细介绍。

1. 核心处理器(CPU Core)

架构类型: 8/16/32位:如8051(8位)、PIC(8/16位)、ARM Cortex-M(32位)。

RISC vs CISC: 现代MCU多采用RISC架构(如ARM Cortex-M),指令精简高效。

常见内核: ARM Cortex-M0/M3/M4/M7、RISC-V、AVR(Arduino)、MIPS等。

时钟频率: 从几MHz到数百MHz(如STM32H7可达550MHz),影响运算速度。

2. 存储器资源

Flash存储器: 存储程序代码,容量从几KB到数MB(如STM32F系列16KB~2MB)。支持擦写次数约1万~10万次(NOR Flash)。

SRAM: 运行时数据存储,容量从几KB到数百KB(如ESP32可达520KB)。掉电丢失,速度比Flash快。

EEPROM: 存储需长期保留的配置数据(如校准参数),擦写次数约10万~100万次。容量通常较小(1KB~64KB)。

外部存储器接口: 部分MCU支持扩展SPI Flash、SD卡或并行总线存储器。

3. 输入/输出接口(GPIO)

数字GPIO: 可配置为输入(带上拉/下拉电阻)、输出(推挽/开漏)。

支持中断触发(上升沿、下降沿等)。

模拟GPIO: 部分引脚支持ADC输入或DAC输出。

4. 模拟外设

ADC(模数转换器): 分辨率:8~16位(如12位ADC常见于STM32)。采样率:从几kSPS到数MSPS(如STM32H7的ADC可达3.6MSPS)。

DAC(数模转换器): 分辨率通常为8~12位,用于输出模拟信号。

比较器: 快速比较模拟电压,用于过压保护等场景。

5. 通信接口

串行通信:

UART/USART:异步串口,用于调试(如printf)或与传感器通信。

SPI:高速全双工(可达50MHz),用于Flash、显示屏等。

I2C:多设备总线(标准模式100kHz,快速模式400kHz)。

CAN:工业级总线(汽车、工业控制),抗干扰强。

USB:部分MCU支持USB 2.0 OTG(如STM32F4)。

无线通信:

集成蓝牙/Wi-Fi的MCU(如ESP32、nRF52)。

6. 定时器与PWM

通用定时器: 用于计时、事件捕获、PWM生成(如STM32的TIM模块)。

PWM输出: 控制电机、LED亮度等,分辨率通常为8~16位。

看门狗定时器(WDT): 防止程序跑飞,分窗口看门狗(WWDG)和独立看门狗(IWDG)。

7. 电源管理

工作电压: 常见1.8V~5V(低功耗MCU可低至0.9V)。

低功耗模式: 睡眠模式:关闭CPU,保留外设。

停机模式:仅保留RAM和RTC。

待机模式:最低功耗,仅通过外部事件唤醒。

电源监控: Brown-out Reset(BOR)防止电压跌落导致异常。

8. 调试与开发支持

调试接口: JTAG/SWD:用于程序下载和实时调试(ARM Cortex常用SWD)。

Trace接口: 高级MCU支持ETM/SWO,用于实时跟踪代码执行。

Bootloader: 支持通过UART/USB更新固件(如STM32的DFU模式)。

9. 其他特殊外设

硬件加密: AES/SHA加速引擎(如STM32L4)。

图形处理: 部分MCU集成LCD控制器(如STM32F7)。

电机控制: 带死区插入的PWM模块(如TI的C2000系列)。

10. 选型关键参数

性能需求: 主频、运算能力(DMIPS/MHz)。

存储需求: Flash/RAM容量、是否需要扩展。

外设匹配: ADC精度、通信接口数量。

功耗: 低功耗场景需关注uA级待机电流。

封装: QFN、LQFP、BGA等,影响PCB设计难度。

  1. 常见MCU厂商及学习与开发工具

MCU厂商:

STMicroelectronics:STM32(ARM Cortex-M)

NXP:Kinetis、LPC(ARM Cortex-M)

Microchip:PIC(8/16/32位)、AVR(如ATmega)

TI:MSP430(超低功耗)、C2000(电机控制)

Espressif:ESP32(Wi-Fi/蓝牙双模)

IDE:Keil MDK、IAR Embedded Workbench、STM32CubeIDE、PlatformIO。

调试及开发工具:

调试工具:J-Link、ST-Link、USB-TTL串口模块。

开发板:STM32 Discovery Kit、Arduino、Raspberry Pi Pico(RP2040)。

相关推荐
野犬寒鸦23 分钟前
从零起步学习并发编程 || 第七章:ThreadLocal深层解析及常见问题解决方案
java·服务器·开发语言·jvm·后端·学习
陈桴浮海24 分钟前
【Linux&Ansible】学习笔记合集二
linux·学习·ansible
深圳市九鼎创展科技36 分钟前
瑞芯微 RK3399 开发板 X3399 评测:高性能 ARM 平台的多面手
linux·arm开发·人工智能·单片机·嵌入式硬件·边缘计算
辰哥单片机设计41 分钟前
STM32项目分享:车辆防盗报警系统
stm32·单片机·嵌入式硬件
xhbaitxl42 分钟前
算法学习day39-动态规划
学习·算法·动态规划
智者知已应修善业1 小时前
【洛谷P9975奶牛被病毒传染最少数量推导,导出多样例】2025-2-26
c语言·c++·经验分享·笔记·算法·推荐算法
ZH15455891311 小时前
Flutter for OpenHarmony Python学习助手实战:数据库操作与管理的实现
python·学习·flutter
Junlan271 小时前
Cursor使用入门及连接服务器方法(更新中)
服务器·人工智能·笔记
risc1234562 小时前
如何认识结构?结构 = 要素 + 关系 + 动态
笔记
试着2 小时前
【huawei】机考整理
学习·华为·面试·机试