LED 大屏幕显示器由于其醒目、内容灵活多变等特点,已经越来越多地应用于广告、信息发布、交通指示等公共场所,取得了良好效果。LED显示屏主要分为数码显示和点阵显示两大数,本文只讨论点阵显示。目前的LED显示屏基本上都是先由用户提出要求,生产厂这根据需要订做,每次都要重复设计电路和机械结构,造成资源浪费,而且若用户的需求改变,改动将十分困难。
实际上不论显示屏的大小,其原理都是相同的,因此完全可以设计出一种标准化、模块化的LED显示屏,会对不同的需要,只需要得意组合相应的模块即可。本文介绍的就是一种模块化的LED显示屏,可以根据需要灵活改变大小,并可以脱离计算机独立运行,还可以实现如闪烁、滚动显示等特效。对整体式显示屏刷新率不足发生闪烁的常见问题CONTROL ENGINEERING China版权所有,在这个设计中由于被分割成小模块,不再成为问题。
1 基本原理
基本的设计思路是把整个显示屏分成若干相同大小、相同功能的显示模块,而另外用一个中央控制模块控制,同步所有显示模块的运行,实现整体协调的显示。
所以本系统主要由两部分组成:显示模块和控制模块。
显示模块实际都是相同大小的小LED驱动板,能够驱动LED阵列,具有基本的显示
控制模块负责控制各显示模块,向各显示模块发送数据和命令。控制模块储存要显示的点阵数据信息,定时向各显示模块下传。控制模块上还带有小键盘和通用异步串行口,即可以用键盘操作,也可以用计算机控制,还可以用计算机更新控制模块内的数据。
显示模块和控制模块之间用总线的方式连接,我们选用了I2C总线。
整个系统的设计使用有很大的自由度:控制模块控制的显示模块数量可以改变,显示模块的排列方式也可以改变(如16个显示模块,既可以是2×8也可以是4× 4),对同一块显示屏可以保存若干条件用信息分别显示,每条信息的点阵大小可以不同,超过屏幕大小的信息可以滚动显示出来。这样基本可以满足多种多样的需求。
2 电路结构
控制模块的原理如图1所示。
采用PIC16C73作为中央控制器。该单片机内置I2C接口、串行口,而且具有比较强的口线驱动能力(每根口线25mA),使用它可以简化很多外围电路。
数据存储使用两片EEPROM:X24256共提供64K字节的数据空间,可以反复擦除重定民,掉电数据不丢失。如果全部用来显示16×16点阵的汉字,可以显示2000个左右。数据存储器与各个显示模块共用I2C总线,依靠各自的地址区分究竟是存储器还是显示模块。
小键盘外接4个限流电阻直接接到CPU的口线上,对键盘采用4×4扫描方式。
控制模块与计算机的连接使用RS232串行口,用一片MAX202做电平转换。
此外控制模块还带有一个光强度传感器,其作用是调节显示屏的亮度。由于白天和夜晚的环境光强差异很大,白天觉得合适的亮芳到了晚上可能会很刺眠,因此根据外界的光强使用这个传感器自动调节显示屏的度。这里使用的是TI公司的TLS235光频转换元件。
每个显示模块要驱动一块16×16的LED阵列,由于单片机的口线数量少,使用静态显示是不可能的,这里使用了动态扫描显示。考虑到刷新速度的因素www.cechina.cn,使用16行扫描刷新可能会有闪烁,所以使用8行扫描、32位数据的方式。
每条数据线每个时刻只对应一个发光单元,要求电流较小;而当显示屏全开的时候,8路共阳极扫描线将会对应32个发光单元,电流要求大,所以两端的驱动电路是分别设计的。数据线端使用TI公司的4片TPIC6B595。扫描端使用Allegro公司的两片2944。
显示模块与控制模块用I2C总线相连。由于显示模块的任务只是显示,所以不另外增加存储器,只有内部的RAM单元保存欲显示的点阵数据,并不停地扫描显示到 LED阵列上。诸如滚动、闪烁等显示效果只是对显示数据做额外处理www.cechina.cn,如滚动显示实际对应数据的移位操作。这些功能也编写在显示模块中,由控制模块发送命令激活这些功能。
此外需说明的是,显示模块的驱动电路与LED阵列可以看作分离的两部分,只要在驱动电路的驱动能力范围内,可以使用发光单元不同的LED阵列,如1个发光单元仅为1个LED的小型显示牌或者1个发光单元包括5~7个LED的大型显示牌等。
3 软件设计
本系统的软件包括一个部分:显示模块、控制模块和PC机。
显示模块的软件主要包括扫描显示、特效处理和I2C通信三部分。三显示模块CPU的RAM中开辟出32字节作为显示缓冲区CONTROL ENGINEERING China版权所有,扫描显示程序只是定时从显示缓冲区中取数据发往移动寄存器,并设置相对应的扫描线,实现一次扫描。扫描显示并不识别缓冲区里的数据是什么。扫描是利用