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

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

3天内不再提示

基于QuartusⅡ开发环境与VHDL语言的16路可调彩灯控制器的设计

电子设计 来源:郭婷 作者:电子设计 2019-05-03 07:35 次阅读

近年来,FPGACPLD发展迅速,随着集成电路制造工艺的不断进步,高性价比的FPGA/CPLD器件推陈出新,使FPGA/CPLD成为当今硬件设计的重要途径,与传统电路设计方法相比,FPGA/CPLD具有功能强大、开发周期短、投资少,便于追踪市场变化及时修改产品设计以及开发工具智能化等特点。在诸多FPGA/CPLD的设计语言中,VHDL语言作为一种主流的硬件描述语言,具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性,并在语言易读性和层次化、结构化设计方面,表现出了强大的生命力和应用潜力。

QuartusⅡ是Altera公司在21世纪初推出的FPGA/CPLD集成开发环境,是Altera公司前一代FPGA/CPLD集成开发环境Max+PlusⅡ的更新换代产品,其界面友好,使用便捷,功能强大,为设计者提供了一种与结构无关的设计环境,使设计者能方便的进行设计输入、快速处理和器件编程

本文在QuartusⅡ开发环境下,用VHDL语言设计了一种可用于控制16路彩灯,具有4种彩灯变换模式,且变换速度可调的彩灯控制器

1 16路可调速彩灯控制嚣设计思路

16路可调逮彩灯控制器根据功能可分为3个部分,如图1所示。其中,8 Hz分频部分用于对频率为10 MHz的时钟信号进行分频,获得频率为8 Hz的时钟信号CLK8。CLK8作为速度控制部分的基准时钟,通过计数分频方式又可获得频率分别为4 Hz,2 Hz和1 Hz的时钟信号,然后由调速信号选择其中之一作为彩灯时钟信号CLKQ,CLKQ即为彩灯控制部分的基准时钟,用于决定彩灯变换的速度,由此实现调速信号SPD对彩灯变换速度的控制,使彩灯可调速。

基于QuartusⅡ开发环境与VHDL语言的16路可调彩灯控制器的设计

彩灯控制部分通过输出1个16位二进制数(即彩灯输出信号Q)来控制16个彩灯,每一位二进制数对应1个彩灯的开关,当该位数字为“1”时灯亮,该位数字为“O”时灯灭。彩灯的变换共设置4种模式:

sO模式:只亮1个灯,从最左端逐个移动到最右端,即输出信号Q从第15位开始将1个“1”依次移动到第0位;

s1模式:只亮1个灯,从最右端逐个移动到最左端,即输出信号Q从第0位开始将1个“1”依次移动到第15位;

s2模式:亮2个灯,同时从左右两端向中间移动,即输出信号Q从第15位开始将1个“1”依次移动到第8位,同时从第O位开始将1个“1”依次移动到第7位;

s3模式:亮2个灯,同时从中间向左右两端移动,即输出信号Q从第8位开始将1个“1”依次移动到第15位,同时从第7位开始将1个“1”依次移动到第0位。

四种模式依次循环,若复位信号RST输入为高电平,则循环中断,输出信号Q置零,彩灯全灭,RST恢复为低电平后,再次从sO模式开始循环。

2 16路可调速彩灯控制器的实现

本文所设计的16路可调速彩灯控制器,其电路符号如图2所示,其中clk为10 MHz时钟信号输入端,rst为复位控制端,spd为调速信号输入端,q为彩灯控制信号输出端。

基于QuartusⅡ开发环境与VHDL语言的16路可调彩灯控制器的设计

本文所设计的16路可调速彩灯控制器的VHDL代码如下所示:

基于QuartusⅡ开发环境与VHDL语言的16路可调彩灯控制器的设计

基于QuartusⅡ开发环境与VHDL语言的16路可调彩灯控制器的设计

基于QuartusⅡ开发环境与VHDL语言的16路可调彩灯控制器的设计

基于QuartusⅡ开发环境与VHDL语言的16路可调彩灯控制器的设计

值得注意的是,本文设计的16路可调速彩灯控制器使用了数据循环算法,较以往的case when语句,更加简洁,实现的功能更加强大,其具有如下特点:

(1)在硬件验证时,将速度控制端spd的pin脚接到拨码开关上,从而实现彩灯变换速度快慢的手动控制,在更进一步的设计中,也可以通过对spd信号的内部控制,实现各种变换速度的自动调整。

(2)该设计采用数据移位的方式实现彩灯的变换,更有利于彩灯变换模式的扩展。该设计虽然只设计了4种变换模式,但可以根据需要轻松的扩展至6~8种模式,甚至更多。

(3)8 Hz分频部分的分频比很大,不适于计算机仿真验证,在仿真时需要调小分频比,在硬件验证时再恢复较大的分频比。

3 仿真结果分析

本文设计的16路可调速彩灯控制器在QuartusⅡ开发环境下进行了仿真验证,仿真波形如图3所示。仿真结果分析如下:

基于QuartusⅡ开发环境与VHDL语言的16路可调彩灯控制器的设计

(1)clk为时钟信号,由时钟信号的上升沿触发分频器计数;

(2)rst为复位信号输入端,当其为高电平时,彩灯控制输出信号q清零,rst恢复为低电平后彩灯控制输出信号q从sO模式重新开始循环;

