资讯动态

ST7305/ST7306低功耗显示驱动:1Hz刷新实现8年续航的工程实践

发布时间:2026/10/29 13:44:32 来源:尧图企业网站定制
简介这份PDF技术资料面向嵌入式硬件工程师、低功耗显示方案设计者及物联网终端产品开发者系统介绍Sitronix超低功耗a-TFT驱动IC ST7305与ST7306的选型与设计要点帮助解决电子价签、可穿戴设备等场景下长期续航与无背光显示难题。压缩包内仅含1个PDF文件约533KB为原厂方案介绍文档涵盖两款芯片的分辨率规格、1Hz OnOff超低功耗驱动模式、反射式与透射反射式面板适配以及2.13英寸电子价签模块约6.5μA功耗、CR2450纽扣电池约8.32年寿命等实测数据并附宽温范围与典型应用场景说明。目前已有897人学习下载适合需要快速完成低功耗显示方案评估与器件选型的读者参考。1. 一块纽扣电池撑八年ST7305/ST7306 到底解决了什么电子价签、温湿度计、智能货架标签这类产品最折磨人的不是显示效果而是电池。你装一颗 CR2450 上去客户问的第一句话往往是「能撑多久」而不是「颜色好不好看」。传统 a-TFT 按 1/60s 的节奏刷新屏幕只要亮着就在持续吃电背光一开更是雪上加霜。ST7305 和 ST7306 这两颗驱动 IC 的思路很直接把刷新节奏从 1/60s 拉到 1Hz再配合反射式面板砍掉背光让「始终显示」这件事的功耗降到微安级。原料里给了一组很硬的数字——2.13 英寸单色 a-Si TFT250×122配 ST7305面板加 IC 平均约 6.5μA加上 MCU 板约 2μA总功耗 8.5μA620mAh 的 CR2450 折算下来约 8.32 年。这个量级意味着什么意味着你的固件里那些「为了省电频繁休眠唤醒」的复杂逻辑可以大幅简化。这篇笔记面向的是正在选型低功耗显示方案、或者手里已经拿到这两颗芯片资料却不知道怎么落地的硬件与固件工程师我会把版本差异、驱动模式、面板搭配和实际调试中的坑拆开讲。2. 先分清 ST7305 和 ST7306分辨率与色彩档位怎么选选型第一步不是看功耗而是看你的 UI 到底需要多少像素、几种颜色。这两颗芯片是同一套 ULP 驱动架构下的两个档位ST7305 是入门版ST7306 是主推版分辨率上限和色彩能力差得比较明显。搞错这一步后面画板、写初始化序列全是白费功夫。2.1 两颗芯片的分辨率矩阵原料里给出的规格很清晰我整理成表方便对照型号单色Mono4 色8 色64 色ST7306720H × 480V360H × 480V240H × 480V240H × 240VST7305408H × 408V204H × 408V不支持不支持这里有个容易被忽略的规律色彩数每翻一倍水平分辨率基本对折。原因是每个像素要拆成多个子像素或分时驱动来表现灰阶/颜色驱动通道和显存带宽是硬约束。所以你在做产品定义时如果 UI 只需要黑白加一两个强调色ST7305 的 408×408 单色其实够用一旦要上 4 色比如黑白红黄水平方向就只剩 204这时候排版要重新算。ST7306 的 720×480 单色适合信息密度高的价签64 色 240×240 则更偏向小型图标化界面。提示分辨率对折不是「缩放」而是物理驱动能力的上限。别指望在 4 色模式下还能塞下单色模式那么长的文字行字库和布局要按最低档位预留。2.2 选型时真正要问自己的三个问题第一面板类型定了没有。这两颗 IC 主打反射式和透反射式transflectivea-Si TFT反射式靠环境光透反射式在暗环境下还能开背光。如果你的结构件里根本没预留背光位那就只能走纯反射路线室内弱光下的可读性要提前打样确认。第二刷新内容的变化频率。电子价签可能几分钟才变一次温湿度计几秒变一次这直接决定你用 1Hz 还是更低的刷新策略。第三工作温度。原料写明 -30~85℃ 宽温户外场景比如冷链仓储、户外仪表要确认面板和 IC 的温漂表现尤其是反射式面板在低温下的响应速度。2.3 和常见低功耗方案的区别市面上不少低功耗显示走的是段码 LCD 或电子墨水屏路线。段码 LCD 功耗极低但只能显示固定字符做不了图形化 UI电子墨水屏断电保持但刷新慢、有残影、低温表现受限。ST7305/ST7306 的定位介于两者之间它能驱动点阵 a-TFT支持图形和多种颜色同时靠 1Hz 驱动把平均功耗压到微安级。这个「中间地带」正是电子价签、智能仓储标签这类需要图形化又极度在意续航的场景最舒服的位置。理解这一点你才不会拿它去和墨水屏比刷新、和段码屏比成本而是清楚它换来的是一块能常亮、能显示图形、还能撑数年的屏。3. 1Hz On Off 驱动模式低功耗的账是怎么算出来的很多人看到「1Hz 驱动」第一反应是「那不就是每秒刷一次吗能省多少」。真正省电的不是频率数字本身而是 On Off 的工作方式——驱动一帧之后进入关闭区间面板靠液晶自身的保持特性维持显示IC 大部分时间处于极低静态电流状态。这一章把原理和你能动手验证的部分讲透。3.1 传统 1/60s 驱动 vs ULP 1Hz 驱动的本质差异传统 a-TFT 每 1/60 秒就要完整驱动一次也就是 60Hz目的是维持液晶偏转、避免闪烁。这个节奏下源极驱动、栅极扫描、电荷泵一直在高频工作功耗自然下不来。ULP 方案把驱动周期拉到 1 秒一次中间那段「Off」时间面板不刷新靠像素电容保持电压。对于静态或低频变化的画面价签、仪表读数这完全够用只有画面切换时才需要一次完整刷新。原料里的对比图说得很直白Normal A-TFT 是连续的 1/60s 驱动脉冲ULP 是 1s 一个驱动脉冲中间大段空白。这个空白就是省下来的电。要注意1Hz 不是唯一档位实际产品里常见做法是根据内容变化频率在 1Hz 和更低之间切换静态画面甚至可以拉到数秒一刷进一步压功耗。3.2 功耗预算怎么拆面板、IC、MCU 三笔账原料给的 2.13 英寸单色模块例子值得逐项拆开看面板 IC约 6.5μA平均MCU 板约 2μA合计约 8.5μACR2450 容量 620mAh620mAh ÷ 8.5μA ≈ 72,941 小时 ≈ 3,039 天 ≈ 8.32 年这个账的关键在于「平均」二字。6.5μA 是包含周期性刷新在内的平均值不是某一瞬间的电流。你在实测时会看到刷新瞬间电流冲到几十甚至上百微安但占空比极低万用表/功耗分析仪要开积分平均才能对上这个数。我一般会用一个采样电阻串在电池回路里用示波器抓长时间窗口算平均而不是拿万用表读瞬时值——后者经常把人吓一跳以为方案翻车了。3.3 用代码验证刷新节奏与功耗的关系实际调试时我会先写一段最简的刷新控制逻辑把「多久刷一帧」做成可调参数然后配合功耗测量找平衡点。下面这段是伪代码性质的驱动节奏控制语言用 C贴近嵌入式实际写法/* 刷新节奏控制driving_period_ms 决定多久驱动一帧 * 静态画面可拉长到 2000ms 甚至更久动态内容建议 1000ms 以内 */ #define DRIVING_PERIOD_MS 1000 /* 1Hz 基准可按场景调整 */ #define REFRESH_BURST_MS 20 /* 单次完整驱动的耗时实测标定 */ static uint32_t last_refresh_tick 0; void ulp_display_task(void) { uint32_t now get_system_tick_ms(); if ((now - last_refresh_tick) DRIVING_PERIOD_MS) { panel_driver_enable(); /* 打开电荷泵与驱动电路 */ panel_write_frame(g_framebuffer); /* 送一帧显存数据 */ panel_driver_disable(); /* 驱动完立刻关断进入 Off 区间 */ last_refresh_tick now; } /* 其余时间 MCU 进低功耗休眠只留 RTC/看门狗 */ enter_low_power_mode(); }逻辑说明核心是「驱动—关断—休眠」三段式。DRIVING_PERIOD_MS是你要调的旋钮静态价签可以设 2000~5000ms温湿度计设 1000ms 左右。REFRESH_BURST_MS不是代码里直接用的常量而是你实测单次驱动耗时的参考值用来估算占空比。panel_driver_disable()这一步千万别省很多新手只做了「少刷」没做「刷完彻底关断驱动电路」结果静态电流下不来血泪经验。参数怎么定先按 1000ms 跑测平均电流再把周期翻倍看平均电流是否近似减半——如果没减半说明关断不彻底或有其他漏电通路要回去查电源域。注意不同面板的液晶保持特性不一样刷新周期拉太长可能出现轻微对比度下降或残影。周期上限要以面板规格书和实际打样为准别为了省电无限拉长。4. 面板搭配与硬件落地反射式、透反射式怎么接IC 选对了面板搭错照样翻车。这两颗芯片的省电前提是「无背光或极少背光」所以面板类型的选择直接决定最终功耗和可读性。这一章讲面板选型、电源结构和实际布线时要注意的点。4.1 反射式与透反射式的取舍反射式面板完全靠环境光反射成像结构里没有背光功耗最低户外阳光下可读性极好但进了暗环境就抓瞎。透反射式在反射层之外保留了透射部分暗环境下可以开背光补光代价是多了背光功耗和结构厚度。原料里明确提到这两类面板都支持颜色从单色黑白到 B/W/R、RGB 8 色、RGB 64 色不等。我的建议是纯户外或光照稳定的场景货架、仓储标签、户外仪表优先反射式把「无背光」这个省电优势吃满室内弱光且需要保证可读性的场景医疗设备、室内温控器选透反射式背光做成可关断只在需要时点亮。别一上来就选透反射式然后背光常开那等于把 ULP 的账全废了。4.2 电源结构与 FPC 连接原料里的电源结构图是「纽扣电池 → FPC → IC 面板 MCU 天线」的一条链。实际画板时要注意几点纽扣电池内阻较大刷新瞬间的电流脉冲可能把电压拉低所以 VDD 和电荷泵输入端要有足够的去耦电容靠近 IC 引脚放置FPC 走线里驱动信号和电源要分开避免刷新脉冲耦合到敏感的模拟部分如果板上有无线模块价签常见天线净空区和 FPC 要拉开距离。4.3 初始化序列的落地检查清单驱动 IC 上电后需要一套初始化配置驱动模式、分辨率映射、色彩模式、刷新时序、电荷泵设置等。这部分各家面板厂会给出参考序列但直接照抄经常出问题。我一般按下面这个顺序核对确认分辨率配置和实际面板的 H/V 是否一致ST7305 和 ST7306 的寄存器映射不同别混用。确认色彩模式Mono / 4 色 / 8 色 / 64 色与面板 CF彩色滤光片匹配。设置刷新时序先按 1Hz 基准再根据实测调整。电荷泵电压按面板规格设定过高伤面板、过低对比度不足。上电后先做一次全屏刷新观察是否有花屏、缺行、颜色错位。提示初始化序列里最容易错的是分辨率映射和色彩模式的组合。同一颗 ST7306 在单色 720×480 和 4 色 360×480 下的显存组织方式不同写错会出现「图像被横向压扁一半」的典型现象。5. 避坑与排查调试现场最常翻车的五个点纸面参数再漂亮落到板子上总会遇到各种玄学。这一章是我在实际调试里踩过的、以及同行反馈最多的几类问题按「现象 → 原因 → 解决」整理方便你对号入座。5.1 实测平均电流远高于 6.5μA现象按 1Hz 驱动跑起来功耗分析仪显示平均电流二三十微安和原料里的 6.5μA 差好几倍。原因通常有三个驱动电路刷新后没有真正关断静态漏电MCU 没有进深度休眠后台任务在跑面板的偏压电路一直使能。解决逐段断开测量先只给面板IC 供电看静态电流再逐个加回 MCU 和外设检查panel_driver_disable()是否真的把电荷泵和偏压关掉确认 MCU 的低功耗模式配置正确调试口SWD/JTAG在量产固件里要关掉调试口本身就会漏电。5.2 画面出现残影或对比度逐渐下降现象静态画面放久了切换时旧图像有残留或者整体对比度变淡。原因刷新周期拉得过长液晶像素电容电压衰减或者刷新时的驱动波形不完整。解决把刷新周期从数秒缩回 1~2 秒试检查每次刷新是否完整走完驱动时序别为了省电把驱动脉冲截断必要时周期性插入一次全屏刷新「洗」一遍。5.3 低温下刷新变慢或显示异常现象在 -20℃ 以下画面切换明显变慢甚至出现局部不刷新。原因液晶材料低温下粘度上升、响应变慢驱动时序没有留余量。解决低温场景下适当延长单次驱动的脉冲宽度或提高驱动电压在面板允许范围内打样阶段务必做高低温循环测试别只在室温调通就量产。5.4 4 色/8 色模式下图像错位现象单色模式正常切到 4 色后图像横向被压缩或颜色错乱。原因色彩模式切换后分辨率映射和显存组织方式变了初始化序列或显存写入逻辑没跟着改。解决按第 4 章的检查清单逐项核对分辨率配置显存写入的 stride每行字节数要按当前色彩模式重算这是最常见的错位来源。5.5 纽扣电池电压跌落导致复位现象刷新瞬间设备复位或花屏换新电池后好转。原因CR2450 内阻随放电和低温增大刷新电流脉冲把电压拉到 IC 欠压阈值以下。解决在电池和 IC 之间加足够容量的储能电容几十到上百微法靠近负载放置软件上避免在电池电压偏低时做高功耗操作必要时在固件里做电压监测低压时降低刷新频率。6. 把 8 年续航做实一套可复现的验证方法原料里那个 8.32 年的数字很诱人但它是基于理想平均电流算出来的。真正要把它做实你得有一套自己的验证流程而不是信纸面。我一般会做三件事搭一个最小功耗测试板、跑长时间平均电流记录、做温度与电压的边界测试。先说测试板。把 ST7305 或 ST7306、目标面板、一颗低功耗 MCU 和纽扣电池座做到一块小板上电池回路串一个 10Ω 采样电阻用数据采集卡或带长时间记录功能的示波器抓采样电阻两端电压换算成电流后做滑动平均。记录周期至少覆盖 24 小时包含白天黑夜的温度变化。下面这段是处理采集数据的思路用 Python 做平均电流和预估寿命计算import numpy as np # voltage_samples: 采样电阻两端电压序列单位 V已按固定间隔采集 # r_sense: 采样电阻阻值Ω # battery_mah: 电池标称容量mAh def estimate_lifetime(voltage_samples, r_sense10.0, battery_mah620.0): current_ua (np.array(voltage_samples) / r_sense) * 1e6 # 换算成 μA avg_ua current_ua.mean() hours battery_mah * 1000.0 / avg_ua days hours / 24.0 years days / 365.0 print(f平均电流: {avg_ua:.2f} μA) print(f预估寿命: {hours:.0f} 小时 / {days:.0f} 天 / {years:.2f} 年) return avg_ua, years # 示例假设采集到一段稳态数据 samples [0.000085] * 1000 # 85μV / 10Ω 8.5μA estimate_lifetime(samples)逻辑说明r_sense选 10Ω 是为了在微安级电流下仍能产生可测的毫伏级压降又不至于明显影响供电。battery_mah按实际电池填注意纽扣电池的有效容量受放电电流和温度影响标称 620mAh 是在特定条件下的值实际可用容量要打折。这个脚本的价值不在于算出精确年限而在于让你看到「平均电流每降 1μA寿命涨多少」从而判断优化方向值不值得。再说边界测试。温度上至少做 -30℃、25℃、85℃ 三个点的刷新和功耗对比电压上用可调电源模拟电池从 3.0V 放到 2.0V 的过程观察刷新是否稳定、是否提前复位。这两项做完你才敢在规格书里写「典型 8 年」。最后是一个习惯每次改固件里的刷新周期或低功耗配置我都会强制重跑一遍 24 小时平均电流记录因为这类改动对功耗的影响经常是非线性的凭感觉调迟早翻车。希望这套流程能帮你在自己的项目上把这块屏的续航真正落地。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