本系统考虑对于传输视频数据大小和驱动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屏幕上显示。 图1 基于FPGA和MCU的LED显示屏控制系统框图 2 硬件系统设计 2.1存储器电路设计 本系统中需要用2片RAM 芯片作为缓存来存储视频数据,并以乒乓方式进行快速读写操作。目前主要有动态存储器(DRAM)和静态存储器(SRAM),SRAM 的读写时间短,静态功耗比较低,总线利用率高,它不需要刷新电路就能保存内部存储的数据,但是它的集成度较低,相同的容量占用体积大,价格较高,主要用于性能要求较高的领域。 DRAM 只能将数据保持很短的时间,它使用电容存储,必须经常刷新电路来保存数据,它的读写过程比较复杂,时间较长,动态功耗较大,总线利用率比较低。不过DRAM 的存储容量大,价格便宜,被大量用在服务器和电脑中。由于DRAM 读写过程比较复杂,本系统要求存储器有快速的读写响应,所以设计中选用SRAM 作为存储器。本系统所用的LED屏大小为512×64,每个像素数据(RGB)占用24bit,则一场画面的数据量为512×64×24=768kbits.本设计选用ISSI公司的IS61LV25616芯片来存储视频数据。SAA7111输出16bit视频信号,16位数据线正好方便存储数据。它的容量为256×1 024×16bit,足够存储一场视频数据,并有留有充足的容量供系统以后的升级。SRAM 的电路设计如图2所示。 图2 SRAM 电路
2.2 FPGA的硬件设计 FPGA的硬件设计如图3所示。FPGA 需要提供大量的I/O引脚和高速的显示控制信号,所选用的基于Xilinx公司的FPGA 的90nm 工艺制造的XC3S250E-FTG256可以满足设计的要求。 图3 FPGA的硬件结构 2.3驱动电路 FPGA采用的电压是3.3V,而LED屏体显示电路的电压是5V的TTL逻辑电平,因此需要进行电平转换的电路。这个电路由74HC245构成,工作电压为5V,74HC245采用CMOS工艺,是一种三态输出、8组总线收发器,其输入电平兼容3.3V系统,使用外接的5V电源将输出电平提升到5V,同时为各种控制和数据信号提供驱动能力。74HC245的电路如图4所示。其中:OE为输出控制引脚,低电平为有效;DIR引脚用于控制转换方向,接高电平时表示从A向B转换,A0~A7用于输入数据信号,B0~B7用于输出转换后的数据信号。 图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译码器的使能端,低电平时行扫描不起作用。 图5 LED显示板的驱动电路
3 系统软件设计 整个系统的软件包括2部分:上位机应用软件和嵌入制单元软件。上位机软件编辑在LED显示屏上显示的数息,并实现与下位机的通信;嵌入式控制单元软件实现了接收和存储、数据输出和图像显示方式变换,从而实现LED屏的控制。 3.1上位机应用软件 上位机应用软件用Visual C++编写,主要实现显示的编辑与通讯的功能。该软件运行于WindowsXP环境中,方便用户使用。完成的功能有:(1)对显示信息进行编辑、修改功能,也可以直接调用Windows中的256色画图文件(*.bmp);(2)在上位机上对显示的内容进行预览,以保证有较好的显示效果;(3)依照上位机与I2C接口模块的协议,将信息传输给系统以I2C接口模块,从而实现显示数据的更新。 3.2嵌入式控制单元的软件 嵌入式控制单元的软件实现以下3大功能:数据接收和存储、数据输出和图像显示方式变换。(1)依照显示屏与上位机之间的通讯协议,与上位机进行通讯,接收显示数据,存入Flash存储器。(2)将待显示的数据从Flash存储器中取出,对数据进行处理,实现上移、下移、左移、右移等丰富多彩的图像显示效果。(3)通过SPI接口将数据传输给扫描控制模块,FPGA通过串并转换等将数据转换成适合LED屏驱动电路格式的数据,然后传到LED屏幕上显示出来,仿真如图6所示。 图6 软件模拟显示效果 4 结语 与传统的基于单片机的LED屏控制系统相比较,该系统在不增加系统成本的情况下,可支持256灰度级的全彩图文信息的显示,可以播放全彩动画;可存储较大容量的数据(64MB);通过I2C接口快速传输数据,为显示区域较大、显示内容切换频繁的大屏幕LED显示控制系统提供良好的解决方案。
|