文档详情

EDA交通灯课程设计(论文).doc

发布:2016-10-22约5.71千字共12页下载文档
文本预览下载声明
计算机硬件设计实训 报 告 题目: 具有四种信号灯的交通灯控制器 班级 学号 姓名 评分表 出勤 10分 设计能力 20分 调试能力 20分 实训报告 30分 答辩 20分 总分 成绩等级: 指导教师: 2012年12月 具有四种信号灯的交通灯控制器 一、总体要求 初始条件:……。各计时电路为倒计时显示。 二、设计原理及思想 根据设计要求和系统所具有的功能,并参考相关的文献资料,经行方案设计,可以画出如下图所示的交通信号灯控制器的系统框图。 图1、具有四种信号灯的交通灯控制器系统框图 由交通灯控制器系统框图(图1)可知,该系统由4个子模块组成。其中包括: 定时模块; 主控电路模块; 译码驱动电路模块; 扫描显示模块。 以上四个电路可以分为两大模块,即:主控电路及计时(定时)模块和扫描显示译码模块。 三、单元模块设计与仿真 1、主控电路及计时(定时)模块 控制模块根据外部输入信号和计时模块产生的输出信号,产生系统的状态机,控制其他部分协调工作。计时模块用来设定主干道和支干道计时器的初值,并为扫描显示译码模块提供倒计时时间。 控制及计时模块采用状态机进行设计,可以定义出8种状态,分别为S0:主干道绿灯,支干道红灯且禁止通行;S1:主干道黄灯亮,支干道红灯禁止通行;S2:左拐灯亮,允许左行,支干道红灯,禁止通行;S3:主干道黄灯,停车;支干道红灯,禁止通行;S4:主干道红灯,支干道绿灯。S5:主干道红灯,支干道黄灯S6:主干道红灯,支干道左拐灯亮,允许左拐S7:主干道红灯,支干道黄灯。 其仿真波形如下: 图2、主控电路及计时(定时)模块仿真图 2、扫描显示译码模块 扫描显示译码模块可以根据控制信号,驱动交通信号灯以及倒计时数码管的显示,其中数码管的显示采用动态扫描显示。本模块采用数码显示管来完成。数码显示管是计数器等电路的最好选择。数码管可以用TTL或者CMOS集成电路直接驱动完成。 仿真波形如下: 图3、扫描显示译码模块仿真图 3、顶层文件的编写 将以上各个单元模块仿真成功后,再进行顶层文件的编写。根据以上设计思路,可以得到如下的顶层文件原理图 图4、具有四种信号灯的交通灯控制器的顶层原理图 系统输入信号: clk:1kHz的时钟信号; en:系统使能信号 系统输出信号: lampa1:主干道红灯信号 lampa2:主干道黄灯信号 lampa3:主干道绿灯信号 lampa4:主干道左拐信号 lampb1:主干道红灯信号 lampb2:主干道黄灯信号 lampb3:主干道绿灯信号 lampb4:主干道左拐信号 acounth,acountl:主干道计时输出 bcounth,bcountl:支干道计时输出 仿真波形如下: 图5、具有四种信号灯的交通灯控制器的顶层文件仿真图(1) 图6、具有四种信号灯的交通灯控制器的顶层文件仿真图(2) 四、结果及分析 通过仿真可以看到: 当主干道绿灯,支干道红灯时,主干道倒计时高位置数0100,低位置数0101;支干道高位置数0101,低位置数0000; 当主干道黄灯,支干道红灯时,主干道黄灯倒计时置数0101;支干道继续刚才的减计数; 当主干道红灯,支干道绿灯时,主干道倒计时高位置数0011,低位置数0000;支干道高位置数0010,低位置数0101; 当主干道红灯,支干道黄灯时,支干道黄灯倒计时置数0101;主干道继续刚才的减计数。 在S4状态结束后,自动跳回到S0状态,继续判断支干道是否有车行驶,若有车行驶,则跳转到S1状态,给高、低位置数,继续进行减计时。 系统根据COUNT的变化自动在各状态下跳变,当count为45时,跳变到S2状态;当count为50时,跳变到S3状态;当count为75时,跳变到S4状态;当count为80时,若支干道没有车跳变到S0状态,有车则跳变到S1状态。 五、调试过程中遇到的问题及解决方法 设计过程中参考课本后面的附带的设计程序,发现了书中的一些小瑕疵,在老师的帮助下,加以修改,最终完成了主控电路模块的仿真。 错误: 修改后: 六、收获与体会 本设计采用了VHDL硬件描述语言文本输入方式,在确立总体预期实现功能的前提下,分层次进行设计。实现了具有四种信号灯的交通灯控制器,以及时间的倒计时显示,指挥行人和车辆安全通行。程序中所用到的数据均可以根据实际情况进行设置,修改灵活方便。通过此次设计,我对于VHDL硬件描述语言有了更深入地了解,也在原来所学的理论基础上得到了进一步地应用。但由于经验上的不足,有些地方还需要做进一步地改善。
显示全部
相似文档