基于FPGA的LED大屏幕显示控制器设计
【摘要】描述了一个使用FPGA控制LED点阵屏幕的系统,该系统使用VerilogHDL编制代码,实现了LED屏幕的字符、图像显示与简单的动画效果,在QuartusII平台上通过了编译与仿真。本系统稳定可靠,性能强。【关键词】FPGA;LED点阵;动态显示1引言LED显示技术相比于投影显示、液晶显示、激光显示等其他大屏幕显示技术,有其独特的优越性,例如:高亮度、宽可视角度以及可定制的屏幕外形等。这些特点使得LED显示屏被广泛应用于工业、信息发布、体育比赛等各个领域。当今市场上的LED显示系统,通常使用单片机作为主控芯片连接IO扩展电路来控制LED显示屏。但是,对于LED大屏幕显示屏来说,要求扫描速度快,而单片机内部的资源较少、运行速度较慢,在很多时候难于满足系统要求。同时,也使产品的灵活性和稳定性受到一定程度的影响。FPGA器件具有处理速度快,有大量的可编程逻辑单元和丰富的布线资源,在处理大流量数据应用时具有明显的优势,它的引脚资源丰富,可扩展性强。因此,基于FPGA实现的大屏幕LED显示成为目前的应用热点。2控制器的系统架构本系统使用的FPGA芯片是Altera公司Cyclo
eII系列的EP2C35。该芯片具有33216个逻辑单元、322个引脚,是一个功能十分强大、内部资源十分丰富的高密度FPGA芯片。系统使用VerilogHDL语言编制系统代码,实现了双色显示屏控制字符显示与简单动画。本系统由FPGA系统板、74HC595组成的移位寄存器组两组、74HC138组成的行选择信号产生电路、三极管组成的驱动电路以及8块8×8双色点阵组成大屏幕显示单元组成,系统的具体结构如图1所示。3功能单元实现本系统的显示控制原理是采用动态行扫描显示,这也是本系统显示关键技术。具体实施方法如下:首先通过移位寄存器组向显示模块的列端输出相应行的数据,然后使用译码电路点亮对应的行;根据扫描频率,再切换成下一行的数据,再点亮对应行。依次轮流下去,即可实现动态行扫描显示控制。如图2所示,这是16×16点阵示意图,其中Colum
是LED点阵中发光二极管的负端,Row是发光二极管的正端。显示过程中,先选择好需要显示的行(Row),再在Colum
上施加对应行的数据。例如,当需要第一行亮时,先通过驱动电路给Row0高电平,然后在Colum
上输出对应的信号值。依照这个原理,当给Row1高电平时,第二行亮。依此类推,然后循环显示,以达到动态显示的目的。本系统中,使用74HC138组成了416线译码电路,译码电路和三极管组成的r