EDA课程设计交通灯文档格式.docx
《EDA课程设计交通灯文档格式.docx》由会员分享,可在线阅读,更多相关《EDA课程设计交通灯文档格式.docx(8页珍藏版)》请在冰豆网上搜索。
![EDA课程设计交通灯文档格式.docx](https://file1.bdocx.com/fileroot1/2022-11/26/d3ba51d0-4fd1-469f-a571-1d350b52ecee/d3ba51d0-4fd1-469f-a571-1d350b52ecee1.gif)
利用EDA技术设计交通灯来完成这个需求就显的更加迫切,同样也是非常的实用和合理。
2课程设计目
a.掌握十字路口交通灯控制的设计原理,并能够运用VHDL编程语言编写出实验程序,进一步对所学的EDA知识进行掌握与实际应用。
b.学会在QuartusⅡ软件环境中仿真,熟悉软件的基本操作和运行环境。
c.锻炼自己获取信息的能力,以及能够独立自主的思考和解决问题的能力。
3课程设计要求
在EDA实验箱上完成十字路口交通灯的设计与实现。
要求将实验箱上的8个LED灯中的6个表示东西方向和南北方向的红黄绿交通灯。
同时在数码管上显示等待时间,并在8秒后进行红绿灯的转换。
4系统分析
交通灯的控制电路控制东西和南北两个方向的信号灯,每个方向的信号灯包括红黄绿3盏灯。
该系统还包括通行和等待时间显示。
交通灯一个循环周期包括16个状态,对于每个方向红灯占8个状态,绿灯占7个状态,黄灯占1个状态,同时按键可以控制交通灯的走停,当一些突发事件发生的时候需要使交通灯停止运行的时候有帮助。
上述对交通灯的控制电路的要求可以用真值表进行描述。
如下表
状态
输入
红
黄
绿
时间显示
1
0000
7
2
0001
6
3
0010
5
4
0011
0100
0101
0110
8
0111
9
1000
10
1001
11
1010
12
1011
13
1100
14
1101
15
1110
16
1111
把真值表中输出为1的状态进行输入与输出的表达式进行或运算可以得到描述电路输入与输出的布尔表达式。
化简后用VHDL的程序编写如下:
系统的输入信号为时钟信号(CLK),输出的信号为交通灯控制信号(ryg)和通行等待时间显示信号(seven_seg),这里的交通灯控制信号(reg)包括了6路输出,从reg[5]~reg[0],它们与交通灯的关系
红
reg[5]
reg[4]
reg[3]
reg[2]
reg[1]
reg[0]
5设计的总体方案
根据设计要求和系统所具有功能,并参考相关的文献资料经行方案设计画出如下所示的十字路口交通灯控制器系统框图,及为设计的总体方案,框图如下图3.1所示:
图2.2系统的框图
6.1程序编写
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
ENTITYjiaotongdenIS
PORT(clk:
INbit;
key:
instd_logic_vector(7downto0);
ryg:
OUTbit_vector(5DOWNTO0);
seven_reg:
OUTbit_vector(6DOWNTO0);
seven_nb:
dig:
outbit_vector(3downto0);
dag:
outbit_vector(3downto0));
ENDjiaotongden;
ARCHITECTUREbehOFjiaotongdenIS
SIGNALaqi:
INTEGERRANGE0TO15;
SIGNALnb:
INTEGERRANGE15downTO0;
begin
PROCESS(clk)
begin
IF(key="
11111111"
)THEN
if(clk'
EVENTANDclk='
1'
)then
IFaqi/=0THEN
aqi<
=aqi-1;
ELSEaqi<
=15;
ENDIF;
endif;
ENDPROCESS;
PROCESS(aqi)
BEGIN
CASEaqiIS
WHEN15=>
ryg<
="
100001"
;
seven_reg<
0000111"
dig<
0110"
WHEN14=>
1111101"
WHEN13=>
1101101"
WHEN12=>
1100110"
WHEN11=>
1001111"
WHEN9=>
0000110"
WHEN8=>
100010"
0111111"
WHEN7=>
001100"
WHEN6=>
WHEN5=>
WHEN4=>
WHEN3=>
WHEN2=>
1011011"
WHEN1=>
WHEN0=>
010100"
WHENOTHERS=>
NULL;
ENDCASE;
IF(clk'
IFnb/=15THEN
nb<
=nb+1;
ELSEnb<
=0;
endprocess;
PROCESS(nb)
CASEnbIS
dag<
ENDCASE;
endprocess;
endbeh;
6.2程序分析
7.1仿真结果
利用QuartusⅡ软件对本程序进行编译,生成了可以进行仿真定时分析以及下载到可编程器件的相关文件。
仿真结果如图5.1所示:
图5.1仿真结果
7.2仿真结果分析
通过设定clk值以及reset和urgen的初值,就可以得到如上所示的仿真波形图。
由仿真波形图可以看出波形是由reset初值信号触发而显示出各个状态的。
Urgen高电平信号输入时,所有交通灯都变为红灯状态(符合任务书的要求)。
由仿真波形图还可以清楚的看出各时间段每个交通灯的状态。
要得到正确的仿真波形图就不许设定合适的时间信号clk值。
如果clk值设置的太小则交通灯状态变化得太快无法分辨,如果clk值设置得太大则交通灯状态转换缓慢,效果不明显。
其次,要设定reset初值,如果没有设定reset初值就不可能触发而得到仿真图。
最后,就是要设置一Urgen高电平信号来检测紧急情况下的交通灯的状态。
8、心得体会
通过此次课程设计,使我对EDA程序设计有了进一步的学习,进一步的认识;
在程序的设计,程序的调试方面都学到了很多东西,这是第一次编写EDA的大程序,很有成就感。
在这几天课设的时间里,实验室的氛围对我们的影响很大,大家一起努力,这也是我们能完成课设的动力。
在编程中出现问题时,一定要戒骄戒躁,脚踏实地,认真看书,仔细分析,仔细调试,就一定会发现错误,克服困难,我们也是这么做的,这在课设中十分重要。
从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习EDA更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在这次课程设计中的最大收获。
生活就是这样,汗水预示着结果也见证着收获。
劳动是人类生存生活永恒不变的话题。
虽然我这次做的课程设计不是非常的复杂,但在设计和仿真的过程中,我们也遇到了不少的困难,回首整个过程,却受益匪浅。
对我而言,知识上的收获重要,精神上的丰收更加可喜。
让我知道了学无止境的道理。
我们每一个人永远不能满足于现有的成就,人生就像在爬山,一座山峰的后面还有更高的山峰在等着你。
挫折是一份财富,经历是一份拥有。
这次课程设计必将成为我人生旅途上一个非常美好的回忆!
参考文献
[1]阎石主编,《数字电子技术基础》,高等教育出版社,1998
[2]谭会生等主编,《EDA技术及应用》,西安电子科技大学出版社,2001
[3]廖裕评等主编,《CPLD数字电路设计——使用MAX+plusⅡ入门篇》,清华大学出版社,2001
[4]冯涛等主编,《可编程逻辑器件开发技术:
MAX+plusⅡ入门与提高》,人民邮电出版社,2002
[5]杨崇志,《特殊新型电子元件手册》,辽宁科学技术出版社,1999
[6]彭介华,《电子技术课程设计指导》高等教育出版社.2000年出版.
[7]MarkZwolinski,DigitalSystemDesignwithVHDL,电子工业出版社,2002
[8]AlanB.MarcovitzIntroductiontologicDesign,电子工业出版社,2002