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
    +关注

    关注

    1624

    文章

    21597

    浏览量

    601004
  • 分频器
    +关注

    关注

    43

    文章

    447

    浏览量

    49735
  • vhdl
    +关注

    关注

    30

    文章

    816

    浏览量

    128036
收藏 人收藏

    评论

    相关推荐

    大功率四节日彩灯控制器

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

    彩灯控制器的设计方案

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

    彩灯控制器的设计

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

    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

    VHDL设计十六路彩灯控制器

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

    节日彩灯控制器

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

    彩灯控制器

    彩灯控制器接通电源时,初始瞬间三彩灯均点亮。随后C1,C2,C3充电,因参数参差至使三个电容不可能同时充至同样的电压,设C1首先充至高
    发表于 12-26 19:29 3529次阅读
    三<b class='flag-5'>路</b><b class='flag-5'>彩灯</b><b class='flag-5'>控制器</b>

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

    基于TTL电路的LED可调彩灯控制器,电路主要由时间振荡电路和16通道多路复用器组成可调定时
    发表于 05-10 11:04 5104次阅读
    基于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 5408次阅读
    使用<b class='flag-5'>VHDL</b><b class='flag-5'>语言</b>设计可变速<b class='flag-5'>彩灯</b><b class='flag-5'>控制器</b>

    多路彩灯控制器VHDL的实现

    设计一个彩灯控制程序。可以实现四种花型循环变化,有复位开关。整个系统共有三个输入信号CLK,RST,SelMode,八个输出信号控制八个彩灯
    发表于 07-16 09:21 3083次阅读

    使用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时序的工程文件

    彩灯控制器multisim仿真源文件下载

    彩灯控制器multisim仿真源文件下载。
    发表于 02-18 15:36 80次下载