基于CPLD的LED显示控制板

时间:2008-09-02

  LED点阵显示屏使用高亮度LED发光管构成点阵,通过编程控制可以显示中英文字符、图形及视频动态图形.LED显示以其组构方式灵活、亮度高、技术成熟、成本低廉等特点在证券、运动场馆及各种室内/外显示场合得到广泛的应用.随着集成电路技术的发展,数字系统迅速朝更高集成度、超小型化、高性能、高可靠性和低功耗的方向发展.用CPLD的引入,实现了LED屏自动扫描的功能,大幅提高LED屏的频率,同时分担了CPU 的任务,提高了CPU 的处理能力.

  1 LED 点阵显示屏驱动机制

  在加油系统中引入了点阵显示,主要用来显示加油的价格和计量,也可以用来显示时间和广告.用于发布消息、显示汉字的点阵式LED显示屏通常由若干块LED点阵显示模块组成;用于显示的8×8单色LED显示点阵模块,每块有64个LED;为了减少引脚且便于封装,LED显示点阵模块采用阵列形式排布,即在行列线的交点处接有显示LED.因此,LED点阵显示模块的显示驱动只能采用动态驱动方式,每次多只能点亮一行LED(共阳形式LED显示点阵模块)或一列LED(共阴形式LED显示点阵模块).微机通过总线操作控制来完成对每一个LED点阵显示模块内每个LED显示点的亮、暗控制操作.以此类推,可实现整屏LED点阵的亮、暗控制,从而实现LED显示屏汉字或图像的显示控制操作.

  以一个由8个LED点阵显示模块组成的点阵显示屏为例(如图1),移位寄存器的输入端是data引脚,pulse引脚接入移位寄存器的移位脉冲.点阵显示控制板计算出显示图形的点阵码,通过控制data和pulse引脚,输入某行的数据,然后选通该行,LED显示屏将得到该行的点阵显示.这样逐行扫描,得到整屏显示效果.以显示“A7我”的图形为例,显示的点阵码是

  “/*--A--*/0x00,0x00,0x00,0x10,0x10,0x18,0x28,0x28,

  0x24,0x3C,0x44,0x42,0x42,0xE7,0x00,0x00

  /*--7--*/0x00,0x00,0x00,0x7E,0x44,

  0x44,0x08,0x08,0x10,0x10,0x10,0x10,0x10,

  0x10,0x00,0x00

  /*--我--*/0x06,0x40,0x38,0x50,0x08,0x48,0x08,0x48,0x08,0x40,

  0xFF,0xFE,0x08,0x40,0x08,0x48,0x0E,0x28,

  0x38,0x30,0xC8,0x20,0x08, 0x50, 0x09,

  0x92,0x08,0x0A,0x28,0x06,0x10,0x02”。

  以第10行为例,其点阵数据是“00111100 00010000 00111000 00110000”。点阵显示控制板输出该数据和同步移位脉冲,图1上部的移位寄存器将接收“00111100 00010000 00111000 00110000”并锁存,然后LED显示板的第10行被选通,LED显示屏第10行显示如图点阵(黑方块).

  2 点阵显示系统的框架

  点阵显示在船用加油系统中主要起到显示价格和体积的作用,要求实时性高,显示准确.如图2所示,PC Server控制整个加油系统,通过一个PCI卡与船用加油系统通信.PC Server实时地将显示信息传送给点阵显示控制板,点阵显示控制板接收显示数据并转化为点阵码,从而进一步控制LED点阵显示屏.点阵码的移位和相应的行扫描是由CPLD开发的(如图3).

  3 点阵显示板的硬件实现

  点阵显示控制板主要硬件有AT89C51,MAX232,HY62256A,AT28C256和EPM7128-SLC8组成.串口芯片MAX232负责点阵显示控制板和PC Server的通信.EPROM 除了存放控制程序以外,还存储了部分汉字和符号的点阵码库,C51收到PC传来的汉字内码后,会搜索这个点阵码库以得到相应的点阵码.C51并行输出点阵码,CPLD 将接收的点阵码串行输出到DataH 和DataL,并为点阵显示屏提供同步移位脉冲信号Sck.

  点阵显示板的部分外围电路是用CPLD设计的,CPLD(complex programmable logic device,复杂可编程逻辑电路)是在PAL,GAL等基础上发展起来的一种具有丰富的可编程I/O引脚的可编程逻辑器件,几乎所有应用门阵列、PLD和中小规模通用数字集成电路的场合均可应用CPLD器件.CPLD同以往的PAL,GAL等相比较,具有集成度高、在线可编程、使用方便灵活的特点,且性价比合理;不但可实现常规的逻辑器件功能,还可实现复杂的时序逻辑功能.CPLD的应用使硬件开发更加灵活,可减轻系统开发时的电路调试强度,缩短开发周期,同时在硬件设计上有一定的保密性.

  CPLD芯片选用Altera公司的MAX7000S系列器件EPM7128SLC84,它有128个逻辑宏单元,逻辑门数为2500门,在MAX+PLUS II软件环境下,采用VHDL和原理图输入相结合的方法进行设计.设计输入完成后,进行整体的编译和逻辑仿真,然后进行转换、布局、布线、延时仿真生成配置文件,以4引脚的JTAG 接口方式通过ByteBlaster电缆对CPLD进行在线编程(ISP),完成结构功能配置,实现其硬件功能,制成专用芯片.为了避免器件内的设计被他人复制和取出,可通过对MAX7128S内部的一个保密位编程,对设计进行加密.当对器件重新编程时,保密位连同其他的编程数据均能擦除和重写.MAX7000系列是工业界中速度快的高集成度可编程逻辑器件系列.它的系统结构如图4所示.它们的输入寄存器的建立时间非常短,能提供多个系统时钟且有可编程的速度/功率控制.

  4 CPLD的设计实现

  CPLD设计为总线方式,所有的功能模块和指令控制器都挂在总线上,AT89C51通过ALE,CS,RD,WE,P0口(数据地址复用),P2口(高地址)同芯片相连接,C51可以通过读/写指令对访问.如图5所示,8根三态数据/地址复用总线,连接C51的P0口,另有8根高地址总线连接C51的P2口,实现C51对EPM7128SLC8内部模块的读写操作.因为在项目中使用的是一个8×2的LED屏,每个8位移位寄存器对应一行LED显示模块.EPM7128SLC8内部包含两个8位移位寄存器,两个8位移位寄存器的地址空间分别为0xA000图5 EPM7128SLC84同单片机接口原理图和0xA001.对0xA000和0xA001两个地址的写入,就可以把点阵码锁存在两个8位移位寄存器中.移位控制端口的地址是0xC000,C51向0xC000写入指令后,锁存在0xA000和0xA001两个移位寄存器的数据串行输出,并为点阵显示屏提供同步脉冲信号.在EPM7128SLC8里设计一个8位计数器,当移位寄存器移动8位后,计数器会通知移位控制单元结束移位,准备下移位的到来.AD0~ AD7是三态数据/地址复用总线,A8 ̄A15是高8位地址总线,READ和WRIT是读写信号.

  5 AT89C51的程序实现

  图6是点阵显示控制板AT89C51的主程序.主程序开始初始化相应的软硬件,然后进入主循环,等待PC Server通过串口传送的数据.数据的接收和CPLD点阵缓存区的扫描触发程序都是C51的中断程序.C51通过中断1接收PCServer传送的数据,其主循环程序不断检查接收缓存区,如果接收到发给新的完整数据,就会根据数据查找点阵码库,并将新的点阵码写入CPLD点阵扫描缓存区,并触发新一轮的CPLD点阵扫描.CPLD点阵扫描缓存区是在RAM 中内建的一块缓存数据区,其大小根据点阵显示屏确定,点阵显示屏的每个LED点对应内存中的一位.

  将点阵扫描中的部分固化在CPLD中后,与C51相配合提高了C51的处理速度.C51在将点阵码写入相应缓存区后,只要向CPLD发出扫描触发指令,具体的扫描工作将由CPLD硬件负责,点阵屏的扫描由C51软件实现变为CPLD硬件实现,提高了扫描频率和C51的处理能力.

  6 结束语

  由于功能强大、速度高、设计灵活等优点,CPLD在数字系统设计、通信领域、DSP领域、计算机系统等领域有着越来越广泛的应用.点阵显示控制板引入CPLD集成了分离元件的设计,实现CPLD与单片机接口以及点阵扫描功能,同时CPLD的使用也分担了CPU 的任务,并且CPLD可根据点阵屏的不同而更改设计,使得整个系统的性能以及灵活性在原有的电路上大幅度提高.

  请登陆: 维库电子市场网(www.dzsc.com) 浏览更多信息


  
上一篇:用CPLD实现的数字钟控系统
下一篇:变频器的谐波干扰与抑制

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料