您好,欢迎来到纷纭教育。
搜索
您的当前位置:首页Verilog-HDL的交通灯控制器设计

Verilog-HDL的交通灯控制器设计

来源:纷纭教育
课程设计报告

2015-2016学年第2学期

课程设计名称: 电子综合设计EDA课程设计 院 (系): 电子信息学院 专业: 电子信息工程 班级: 电子1313 姓名: xx 学号: 03xx

综合实验时间: 2016/7/11-2016/7/15 指导教师: 钟 旭 提交时间: 2016/7/15

上海电机学院课程设计任务书

课程名称 电子综合设计EDA课程设计 课程代033117P1 码 1、数字式竞赛抢答器 2、自动售票机 3、乒乓球比赛游戏机 课程设计 课题清单 6、洗衣机控制器 7、交通信号灯控制器 8、电梯控制器 4、电子密码锁 5、出租车自动计费器 设计时2016 年 7 月 11 日 —— 2016 年 7 月 15 日 间 一、课程设计任务汇总 设计任务:交通信号灯控制器 功能要求: 1、设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外; 2、红、绿、黄发光二极管作信号灯,用传感器或逻辑开关作检测车辆是否到来的信号; 3、主干道处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯; 4、主、支干道均有车时,两者交替允许通行,主干道每次放行时间A,支干道每次放行时间A,设立A、B计时显示电路; 5、在每次由绿灯亮到红灯亮的转换过程中,要亮黄灯C时间作为过渡,使行驶中的车辆有时间停到禁行线外,设立C计时显示电路。 时间A>B>C 二、对课程设计成果的要求(包括课程设计报告、图纸、图表、实物等软硬件要求) 1.课程设计基本要求 课题分析、查阅资料、方案论证、方案实现、系统联调、撰写课程设计报告 2.成果要求 (1)系统方案 (2)电路RTL原理图 (3)Verilog源程序和流程图(或状态机转移图) (4)Verilog测试程序 (5)设计说明书(课程设计报告) 三、课程设计工作进度计划: 时间星期一星期二星期三星期四安排内容下达任务程序设计程序调试撰写报告考核答辩星期五四、主要参考资料: 指 导 书:《Verilog数字系统设计教程》 夏宇闻编著 北京航空航天大学出版社 参考资料:《EDA设计实验教程》 艾明晶编著 清华大学出版社

目录

第一章 设计原理 ..................................... 错误!未定义书签。 设计要求 .......................................... 错误!未定义书签。 设计思路和原理 .................................... 错误!未定义书签。 实现方法 .......................................... 错误!未定义书签。 第二章 Verilog HDL程序设计 ......................... 错误!未定义书签。 整体设计 .......................................... 错误!未定义书签。 具体设计 ......................................... 错误!未定义书签。 第三章 仿真测试 ..................................... 错误!未定义书签。

波形仿真 ......................................... 错误!未定义书签。 第四章 设计总结 ..................................... 错误!未定义书签。

第一章 设计原理

设计要求

设计一个交通控制器,用LED显示灯表示交通状态,并以7段数码显示器显示当前状态剩余秒数 主干道绿灯亮时,支干道红灯亮;反之亦然,二者交替允许通行,主干道每次放行35s,支干道每次放行25s。每次由绿灯变为红灯的过程中,亮光的黄灯作为过渡,黄灯的时间为5s。能进行特殊状态显示,特殊状态时东西、南北路口均显示红灯状态。用LED灯显示倒计时,并且能实现总体清零功能,计数器由初始状态开始计数,对应状态的显示灯亮。能实现特殊状态的功能显示。[1] 设计思路和原理

(1) 主、支干道用传感器检测车辆到来情况,实验电路用逻辑开关代替。 (2) 选择1HZ时钟脉冲作为系统时钟。

(3) 45s、25s、5s定时信号可用顺计时,也可用倒计时,计时起始信号由主控电路给出,每当计满所需时间,启、闭三色信号灯,并启动另一计时电路。

(4) 交通灯状态变化如表1及图1所示:

主干道(A)状态012主干道(A)交通灯及显示时间绿(45s )支干道(B)交通灯及显示时间红(50s)支干道(B)状态012Emergency 黄(5s )绿(25s)红(30s)黄(5s)Emergency红(0 )红(0)表1 交通灯状态图

检测到支路无行人和车辆状态0Emergency状态1状态2 图1 交通灯状态图

