基于单片机和可编程逻辑器件实现LED显示屏

发布者:知识的海洋最新更新时间:2009-12-24 来源: 微计算机信息 关键字:VerilogHDL  LED显示屏  双口RAM 手机看文章 扫描二维码
随时随地手机看文章

0 引言

       LED显示屏主要由电流驱动电路及LED点阵阵列、控制系统和PC端管理软件三部分构成(图1)。控制系统负责接收、转换和处理各种外部信号,并实现扫描控制,然后驱动LED点阵显示需要的文字或图案。控制系统作为LED显示屏的核心部分,直接决定了显示屏的显示效果和性能的优劣。本文详细分析采用Verilog HDL对ATF1508AS进行编程,实现双口RAM访问和产生LED点阵驱动电路所需的各种时序信号。

1  LED显示屏的基本结构及关键技术

      本系统设计中,控制系统采用单片机+CPLD的方案来实现,整个控制系统可分为:信号接收及处理模块和CPLD的扫描控制模块和LED点阵驱动模块,如图1 所示。本系统的关键技术是使用双口RAM和CPLD芯片,解决LED显示屏中高速数据传输和快速扫描控制的难题,大大提高了动态显示的刷新率。

        信号接收与处理模块的功能是AT89S52单片机通过串口接收PC送来的点阵信息,同时对点阵信息做各种不同的处理。利用双口RAM IDT7007在单片机和ATF1508AS之间以共享的方式建立高速的数据交换通道。

         CPLD的扫描控制模块采用ATF1508AS芯片实现。其功能是从双口RAM读取点阵信息,串行化后送显示扫描驱动电路,同时输出各种所需的控制信号。CPLD具有扫描速度快,延时短等特点,克服了单片机由于传输速率慢而造成在大屏幕显示时产生的闪烁效应。

2  基于CPLD的扫描控制模块的设计

2.1 设计思想

       本模块的功能是从存储器中读取数据,将数据输送到显示屏体上,同时产生各种控制信号。时序产生模块由两部分构成,一是产生访问双口RAM的时序,二是产生LED显示屏接口所需的各种信号。

       硬件电路我们采用较常见的CPLD芯片ATF1508来实现控制系统中的时序产生部分。CPLD是一种具有丰富的可变成I/O引脚的可编程逻辑器件,不仅可以实现常规的逻辑器件功能,还可以实现复杂而独特的时序逻辑功能。软件我们采用Verilog HDL语言来进行设计。Verilog HDL是用于逻辑设计的硬件描述语言,已成为IEEE标准。利用Verilog HDL语言对ATF1508AS进行编程,实现扫描控制模块所需的功能。

       扫描控制部分的原理电路如图2所示,ATF1508AS是核心部分,需要根据系统需要定义ATF1508AS的各个I/O端口,下面是I/O端口定义和内部寄存器定义的Verilog HDL语言代码。

module LedSequ(color, datain, addrout, CE, OE, SEMR, RWC, sdr, sdb, sck, le, oe1, cs, clk, counter);
input clk;  //系统时钟
input[7:0] datain;//RAM数据输入
input[1:0] color;//颜色控制
output[13:0] addrout;//地址输出口
output SEMR,RWC;
output CE,OE,sdr,sdb,sck,le,oe1,cs;
output[3:0] counter;
reg[3:0] hcnt;//38译码器计数器
reg [7:0] data1;//数据寄存器
reg[3:0] counter;//38翻码器输出端
reg SEMR,RWC;
reg SDA,SDC;

