关键字:FPGA 大屏幕 LED
  1 引言

  作为大型平板显示设备的一种,LED 显示屏以其使用寿命长、维护费用低、功耗低等特点在显示领域占有重要的位置。特别在近年,带有红、绿、蓝三基色以及灰度显示效果的全彩LED 显示屏,以其丰富多彩的显示效果而倍受业界关注,成为LED 显示屏市场近年增长幅度比较大的产品。寿命、单位面积亮度、三基色的偏差程度、点距、对比度、灰度等级(包括灰度级数和线性度) 、扫描频率等指标性能是衡量或横向比较大型显示设备好坏的标准。而这些指标性能的优劣,很大程度上决定于扫描控制器的性能。因此对大屏幕全彩L ED 显示扫描控制方法的研究有着重要的意义。

  由于LED 的发光亮度与扫描周期内的发光时间近似成正比,所以灰度等级的实现通常是由控制LED 的发光时间与扫描周期的比值,即采用调节占空比来实现的。全彩LED 显示屏一般采用逐位点亮的扫描方式实现灰度图像显示。对于显示灰度级数为8 位的LED 显示屏,一般采用“19场扫描”原理来实现256 级灰度显示。L ED显示屏的显示数据更新一般采用串行输出方式,如采用595 进行设计的静态LED 全彩显示屏,根据“19 场扫描”原理,对于分辨率等规格确定的屏体,当串行移位时钟确定时,显示屏的刷新频率和LED 的发光效率(一个扫描周期内,LED的最长点亮时间所占的比例) 也就被确定。本文提出了一种新的逐位点亮扫描方式,该方式对典型的“19场扫描”方式进行了改进,可以在串行移位时钟确定的条件下,在一定范围内对刷新率和发光效率进行调节,从而提高了产品根据实际的应用环境和客户要求进行设计的灵活性。

  2  逐位点亮的灰度实现算法设计

  以8 位“19场扫描”理论为例,所谓逐位点亮,即从一个字节数据中依次从低位到高位或者从高位到低位提取出一位数据,分8 次点亮对应的像素,每一位对应的点亮时间与关断时间的占空比不同。如果点亮时间从低位到高位依次倍增,则合成的点亮时间将会有256 种组合。定义D0 位对应的点亮时间加上关断时间为一个时间单位,设为T ,可得表1 所示各位的点亮与关断时间。

  表1  “19场扫描”显示时各位的点亮与关断时间

在实际设计中, T也是对LED 显示屏进行一次串行数据更新所需要的时间。表1 所示的总时间是T 的整数倍,所以每个数据位所占用的总时间可以通过刷新一次屏幕数据来进行定时。在进行LED显示屏设计时,整个显示屏中LED 的亮与灭可以通过总控线EN 控制,当点亮时间≥1 T时,EN 控制显示屏处于常亮状态,而当点亮时间< 1 T 时,可以通过控制EN 产生相应占空比的控制波形来实现相应位的亮度控制。可见,利用“19场扫描”原理,在串行移位时钟和屏体具体规格确定的情况下,其刷新率也就被确定了,并且具有固定的发光效率η。

  η =6 点亮时间6 总时间≈ 16 T19 T≈ 84 % (1)由灰度显示的原理可以知道,能否实现灰度显示,决定于各个数据位的点亮时间从低位到高位是否以2 的倍数递增,而关断时间的长短只会影响发光效率的大小。在进行系统设计时,使用了8~10 位的非线性灰度校正,因此需要实现10位灰度扫描控制。定义“t”为点亮时间的一个时间单位,则可得表2 所示的时间分配。如果定义数据为“1”有效(点亮) “, 0”无效(熄灭) ,当输入数据从000H 到3FFH 变化时,点亮时间在0t~1 023t 变化,而亮度控制总时间则保持不变,从而实现了10 位占空比控制,采用这种灰度控制方法可以实现1 024 级的灰度显示。与“19 场扫描”原理不同,本文控制点亮的时间不是通过屏幕刷新来实现,而是采用单独的计数器来进行计时控制的。

  表2  逐位点亮控制中各位数据点亮时间分配表

