1、 课 程 设 计 报 告 题题 目目: : 交通信号灯控制电路交通信号灯控制电路 摘要摘要 Verilog HDL 作为一种规范的硬件描述语言,被广泛应用于数字 电子系统设计。 它允许设计者进行各种级别的逻辑设计, 也可以进行 数字逻辑系统的仿真验证、时序分析、逻辑综合操作。本文介绍了应 用 Verilog HDL 语言自顶向下的设计方法设计交通灯控制系统,使其 实现道路交通的正常运转, 突出了其作为硬件描述语言的良好的可读 性、可移植性和易理解等优点。通过 Quartus 完成了程序的编写、 编译与仿真,生成顶层文件后下载到芯片 Cyclone EP3C16F484C6 芯片上,在 DE0
2、开发板上进行验证。验证结果表明,该设计可以完成 交通灯控制的相关要求。 关键词:关键词:交通信号灯控制交通信号灯控制 Verilog HDL Quartus Verilog HDL Quartus DE0DE0 目录目录 一、课程设计目的 二、设计任务与要求 三、方案设计 四、模块设计 五、程序代码 六、开发板验证 七、遇到问题与解决办法 八、总结 九、参考文献 十、附录(管脚对应关系) 一、一、 课程设计目的课程设计目的 设计目的: 初步了解掌握硬件描述语言,体会自顶向下的设计思想,锻炼查 阅资料与知识应用的能力。 二、二、 设计任务与要求设计任务与要求 设计任务: 设计一个十字路口的交通灯
3、控制电路,要求甲车道和乙车道两条 交叉道路上的车辆交替运行 设计要求: 1、南北和东西方向各有一组绿、黄、红灯用于指挥交通,绿灯、黄 灯和红灯的持续时间分别为 20 秒、5 秒和 25 秒; 2、当有特殊情况(如消防车、救护车等)时,两个方向均为红灯亮, 计时停止,当特殊情况结束后,控制器恢复原来状态,继续正常运行; 3、用两组数码管,以倒计时方式显示两个方向允许通行的时间。 三、三、 方案设计方案设计 任务分析: 东西(A 车道)和南北(B 车道)方向各有一组绿、黄、红灯用于指挥 交通(如图 1、2) ,绿灯、黄灯和红灯的持续时间分别为 25 秒、5 秒和 30 秒。 图 1 十字路口交通灯
4、模型 A B 25s 30s 55s 60s A 方向 绿灯亮 黄灯亮 红灯亮 B方向 红灯亮 绿灯亮 黄灯亮 图 2 计数值与交通灯亮灭的关系 如果有特殊情况发生,两个方向均亮红灯,因此,可以设计如下五个状态五个状态, 其关系为: 状态状态 亮灯情况 车辆行驶状况 持续时 间(秒) 下一状态下一状态 A 车道 B 车道 S0 红亮 红亮 特殊状况,两方向均禁止通行 S(?) S1 绿亮 红亮 A 方向通行,B 车道禁止通行 20 S2 S2 黄亮 红亮 A 车道缓行,B 车道禁止通行 5 S3 S3 红亮 绿亮 A 车道禁止通行,B 车道通行 20 S4 S4 红亮 黄亮 A 车道禁止通行,
5、B 车道缓行 5 S1 S(?)即返回暂停前一状态 正常工作 特殊情况 设计思想: S1 S4 S3 S2 S0 根据设计要求,考虑用 4 个模块实现:基频分频模块、60 进制计 数器、交通控制、分位译码显示模块。整个电路以一个 50MHz 的晶振 为时钟源,由分频得到所需时钟 1Hz。设计一个技术范围是 059 的计 数器和一个根据计数值做出相应反映的计数器,并且对于计数值以两 组数码管来显示,这就需要相应的译码电路。对于特殊情况,要设计 特殊的对待方式,当进入此方式时两个方向的红灯点亮。 四、四、 模块设计模块设计 1)分频模块 由于实验板只能提供 50MHz 的时钟信号,而电路中需要使用
6、较低频率 的时钟,经分配产生 1Hz 频率送给交通控制器和计数器。 2)计数器 本设计主要是由计数器来实现交通灯的亮灭关系。当检测到特殊情况 时,计数器暂停。 3)交通控制器 根据计数器的数值控制发光二级管亮灭,输出倒计时数值给译码管的 分位电路。 4)分位译码显示 交通灯时钟输出两组时间,数码管显示。 五、五、 程序代码程序代码 module trafficlight(clk50M,hold,RedA,GreenA,YellowA,RedB,GreenB,YellowB, AG,AL,BG,BL); input clk50M,hold; output reg RedA,GreenA,YellowA,RedB,GreenB,YellowB; output reg6:0AG,AL,BG,BL; / clk50M 输入时钟信号 /hold 突发情况信号 / RedA,GreenA,YellowA 输出 A 方