




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、*大学EDA技术课程设计报告设计题目:具有四种信号灯的交通灯控制器专业班级: 通信工程 学生姓名: * 学 号: * 指导教师: * 课程设计成绩: 完成日期:20*年*月*日目 录1 引言.21.1 设计背景.21.2 VHDL简介.21.3 QUARTUS简介.52 交通信号灯控制器的设计.52.1 设计目的.62.2 系统计要求.62.3 设计思路.72.4 交通信号灯控制器系统工作流程.73 交通灯控制器的实现.83.1 交通灯控制器的设计原型图.83.2 系统各功能模块的实现.93.2.1 模块shuomaguan.93.2.2 模块traffic.93.3 原理图.94 交通信号灯
2、控制器系统仿真及分析.104.1 SHUMAGUAN模块仿真波形图.104.2 顶层实体的仿真波形.104.3 TAFFIC模块的仿真波形图.114.4 管脚锁定.115 完成调试后所显示结果的八种情况.126 结论.157 总结与体会.15附 录.171 SHUMAGUAN的VHDL程序.172 TRAFFIC的VHDL程序.18参考文献.2211 引言1.1 设计背景 随着城市机动车量的不断增加,许多大城市如北京、上海、南京等出现了交通超负荷运行的情况,因此,自80年代后期,这些城市纷纷修建城市高速道路,在高速道路建设完成的初期,它们也曾有效地改善了交通状况。然而,随着交通量的快速增长和缺
3、乏对高速道路的系统研究和控制,高速道路没有充分发挥出预期的作用。而城市高速道路在构造上的特点,也决定了城市高速道路的交通状况必然受高速道路与普通道路耦合处交通状况的制约。因此,开发一套能够社会服务的交通灯控制器将是非常必要的,也是十分及时的。1.2 VHDL简介语言硬件描述已经有几十年的发展历史,并且在系统的仿真、验和设计、综合等方面得到成功的应用。目前常用的硬件描述语言有VHDL、 Verilog HDL 、ABEL等。VHDL则起源于20世纪70年代末和80年代初,美国国防部提出的VHSIC计划,目标是为下一代集成电路的生产、实践阶段性的工艺极限和完成10万门级以上的电路设计而建立一种新的
4、描述方法。VHDL的英文全称为Very-High-Speed Integrated Circuit Hardware Description Language,是IEEE标准化的硬件描述语言,并且经成为系统描述的国际公认标准,得到众多EDA公司的支持。2成为系统描述的国际公认标准,得到众多EDA公司的支持。 IEEE-1076(简称87版)之后,各EDA公司相继推出自的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本,简称93版。
5、VHDL和Verilog作为IEEE的工业标准硬件描述语言,得到众多EDA公司支持,在电子工程领域,已成为事实上的通用硬件描述语言。 VHDL具有很多的优点使它能够被大多数人认可,被广泛应用在逻辑电路的设计方面,并且成为了标准化的硬件描述语言,其优点如下: (1)功能强大和设计灵活。一个简洁的使用VHDL语言编写的程序就可以描述一个复杂的逻辑电路,因为VHDL拥有强大的语言结构。VHDL多层次的设计描述功能可以有效地控制设计的实现,支持设计库和可重复使用的元件生成,还支持多种设计方式,如层次化设计、模块化设计和同步、异步和随机电路设计。 (2)与具体器件无关。用VHDL设计硬件电路时不用先确定
6、设计要用到哪种器件,也不用特别熟悉器件的内部结构,这样可以使设计人员专注于进行系统设计。设计完成后,可以根据消耗的资源选择合适的器件,而不造成资源的浪费。(3)很强的移植能力。VHDL由很多不同的工具支持,同一个设计的程序可以在包括综合工具、仿真工具、系统平台等工具中使用。3(4)强大的硬件描述能力。VHDL可以描述系统级电路和门级电路,而且描述方式多样,可以采用行为描述、寄存器传输描述或者结构描述,也可以用其混合描述方式。同时,VHDL可以准确地建立硬件电路模型,因为它支持惯性延迟和传输延迟。VHDL的数据类型很丰富,支持标准定义的数据类型,当标准定义的数据类型不能满足用户的需求时,用户可以
7、自己定义的所需要的数据类型,增加了设计的自由度。 (5)语法规范,易于共享。当把用VHDL编写的代码文件看作是程序时,它可以作为设计人员之间的交流内容;当把它看作是文档时,可以作为签约双方的合同文本。VHDL易于共享的特点,使得大规模的协作开发容易实现。同时,这些特点也促进了VHDL的发展和完善。 综上所述,VHDL有很多其他的硬件描述语言所不具备的优点。但是,VHDL仍然存在一些缺点,主要是3个方面。 (1)要求设计者对硬件电路知识甚至是芯片结构方面的知识了解较多。应该摆脱一般的高级语言程序设计思路,因为在电路世界里的事件很多是并行发生的,并且硬件电路系统内部的模块可以是互相独立的,也可以是
8、互为因果的,所以,在用VHDL设计硬件电路时应摆脱一般的高级语言程序设计思路。在设计电路时,应先构思电路,然后才能描述。(2)不能进行太抽象的系统描述。因为EDA工具无法综合抽象性太强的系统,故用VHDL描述系统电路时不能太抽象。目前的VHDL很难综合实际的硬件电路,只能适用于系统建模。4(3)不能描述模拟电路。对于模拟电路而言,VHDL并不是一种理想的硬件描述语言。但可以预见,未来硬件描述语言的发展方向是模拟电路和数模混合电路的描述方式。1.3 Quartus简介 Quartus II 是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL
9、(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。 Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。 Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第
10、三方EDA工具。此外,Quartus II 通过和DSP Builder工具与Matlab相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。 2 交通信号灯控制器的设计52.1 设计目的采用VHDL语言对交通灯控制器的设计,使交通灯控制电路用数字信号自动控制十字路口两组红、黄、绿交通灯的通过状态转换的方法,指挥各种车辆和行人安全通行,实现十字路口交通管理的自动化。绿灯亮时,准许车辆通行,但转弯的车辆不得妨碍被放行的直行车辆、行人通行,黄灯亮时,已越过停止线的车辆可以继续通行,红
11、灯亮时,禁止车辆通行。2.2 系统计要求系统设要求为:由一条主干道和一条支干道汇合十字路口,在每个入口处设置红,绿,黄,拐允许四盏信号灯,红灯亮禁止通行,黄灯亮则给行驶中的车辆有时间停在禁行线外,左拐灯亮允许车辆向左拐外。信号灯变换次序为:主干道每次放行40秒,亮5秒红灯让行驶中的车辆有时间停到禁行线外,左拐放行15秒,亮5秒红灯;支干道放行30秒,亮5秒黄灯,左拐放行15秒,亮5秒红灯.,各计时电路位倒计时显示。系统框图如下:6图2-1 设计思路示意图2.3 设计思路 根据系统的功能要求,可分为四个部分来实现,分别是定时模块,主控电路,译码驱动电路和扫描显示几部分。分频部分是把外部提供的1H
12、z进行分频得到系统工作需要的工作脉冲,显示部分包括两个内容,一个是主干道红绿灯显示,另一个是支干道红绿灯显示。然后将红绿灯显示时间以BCD码形式显示出来,显示模块将其译码轮流扫描显示2.4 交通信号灯控制器系统工作流程(1)主干道放行亮绿灯40秒,支干道红灯显示65秒;(2)主干道绿灯转黄灯5秒,支干道红灯显示25秒;(3)主干道黄灯转左拐15秒,支干道红灯显示20秒;(4)主干道左拐转红灯55秒,支干道绿灯显示30秒;7(5)主干道红灯显示25秒,支干道绿灯转黄灯5秒;(6)主干道红灯显示20秒,支干道黄灯转左拐15秒;(7)主干道亮红灯5秒,支干道左拐转黄灯5秒;(8)依次循环跳到主干道,
13、红绿灯重新计时。3 交通灯控制器的实现3.1 交通灯控制器的设计原型图图3-1 具有四种信号灯的交通信号灯硬件系统示意图原理图中输入部分分别是clk:系统时钟信号;LA:主干道红绿灯显示;LB:支干道红绿灯显示;输出部分为七段译码显示和位选码MS,数码管显示的是交通信号灯转换时间。83.2 系统各功能模块的实现3.2.1 模块shuomaguan 图3-2 1shuomaguan模块 shumaguan的设计难点在于分析输入条件的不同,会有什么样的输出结果。这就要理解shumaguan模块的作用就是控制交通灯时间显示的转换的工作。其模块所用程序见附录shuomaguan模块的VHDL编程3.2
14、.2 模块 traffic 图3-3 模块traffic traffic模块的作用是控制交通信号灯的四种灯之间的转换工作,其所用的程序见附录 traffic模块的VHDL编程。3.3 原理图9图3-4 交通信号灯原理图4 交通信号灯控制器系统仿真及分析4.1 shumaguan模块仿真波形图图4-1 shumaguan模块仿真波形图分析:由图中看出,当使能位EN 为低电平的时候,两路数码管维持初始值不变,当使能位为高电平的时候,两个数码管在每个时钟内,减一,与题目要求相符。4.2 顶层实体的仿真波形图4-2 顶层实体的仿真波形10 分析:从图中很容易看出,交通灯只在状态发生变换的时候发生变换,
15、而且在一整个状态内不发生变化。 并且可以看出,在状态0的时候,主干道绿灯亮,支干道红灯亮。在状态1的时候,主干道黄灯亮,支干道红灯亮,在状态2的时候,主干道的左拐灯亮,支干道的红灯亮。4.3 taffic模块的仿真波形图图4-3 traffic模块的仿真波形分析:从波形图内很容易看出,状态机的变换,并且看出数码管的倒计时为零的时候与状态变换同步,并且主干道的倒计时与支干道的倒计时相互独立,不影响。4.4 管脚锁定在验证交通信号灯系统功能之前,需要清楚试验箱与与各个信号之间的对应关系,所以我们必须锁定管脚。管脚锁定后,将顶层文件下载到EDA试验箱芯片中,并验证功能。11图4-4 管脚锁定图5 完
16、成调试后所显示结果的八种情况12图5-1 验证结果1 主干道显示绿灯,支干道显示红灯;图5-2 验证结果2 主干道显示绿灯,支干道显示红灯;图5-3 验证结果3 主干道显示左拐绿灯,支干道显示红灯;13图5-4 验证结果4 主干道显示黄灯,支干道显示红灯;图5-5 验证结果5 主干道显示红灯,支干道显示绿灯;13图5-6 验证结果6 主干道显示红灯,支干道显示黄灯;图5-7 验证结果7 主干道显示红灯,支干道显示左拐绿灯;14图5-8 验证结果8 主干道显示红灯,支干道显示黄灯; 之后可知,交通信号灯将再次回归验证结果1,再次重复所验证8个结果。 观察的符合我们的设计结果,设计是正确的。6 结
17、论本设计采用了VHDL硬件描述语言文本输入方式,在确立总体预期实现功能的前提下,分层次进行设计。实现了三种颜色交通信号灯的交替点亮,以及时间的倒计时显示,指挥行人和车辆安全通行。程序中所用到的数据均可以根据实际情况进行设置,修改灵活方便。通过此次设计,我对于VHDL硬件描述语言有了更深入地了解,也在原来所学的理论基础上得到了进一步地应用。但由于经验上的不足,有些地方还需要做进一步地改善,如可通过FPGA/CPLD开发套件验证。数字化时代的到来给人们的生活水平带来了极大的改变,我们有理由相信,随着数字化的深入,交通灯控制器的功能将日趋完善。而且,VHDL语言对EDA技术产生的影响也是深远的,它缩
18、短了电子产品的设计周期,为设计者提供了方便。在今后的电子产品研究开发过程中,EDA技术将会具有更好的开发手段和更高的性价比,并且将拥有更为广阔的市场应用前景。7 总结与体会通过这次课程设计,加强了我动手、思考和解决问题的能力.现在设15计已经做好了,自己感觉还是比较好的,虽然花了很多的时间,但学到了很多东西.做课程设计的时候,自己把整个书本都看了几遍,增强了自己对知识的理解,很多以前不是很懂的问题现在都已经一一解决了。在课程设计的过程中,我想了很多种方案,对同一个问题都想了很多种不同的接法,运用不同的芯片进行了比较,最后还是采取了上面的方法进行连接.从开始做课程设计那天起,脑中天天都想着同样的
19、问题,怎么去把电路和程序弄得更加简单,怎么别人更容易看懂.但似乎时间过得真的很快,我用了好几天才把它完全弄完,完成后,心里有一种说不出的高兴。在设计过程中遇到很多麻烦,但我都上网查资料,去图书馆找参考书,努力地去解决所遇到的问题。这次课程设计之后,使我明白了,做任何事情都要认真仔细,不然的话,你会花更多的时间才会做好.课程设计有利于提高我们的动手能力,能把我们所学的书本知识运用到实际生活中去.同时也丰富了我们的业余生活,提高我们对知识的理解能力 通过这三周的努力,我的课程设计终于完成了。在此阶段,我在学习上和思想上都受益非浅,这除了自身的努力外,与各位老师、同学和朋友的关心、支持和鼓励是分不开
20、的。在本课程设计的完成过程中,我的指导老师*老师倾注了大量的心血,从选题到开题报告,从写作提纲,到一遍又一遍地指出每稿中的具体问题,严格把关,循循善诱,在此我表示衷心感谢。同时我还要感谢在我学习期间给我极大关心和支持的我的同学和朋友。16 由于时间的仓促及自身专业水平的不足,整个课程设计肯定存在尚未发现的缺点和错误。恳请阅读此篇说明书的老师、同学,多予指正,不胜感激。附 录Shumaguan的VHDL程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity shumaguan isport
21、(clk_shumaguan : in std_logic;lcd_zhu,lcd_zhi : in std_logic_vector(7 downto 0);lcd_cho : out std_logic_vector(2 downto 0);lcd_dev : out std_logic_vector(7 downto 0);end shumaguan;architecture behav of shumaguan issignal data : std_logic_vector(3 downto 0); signal sec : std_logic_vector(2 downto 0);
22、signal dout : std_logic_vector(7 downto 0);beginprocess(clk_shumaguan) beginif(clk_shumaguan'event and clk_shumaguan='1') then if(sec="011") then sec<="000"elsesec<=sec+1;end if;end if; end process; process(sec,lcd_zhu(7 downto 0),lcd_zhi(7 downto 0) begincase s
23、ec iswhen "000"=>data<=lcd_zhi(3 downto 0);17when "001"=>data<=lcd_zhi(7 downto 4);when "010"=>data<=lcd_zhu(3 downto 0);when "011"=>data<=lcd_zhu(7 downto 4);when others=>null;end case; end process;process(data)begincase data iswhen
24、 "0000"=>dout<="00111111"when "0001"=>dout<="00000110"when "0010"=>dout<="01011011"when "0011"=>dout<="01001111"when "0100"=>dout<="01100110"when "0101"=>dou
25、t<="01101101"when "0110"=>dout<="01111101"when "0111"=>dout<="00000111"when "1000"=>dout<="01111111"when "1001"=>dout<="01101111"when others=>dout<="00000000"end case;
26、 end process;lcd_cho<=sec;lcd_dev<=dout;end behav;Traffic的VHDL程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity traffic isport( clk,EN : in std_logic; led_con : out std_logic_vector(7 downto 0); zhu,zhi : out std_logic_vector(7 downto 0) );end traffic;architectu
27、re behav of traffic istype st_type is(st0,st1,st2,st3,st4,st5,st6,st7); signal led : std_logic_vector(7 downto 0); signal c_st : st_type;18signal lcd_zhu : std_logic_vector(7 downto 0); signal lcd_zhi : std_logic_vector(7 downto 0); beginprocess (clk,EN)beginif EN='0'then c_st<=st0; lcd_z
28、hu<="01000000" lcd_zhi<="01100101" led<="00010100" elsif clk'event and clk='1'then case c_st is when st0=> if lcd_zhu=1 then c_st<=st1; lcd_zhu<="00000101" led<="00010010" else c_st<=st0; if lcd_zhu(3 downto 0)=0 t
29、hen lcd_zhu<=lcd_zhu-7; else lcd_zhu<=lcd_zhu-1; end if; end if; if lcd_zhi(3 downto 0)=0 then lcd_zhi<=lcd_zhi-7; else lcd_zhi<=lcd_zhi-1; end if; when st1=>if lcd_zhu=1 then c_st<=st2; lcd_zhu<="00010101" led<="00011000" else c_st<=st1; if lcd_zhu(3 d
30、ownto 0)=0 then lcd_zhu<=lcd_zhu-7; else lcd_zhu<=lcd_zhu-1; end if; end if;19if lcd_zhi(3 downto 0)=0 thenlcd_zhi<=lcd_zhi-7; else lcd_zhi<=lcd_zhi-1; end if; when st2=>If lcd_zhu=1 whenc_st<=st3; lcd_zhu<="00000101" led<="00010010" else c_st<=st2;if l
31、cd_zhu(3 downto 0)=0 then lcd_zhu<=lcd_zhu-7;else lcd_zhu<=lcd_zhu-1; end if; end if; if lcd_zhi(3 downto 0)=0 then lcd_zhi<=lcd_zhi-7; else lcd_zhi<=lcd_zhi-1; end if; when st3=> if lcd_zhu=1 then c_st<=st4; lcd_zhu<="01010101" lcd_zhi<="00110000" led<
32、="01000001" else c_st<=st3; if lcd_zhu(3 downto 0)=0 then lcd_zhu<=lcd_zhu-7; else lcd_zhu<=lcd_zhu-1; end if; if lcd_zhi(3 downto 0)=0 then lcd_zhi<=lcd_zhi-7; else lcd_zhi<=lcd_zhi-1; end if; end if; when st4=> 20if lcd_zhi=1 then c_st<=st5; lcd_zhi<="0000010
33、1" led<="00100001" else c_st<=st4;lcd_zhi<=lcd_zhi-7; else lcd_zhi<=lcd_zhi-1; end if; end if; if lcd_zhu(3 downto 0)=0 thenlcd_zhu<=lcd_zhu-7; else lcd_zhu<=lcd_zhu-1; end if; when st5=> if lcd_zhi=1 then c_st<=st6; lcd_zhi<="00010101" led<="
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 养猪营养疫苗管理制度
- 国际体育赛事管理制度
- 暗藏玄机的2025年行政组织理论试题及答案
- 化工园区考核管理制度
- 数据库的基础查询用法试题及答案
- 公路工程施工中的时效管理技巧试题及答案
- 网络故障检测与排除实践操作试题及答案
- 公司设备故障管理制度
- 行政决策中的道德考量与社会影响研究试题及答案
- 公用工程设备管理制度
- 高考英语高频词600
- 2022年江苏省江阴市四校高一物理第二学期期末经典试题含解析
- 2023年江苏省南京市中考化学真题(原卷版)
- DB15-T 3619-2024 旅游风景道驿站等级划分与评定
- (高清版)DB15∕T 3585-2024 高标准农田施工质量评定规程
- 中考物理实验19 (考点精讲)测量滑轮组的机械效率
- 武进经济发展集团笔试
- ISO56002-2019创新管理体系管理手册及程序文件
- 全员消防安全责任制
- 小学六年级数学奥数题100题附答案(完整版)
- 加盟如家合同范本
评论
0/150
提交评论