设使用串行方式更新整场视频图像一位数据所需要的时间为Ts ,如果Ts 满足:

  则完成一次串行数据更新所需要的时间在Dn - 1位所需要的点亮时间和Dn 位的点亮时间之间,这个时间也许小于一个时间t。由于串行数据更新时间和点亮时间可以部分重叠,设屏幕的刷新率(即显示数据帧从显示缓存读出进行屏幕显示更新的频率) 为f r ,可以得到式(3) 。

  当串行时钟频率和屏体参数确定, Ts 便可计算出来。此时,如果设定了屏幕的刷新率,结合式(2) 和式(3) ,对n 从0~9 进行穷举计算,可以得到同时满足两式条件的n 值,同时可以确定单位时间t 的值。由此得到的t 值,通过FPGA 进行定时控制,便可实现一定刷新率的全彩灰度控制。

  这里LED 的发光效率可以用式(4) 表示。

  从式(3) 可知,当串行移位时钟频率一定,即Ts 确定的情况下,刷新率f r 与单位时间t 成反比。而式(4) 表明,发光效率η和单位时间t 成正比。可见,刷新率和发光效率成反比关系,提高刷新率的同时必然要牺牲发光效率。因此,采用上述扫描方式,设计者可以根据实际应用环境和客户的要求在刷新率和发光效率两者之间进行适当的调整。

  如果要求系统的全彩灰度控制符合“19 场原理”的显示效果,则由表2 可得表3 所示的关断时间t0 ~t9 的值。结合表3 中t0 ~ t9 的值,对表2中总时间各项进行求和,便可得总时间为Ta =1 152t ,根据1 152t = 1/ f r 可得到t 值。

  表3 逐位点亮控制中符合“19 场扫描”时各位数据关断时间分配表在系统设计中,扫描板每个输出端口分别控制16 ×48 分辨率的静态显示屏模块,红、绿、蓝三色显示数据采用3 根数据线分别输出,串行移位时钟频率为6. 25 MHz ,显示屏刷新频率设计要求为120 Hz ,利用以上的结论可得:

  Ts = 16×48×16125×106 s = 122188μs然后进行穷举计算,如表4 所示,可以得到单位时间t 的值为7. 780μs。

  表4 对n 进行穷举计算得到单位时间t 的值根据式(4) ,可计算得到发光效率η = 1023tf r = 1023 ×71780 ×10- 6 s ×120Hz = 9515 %

  3 FPGA 电路设计

  视频图像信号频率高、数据量大,要求实时处理,加之全彩大屏幕LED 控制器实现的数字逻辑相当复杂,采用CPLD/ FPGA 设计控制电路,可以简化系统结构,便于调试。本文设计的扫描控制器应用于大屏幕全彩LED 脱机视频播放系统中。其中涉及到视频信号的存储和读取、视频数据的传输和接收、灰度显示控制电路、LED 点阵显示驱动电路等。本文主要对灰度显示控制电路进行讨论,控制对象为以红、绿、蓝三色LED 组成的全彩静态显示屏。实现灰度显示控制器的FPGA 内部电路结构如图1 所示。

  在LED 显示屏扫描控制电路中,FPGA 是其中最主要的逻辑控制器件,主要实现视频数据接收、非线性灰度校正和扫描信号产生功能。FP2GA 内部各个电路模块相互协调运作,将数据输入和显示输出连接起来,实现L ED 显示屏的全彩视频播放。

  作为一个独立的显示系统,普通的RS232 、RS485 总线方式已不能满足L ED 显示屏进行多媒体视频播放所要达到的高数据速率传输要求。以512 ×256 的全彩显示屏为例,当要求系统换帧频率达到30 Hz 时,需要的数据传输速率高达94. 4 Mbp s。因此,在系统设计中,视频数据的传输和接收采用RTL8201 设计的100 M 以太网控制器来完成。

  为了使视频播放连续平滑,在数据接收过程中不能打断显示,这里采用两组SRAM 进行“乒乓操作”,使显示数据的接收存储和读取能够同时进行, 从而实现视频数据流的无缝缓冲和处理 , 如图2 所示。换帧信号FRAME _SWITCH 是用来切换工作SRAM 组的,该信号决定两组SRAM 哪一组处于读状态,哪一组处于写入状态。RTL8201 数据接收模块建立MII 接口,实现与RTL8201 的接口,把MII 接口传送过来的半字节数据转换成为24 位RGB 数据,然后存储在SRAM 里。RTL8201 每接收完一帧显示数据,则对换帧信号FRAME_ SWITCH 进行求反,将两组SRAM 的读写位置切换过来,使显示屏显示最新接收到的帧数据,从而实现换帧操作。

  由于LED 显示屏包含4 列相互独立的显示模块,因此扫描控制电路需要提供4 路RGB 数据输出接口, 在图1 中表示为RGB0 ~ RGB3 。

  CLOCK_OUT 为移位时钟信号输出端口,RGB0~RGB3 在该时钟的上升沿有效,各个端口的红、绿、蓝三色显示数据通过时钟脉冲信号分别逐位移入驱动芯片的显示缓存。LA TCH 信号为串行数据输出结束后需要进行显示刷新时的锁存脉冲。EN 为灰度控制信号,当EN 有效时,L ED 可以随输入数据的0 、1 状态熄灭或者点亮,其有效时间宽度对应为表2 所示的点亮时间。

  EN 信号产生模块为实现灰度图像显示的重要模块,该模块将输入的位计数值转换成为对应位的点亮时间,并进行相应时间长度的亮度控制。

  在本设计中,输入的灰度信号为256 级,考虑到反γ非线性校正过程引起的灰度损失,将输出的灰度级别定义为1 024 级,因此需要得到10 位灰度数据各个位对应的点亮时间。依据“灰度实现原理”,10 位灰度数据各个数据位对应的点亮时间从D0 ~D9 分别从1 T 倍增为512 T ,点亮总时间为1 023 T 。

  由于驱动板中驱动芯片有二级缓存功能,所以更新数据和点亮L ED 这两个控制过程可以部分重叠,从而得到图3 所示的LED显示屏灰度控制流程。更新第0 位数据时点亮时间为512 T 、更新第1 位数据时点亮时间为1 T ...依次类推,更新第n 位数据时,控制点亮的时间为上一次所更新的位所需要的点亮时间。

  4 结论

  讨论了一种大屏幕全彩L ED 显示屏设计的扫描控制器设计方案,通过对“19 场扫描”实现方法的分析,针对其不足之处,提出了一种新式的逐位点亮灰度控制方法。该控制方法使得在全彩LED 显示屏的设计中,可以在L ED 的发光效率和刷新率之间进行灵活的调整。本设计采用FP2GA 控制芯片为设计平台来完成扫描控制电路的实现,借助EDA 开发工具,降低了驱动电路的设计难度,缩短了项目的开发周期。

