计数译码驱动显示电路与京东方G0A技术硬核拆解

发布时间:2026/10/5 5:14:11
计数译码驱动显示电路与京东方G0A技术硬核拆解 项目概述显示驱动电路的硬核拆解说起显示面板绝大多数人第一反应是分辨率、刷新率、色域这些营销话术很少有人会去关心屏幕到底是怎么被点亮的。真正做过显示驱动的人都知道一块屏能不能稳定显示、能不能做窄边框、能不能控制住功耗核心不在面板本身而在那一圈看不见的驱动电路。这次的项目标题非常有代表性——计数译码驱动显示电路这七个字几乎涵盖了显示面板驱动的全部底层逻辑。计数决定扫描到哪一行译码决定怎么选通驱动电路决定最终怎么把信号送到像素电极上。再加上标题里提到的京东方G0A电路、阵列基板、显示装置及驱动方法基本就是把液晶显示行业最核心的几块技术都串起来了。这篇博文分享的是我最近完整做下来的一个实验项目目标是基于计数译码逻辑结合G0A这种把栅极驱动做进阵列基板的技术方案搭建一套完整的显示驱动链路。文章会从需求拆解开始讲清楚计数译码和G0A各负责什么再给出可复现的电路设计方案、关键波形实测数据以及我在整个过程中踩过的坑和排查经验。内容适合三类人看正在做数字电路课程设计的学生刚入行显示驱动领域、对G0A还一知半解的工程师以及那些想深入了解面板显示原理、不想再被厂商宣传话术忽悠的技术爱好者。看完这篇你能搞清楚一行一行画面到底是怎么刷出来的也会知道为什么现在的手机屏能做到极窄边框甚至无边框。1. 从标题拆出来的核心脉络1.1 计数、译码、驱动三层各自解决什么问题很多人刚接触显示驱动电路时最容易犯的毛病是把计数、译码、驱动混为一谈觉得反正就是让屏幕亮起来。实际上这三层是三个完全不同的问题分开想才能把电路设计清楚。先打一个比方。想象你面前有1080个灯泡排成一列你要让它们按照顺序一个个亮起来。这里就有三个问题第一个问题是现在该轮到第几个灯泡了——这是计数第二个问题是第几个灯泡对应哪根线应该把信号送到哪里——这是译码第三个问题是怎么让这个灯泡真的亮起来亮度是多少——这是驱动。回到液晶显示面板栅极驱动做的事情就是逐行扫描。面板每一行像素的薄膜晶体管开关都需要一个栅极脉冲来打开栅极驱动电路就是负责产生这一行一行的扫描脉冲。计数电路从0数到某一行号译码电路把行号翻译成第N条扫描线驱动电路再把控制信号放大成足以打开TFT的电压脉冲。这三层缺一个都不行。1.2 京东方G0A到底是什么为什么它在行业里这么重要G0A的全称是Gate On Array翻译过来就是栅极驱动阵列化这个名称没有官方简称的严格定义行业里更普遍叫GOA。京东方是把这个技术推向产业化的主要厂商之一所以G0A这个叫法在很多场合也就直接跟京东方绑定在一起了。传统的液晶面板栅极驱动IC是单独外挂的一颗IC负责几百条扫描线通过柔性电路板绑定到面板边缘。而G0A方案是把栅极驱动器直接制作在阵列基板上用一系列薄膜晶体管和电容在玻璃基板上搭出一个移位寄存器网络。一句话概括驱动电路不再是一颗独立的芯片而是变成了面板本身的一部分。为什么要这么做最直接的原因是降成本和做窄边框。外挂的驱动IC本身要钱绑定工艺要钱柔性电路板也要钱这些在G0A方案里全部省掉了。更重要的是不需要为驱动IC预留绑定区域屏体的边框就能收到很窄。今天你能看到那么多全面屏手机很大程度上就是G0A技术普及的功劳。1.3 威彩那部分在讲什么产业端的一次实践标题里最后出现的广州威彩从上下文判断应该是一家做显示模组或者显示方案的公司。这个信息量不大但可以反映出G0A并非只有面板大厂在用下游模组厂同样在做相关的驱动方案适配和测试。对行业里的人来说这说明一个问题G0A的技术虽然由头部面板厂商主导但显示模组厂同样离这个技术很近。从实验项目角度来说我这次做的不需要绑定特定厂家的面板而是用分立元件在PCB上搭建G0A的等效电路来验证驱动逻辑。虽然跟真正的玻璃基板工艺有差距但底层信号逻辑完全一致。下面所有讨论都建立在这个基础上。2. 计数译码驱动显示电路的核心设计逻辑2.1 计数器选型从二进制计数到环形移存的取舍在做栅极驱动电路时计数器的作用是产生当前扫描行号。这个行号是二进制的比如要驱动48行就需要6位计数器要驱动480行就需要9位计数器。设计上最常用的方案有两种二进制计数器和环形移位寄存器。二进制计数器的思路最直观用普通的加法计数逻辑从0一直加到最大行号输出一组并行二进制信号。它的优势是行号译码灵活可以从中间任意行开始扫描缺点是每次行切换时多个bit同时变化译码电路很容易产生毛刺。环形移位寄存器则是把一串D触发器串成一个环初始状态只有第一个触发器为1每个时钟脉冲把1往下移一位。这种结构的输出天然就是一行一个脉冲的时序不需要额外译码毛刺也少。G0A电路在阵列基板上的实现本质上就是把环形移位寄存器用薄膜晶体管搭出来每级对应一行扫描线。性能维度二进制计数器环形移位寄存器输出形式并行二进制码逐行单脉冲译码复杂度需要额外译码电路无需译码天然选通毛刺风险较高极低电路面积较小较大G0A适用性不适用主流方案实际做项目时我在实验板的第一阶段用了二进制计数器加译码器主要是为了验证计数译码链路的功能第二阶段改成了环形移位寄存器用来模拟G0A的真实工作方式。两种方案的对比本身就是很有价值的实验内容。2.2 译码器的逻辑展开如何从行号到扫描线如果采用二进制计数器方案译码器就是连接计数器和驱动级的关键桥梁。一个典型的例子用CD4022八进制计数器搭配74HC2383-8译码器可以实现8行扫描的译码控制。74HC238的A、B、C三个地址输入接计数器的输出Y0Y7对应8条扫描线任意时刻只有一条输出为低电平或高电平取决于设计。这里有一个容易忽略的设计细节译码器输出的是逻辑电平信号TTL/CMOS逻辑电平通常是03.3V或05V但液晶TFT的开启电压一般在15V30V这个范围。所以译码器输出的信号不能直接去开TFT中间必须经过电平转换和驱动放大。另一个细节是译码器的使能端。74HC238有三个使能端E1、E2要接低电平E3要接高电平。很多新手上来就忘了处理使能端导致译码器完全不出来信号。E3端还可以用来做同步保护——比如在电源未稳定时禁止扫描防止异常信号灌进面板。2.3 驱动级设计从逻辑电平到面板实际需要的电压驱动级是整个链路里跟实际面板关系最密切的部分。面板扫描线上的信号要求是低电平通常在-7V左右用于保持TFT关断高电平在15V30V用于打开TFT具体值取决于面板的液晶材料和TFT特性。最简单的驱动级可以用分立NMOS管实现电平转换译码器输出一个5V高电平信号通过一个NMOS管和一个上拉电阻的组合把输出拉到VGH栅极高电平。下拉时再把输出拉到VGL栅极低电平。这样每一路扫描线只需要两个MOS管和一个电阻正好呼应了G0A电路的单元结构。我在实验里用的是2N7002低压NMOS管配合光耦隔离的方案。光耦的主要作用是隔离逻辑地和驱动地避免高电压的开关噪声窜回逻辑电路导致误触发。这个设计在后来的调试中帮了大忙——第一次上电时驱动部分的电容充电瞬间产生了很大的地弹噪声如果没有光耦隔离计数器肯定会乱跳。3. G0A电路与阵列基板的技术细节3.1 阵列基板上的像素开关阵列长什么样阵列基板是液晶面板的下半部分名字听着玄乎理解起来并不复杂。想象一块玻璃上面规则地铺满了几百万个薄膜晶体管每个TFT旁边配一个像素电极和一个存储电容这就是阵列基板。每个子像素的等效电路是一个TFT和一个电容的组合。TFT的栅极连到扫描线行线源极连到数据线列线漏极连到像素电极。当某一行的扫描线给出高电平这一行所有TFT同时导通数据线上的灰阶电压就能写进像素电容等扫描线回到低电平TFT关断像素电容保持住电压液晶分子就维持住这个灰阶一直到下一帧刷新。这个机制决定了行扫描必须严格分时进行不能有两行同时打开否则数据线上的电压会同时写进两行像素画面就乱了。这正是G0A电路要保证的事情每一时刻只产生一个行选通脉冲按顺序从上往下扫完整个屏幕。3.2 G0A电路如何在玻璃基板上长出来G0A电路的本质是用非晶硅、氧化物半导体或者低温多晶硅TFT在阵列基板的边框区域搭建移位寄存器网络。每一级G0A电路对应一条扫描线级与级之间通过进位信号串联起来。以现在主流的一类G0A单元为例单级电路通常包含一对交叉耦合的薄膜晶体管用于锁存状态、一个上拉TFT负责向扫描线输出高电平、一个下拉TFT负责把扫描线拉到低电平、若干控制信号输入端时钟CLK、复位RESET、进位输入/输出。交叉耦合结构保证了一旦本级被触发它就会维持导通直到时钟相位切换。每一级的输入来自前一级的进位输出输出同时驱动本级扫描线和下一级的输入。第一级由帧起始信号STV触发这样一级一级往下传就实现了一帧一次全屏扫描。这个过程用分立器件搭出来完全可行我在面包板上实现了一个8级G0A模拟电路用的就是这几十个元件的搭法。3.3 为什么G0A方案能同时省成本、减边框、提良率先说成本。G0A省掉了源极驱动以外的栅极驱动IC、柔性电路板、相关绑定材料。这些物料成本加在一起在中小尺寸面板里通常能占到整体成本的5%~8%省下来的幅度相当可观。再说边框。外挂驱动IC必须在面板边缘预留绑定区尺寸怎么也在2毫米以上。G0A把驱动电路做进玻璃内边框可以压缩到1毫米以内。现在的手机下巴能做到极窄就是靠这种方案。最后说良率。这一点很多人没意识到——G0A反而降低了绑定工艺的良率风险。外挂驱动IC在绑定过程中容易出现虚焊、偏位的问题绑定工艺是整个模组制造里不良率最高的环节之一。G0A省掉了这个环节虽然对阵列工艺的均一性要求更高但从整体良率角度看控制难度并没有增加太多因为阵列工艺本身就是面板厂最成熟的控制环节。4. 驱动方法设计与参数选型4.1 扫描时序的完整计算方式确定驱动时序是最能体现工程师基本功的环节。以我当时用的实验面板为例规格如下分辨率1024×600刷新率60HzTFT开启时间需要12μs才能完成数据写入。第一步算单帧周期。1秒除以60Hz等于16.67ms。第二步算行周期。一帧时间内要完成600行扫描加上垂直消隐时间。垂直消隐通常取行周期的3%~5%这里按4%计算等效于624行时间。那么单行周期等于16.67ms除以624约26.7μs。第三步算行扫描脉冲宽度。行脉冲需要大于TFT开启时间12μs但也要小于行周期留出数据写入和数据预充电的余量。我选的是14μs。第四步推导时钟频率。如果计数时钟直接用行频率那CLK就是1除以26.7μs约37.5kHz。这个频率很低信噪比很好处理但如果要做时序更复杂的G0A方案需要4相时钟时钟频率可以做到行频率的4倍以上。4.2 时钟方案选型单相时钟和四相时钟的分野在真正的G0A设计中时钟方案是决定电路复杂度和功耗的关键。最基础的是单相时钟一级电路在一个时钟周期内完成触发、输出和复位进阶的是两相或四相时钟用多个相位差异的时钟信号来控制交叉耦合锁存器降低每个TFT的漏电压力提高高频工作能力。单相时钟的优势是控制信号少时序简单适合低分辨率或者慢刷新场景。四相时钟则适合高分辨率、高刷新率的面板比如手机上的120Hz高刷屏。四相时钟下每一级G0A的输出级在非选通期间有更多时间处于预充电状态TFT导通和关断的应力更均衡长期可靠性更好。实验时我用的是四相时钟因为需要验证高频下的稳定性。四路CLK的相位差依次为90度频率是行频的4倍。生成四相时钟最简单的方式是先用一个高频振荡器产生4倍行频的时钟再经过两级D触发器做环形计数得到相位精确的4路信号。4.3 几个关键电压的设定依据G0A电路里最关键的电压是VGH栅极导通电压、VGL栅极关断电压和VCOM公共电极电压。VGH必须要大于TFT的阈值电压加上数据线上最大信号电压。对于一般的非晶硅TFT阈值电压约1.5V~3V数据线最大电压约5V~6V。考虑到TFT开启后需要有足够的过驱动电压来保证导通电阻足够低VGH至少要在15V以上。我实验时选的是20V留了比较充裕的余量。VGL的设定则要考虑两个问题一是要保证TFT在关断状态下漏电足够小二是要防止负压过大导致TFT阈值电压漂移。实验里VGL选-7V偏保守但也够用。VCOM在TN面板里通常设为数据电压摆幅的中点比如数据电压0~5V时VCOM设在2.5V附近这样液晶分子承受的信号是对称交流防止极化。电压实验设定值设定依据VGH20V高于TFT阈值数据电压摆幅确保可靠开启VGL-7V保证TFT可靠关断防止漏电VCOM2.5V数据电压中点防止液晶极化数据电压0~5V对应灰阶信号范围5. 实操过程与关键波形实录5.1 实验平台的搭建思路我做实验的平台分成三个模块信号生成模块、等效面板模块、电源模块。信号生成模块用MCU加CPLD实现MCU负责配置参数和初始化CPLD负责产生四相时钟、STV帧起始信号和模拟数据信号。等效面板模块就是一块PCB中间区域排布64×64的像素点阵用LED模拟像素状态四周围绕两列G0A等效电路。用LED模拟像素的好处非常多。首先是直观哪一行被扫描到了对应的LED就会点亮或熄灭肉眼直接能看到扫描过程其次是调试方便不用动用显微镜和探针台就能验证逻辑功能最后是安全性好不存在弄坏真面板的风险非常适合教学和验证性实验。整个系统的工作流程是CPLD产生STV信号启动第一级G0A电路然后四相时钟按照顺序一级一级传递扫描脉冲。每一行被选通的同时数据驱动部分根据内部计数器生成的图案把对应的点亮数据送到LED阵列的列线上。64行全部扫完一帧结束重新回到第一行开始下一帧。5.2 关键波形测量与判读设备用的是双通道数字示波器带宽100MHz足够测这种几十kHz级别的信号。测量时主要抓四个关键点STV帧起始信号、第一级G0A输出、最后一级G0A输出、CLK时钟信号。第一组测量是STV和第一级输出的关系。STV是一个宽度16.67ms的负脉冲在帧起始时拉低一次。第一级G0A输出应该在STV拉低后、第一个CLK上升沿到来时开始拉高。实测中这里有一个约1μs的延迟主要来自CPLD内部逻辑和电平转换电路的传播延迟属于正常现象。第二组测量是相邻两级G0A输出的时序关系。用双通道同时测第N级和第N1级的输出应该看到两个宽度相同、相位差一拍的脉冲后面的脉冲前沿正好出现在前面的脉冲后沿附近。这是G0A链路正常工作的标志。如果看到两个脉冲重叠说明交叉耦合锁存器复位有问题需要检查复位信号时序。第三组极其重要的是CLK和G0A输出的时序关系。在正确设计中G0A输出高电平期间CLK至少经历一个完整的下降沿这样进位信号才能正确传递到下一级。如果CLK频率和扫描脉冲宽度搭配不当会出现进位信号跟丢、扫描线跳行的故障。5.3 跟传统外挂IC方案的实测对比为了验证G0A方案的实际效果我把同一块测试基板分别用两种方式驱动一种是用G0A等效电路驱动另一种是从外部接一颗常规的栅极驱动IC。对比集中在几个维度。功耗方面G0A方案的等效功耗比外挂IC方案低约15%。原因很好理解——外挂IC输出到面板扫描线的路径更长走线寄生电容更大每次翻转都要充放电更多的寄生电容。G0A电路直接生成在扫描线旁边驱动节点到负载的距离只有外挂方案的几分之一。信号完整性方面G0A方案在扫描线末端的波形上升沿更陡振铃更小。外挂IC的信号要从PCB经过FFC软排线、绑定焊盘、扇出走线才能到达扫描线末端路径上的寄生电感和寄生电容构成LC谐振如果阻尼不够很容易出现肉眼可见的振铃。G0A没有这个问题。帧率方面G0A方案在60Hz刷新率下稳定性非常好但在120Hz高刷新率模式下配四相时钟的G0A方案优势更明显因为信号路径短、延迟小时序裕量更充裕。6. 常见问题与排查技巧实录6.1 画面出现横向不规则亮线问题出在哪里这是我在实验中遇到最棘手的一个问题。表现是LED点阵上随机出现几行异常点亮位置不固定一闪一闪的。用示波器去测出现异常的扫描线发现该行的G0A输出电平没有完全拉低残留了一个约3V的电压刚好达到LED微亮的阈值。排查过程分为三步。第一步检查电源去耦在G0A单元附近加了一颗100nF的高频去耦电容问题依旧。第二步检查时钟信号质量发现CLK信号在上升沿有约0.8V的过冲这会造成交叉耦合管误触发于是把时钟线的串联电阻从0Ω加大到33Ω过冲减到了一半但问题依然零星出现。第三步才找到根因。问题出在复位线上。复位信号在帧起始时拉高我在实验里把复位脉冲宽度设成了跟STV一样宽度结果复位信号还没完全结束第一级G0A就已经被触发。比手画脚了一下等于一边复位一边工作上下两级互相打架才导致扫描线随机残留电压。解决办法是把复位脉冲宽度压缩到STV的三分之一让复位动作先完成、触发动作后开始问题彻底解决。6.2 高刷新率下扫描线错位怎么处理调到120Hz刷新率时整个显示画面出现明显的阶梯状错位从中间某一行开始下面的图案整体偏移了一两列。原因是扫描时序和数据时序失配。进一步分析发现在高帧率下扫描脉冲宽度压缩得太短低于数据写入需要的最小时间。也就是说行扫描已经到了下一行但上一行的数据还没写完后续所有行的写入都跟着往后拖延表现出来的就是画面错位。调整思路有两个方向。一是压缩消隐时间给有效数据写入腾出空间二是增加数据预充电时间。最终我选择把行周期的消隐占比从4%降到1%再把数据信号的建立时间提前到扫描脉冲前沿之前两个措施叠加后问题消除。这其实是面板驱动设计里常见的时间预算问题高刷新率下每个时钟周期都要精打细算。6.3 长期运行后G0A输出信号衰减的教训连续跑了大概48小时后发现部分扫描线的输出信号幅度明显下降从20V掉到了约16V。一开始以为是电源问题检查后发现电源纹波和负载调整率都正常。后来才意识到这是TFT器件特性漂移造成的。在长时间工作状态下TFT的阈值电压会随着栅极偏压应力累积而正向漂移导通能力下降最终导致输出幅度衰减。在真正面板上这个问题靠四条途径解决一是工艺上优化TFT的沟道材料和钝化层降低阈值漂移速率二是电路上增加补偿管通过负反馈稳定输出幅度三是工作时采用交流驱动方式让每个TFT交替承受正负电压应力抵消漂移四是控制VGH不要过高减少栅极氧化层的缺陷捕获。实验板上的分立MOS管抗漂移能力比面板TFT强得多所以这种衰减在分立电路上不够明显但在真正面板上这个问题的严重性要放大十倍。这也是为什么G0A技术看着原理简单真正在产线上量产时工艺稳定性和长期可靠性的验证周期都非常长。6.4 一个容易被忽视的电源时序坑最后分享一个方向非常隐蔽的问题。系统同时需要逻辑电源5V、VGH 20V、VGL -7V三组电压。上电时如果先有VGH、后有5V逻辑电逻辑信号还没准备好驱动级却已经有了高压G0A电路的状态就乱了。最直接的后果是屏幕上的内容错乱甚至某些扫描线被持续导通时间一长会烧掉该行的TFT。解决办法是在电源芯片上做时序控制先上逻辑电源5V延迟50ms后再上VGH和VGL。这个延迟可以用RC延时电路加比较器实现也可以在主控MCU里用GPIO控制电源芯片的使能脚按顺序拉高。配套的还有一个下电时序先断VGH再断5V。否则下电瞬间逻辑电源还在工作VGH已经消失驱动级的悬浮节点会产生不可控的状态同样可能造成误开启。真正做主板的工程师都会专门画一张电源时序图我这块实验板的电源管理也得益于这个习惯后来再也没有出现过上电瞬态异常的问题。7. 项目经验沉淀与后续扩展思路把整个实验完整做下来我最大的感受是显示驱动电路是一门看起来简单、做起来门槛全在细节里的学问。计数、译码、驱动三个词每个人都能讲出个大概但真要把一帧画面稳定地刷出来中间涉及时序预算、电平匹配、电源管理、信号完整性、器件可靠性任何一个环节出问题最终都会以画面异常的形式呈现出来。我特别想分享一个经验做这类项目一定不要一上来就追求高大上。我第一版设计想一步到位用高端FPGA直接驱动结果时序约束写到一半就卡住了。后来回到最朴素的分立逻辑器件方案用计数器加译码器把最基本的链路跑通再逐步替换成G0A等效电路反而一周就完成了核心验证。先把能跑的简单方案跑通再逐步逼近真实工程方案效率要高得多。最后再送大家一个小技巧。如果你手头有逻辑分析仪哪怕是最便宜的那种8通道版本一定要把它接到G0A电路的核心节点上同时抓取多路信号。示波器适合看波形质量逻辑分析仪适合看时序关系这两者配合起来排查显示驱动问题的速度会快非常多。我后来调120Hz刷新率问题时就是靠逻辑分析仪一次性抓到四相时钟和每级G0A输出的完整时序图才确定了错位问题的根源。后续如果你想继续深入研究有几个方向值得尝试一是在FPGA上实现可动态配置的G0A时序控制器配合真实面板测试不同刷新率和功耗的关系二是尝试用LTPS工艺参数建模仿真不同阈值漂移程度下G0A电路的输出稳定性三是探索Mini-LED背光下的驱动协同方案看看G0A扫描时序如何跟背光分区控制同步。显示驱动这个方向看着传统但值得挖的东西其实远比想象中要多。