硬件基础
硬件组成
PCB板
存储芯片:
ROM芯片:含PROM/EPROM/EEPROM/FLASH-ROM
RAM芯片:分静态RAM和动态RAM
Flash芯片:含SPI/NAND/eMMC三种类型
电子元件
调试接口:UART、JTAG、I2C、SPI等
模块:蓝牙模块、WiFi模块等
ROM
迭代
掩膜ROM(Mask ROM):仅允许一次性写入,之后不可更改
PROM(可编程ROM):可编程但只能写入一次
EPROM(可擦除PROM):可通过紫外线擦除后重新编程
EEPROM(电可擦除PROM):可通过电信号擦除和重写
Flash Memory(闪存):EEPROM的改进型,按扇区操作
迭代过程中逐步增加了擦除和写入功能
擦除方式从紫外线发展到电擦除
Flash结合了ROM和RAM的优点,成为主流程序存储器
引脚功能
地址输入端(A0∼An-1):n位地址线,可寻址2^n存储单元
数据输入输出端(I/O0∼I/O7):8位双向数据总线
片选端(CE):低电平有效,控制芯片是否工作
读使能(OE):低电平有效,控制数据读取
写使能(WE):低电平有效,控制数据写入
读写
地址译码器:将输入的二进制地址转换为存储矩阵中的具体位置
存储矩阵:实际存储数据的单元阵列
输出缓冲器:临时存储读取的数据
三态控制:管理数据输出状态
工作状态
读出模式:CE=低,OE=低,WE=高,数据输出(DOUT)
写入模式:CE=低,OE=高,WE=低,数据输入(DIN)
维持模式:CE=高,芯片不工作,数据口高阻态
输出禁止:CE=低,OE=高,WE=高,数据口高阻态
RAM
RAM主要分为静态随机存储器SRAM和动态随机存储器DRAM两种
SRAM的集成度比DRAM更低但速度更快、功耗更高且不需要刷新电路,常用于Cache
读写
与ROM类似,具备
地址译码器
片选信号
读/写控制电路
工作状态
未选中(CE=H):所有I/O高阻态
禁止输出(CE=L, WE=H, OE=H)
读出模式:
- LB=L,UB=H:输出I/O0∼I/O7(低字节)
- LB=H,UB=L:输出I/O8∼I/O15(高字节)
- LB=L,UB=L:同时输出16位数据
写入模式:类似读出模式,但数据方向相反
FLASH
NOR FLASH
接口结构属于典型的类SRAM,其特点是具备可芯片内执行XIP(eXecute In Place)特性
支持并行接口:公共闪存接口(CFI、JEDEC、Paralle)和串行接口:串行外围设备接口(SPI)
NAND FLASH
同样具有I/O总线、CE、WE、RE、CLE(命令锁存使能)、ALE(地址锁存使能)、R/B(就绪控制)
特性
SLC特性:
- 每单元1bit(0/1)
- 擦写次数约10万次
- 读取时间25μs,编程时间300μs
- 稳定性最强,成本最高
- 最大容量512GB
MLC特性:
- 每单元2bit(00/01/10/11)
- 擦写次数约5000次
- 读取时间50μs,编程时间600μs
- 稳定性中等,成本中等
- 最大容量4TB
TLC特性:
- 每单元3bit(000-111)
- 擦写次数约1000次
- 读取时间75μs,编程时间900μs
- 稳定性较弱,成本最低
- 最大容量6TB
eMMC
本质上是NAND Flash,但进行了更高级的封装
Flash Memory:底层存储介质
- Boot Area:与eMMC启动过程相关,负责设备检测等初始化操作
- RPMB分区:存放安全敏感数据(如指纹、密码),具有防篡改检测功能
- General Purpose分区:可自定义分区,用于存放操作系统等特定功能数据
- User Data Area:存放普通用户数据(如照片、文档)
Flash Controller:管理闪存操作
- ECC校验:使用椭圆曲线算法进行数据加密(特别用于RPMB分区)
- 坏块管理:检测和处理存储介质中的坏块
- 磨损均衡:延长闪存使用寿命
Host Interface:与主机的通信接口
- CLK:时钟信号,决定数据传输速率
- Data Strobe:同步从设备端输出数据
- CMD:用于Host发送命令或接收设备响应
- DAT0-7:数据线,实际传输数据的通道
通信接口
UART
全称:通用异步收发传输器(Universal Asynchronous Receiver/Transmitter)
接口:
- GND:接地
- VCC:供电
- TX:写入
- RX:读取
特点:
- 交叉互联:设备A的TX接设备B的RX,设备A的RX接设备B的TX
- 无时钟:串行异步通信协议,依赖预设波特率同步
- 帧格式:包含空闲位、起始位、5-9位数据位、校验位、停止位
JTAG
全称:联合测试工作组(Joint Test Action Group)
接口:
- TMS: 测试模式选择信号
- TCK: 测试时钟信号
- TDI: 测试数据输入
- TDO: 测试数据输出
- TRST: 内部TAP控制器复位信号(非强制,可通过TMS实现复位)
- STCK: 时钟返回信号
- DBGRQ: 目标板工作状态控制信号
TAP:Test Access Port(测试访问端口)
提供访问芯片内部数据寄存器(DR)和指令寄存器(IR)的通用通道,通过TAP控制器(16状态同步状态机)实现JTAG整体控制,同时控制器状态转换完全由TMS信号控制决定
JTAG指令集:
- EXTEST指令: 用于边界扫描测试,是JTAG基础功能指令
- SAMPLE/PRELOAD指令: 具有采样和预加载双重功能,可用于数据重载(reload)操作
- BYPASS指令: 提供旁路功能,可绕过复杂逻辑实现快速通信
- IDCODE指令: 用于读取芯片身份识别码
- 功能特点: 这些指令极大地扩展了JTAG的功能范围,使其比原始版本复杂得多,能够支持更多样化的操作场景
SWD:
- SWD实质是JTAG的功能子集,通过引脚复用减少接口数量,且大多数功能保持一致,SWD设备可直接用于JTAG兼容系统
- 接口对应关系:
- TCLK ↔ SWCLK
- TMS ↔ SWDIO
- TDO ↔ SWO
SPI
串行外设接口,通常用于Flash芯片通信
CAN
主要用于汽车电子领域,支持自动驾驶系统通信
I2C
双向两线制串行总线,需专用解析设备
RS-232
通过USB转换器实现的传统串口协议
COM
通过USB转换器实现的传统串口协议
ISP
ISP(In-System Programming)是一种基于预留通信接口的在线编程技术,允许直接在电路板上对嵌入式芯片进行程序写入或擦除操作,无需拆卸芯片。