搜索
您的当前位置:首页正文

基于FPGA的LED显示屏控制系统的设计与实现

来源:欧得旅游网
2015年4月 陕西理工学院学报(自然科学版) Journal of Shaanxi University of Technology(Natural Science Edition) Apr.2015 V01.31 No.2 第31卷第2期 [文章编号]1673—2944(2015)02—0025—05 基于FPGA的LED显示屏控制系统的设计与实现 郑争兵,赵峰 (陕西理工学院物理与电信工程学院,陕西汉中723000) [摘要] 根据LED显示屏的工作原理,提出了一种基于FPGA的大屏幕LED图文显示屏 控制系统设计方案。系统采用移位芯片74HC595构建驱动电路,通过串行方式输出驱动信 号,利用FPGA构建核心控制电路,采用Verilog HDL语言编写程序,完成显示汉字数据的读 出,按照串行方式产生行、列扫描信号和控制信号,动态扫描并驱动LED显示屏。实验测试结 果表明:系统可以实现汉字滚动显示,整个系统外围电路简单,易于扩展。 [关键词] 现场可编程门阵列;LED显示屏;硬件描述语言;LED驱动电路 [文献标识码] A [中图分类号]TN873 LED显示屏作为一种平板显示设备因其使用寿命长、成本低、功耗低等特点在显示领域占有重要 的市场地位。LED显示屏通过控制半导体发光二极管亮度的方式,能够显示文字、图形、视频等信息, 为了实现LED显示屏的功能多样化,通常需要采用以微处理器为核心的嵌入式电路完成信号的处理、 控制和输出…。传统的采用单片机控制的方法,控制简单,编程容易,但是整个电路的实时性价比差, 很难实现功能复杂的大屏幕LED显示;采用专用集成电路的控制方法,功能相对固定,几乎不能升级, 移植性差;采用现场可编程门阵列(Field Programmable Gate Array,FPGA)的控制方法,控制能力强 引, 使用硬件描述语言编程能够灵活的修改硬件电路且代码不依赖于芯片,电路集成度高而且硬件资源丰 富,能够满足功能复杂、实时性强的彩色显示屏的应用场合。因此,针对LED大屏幕显示的应用,本文 提出了一种基于FPGA的显示控制系统,该系统利用单片FPGA芯片和简单外围电路构建硬件方案,通 过软件编程在FPGA上实现各种显示功能,不仅简化了电路结构而且提高了系统的数据处理速度。 1 系统总体方案设计 基于FPGA的LED显示屏控制系统由上位机、FPGA模块和LED显示屏驱动电路组成,系统总体 结构如图1所示。上位机负责汉字、字符和图形数据的格式转换,通过异步串行通信工作方式将数据发 送给FPGA模块。FPGA模块负责数据的接收,按照一定的方式产生驱动信号,实现数据的LED显示。 具体来说,串口控制模块将串行通信数据按照并行方式写入到双口RAM,LED显示控制模块将双口 RAM中的数据读出,按照串行方式产生行、列扫描信号和控制信号。由于大型的LED显示屏均由小型 LED显示屏拼接而成,工作原理相似,只是驱动电路复杂些,本文重点以16×16 LED显示屏的汉字滚 动显示控制为例,介绍FPGA模块控制电路的设计方法。 收稿日期:2014.11.24 基金项目:国家自然科学基金资助项目(61401262);陕西理工学院科研计划资助项目(SLGKY14-06) 作者简介:郑争兵(1980一),男,湖北省黄冈市人,陕西理工学院讲师,硕士,主要研究方向为嵌入式系统设计及应用;赵 峰(1979一),男,陕西省安康市人,陕西理工学院副教授,博士,主要研究方向为信号测量与控制。 ・25・ 陕西理工学院学报(自然科学版) 第31卷 LED 显示屏 驱动电路 Q Q Q C C 7 L L L 4 K K R H 8; 9 C 5 Q Q_E 6图1 系统总体结构图 3 4 5 6 7 2 LED显示屏驱动电路设计 16×16 LED显示屏由4个8×8 LED显示屏构成。对大屏幕LED显示屏来说,列显示数据通常采 用串行传输方式,行采用扫描方式完成驱动信号的输出 。为了节省驱动信号数据线,列显示数据和 行扫描信号均采用串行方式输出,具体的驱动电路如图2所示。 Rl 14 H1 _—— __—— R2 _—— Q1 H2 。。~ R3 Q2 H3 _—— 。一 SK 11 R4 SRCLK O3 H4 —— _—— _一 10 SRCLK SRCLR R5 _—— SRCLR Q4 H5 _一 R6 Q5 H6 LT 12 74HC595 6 R7 74HC595 —— RCLK Q6 RCLK Q6 13 7 R8 E O7 E Q7 8 Q7 O7’ GND 15 R9 Q0 兰。15 H9 Q0  Q1 R1O Q1 Hl0 Q2 R1l Q2 Hll SK 11 R12 H12 —— SRCLK Q3 1O Rl3 Hl3 —— SRCLR Q4 R14 Q5 H14 12 74HC595 —— RCLK Q6 13 E O7 Q7’ 图2 16×16 LED显示屏驱动电路图 驱动电路采用4片8位移位芯片74HC595级联而成 6 J。在移位脉冲SRCLK的作用下,串行数据 从74HC595芯片的数据端口SER输入,当第一个32位数据传送完后,输出锁存信号RCLK,此时行扫 描信号为01111111,第一行的各列数据就可按要求显示;当第二个32位数据传送完后,输出锁存信号 RCLK,此时行扫描信号为101 1 1 1 1 1,第二行的各列数据就可按要求显示,随着行扫描信号的移动,按同 样的方法显示其余各行,当l6行数据扫描一遍后,重新从第一行开始下一个周期的扫描。为了保证显 示屏不闪烁,根据人眼视觉效应,扫描周期小于10 ms即可。 3基于FPGA的LED显示控制模块设计 3.1汉字的存储方法 为了实现LED显示屏的汉字显示功能,关键是利用双口RAM完成对汉字的合理存储和产生一定 时序的驱动信号In—da、sK、LT。系统采用动态分时扫描技术显示汉字,需要进行两步工作。第一步是 ・26・ 。 陕西理工学院学报(自然科学版) 第31卷 不好,如果时钟信号LED—elk频率过慢,此时只能显示一个点的数据,此时利用锁相环PLL模块合理分 频即可。根据上述设计思路,利用Verilog HDL硬件描述语言编程程序 ,其关键代码如下: module led(CLK,Reset,Rom—Data,ROM_ADDRESS,R1,SK,LI);//主模块中各个量的声明 input CLK;//系统时钟 input Reset;//复位信号 input[95:0]Ram—Data;//汉字输入缓存 output[4:0]RAM_ADDRESS;//存储数据的地址位 output R1;//输出串行数据信号 output SK;//输出串行移位脉冲信号 output LI;//输出串行数据锁存信号 reg R1,SK,LI;//各个输出状态变量的声明 reg[3:0]ROW;reg[4:0]RAM_ADDRESS; reg[31:O]Clk—Cont;reg[3:0]State; reg[7:0]Data_Cont; reg[95:0]R—Data;reg[15:0]H—Data; always@(posedge CLK or negedge Reset)//实现数据的滚动移位 b n if(!Reset) begin ClkCont<=0;RData<=96 dO;HData<=16 dO; ——end else begin ClkCont<=Clk—Cont+1;//时钟脉冲计数自加 R—Data<=(Rom—Data<<Move—cnt); Hend end ndmodU】e —Data<=1<<ROW;//ROW左移一位,然后赋给行扫描数据 4 系统硬件测试结果 为了较好地验证系统的功能,采用的FPGA芯片选择Ahera公司的Cyclone系列EP3C55F484C8器 件构成硬件测试平台 J。将Verilog HDL代码设计的工程对输入、输出信号进行芯片引脚绑定,重新对 工程进行编译,最后下载编译后生成的配置文件LED.sof到FPGA内进行验证。测试过程如下:首先, 确定LED点阵模块是共阴还是共阳,输出正确的行扫描信号;其次,利用单个汉字显示,测试汉字字库 是否正确,如果不正确,修改相应的字模;最后,进行整体测试,观察汉字显示效果。图5是“陕、西、理、 工、学、院”6个汉字在16×16 LED显示屏滚动显示效果图。从图5可以看出,多个汉字滚动显示的速 度比较合适,个别汉字的局部细节信息不准确。经过分析发现,汉字局部信息不准确的原因主要是字模 提取软件产生的字模数据库有问题,修改字模数据即可。 5 结束语 以16×16点阵汉字滚动显示为例,阐述了一种基于FPGA的LED显示屏系统的硬件方案和软件 实现方法,并利用Ahera公司的Cyclone系列EP3C55F484C8器件进行了验证。通过硬件平台测试,系 统设计达到了预期的技术指标要求。该系统的硬件方案可以较好扩展,只需要修改驱动电路,即可实现 32×32点阵、64×64点阵、甚至更大屏幕的显示,且FPGA具有可重配置性,能够随时修改代码,实现产 品升级,为全彩实时显示的嵌入式终端设备提供了一种较好的解决方案。 ・28. 

因篇幅问题不能全部显示,请点此查看更多更全内容

Top