简介这份PDF面向低功耗显示驱动选型、电子价签、可穿戴设备与IoT终端设计人员系统梳理Sitronix ST7305/ST7306超低功耗a-TFT驱动IC的版本差异、关键规格与典型应用。内容围绕主版本ST7306与入门版ST7305的单色、4色、8色、64色分辨率组合1Hz OnOff ULP驱动方式反射式与透反射式LCD适配-3085℃宽温工作以及纽扣电池续航估算展开文中给出2.13英寸电子价签约6.5μA、CR2450电池约8.32年寿命等参考数据并覆盖电子价签、可穿戴、智能仪表、医疗与远程控制等场景便于读者快速评估方案功耗与显示规格的匹配度。资源包仅含1个PDF文件大小约533KB适合作为芯片选型、模组评估和低功耗显示方案设计的速查资料。目前已有898人学习下载可帮助读者掌握两款芯片的规格边界、功耗测算思路、应用场景取舍与设计注意事项。1. 一颗CR2450的两种算法ST7305 与 ST7306 这套超低功耗 a-TFT 驱动方案到底解决什么一颗 CR2450 纽扣电池标称容量 620mAh。把它接到一块 1.3 英寸 262K 色常规 TFT 模组上模组电流 5mA除一下是 124 小时五天出头就得想办法换电池。同一颗电池接到 2.13 英寸单色 a-Si TFT 配 ST7305 的价签模组上面板加驱动 IC 平均 6.5uAMCU 板再算 2uA合计 8.5uA除下来 72941 小时、3039 天、八年多。差别不在电池也不在面板尺寸而在驱动 IC 用什么节奏去推这屏。ST7305 和 ST7306 是两颗面向超低功耗场景的 a-TFT 显示驱动 IC一个入门版、一个主版本配合反射式或透射反射式面板把「始终显示」这件事的电流压进微安级。这套方案适合三类人做电子价签、智能仓储标签的产品工程师做可穿戴、遥控器、温度计、医疗终端这类小电池长待机设备的硬件负责人以及要交一份完整低功耗显示设计方案的毕设或课设同学。往下按需求、时序、选型、实现、避坑、验收的顺序拆开讲。2. 驱动时序设计把 60Hz 刷新压到 1Hz省下来的电到底有多少2.1 常规 a-TFT 驱动与 ULP 驱动的时序差别常规 a-TFT 面板的驱动逻辑很朴素每一帧 1/60 秒一秒推 60 帧不管画面有没有变。屏幕显示一张静态的价签图片源极驱动照样每秒翻转 60 次电荷泵照样每秒工作 60 轮功耗就摆在那里。这块功耗和「画面变化频率」几乎无关只和「刷新频率」有关这是很多人第一次做低功耗显示时最容易忽略的一点。ST7305/ST7306 的 ULP 驱动方式把帧周期从 1/60 秒拉到 1 秒也就是 1Hz。一秒钟只推一帧源极驱动的翻转次数降到原来的六十分之一电荷泵的开关次数同步下降平均电流自然跟着掉一个量级。更关键的是它引入了 On Off 双模式在两次刷新之间的那一秒里把不需要的模拟模块关掉Off只在刷新窗口内打开On刷完立刻回到关断态。这里有个容易误解的地方——1Hz 不等于「屏幕一秒才动一次所以卡」。电子价签、温湿度读数、智能锁的电量图标这些内容本来就几分钟才变一次1Hz 的刷新率对它们是过剩的真正需要流畅动效的场景本来也不该选反射式面板。我一般会跟人这么解释这套方案不是把屏幕做慢是把「屏幕没变的时候还在空转」这件事砍掉了。判断一颗 IC 是不是真的在按 ULP 模式跑看电流波形最直接。正常 ULP 状态下示波器抓到的是周期性窄脉冲一个刷新窗口内电流冲到毫安级窗口之外掉到微安甚至更低占空比极低。如果波形是连续不断的锯齿说明要么帧率配置没生效要么 Off 模式压根没进得回头查初始化序列。2.2 On/Off 双模式与整机静态电流预算把功耗算清楚得先分清哪部分是谁的。以 2.13 英寸单色 a-Si TFT250×122配 ST7305 的模组为例官方给的分解是面板加驱动 IC 约 6.5uAMCU 板约 2uA整机 8.5uA。这个数字里驱动 IC 和面板占了大头MCU 反倒不是主要矛盾——但只要 MCU 唤醒策略写错2uA 能变成 200uA。整机静态电流预算通常要按下面这张表逐项过缺一项都可能在实测时被打脸功耗项典型量级说明面板 驱动 IC1Hz ULP6.5uA单色 2.13 英寸反射式模组MCU 休眠基流1~2uA取决于休眠深度与时钟源传感器待机0.5~3uA温湿度类器件差异很大LDO 静态电流0.5~5uA选型时最容易漏掉的一项GPIO 漏电 / 上拉电阻0~50uA悬空引脚、常开上拉是重灾区电池自放电1~3% / 年长期寿命折算要扣掉MCU 侧还有一笔账值得单独算唤醒刷新一次的能耗。假设唤醒后 3mA 跑 10ms单次耗电 30uC。如果每小时刷一次平均下来 30uC÷3600s ≈ 8.3nA可以忽略如果改成每小时刷 60 次平均就是 0.5uA占整机预算的 6%。所以低功耗设计里真正该抠的是「刷新频率 × 单次唤醒时长」而不是笼统地把 MCU 换个更省电的型号。电池寿命的估算公式简单到有点反常# 电池寿命估算按平均电流折算再乘实际可用系数 def battery_life_years(capacity_mah, avg_current_ua, derating0.7): capacity_mah : 电池标称容量CR2450 取 620 avg_current_ua: 整机平均电流单位 uA derating : 实际可用系数扣自放电、低温内阻上升、截止电压 hours capacity_mah * 1000 / avg_current_ua # mAh - uAh 再除以 uA 得小时 days hours / 24 return hours, days, days / 365 * derating h, d, y battery_life_years(620, 8.5) print(f{h:.0f} 小时 / {d:.0f} 天 / 折算后约 {y:.1f} 年) # 输出72941 小时 / 3039 天 / 折算后约 5.8 年这段脚本里capacity_mah * 1000 / avg_current_ua是把 mAh 换算成 uAh 后直接除以 uA量纲刚好落到小时。derating这一项是我加进去的原始换算给出 8.32 年是理论值实际产品要扣掉电池自放电、-30℃ 低温下内阻升高导致的截止电压提前到达、以及升压效率损失按 0.7 折算比较稳妥报 5.8 年比报 8.32 年更经得起追问。答辩或者评审时把两个数都写出来说明白差在哪比只报一个漂亮数字要可信得多。3. 选型矩阵ST7305 与 ST7306 的分辨率、色彩与面板匹配3.1 两颗芯片的分辨率与色彩组合ST7305 是入门版ST7306 是主版本两者共用同一套 ULP 驱动思路区别在驱动能力和色彩深度上。把官方给的分辨率组合列出来规律其实很清楚型号单色4 色8 色64 色ST7305408 × 408204 × 408——ST7306720 × 480360 × 480240 × 480240 × 240横向看 ST7306单色 720×480切到 4 色横向减半成 360×480切到 8 色再降到 240×480切到 64 色横向维持 240 而纵向减半到 240×240。纵向基本不动横向随色深增加按比例收缩这符合「驱动通道数固定、每像素位宽翻倍就要拿空间换」的基本规律。选型时不用去猜内部架构直接按这个表倒推自己的需求就够了。怎么选我的判断顺序是这样的如果显示内容只有文字和简单图标且外壳是深色底配白字电子价签最常见的形态单色就够优先 ST7305 的 408×408方形屏在小尺寸标签上排版更从容。如果必须用红色标出促销价或告警状态那就是 B/W/R 三色落到 4 色档ST7305 给 204×408ST7306 给 360×480后者更适合 2.9 英寸以上的标签。如果要做 8 色或 64 色的彩色图标、简易封面图只有 ST7306 能接。有一点必须提醒色彩数和分辨率是绑死的不能既要 64 色又要 720×480。见过有人在方案书里写「64 色 720×480 反射屏」一查表就知道不成立这种硬伤在评审现场很难圆回来。3.2 反射式、透射反射式与背光的三选一这两颗 IC 支持的面板类型有三类选错面板IC 再省电也白搭。反射式Reflective面板靠环境光反射成像完全没有背光功耗最低阳光下可读性最好但进了暗光环境就是黑屏。电子价签、仓储标签、智能锁面板这类「装在灯光充足的室内或户外」的场景反射式是首选配合单色或 B/W/R 显示整机 6.5uA 的数字就是这么来的。透射反射式Transflective面板在像素里保留了一部分透光区环境光强时走反射环境光弱时开背光走透射两头都能用。代价是背光一开毫安级的电流立刻把微安预算冲垮所以背光必须是「按键触发、几秒自动熄灭」的临时行为不能常亮。带背光的可穿戴设备、户外仪表通常走这条路。常规透射式Transmissive面板必须常开背光1.3 英寸 262K 色模组 5mA 的典型值就是这么来的。它和 ULP 驱动方案基本不在一个赛道硬凑在一起只能得到一个「省了驱动电、被背光吃光」的结果。我的建议是把面板类型当成第一决策项先定屏幕在什么光照下工作再定 IC 型号和色彩深度最后才谈分辨率和尺寸。反过来先定分辨率再找面板十有八九会在光照适配上返工。3.3 电源结构与外围器件清单整机的电源结构比想象中简单一颗纽扣电池经 FPC 直接挂到驱动 IC 的电源脚MCU 与驱动 IC 共用同一路电源天线或无线模块单独走。ST7305/ST7306 内部集成升压与电荷泵面板所需的高压由 IC 自己产生外部不用再摆一颗升压芯片——这对小尺寸模组是实打实的 BOM 收益。外围器件主要就三类。第一类是去耦电容紧贴 IC 电源脚放置容量按手册推荐值取不要为了省面积减容脉冲突发电流全靠它兜。第二类是 FPC 上的走线电源和地从连接器到 IC 尽量短而宽源极驱动的瞬时电流路径上串一点寄生电感波形就会振铃。第三类是 MCU 侧的接口电平SPI 的片选和时钟线在不通信时要拉到确定电平悬空是休眠电流超标最常见的来源。宽温范围 -30~85℃ 这条指标选外围器件时也要对齐。普通消费级电容在 -30℃ 容值掉得厉害去耦失效后低温启动异常的概率明显上升电池在低温下内阻翻倍瞬时峰值电流会把电压拉到复位阈值以下。方案书里写 -30℃ 能工作BOM 里却全是 0~70℃ 的料这是典型的纸面指标。4. 落地实现从初始化序列到局部刷新的代码骨架4.1 上电时序与初始化配置上电顺序不对屏幕会花、会闪、会偶发不亮。稳妥的顺序是先给逻辑电源等电压稳定拉复位再配置驱动参数最后开显示。下面是配置骨架寄存器名和位定义以对应型号的数据手册为准这里体现的是顺序和逻辑关系/* 上电与初始化骨架字段名以手册为准此处只表达配置顺序 */ static int panel_init_ulp_mode(void) { /* 1. 复位低电平保持时间按手册给的典型值太短会导致配置丢失 */ lcd_reset_low(); delay_ms(RESET_HOLD_MS); lcd_reset_high(); delay_ms(RESET_WAIT_MS); /* 等内部电荷泵稳定后再通信 */ /* 2. 接口与扫描方向先定数据格式再定行列映射 */ lcd_write_cmd(CMD_IFACE_MODE); /* SPI 位宽、字节序 */ lcd_write_cmd(CMD_SCAN_DIR); /* 源极/栅极扫描方向装在壳里后调会镜像 */ lcd_write_cmd(CMD_DATA_FORMAT); /* 单色 1bpp / 4 色 2bpp / 8 色 3bpp / 64 色 6bpp */ /* 3. 驱动模式1Hz 帧周期 On/Off 双模式这是整机功耗的分水岭 */ lcd_write_cmd(CMD_FRAME_RATE); lcd_write_data(FRAME_1HZ); lcd_write_cmd(CMD_POWER_MODE); lcd_write_data(POWER_ON_OFF_MODE); /* 不用 AUTOAUTO 会退回连续刷新 */ /* 4. 电荷泵与灰度颜色越深这里配置项越多 */ lcd_write_cmd(CMD_CHARGE_PUMP); lcd_write_data(cp_level_from_panel_spec()); lcd_apply_gray_lut(g_lut_table, LUT_LEN); /* 反射式面板 VT 无 Gamma靠 LUT 校正 */ /* 5. 显示窗口与开屏 */ lcd_set_window(0, 0, PANEL_W - 1, PANEL_H - 1); lcd_write_cmd(CMD_DISPLAY_ON); return 0; }RESET_HOLD_MS和RESET_WAIT_MS两个延时不能省也不能凭感觉给手册里会给最小值量产时按最小值乘以安全系数取。CMD_POWER_MODE这一步是整段代码里最关键的一行配成自动模式会让 IC 在画面静止时仍然按内部节拍刷新实测电流能高出十几倍很多人第一次调试就是栽在这里。lcd_apply_gray_lut在单色场景可以直接跳过但如果做 4 色以上而不做 LUT 校正反射式面板看到的颜色会明显偏红不像红、灰阶断层这是反射式 无 Gamma 架构的固有特性只能靠查表补。扫描方向要在结构件装配前定死。屏幕旋转 180 度装进外壳后再改扫描方向等于所有坐标映射重来一遍还容易把局部刷新的窗口算错。4.2 多色显示的数据组织与局部刷新不同色彩深度对应的像素打包方式差别很大单色 1bpp一个字节塞 8 个像素4 色 2bpp一个字节 4 个8 色 3bpp 最别扭两个像素 6 位剩下的位要靠跨字节拼64 色 6bpp一个字节装不下一个像素得两个字节拼一个。下面这段把任意色深统一成位流写进显存前不用关心边界对齐# 把像素索引列表打包成驱动 IC 需要的位流适用于 1/2/3/6 bpp def pack_pixels(pixels, bpp): pixels: 每像素的颜色索引bpp: 每像素位数 buf bytearray() acc, bits 0, 0 for p in pixels: acc (acc bpp) | (p ((1 bpp) - 1)) bits bpp while bits 8: bits - 8 buf.append((acc bits) 0xFF) # 从高位开始取MSB first if bits: # 末尾补零对齐字节 buf.append((acc (8 - bits)) 0xFF) return bytes(buf) # 单色 2.13 英寸 250x122一行 250 像素 32 字节末字节有空位 row pack_pixels([0] * 250, 1) print(len(row)) # 32MSB first 还是 LSB first 取决于接口模式寄存器顺序反了会得到整屏错位的雪花点这类问题查半天不如直接把两种都试一遍。末尾补零对齐字节的写法在 3bpp 下尤其重要——不补齐的话下一行的起始位会整体偏移表现为斜条纹。局部刷新是 MCU 侧省电的核心手段。整屏写一次 250×122 单色是 3813 字节走 SPI 按 1MHz 算要 30ms 左右只更新一个 40×16 的数值区是 80 字节不到 1ms。结合前面算过的「唤醒时长 × 频率」把每次唤醒从 30ms 压到 2ms平均电流能差一个数量级。窗口设置就是把lcd_set_window(x0, y0, x1, y1)收敛到变化区域然后只往这块区域灌数据其余显存内容保持不变。要注意的是局部刷新之后如果长时间不整屏刷残影会累积。我的习惯是每隔若干次局部刷新插一次整屏重写间隔按面板特性和显示内容定价签这种内容几乎不变的应用一天一次整刷就够了。4.3 功耗测量脚本与温区扫描测量环节最忌讳拿万用表打一下瞬时值就当结论。UCT 类设备的平均电流在微安级万用表量程和采样率都跟不上看到的是跳动的数字。正确做法是用源表或高精度电流表串在电池正极采样率不低于 10Hz连续记录至少一个完整刷新周期1 秒的整数倍最好跑 24 小时取平均。# 用支持远端采样的源表记录整机电流采样 10Hz跑 24 小时 # 仪器地址、通道号按实际接线替换 smu --addr auto \ --function current \ --range 1e-3 \ --nplc 1 \ --interval 0.1 \ --duration 86400 \ --log current_24h.csv # 统计去掉上电前 60 秒避免浪涌拉高均值 python3 - PY import csv rows list(csv.reader(open(current_24h.csv)))[60:] vals [float(r[1]) for r in rows if r and r[1]] print(fsamples{len(vals)} avg{sum(vals)/len(vals)*1e6:.2f}uA fpeak{max(vals)*1e6:.1f}uA) PY--nplc 1是积分时间参数数值越大越稳但越慢测微安级电流时不要低于 1。--duration 86400跑满一天是为了把「每小时唤醒一次」这种低频事件也算进均值——只测 10 分钟的话那些低频刷新根本没被采到算出来的平均电流会偏乐观。温度扫描是另一个必做项。把整机放进温箱从 85℃ 降到 -30℃每个温度点稳定 30 分钟后测平均电流和刷新是否正常。低温下 a-TFT 的载流子迁移率下降1Hz 帧周期可能不够把一行充满表现为对比度变差或局部发灰这时候通常的做法是在低温区把帧率临时提到 2Hz 或 4Hz用一点功耗换可读性用温度传感器做分段切换。5. 避坑清单五个让实测电流翻倍的设计细节5.1 平均电流达标但整机反复复位现象源表测出来的平均电流和预算表对得上8.5uA 上下但装进外壳跑两天设备会莫名其妙重启日志里看不到异常。原因不在平均值在峰值。1Hz 模式下每次刷新是一个毫秒级的电流脉冲峰值可能到毫安级而纽扣电池的内阻在低温或电量下降后会明显升高脉冲一来电压瞬间被拉到 MCU 的复位阈值以下。解决方式有三条在电池正极就近加大容量去耦电容把脉冲能量从电容取把刷新窗口拆成几段避免所有通道同时开低温场景下适当降低刷新峰值或改用内阻更低的电池型号。判断方法很简单用示波器看电池两端电压刷新瞬间有没有一个几十毫伏的凹陷。5.2 休眠电流比预算高一个数量级现象IC 和 MCU 都进了休眠实测静态电流还是几十微安。原因通常是外围「不说话」的器件SPI 的时钟和数据线悬空形成漏电通路、调试口没关、上拉电阻常挂、LDO 静态电流没算、电池分压采样电阻一直在耗电。排查方法是从电池正极开始逐段断开先断面板 FPC再断传感器再断调试口看电流在哪一步掉下来。设计阶段的对策是给每个 GPIO 定一个确定的休眠电平分压采样电路加 MOS 开关只在测量瞬间导通。5.3 反射屏在暗光环境里读不出来现象样机在窗边效果很好装到货架背光面或者地下车库就一片灰。原因是选型时只算了功耗没算光照条件反射式面板完全依赖环境光照度低于某个阈值就没有对比度。解决方式要么换透射反射式面板并配临时背光按键触发、几秒自灭要么在方案阶段就明确使用场景的照度下限把「必须装在灯光充足位置」写进安装规范。这一条不是技术问题是需求边界问题越早澄清越好。5.4 低温下画面发灰、刷新不全现象常温测试全通过-20℃ 下对比度明显下降快速变化的区域有拖影。原因是低温下 a-TFT 的响应变慢1Hz 帧周期内像素没被充分充电。解决方式是加温度补偿板上放一颗精度够的温度传感器按温度分段切换帧率和驱动电压低温段把帧率提到 2~4Hz。补偿表要在温箱里实测出来不能靠线性外推。5.5 多色显示颜色偏差、灰阶断层现象4 色或 8 色模式下红色偏橙、深灰和黑分不清。原因是反射式面板没有 Gamma 校正电路IC 给的驱动电压和实际反射率不是线性关系。解决方式是做 LUT 查表校正先用标准色卡或分光测色计测出各灰阶的实际反射率反算出一张映射表烧进 IC再用同一套光照条件复测。换面板供应商或换批次时这张表要重新校直接沿用旧表是最常见的翻车点。6. 验收与答辩怎么证明八年寿命不是纸面算术验收这件事评委或甲方真正想确认的不是「你有没有算对」而是「你知不知道自己哪里算得不准」。所以验收材料要按「预算—实测—差异解释」三段来组织缺最后一段前面两段都站不住。先立一张验收指标表把可测项和判据写死验收项判据测量手段整机平均电流≤ 10uA 25℃源表串联电池24h 平均刷新峰值电流≤ 设计上限且电池电压凹陷 100mV示波器差分探头帧率与模式1Hz On/Off 生效波形为窄脉冲电流波形观察工作温区-30~85℃ 全温段可读温箱分段测试色彩准确性各灰阶反射率偏差在约定范围内分光测色计 LUT 复测电池寿命折算后 ≥ 目标年限 × 0.7预算表 加速验证加速验证的做法是把刷新频率人为提高若干倍测平均电流是否随之线性上升用这条曲线反推 1Hz 时的基线电流再和直接测量值对照。两者吻合说明你的功耗模型是可信的差得多说明有某个随频率变化的项没被建模比如电荷泵的开关损耗或者 MCU 唤醒的固定开销。答辩现场最容易被追问的三个点是为什么是 8.5uA 而不是 6.5uA、为什么折算系数取 0.7、低温下帧率提高后寿命怎么变。前两个问题前面都算过了第三个要提前准备好数据——低温段如果按 4Hz 跑功耗大约翻几倍但低温通常只占全年时间的一小部分可以按时间加权给出一个全年平均电流。把这张加权表贴在答辩 PPT 里比任何口头解释都有说服力。还有个小技巧把电流波形和时序图截成一张图放在一页里左边是 60Hz 连续刷新的波形右边是 1Hz On/Off 的波形两张图放一起不用讲原理看的人自己就懂了。这比堆十页公式有效。我最早做这类低功耗模组的时候交付前只跑了常温 10 分钟的平均电流数据漂亮客户装到户外设备上第一个冬天就批量出问题——低温下电池内阻上升导致复位回来返修了一整批。从那以后我每次出方案都强制走一遍「全温段 × 24 小时 × 峰值与均值双测」的流程哪怕项目周期再紧这三项也不砍。功耗这东西纸面上省下来的每一微安最后都得靠实测签字。希望这套拆法能帮到你。本文还有配套的精品资源点击获取
阅读完成 · 觉得有帮助?