当前位置:首页 > 单片机 > 单片机
[导读]0 引言LED显示屏主要由电流驱动电路及LED点阵阵列、控制系统和PC端管理软件三部分构成(图1)。控制系统负责接收、转换和处理各种外部信号,并实现扫描控制,然后驱动LED点阵显示需要的文字或图案。控制系统作为LED显

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显示屏在实际应用中具有良好的显示效果,画面清晰、性能稳定,已经在学校的多个部门得到应用。
 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

特朗普集团近日取消了其新推出的T1智能手机“将在美国制造”的宣传标语,此举源于外界对这款手机能否以当前定价在美国本土生产的质疑。

关键字: 特朗普 苹果 AI

美国总统特朗普在公开场合表示,他已要求苹果公司CEO蒂姆·库克停止在印度建厂,矛头直指该公司生产多元化的计划。

关键字: 特朗普 苹果 AI

4月10日消息,据媒体报道,美国总统特朗普宣布,美国对部分贸易伙伴暂停90天执行新关税政策,同时对中国的关税提高到125%,该消息公布后苹果股价飙升了15%。这次反弹使苹果市值增加了4000多亿美元,目前苹果市值接近3万...

关键字: 特朗普 AI 人工智能 特斯拉

3月25日消息,据报道,当地时间3月20日,美国总统特朗普在社交媒体平台“真实社交”上发文写道:“那些被抓到破坏特斯拉的人,将有很大可能被判入狱长达20年,这包括资助(破坏特斯拉汽车)者,我们正在寻找你。”

关键字: 特朗普 AI 人工智能 特斯拉

1月22日消息,刚刚,新任美国总统特朗普放出重磅消息,将全力支持美国AI发展。

关键字: 特朗普 AI 人工智能

特朗普先生有两件事一定会载入史册,一个是筑墙,一个是挖坑。在美墨边境筑墙的口号确保边境安全,降低因非法移民引起的犯罪率过高问题;在中美科技产业之间挖坑的口号也是安全,美国企业不得使用对美国国家安全构成威胁的电信设备,总统...

关键字: 特朗普 孤立主义 科技产业

据路透社1月17日消息显示,知情人士透露,特朗普已通知英特尔、铠侠在内的几家华为供应商,将要撤销其对华为的出货的部分许可证,同时将拒绝其他数十个向华为供货的申请。据透露,共有4家公司的8份许可被撤销。另外,相关公司收到撤...

关键字: 华为 芯片 特朗普

曾在2018年时被美国总统特朗普称作“世界第八奇迹”的富士康集团在美国威斯康星州投资建设的LCD显示屏工厂项目,如今却因为富士康将项目大幅缩水并拒绝签订新的合同而陷入了僵局。这也导致富士康无法从当地政府那里获得约40亿美...

关键字: 特朗普 富士康

今年5月,因自己发布的推文被贴上“无确凿依据”标签而与推特发生激烈争执后,美国总统特朗普签署了一项行政令,下令要求重审《通信规范法》第230条。

关键字: 谷歌 facebook 特朗普

众所周知,寄往白宫的所有邮件在到达白宫之前都会在他地进行分类和筛选。9月19日,根据美国相关执法官员的通报,本周早些时候,执法人员截获了一个寄给特朗普总统的包裹,该包裹内包含蓖麻毒蛋白。

关键字: 美国 白宫 特朗普
关闭