EDA课程设计交通灯控制系统设计.doc

上传人:文库蛋蛋多 文档编号:4144089 上传时间:2023-04-07 格式:DOC 页数:39 大小:1.22MB
返回 下载 相关 举报
EDA课程设计交通灯控制系统设计.doc_第1页
第1页 / 共39页
EDA课程设计交通灯控制系统设计.doc_第2页
第2页 / 共39页
EDA课程设计交通灯控制系统设计.doc_第3页
第3页 / 共39页
EDA课程设计交通灯控制系统设计.doc_第4页
第4页 / 共39页
EDA课程设计交通灯控制系统设计.doc_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《EDA课程设计交通灯控制系统设计.doc》由会员分享,可在线阅读,更多相关《EDA课程设计交通灯控制系统设计.doc(39页珍藏版)》请在三一办公上搜索。

1、EDA课程设计 交通灯控制系统设计l 姓 名:许朝亮l 专 业: 应用电子技术 l 班 级:101l 课程设计题目:交通灯控制系统l 指 导 教 师:l 学 号:l 设 计 时 间:2012-01-(0411)前言电子设计自动化(EDA)是近几年迅速发展起来的计算机软件、硬件和微电子技术交叉形成的现代电子设计技术,其含义已经不局限在当初的类似Protel电路版图设计自动化的概念,目前EDA技术更多的是指芯片内的电路设计自动化。也就是说,开发人员完全可以通过自己设计电路来定制其芯片内部的电路功能,使之成为专用集成电路(ASIC)芯片,这就是当今的用户可编程逻辑器件(PLD)技术。目前,在世界范围

2、内,可编程逻辑器件受到了业界的普遍欢迎,在近几年得到了迅速的发展,其集成度和工作速度不断提高,功能不断完善,已经成为当今实现电子系统集成化的重要工具。因此,EDA技术势必成为广大电子信息工程技术人员必须掌握的技术,运用EDA技术设计电子系统也是一个电子工程师必备的技能。随着交通工具的迅速发展,私家车辆是越来越多,道路已经变得十分拥堵,因此这对那些十字路口的红绿灯要求十分严格,红绿灯能否正常运行关系到交通事故和驾驶员、行人的生命安全,因此交通灯的设计将会变得十分严格,决不允许有半点的差错,这就要求设计人员具有崇高的电子信息工程技术知识和设计思想,具有非常细心的设计态度。目录1绪论- 1 1.1简

3、介- 1 1.2EDA 发展历程- 1 1.3摘要- 1 2. QuartusII6.0 的使用方法- 2 3. 交通灯的设计目的和要求- 19 3.1设计目的- 19 3.2设计要求- 19 4 交通的设计分析- 20 4.1 设计思路- 20 4.2整体设计方案框架图- 21 4.3交通灯控制器状态控制表- 21 4.4设计流程图- 21 5 分频模块235.1 分频模块的功能- 23 5.2 分频模块的源程序- 23 5.3 分频模块的功能仿真图- 24 6. 控制模块246.1控制模块功能- 24 6.2 控制模块源程序- 25 6.3 控制模块功能仿真图- 26 7. 选择模块- 2

4、6 7.1 选择模块的功能- 26 7.2 选择模块的源程序- 27 7.3 选择程序的功能仿真图- 29 8. LED显示模块- 30 8.1 LED显示模块的功能- 30 82 LED显示模块的源程序- 30 8.3 LED显示模块的功能仿真图- 31 9. 顶层文件原理图设计329.1顶层文件原理图- 32 9.2 顶层原理图的功能仿真波形图- 33 10.交通灯的测试结果- 34 11.课程设计总结- 35 参考文献- 36 1绪论1.1简介 电子设计自动化(Electronic Design Automation ,EDA)技术以计算机为基础工作平台,以微电子技术为物理基础,以现代电

5、子设计技术为灵魂,采用计算机软件工具,最终实现电子系统或专用集成电路(ASICA)的设计。EDA技术的使用者包括两类:一类是专用集成电路芯片的设计研发人员;另一类是广大电子线路设计人员。EDA技术可简单概括为以大规模可编程逻辑器件为设计载体,通过硬件描述语言或逻辑图输入给相应EDA开发软件,经过编译和仿真,最终将设计的电路下载到设计载体中,从而完成系统设计任务的一门新技术。 1.2EDA 发展历程从目前的EDA技术来看,其发展趋势是政府重视,使用普及、应用广泛、工具多样、软件功能强大。随着微电子技术与工具软件的发展,EDA技术的硬件载体、软件开发工具与设计输入方式都发生了很大的变化。1.3摘要

