1 浅析采用EDA技术的汉字滚动显示器设计-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅析采用EDA技术的汉字滚动显示器设计

电子工程师 来源:未知 作者:胡薇 2018-08-31 17:03 次阅读

现代文明的一个显著特征是城市中随处可见的五颜六色的广告宣传,其中大多都是由LED点阵制作的汉字或图形广告,广泛应用在银行、医院、酒店、火车站、体育场馆等各种公共场所。

汉字滚动显示器的传统设计方法是用单片机来控制的,虽然单片机方案具有价格低廉,程序编程灵活等特点,但由于单片机硬件资源的限制,未来对设计的变更和升级,总是要付出较多研发经费和较长投放市场周期的代价,甚至有可能需要重新设计。况且,在以显示为主的系统中,单片机的运算和控制等主要功能的利用率很低,单片机的优势得不到发挥,相当于很大的资源浪费。

采用EDA技术的自顶向下的模块化设计方法,借助相关开发软件,例如QualtusⅡ软件,将硬件描述语言——VHDL程序固化于具有丰富I/O口、内部逻辑和连线资源的FPGA(现场可编程门阵列)中。该技术具有系统设计效率高、集成度好、保密性强、易于修改、易于实现等优点,成为当今数字系统设计主流技术。此方式所制作的LED点阵控制器,由于是纯硬件行为,具有速度快、可靠性高、抗干扰能力强、开发周期短等显著优点。

1 EDA点阵显示汉字原理

以8×8的LED点阵为例,8×8的LED点阵是由64个发光二极管按矩阵形式排列而成,每一行上的发光管有一个公共的阳极(或阴极),每一列上的发光管有一个公共的阴极(或阳极),一般按动态扫描方式显示汉字或图形。扫描分为点扫描、行扫描和列扫描三种方式。行扫描需要按行抽取字型码,列扫描则需要按列抽取字型码。为满足视觉暂留要求,若使用点扫描方式,其扫描频率必须大于16×64=1 024Hz,周期小于1ms。若使用行或列扫描,则频率必须大于16×8=128Hz,周期小于7.8ms。由于所用实验板上提供有1 kHz的时钟,本例设计中利用该时钟进行扫描,使每行扫描时间为1 ms,实验结果显示亮度合适。现以行扫描为例简单说明动态扫描显示的原理。图1给出汉字“热”在点阵为列共阳时的行字模。工作时先将要扫描行的点阵字模从各列上输出,再让译码器选中(扫描)该行,使本行得以显示,接着再送下一行数据,再使下一行有效,直到8行全被扫描一遍。至此,一幅完整的文字信息就显现出来,然后再反复扫描这8行直至显示新的信息。以下设计采用行扫描方式实现滚动显示。

2 硬件原理图

整个电路由五大部分组成:时钟计数模块GEL_CLK,存储汉字字模的ROM模块ROMZI,数据分配器模块MUX,移位模块YW及显示模块XIANSH-I。时钟计数模块用于产生整个电路所需要的时钟及其对时钟的计数值,例如:移位时钟CLK YW,移位计数器CNT YW,字计数器CNT WORD,显示扫描计数器CNT SM。ROMZI模块是由QualtusⅡ中的LPM 1PORT ROM定制成,用来存储8个待显示的汉字。MUX模块用于在扫描时钟及扫描计数器的作用下,从ROM中读出一个汉字的8个行字模信息,送给移位模块YW,YW模块在移位时钟及移位计数器作用下,根据SELECT信号选择对读出的字模信息,进行相应的移位(左移、右移、上移、下移)后,最后送显示模块DISP驱动LED点阵显示汉字。原理图如图2所示。

3 模块设计及时序仿真

3.1 时钟计数产生模块

时钟计数产生模块由1 kHz的输人时钟为基准,进行17位的循环计数CNT[16..O]。该时钟,既是动态扫描显示的时钟,也是从ROM中取一个字8个字模的时钟,对之进行的3位循环计数作为扫描显示计数器和取一个字的字型码计数器。CNT[16..O]中的CNT[9]是对该时钟的1 024分频,将其作为移位时钟CNT_YW,周期约为l s。CNT[13…lO]作为4位的移位计数器,是对移位时钟CLK_YW的计数,也是对移位位数的统计。16个状态使一个汉字逐列移进点阵,又逐列移出。每经过16个移位时钟,将会显示完一个汉字。CNT[16..14]作为3位的取字计数器。

CNT[16…14]&CNT[2..O]作为ROM地址发生器。

3.2 ROMZI模块

