嵌入式系统在LED大屏幕设计中的应用
2022-08-10

  LED点阵是公共信息的一种重要显示终端,其中大屏幕LED点阵显示屏在许多场合得以应用。大屏幕显示技术比中小屏幕显示难度更大,因为其屏幕大,LED点数多, 而又要在极短时间内刷新每个点,这就要求其扫描速率必须非常高,此外,大屏幕作为信息发布的重要媒介,对其稳定性、可靠性以及可扩展性要求都很高,只有设计合理的控制电路才能满足上述要求。本文着重讨论LED大屏幕设计中控制电路的几种设计方法,针对不同的设计要求给出了不同的解决方案。


  1 LED大屏幕系统的工作原理

  典型的LED大屏幕显示系统主要由信号控制系统﹑扫描和以及LED阵列组成,系统结构如图1所示。目前大多数LED显示屏的屏幕设计采用的是模块化的结构,它的基本单元是LED显示单元模块,屏幕大小和形状可灵活改变,显示屏的安装和维护也十分方便。

 

图1 系统原理框图

  信号控制系统是微机系统﹑单片机系统﹑微机Z单片机主从控制系统﹑器件控制系统、红外遥控系统﹑传呼接收与控制系统等等。信号控制系统的任务是生成或接收LED显示所需的数字信号,并控制整个LED显示系统的各个部件按一定的分工和时序协调工作。行驱动电路多为三极管阵列,给LED提供大电流。列驱动由串入并出移位寄存器和锁存器(或带锁存功能的移位寄存器)构成。

  待显示数据就绪后,控制系统首先将第一行数据送入移位寄存器并锁存,然后由行扫描电路选通LED阵列的第一行,点亮一段时间后,再以同样方法显示后续行,直至完成一帧的显示内容,如此循环往复。根据视觉暂留的原理,能够实现24f/s的显示才能够让肉眼没有明显的停顿感,相当于响应时间要达到,40ms以下。当LED显示屏面积很大时,传输的数据量也非常大,从而增加了显示系统的响应时间引起闪烁,为提高视觉效果,可以分区并行显示。

  在高速动态显示时,LED的发光亮度与扫描周期内的发光时间成正比,所以通过调制LED的发光时间与扫描周期的比值(即占空比)可以实现灰度显示。


  2 LED大屏幕控制电路的设计

  控制电路的设计是大屏幕系统设计的核心,控制包括信号控制系统、扫描电路和驱动电路的设计,控制电路的设计一般由数据存储器、数据缓存器、计数器﹑同步控制器﹑读写控制器﹑主从控制器、地址控制器、帧存储器﹑数据选择器、灰度调制器、移位寄存器等构成。目前来说,LED显示屏控制电路设计广泛采用两类器件作为其控制核心来实现,一类是单片机控制系统,另一类是可编程逻辑器件。


  2.1 基于单片机的控制电路设计方案

  基于单片机的控制电路主要有两种方案,一种是一片单片机作为主控器件控制和协调大屏幕整个显示系统的显示,一种是多片单片机构成多处理器,其中一片作为主CPU,其它作为子CPU 一起控制大屏幕的显示。

  图2 是采用单片CPU 设计的控制电路机构示意图,用89C52单片机作为控制核心。单片机接收从PC机或其他信息源发送来的显示数据,存储在Flash中,同时用RAM 6264作为场显示缓存区,以实现不同显示播出方式。89C52控制切换开关C1,C3和C2,C4同时对帧存储器A,B交替进行数据的读写操作,将读出的数据进行并行5串行转换送给显示屏进行显示刷新。其中,自动地址生成器由4个计数器串联构成,并配以振荡电路提供计数时钟,对于一个M×N个像素的单色屏,当刷新频率为60Hz时,计数频率为M×N×60Hz对于多灰度级彩色大屏幕,数据送到显示屏之前要进行灰度调制重现图像的色彩,对数据的处理速度要求更高,采用单片机控制可能在速度上无法满足要求。

 

图2 单片CPU控制电路结构示意图

 

  由于目前很多单片机的I/O口具备了15mA以上的驱动能力且价格比较便宜,因此在大屏幕的设计中也采用多处理器方案。系统的基本特点是:一个显示组中有多个处理器,包括一个主CPU和多个子CPU,其结构示意图如图3 所示。主CPU的任务是通过数据采集或与外界通信等获取显示信息,再传输给子CPU,主CPU还负责行扫描和发送显示同步信息等。子CPU接收主CPU的数据信息并存放到内部RAM.中,再根据主CPU发出的控制信息选择适当的列输出口进行列扫描。假设每个子CPU可用作输出口的最多引脚数为m,而每块LED矩阵的列数为n,则每块芯片所能驱动的LED块最大数为m/n 这样,每个单片机负责一块或几块》LED块,灵活性强,便于扩展,同时减轻了主CPU的负担,提高了点阵的刷新频率。

 

