版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章多路彩灯控制器的设计与分析2.1系统设计要求
2.2系统设计方案
2.3主要VHDL源程序2.4系统仿真/硬件验证2.5设计技巧分析
2.6系统扩展思路
2.1系统设计要求今需设计一个十六路彩灯控制器,6种花型循环变化,有清零开关,并且可以选择快慢两种节拍。2.2系统设计方案根据系统设计要求可知,整个系统共有三个输入信号:控制彩灯节奏快慢的基准时钟信号CLK_IN,系统清零信号CLR,彩灯节奏快慢选择开关CHOSE_KEY;共有16个输出信号LED[15..0],分别用于控制十六路彩灯。据此,我们可将整个彩灯控制器CDKZQ分为两大部分:时序控制电路SXKZ和显示控制电路XSKZ,整个系统的组成原理图如图2.1所示。图2.1彩灯控制器组成原理图2.3主要VHDL源程序2.3.1时序控制电路的VHDL源程序--SXKZ.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYSXKZISPORT(CHOSE_KEY:INSTD_LOGIC;CLK_IN:INSTD_LOGIC;
CLR:INSTD_LOGIC;CLK:OUTSTD_LOGIC);ENDENTITYSXKZ;ARCHITECTUREARTOFSXKZISSIGNALCLLK:STD_LOGIC;BEGINPROCESS(CLK_IN,CLR,CHOSE_KEY)ISVARIABLETEMP:STD_LOGIC_VECTOR(2DOWNTO0);BEGINIFCLR='1'THEN--当CLR='1'时清零,否则正常工作CLLK<='0';TEMP:="000";ELSIFRISING_EDGE(CLK_IN)THENIFCHOSE_KEY='1'THENIFTEMP="011"THENTEMP:="000";CLLK<=NOTCLLK;ELSETEMP:=TEMP+'1';ENDIF;--当CHOSE_KEY='1'时产生基准时钟频率的1/4的时钟信号,否则产生基准时钟--频率的1/8的时钟信号
ELSEIFTEMP="111"THENTEMP:="000";CLLK<=NOTCLLK;ELSETEMP:=TEMP+'1';ENDIF;ENDIF;ENDIF;ENDPROCESS;CLK<=CLLK;ENDARCHITECTUREART;2.3.2显示控制电路的VHDL源程序--XSKZ.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYXSKZISPORT(CLK:INSTD_LOGIC;CLR:INSTD_LOGIC;LED:OUTSTD_LOGIC_VECTOR(15DOWNTO0));ENDENTITYXSKZ;ARCHITECTUREARTOFXSKZISTYPESTATEIS(S0,S1,S2,S2,S4,S5,S6);SIGNALCURRENT_STATE:STATE;SIGNALFLOWER:STD_LOGIC_VECTOR(15DOWNTO0);BEGINPROCESS(CLR,CLK)ISCONSTANTF1:STD_LOGIC_VECTOR(15DOWNTO0):="0001000100010001";CONSTANTF2:STD_LOGIC_VECTOR(15DOWNTO0):="1010101010101010";CONSTANTF2:STD_LOGIC_VECTOR(15DOWNTO0):="0011001100110011";CONSTANTF4:STD_LOGIC_VECTOR(15DOWNTO0):="0100100100100100";CONSTANTF5:STD_LOGIC_VECTOR(15DOWNTO0):="1001010010100101";CONSTANTF6:STD_LOGIC_VECTOR(15DOWNTO0):="1101101101100110";--六种花型的定义
BEGINIFCLR='1'THENCURRENT_STATE<=S0;ELSIFRISING_EDGE(CLK)THENCASECURRENT_STATEISWHENS0=>FLOWER<="ZZZZZZZZZZZZZZZZ";CURRENT_STATE<=S1;WHENS1=>FLOWER<=F1;CURRENT_STATE<=S2;WHENS2=>FLOWER<=F2;CURRENT_STATE<=S2;WHENS2=>FLOWER<=F2;CURRENT_STATE<=S4;WHENS4=>FLOWER<=F4;CURRENT_STATE<=S5;WHENS5=>FLOWER<=F5;CURRENT_STATE<=S6;WHENS6=>FLOWER<=F6;CURRENT_STATE<=S1;ENDCASE;ENDIF;ENDPROCESS;LED<=FLOWER;ENDARCHITECTUREART;2.3.3整个电路系统的VHDL源程序--CDKZQ.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYCDKZQISPORT(CLK_IN:INSTD_LOGIC;CLR:INSTD_LOGIC;CHOSE_KEY:INSTD_LOGIC;LED:OUTSTD_LOGIC_VECTOR(15DOWNTO0));ENDENTITYCDKZQ;ARCHITECTUREARTOFCDKZQISCOMPONENTSXKZISPORT(CHOSE_KEY:INSTD_LOGIC;CLK_IN:INSTD_LOGIC;CLR:INSTD_LOGIC;CLK:OUTSTD_LOGIC);ENDCOMPONENTSXKZ;COMPONENTXSKZISPORT(CLK:INSTD_LOGIC;CLR:INSTD_LOGIC;LED:OUTSTD_LOGIC_VECTOR(15DOWNTO0));ENDCOMPONENTXSKZ;SIGNALS1:STD_LOGIC;BEGINU1:SXKZPORTMAP(CHOSE_KEY,CLK_IN,CLR,S1);U2:XSKZPORTMAP(S1,CLR,LED);ENDARCHITECTUREART;2.4系统仿真/硬件验证2.4.1系统的有关仿真时序控制电路SXKZ、显示控制电路XSKZ及整个电路系统CDKZQ的仿真图分别如图2.2、图2.3和图2.4所示。图2.2时序控制电路SXKZ仿真图图2.3显示控制电路XSKZ仿真图图2.4整个电路系统CDKZQ仿真图2.4.2系统的硬件验证系统通过仿真后,我们可根据自己所拥有的EDA实验开发系统进行编程下载和硬件验证。考虑到一般EDA实验开发系统提供的输出显示资源有限,我们可将输出适当调整后进行硬件验证。2.5设计技巧分析(1)在时序控制电路SXKZ的设计中,利用计数器计数达到分频值时,对计数器进行清零,同时将输出信号反向,这就非常简洁地实现了对输入基准时钟信号的分频,并且分频信号的占空比为0.5。(2)在显示控制电路XSKZ的设计中,利用状态机非常简洁地实现了六种花型的循环变化,同时利用六个十六位常数的设计,可非常方便地设置和修改六种花型。(3)对于顶层程序的设计,因本系统模块较少,既可使用文本的程序设计方式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026春招:徐工集团笔试题及答案
- 2026年桥梁工程造价预算的制定与控制
- 贷款顾问培训课件
- 货运安全宣传教育培训课件
- 护理教学新方法研究
- 互联网医疗平台发展趋势
- 护理人员职业发展规划与培训实践
- 护理专业英语阅读与翻译能力提升
- 2026年河北旅游职业学院高职单招职业适应性测试参考题库有答案解析
- 医疗机构品牌战略规划
- 广东省深圳市福田区五校2024-2025学年九年级上学期期末(一模)化学试题(含答案)
- 承包商安全考核实施细则
- 2026年湖南财经工业职业技术学院单招职业技能测试题库及答案详解1套
- 西南名校联盟2026届“3+3+3”高考备考诊断性联考(一)英语试卷
- 干旱灾害课件
- PCOS卵泡微环境的干细胞重塑策略
- 《马原》期末复习资料
- 保乳术后放疗剂量分割方案优化
- 雨课堂学堂在线学堂云高等药理学 中国药科单元测试考核答案
- 2026-2031中国户外用品行业现状分析及前景预测报告
- 矛盾纠纷调解课件
评论
0/150
提交评论