利用LPM参数化模块库中单口ROM,利用QualtusⅡ中的MegaWizard Plug-In Manager定制而成,定制前首先要制作LPM ROM初始化文件,其中存储待显示汉字的字模数据,然后按照LPM MegaWizardPlug-In Manager的向导提示,结合设计要求进行定制。

图3为所定制ROM中的初始化汉字“元旦生日开心快乐”的字型码。数据分配模块MUX要求能在8个时钟作用下,从ROM中读出一行(一个汉字的8个字型码)分别送到数据分配器中的WLl~WL8输出端。图4为数据分配模块在扫描时钟作用下读取的字模数据,比较图3和图4可知,仿真结果正确,能满足题目要求。

3.3 移位模块YW

移位模块YW是整个设计的核心,行扫描实现左移,是通过每来一个移位时钟,将每一行的字模按位左移一位,扫描时钟到来时送出移位后的新字模。通过8次移位,可将一个汉字移出点阵平面,按类似的道理,也可以将一个汉字经8次移位后移进点阵平面。本例(图2)中,CNT YW为移位时钟的计数值,以WLl~WL8为欲显示汉字的原始字模,L10~L80为移位后从列上送出的8行显示字模信息,LLl~LL8为8个原始字模信息未送出位的暂存信号。设计中需要16个移位时钟,通过前8个时钟将WLl~WL8字模移进LED点阵平面,再经后8个时钟,将汉字又一位一位地移出。 移位设计参考文献中有关移位寄存器的设计,分计数值为“0000"和非"0000"两部分处理,对第一行字模的处理为:

其他行可按相同方法处理,具体参见如下的程序:

右移处理方法与上面左移相反,如对第一行可按如下方法处理:

上移时的部分程序按以下思路编制:L10~L70在CNT_YW为初态“0000”时,各信号均赋值X“00”,非初态时,均进行上移一位。即:L10<=L20;L20<=L30;…;L60<=L70;L70<=L80;对于L80,在汉字移进LED过程中即前8个状态各移进一个新行,在移出LED即后8个状态时,都补进X“00”。程序如下:

下移程序可按相反思路去编。

3.4 显示模块DISP设计

显示模块DISP是以CNT_SM为扫描计数器,是对1kHz进行三位循环计数,由前述的时钟计数产生模块产生,WLl~WL8为待送出显示的8个8位字型码,由前述的移位模块YW提供;SW[7..O]为行扫描输出信号,连接至点阵的8个行;DATA[7..0]为行扫描时对应的列输出字型码,对外连至点阵的8列。该模块参考文献中数码管动态显示程序进行设计如下:

4 硬件实现

上述各模块分别在QualtusⅡ中通过了仿真验证,最后对整体设计进行了硬件验证。将设计载入KH31001开发板的Cyclone工系列EPlC6Q-240C8FPGA器件中,实验证明汉字滚动显示扫描情况均正常,能够按照预想进行移位显示,这说明。FPGA的内核硬件工作良好,可以正确地实现所要求的设计功能。

5 系统扩展

本文是针对8×8点阵设计,故每次取8个字形码,如果是16×16点阵,将RONZI中存储的字形码改为16位,数据线改为16位,一个汉字需要16个16位的字形码,数据分配模块MUX、移位模块YW、显示模块DISP,均要将输入输出数据中的原来的8位改成相应的16位。扫描及取字型码计数器CNT_SM应改为CNT计数器的低4位。一个16×16点阵汉字的移进移出共需32个状态。由5位的计数器提供。如用CNT[16..0]中的14~10位作为该计数器,这可在时钟计数器产生单元CLK_GE中应做相应修改,字计数器CNT WORD按照每取16个字进行加1统计。显示DISP部分的译码器要由3-8译码改为4-16译码。显示的汉字信息越多,ROM的地址线位数越多,字计数器CNT_WORD应在时钟计数器产生单元GE_CLK中,将相应的计数器位数扩展,由CNT计数器的最高位到位15来承担。若还是8个汉字,计数器应为CNT[17..O],CNT[17..15]为字计数器;若为16个汉字,计数器应为CNT[18..O],CNT[18..15]为字计数器,…,依次类推。

6 结语

本文在KH31001开发板上实现了基于Altera公司的Cyclone I系列FPGA器件EPlC6Q240C8硬件及VHDL硬件描述语言设计的LED点阵汉字滚动显示,能在8×8点阵上滚动显示“元旦生日开心快乐”8个汉字。文中从LED点阵显示汉字的原理阐述出发,给出了点阵汉字滚动显示控制器的原理图,部分模块的VHDL源程序及时序仿真图,并能由按键选择其滚动方式:左移、右移、上移、下移等,给出了系统扩展成16×16点阵汉字滚动的改动思路。从文中描述的系统扩展方案中看出,当系统显示字符个数变化时,只需对控制逻辑和连接关系做适当的修改,再将修改完成的程序下载到器件即可,显然,系统的维护和修改是极其方便和容易的,本文对同类设计也具有一定的参考价值。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    242

    文章

    23252

    浏览量

    660541
  • 显示器
    +关注

    关注

    21

    文章

    4970

    浏览量

    139925
  • eda
    eda
    +关注

    关注

    71

    文章

    2755

    浏览量

    173191

