硬件学习笔记--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)。

相关推荐
涤生z几秒前
list.
开发语言·数据结构·c++·学习·算法·list
励志不掉头发的内向程序员36 分钟前
【Linux系列】掌控 Linux 的脉搏:深入理解进程控制
linux·运维·服务器·开发语言·学习
三佛科技-1341638421242 分钟前
智能美甲灯方案,UV/LED美甲光疗机美甲烤灯MCU控制方案开发设计
单片机·嵌入式硬件·智能家居·pcb工艺
listhi5201 小时前
基于STM32F407与FT245R芯片实现USB转并口通信时序控制
stm32·单片机·嵌入式硬件
光影少年2 小时前
云计算生态及学习方向和就业领域方向
学习·云计算
好奇龙猫2 小时前
[AI学习:SPIN -win-安装SPIN-工具过程 SPIN win 电脑安装=accoda 环境-第四篇:代码修复]
人工智能·学习
luckyPian2 小时前
学习go语言
开发语言·学习·golang
chenzhou__2 小时前
MYSQL学习笔记(个人)(第十五天)
linux·数据库·笔记·学习·mysql
rechol3 小时前
C++ 继承笔记
java·c++·笔记
JJJJ_iii5 小时前
【机器学习01】监督学习、无监督学习、线性回归、代价函数
人工智能·笔记·python·学习·机器学习·jupyter·线性回归