EDA多路彩灯控制器设计报告.docVIP

  • 116
  • 0
  • 约6.27千字
  • 约 9页
  • 2015-07-27 发布于安徽
  • 举报
EDA课程设计 多 路 彩 灯 控 制 设 计 专 业:电子信息工程 班 级: 2007117 指导老师: 司孝平 时 间: 2010.12.30 1)系统设计要求 设计一个多路彩灯控制器,十六种彩灯能循环变化,有清零开关,可以变化彩灯闪动频率即是可以选择快慢两种节拍。 2).设计方案 整个系统有三个输入信号,分别为控制快慢的信号OPT,复位清零信号CLR,输出信号是16路彩灯输出状态。系统框图如: 主要模块组成:时序控制电路模块和显示电路模块,时序控制电路是根据输入信号的设置得到相应的输出信号,并将此信号作为显示电路的时钟信号;显示电路输入时钟信号的周期,有规律的输出设定的六种彩灯变化类型。 3).模块设计 时序控制模块:CLK为输入时钟信号,电路在时钟上升沿变化;CLR为复位清零信号,高电平有效,一旦有效时,电路无条件的回到初始状态;OPT为频率快慢选择信号,低电平节奏快,高电平节奏慢;CLKOUT为输出信号,CLR有效时输出为零,否则,随OPT信号的变化而改变。 我们假设时序控制电路所产生的控制时钟信号的快慢两种节奏分别为输入时钟信号频率的1/4和1/8,因而输出时钟控制信号可以通过对输入时钟的计数来获得。当opt为低电平时,输出没经过两个时钟周期进行翻转,实现四分频的快节奏;当opt为高电平时,输出每经过四个时钟周期进行翻转,实现把八分频的慢节奏。 显示控制电路的模块框图如图所示,输入信号clk和clr的定义与时序控制电路一样,输入信号led[15...0]能够循环输出16路彩灯16种不同状态的花型。对状态的所对应的彩灯输出花型定义如下: S0:0000000000000000 S1:0001000100010001 S2:0010001000100010 S3:0011001100110011 S4:0100010001000100 S5:0101010101010101 S6:0110011001100110 S7:0111011101110111 S8:1000100010001000 S9:1001100110011001 S10:1010101010101010 S11:1011101110111011 S12:1100110011001100 S13:1101110111011101 S14:1110111011101110 S15 :1111111111111111 多路彩灯在多种花型之间的转换可以通过状态机实现,当复位信号clr有效时,彩灯恢复初始状态s0,否则,每个时钟周期,状态都将向下一个状态发生改变,并对应输出的花型,这里的时钟周期即时时序控制电路模块产生的输出信号,它根据opt信号的不同取值得到两种快慢不同的时钟频率。 clr 4).序控制电路模块程序如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity metronome is --定义实体 port( clk: in std_logic; --时钟信号 clr: in std_logic; --复位信号 opt: in std_logic; --快慢控制信号 clkout: out std_logic --输出时钟信号 ); end metronome; architecture rtl of metronome is signal clk_tmp: std_logic; signal counter: std_logic_vector(1 downto 0); --定义计数器 begin process(clk,clr,opt) begin if clr=1 then --清零 clk_tmp=0; counter=00; elsif clkevent and clk=1 then if opt=0 then --四分频,快节奏 if counter=01 then

文档评论(0)

1亿VIP精品文档

相关文档