打印
[FPGA]

基于CPLD的LED显示控制板

[复制链接]
1184|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
梅花望青竹|  楼主 | 2013-8-25 23:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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行显示如图点阵(黑方块).


相关帖子

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



使用特权

评论回复
板凳
梅花望青竹|  楼主 | 2013-8-25 23:56 | 只看该作者
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所示.它们的输入寄存器的建立时间非常短,能提供多个系统时钟且有可编程的速度/功率控制.


使用特权

评论回复
地板
梅花望青竹|  楼主 | 2013-8-25 23:56 | 只看该作者
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
梅花望青竹|  楼主 | 2013-8-25 23:56 | 只看该作者
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
梅花望青竹|  楼主 | 2013-8-25 23:56 | 只看该作者
6 结束语
由于功能强大、速度高、设计灵活等优点,CPLD在数字系统设计、通信领域、DSP领域、计算机系统等领域有着越来越广泛的应用.点阵显示控制板引入CPLD集成了分离元件的设计,实现CPLD与单片机接口以及点阵扫描功能,同时CPLD的使用也分担了CPU 的任务,并且CPLD可根据点阵屏的不同而更改设计,使得整个系统的性能以及灵活性在原有的电路上大幅度提高.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

98

主题

2589

帖子

7

粉丝