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技术使得复杂的电子系统的设计变的简单易行,提高了设计的效率。

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

    关注

    114

    文章

    17638

    浏览量

    190167
  • 寄存器
    +关注

    关注

    31

    文章

    5588

    浏览量

    129035
  • vhdl
    +关注

    关注

    30

    文章

    820

    浏览量

    131313
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    联合电子推出混动系统动力域多合一控制器PDCU8.1平台

    混合动力车辆占中国乘用车市场的比例持续走高,已经成为当前中国乘用车市场的亮点。传统混合动力车辆动力域控制为分布式控制,其动力拓扑一般由整车控制器(VCU),发动机控制器(ECU)和
    的头像 发表于 11-28 09:52 263次阅读

    高 IIP3 10 MHz 至 1.5 GHz 电压控制可变衰减 skyworksinc

    电子发烧友网为你提供()高 IIP3 10 MHz 至 1.5 GHz 电压控制可变衰减相关产品参数、数据手册,更有高 IIP3 10 MHz 至 1.5 GHz 电压控制
    发表于 10-31 18:32
    高 IIP3 10 MHz 至 1.5 GHz 电压<b class='flag-5'>控制</b><b class='flag-5'>可变</b>衰减<b class='flag-5'>器</b> skyworksinc

    codesys 3.5版本控制器联机指导:如何进行RS232联机?#codesys编程控制器 #控制器

    控制器
    长沙硕博电子科技股份有限公司
    发布于 :2025年08月29日 09:07:25

    高 IIP3 2.1 至 3.1 GHz 电压控制可变衰减 skyworksinc

    电子发烧友网为你提供()高 IIP3 2.1 至 3.1 GHz 电压控制可变衰减相关产品参数、数据手册,更有高 IIP3 2.1 至 3.1 GHz 电压控制
    发表于 05-27 18:30
    高 IIP3 2.1 至 3.1 GHz 电压<b class='flag-5'>控制</b><b class='flag-5'>可变</b>衰减<b class='flag-5'>器</b> skyworksinc

    高 IIP3、2.6 至 5.0 GHz 电压控制可变衰减 skyworksinc

    电子发烧友网为你提供()高 IIP3、2.6 至 5.0 GHz 电压控制可变衰减相关产品参数、数据手册,更有高 IIP3、2.6 至 5.0 GHz 电压控制
    发表于 05-26 18:34
    高 IIP3、2.6 至 5.0 GHz 电压<b class='flag-5'>控制</b><b class='flag-5'>可变</b>衰减<b class='flag-5'>器</b> skyworksinc

    车载整机控制器 工程机械主机控制器#硕博电子#国产控制器

    控制器
    长沙硕博电子科技股份有限公司
    发布于 :2025年05月26日 09:09:02

    工程机械控制器厂家 控制器国产替代 #国产控制器#控制器厂家#控制器品牌

    控制器
    长沙硕博电子科技股份有限公司
    发布于 :2025年04月29日 14:15:05

    电机控制的金属带式无级变速器速比变化特性的仿真研究

    金属带式无级变速器(CVT)能够不间断地连续改变传动系统速比,使得装备CVT车辆的发动机工作更加平稳,提高了发动机的经济性和动力性。而要使发动机工作在高效区域,就必须合理地控制CVT速比,这对
    发表于 04-14 21:29

    三菱PLC PLSV(可变速脉冲输出指令)在软件中如何使用?

    请问下 三菱PLC PLSV(可变速脉冲输出指令)在软件中如何使用?软件版本和指令格式如下图: 三菱PLC 型号 FX2N-32MT 请高手指点一下
    发表于 04-10 18:40

    工程机械控制器如何选型?控制器选型指南 #控制器 #车载控制器 #整车控制器 #控制器选型

    控制器
    长沙硕博电子科技股份有限公司
    发布于 :2025年03月14日 10:54:24

    Y1620工程机械主机控制器 车载智能控制器 CAN总线 #工程机械控制器 #整车控制器 #车载控制器

    控制器
    长沙硕博电子科技股份有限公司
    发布于 :2025年02月10日 15:32:21

    采用MPS 可变关断时间控制器HFC0300实现反激变换的设计指南

    本应用说明介绍了采用MPS 可变关断时间控制器HFC0300实现反激变换的设计指南,如图 1 所示。遵循本文的步骤,即可轻松设计具有可变关断时间(或准固定导通时间)
    的头像 发表于 01-09 15:18 2445次阅读
    采用MPS <b class='flag-5'>可变</b>关断时间<b class='flag-5'>控制器</b>HFC0300实现反激变换<b class='flag-5'>器</b>的设计指南

    Verilog与VHDL的比较 Verilog HDL编程技巧

    Verilog 与 VHDL 比较 1. 语法和风格 Verilog :Verilog 的语法更接近于 C 语言,对于有 C 语言背景的工程师来说,学习曲线较平缓。它支持结构化编程,代码更直观,易于
    的头像 发表于 12-17 09:44 2678次阅读