LED显示驱动芯片分为3种。1,常规芯片。2,双锁存芯片。3,PWM芯片。
1,常规芯片
这个是常规芯片的内部结构图。
毛华望 15889765314
这个是常规芯片的逻辑波形图。
LED显示驱动芯片的接口差别不大。 都是由 SDI ,CLK, SDO , LE , OE, OUT(16根)。
实现原理:
要想把LED灯点亮有2个因素,一个是点不点亮。和点亮多长时间(多长时间决定灰度)。比如说:点亮8个点。 第一次送 (1表示该灯点亮,0表示该灯不点亮) 1 ,0 ,0 0 0 0 0. 这次一起点亮的时间 64个时间单位。那么第一点就点亮了64个时间单位,其他的都没点亮。 第二次,0 1 0 0 0 0 0 0. 点亮时间32个单位。 那么第二个灯就点亮了 32个时间单位。 第三次, 1 0 1 1 1 1 1 0 。点亮16个单位。 第一个点亮了16个时间单位。3个16个时间单位..........。
因为时间切换的很快人眼是发觉不了,屏幕是只有一个灯在亮的。所以,在人眼最后看来,第一点是最亮的,第二个点有点亮,第3个点,暗很多。就是通过点亮和点亮时间,这儿2维信号来控制,不同的点的灰度的。
SDI,送过来16个bit的数shift register。LE使能后数据送到output latch, OE到来的时候,数据到了output drive里面进行点亮。OE决定了点亮的时间。 SDI决定了,这段时间这些灯哪些点亮,哪些不点亮。
如果这些灯是8bit灰度。 第一次,OE点亮128时间单位,依次点亮,64 32 16 8 4 2 1 。这一行就全部点完了。执行下一次点亮。 通知第一个灯,只在128单位的时候点亮,其他都不点亮。通知第二个灯, 只有128单位不点亮。 那么在这个周期内。第一个灯点亮128个时间。 第二个灯64+32+16+8+4+2+1=127个时间单位。你就会感觉,第一个灯比第二个灯亮。
基本上,基本点亮原理理解了,下面的升级版本驱动芯片也就好理解了。
2,双锁存芯片
一个点亮周期,第一次OE,128个时间单位, 第二次OE, 64 一直到第八次oe=1.。才算点完。一共点亮了256个时间单位,才能点亮一行,然后才可以执行点亮下一行。太慢了。双锁存芯片进行了升级。一次点亮周期,只有2个OE。比如说: 第一行,第一次刷新,第一次OE 64, 第二个OE,8. 就换行了。第一行,第二次刷新,第一个OE 128,第二个OE,1. 第一行,第三次刷新,第一个OE 32,第二个OE,4 等等。
比如:1s内常规芯片刷新100次, 双锁存刷新400次。是常规芯片的4倍。其实就是用这多出来的4倍。把同一行的时间单位补齐。1s内,第一行,显示的单位时间,没有变化。
亮度都一样有啥好处呢?刷新率提高了。刷新率低,人眼会感觉闪烁的。第二个,一次点亮128+1.第二个点亮64+32.结构紧凑,点亮效率高。
原理是这样的,只是实际情况会更复杂一点。具体就要看芯片手册了。
3,PWM芯片
为了在提高效果。双锁存芯片,还是边送数据边点亮。而且 OE控制也没那么灵活。后来才有了PWM芯片。为了提高效率和效果。我先把数据全部存起来。在PWM芯片内部对数据读出点亮。这样OE和写入数据分离,效率更高。数据不需要等OE完成才可以写。OE也不需要等数据写完再切换了。
芯片厂家,也可以更好完成自己的低灰算法了。OE也就变成了gclk时钟。具体如何编程实现,就需要看厂家的编程文档了。
题外话:
驱动芯片为了提高效率和效果。下一步会怎么走呢??你觉得PWM芯片效率已经最大化了嘛??各位可以想一下。在后面,我会描述。驱动芯片可能的未来走向。