数字系统课程设计报告

上传人:第*** 文档编号:34640370 上传时间:2018-02-26 格式:DOC 页数:18 大小:204KB
返回 下载 相关 举报
数字系统课程设计报告_第1页
第1页 / 共18页
数字系统课程设计报告_第2页
第2页 / 共18页
数字系统课程设计报告_第3页
第3页 / 共18页
数字系统课程设计报告_第4页
第4页 / 共18页
数字系统课程设计报告_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《数字系统课程设计报告》由会员分享,可在线阅读,更多相关《数字系统课程设计报告(18页珍藏版)》请在金锄头文库上搜索。

1、基于 VHDL 的交通灯控制器设计作者:叶 展(04008136)杨运峰(04008137)史泰龙(04008115)基于 VHDL 的交通灯控制器设计2 / 18目 录1题目要求22.方案设计2(1)总体方案设计2(2)单元模块设计5(3)各单元模块的连接63仿真调试74设计总结9(1)设计的小结和体会 9(2)对设计的进一步完善提出意见或建议 95成员分工 96参考文献 107附录 11基于 VHDL 的交通灯控制器设计3 / 18一、 题目要求在两个相邻十字路口处各有四处交通灯,标为 A 和,每一处的要求如下:每一处都有 3 个灯指示左转,直行和右转车辆,并且灯也分红色和黄色绿色,并配有

2、时间显示,调研实际的运行情况并设计出对应的电路。并且要完成以下附加功能:第一,可以将系统根据时间来调整,在白天某一路段比较繁忙对应的通行时间较长,晚上因为另一路段繁忙则做适当的调整;第二,如系统出现故障不能正常显示,则黄灯全部闪烁以提醒车辆注意。要求系统有一个系统时钟,按照 24 小时计时,处和处早上点到晚上点,南北方向绿灯通行时间为秒,黄灯 5 秒,左拐灯 15 秒,黄灯 5 秒,红灯秒。其余时间分别为 60 秒,5 秒,20 秒,5 秒,30 秒。 A处和 B 处的交通灯是联动的,即 A 处驶往 B 处的车辆,在 A 处南北方向交通灯绿灯后 20 秒钟后 B 处的南北方向交通灯绿灯通行。二

3、、 方案设计(1)总体方案设计我们小组成员展开讨论,结合本题目的要求,并且参考了实际路灯的运行情况和查阅了相关资料后,提出了一种切实可行的路灯控制方案即路灯八状态轮换循环控制方案。从单一方向上看,单个路口红绿灯转换顺序为:绿灯(50s)黄灯(5s) 左拐灯(15s) 黄灯(5s)红灯(40s)。 (当此方向上路灯为红灯时,即 40s 的时间内,另一方向上的路灯要完成,绿灯(15s)黄灯 (5s)左拐灯(15s)黄灯(5s),的转换。 )当路况处于闲暇时间段的时候,路灯工作于另外一种时间机制。即,绿灯(60s) 黄灯 (5s)左拐灯(20s)黄灯(5s) 红灯(30s) 。 (当此方向上路灯为红

4、灯时,即 30s 的时间内,另一方向上的路灯要完成,绿灯(5s)黄灯(5s)基于 VHDL 的交通灯控制器设计4 / 18左拐灯(15s) 黄灯(5s),的转换。 )A, B 路口详细工作情况见下图。 (注:/之前的为南北方向的路灯状况, /之后的为东西方向的路灯状况;括号内秒数对应为倒计时时间。 )题目要求,两路口联动(即 A 处驶往 B 处的车辆,在 A 处南北方向交通灯绿灯后 20 秒钟后 B 处的南北方向交通灯绿灯通行。 ) ,本设计方案中,B 路口从 A 的第六状态开始工作,和 A 路口的状态刚好相差 20s,从而可以实现 A,B 路口的联动。图示为 A,B 路口繁忙时段(7a.m8

5、p.m)的工作情况,一次状态循环用时 115s。当时间为闲时段的时候,状态循环模式完全一样,只是路灯倒计时时间如前述对应,作相应的改变,此时一次状态循环用时 120s。综上所述,本设计方案先采用一个总系统时钟进行一天 24 小时循环计时,并以此时钟来判断当前处于繁忙时段还是闲时段,已决定当前的工作状态。当系统处于繁忙时段时,采用 115s 的计数器来控制路灯的循环工作;当系统转换到闲时段时,则采用另一 120s 的计数器来控制路灯的循环。黄灯(15s)/ 红灯绿灯(50s)/ 红灯左拐灯(5s )/红灯黄灯(5s )/红灯红灯/绿灯(15s)红灯/黄灯(5s )红灯/ 左拐灯(15s)红灯/黄

6、灯(5s )黄(15s)/红灯绿(50s)/红灯左拐灯(5s )/红灯黄灯(5s )/红灯红灯/ 绿灯(15s)红灯/黄灯(5s )红灯/ 左拐灯(15s)红灯/黄灯(5s )基于 VHDL 的交通灯控制器设计5 / 18(2)单元模块设计 系统时钟单元计数:0 24*3600 忙时段计数器单元计数:0 115 闲时段计数器单元计数:0 120 主控制单元根据系统时钟和计数器单元来控制 A,B 路口的路灯显 示状况,并且各自显示路灯倒计时时间。ClockResetHoldCountNum16.0Countersysteminst3ClockResetHoldCountNum6.0Counter