6、本课程设计侧重于逻辑电路设计同时采用VHDL硬件描述语言辅助完成对十字路口交通灯电路的功能仿真。在设计过程中,重点探讨了交通灯控制系统的设计思路和功能模块的划分,对设计过程中出现的问题详细进行分析。系统主要由四个模块组成: 分频模块、控制模块、选择模块、数码显示模块。关键词:交通灯 功能模块 VHDL语言2. QuartusII6.0 的使用方法启动Quartus II6.0双击桌面上的Quartus II6.0图标或单击“开始”按钮并在程序菜单中选择Quartus II6.0,可以启动Quartus II6.0.编辑文件(1)单击菜单栏中的FileNew命令,打开“New”对话框,用于输入文

7、件类型。(2)单击“New”对话框中的Device Design Files选项卡,选择输入文件的类型。这里选择“Block Diagram/Schematic File”,选好后单击“OK”按钮,打开图形编辑窗口。输入原理图(1)右击鼠标,弹出快捷菜单,点击“Insertsymbol”,会出现一个输入原理符号的窗口(2)右击鼠标,弹出快捷菜单,点击“Insertsymbol”,会出现一个输入原理符号的窗口。本实训中所用的原件74151、74161在othersmaxplus2库中,输入端口信号、输出端口信号在primitivespin中,电源信号(VCC)、接地信号(GND)在primiti

8、vesother库中。在画连线时,把光标置于端口处,当出现十字形时按下左键进行画线。其余的操作与Protel相似。(3)保存所建立的文件,将该文件保存到D盘design文件夹中,文件名为ex1-v。创建工程(1)打开创建工程向导A:单击Filenew preject wizard菜单,出现新建工程向导的对话框,B:单击”Nex”按钮,出现工程基本设置对话框。C:在最上面的输入框中输入工作库文件夹的地址,这里用的地址是D:Dsigns,单击旁边浏览按钮,选择所需的设计文件。D:输入该工程的名称,一般可以用顶层文件的名称作为工程名称,这里的顶层文件名是ex1-v。最下面的文件名输入框要求输入顶层设

9、计文件实体的名称,这里顶层文件的实体的名称也是ex1-v。单击“打开”按钮,会出现一个工程设置完成对话框。(2)将设计文件加入工程中单击“Nex”按钮,弹出添加文件对话框,将与本工程有关的文件加入,(3)选择目标芯片单击“Nex”按钮,打开选择目标芯片的对话框,根据系统设计的实际需要选择目标芯片。首先在Family栏选择芯片系列,这里选择Cylone系列的EP1C3T144C8芯片。(4)选择仿真器和综合器类型.A:单击“Nex”按钮,弹出选择仿真器和综合器对话框。B:单击“Nex”按钮,弹出工程设置统计窗口。最后单击“Finish”按钮,结束设置。目标芯片的配置。(1)选择目标芯片,单击菜单

10、栏中的AssignmentsDevice命令,弹出一个对话框,选择Category下的Device选项,然后在右侧选择目标芯片EP1C3T144C8。(2)选择目标器件编程配置方式单击“Device& pin options.”按钮进入器件管脚操作对话框。首先选择Configuration方式为passive serial,这种方式可以直接由PC机配置。(3)选择输出配置单击“programming files”选项卡,可以选“hexadecimal”,即产生下载文件的同时,产生十六进制配置文件。(4)选择目标器件闲置引脚的状态单击“unused pins”选项卡,可根据实际需要选择目标器件空

11、闲管脚的状态。编译(1)编译单击菜单栏中的processingstart compilation命令,启动编译(2)阅读编译报告编译成功后可以看到编译报告。仿真(1)建立波形文件仿真前必须建立波形文件。单击filenew命令,打开文件选择窗口,然后单击“other files”选项卡,选择其中的“vector waveform file”选项。(2)打开波形编译器 单击“OK”按钮,即出现空白的波形编辑窗口(3)输入信号节点。A: 单击viewutility windowsnode finder 命令,打开输入信号节点对话框。在该对话框的filter栏中选pins:all,然后单击“list”