reg[13:0] addrout,addr;//addr地址计数器
reg[3:0] state;// 状态寄存器
reg [2:0] shcnt;  //移位脉冲读数器
reg CE,OE,sdr,sdb,sck,le,oe1,cs;
reg [8:0] byte;
parameter s0=1'd0,s1=1'd1,s2=1'd2,s3=1'd3, s4=1'd4, s5=1'd5; //状态常量
2.2 访问双口RAM时序的产生
      IDT7007是具有32KB的双口RAM电路,与ATF1508AS的连接电路如图2所示,其中: 为片选信号, 为读写控制信号, 为输出使能信号,A0R-A13R为右端口地址总线,D0R-D7R为右端口数据总线,其右端口读写时序如图4所示。我们采用有限状态机实现,其基本工作原理是:S0状态进行初始化,S1状态时ATF1508AS首先输出地址信号addrout,然后置 相有效,S2状态读取双口RAM的数据,并存储到内容寄存器datain中,从而完成双口RAM的读数据过程。下面给出ATF1508AS读取双口RAM数据的主要代码:
always @ (posedge clk)
begin //每个时钟周期,状态变化一次
  case(state)
  s0: begin      //初始化状态
 CE=1'b0;     //IDT7007片选
 OE=1'b1;     //IDT7007读选通
 le=1'b0; 
 oe1 = 1'b0;
 cs  = 1'b0;
 addr= 14'b0;
 SEMR=1'b1;   //IDT7007 置1有
 RWC = 1'b1;  //写控制 1
 hcnt=4'b0000;
 counter=4'b0000;
 state=s1;
    end
s1: begin  //输出RAM地址
 CE=1'b0;
 addrout=addr;//输出地址
 OE=1'b0;
 SEMR=1'b1;
 RWC = 1'b1;
 shcnt = 3'b000;
 state=s2;
end
 s2: begin //读双口RAM数据
 oe1=1'b0;
        data1 = datain;
        state=s3;
  end
 ……(显示扫描及LED驱动代码部分)
    endcase
  end


2.3  LED显示驱动时序信号的产生

    CPLD 与LED点阵的驱动电路接口如图  所示,其中:CS为3-8译码器片选信号;OE为BMI5026输出使能信号,控制LED点阵是否能被点亮;LE为驱动芯片数据锁存信号;sck为移位脉冲,将CPLD串行输出的红绿数据串行移入MBI5026(移位寄存器);A-D为双3-8译码器构成的4-16译码器的数据输入,实现显示行选通控制; sdr为红数据信号线;sdb为绿数据信号线。
其工作过程为:S3状态,sck脉冲置0,sdr和sdb分别输出一位数据;S4状态时,sck置 1,红和绿数据分别移入相应移位寄存器BMI5026,若不足8位时,返回S3状态,若不足一行时,返回S1状态,读下一个字节,若完成一行数据移位过程,则转S5状态;S5状态时,置le为0,将BMI5026的缓冲寄存中一个显示行的点阵数据送输出寄存器,同时置cs1有效,控制第hcnt行的点阵显示,然后判断一屏内容是否显示完成,返回s1状态。图4为完整的有限状态机的状态图。

      下面给出LED显示屏体驱动时序信号对应的Verilog HDL程序代码:

    s3: begin
  sck=1'b0;
        sdr= SDA && color[0];
        sdb= SDC && color[1];
        OE=1'b1; CE=1'b1;
     state=s4;
     end
 s4: begin // 移位输出到LED显示屏
  sck = 1'b1;
  shcnt = shcnt +1'b1;
  if (shcnt = = 0)
    begin
     addr=addr+1'b1; //读完一个字节地址记数器加1
     byte=byte+8'b1;
     if(byte= = nrow)// 如果读完一行数据
       begin
         oe1=1'b1;//关LED显示
   cs=1'b1;
   le=1'b0;//驱动芯片写入数据
   byte = 8'b0;
   state=s5;//读完一行数据则显示
       end
    else state=s1;
   end
   else state=s3; //当前字节移位输出
 end
 s5: begin
           sck=1'b0;
le=1'b0;
     counter=hcnt;
     OE=1'b1;
     CE=1'b0;
           if(addr = = nscreen)
               addr=0;
          oe1=1'b0;
     cs=1'b0;
     state =s1;
       end

