2. ePaper驱动基础:驱动芯片架构、SPI接口协议、命令集与数据手册解读

ePaper(电子纸)显示驱动与常规TFT-LCD驱动有本质区别。ePaper依赖电泳粒子在微胶囊中的物理迁移来维持图像,因此驱动芯片需要提供高压、多级时序波形以及复杂的刷新序列。本章从驱动芯片的内部架构出发,逐步拆解SPI通信协议、命令集结构,并给出数据手册的实用解读方法。

2.1 驱动芯片架构:从MCU到像素阵列的桥梁

典型的ePaper驱动芯片(如Solomon Systech SSD1680、Ultrachip UC8151、晶门科技SSD1675A)内部包含以下核心模块:

  • MCU接口控制器:解析来自主控的SPI/并行指令与数据,管理命令FIFO。
  • SRAM显示缓冲区:存储当前帧的像素数据(1-bit或4-bit灰度),容量与分辨率成正比。
  • 时序发生器:产生驱动波形所需的Gate(行选)与Source(列数据)时序。
  • 升压/稳压电路:将3.3V系统电压升压至±15V~±25V,驱动电泳粒子迁移。
  • Gate驱动阵列:逐行扫描TFT背板,控制每行像素的开关状态。
  • Source驱动阵列:向每列像素施加正/负/零电压,控制粒子运动方向。
  • 温度传感器:实时监测面板温度,用于查表调整驱动波形参数。
架构要点: ePaper驱动芯片的SRAM容量通常等于分辨率 × 每像素位数。例如,200×200像素、1-bit黑白屏需要5KB SRAM;若支持4-bit灰度,则需要20KB。主控通过SPI写入SRAM后,芯片独立完成全屏刷新,无需主控持续干预。
ePaper驱动芯片内部架构框图 ePaper驱动芯片内部架构框图 MCU接口控制器 SPI / 并行命令解析 SRAM显示缓冲区 1-bit / 4-bit 帧缓存 时序发生器 Gate/Source时序 升压/稳压电路 3.3V → ±15V~±25V Gate驱动阵列 逐行扫描TFT背板 Source驱动阵列 列电压施加 温度传感器 波形参数查表 说明: 主控通过SPI将图像数据写入SRAM后,时序发生器独立驱动Gate/Source阵列完成全屏刷新。 温度传感器实时反馈面板温度,驱动芯片自动查表选择最优波形参数,保证刷新质量。

2.2 SPI接口协议:命令与数据的传输规则

绝大多数ePaper驱动芯片使用SPI(Serial Peripheral Interface)作为主控通信接口。SPI协议在ePaper驱动中有以下关键约定:

信号线 方向 功能描述
CS (片选) 主控 → 芯片 低电平有效,选中芯片开始通信
SCLK (时钟) 主控 → 芯片 SPI时钟,通常支持10~20 MHz
SDIN (MOSI) 主控 → 芯片 命令/数据输入线
SDO (MISO) 芯片 → 主控 状态/数据输出线(部分芯片无此引脚)
D/C (数据/命令) 主控 → 芯片 高电平=数据字节,低电平=命令字节
协议要点: ePaper驱动芯片通常采用SPI模式0(CPOL=0, CPHA=0),即时钟空闲为低电平,数据在时钟上升沿采样。D/C引脚是区分命令与数据的关键,必须在CS拉低之前设置好D/C电平。

典型的SPI写命令序列如下:

// 伪代码:向ePaper驱动芯片写入命令0x22
void spi_write_command(uint8_t cmd) {
    GPIO_ResetBits(DC_PORT, DC_PIN);   // D/C = 0 (命令)
    GPIO_ResetBits(CS_PORT, CS_PIN);   // CS = 0 (选中)
    spi_transfer_byte(cmd);            // 发送命令字节
    GPIO_SetBits(CS_PORT, CS_PIN);     // CS = 1 (释放)
}

