EDA交通灯信号控制器的设计文档格式.docx
- 文档编号:19411846
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:12
- 大小:147.75KB
EDA交通灯信号控制器的设计文档格式.docx
《EDA交通灯信号控制器的设计文档格式.docx》由会员分享,可在线阅读,更多相关《EDA交通灯信号控制器的设计文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
Entityredgreenis
Port
(
clock_in:
instd_logic;
hold_state:
reset_state:
hold_state1:
reset_state1:
led_red,led_green,led_yellow,led_red1,led_green1,led_yellow1:
outstd_logic;
select_display:
outstd_logic_vector(0to6);
led_selout:
outstd_logic_vector(0to3)
);
end;
Architectureredgreen1ofredgreenis
constantloop_hz:
integer:
=20000000;
--constantloop_hz:
=2;
constantloop_hz1:
=500;
signalcount_time:
integerrange0toloop_hz;
signalcount_time1:
integerrange0toloop_hz1;
signalclock_buffer:
std_logic;
signalclock_buffer1:
signalclock_out:
signalclock_out1:
signalcount_num:
integerrange0to68;
signalcount_num1:
signaldisplay_num:
signaldisplay_num1:
signaldisplay_shi:
integerrange0to9;
signaldisplay_ge:
signaldisplay_shi1:
signaldisplay_ge1:
signalb:
signala:
std_logic_vector(1downto0);
constantloop_time:
=68;
constantred_time:
=34;
constantgreen_time:
=30;
constantyellow_time:
=4;
begin
process(clock_in)--分频进程
begin
ifclock_in'
eventandclock_in='
1'
then
ifcount_time=loop_hzthen
count_time<
=0;
clock_buffer<
=notclock_buffer;
else
=count_time+1;
endif;
clock_out<
=clock_buffer;
endprocess;
ifcount_time1=loop_hz1then
count_time1<
a<
=a+1;
clock_buffer1<
=notclock_buffer1;
=count_time1+1;
clock_out1<
=clock_buffer1;
process(reset_state,clock_out,count_num)
ifreset_state='
then
count_num<
elsifclock_out'
eventandclock_out='
ifhold_state='
then
=count_num;
elsifcount_num=loop_time-1then
=count_num+1;
endif;
process(reset_state1,clock_out,count_num1)
ifreset_state='
then
count_num1<
ifhold_state1='
=count_num1;
elsifcount_num1=loop_time-1then
=count_num1+1;
process(clock_out,count_num,a)--交通灯显示
ifclock_out'
0'
ifhold_state='
led_red<
='
;
led_green<
led_yellow<
elsifcount_num<
=33then
display_num<
=red_time-count_num;
led_green<
led_yellow<
=63then
=green_time+red_time-count_num;
=67then
=loop_time-count_num;
process(clock_out,count_num1)--交通灯显示
begin
ifclock_out'
ifhold_state1='
led_red1<
led_green1<
led_yellow1<
elsifcount_num1<
=29then
display_num1<
=green_time-count_num1;
led_green1<
led_yellow1<
elsifcount_num1<
=yellow_time+green_time-count_num1;
=loop_time-count_num1;
process(display_num)--分位进程
ifdisplay_num<
10then
display_shi<
display_ge<
=display_num;
display_shi1<
display_ge1<
elsifdisplay_num<
20then
display_shi<
=1;
=display_num-10;
30then
=display_num-20;
elsifdisplay_num<
40then
=3;
=display_num-30;
process(b)--数码管显示
casebis
when0=>
select_display<
="
0000001"
when1=>
1001111"
when2=>
0010010"
when3=>
0000110"
when4=>
1001100"
when5=>
0100100"
when6=>
0100000"
when7=>
0001111"
when8=>
0000000"
when9=>
0000100"
whenothers=>
=null;
endcase;
process(a)
begin
caseais
when"
00"
=>
led_selout<
0001"
b<
=display_shi;
01"
0010"
=display_ge;
10"
0100"
=display_shi1;
11"
1000"
=display_ge1;
whenothers=>
null;
endprocess;
end;
四.波形仿真及其编程下载
4.1仿真波形
4.2波形分析
由上述波形可知,刚开始,主道亮红灯,支道亮绿灯;
当支道绿灯倒计34秒后,支道黄灯亮,主道红灯亮;
而支道黄灯倒计时4秒后,支道红灯亮,主道绿灯亮;
当主道绿灯倒计时30秒后,主道黄灯亮,支道红灯亮;
当主道黄灯倒计时4秒后,主道红灯亮,支道绿灯亮。
各时间段每个交通灯的状态都符合,所有,仿真波形正确。
4.3编程下载
因为有主干道和支干道,所以我选择了两个重置键和保持键,而六个信号灯分别为主道的红绿黄和支道的红绿黄,锁好引脚后,两个方向上的数码管显示时间完全吻合,按两个干道上的重置键时,会恢复原状态,继续计时,当按下两个干道的保持键时,时间保持不变,结果证实调试成功。
四、引脚分配
引脚分配如表——1所示:
表——1
引脚名称
引脚编号
连接网络
clock_in
PIN_J3
select_display[0]
PIN_L3
E_7SEG-A
hold_state
PIN_M3
FPGA_M1
select_display[1]
PIN_L4
E_7SEG-B
reset_state
PIN_M4
FPGA_M2
select_display[2]
PIN_H3
E_7SEG-C
hold_state1
PIN_N1
FPGA_M3
select_display[3]
PIN_H4
E_7SEG-D
reset_state1
PIN_N2
FPGA_M4
select_display[4]
PIN_H1
E_7SEG-E
led_green
PIN_U11
LED2
select_display[5]
PIN_L2
E_7SEG-F
led_green1
PIN_R12
LED5
select_display[6]
PIN_K4
E_7SEG-G
led_red
PIN_R10
LED1
led_selout[0]
PIN_G4
E_7SEG-A1
led_red1
PIN_R11
LED4
led_selout[1]
PIN_G3
E_7SEG-A2
led_yellow
PIN_N15
LED3
led_selout[2]
PIN_E2
E_7SEG-A3
led_yellow1
PIN_U12
LED6
led_selout[3]
PIN_F2
E_7SEG-A4
五、心得与体会
通过这次课程设计,我们可以更好的熟悉和理解QuartusⅡ集成环境下EDA技术,它是用VHDL对数字系统进行抽象的行为与功能描述到具体的内部线路结构,从而可以在电子设计的各个阶段、各个层次进行计算机模拟验证,保证设计过程的正确性,我这次做的课题是交通灯信号控制器的设计。
这次课程设计对于我是个很大的挑战,并且遇到了很多困难,这是因为在做课程设计之前,只做了一些比较简单的电路图设计,没有做过比较复杂的设计,所以有很多的语法和整体结构的设计没有掌握和理解,所以在编写程序时我大量参考了在图书馆借阅的资料,还借助了网络的帮助,我基本上掌握了VHDL语言的基本语法。
在这几天课程设计的时间里,实验室的氛围对我影响很大,大家一起努力,这也是我们完成课程设计的动力。
这次课程设计也多亏了我这一组的同学与老师的帮助,在老师的提点下,我理清了思路,交通灯原来有五种状态,沿着这条思路,把程序编出来,所以我明白了独立思考与不懂就问的重要性。
还有一点是我们做任何事情都无法缺少的,那就是细心认真,此次设计我就深深体会到了,由于编程时没有做到足够的细心,调试时总出现问题,但需要好长时间才能找出问题的所在,这也让我真正明白了科学的严谨性,它不允许出半点差错,否则后果会比较麻烦。
这次课程设计让我看到了自身的不足,不够严谨细心,并且太急躁,我会努力克服的。
这次课程设计必定成为我人生旅途上一个非常美好的回忆!
参考文献:
《EDA技术与VHDL》第3版潘松,黄继业:
华大学出版社
《EDA教程》孟庆辉,刘辉,程继航,石静苑:
防工业出版社,2008
《电子技术EDA实践教程》杨晓慧等著编:
国防工业出版社,2005
《EDA技术可编程器件的应用》包明编著:
北京航空航天大学出版社,2007
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 交通灯 信号 控制器 设计