7、115inst1ClockResetHoldCountNum6.0Counter120inst2ClockHoldCountsystem16.0Countnum16.0Countnum26.0NumA16.0NumA26.0NumB16.0NumB26.0RedA1YellowA1GreenA1LeftA1RedA2YellowA2GreenA2LeftA2RedB1YellowB1GreenB1LeftB1RedB2YellowB2GreenB2LeftB2controllerinst基于 VHDL 的交通灯控制器设计6 / 18(3)各单元模块的连接VCCclock INPUTVCCRes

8、et INPUTVCCHold INPUTRedA1OUTPUTYellowA1OUTPUTGreenA1OUTPUTLeftA1OUTPUTRedA2OUTPUTYellowA2OUTPUTGreenA2OUTPUTLeftA2OUTPUTRedB1OUTPUTYellowB1OUTPUTGreenB1OUTPUTLeftB1OUTPUTRedB2OUTPUTYellowB2OUTPUTGreenB2OUTPUTLeftB2OUTPUTNumA16.0OUTPUTNumA26.0OUTPUTNumB16.0OUTPUTNumB26.0OUTPUTClockHoldCountsystem16.

9、0Countnum16.0Countnum26.0NumA16.0NumA26.0NumB16.0NumB26.0RedA1YellowA1GreenA1LeftA1RedA2YellowA2GreenA2LeftA2RedB1YellowB1GreenB1LeftB1RedB2YellowB2GreenB2LeftB2controllerinstClockResetHoldCountNum6.0Counter115inst1ClockResetHoldCountNum6.0Counter120inst2ClockResetHoldCountNum16.0Countersysteminst3基

10、于 VHDL 的交通灯控制器设计7 / 18三、仿真调试据题目要求,为系统设定一个时钟输入(clock) ,突发事件控制输入(hold) ,和系统重设输入(reset) 。由功能仿真图可以看到,当系统时钟开始输入时,系统时间对应为凌晨 0 点,即闲时段。 A1 路口从第一状态开始循环,绿灯(60s) 黄灯 (5s)左拐灯(20s) 黄灯(5s) 红灯(30s)。A2 路口循环状态为:红灯(90s)绿灯(5s)黄灯(5s) 左拐灯(15s) 黄灯(5s),的转换。 )B1 路口状态滞后 A1 路口 20s 的时间,B2 路口滞后 A2 路口20s 的时间,刚好满足两路口的联动性。基于 VHDL

11、的交通灯控制器设计8 / 18当路况处于忙时间段的时候,路灯工作于另外一种时间机制。A1:绿灯(50s)黄灯(5s)左拐灯(15s) 黄灯 (5s)红灯(40s) ;A2:红灯(75s)绿灯(15s)黄灯(5s) 左拐灯 (15s)黄灯(5s) ;B1 路口状态滞后 A1 路口 20s 的时间;B2 路口状态滞后 A2 路口 20s 的时间。基于 VHDL 的交通灯控制器设计9 / 18四、设计总结(1)设计的小结和体会此次VHDL设计我们小组进行的比较顺利,从最开始的题目理解,方案设计分析到具体设计以及最后的仿真调试成功,基本上都是水到渠成。我觉得这其中最重要的一点是我们提出了比较好的方案,

12、实现简单,条理清楚,并且很好的满足题目要求。比如用先conunt_system时钟来决定当先的闲/忙状态,然后分别用count1和count2来分别实现闲忙时路灯的具体控制。在控制路灯的同时显示倒计时时间,更符合实际情况。(2)对设计的进一步完善提出意见或建议此项关于路灯的 VHDL 设计基本上达到了题目的功能要求。但是在时间的显示的功能仿真中,波形有一些毛刺,分析考虑主要是时间向量的各位并没有完全同时随着时钟变化,存在微小的偏差。由于毛刺时间非常小,在实际显示过程中,时间显示不存在跳变问题。另外一点就是题目对路灯显示时间的限制使得路灯变换时间并不是十分合理。如闲时段时 A2 和 B2 路口的

13、绿灯时间只有 5s。这个与事实不符,如果能调整路灯显示时间,将会使设计更加合理。五、成员分工小组成员共同讨论查阅资料,确定系统的主要设计方案。杨运峰 系统具体框架的确立和 vhdl 主体程序的编写。叶展 参与程序的编写和检查修改,并完成编写设计报告。史泰龙 参与设计报告的编写和检查改进。基于 VHDL 的交通灯控制器设计10 / 18六、参考文献计算机结构与逻辑设计/黄正瑾编著 北京:高等教育出版社,2001,6现代电子技术VHDL 与数字系统设计/杨刚,龙海燕编著。北京:电子工业出版社,2004。4(高等学校电工电子实践系列) 数字电路与可编程技术试验教程/武俊鹏,蒙昭林,付小晶主编哈尔滨:

14、哈尔滨工程大学出版社,2007,3基于 VHDL 的交通灯控制器设计11 / 18七、附录library ieee;use ieee.std_logic_1164.all; entity Countersystem isport (Clock:in std_logic;Reset:in std_logic;Hold:in std_logic;CountNum:buffer integer range 0 to 24*3600);end;architecture Behavoir of Countersystem isbeginprocess(Reset,Clock)beginif Reset=1 thenCountNum=7*3600 and Countsystem=20*3600) thenif(Countnum150) then -state of crossing A when busyRedA1=0;YellowA1=0;GreenA1=1;LeftA1=0;NumA1=50-CountNum1;RedA2=1;YellowA2=0;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号