(3)spd为调速信号输入端,对应于spd的“00”,“01”,“10”,“11”这4个数值,彩灯变换的速度分别为1 Hz,2 Hz,4 Hz,8 Hz;

(4)q为彩灯控制信号输出端,由图3可知,该设计成功地实现了4种变换模式的循环和各种变换速度的调节。

4 结语

设计的16路可调速彩灯控制器在QuartusⅡ开发环境下进行了仿真验证后,下载到湖北众友科技实业股份有限公司的ZYllEDAl3BE实验箱中进行了硬件验证,该实验箱使用ACEXlK系列EPlK30QC208芯片作为核心芯片,实验证明设计正确,功能完整,运行稳定。另外,本文所设计的16路可调速彩灯控制器可根据需要增加更多的变换模式,使彩灯更加绚丽多姿。

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

    关注

    1592

    文章

    21207

    浏览量

    592139
  • 分频器
    +关注

    关注

    43

    文章

    431

    浏览量

    49275
  • vhdl
    +关注

    关注

    30

    文章

    814

    浏览量

    127614
收藏 人收藏

    评论

    相关推荐

    大功率四节日彩灯控制器

    大功率四节日彩灯控制器    本例介绍一个大功率四节日彩灯控制器
    发表于 07-12 16:44

    彩灯控制器的设计方案

    彩灯控制器的设计方案本设计采用谦价的数字集成电路定时、计数和译码,产生循环
    发表于 12-17 10:39

    彩灯控制器的设计

    彩灯控制器的设计
    发表于 08-20 14:51

    怎么使用VHDL语言设计一个高效的微控制器内核?

    通过对传统MCS-51单片机指令时序和体系结构的分析,使用VHDL语言采用自顶向下的设计方法重新设计了一个高效的微控制器内核。
    发表于 04-13 06:10

    如何使用VHDL硬件描述语言实现的十六路彩灯控制系统?

    本文介绍应用美国ALTERA公司的MAX+PLUSⅡ平台,使用VHDL硬件描述语言实现的十六路彩灯控制系统。
    发表于 04-19 07:43

    Quartus开发环境下怎么用VHDL语言设计可变模功能的计数

    Quartus开发环境下,用VHDL语言设计了一种具有清零、置数、使能控制、可逆计数和可变模
    发表于 04-30 06:44

    基于TTL电路的LED可调彩灯控制器该怎样去设计?

    基于TTL电路的LED可调彩灯控制器该怎样去设计?
    发表于 06-02 06:54

    设计8节日彩灯控制器的相关资料分享

    任务设计8节日彩灯控制器,要求在Protues中设计接口电路图,并编程实现节日彩灯闪烁方式的控制:通过P1.0到P1.2来
    发表于 11-10 08:43

    节日彩灯控制器的相关资料推荐

    单片机-节日彩灯控制器彩灯及点阵方案设计各功能键设计各模块设计设计环境效果彩灯及点阵方案设计每次只亮一个
    发表于 01-24 06:29

    VHDL设计十六路彩灯控制器

    摘要:VHDL设计技术是引起数字系统设计方式发生突破性变革的技术。本文论述了使用VHDL设计十六路彩灯控制器的过程。VHDL为设计提供了更大
    发表于 05-23 09:36 143次下载

    节日彩灯控制器

    节日里用彩灯装饰和美化环境可以得到很好的效果。这里介绍的控制器使节日彩灯具有动感,交替闪亮的彩灯好似流水。它的制作也很简单。
    发表于 05-28 10:10 183次下载

    基于TTL电路的LED可调彩灯控制器

    基于TTL电路的LED可调彩灯控制器,电路主要由时间振荡电路和16通道多路复用器组成可调定时器,D触发器为分频器;译码器和数码管为监测显示电
    发表于 05-10 11:04 4675次阅读
    基于TTL电路的LED<b class='flag-5'>可调</b><b class='flag-5'>彩灯</b><b class='flag-5'>控制器</b>

    基于EDA技术的彩灯控制器设计

    该设计是以现场可编程逻辑器件(FPGA)为设计载体,以硬件描述语言VHDL)为主要,以原理图输入设计为辅的表达方式,以Quartus开发软件和EDA试验箱为设计工具,阐述了
    发表于 12-04 14:21 20次下载
    基于EDA技术的<b class='flag-5'>彩灯</b><b class='flag-5'>控制器</b>设计

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

    首先应进行系统模块的划分,规定每一个模块的功能以及各模块之间的接口,最终设计方案分为三大模块:16路花样彩灯控制器、四频率输出分频器、四选一控制器。四选一
    的头像 发表于 10-07 12:06 5129次阅读
    使用<b class='flag-5'>VHDL</b><b class='flag-5'>语言</b>设计可变速<b class='flag-5'>彩灯</b><b class='flag-5'>控制器</b>

    使用QuartusVHDL语言实现的LPC时序的工程文件

    本文档的主要内容详细介绍的是使用QuartusVHDL语言实现的LPC时序的工程文件免费下载。
    发表于 09-18 16:49 20次下载
    使用<b class='flag-5'>Quartus</b>和<b class='flag-5'>VHDL</b><b class='flag-5'>语言</b>实现的LPC时序的工程文件