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后,芯片独立完成全屏刷新,无需主控持续干预。
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检测会导致命令丢失或刷新异常。
2.4 数据手册解读:关键参数与波形时序
解读ePaper驱动芯片的数据手册时,应重点关注以下章节:
- 电气特性表:查找VDD、VDDIO、VGH、VGL的绝对最大值与推荐工作范围。
- SPI时序图:确认SCLK频率上限、CS建立时间、D/C建立时间等关键参数。
- 命令表:逐条理解命令码、参数个数、参数含义。
- 驱动波形图:理解Gate/Source电压的相位关系,以及正负电压切换的时序。
- 温度补偿表:不同温度区间对应的波形参数索引。
实用技巧: 在数据手册中,驱动波形图是最容易被忽略但最重要的部分。它决定了刷新速度、对比度和残影程度。调优全局刷新时,通常需要修改波形表中的相位持续时间和电压幅值。
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对应的波形参数索引 |
解读建议: 拿到数据手册后,先通读命令表和显示更新序列,建立整体流程概念。然后针对具体需求(如加速全局刷新),重点分析波形表和时序特性。不要一开始就陷入电气特性细节。