EDA技术及其应用彩灯控制器设计方案_第1页
EDA技术及其应用彩灯控制器设计方案_第2页
免费预览已结束,剩余8页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、EDA 技术课程设计 题目 EDAEDA 技术及其应用 彩灯控制器设计 姓名:JxairyJxairy 院 系: 电子信息工程 学系 专 业:通信工程 班级:091 学 号:910705131910705131 指导教师: * 20122012 年 0101 月 成绩 指导教 师: _ 日期: _ EDA 技术及其应用 彩灯控制器设计 Jxairy (电子信息工程学系 指导教师:*) 0 引言 随着电子技术的发展,应用系统向着小型化、快速化、大容量、重量轻的方向发展, EDA(Electro nicDesign Automatic) 技术的应用引起电子产品及系统开发的革命性变革。 VHDL 语

2、言作为可 编程逻辑器件的标准语言描述能力强,覆盖面广,抽象能力强,在实际应用中越来越广泛。在这个阶 段,人们开始追求贯彻整个系统设计的自动化,可以从繁重的设计工作中彻底解脱出来,把精力集中在 创造性的方案与概念构思上,从而可以提高设计效率,缩短产品的研制周期。整个过程通过 EDA 工具自 动完成,大大减轻了设计人员的工作强度,提高了设计质量,减少了出错的机会。 本文介绍应用美国 ALTERA 公司的 MAX+PLUS 平台,使用 VHDL 硬件描述语言实现的彩灯控制器设 计。 1 设计目的 随着科学技术的发展以及人民生活水平的提高,在现代生活中,彩灯作为一种装饰,既可以给人们 带来视觉上的冲击

3、,制造耳目一新的广告宣传,又可以增添节日气氛,为人们的生活增添亮丽,用在舞 台上增强晚会灯光效果。本设计就是应用 EDA 技术,使用 VHDL 硬件描述语言设计的一种简易的彩灯控制 器。 2 设计要求 1) 有 6 种花型变化。 2) 多种花型可以自动变化,循环往复。 3) 彩灯变化的快慢节拍可以选择。 4) 具有清零开关。 3 系统设计方案 根据系统设计要求,设计一个具有 6 种花型循环变化的彩灯控制器。整个系统共有三个输入信号: 控制彩灯节奏快慢的基准时钟信号 CLK_IN,系统清零信号 CLR 彩灯节奏快慢选择开关 CHOSE_KEY 共有 16 个输出信号 LED15.O,分别用于控制

4、 16 路彩灯。 由方案综合分析,系统设计采用自顶向下的设计方法。本设计将整个彩灯控制器 CDKZQ 分为两大部 分:时序控制电路 SXKZ 和显示控制电路 XSKZ 4 模块综合 整个系统的组成的模块原理图如图 01 所示: 图 01模块组合原理图 5 各模块设计过程 5.1 模块清单 本次设计分为一个综合设计和两个大的子模块,即彩灯花样控制器、时序控制电路、显示控制电 路。 5.2 端口简介 CLK0-控制彩灯节奏快慢的基准时钟信号 CLR-系统清零信号 CHOSE_KEY 彩灯节奏快慢选择开关 LED15.O 16 个输出信号 5.3 模块设计 5.3.1 文本设计的流程: (1) 新建

5、文本:选择菜单 File 下的 New,在框中选中“ Text Editor file”,按“ OK”按钮,即选中 了文本编辑方式。 (2) 另存为.VHD 编辑文件,依次命名为“ SXKZ.VHD ”、“ XSKZ.VHD ”、“ CDSJ.VHD ”等。 (3) 在相应的编辑窗口中输入相应模块的设计的 VHDL 源程序 (4) 设置当前文本:在 MAX+PLUS II中,在编译一个工程前,必须确定一个设计文件作为当前工 程。按下列步骤确定工程名:在 File 菜单中选择 Project 中的 Name 选项,将出现 Project Name 对话框: 在 Files 框内,选择当前的设计文

