硬件基础

硬件组成

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)是一种基于预留通信接口的在线编程技术,允许直接在电路板上对嵌入式芯片进行程序写入或擦除操作,无需拆卸芯片。

一个仍在爬山的人