// 伪代码:向ePaper驱动芯片写入数据0x33
void spi_write_data(uint8_t data) {
    GPIO_SetBits(DC_PORT, DC_PIN);     // D/C = 1 (数据)
    GPIO_ResetBits(CS_PORT, CS_PIN);   // CS = 0 (选中)
    spi_transfer_byte(data);           // 发送数据字节
    GPIO_SetBits(CS_PORT, CS_PIN);     // CS = 1 (释放)
}

2.3 命令集结构:初始化、刷新与休眠

ePaper驱动芯片的命令集通常分为三大类:系统配置、数据写入、刷新控制。以SSD1680为例,核心命令如下:

命令码 命令名称 功能描述
0x01 Driver Output Control 设置Gate输出行数、扫描方向
0x0C Booster Soft Start 配置升压电路启动参数
0x11 Data Entry Mode 设置数据写入方向(X/Y增量)
0x22 Display Update Control 触发刷新序列(全刷/局部刷)
0x24 Write RAM (Black/White) 写入黑白像素数据到SRAM
0x26 Write RAM (Red/Yellow) 写入第二色(红/黄)像素数据
0x2E Read OTP Data 读取芯片OTP中存储的波形参数
0x10 Deep Sleep Mode 进入深度休眠,功耗降至μA级
常见陷阱: 部分芯片(如UC8151)在写入命令0x22后,需要等待BUSY引脚从低电平变为高电平,才能进行下一操作。忽略BUSY检测会导致命令丢失或刷新异常。
ePaper驱动初始化与刷新流程 ePaper驱动初始化与刷新流程 1. 上电复位 2. 软件初始化 3. 写入图像数据 4. 触发刷新命令 5. 等待BUSY完成 初始化命令示例: 0x01 (驱动输出控制) 0x0C (升压软启动) 0x11 (数据写入模式)

2.4 数据手册解读:关键参数与波形时序

解读ePaper驱动芯片的数据手册时,应重点关注以下章节:

  • 电气特性表:查找VDD、VDDIO、VGH、VGL的绝对最大值与推荐工作范围。
  • SPI时序图:确认SCLK频率上限、CS建立时间、D/C建立时间等关键参数。
  • 命令表:逐条理解命令码、参数个数、参数含义。
  • 驱动波形图:理解Gate/Source电压的相位关系,以及正负电压切换的时序。
  • 温度补偿表:不同温度区间对应的波形参数索引。
实用技巧: 在数据手册中,驱动波形图是最容易被忽略但最重要的部分。它决定了刷新速度、对比度和残影程度。调优全局刷新时,通常需要修改波形表中的相位持续时间和电压幅值。
ePaper SPI时序图(模式0) ePaper SPI时序图(模式0:CPOL=0, CPHA=0) CS SCLK D/C SDIN 命令字节 数据字节 ▲ 上升沿采样 ▲ 上升沿采样 ▲ 上升沿采样 D/C在CS拉低前设置:低电平表示后续字节为命令,高电平表示后续字节为数据。

2.5 数据手册解读实战:以SSD1680为例

以Solomon Systech SSD1680数据手册(版本1.2)为例,解读关键页面:

手册章节 页码 关键内容
Pin Assignment P.8 确认SPI引脚位置、D/C与BUSY引脚编号
Command Table P.28-35 0x22命令的参数:bit[7:4]选择刷新模式
Timing Characteristics P.42 SCLK最大频率=20MHz,CS高电平最小宽度=50ns
Display Update Sequence P.50 全刷流程:写RAM → 0x22(0xF7) → 等待BUSY
Waveform Table P.55-60 温度区间0~50°C对应的波形参数索引
解读建议: 拿到数据手册后,先通读命令表和显示更新序列,建立整体流程概念。然后针对具体需求(如加速全局刷新),重点分析波形表和时序特性。不要一开始就陷入电气特性细节。