图3 多CPU控制电路结构示意图

  在多画面显示的大屏幕设计中,这种方案较为理想,对不同的显示画面采用单独的子CPU进行列扫描,再通过主CPU进行统一的行扫描,虽然控制电路使用的元件较多,但电路结构简单,易于实现。


  2.2 基于CPLD/FPGA的控制方案

  频图像信号频率高:数据量大,要求实时处理,加之LED大屏幕电路的数字逻辑相当复杂,采用CPLD/FPGA设计控制电路,可以简化系统结构,便于调试。 图4是CPLD/FPGA设计控制电路的原理图。采用CPLD/FPGA器件对其中的同步控制、主从控制、读写控制和灰度调制等大量电路进行了集成,使图像数据处理更为快速,图像更加稳定,而且系统结构紧凑,工作可靠性有所提高。

 

图 4CPLD/FPGA控制电路原理图

  图4中虚线以外的其它功能模块均有CPLD/FPGA编程实现,将复杂的硬件电路设计通过软件编程来取代。与图2的单片机控制电路对比来看,电路结构明显更简洁,电路的面积减小及可靠性增强,调试也更为简单,由于CPLD/FPGA可以并行处理多个进程,比起单片机对任务的顺序处理效率更高,点阵的刷新频率也随之提高。

  此外,器件的片内资源越来越丰富,许多器件内部都集成了RAM块,以Altera公司推出的高性价比FPGA飓风EP1C6为例,它的内部就集成了20块RAM.模块,每块容量为4Kbit,这些RAM块可通过软件设置成单端口RAM.,双端口RAM,FIFO等,满足系统对数据处理的需要。比如在设计灰度调制器时,色彩再现的灰度等级越高,在保持相同的刷新频率的情况下,对数据的处理速度越高,此时,可以将FPGA的内部RAM.块设置成一个双端口RAM.作为灰度调制的缓冲区,在读取帧存储器中的数据的同时,将上次读取的数据进行灰度调制,二者交替进行,加快了数据的处理速率。在显示系统集成度和稳定性要求较高:图像灰度级较多的大屏幕设计中,采用可编程逻辑器件设计控制电路更方便。

  另有一些控制电路的设计方案综合运用了单片机技术和EDA技术,利用单片机实现数据的处理、存储和通信功能,CPLD/FPGA实现数据的灰度调制、扫描显示等功能。这种方案对单片机和CPLD/FPGA的资源要求都不是很高,电路设计也相对较容易,既保证了显示效果,又节约了设计成本。

 

  2.3嵌入式系统在大屏幕设计中的应用

  由于嵌入式计算机技术具有单片机无法比拟的优点:指令执行速度比普通单片机高一个数量级,支持大容量的存储空间:宽范围的存储器接口类型,高位宽的数据总线,多种外设通信接口,特别是的使用可以更为有效的管理系统资源的分配,通过其高效的调度算法,使得整个应用程序的设计可以采用多任务的方式实现,极大地提高了系统的运行速度和可靠性。 基于Linux的嵌入式系统的控制如图5所示。

 