基于FPGA的大屏幕全彩LED扫描控制器设计相关推荐

  1. led显示屏背景墙设计_全彩LED显示屏比例设计因素都有哪些?

    从以往至今的例子来看,全彩LED屏是目前市场主流显示器材元件,很多LED显示屏制造商在前期设计时对全彩LED显示屏尺寸设计一直是个无概念的设计状态. 全彩LED屏幕尺寸正常来说都是根据三个因素构成来进 ...

  2. 会议室可以使用全彩LED显示屏吗?

    + 回答是肯定的,全彩LED显示屏在会议显示方面有一定的优势,但也存在一些不足.一般情况下,如果会议室较大,观看距离较远,则适合采用全彩LED显示屏,因为它能最大程度地弥补分辨率低的不足.若为小会议室 ...

  3. stm32全彩LED屏显示

    由于项目需要,使用全彩LED屏显示,单块的控制卡成本过高,所以自己设计了一个控制卡.由于没有驱动IC的资料,此程序不适用所有LED屏. 硬件:stm32f103ret6 屏参:128*64 2.5全彩 ...

  4. 教你如何快速学会全彩LED显示屏的调试方法

    今天优色专显教你如何快速学会全彩LED显示屏的调试方法.全彩LED显示屏的调试分为3步:调试之前的准备工作;调试单个接收卡所控制的LED电子屏区域(一般为一个箱体);调试大屏幕. 一. 调试之前的准备 ...

  5. stm32 led屏控制卡_全彩LED显示屏出现亮线的时候怎么处理比较好呢?

    全彩LED显示屏相对于液晶拼接屏而言,其出现亮线.屏幕小故障的概率要比液晶拼接屏大很多,但是,一般来说这些小故障很容易处理,所以全彩LED显示屏的拥护者还是众多的.全彩LED显示屏出现亮线的时候怎么处 ...

  6. 联诚发(LCF)全彩LED显示屏在多领域大放异彩

    全彩LED显示屏技术发展到今天,已经非常成熟了.LED光电领域在联诚发(LCF)等注重技术开发升级的企业不懈努力下,已经能在各种应用环境中提供解决方案.随着国家对于环保和节能的重视,以及在广告.市政及 ...

  7. 室内P2全彩LED高清显示屏做多大面积分辨率有2K(1920*1080)

    室内各型号高清LED全彩电子屏适合安装场所及尺寸比例 LED显示屏行业经过初期的粗狂式发展,现在市场越分越细.早期由于生产成本原因,室内全彩电子显示屏价格较高,销量一直不温不火.犹记得10年前连室内P ...

  8. 「雕爷学编程」Arduino动手做(28)——RGB全彩LED模块

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...

  9. kotlin设置按钮不可点击_全彩LED显示屏软件空点功能如何设置、使用?

    全彩LED显示屏的显示功能得以实现,所使用的软件功不可没.可以说是显示屏所展现的一切的效果和特性,都得归功于软件和显示屏设备.全彩LED显示屏软件空点功能如何设置.使用,你们知道吗?下面景信科技小编为 ...

