通常用单一单片机作为主控器件控制和协调大屏幕显示。由多片单片机构成的多处理器系统,其中一片作为主CPU,其他作为子CPU共同控制大屏幕的显示,该系统可以减轻主CPU 的负担,提高了LED点阵的刷新频率。但单片机的驱动频率有限,无法驱动等分辨率LED屏幕,尤其是对于多灰度级彩色大屏幕,数据送到显示屏之前要进行灰度调制重现图像的色彩,对数据的处理速度要求更高,单片机控制在速度上无法满足上述要求。因此该方案主要应用于实时性要求不高的场合,主要进行一些文字、图片等静态异步显示的控制。视频图像信号频率高、数据量大,要求实时处理,采用FPGA/CPLD设计控制电路,其中的同步控制、主从控制、读写控制和灰度调制等大量电路进行了集成,简化系统结构,便于调试且系统结构紧凑,工作可靠。与单片机控制电路相比,电路结构明显简洁,电路的面积减小,可靠性增强,调试也更为简单,由于FPGA/CPLD可以并行处理多个进程,比起单片机对任务的顺序处理效率更高,点阵的刷新频率也随之提高。
对实时性要求较高、数据量较大的场合下,可编程逻辑器件是首选的核心数据处理器。本系统考虑对于传输视频数据大小和驱动LED大屏幕刷新频率的要求,LED发送卡、接收卡均采用FPGA作为核心处理器,笔者选择XILINX公司基于90NM工艺制造的XC3S250E-FTG256,内有25万逻辑门,最高频率可以达到600MHZ,完全可以满足系统速度的要求在系统中作为扫描控制单元,同时以MCU芯片为主控制单元。采用该方案可以有效简化显示屏的电路结构,从而提高了整个控制系统的灵活性和可靠性。
1 系统的组成和工作原理
该系统采用89C51单片机和SDRAM 组成控制中心,由基于XILINX公司的FPGA的90NM工艺制造的XC3S250E-FTG256和RAM 组成扫描控制模块,以FLASH作为存储器模块,采用以太网传输数据,组成LED屏的控制系统。系统结构如图1所示。其工作原理为:主机通过TFTP协议将图片传输给系统以太网接口模块,以太网接口模块解析协议,接收图片数据,然后将数据传输给MCU,MCU 将接收到的数据写入存储模块NAND FLASH.在显示时,MCU读取FLASH 中的数据,通过SPI接口将数据传输给FPGA扫描控制模块,经扫描控制模块处理后传输到LED屏幕上显示。
图2 SRAM 电路
2.2 FPGA的硬件设计
FPGA的硬件设计如图3所示。FPGA 需要提供大量的I/O引脚和高速的显示控制信号,所选用的基于XILINX公司的FPGA 的90NM 工艺制造的XC3S250E-FTG256可以满足设计的要求。
图4 74HC245驱动电路
2.4显示板的驱动电路
LED显示板的面积很大,它的正面由LED 显示块级联而成,背面是驱动电路。由于LED的驱动电流相对较大,驱动电路应尽量和LED点阵模块靠近。因此行列驱动器一般都安装在屏体的背面。LED显示板的驱动电路中采用了74HC595芯片,是硅结构的CMOS器件,兼容低电压TTL电路,具有8位串入并出的移位、并行锁存和三态输出功能。移位寄存器和锁存器使用独立的时钟,数据SDATA 在SCLK的上升沿输入移位寄存器,在LT的上升沿进入的锁存器中去。当使能信号OE为低电平时,锁存器的数据输出到LED.74HC595芯片可以解决数据显示和数据串行传输在时间上的冲突问题,在显示1行各列数据的同时,可以准备下1列的LED数据。以1/16行扫描为例,LED显示板的驱动电路如图5所示。
CLK是移位寄存器时钟,每个脉冲将引起1位数据移入74HC595中,当1行的数据全部移完后,锁存信号LT控制数据从74HC595的寄存器移入锁存器。A、B、C、D是行扫描信号,其中A是最低位,通过4/16译码器控制LED屏的行扫描。OE是消影信号,它可以选择控制行信号或列信号,用于LED点阵是否能被点亮和控制整屏的亮度。如果OE控制列信号,它接74HC595芯片的OE端,因为只有当OE为低电平时74HC595的输出才有效,否则输出三态。如果OE控制行信号,它接到4/16译码器的使能端,低电平时行扫描不起作用。
图6 软件模拟显示效果