12、按钮,在下方的“nodes found”列表框中会出现设计工程的所有端口引脚名。B:。用鼠标输入节点,逐个拖到波形编辑窗口。然后单击关闭按钮,关闭“node finder”对话框。(4)编辑输入波形分别给输入管脚编辑波形,给输入信号添加脉冲波形。(5)启动仿真及阅读仿真报告单击菜单栏中的processingstart simulation命令,即可启动仿真器,生成仿真波形图。指定芯片管脚(1) 单击菜单栏中的Assignmentspin,打开芯片管脚编辑对话框。(2) 双击芯片的管脚,弹出“Pin properties”对话框。给管脚添加相应的信号。3. 交通灯的设计目的和要求3.1设计目的(

13、1)掌握数字系统的设计流程;(2)掌握利用原理图与VHDL混合设计数字系统的方法;(3)掌握交通灯的设计原理与设计实现。3.2设计要求1、能显示十字路口东西、南北两个方向的红、黄、绿灯的指示状态,用两组红、黄、绿三色灯作为两个方向的红、黄、绿灯。2 、能实现正常的倒计时功能,用两组数码管作为东西、南北方向的倒计时显示,显示时间为红灯45秒,绿灯40秒,黄灯5秒。3、能实现特殊状态的功能。按S1键后,能实现以下特殊状态:(1)显示倒计时的两组数码管闪烁。(2)计数器停止计数并保持在原来的状态。(3)东西、南北路口均显示红灯状态。(4)特殊状态解除后能继续计数。4、能实现总体清零功能。按下SB键后

14、,系统实现总体清零,计数器由初状态计数,对应状态的指示灯亮。5、用VHDL语言设计上述功能的交通灯控制器,并用层次化的方法设计该电路。6、完成电路全部设计后,通过系统实验箱下载严重所设计课题的正确性。4 交通的设计分析4.1 设计思路本实验中主要应用了状态机以及减法器的设计原理。在状态连续变化的数字系统设计中,采用状态机的设计思想有利于提高设计效率,增加程序的可读性,减少错误的发生几率。其中,主要模块包括分频模块、控制模块、选择模块、数码显示模块。各个模块先用EDA技术中的VHDL语言编程仿真,再生成各个模块的模拟元件,最后根据设计连接电路生成顶层原理图文件十字路口交通灯系统。4.2整体设计方

15、案框架图4.3交通灯控制器状态控制表状态主干道支干道时间/S1绿灯亮红灯亮402黄灯亮红灯亮53红灯亮绿灯亮404红灯亮黄灯亮54.4设计流程图在程序流程图中,GA、RA、YA表示A支路的绿灯、红灯、黄灯,GB、RB、YB表示B支路的绿灯、红灯、黄灯,S表示特殊功能按键,T表示计时的时间。5 分频模块5.1 分频模块的功能 该模块的功能是将时间256分频,得到占空比为1:256的方波。以达到将交通灯的电亮时间预置到分频电路中。5.2 分频模块的源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;