最新文章

  1. 运动目标检测_单高斯背景建模
  2. 2.1.4 进程之间的通信(共享通信、消息传递、管道通信)
  3. window media player出现内部应用程序错误
  4. 《数据结构与算法分析》学习笔记(二)——算法分析
  5. remmima 不能保存_Vue项目实现表单登录页保存账号和密码到cookie功能_婳祎_前端开发者...
  6. Linux下C程序进程地址空间布局
  7. azure机器学习_Azure机器学习中的数据清理
  8. h5离线缓存与浏览器缓存的区别
  9. Flutter 深度学习 — Cookbook(Flutter菜谱)
  10. 字符串的排列组合问题
  11. 什么原数据更容易平稳_时序数据处理难题攻略(上)
  12. bom mysql表,如何输出bomCAD表格
  13. C++实现费氏数列算法
  14. PHP算术题,阶乘相加
  15. 在Delphi中很精确地控制生成的WORD文档的格式
  16. java用axis方式调用webservice接口
  17. 解决APP打开后闪退的问题
  18. 基于加取模和循环左移运算的扩散算法matlab
  19. 配置超过64K方法的应用程序
  20. 联想g470笔记本开vt_ThinkPad笔记本电脑怎么开启vt虚拟化技术

热门文章

  1. 【Visio】 改变立方体右侧面的颜色!
  2. 调用第三方原生地图应用
  3. 神器更新/上新一款应用,以及更新一款下载神器
  4. 《被讨厌的勇气》书摘心得之我们的不幸是谁的错?(2)
  5. 青龙面板搭建(狗东代挂)搭建详细保姆级教程
  6. Cocos2d-x 3.2 大富翁游戏项目开发
  7. 卖油翁 欧阳修 无他,但手熟尔
  8. UV 统计- HLL算法(JAVA实现)
  9. 当UNet遇见ResNet会发生什么?
  10. 国外云服务器哪个好?云服务器选择什么配置合适?