图5 基于Linux的嵌入式系统控制电路原理图

  2.4大屏幕显示的驱动方案

  LED大屏幕的驱动方案主要有三种#串行控制驱动方式:并行控制驱动方式以及应用高度集成专用芯片驱动。 串行控制驱动方式是将显示的数据通过串行方式送入点阵,其特点是线路连接简单,调试方便,单元的可靠性也较高,串行控制驱动方式可选用的芯片有:MC4094,74LS595,9094等,行驱动要求功率较大,一般采用大功率三极管来驱动,行扫描可用三-八译码器等控制,由于串入并出芯片可级联,为LED单元的级联提供了支持。

  并行控制驱动方式将显示的数据通过并行方式送入点驱动电路,其优点是数据的刷新速率快。 并行驱动方式可选74LS374这类的锁存芯片,采用首尾相连的方式将控制:驱动一并形成。 并行驱动方案控制方便,系统投入成本低。 高度集成的专用例如ZQL9701集行:列控制及一些外围驱动电路于一身,使单元的控制:驱动更为简单,系统的稳定性更为可靠,采用ZQL9701将使系统的显示灰度达到256级,但系统成本较高。 对于中小规模的生产和应用应以前两种驱动方案为主,规模化生产以及要求较高的应用场合可选用专用集成芯片驱动。

  3 结束语

  LED大屏幕控制电路的设计方案各具特色,实际工程应用中可根据需要选择不同的设计方案,设计单色及灰度等级不高的大屏幕时,可采用基于单片机的设计方案,要实现高难度图文动态特技显示和多灰度级显示时,则应选择基于器件的设计方案或基于嵌入式技术的设计方案。

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • 单片机
  • 嵌入式
  • MCU
  • STM
  • CFS任务的负载均衡

    负载均衡的系列文章共分为三篇,第一篇为框架篇,描述负载均衡的相关原理、场景和框架。本篇作为该系列文章第二篇,主要通过对任务放置场景(task placement)的均衡分布进行分析,以便加深读者对内核调度器实现任务均衡分布的理解。 本文基于linux-5.4.24分

    昨天
  • Multi-queue 架构分析

    Linux上传统的块设备层(Block Layer)和IO调度器(如cfq)主要是针对HDD(hard disk drivers)设计的。我们知道,HDD设备的随机IO性能很差,吞吐量大约是几百IOPS(IOs per second),延迟在毫秒级,所以当时IO性能的瓶颈在硬件,而不是内核。但是,随着高速

    昨天
  • ARMv8 异常处理简介

    内核稳定性问题复杂多样,最常见的莫过于“kernel panic”,意为“内核恐慌,不知所措”。这种情况下系统自然无法正常运转,只能自我结束生命,留下死亡信息。诸如: “Unable to handle kernel XXX at virtual address XXX” “undefined instruction XXX”

    昨天
  • 新型 IO 调度器 BFQ 简介

    Linux io调度器有很多种,大多数调度器都经受住了各种市场环境的长时间验证,稳定性、性能得到各种用户的认可,但新的调度器依然展露头角,在4.12内核中出现了一个新的bfq调度器,这个调度器将取代曾经的辉煌的cfq调度器。社区对待大的改动都是很谨慎的,为什

    昨天
  • CFS任务的负载均衡(框架篇)

    我们描述负载均衡的系列文章一共三篇,第一篇是框架部分,即本文,主要描述了负载均衡相关的原理、场景和框架。后面的两篇是对均衡代码的情景分析,通过对load balance、task placement和active upmigration几个典型的负载均衡来呈现其实现细节,稍后发布,敬

    昨天
  • linux IO Block layer 解析

    早期的 Block 框架是单队列(single-queue)架构,适用于“硬件单队列”的存储设备(比如机械磁盘),随着存储器件技术的发展,支持“硬件多队列”的存储器件越来越常见(比如 NVMe SSD),传统的单队列架构也因此被改成了多队列(multi-queue)架构。早在 3.

    昨天
  • eMMC简介

    1 eMMC是什么 eMMC是embedded MultiMediaCard的简称,即嵌入式多媒体卡, 是一种闪存卡的标准,它定义了基于嵌入式多媒体卡的存储系统的物理架构和访问接口及协议,具体由电子设备工程联合委员会JEDEC订立和发布。 它是对 MMC的一个拓展,具有体积小,功耗低,

    昨天
  • 低纹波、高精度电流源设计

    低纹波、高精度电流源是一种重要的仪器设备;广泛应用于电光源、电化学、通信、测量技术、电子仪器等领域。目前,市场上的电流源不具备连续可调功能;并且输出电流范围小、

    昨天
  • Linux 电信基站系统解决方案

      自从1991年Linux第一次面世以来,任何人也不会想到这个不起眼的操作系统现在会应用得如此广泛。无论是从嵌入式领域的智能手机到大型计算服务器都可以找到它的

    前天
  • 单片机振荡电路中如何选择晶体?

    1.单片机晶振的原理晶振一般采用三端式(考毕兹) 交流等效振荡电路;实际的晶振交流等效电路中,其中Cv是用来调节振荡频率,一般用变容二极管加上不同的反偏电压来实

    前天
  • OpenMV image 模块对象(目标识别基础)

    背景介绍: Sugar 在一文中说过:“OpenMV 在图像里做目标识别的过程就是:不停地取出画面里的每一帧图像,在图像里的每一帧画面上找目标的过程。” 本篇就说一说 OpenMV 怎样在一帧画面上识别目标的。 image 模块 上一篇中说到 OpenMV 通过 sensor.snapshot(

    前天
  • 代码里开启喷洒装置, ardupilot 是怎么控制的

    背景介绍: 本文面向植保机飞控开发者,以代码解析的方式解读植保机喷洒装置的控制代码。 不仅说明了功能的开启方法,更重要的是表述了如何从代码里找方法的过程。对于进一步掌握 ardupilot 有帮助。 代码里开启喷洒装置 ardupilot 控制喷洒装置的代码在 AC_S

    前天
下载排行榜
更多
广告