上一篇 下一篇
SWD 和 JTAG 的区别 待写

1)单片机 MCU 的构成

单片机:Single-Chip Microcomputer,单片微型计算机,是一个完整的系统级芯片,也称为 MCU(MicroController Unit)。

MCU 通常是一 个大的系统级芯片,他把 CPU、SRAM、FLASH 都集成到了这个芯片中(和电脑不一样,电脑这三个都是分开的),内部的完整构成为:CPU + 存储器 + 外设控制器 + 时钟系统 + 总线矩阵 + 电源管理
MCU 芯片外部图:
在这里插入图片描述
MCU 芯片内部图(LQFP封装,不尽相同,仅作参考):
在这里插入图片描述

构成:

在这里插入图片描述

其中:

  • CPU中央处理器,比如 ARM Cortex-M3(相当于电脑的 CPU )
  • SRAM静态随机存取存储器(相当于电脑的运行内存,不过电脑的是动态存储器 DRAM )
  • FLASH闪存,是一种非易失性存储器,其中一部分用于存储代码,一部分用于存储关键数据(相当于电脑的硬盘)
    • 也就是说代码是下载在单片机的 flash 里的,掉电保护。
    • 特点是:非易失、可多次擦写(10万次以上)、支持块擦除,速度快、成本低,集成度高。
    • 电脑中的硬盘,本质上就是大容量的 Flash 存储器。
    • 【注意】 ROM 翻译过来是只读存储器,最初的 ROM 是出厂时写入,无法修改,随着技术发展,出现了可编程的“ROM”,比如 EEPROM,而 FLASH 是 EEPROM 的改进版,支持块擦除(比字节擦除更快)。现代多称呼 ROM 是一个功能概念,指 “用来存程序、掉电不丢的存储器” ,而 Flash 是一种技术实现,是现代单片机中实现 ROM 功能的主流方式。
  • 外设控制器IO 口、USB 等外设的控制器

2)FLASH 和 SRAM 的区别

特性 FLASH SRAM
存储类型 非易失性存储器(断电后数据不丢失) 易失性存储器(断电后数据丢失)
主要用途 存放程序代码常量数据(如图片、配置) 存放运行时数据(如变量、堆栈、中间结果)
读写速度 读取较快,写入很慢(需先擦除再写) 读写都极快,与 CPU 速度匹配
读写方式 按“扇区/页”擦除,按“字/页”写入 可按“字节/字”随机读写,像普通内存
寿命 有限(通常 1万~10万次擦写) 理论上无限次读写
成本与密度 成本低,存储密度高(容量大) 成本高,存储密度低(容量小)
类比 硬盘或 U 盘——用于长期保存文件 电脑内存条 (RAM)——程序运行时的“工作台”

简单来说就是:FLASH 是“仓库”:用来长期存放程序和数据,断电不丢,但存取慢;SRAM 是“工作台”:程序运行时把要用的东西从仓库(FLASH)搬上来,快速处理,断电后清空。在单片机中,程序从 FLASH 启动,但运行时的变量、堆栈等必须加载到 SRAM 中才能被 CPU 高速访问。

【注意】 RW-data(read write)类型的数据:一个初始值非 0 的数据,初值会存放在 FLASH 中,然后程序启动后,将 Flash 中存储的 RW-data 初始值复制到 SRAM 中对应的变量地址。之后程序运行过程中,CPU 操作的都是 SRAM 中的,可以自由读写。

3)原理图引脚类型:

  • 电源引脚:标识符前以 V 开头的基本上都是;
  • 晶振引脚:标识符里带 OSC 的都是;
  • 复位引脚:标识符里带 RST 的都是;
  • 下载引脚:JTAG 和 SWD 相关的引脚(串口1也可以下载,但是一般都不用);
  • BOOT引脚:标识符里带 BOOT 的引脚都是(一般是2个);
  • GPIO引脚:凡是以 P 开头的引脚都是;

4)STM32F103ZET6(简介)

其 MCU 芯片的构成如下:

+--------------------------------------------------+
|               STM32F103ZET6 (MCU)                |
|                                                  |
|  +----------------+                              |
|  |   CPU 核心      |<----+                        |
|  | (Cortex-M3)    |     |                        |
|  +----------------+     |                        |
|           |             |                        |
|           v             v                        |
|  +----------------+  +----------------+          |
|  |    Flash       |  |     SRAM       |          |
|  |  (512KB)       |  |   (64KB)       |          |
|  +----------------+  +----------------+          |
|           |                   |                  |
|           +--------+----------+                  |
|                    |                             |
|           +--------v--------+                    |
|           |     总线矩阵      |<----+             |
|           |  (Bus Matrix)    |     |             |
|           +------------------+     |             |
|                    |               |             |
|        +-----------v------------+  |             |
|        | 多种外设控制器(APB/AHB) |<-+             |
|        | - GPIO x112 pins       |                |
|        | - USART1/2/3, UART4/5  |                |
|        | - SPI1/2/3, I2C1/2     |                |
|        | - ADC1/2/3, DAC        |                |
|        | - TIM1~8 (定时器)       |                |
|        | - USB, CAN, DMA        |                |
|        +------------------------+                |
|                    |                             |
|           +--------v--------+                    |
|           |   时钟系统        |                   |
|           | (PLL, HSE, HSI)  |                   |
|           +------------------+                   |
|                    |                             |
|           +--------v--------+                    |
|           |   电源管理        |                   |
|           | (PWR, VDD/VSS)   |                   |
|           +------------------+                   |
+--------------------------------------------------+

ZET6:Z(144脚)、E(FLASH为512KB)、T(LQFP封装)、6(工作温度为-40°C ~ +85°C,最大主频72MHz)。

参数如下:

  1. 主频 / FLASH / SRAM:72MHz / 512KB / 64KB;
  2. 工作电压 / 最大电流:2.0~3.6v / 150mA (板子上是 3.3v);

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