16、entity m isport ( clk : in std_logic; - - 时钟信号输入端;d: out std_logic; sel: buffer std_logic_vector(2 downto 0);- -sel端输出;end;architecture one of m issignal a : std_logic_vector(7 downto 0);- - 定义变量a;beginprocess(clk)beginif clk event and clk =1 then a=a+1;sel=sel+1;end if;- - 上升沿有效end process;dyyy=000

17、0;end case; end process;end;6.3 控制模块功能仿真图说明:由上图得到sel的8个数,在这里分成了000,001和others三种结果,分别控制shi,ge和清零的三种状态。7. 选择模块7.1 选择模块的功能该模块为整个程序的核心,它实现东西和南北方向的三种交通灯颜色的交替点亮、时间的倒计时。7.2 选择模块的源程序library ieee; use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity xuanze isport(clk,clr:in std_logic;- -时钟和清零信号

18、的输入;dx,nb:out std_logic_vector(2 downto 0);shi1,ge1:out std_logic_vector(3 downto 0) );end;architecture ad of xuanze issignal shi,ge:std_logic_vector(3 downto 0);- - 十位,个位的定义;type fsm_st is (s1,s0,s2,s3);signal state :fsm_st;beginprocess(clk,clr)beginif clr=1then state=s0;ge=0000;shidx=100;nb=001;if

19、 ge=0000 then if shi=0000 then state=s1;ge=0101;shi=0000;else shi=shi-1;ge=1001;end if;else gedx=100;nb=010;if ge=0000 then if shi=0000 then state=s2;ge=0000;shi=0100;else shi=shi-1;ge=0000;end if;else gedx=001;nb=100;if ge=0000 then if shi=0000 then state=s3;ge=0101;shi=0000;else shi=shi-1;ge=1001;

20、end if;else gedx=010;nb=100;if ge=0000 then if shi=0000 then state=s0;ge=0000;shi=0100;else shi=shi-1;ge=0101;end if;else ge=ge-1;end if;end case;end if;shi1=shi;ge1yyyyyyyyyyyyyyyy=01000000;end case; end process; end;8.3 LED显示模块的功能仿真图说明:当由上面的程序确定q值时,显示模块通过判断q值,把对应的值赋值给y,由数码管输出可以看到的数字。9. 顶层文件原理图设计9.

21、1顶层文件原理图9.2 顶层原理图的功能仿真波形图图1:说明:图1显示的是nb=010,dx=100时,sel控制的是十位数为4,个位数为0;由图可以看到sel=001时,y=01100110;led数码管显示的是40的数字,图2:说明:图2显示的是nb=001,dx=100时,Sel控制的是个位为5,十位数为0;由图可以看到sel=000时,y=01101101;led数码管显示的是05的数字。 10.交通灯的测试结果 经过测试得到如下结论: 当东西方向亮红灯时,南北方向同时亮灯;南北方向黄绿灯交替点亮,红灯45秒倒计时,黄灯5秒倒计时之后,绿灯40秒倒计时;当两个方向的数码管同时为零时,南

22、北方向亮红灯,东西方向同时亮灯;东西方向黄绿灯交替点亮,红灯45秒倒计时,黄灯5秒倒计时之后,绿灯40秒倒计时;当两个方向的数码管同时为零时;重复上述过程,当clk信号不断输出时,结果无限循环下去。说明本程序能完成交通灯的基本工作。11.课程设计总结一周的课程设计结束了,通过这次设计,更加熟悉Quartus II6.0的使用方法和VHDL硬件描述语言的特点,使我的理论知识掌握得更扎实,动手能力明显提高。我们小组一共9个人,我们采取分工去完成任务,两个人一小组,我主要负责显示模块这方面。我们通过分工协作,最后一起共同完成了这次课程设计任务,这次课程设计促进了我们小组分工和协作的能力,组与组之间相

23、互讨论,形成最终的结果。在设计过程中,我们有遇到过困难,我们课间、晚上的时间通过上网搜索,查找资料解决困难,有时真无法解决的就请教老师。在这次课程设计过程中,我们学会了利用许多方法解决所遇到的困难。这次设计,让我感受最深的是:在设计的阶段遇到的问题,我们一定要细心,有时一个程序就因为标点符号的不对,导致程序编译不成功,其次,要具备检查、排除故障的能力。这次课程设计,我深刻认识到了“理论联系实际”的这句话的重要性与真实性。平常的我们也在机房进行练习,但那时的我就纯粹为了敲一个程序,照书抄,然后编译,根本不知道其所然,不知道该程序所表示的功能。通过这次课程实际,我不但知道以前不知道的理论知识,而且

24、也巩固了以前知道的知识,了解了程序所表示的功能。在本次设计中,我们完成本系统设计的要求及功能。在设计开始前我们对各个模块进行了详细的分析和设计准备工作,在设计过程中,我们根据每个人对知识掌握的程度进行搭配分工。由于时间的仓促和水平的有限,我们这次课程设计只能进行分工完成,几个人负责一个模块,对我而言,知识上的收获很重要,精神上的风收更加可喜。此次设计,使我受益匪浅。老师严谨的治学态度和踏实的工作作风使我受益终身,以前来机房,老喜欢玩游戏,现在有时老师经常不在,我都很自觉,不在玩游戏,都在认真的去完成自己负责的模块。此次课程设计,在谢老师的辛勤指导下,我们小组积极讨论和思考,完成本次课程设计。一

25、周的时间感觉过得很快,谢老师的悉心指导和关怀让我刻骨铭心,我在这里对谢老师以及帮助我学习的同学表示深深的感谢!参考文献1潘松,黄继业。EDA技术应用教程。北京:科学出版社,20022焦素敏。EDA应用技术。北京:清华大学出版社,20053江国强。EDA技术与应用。北京:电子工业出版社,20054金西。VHDL与复杂数字系统设计。西安:西安电子科技大学出版社,20035谭会生。EDA技术综合应用实例与分析。西安:西安电子科技大学出版社,20076林明权,等。VHDL数字控制系统设计范例.北京:电子工业出版社,20057尹常永。EDA技术与数字设计系统。西安:西安电子科技大学出版社,20078顾斌,等。数字电子EDA设计。西安:西安电子科学出版社,20079王振红。VHDL数字电路设计与应用实践教程。北京:机械工业出版社,200310谭会生,张昌凡。EDA技术及应用。2版。西安:西安电子科技大学出版社,2004

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号