交通灯控制器EDA设计报告.docxVIP

  • 31
  • 0
  • 约8.36千字
  • 约 29页
  • 2020-03-13 发布于江西
  • 举报
交通灯控制器设计报告 姓名: 学号: 一、概述 在十字路口,每条道路各有一组红、黄、绿灯和倒计时显示器,用以指挥 车辆和行人有序地通行。其中,红灯(R)亮,表示该条道路禁止通行;黄灯 (Y)亮,表示停车;绿灯(G)亮,表示可以通行。倒计时显示器是用来显示 允许通行和禁止通行地时间。交通灯控制器就是用来自动控制十字路口的交通 灯和计时器,指挥各种车辆和行人安全通行。 二、功能要求 在十字路口的两个方向上各设一组红、绿、黄灯,显示顺序为其中一方向 (东西方向)是绿灯、黄灯、红灯;另一方向(南北方向)是红灯、绿灯、黄 灯。 设置一组数码管,以倒计时的方式显示允许通行或禁止通行的时间,其中 绿灯、黄灯、红灯的持续时间分别是 20s、5s 和 25s。 当各条路上任意一条上出现特殊情况时,如当消防车、救护车或其他需要 优先放行的车辆通过时,各方向上均是红灯亮,倒计时停止,且显示数字在闪 烁。当特殊运行状态结束后,控制器恢复原来状态,继续正常运行。 三、功能设计 交通灯用以指挥车辆和行人有序地通行,在功能上要实现红黄绿灯之间状 态变换、计时设置和紧急情况三大功能。 3.1 红黄绿灯之间状态变换 对于十字路口两个方向上的交通灯,要保证一条道路通行另一条禁止,同 时还要考虑黄灯到红灯的变换,因此一共有四个状态,即南北红东西绿、南北 红东西黄、南北绿东西红、南北黄东西红。 3.2 计时设置 根据要求,绿灯、黄灯、红灯的持续时间分别是 20s、5s 和 25s,对应到 3.1 中的四个状态分别持续时间为 20s、5s、20s、5s。 3.3 紧急情况 当各条路上任意一条上出现特殊情况时,各方向上均是红灯亮,倒计时停 止,且显示数字在闪烁。 南北 20s东西 南北 20s 东西 20s 南北 20s 东西 20s 综上分析,可得如下循环图: 南北红 东西绿  南北 20  南北红 东西黄 南北黄 东西红  南北绿 东西红 图 1 功能状态循环图 四、功能模块设计 根据 3 节中的功能设计,要实现交通灯的控制需要 5 个功能模块,分别为 4M 分频器,数码管译码器,交通灯控制器以及计时器。 4.1 4M 分频器 由于引脚选用 4M 时钟,而计时单位为秒,需要对时钟信号进行 4M 分频处 理,编译后生成 4M 分频器如下图: 图 2 4M 分频器 4.2 数码管译码器 输出时间为 16 进制数,要在数码管上显示需设计数码管译码器对其进行译 码,编译后生成数码管译码器如下图:东西5s南 东西5s 南北5s 东西5s 南北5s 图 3 数码管译码器 4.3 交通灯控制器 为完成四个状态之间的循环,需交通灯控制器通过时钟信号的变化来完成 状态循环的功能,编译后生成交通灯控制器如下图: 图 4 交通灯控制器 4.4 计时器 计时器不仅要完成倒计时功能,还要随状态的变化而改变其倒计时时间, 编译后生成计时器如下图: 图 5 计时器 五、引脚设置 针对 EP1C6Q240C8 芯片,引脚设置如下: 图 6 引脚设置 六、元器件连接 根据 4、5 节中的内容,将元器件连接,如下图: 图 7 交通灯控制器原理图 七、波形仿真分析 在 clc 在 clc 上升沿,tim1 和 tim2 计数都达到 01,此时改变状态,主道路黄灯熄灭红灯 点亮,从道路红灯熄灭绿灯点亮。并开始 计数。 Reset 置 1 后开始进入计数状态, 并随着时钟上升沿改变状态。 在 clc 上升沿,tim2 计数到达 01,此时改 变状态,主道路的路灯熄灭,黄灯点亮, 从道路的红灯保持不变,持续 5 秒并计数。 emg emg 为紧急情况的开关,在紧急情况下,将 emg 置 0,此时主动道路都变为红灯,且计 数器停止计数,保持原计数时间并闪烁。 紧急情况排除后,emg 恢复置 1,此时恢复紧急状况之前的状 态,并继续计数。 八、 程序代码 8.1 4M 分频器 LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; USE IEEE.STD_LOGIC_UNSIGNED.ALL ; -- 运算符重载 ENTITY cnt4M IS PORT ( ena,clr,d_ctr,clk : IN STD_LOGIC ; q : OUT STD_LOGIC_VECTOR( 21 DOWNTO 0 ); co:outstd_logic ) ; END ENTITY cnt4M; ARCHITECTURE bhv OF cnt4M IS SIGNAL q1 : STD_LOGIC_VECTOR(21 DOWNTO 0 ); BEGIN q = q1 ; PROCESS (clk,clr,ena,d_ctr) BEGIN IF clr=0 THEN q1= (other

文档评论(0)

1亿VIP精品文档

相关文档