6、件。单击“ OK ”。 (5) 打开编译器窗口:在 MAX plus n菜单内选择 Compiler 项,即出现如图的编译器窗口。 图 02编译器窗口 选择 Start 即可开始编译,MAX+PLUS II编译器将检查工程是否有错,并对工程进行逻辑综合,然后 配置到一个 Altera 器件中,同时将产生报告文件、编程文件和用于时间仿真用的输出文件。 (6) 建立波形编辑文件:选择菜单 File 下的 New 选项,在出现的 New 对话框中选择Waveform Editor File ”,单击 OK 后将出现波形编辑器子窗口。 (7) 仿真节点插入:选择菜单 Node 下的 Enter Nod

7、es from SNF 选项,出现选择信号结点对话框。单 击右上侧的“ List”按钮,在左边的列表框选择需要的信号结点,然后单击中间的“ =”按钮,最后单击 “OK ”,选中的信号将出现在波形编辑器中。 (8) 输入波形设置,保存波形文件,文本仿真:单击菜单 File 下的 Save 选项,在弹出的窗口中将 波形文件存在以上的同一目录中,文件分别取名为 sxkz.scf、xskz7.scf、cdsj.scf。单击 MAX Plusn菜单 内选择 Simulator 选项,单击 Start,接着打开 Open SCF,即完成对以上实验的波形仿真。 5.3.2 原理图设计的流程: (1 )新建原

8、理图:“ File”f“ New”宀“ Graphic Editor file”宀“ OK”,即选中了原理图设计方 式。 (2)使用库模块和自定义模块,搭建设计原理图并命名保存。 (3 )编译工程、建立波形编辑文件、仿真节点插入、输入波形设置、波形仿真、原理图仿真均与文 本设计相似,这里不重复赘述。 5.3.3 时序控制电路模块的设计分析: 时序控制电路模块主要是产生时间脉冲,为设计提供必要的时间基准。本模块使用文本设计进行设 计,模块以CLK0 作为控制彩灯节奏快慢的时钟信号基准,以 CLR 作为模块和设计的清零信号。通过设计 一个 CHOSE_KE 端口来作为彩灯的节奏快慢选择的开关,以控

