单片机基础知识
基本概念
硬件
物理组件.
软件
指可在嵌入式系统上执行的可执行代码和数据的集合.
固件
介于硬件和软件之间的一类软件 (固定在出厂硬件之间的软件), 是存储在非易失性存储器中的代码和数据. 用于控制硬件设备的操作和功能, 用于初始化硬件, 加载操作系统或直接执行控制功能.
存储器
ROM (Read Only Memory)
只能读取, 在出厂时写定内容无法更改.
RAM (Random Access Memory)
之所以叫 Random Access Memory, 是因为它可以在任意时间以相同的速度访问存储器中的任何数据, 而不受数据存储位置的限制. 这个术语中的 “随机” 指的是存储器中的数据可以按任意顺序进行读取和写入, 而不需要按照特定的顺序访问. 与之相对的是 “顺序访问”, 在顺序访问存储器中, 数据必须按照存储位置的顺序进行读取和写入.
RAM 中的数据存储在一个由存储单元组成的阵列中, 每个存储单元都有一个唯一的地址. 通过指定所需数据的地址, RAM 可以直接访问该数据, 而不需要按照特定的顺序遍历存储器.
DRAM (Dynamic Random Access Memory)
每个存储单元由一个电容和一个晶体管组成. 由于电容器会逐渐失去电荷, 需要定期刷新 (Dynamic) 以保持数据的可靠性.
其结构相对简单, 可以实现较高密度存储, 制造成本相对低.
SRAM (Static Random Access Memory)
由触发器构成, 多个晶体管实现存储. 存储数据不需要刷新, 因为触发器的状态可以保存, 直到断电 (Static). 但其访问速度比 DRAM 快.
其结构相对复杂, 存储密度低且制造成本高.
Flash
一种非易失性存储器, 在断电时也能保持数据.
“Flash” 这个名字源于闪存存储器的特点, 在计算机术语中, “Flash” 意味着快速, 瞬间的动作. 因此, 闪存存储器被称为 “Flash”, 以强调它相对较快的访问速度和能够快速写入和擦除数据的特性.
EDA
EDA (Electronic Design Automation Software), 用于电子设计, 包括电路设计, 电路仿真, 电路布局, 电路布线, 逻辑综合, 时序分析, 功耗分析等.
常见 EDA 软件包括:
- Candence Allegro
- Synopsys Design Compiler
国内可用的有:
- 嘉立创
PCB
PCB (Printed Circuit Board, 印刷电路板), 用于连接电子元件的基板, 通过印刷的方式将导电层, 绝缘层和其他功能层制作在一起.
排母 (Header)
一种电子连接器件, 由一排金属引脚组成, 可在电路板上提供连接和插拔.
排针 (Pin Header)
一种具有固定长度的金属引脚, 通常插入排母的孔中以建立电连接.
飞线 (Jumper wire)
指直接连接电子元件之间的导线, 而不是通过 PCB 上的导线相连.
单片机种类介绍
51
51 系列单片机的名称来自于 Intel 公司推出的 8051 系列单片机, 其中的 “51” 代表了其系列的编号.
其不是单指一个公司推出的, 而是对兼容 Intel 8051 指令系统的单片机的统称.
51 单片机都是 8 位架构, 但不同型号之间会有不同的存储容量, 时钟频率, 外设接口等, 常见有:
- 8051
- 89C51/52
- 80C51
- STC89
等.
51 系列的指令相对简单, 生态较为丰富, 但处理能力相对低 (8位), 存储以及外设有限.
其采用普林斯顿结构, 将指令存储器和数据存储器合并在一起.
STM32
STM32 单片机的名称来自于 STMicroelectronics 公司推出的一系列 32 位微控制器. 其中的 “STM” 代表了 STMicroelectronics 的缩写, 而 “32” 表示该系列单片机采用了 32 位的处理器架构.
其性能高, 功耗低, 外设丰富, 开发工具和生态较为广泛.
H7 和 F7 系列
H7 和 F7 系列都采用了 ARM Cortex-M7 核心, 但 H7 系列还添加了 ARM Cortex-M4 核心, 形成了双核 (Dual-Core) 架构.
H7 提供了更高的时钟速度和更大的存储容量, 有更多外设, 以及集成了图形处理单元.
如 STM32F103C8T6
:
STM32
指 ARM 核心的 32 位微控制器F
指通用类型103
指增强型C
指引脚数量为 488
指 64K 闪存T
指封装类型为 LQFP6
指温度范围为-40~85
ARM Cortex 系列
- Cortex-A, A 指 “Application”
- Cortex-R, R 指 “Real-Time”
- Cortex-M, M 指 “Microcontroller”
AVR
AVR (Advanced Virtual RISC), 为 Atmel 公司推出的一系列 8 位微控制器. 其在设计时吸取了 8051 及 PIC 单片机的优点.
其采用 Harvard 架构(程序存储器和数据存储器分开) 和 RISC 指令集, 具有较高的性能和灵活性.
常用型号:
- 低档: Tiny11/12/13/15/26/28
- 中档: AT90S1200/2313/8515/8535
- 高档: ATmega8/16/32/64/128
PIC
PIC (Peripheral Interface Controller) 为 General Instrument Microelectronics 推出的一系列微控制器, 最初为 8 位, 后推出 32 位.
ESP
ESP32 是由 Espressif Systems 开发的低功耗, 高性能的无线系统芯片.
开发板种类介绍
ESP32
Arduino
Raspberry Pi
MicroPython
Pico
一些硬件设备基础
晶振
晶振 (Crystal), 其利用石英晶体的压电效应和逆压电效应产生稳定的频率. (使电路中产生稳定的电路电压)
压电效应, 即当施加机械应力时, 晶体会有电荷积累产生电压在两侧放电. (机械能转化为电能的过程)
逆压电效应, 即当压电材料表面施加电场, 因电场作用而使材料发生形变. (电能转化为机械能的过程)
放大器负责放大晶体产生的微弱振动信号,并将其转化为有效的输出信号.
结构示意图:
只依靠晶振还不能产生稳定的频率信号, 需要构成一个类似 “皮尔斯振荡电路” 的电路:
最上面是一个反相器, 兼具放大的作用, 在输出端能输出稳定的电压. (不是指电压大小不变, 而是输入输出不失真)
晶振电路之所以能够起振, 依靠的是上电时电路中的噪声信号, 这个信号经反相器放大后会传递给晶振, 而晶振只允许频率等于其谐波频率的信号通过, 也就起到了滤波作用. 而这个谐波频率又会被反馈到输入端, 以此往复, 这个振荡电路就会产生稳定的频率.