为了增强灰度均匀性,降低闪烁感,采用逐位分时点亮原理实现LED显示屏256级灰度显示.利用FPGA可编程逻辑器件实现对数据的转换,然后把数据发送给LED驱动电路.最终通过LED驱动电路点亮LED显示屏.实际结果表明采用逐位分时点亮原理能很好地实现LED显示屏256级灰度的显示。
理论上讲,8场即可显示出256级灰度,然而通过表2可看出,即使数据为FFH时,在8T时间内也只是点亮了255T/128时间.关断时间可接近6T,点亮时间仅为总时间的约25%.因此,8场原理虽也能实现256级灰度显示,但亮度损失太大.为了提高亮度,可采用“19场原理”,即8位数据分19场显示完,其中D7位数据连续显示8场,D6位连续显示4场,依次递减.表3列出了19场显示时各位的点亮与关断时间。
4 FPGA内部电路设计
FPGA内部电路如图4所示.因为被控对象为1/8扫描显示电路,所以显示屏每8 行只需要一路数据信号.DRout1、DGout1、DBout1即为第一个8行的红、绿、蓝基色输出信号;DRout2、DGout2、DBout2为第2个8行的红、绿、蓝基色输出信号.以此类推.
Ha、Hb、Hc的二进制编码,定义当前的数据输出是8行中的哪一行.CP信号为数据串行输出的同步移位脉冲.LE信号为一行串行数据输出结束后的锁存脉冲,每当LE有效一次,Ha、Hb、Hc二进制编码状态增1.EA为灰度控制信号,其宽度为在一个时间单位T内LED的点亮时间.当然,不同的数据位其宽度不同,具体由表3决定.一个时间单位T即一行串行数据的传输时间,也即LE信号的周期,其大小取决于屏宽的像素点数量和CP信号的频率.
DRin1~8、DGin1~8、DBin1~8和为红、绿、蓝数据输入信号,分别对应第1个8行点阵区到第8个8行点阵区.CPin为数据输入同步脉冲.R/W 为读写控制信号,高电平时向RAM 中写数据,低电平时从RAM 中读取数据.上述信号均为前级系统提供的信号.CLK为读地址生成电路计数脉冲(外电路提供).[4]
FPGA内部程序流程图如图5所示.R/W 为内部RAM 读写状态控制管脚,该管脚为高电平时,内部RAM 为写状态;该管脚为低电平时,内部RAM 为读状态.先判断R/W 是否为1,若为1则外部数据写入内部RAM.若为0则读取内部RAM 中的数据,然后判断一场是否扫描完,若没扫描完则继续扫描;若扫描完,则EA产生相应的灰度信号.接着判断行19场是否扫描完,若没扫描完继续扫描;若扫描完,则行地址加1.再判断8行数据是否扫描完,若没扫描完则继续扫描,若扫描完,则将地址清零重新开始循环扫描.
5 结束语
采用FPGA可编程逻辑器件实现对数据的转换,然后把数据发送给由MBI5026驱动IC设计的LED显示屏恒流驱动电路,然后以逐位分时控制方式采用“19场原理”能很好地实现对256级灰度LED显示屏的控制。
编辑:妮子
中国照明网论文频道现向广大业内朋友征集稿件。稿件内容要求具有技术性、可读性。欢迎研究机构、院校、企业进行投稿。
投稿信箱:edit@lightingchina.com.cn
联系电话:0086-020-85530605-5029
(投稿时请注明作者姓名、单位、邮编和地址及电话、E-mail;以便通知审核结果,如发稿七日内无通知请来电查询。)
广东中照网传媒有限公司 版权所有 增值电信业务经营许可证:粤B2-20050039 粤ICP备06007496号
传真:020-85548112 E-mail:Service@lightingchina.com.cn 中国照明网