4系统测试及仿真

   系统的开发调试环境是:单片机部分在KeilC51下调试,CPLD部分在Maxplus10下调试。LED显示屏的扫描控制模块的Verilog HDL源程序编写完成后,在ALTERA公司Maxplus10可以先进行软件仿真,以观察各信号是否符合硬件电路所需的时序要求。图5为扫描模块 CLPD仿真结果,符合设计要求。通过JTAG接口下载到ATF1508AS后,系统工作正常。

5 结束语

       基于Verilog HDL实现的LED显示屏扫描控制模块,应用于我们开发LED大屏幕电子信息显示屏系统,简化了系统结构,提高性了性价比。该LED显示屏在实际应用中具有良好的显示效果,画面清晰、性能稳定,已经在学校的多个部门得到应用。

关键字:VerilogHDL  LED显示屏  双口RAM 引用地址:基于单片机和可编程逻辑器件实现LED显示屏

上一篇:基于单片机的基于模糊控制的客车烘房温控仪
下一篇:基于超声波回波衰溅理论的超声波浓度计设计

推荐阅读最新更新时间:2024-03-16 12:27

从实际需求出发 LED显示屏用户选择指南
LED显示屏 的特点,结合用户的实际需求,选择合适的显示屏。 一般来说,对于车站、码头、大的市场的出入口、电梯口的人流引导,使用φ5.0单色显示屏。具有字体清晰,价格低廉、机群控制的优点. 对于银行,商场等场合展示企业形象、广告等应用,要求价格低廉,使用φ3.75双基色显示屏. 要求显示效果,使用φ5全彩色显示屏。 对于大厅面积大的场合使用φ5双基色显示屏.要求显示效果,使用φ1O全彩色显示屏。 对于银行、邮政、电力等营业大厅的服务窗口的功能定义,以前使用贴纸的方法,很不灵活。现在使用φ3或φ5的显示屏显示,随时可以更换窗口的服务功能。 室外显示屏因为使用环境恶劣,对质量有更高的要求。要考虑的因素也
[电源管理]
LED显示屏故障及解决方案
主要检测ABCD行信号。身为LED显示屏产业中的中坚企业,闪耀科技在多年的发展历程中,形成了自己的技术标准,同时也有了自己的问题处理方法,但身处LED显示屏企业大家庭中,大多数企业遇到的问题也不尽相同,下面是对LED显示屏问题的故障分析和处理办法: A.输出有问题 1、检测输出接口到信号输出IC的线路是否连接或短路。 2、检测输出口的时钟锁存信号是否正常。 3、检测最后一个驱动IC之间的级连输出数据口是否与输出接口的数据口连接或是否短路。 4、输出的信号是否有相互短路的或有短路到地的。 5、检查输出的排线是否良好。 B.全亮时有一行或几行不亮 1、检测138到4953之间的线路是否断路或虚焊、短路。 C.整板不亮
[电源管理]
室外led显示屏开关电源设计理念分析
led显示屏的研究采用屏幕为8×8的点阵显示,侧重于动态处理方法,由于显示屏幕的局限性,在此次的研究设计中只能显示英文和数字。一个基本的led屏幕由8行×8列点共64个led组成,显示屏有共阴和共阳两种连接方式。对由8×8点阵构成的led显示屏而言,一般数据端连接微处理器的8位并行数据口,而选通端则逐一使能(选通),选择需要点亮的某一列,通过分时复用方式实现动态显示效果。选通方式一般有两种:独立选通和译码选通。 如果屏幕较小,处理器有足够的I/O口可用,则可以每个I/O口连接一个选通端,如果屏幕较大,或者处理器的I/O口不是非常丰富,则可以通过译码方式来选通。例如当8片8×8点阵的led组成一个8×128点阵的led
[电源管理]
LED显示屏的供电系统及远程控制系统介绍
PLC 控制供电系统 对于用电量超过10KW的 显示屏 ,应配备配电柜。根据需要可以选用具有远程控制功能或带有PLC控制功能的配电柜,具有PLC控制功能的配电柜更加智能化,可用 LCD 控制器 远程操作 LED显示屏 及屏内空调、风机等设备的 开关 ,对屏内的环境温度、火情、屏外的环境 亮度 进行实时监控,并有相应相应的报警信息。建议在室外 led 显示屏项目中,一般由于环境较差,尽量使用带PLC控制的配电柜;在室内屏项目中,环境较好,而且空间有限,可以不加PLC控制。   远程通讯 当通讯距离在1.2公里以内时,可以在通讯线路中安装一对RS422/RS232的通讯模块;如果通讯距离达几公里甚至几十公里,
[电源管理]
分析室外led显示屏开关电源设计理念
   led 显示屏的研究采用屏幕为8×8的点阵显示,侧重于动态处理方法,由于显示屏幕的局限性,在此次的研究设计中只能显示英文和数字。一个基本的led屏幕由8行×8列点共64个led组成,显示屏有共阴和共阳两种连接方式。对由8×8点阵构成的led显示屏而言,一般数据端连接微处理器的8位并行数据口,而选通端则逐一使能(选通),选择需要点亮的某一列,通过分时复用方式实现动态显示效果。选通方式一般有两种:独立选通和译码选通。   如果屏幕较小,处理器有足够的I/O口可用,则可以每个I/O口连接一个选通端,如果屏幕较大,或者处理器的I/O口不是非常丰富,则可以通过译码方式来选通。例如当8片8×8点阵的led组成一个8×128点阵的led屏
