logo资料库

eda彩灯控制课程设计.docx

第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
资料共16页,剩余部分请下载后查看
电子设计自动化 大作业 题 目 彩灯控制器 学 院 控制科学与工程学院 班 级 姓 名 学 号 二 0 一一年十一月六日 1
目录 一、摘要……………………………… 3 1.1 引言………………………… 3 二、总体设计………………………… 4 2.1 设计背景…………………… 4 2.2 设计要求…………………… 4 2.3 设计思路…………………… 5 三、单元模块设计…………………… 5 3.1 设计方框流程图…………… 5 3.2 模块设计…………………… 7 3.2.1 时序控制电路模块… 7 3.2.2 显示模块电路……… 9 3.2.3 顶出模块…………… 11 四、彩灯控制器整体组装…………… 13 4.1 组装电路原理图…………… 13 4.2 仿真波形及结果…………… 14 五、实验总结………………………… 15 2
一、摘 要 本课题主要是基于可编程逻辑器件,使用硬件描述语言 VHDL,采用“自顶而下”的设计方法,完成一个彩灯控制器 的设计,并且使用 Quartus II 仿真软件来仿真结果。本文 先对彩灯控制器的整体框图和原理做简单的说明,对彩灯控 制器分模块说明和分析,而后将各个模块组装实现彩灯的花 型控制,最后探讨 VHDL 语言的描述和仿真结果。 1.1 引 言 当今社会是数字化的社会,也是数字集成电路广泛应用 的社会,数字本身在不断的进行更新换代。它由早起的电子 管、晶体管、小中规模集成电路发展到超大规模集成电路以 及许多具有特定功能的专用集成电路。而 EDA 技术就是以微 电子技术为物理层面,现代电子设计为灵魂,计算机软件技 术为手段,最终形成集成电子系统或专用集成电路 ASIC 为 目的的一门新兴技术。 VHDL 是一种应用较为广泛的 HDL 语言,能对范围广泛的 各种复杂的网络在不同的抽象级加以描述,而且在整个设计 过程中可使用同一种语言。采用 VHDL 作为 HDL 综合设计的 3
优点有:标准语言,即设计者可在不同环境下进行设计;仿 真和综合均可采用同一种语言进行;VHDL 中提供的大量的资 源模块,简化了设计者的开发工作;由 VHDL 描述的源文件 既是程序文件又可作为设计的文档。 二、 总体设计 2.1 设计背景 在经济和商业高度发达的今天,彩灯已经成为人民日常 生活不可或缺的一部分,已经逐渐为越来越多的人们所关注, 在家庭中的普及率不断提高,大大的丰富和点缀了人民的生 活。彩灯由不同的颜色的 LED 灯组成,通过控制不同颜色的 灯的亮与灭,呈现给人们不同的花塑和图案,极大的点缀了 单调的都市夜景,让城市成为了多姿多彩的不夜城。 2.2 设计要求 设计能让一排彩灯(8 只)自动改变显示花样的控制系 统,发光二极管可作为彩灯用。控制器应该有两种控制方式: (1)、彩灯的循环变化有快慢两种节奏,彩灯能够循环 变化,而且有清零的功能。 (2)、设计彩灯的花型显示为四种。 4
2.3 设计思路 设计一个彩灯控制器,可以实现四种花型循环的变化, 即应该有复位开关,用状态机来控制实现。用分频器来控制 实现调速按钮,高电平变化快,低电平变化慢,还要配备清 零按钮。次彩灯控制系统设定有四种花样变化,这四种花样 可以循环变化显示。 根据上述的情况来分配任务,即 clk 表示时钟信号, selmode 来控制复位清零信号,rst 来表示分频,即控制快 慢变化。将本次设计的主控电路分为两个模块,分别为时序 控制电路模块和显示模块。时序控制电路是根据输入信号的 设置得到相应的输出信号,并且将此信号作为显示电路的时 钟信号;显示电路输入时钟信号的周期有规律的输出设定的 四种彩灯变化花型。 三、单元模块设计 3.1 设计方框流程图 分 频 器 模 块 5 状 态 变 换 产 生 电 路 显 示 电 路
备注:其中分频器模块是实现变化节拍的电路,而状态变化 产生电路同时有循环的功能以及花型变化的功能,显示电路 只是现实 8 个 LED 灯的变化情况。 设计方框示意图: 备注:CLK_IN 是分频器和状态机的时钟输入,CLK-OUT 是端 口输出电平,RST 为端口输入电平,当 RST 输入为高电平有 效时,CLK_OUT 端口输出信号为清零,当 RST 输入为低电平 时,CLK_IN 通过分频后从 CLK_OUT 输出,分别可调节为 0.5 6
秒和 0.x 秒的频率。即设计的彩灯控制器总有三个输入信号 和八个输出信号,在仿真里采用芯片 EP3C16Q240C8 来实现, 端口的定义为: CLK RST :PIN_181; : PIN_183; SELMODE : PIN_185; LED(0-7) :PIN_202,207,216,218 :PIN_220,222,224,230 3.2 模块设计 3.2.1 时序控制模块:CLK 为输入时钟信号,电路在时 钟上升沿变化:selmode 为复位清零信号,高电平有效,一 旦有效时,电路无条件的回到初始状态;rst 为频率的快慢 选择信号,低电平节奏快,高电平节奏慢;clkout 为输出时 钟信号。 时序控制电路模块的程序为: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity shixukongzhi is port( 7 --定义实体
clk: in std_logic; selmode: in std_logic; rst: in std_logic; clkout: out std_logic --时钟信号 --复位信号 --快慢控制信号 --输出时钟信号 ); is end shixukongzhi ; architecture fengping of shixukongzhi signal clk_tmp: std_logic; signal counter: std_logic_vector(1 downto 0); begin process(clk,selmode,rst) begin if selmode='1' then --计数器 --清零 clk_tmp<='0'; counter<="00"; elsif clk'event and clk='1' then if rst='0' then if counter="01" then counter<="00"; clk_tmp<=not clk_tmp; else counter<=counter+'1'; 8 --四分频,快节奏
分享到:
收藏