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

相关推荐
song_ly00138 分钟前
深入理解软件测试覆盖率:从概念到实践
笔记·学习·测试
DIY机器人工房1 小时前
[6-2] 定时器定时中断&定时器外部时钟 江协科技学习笔记(41个知识点)
笔记·stm32·单片机·学习·江协科技
海尔辛2 小时前
学习黑客5 分钟小白弄懂Windows Desktop GUI
windows·学习
DanB243 小时前
Java笔记4
java·开发语言·笔记
烟雨迷3 小时前
Linux环境基础开发工具的使用(yum、vim、gcc、g++、gdb、make/Makefile)
linux·服务器·学习·编辑器·vim
@十八子德月生3 小时前
8天Python从入门到精通【itheima】-1~5
大数据·开发语言·python·学习
小智学长 | 嵌入式4 小时前
单片机-STM32部分:13-1、蜂鸣器
stm32·单片机·嵌入式硬件
UpUpUp……4 小时前
Linux--JsonCpp
linux·运维·服务器·c++·笔记·json
qq_5982117574 小时前
Unity.UGUI DrawCall合批笔记
笔记·unity·游戏引擎
#金毛4 小时前
六、STM32 HAL库回调机制详解:从设计原理到实战应用
stm32·单片机·嵌入式硬件