[电源管理]
LED显示屏数据处理技术介绍
LED 数据处理设计中,数据的存储有两种组织方式(图1):①组合像素法(Packed Pixel Method):即画面上每个像素的所有位均集中存放在单个存储体中;②位平面法(Bit Plane Method):即像素的每一位各自存放在不同的存储体中。由于使用了多个存储体,它们可以一次同时读出更多的像素信息。从两种存储结构来分析,利用位平面结构有利于提高 LED屏 的 显示 效果。 图1 数据存储的两种方式 整个 LED显示屏 显示控制电路结构框图如图2所示。其中,数据重构电路完成RGB数据的转换,将不同像素的同权位组合在一起,然后存放在相邻的单元中,从而以位的形式完成整个数据的重新组合。 图2 显示
[电源管理]
<font color='red'>LED显示屏</font>数据处理技术介绍
浅谈AT89C2051的四字LED显示屏的设计
摘要: 针对现今LED广告屏的广泛使用,应用AT89C2051的可编程功能和串口通信功能,设计一个与计算机通信,可控的LED显示系统。上位机为计算机,下位机为单片机控制16块8×8LED显示屏构成的电路,下位机通过串口与上位机通信,改变显示内容。除了分析其设计思路外,还给出硬件原理图与软件流程图。系统具有设计简单、显示清晰、可靠性高的特点。 0 引言 LED显示屏是简单的汉字显示器,其具有耗电少、成本低、易获得、寿命长和显示的灵活性等特点,近年来迅速成为最受欢迎的宣传手段之一。在学校、公路、广场、商店等都能看到其身影,相对于传单、海报等一些传统的宣传手法其优势比较突出。本文将详细地介绍一种LED显示屏的制作。 1 硬件电路
[单片机]
浅谈AT89C2051的四字<font color='red'>LED显示屏</font>的设计
基于HDMI技术的智能LED显示屏控制器设计
  HDMI(高清晰度多媒体接口,High Definition Multimedia)是基于DVI技术制定,可看作是DVI技术的强化与延伸,两者可以兼容。HDMI接口可以提供高达5Gbps的数据传输带宽,满足 1080p的分辨率,并支持所有的HDTV等标准以及DVD Audio等先进的数字音频格式,支持多声道96kHz或立体声192kHz数码音频传递,而且只用一条HDMI线连接,可以用于免除数码音频接线。与此同时,HDMI接口无需在信号传送前进行数/模或者模/数转换,可以保证最高质量的影音信号传送。   现在,HDMI 作为一种专门用来传输高清信号的接口,版本已经从1.1发展到了1.3,和1.1、1.2版比,有几个新特性和功
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved