0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

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

3天内不再提示

使用VHDL语言设计可变速彩灯控制器

电子设计 作者:电子设计 2018-10-07 12:06 次阅读

引言

硬件描述语言(HDL)是相对于一般的计算机软件语言如C,Pascal而言的。HDL是用于设计硬件电子系统的计算机语言,它描述电子系统的逻辑功能、电路结构和连接方式。设计者可以利用HDL程序来描述所希望的电路系统,规定其结构特征和电路的行为方式,然后利用综合器和适配器将此程序变成能控制FPGACPLD内部结构,并实现相应逻辑功能的门级或更底层的结构网表文件和下载文件。VHDL(VeryHigh Speed Integrated Circuit Hardware descriptionLangtuage)主要用于描述数字系统的结构、行为、功能和接口。与其他的HDL语言相比,VHDL具有更强的行为描述能力,从而决定了它成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构。从逻辑行为上描述和设计大规模电子系统的重要保证。在文献中作者从不同的角度阐述了EDA技术的应用,它具有功能强大、描述能力强、可移植性好、研制周期短、成本低等特点,即使设计者不懂硬件的结构,也能进行独立的设计。本文以Alter公司提供的Max+PlusⅡ为平台,设计一个可变速的彩灯控制器,可以在不修改硬件电路的基础上,仅通过更改软件就能实现任意修改花型的编程控制方案,实现控制16只LED以8种花型和4种速度循环变化显示,而且设计非常方便,设计的电路保密性强。

1设计原理

用VHDL进行设计,首先应该理解,VHDL语言是一种全方位硬件描述语言,包括系统行为级,寄存器传输级和逻辑门级多个设计层次。应充分利用VHDL“自顶向下”的设计优点以及层次化的设计概念,层次概念对于设计复杂的数字系统是非常有用的,它使得我们可以从简单的单元入手,逐渐构成庞大而复杂的系统。

首先应进行系统模块的划分,规定每一个模块的功能以及各模块之间的接口,最终设计方案分为三大模块:16路花样彩灯控制器、四频率输出分频器、四选一控制器。四选一控制器从分频器中选择不同频率的时钟信号输送到彩灯花样控制器,从而达到控制彩灯闪烁速度的快慢和花型的的变换。

下面是本次设计的顶层模块原理图如图1所示。

使用VHDL语言设计可变速彩灯控制器

2 子模块及其功能

(1)四频率输出分频器。根据要求有4种速度的变化,每种都要显示8种花样,就要用到三位计数器和16位数字译码器。其次,速度有4种变化,而只有一个输入的时钟信号,所以要对输入的时钟信号进行分频,本次设计采用了二分频、四分频、八分频和15分频得到4种不同频率的信号。

二分频电路的程序代码如下:

使用VHDL语言设计可变速彩灯控制器

四分频电路的设计有两种方案:一是把两个二分频电路串联起来(见图2,3),实现四分频;二是修改二分频电路的程序代码来实现,做如下修改:

使用VHDL语言设计可变速彩灯控制器

使用VHDL语言设计可变速彩灯控制器

使用VHDL语言设计可变速彩灯控制器


同理,八分频电路的设计也有两种方案:一种是把两个四分频电路串联起来,实现八分频;一种是修改二分频电路的程序代码,只需做如下修改即可:

使用VHDL语言设计可变速彩灯控制器

15分频电路如图4所示,仿真图如图5所示。代码如下:

使用VHDL语言设计可变速彩灯控制器

使用VHDL语言设计可变速彩灯控制器

使用VHDL语言设计可变速彩灯控制器


四频率输出分频器的顶层模块原理图如图6所示,仿真波形如图7所示。

使用VHDL语言设计可变速彩灯控制器

使用VHDL语言设计可变速彩灯控制器

(2)四选一控制器。四选一控制器的功能是从分频器中选择不同的时钟信号送给彩灯控制器,实现彩灯闪烁频率的变化,如图8,9所示。源代码如下:

使用VHDL语言设计可变速彩灯控制器

使用VHDL语言设计可变速彩灯控制器

使用VHDL语言设计可变速彩灯控制器

(3)彩灯控制器。彩灯控制器电路是整个设计的核心,它控制整个设计的输出效果也就是图案的样式变化。在电路中用1代表灯亮,用O代表灯灭,由0,1按不同的规律组合代表不同的灯光图案,同时使其选择不同的频率,以实现多种图案及多种频率的花样功能显示。该程序充分证明了用VHDL设计电路的灵活性,即可以通过改变程序中输出变量的位数来改变彩灯的数目。如图10,1l所示。

使用VHDL语言设计可变速彩灯控制器

代码如下:

使用VHDL语言设计可变速彩灯控制器

使用VHDL语言设计可变速彩灯控制器

使用VHDL语言设计可变速彩灯控制器

3 结语

使用VHDL语言设计电路,思路简单,功能明了。使用Max+PlusⅡ设计电路不仅可以进行逻辑仿真,还可以进行时序仿真,使用PLD不仅省去了电路制作的麻烦,还可以反复进行硬件的实验,非常方便地修改设计,且设计的电路的保密性强。总之,采用EDA技术使得复杂的电子系统的设计变的简单易行,提高了设计的效率。

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

    关注

    112

    文章

    15143

    浏览量

    170899
  • 寄存器
    +关注

    关注

    30

    文章

    5018

    浏览量

    117605
  • vhdl
    +关注

    关注

    30

    文章

    814

    浏览量

    127665