9、制彩灯的流动节奏。该程序设计为综合设 计提供了可变动的时间脉冲,模块的设计图如图 03 所示: SXKZ CHOSE.KrY CI_K(9 CLK CLR 8 图 03时序控制模块原理图 5.3.4 显示控制电路模块的设计分析: 显示控制电路模块是控制设计的彩灯流动显示的关键模块,控制着彩灯的流动方式。本模块使用文 本设计进行设计,设计的时间脉冲由时序控制模块的输出 CLK 提供,以保证设计的彩灯快慢节奏得以控 制。 共有 16 个输出信号 LED15.0,分别用于控制 16 路彩灯。 该程序设计为综合设计提供了彩灯流动花 型输出的基础,模块的设计图如图所示: XSKZ : - CILK LE

10、DX5 0 ! : - CILR 图 04显示控制模块原理图 5.3.5 彩灯控制器设计模块整合分析: 彩灯控制器电路是整个设计的核心,它控制整个设计的输出效果也就是图案的样式变化。彩灯控制 器的设计可以使用原理图设计方法进行设计,也可以使用文本设计方法进行设计。在电路中用 1 代表灯 亮,用 0 代表灯灭,由 0、1 按不同的规律组合代表不同的灯光图案,同时由时序模块可以选择不同的频 率,以实现多种图案及多种频率的花样功能显示。 该程序充分证明了用 VHDL 设计电路的灵活性,即可以通过改变程序中输出变量的位数来改变彩灯 的数目。该彩灯控制器的综合设计模块设计图如图 05 所示: 图 05彩

11、灯设计综合原理图 6 调试分析 调试仿真时要设置适宜的波形时间(即仿真的时间长度、时钟周期),才能观察到较理想的设计仿 真现象。 6.1 时序控制模块的仿真调试分析 时序控制模块的波形时间设置为:结束时间: 1.0us 时钟周期:10.0 ns。 分析:当 CLR=1 时,TEMP=000,CLK=0 清零。 当 CLR=0 且时钟信号 CLK0 来到时,如表 01 所示 表 01 TEMP直的分析 CHOSE KEY TEMP 直的分析 如果 TEMP=011(即为 3),贝 U TEMP=000(即为 0)且 CLK 反转; 1 女口果 TEMP 不为 011,贝 U TEMP+1 0 如

12、果 TEMP=111(即为 7),则 TEMP=000(即为 0)且 CLK 反转; 奏快慢选择开关 CHOSE KEY 的变化对彩灯综合设计的彩灯变换速度的影响如表 02 所示。 女口果 TEMP 不为 111,贝 U TEMP+1 6.2 显示控制模块的仿真调试分析 显示控制模块的波形时间设置为:结束时间: 5.0us 时钟周期:100.0 ns。 图 07显示模块的波形仿真图 依次循环。 6.3 彩灯设计的仿真调试分析 彩灯综合设计的仿真调试如图 08 所示: 一丄 59B 2492 X M92 )(2D9A )(B4D3 )A6B6 )(D59B ) 2492 )(A492 pD9A

13、JB4D3 (A6B6 (D59B) D59BJ 2492 X A492 X 2D9A J B4D3 X A6B6 )( D59B 2492 X A492 pD9A X 04D3 XA6B6 (D59B) S1 (X S3 X S4 X S6 X S6 X S1 X 32 X S3 )(S4 X 85 X S6 X J HOOOO HOOOO 显示模块的仿真调试如图 07 所示: Ref 0.0ns | + +1 Time 0 Qns Interval: 0 0ns Nnriie: Value: 1 _ 100 0ns 1 200 0ns 分析:当系统清零信号 CLR 为 1 时 CURREN

14、T STA TE 为 S0。 当系统清零信号 CLR 为 0 且时钟信号 CLK 来到时: CURRENT STATE 为 S1 时, CURRENT STATE 为 S2 时, CURRENT STATE 为 S3 时, CURRENT STATE 为 S4 时, CURRENT STATE 为 S5 时, CURRENT STATE 为 S6 时, 的下一个状态 S2, LED 输出为 2492 ; 的下一个状态 S3, LED 输出为 A482 ; 的下一个状态 S4, LED 输出为 2D9A ; 的下一个状态 S5, LED 输出为 B4D3 ; 的下一个状态 S6, LED 输出为

15、 A6B6 ; 的下一个状态 S1, LED 输出为 D59B ; 彩灯综合设计的波形时间设置为:结束时间: 10.0us 时钟周期:100.0ns。 L 佔cf - Waveform Editor 0 1- CLR TCLK LED dk LIGHT 抄 RENT STATE CURRENT STATE CURRENT STATE CURRENT STATE CURRENT STATE CURRENT STATE CURRENT STATE 奏快慢选择开关 CHOSE KEY 的变化对彩灯综合设计的彩灯变换速度的影响如表 02 所示。 图 08彩灯综合设计的波形仿真 CLK0 的时钟脉冲条件

16、下,系统清零信号 CLR、彩灯节Ref 210.0ns |+ | +1 Time: 234 0ns Interval: 24.0ns 210.0ns Hl Name: Va|ue: I I 500.0ns 1.0us 1.5us 2.0us 1 I 2.5us I 3.Ous I 3.Sus I 4. CLR _z-CLK0 CHOSE_KEY LED / RENT STATE H 0000 s 0000 分析:在控制彩灯节奏快慢的基准时钟信号 1 1 飞 cdsj.scf - Waveform Editor STD LOGIC -当 CLR= 1时清零,否则正常工作 表 02彩灯综合设计分析

17、表 CLR CHOSE_KEY 彩灯变换速度 0 0 系统清零 1 CURRENT STA TE 为 S0 1 0 慢 1 快 7 结束语: 本次 EDA 课程设计时间虽然很短暂,但却受益匪浅。通过这次课程设计的实验使我对 EDA 技术及应 用路这门课程有了更深的了解,其次巩固了使用 EDA 技术进行电子设计的步骤思路。最后让我更加明白 理论与实际相结合的重要性,单纯地理论知识储备是远远不够的,只有把理论知识与实践相结合起来, 才能真正提高自己的实践能力和独立思考的能力。通过模块调试分析,发现问题,解决问题,一直循环 的设计流程,最后完成各模块的设计。 使用 VHDL 语言设计电路,思路简单,

18、功能明了。使用 Max+Plus n设计电路不仅可以进行逻辑仿真, 还可以进行时序仿真。简而言之,采用 EDA 技术使得复杂的电子系统的设计变的简单易行,提高了设计 的效率。 总体来说,此次彩灯控制器设计还是比较成功的,达到了理论与实际相结合的目的。 参考文献: 1 王金明 冷自强.EDA技术与 Verilog 设计M.北京:科学出版社,2008. 2 章彬宏 周正林.EDA应用技术M.北京:北京理工大学出版社, 2007. 3 赵明福 李立军.EDA技术基础M.北京:北京大学出版社, 2007. 4 赵明福田泽正石新峰.EDA技术与实践M.北京:清华大学出版社,2005. 5 谭会生 张昌凡

19、. EDA 技术及应用 M. 西安:西安电子科技大学岀版社, 2001. 附 录 (1 )时序控制电路的 VHDL 源程序: CLK : OUT LIBRARY IEEE。 STD_LOGIC) USE IEEE.STD_LOGIC_ _1164.ALL。 END SXKZ USE IEEE.STD_LOGIC_ UNSIGNED.ALL ARCHITECTURE ART OF SXKZ IS ENTITY SXKZ IS SIGNAL CK : STD_LOGIC。 PORT( BEGIN CHOSE_KEY : IN PROCESS (CLK0, CLR,CHOSE_KEY) STD_LO

20、GIC VARIABLE TEMP CLK0 IN STD_LOGIC_VECTOR(2 DOWNTO 0) STD_LOGIC BEGIN CLR IN IF CLR=1 THEN STD LOGIC LIGHT=L1 。 LED OUT CK=0。 TEMP:=OOO。 ELSIF (CLKOEVENT AND CLKO=1) THEN IF (CHOSE_KEY=1)THEN IF TEMP=011 THEN TEMP:=OOO 。 CK=NOT CK 。 ELSE TEMP:=TEMP+1。 END IF 。 -当 CHOSE_KEY= 1 时产生基准时钟频率的 1/4 的时钟信号,否

21、则产生基准时钟频率的 1/8 的时钟信号 ELSE IF TEMP=111 THEN TEMP:=OOO 。 CK=NOT CK 。 ELSE TEMP:=TEMP+1 。 END IF 。 END IF 。 END IF 。 END PROCESS CLK=CK END ART (2 )显示控制电路的 VHDL 源程序: LIBRARY IEEEo USE IEEE.STD_LOGIC_1164.ALL。 ENTITY XSKZ IS PORT( CLK : IN STD_LOGIC CLR : IN STD_LOGIC_VECTOR(15 dow nto 0)。 END entity XS

22、KZ。 ARCHITECTURE ART OF XSKZ IS TYPESTATE IS(S0,S1,S2,S3,S4,S5,S6)。 SIGNAL CURRENT_STATE: STATE SIGNAL LIGHT: STD_LOGIC_VECTOR(15 DOWNTO 0) BEGIN PROCESS (CLR, CLK)IS CONSTANT L1:STD_LOGIC_VECTOR(15 DOWNTO 0):=0010010010010010。 CONSTANT L2:STD_LOGIC_VECTOR(15 DOWNTO 0):=1010010010010010。 CONSTANT L3

23、:STD_LOGIC_VECTOR(15 DOWNTO 0):=0010110110011010。 CONSTANT L4:STD_LOGIC_VECTOR(15 DOWNTO 0):=1011010011010011。 CONSTANT L5:STD_LOGIC_VECTOR(15 DOWNTO 0):=1010011010110110。 CONSTANT L6:STD_LOGIC_VECTOR(15 DOWNTO 0):=1101010110011011。 -六种花型的定义 BEGIN IF CLR=1 THEN CURRENT_STATE LIGHT=ZZZZZZZZZZZZZZZZ。 CURRENT_STATECHOSE KEY : IN STD L

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论