苏州市职业大学EDA交通灯控制系统 毕业论文设计.doc_第1页
苏州市职业大学EDA交通灯控制系统 毕业论文设计.doc_第2页
苏州市职业大学EDA交通灯控制系统 毕业论文设计.doc_第3页
苏州市职业大学EDA交通灯控制系统 毕业论文设计.doc_第4页
苏州市职业大学EDA交通灯控制系统 毕业论文设计.doc_第5页
免费预览已结束,剩余15页可下载查看

下载本文档

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

文档简介

苏州市职业大学电子信息工程学院实训报告目 录绪论- 1 -摘要- 2 -【eda】- 2 -【交通灯控制系统】- 2 -【硬件仿真】- 2 -第一章 eda 技术- 3 -1.1 eda技术简介- 3 -1.2 eda应用- 3 -1.3 eda技术设计方法- 3 -1.3.1由底向上(bottom-up)的设计方法- 3 -1.3.2自顶向下(top-down)的设计方法- 3 -第二章交通灯控制系统简介- 5 -2.1交通灯控制系统的应用场合- 5 -2.2交通灯控制系统的系统构成- 5 -2.3交通灯控制系统的作用- 6 -第三章 交通灯控制系统的设计- 7 -3.1设计目的- 7 -3.2设计要求- 7 -3.2.1基本要求- 7 -3.2.2附加要求- 7 -3.3设计思路- 7 -3.4设计流程图- 8 -3.5、器件下载编程与硬件实现- 9 -3.6设计步骤- 10 -3.7实验结果及波形图- 10 -3.7.1软件仿真图- 10 -3.7.2硬件仿真- 11 -第四章课程实训总结- 14 -附录:- 15 -参考文献- 18 -绪论电子设计自动化(eda)是近几年迅速发展起来的计算机软件、硬件和微电子技术交叉形成的现代电子设计技术,其含义已经不局限于在当初的类似protel电路版图设计自动化的概念,目前eda技术更多的是指芯片内部的电路设计自动化。也就是说,开发人员完全可以通过自己设计电路来定制其芯片内部的电路功能,使之成为专用集成电路芯片,这就是当今的用户可编程逻辑器件(pld)技术。试验目的:随着社会经济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。所以,如何采用合适的控制方法,最大限度利用好耗费巨资修建的城市高速道路,缓解主干道与匝道、城区同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。研究设想:根据主干道与支干道的交通流量不同,实际交通的需要,设定各个干道上红绿灯的闪亮时间不同。以达到合理分配交通时间,优化交通设计,减少事故的发生。实验设计:本设计采用较为广泛的eda技术,应用verilog hdl硬件电路描述语言,实现交通灯系统控制器的设计。预期结果应该能够满足主干道与支干道分配时间不同,规范交通秩序。eda技术就是以计算机为工具,设计者在eda软件平台上,用硬件描述语言vhdl完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。eda技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度下面我们将利用eda技术进行软件和硬件仿真,设计出交通灯的控制电路和交通灯的控制系统,从现实实例中展现出交通灯的应用。摘要【eda】eda是电子设计自动化(electronic design automation)的缩写,在20世纪60年代中期从计算机辅助设计(cad)、计算机辅助制造(cam)、计算机辅助测试(cat)和计算机辅助工程(cae)的概念发展而来的。【交通灯控制系统】路口交通灯控制系统与其他控制系统一样,划分为控制器和受控电路两部分。控制器使整个系统按设定的工作方式交替指挥车辆及行人的通行,并接收受控部分的反馈信号,决定其状态转换方向及输出信号,控制整个系统的工作过程。路口交通灯控制系统的东西路有交通灯r(红)、y(黄)、g(绿);东西人行安全通道灯:rxr(红)、rxg(绿)。南北路有交通灯:(红)、(黄)、(绿);南北人行安全通道灯:rxr1(红)、rxg1(绿),所有灯均为高电平点亮。设置通行时间和转换时间的变模定时电路,由预置输入整数cnt决定,输入逻辑cx是用来决定计数清零。clk是外部提供的基准秒脉冲信号。【硬件仿真】在进行硬件测试时,按键k1对应复位端reset,按键k2对应紧急开关urgent。eda实验开发系统上的时钟cp2对应计数时钟clk,数码管m3、m4对应东西走向的时钟显示。led灯l16、l15、l14对应东西走向的绿灯g1、黄灯y1、红灯r1。数码管m1、m2对应南北走向的时钟显示。led灯l1、l2、l3对应南北走向的绿灯g2、黄灯y2、红灯r2。第一章 eda 技术1.1 eda技术简介eda是电子设计自动化(electronic design automation)的缩写,在20世纪90年代初从计算机辅助设计(cad)、计算机辅助制造(cam)、计算机辅助测试(cat)和计算机辅助工程(cae)的概念发展而来的。eda技术就是以计算机为工具,设计者在eda软件平台上,用硬件描述语言hdl完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。1.2 eda应用eda技术在教学、科研、产品设计与制造等方面都发挥着巨大的作用。在教学方面,几乎所有理工科院校的电子信息类专业都开设了eda课程,主要目的是让学生了解eda的基本概念和基本原理,掌握用hdl语言编写规范的程序,掌握逻辑综合的理论和算法,使用eda工具进行电子电路课程的实验并进行简单系统的设计,为今后工作打下基础。在科研方面,主要利用电路仿真工具(ewb或pspice)进行电路设计与仿真,利用虚拟仪器进行产品测试,将cpld/fpga器件实际应用到仪器设备中,从事pcb设计和asic设计等。1.3 eda技术设计方法 1.3.1由底向上(bottom-up)的设计方法自底向上法是根据系统功能要求,从具体的器件、逻辑部件或者相似系统开始,凭借设计者熟练的技巧和丰富的经验通过对其进行相互连接、修改和扩大,构成所要求的系统。该方法是从底层即具体元件开始的,实际上无论是取用已有的模块还是自行设计电路,其设汁成本和开发周期都优于自顶向下法;但由于设计是从最底层开始,所以难以保证总体设计的最佳性,例如电路结构不优化、能够共用的器件没有共用。1.3.2自顶向下(top-down)的设计方法自顶向下的设计方法利用功能分割手段,将设计由上到下进行层次化和模块化分割,即对系统进行分层次(总系统层、子系统层、功能块层、电路逻辑块层等)设计和仿真。功能分割时,将系统功能分解为功能块,功能块再分解为逻辑块,逻辑块再分解为更小的逻辑块和电路元件,如此分割逐步地将设计细化,将功能逐步具体化、模块化。这种设汁是逐渐逼近于具体电路的。图1-1自顶向下的设计方法图1-2数字系统结构框图第二章 交通灯控制系统简介随着社会的发展,车辆越来越多,交通事故的发生已经严重的影响到了百姓的安全。所以,交通灯的出现已经极大力度的减少了事故的发生,交通灯在生活中已经变得越来越重要,严格的遵守交通灯的指挥,可以维持公共交通秩序,为国民的生活提供保障。然而交通灯的设计也是比较繁琐的,所以利用eda技术可以十分有效的设计出交通灯的控制系统。2.1交通灯控制系统的应用场合随着现在车辆的增多,不少车辆违法行驶,严重影响交通秩序,因此交通灯一般大多数应用在以下路口。a、 十字路口b、 人流量比较大的路口c、车辆行驶比较多的路口d、车辆多、发生堵车的情况等2.2交通灯控制系统的系统构成路口交通灯控制系统与其他控制系统一样,划分为控制器和受控电路两部分。控制器使整个系统按设定的工作方式交替指挥车辆及行人的通行,并接收受控部分的反馈信号,决定其状态转换方向及输出信号,控制整个系统的工作过程。按照路口交通运行的实际情况,在本系统中,设定系统的工作情况如下。 路口交通灯控制系统的东西路有交通灯r(红)、y(黄)、g(绿);东西人行安全通道灯:rxr(红)、rxg(绿)。南北路有交通灯:r1(红)、y1(黄)、g1(绿);南北人行安全通道灯:rxr1(红)、rxg1(绿),所有灯均为高电平点亮。设置15s的通行时间和5s转换时间的变模定时电路,由预置输入整数cnt决定是模15还是模5,输入逻辑cx是用来决定计数到4时清零还是到14时清零。clk是外部提供的基准秒脉冲信号。x0、x1、x2、x3是由控制器输出的表示计数时间的四位二进制数。一般情况下,当汽车行驶至十字交通路口时,有3种选择: 向前,向左转弯,向右转弯。根据我国的交通规则规定,汽车是靠右行驶,向右拐弯只要走弧形的支干道即可,不需受十字交通灯的束缚。因此,本文主要考虑前行和左转这两种 情况。十字路口交通灯负责控制各走向红绿灯的状态及转换,并且各状态之间有一定的时间过渡。同时,东西南北每条干道上都为人行横道设置了红绿灯,提醒行人在安全时刻穿越道路以保证行人的安全。2.3交通灯控制系统的作用交通灯控制系统的作用主要是实现城市十字交叉路口红绿灯的控制。在现代化的大城市中,十字交叉路口越来越多,在每个交叉路口都需要使用红绿灯进行交通指挥和管理,红、黄、绿灯的转换要有一个准确的时间间隔和转换顺序,这就需要有一个安全、自动的系统对红、黄、绿灯的转换进行管理,本系统就是基于此目的而开发的。如下图所示:2-1十字路口交通管理信号灯第三章 交通灯控制系统的设计3.1设计目的1、掌握数字系统的设计流程。2、掌握利用原理图与vhdl混合设计数字系统的方法。3、掌握交通灯的设计原理与设计实现。3.2设计要求3.2.1基本要求1、 能显示十字路口东西、南北两个方向的红、黄、绿灯的指示状态,用两组红、黄、绿三色灯作为两个方向的红、黄、绿灯; 2、 南北向为主干道,每次通行时间为25s,东西向为支干道,每次通行时间为15s;3、 能实现正常的倒计时功能,用两组数码管作为东西、南北向的倒计时显示。其中,黄灯:5s。4、 能实现特殊状态的功能。按下sp键后,能实现以下特殊功能: (1)显示倒计时的两组数码管闪烁; (2)计数器停止计数并保持在原来的状态; (3)东西、南北路口均显示红灯状态; (4)特殊状态解除后能继续计数; 5、 能实现全清零功能。按下reset键后,系统实现全清零,计数器由初状态计数,对应状态的指示灯亮; 6.、用vhdl语言设计上述功能的交通灯控制器,并用层次化方法设计该电路; 7、 仿真、验证设计的正确性。3.2.2附加要求1、时钟输入:clkin=2khz2、采用分频器分成:1hz,然后提供给系统 3.3设计思路交通灯控制器的电路控制原理框图如图1所示,主要包括置数器模块、定时计数器模块、主控制器模块和译码器模块。置数器模块将交通灯的点亮时间预置到置数电路中。计数器模块以秒为单位倒计时,当计数值减为零时,主控电路改红 绿 黄主控制器显示器译码器置数器定时计数器特殊状态清零红 绿 黄图3-1 电路控制原理框图变输出状态,电路进入下一个状态的倒计时。核心部分是主控制模块。表3-1状态图状态主干道支干道时间/s00绿灯亮红灯亮2001黄灯亮红灯亮510红灯亮绿灯亮1011红灯亮黄灯亮5交通灯控制器的电路控制原理框图如图3-1所示,主要包括置数器模块、定交通灯控制器的电路控制原理框图如图3-1所示,主要包括置数器模块、定时计数器模块、主控制器模块和译码器模块。置数器模块将交通灯的点亮时间预置到置数电路中。计数器模块以秒为单位倒计时,当计数值减为零时,主控电路改变输出状态,电路进入下一个状态的倒计时。核心部分是主控制模块。具体控制情况见上表3-1。3.4设计流程图由以上要求可以得到该系统的程序流程图如图3-2所示。其中,ga、ra、ya表示a支路的绿灯、红灯、黄灯,gb、rb、yb表示b支路的绿灯、红灯、黄灯,s表示特殊功能按键,t表示计时的时间。图3-2交通灯设计控制电路流程图3.5、器件下载编程与硬件实现在进行硬件测试时,按键k1对应复位端reset,按键k2对应紧急开关urgent。eda实验开发系统上的时钟cp2对应计数时钟clk,数码管m3、m4对应东西走向的时钟显示。led灯l16、l15、l14对应东西走向的绿灯g1、黄灯y1、红灯r1。数码管m1、m2对应南北走向的时钟显示。led灯l1、l2、l3对应南北走向的绿灯g2、黄灯y2、红灯r2,对应的硬件结构示意图如图3-3所示。图3-3交通灯控制系统的硬件示意图图3-4硬件结构图3.6设计步骤1、启动quarrtus软件;2、单击菜单栏中的file/new命令,打开new对话框,选择device design files中的block diagram/schematic,打开图形编辑窗口;3、右击鼠标,弹出菜单,点击“insert/symbol”,画一个图形保存,同时创建一个工程;4、在同一个工程下,单击菜单栏中的file/new命令,打开new对话框,选择device design files中的vhdl files,输入实训的源程序;5、单击菜单栏中的processstart compilation命令,启动全程编译;6、编译后加载源程序的symbol;7、画出实训的原理图,通过两组交通灯来模拟控制东西、南北两条通道上的车辆通行,所有功能在实验操作平台上进行模拟通过。8、进行仿真,建立波形文件,单击file/new命令,打开文件选择窗口,然后单击“other files”选项卡,选择其中的“vector waveform file”选项;9、输入信号节点,单击viewutility windowsnode finder命令,添加端口引脚名;10、指定芯片管脚,单击菜单栏中的assignmentspin,打开芯片管脚对话框。3.7实验结果及波形图3.7.1软件仿真图图3-5软件仿真波形3.7.2硬件仿真在quartusii软件中,通过对所设计的硬件描述语言代码进行波形仿真后,达到了预期效果,于是,我们在该软件上进行下载配置设置。在assignments菜单下选中devices,在family栏选择acex1k,选中epf10k10lc84-4器件。再在assignments菜单下选中pins按照相应要求对管脚进行锁定。最后在tools菜单下,选中programmer,对配置方式进行设置,这里选择passive seril(ps)被动串行模式。选择好要下载的硬件设备后点击start即可开始编程下载了。图3-6制定芯片管脚硬件仿真结束后,在实验箱上显示出结果如下图:第四章 课程实训总结通过这次课程设计,我进一步加深了对电子设计自动化的了解。并进一步熟练了对quartusii软件的操作。在编写程序的过程中,遇到了很多问题,使我发现自己以前学习上存在的不足。通过与同学探讨和请教老师,终于把问题都解决了,并加深了对交通灯原理和设计思路的了解。同时也掌握了做课程设计的一般流程,为以后的设计积累了一定的经验。做课程设计时,先查阅相关知识,把原理吃透,确定一个大的设计方向,在按照这个方向分模块的把要实现的功能用流程图的形式展示。最后参照每个模块把输入和输出引脚设定,运用我们所学的vhdl语言进行编程。总之,通过这次的设计,进一步了解了eda技术,收获很大,对软件编程、排错调试、相关仪器设备的使用技能等方面得到较全面的锻炼和提高。我重新认识了quartusii软件和eda芯片。对大二所学的eda课程又重新温习了一遍,特别是vhdl语言的编程,好久没有接触到,遗忘了很多。看起来很平常的十字路口交通灯,真正要自己去设计,还是有一定的困难的。里面还涉及到了一定的生活常识,比如主干道的绿灯点亮时间要比支干道的多,而且黄灯的点亮是在绿灯过渡到红灯的时候出现,还有黄灯不是一直亮,是闪烁的,每一个细节都有可能影响整个系统的成败。一个简单的系统不仅仅需要课本知识,还有许多的生活常识也涉及到了。本次课程设计不仅让我们将所学的课本知识温故了一遍,并且很好的开阔了一下我们的视野,培养了我们的综合素质。在编写程序的过程中,遇到了很多问题,使我发现自己以前学习上存在的不足。通过与同学探讨和请教老师,终于把问题都解决了,并加深了对交通灯原理和设计思路的了解。同时也掌握了做课程设计的一般流程,为以后的设计积累了一定的经验。做课程设计时,先查阅相关知识,把原理吃透,确定一个大的设计方向,在按照这个方向分模块的把要实现的功能用流程图的形式展示。最后参照每个模块把输入和输出引脚设定,运用我们所学的vhdl语言进行编程。总之,通过这次的设计,进一步了解了eda技术,收获很大,对软件编程、排错调试、相关仪器设备的使用技能等方面得到较全面的锻炼和提高。在此,感谢给我提供帮助的老师和同学。附录源程序: -ledcontrol.vhd- 17 -library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity ledcontrol is port(reset,clk,urgen :in std_logic; state :out std_logic_vector(1 downto 0); sub,set1,set2 :out std_logic);end ledcontrol;architecture a of ledcontrol is signal count:std_logic_vector(6 downto 0); signal subtemp:std_logic;beginsub=subtemp and(not clk);statelabel:process(reset,clk)beginif reset=1 then count=0000000; state=00;elsif clkevent and clk=1 then if urgen=0 then count=count+1;subtemp=1;else subtemp=0;end if; if count=0 then state=00;set1=1;set2=1; elsif count=40 then state=01;set1=1; elsif count=45 then state=10;set1=1;set2=1; elsif count=85 then state=11;set2=1; elsif count=90 then count=0000000;else set1=0;set2=0;end if;end if;end process statelabel;end a; -ledshow.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity ledshow is port( clk,urgen :in std_logic; state :in std_logic_vector(1 downto 0); sub,set1,set2 :in std_logic; r1,g1,y1,r2,g2,y2 :out std_logic; led1,led2 :out std_logic_vector(7 downto 0);end ledshow;architecture a of ledshow is signal count1,count2:std_logic_vector(7 downto 0); signal setstate1,setstate2:std_logic_vector(7 downto 0); signal tg1,tg2,tr1,tr2,ty1,ty2:std_logic;beginled1=11111111 when urgen=1 and clk=0 else count1;led2=11111111 when urgen=1 and clk=0 else count2;tg1=1 when state=00 and urgen=0 else 0;ty1=1 when state=01 and urgen=0 else 0;tr1=1 when state(1)=1 or urgen=1 else 0;tg2=1 when state=10 and urgen=0 else 0;ty2=1 when state=11 and urgen=0 else 0;tr2=1 w

温馨提示

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

评论

0/150

提交评论