(5) 交通灯设计输入信号4个:CLK(时钟),EN(使能),EMERGENCY(紧急),BCHECK(检测) ;输出信号4个:LAMPA(主干道信号灯),LAMPB(支干道信号灯),ACOUNT(主干道计数器),BCOUNT(支干道计数器)。交通灯控制原理如图2所示。

图2 交通灯原理图

实现方法

本次采用文本编辑法,即利用Verilog HDL语言描述交通控制器,通过状态机计数法,实现设计所要求的交通灯控制及时间显示。设计中用两组红黄绿LED模拟两个方向上的交通灯,用4个7段数码管分别显示两个方向上的交通灯剩余时间,控制时钟由试验箱上频率信号提供。[2]

第二章 Verilog HDL程序设计

整体设计

根据上章设计原理,交通灯控制的关键是各个状态之间的转换和进行适当的时间延时,根据状态机的设计规范,本次设计了三个状态之间的循环转化,其真值表及状态转化图如下所示:

状状00状状00状状10状状11状状01状状01状状11状状10状状状状状状状状状状状状状状状状状状状状状状状状状001010100010状状状状状状状状状状状状状状状状状状状状状状状状状100010001010

图2 交通灯控制状态转化

说明:该状态图为交通灯在正常情况下的状态转化图,进入控制后,状态00时主干道绿灯及支干道红灯亮起,进入状态01后两路黄灯亮起,状态11时主干道红灯及支干道绿灯亮起。进入10状态两路黄灯亮起。结束一个循环,从00状态重新开始循环。

为实现控制与显示的功能,需要设计交通灯点亮顺序控制程序,倒数计时程序,七段数码管显示程序,数码管显示扫描程序,其系统结构图如下所示:

holdrst状状状状1Hz状状状状状状状状状状状状状状状状状状状clk1KHz状状状状状状状1Hz状状状状状状状状状状状状状状状状状状状状状 图3 交通灯控制系统结构图

其中rst为复位信号,clk为时钟信号,hold为特殊情况控制信号,输入hold时两个方向红灯无条件亮起。 具体设计

根据整体设计要求,编写各个功能部分Verilog HDL程序,设置各输入输出变量说明如下

clk: 为计数时钟; qclk:为扫描显示时钟;

en: 使能信号,为1 的话,则控制器开始工作; rst: 复位信号,为1的话,控制及技术回到初始状态;

hoid:特殊情况控制信号,为1的话,则两个方向无条件显示为红灯;

light1: 控制主干道方向四盏灯的亮灭;其中,light1[0]~light[2],分别控制主干道方向的

绿灯、黄灯和红灯;

light2: 控制支干道方向四盏灯的亮灭;其中,light2[0] ~ light2[2],分别控制支干道方向的

绿灯、黄灯和红灯;

num1: 用于主干道方向灯的时间显示,8 位,可驱动两个数码管; num2: 用于支干道方向灯的时间显示,8 位,可驱动两个数码管; counter:用于数码管的译码输出; st1,st2:数码管扫描信号 。 详细设计步骤:

(1) 确定4个输入信号与4个输出信号,具体见图2; (2) 将50MHZ时钟分频为1MHZ;

(3) 设计红黄绿3中信号灯切换的时间及顺序; (4) 设计支路检测状态下的信号灯切换;

(5) 设计紧急(EMERGENCY)状态下信号灯的切换; (6) 程序使用3always块[1],详细代码如下:

总体程序见程序清单所示

第三章 仿真测试

波形仿真

在仿真软件下创建工程,新建编辑设计文件,将程序输入,整体编译后,新建波形仿真文件。设置仿真时间,时钟周期,输入输出端口,进行波形仿真。具体仿真波形图及说明如下所示:

仿真截止时间:100us; 时钟:clk 1us,qclk 正常工作时波形仿真图

图4没有紧急情况时主干道和支干道的信号灯的显示状态

图5没有紧急情况时主干道和支干道的信号灯的显示状态

图6没有紧急情况时主干道和支干道的信号灯的显示状态

图7没有紧急情况时主干道和支干道的信号灯的显示状态

图8 没有紧急情况时主干道和支干道的信号灯的显示状态

图9有紧急情况时主干道和支干道的信号灯的显示状态

波形仿真主要完成了控制与计数以及数码管显示的波形图。num1,num2分别表示主干道和支干道的倒计时,num1 = 00100000主干道计时20秒 num2 = 00100101支干道计时25秒;s1用来表示主干道最短通车时间是否已到,到了s1=1;s2用来表示支干道最长通车时间是否已到,到了s2=1,控制输出量从高