收藏 人收藏

    评论

    相关推荐

    麦爵士madrix麦觉仕幻彩灯条灯带智能像素灯工程安装经验详解

    的供电正负极线(GNDVCC)和接控制器的信号线(GNDDAT);第二要点:控制器接线方式:单信号线灯带:灯条gnd接控制器gnd,灯条Di接控制器DAT;断点续传
    的头像 发表于 02-27 19:55 422次阅读
    麦爵士madrix麦觉仕幻<b class='flag-5'>彩灯</b>条灯带智能像素灯工程安装经验详解

    C语言控制器模组用户手册

    电子发烧友网站提供《C语言控制器模组用户手册.pdf》资料免费下载
    发表于 12-26 09:25 0次下载

    基于VHDL语言实现远程防盗报警设计

    电子发烧友网站提供《基于VHDL语言实现远程防盗报警设计.pdf》资料免费下载
    发表于 11-08 14:33 0次下载
    基于<b class='flag-5'>VHDL</b><b class='flag-5'>语言</b>实现远程防盗报警设计

    基于VHDL的洗衣机控制器的设计

    电子发烧友网站提供《基于VHDL的洗衣机控制器的设计.pdf》资料免费下载
    发表于 11-07 10:28 2次下载
    基于<b class='flag-5'>VHDL</b>的洗衣机<b class='flag-5'>控制器</b>的设计

    怎么设计c语言可变长参数函数?

    怎么设计c语言可变长参数函数
    发表于 10-27 07:10

    VHDL语言创建一个8位算术逻辑单元(ALU)

    在这个项目中,我们用 VHDL 语言创建一个 8 位算术逻辑单元 (ALU),并在连接到带有输入开关和 LED 显示屏的定制 PCB 的 Altera CPLD 开发板上运行。
    的头像 发表于 10-24 17:05 808次阅读
    用<b class='flag-5'>VHDL</b><b class='flag-5'>语言</b>创建一个8位算术逻辑单元(ALU)

    汽车变速器中电子控制原理

    电子发烧友网站提供《汽车变速器中电子控制原理.pdf》资料免费下载
    发表于 10-19 11:07 0次下载
    汽车<b class='flag-5'>变速</b>器中电子<b class='flag-5'>控制</b>原理

    VHDL语言是什么可以用来干嘛?

    VHDL语言是什么可以用来干嘛
    发表于 10-18 07:34

    基于VHDL语言的循环码编译码系统的设计

    电子发烧友网站提供《基于VHDL语言的循环码编译码系统的设计.pdf》资料免费下载
    发表于 10-13 14:31 1次下载
    基于<b class='flag-5'>VHDL</b><b class='flag-5'>语言</b>的循环码编译码系统的设计

    基于VHDL语言的HDB3码编解码器设计

    电子发烧友网站提供《基于VHDL语言的HDB3码编解码器设计.doc》资料免费下载
    发表于 10-13 09:22 0次下载
    基于<b class='flag-5'>VHDL</b><b class='flag-5'>语言</b>的HDB3码编解码器设计

    彩灯控制电路的设计与制作

    让自己学号的后2位编码后点亮相应的灯,能实现循环左、右移,按键控制,同时按键控制彩灯亮灭速度。
    的头像 发表于 08-25 17:16 1786次阅读
    <b class='flag-5'>彩灯</b><b class='flag-5'>控制</b>电路的设计与制作

    一种基于Petri网的并行控制器VHDL实现

    Petri网是离散事件系统建模的重要工具,本文使用硬件描述语言VHDL实现了基于Petri网的并行控制器。文中通过一个液位控制系统实例具体介绍了这一方法,并通过仿真波形证明了该方法的正
    的头像 发表于 08-03 15:33 316次阅读
    一种基于Petri网的并行<b class='flag-5'>控制器</b>的<b class='flag-5'>VHDL</b>实现

    联合电子首款24V 商用车自动变速控制器批量下线

    下线仪式 图1 首款24V TCU产品量产下线仪式 近日,联合电子首款24V 商用车自动变速控制器(24V TCU)在柳州厂顺利下线。作为联合电子自主研发的产品,24V TCU将广泛应用于商用车
    的头像 发表于 07-14 20:10 770次阅读
    联合电子首款24V 商用车自动<b class='flag-5'>变速</b>箱<b class='flag-5'>控制器</b>批量下线

    彩灯珠的秘密

    本文主要介绍了市场上面的幻彩灯珠组成及应用场景,并重点介绍了幻彩灯珠内部驱动芯片的原理和编码格式以及该芯片的典型硬件应用电路,最后通过例举用一颗8位MCU控制彩灯珠的算法。
    的头像 发表于 06-25 15:31 932次阅读
    幻<b class='flag-5'>彩灯</b>珠的秘密

    MCU控制器是什么?MCU控制器有哪些作用?

    可以使用C语言、汇编语言等编程语言来开发控制程序,实现各种自动化控制和数据处理功能。   MCU控制器
    发表于 05-05 14:59