原文标题:以FPGA控制为核心的LED汉字滚动显示器设计

文章出处:【微信号:FPGAer_Club,微信公众号:FPGAer俱乐部】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于FPGA及VHDL的LED点阵汉字滚动显示设计方案

      汉字滚动显示器的传统设计方法是用单片机来控制的,虽然单片机方案具有价格低廉,程序编程灵活等特点,但由于单片机硬件资源的限制,未来对设计的变更和升级,总是
    发表于 09-24 09:02 8239次阅读
    基于FPGA及VHDL的LED点阵<b class='flag-5'>汉字</b><b class='flag-5'>滚动</b><b class='flag-5'>显示</b>设计方案

    使用EDA设计LED汉字滚动显示器

    采用传统方法设计的汉字滚动显示器,通常需要使用单片机、存储和制约逻辑电路来进行PCB(印制电路板)板级的系统集成。
    发表于 08-10 14:00 1733次阅读
    使用<b class='flag-5'>EDA</b>设计LED<b class='flag-5'>汉字</b><b class='flag-5'>滚动</b><b class='flag-5'>显示器</b>

    【设计进展】基于FPGA控制的LED汉字滚动显示器设计进程帖

    基于FPGA控制的LED汉字滚动显示器设计进程帖
    发表于 07-09 20:00

    求助LED滚动显示汉字

    求助LED滚动显示汉字的硬件电路图和程序,有没有大神做过,求教啊!要求16*16的矩阵LED,汉字字型码不是固化在程序中,就是不需要对代码进行修改就可以修改
    发表于 05-02 15:03

    求lcd汉字滚动显示的设计论文

    求lcd汉字滚动显示的设计论文求lcd汉字滚动显示的设计论文
    发表于 06-22 11:54

    使用安徽EDA设计LED汉字大时代滚动显示器可靠吗

    采用传统方法设计的汉字滚动显示器,通常需要使用单片机、存储和制约逻辑电路来进行PCB(印制电路板)板级的系统集成。尽管这种方案有单片机软件
    发表于 09-01 11:06

    使用八个微型OLED显示器构建一个滚动消息显示器

    描述Circoled - 八个微型 OLED 显示器排成一圈这个项目肯定要疯了!我使用其中八个微型 OLED 显示器构建了一个滚动消息显示器,这些
    发表于 07-15 06:41

    单片机控制lcd汉字显示屏如何通过按键切换滚动汉字?

    单片机控制lcd汉字显示屏如何通过按键切换滚动汉字?求思路
    发表于 09-26 08:21

    STM32怎么控制OLED滚动显示汉字

    STM32怎么控制OLED滚动显示汉字
    发表于 10-10 06:12

    基于CAN总线的大容量汉字火灾楼层显示器设计

    提出了一种利用大容量FLASH 存储存放楼层地址信息的汉字火灾楼层显示器。该设备通过解析火警控制从CAN 总线上发送来的火警信息,在汉字
    发表于 09-03 08:19 16次下载

    点阵式LED滚动汉字显示屏的Proteus仿真设计

    利用嵌入式系统软硬件设计仿真平台Proteus 对点阵式LED 滚动汉字显示屏进行仿真设计,完成了系统的硬件电路设计和软件编程,并进行了仿真调试,实现了汉字在点阵式LED
    发表于 09-22 10:56 282次下载

    EDA 设计LED 汉字滚动显示器原理

    EDA 设计LED 汉字滚动显示器原理 摘要:本文主要讨论了使用EDA 工具设计汉字
    发表于 12-07 13:58 0次下载

    EDA设计LED汉字滚动显示器

    本文主要讨论了使用EDA工具设计汉字滚动显示器技术问题。文中首先描述了基于现场可编程门阵列(FPGA)的硬件电路;然后研究了在8×8LED
    发表于 07-17 16:23 57次下载

    基于单片机LCD滚动显示汉字(仿真+程序)

    德赢Vwin官网 网站提供《基于单片机LCD滚动显示汉字(仿真+程序).rar》资料免费下载
    发表于 06-08 08:00 77次下载

    16×16点阵LED显示器字符滚动显示

    16×16点阵LED显示器字符滚动显示说明。
    发表于 05-12 09:25 38次下载