位到低位分别表示红,黄,绿为light1=001,light2=100,counter用于时钟计数。hold为紧急情况时主干道和支干道的信号灯为红灯。

图6 顶层文件图

结果分析:仿真结果符合设计要求,交通灯有规律的变化,显示倒计时;在检测支路无车辆和紧急情况下,交通灯可以做出相应调整。设计中使用FSM(三段式),此方式描述方法虽然代码结构复杂了一些,但是使FSM 做到了同步寄存器输出,有利于实现交通灯控制[2]。

第四章 设计总结

这次课程设计,通过对交通等控制器设计,解决了之前课上存在的一些困

惑,就是对测试程序的编写,调试,对于测试程序有了很大的提升。在程序编写和调试过程中从图书馆借阅了很多相关程序,并对原理和算法进行理解,收获很大。

对于课题,首先进行了单元模块的设计,将每一个单元模块设计完成后再经行仿真,仿真成功后就可以进行顶层文件的编写了,在顶层文件的编写过程中遇到了一些问题,特别是各模块之间的连接,以及信号的定义,总是有错误。有的时候信号的定义容易出现混淆,在反复的修改过后,顶层文件终于能够编译成功了。在波形仿真的过程中,同样遇到了困难,有的时候会出现仿真时间过长的问题,这个时候应该修改系统时钟的频率。在设计的过程中还应该多联系下实际情况,要了解实际情况下交通信号灯的工作情况,才能更好的完成此次的课程设计。这次的课程设计使我巩固了以前学习到的知识,还使我掌握了以前没有掌握的知识,同时锻炼了自己的能力。

通过这次课程设计,并进一步熟练了对Xilinx ISE软件的操作。通过与同学探讨和请教老师,终于把问题都解决了,并加深了对交通灯原理和设计思路的了解。同时也掌握了做课程设计的一般流程,为以后的设计积累了一定的经验。做课程设计时,先查阅相关知识,把原理吃透,确定一个大的设计方向,在按照这个方向分模块的把要实现的功能用流程图的形式展示。最后参照每个模块把输入和输出引脚设定,运用我们所学的Verilog语言进行编程。总之,通过这次的设计,进一步了解了EDA 技术,收获很大,对软件编程,排错调试,相关仪器设备的使用技能等方面得到较全面的锻炼和提高。

程序清单

module

sy(en,clk,qclk,rst,rst1,hold,num1,num2,light1,light2,counter,st1,st2);

input en,clk,qclk,rst,hold,rst1; output st1,st2;

output[7:0] num1,num2; output[6:0]counter;

output[2:0] light1,light2; reg tim1,tim2,st1,st2; reg[1:0]state1,state2,ste; reg[2:0]light1,light2; reg[3:0]num; reg[6:0]counter; reg[7:0] num1,num2;

reg[7:0] red1,red2,green1,green2,yellow1,yellow2;

always @(en ) if(!en)

begin n(en), .clk(clk), .qclk(qclk), .rst(rst), .rst1(rst1), .hold(hold), .num1(num1), .num2(num2), .light1(light1), .light2(light2), .counter(counter), .st1(st1), .st2(st2)

);

initial begin

// Initialize Inputs en = 0; clk = 0; qclk = 0; rst = 0; rst1 = 0; hold = 0;

#500 en=0; #500 en=1; hold=0; #500 rst=1; rst1=1; #500 rst=0;

rst1=0; end

always #500 clk=~clk; always #50 qclk=~qclk; endmodule

参考资料

[1] 《Verilog数字系统设计教程》 夏宇闻编著 北京航空航天大学出版社 [2] 《EDA设计实验教程》 艾明晶编著 清华大学出版社

小组分工

Verilog HDL程序编写 周立 仿真测试 徐婷 PPT答辩 王小晗 报告撰写

邱越

课程设计评语及成绩评定记录

指导教师评语: 学习态度: □ 积极 ■ 较积极 □ 一般 □ 较差 现场设计操作: □ 准确 ■ 基本正确 □ 误差较大 □ 不准确 答辩: □ 准确、有条理 ■基本正确 □ 一般 □ 不清晰、没有条理 报告、PPT等书写: □ 规范、清晰、全面 ■ 较规范、较清晰、较全面 □ 一般 □ 不符合要求 设计完成质量: □ 出色 ■ 非常好 □ 一般 □ 较差 综合评定分数: 分 指导教师签名 2016 年 7 月 15 日

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- fenyunshixun.cn 版权所有 湘ICP备2023022495号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务