版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计报告2015-2016学年第2学期课程设计名称: 电子综合设计EDA课程设计 院 (系): 电子信息学院 专业: 电子信息工程 班级: 电子1313 姓名: xx 学号: xx 综合实验时间: 2016/7/11-2016/7/15 指导教师: 钟 旭 提交时间: 2016/7/15 上海电机学院课程设计任务书课程名称电子综合设计EDA课程设计课程代码P1课程设计课题清单1、数字式竞赛抢答器2、自动售票机3、乒乓球比赛游戏机4、电子密码锁5、出租车自动计费器6、洗衣机控制器7、交通信号灯控制器8、电梯控制器设计时间2016 年 7 月 11 日 2016 年 7 月 15 日一、课程设
2、计任务汇总设计任务:交通信号灯控制器功能要求:1、设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外;2、红、绿、黄发光二极管作信号灯,用传感器或逻辑开关作检测车辆是否到来的信号;3、主干道处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯;4、主、支干道均有车时,两者交替允许通行,主干道每次放行时间A,支干道每次放行时间A,设立A、B计时显示电路;5、在每次由绿灯亮到红灯亮的转换过程中,要亮黄灯C时间作为过渡,使
3、行驶中的车辆有时间停到禁行线外,设立C计时显示电路。时间ABC二、对课程设计成果的要求(包括课程设计报告、图纸、图表、实物等软硬件要求)1课程设计基本要求 课题分析、查阅资料、方案论证、方案实现、系统联调、撰写课程设计报告 2成果要求(1)系统方案 (2)电路RTL原理图(3)Verilog源程序和流程图(或状态机转移图)(4)Verilog测试程序(5)设计说明书(课程设计报告)三、课程设计工作进度计划:时间安排内容星期一下达任务星期二程序设计星期三程序调试星期四撰写报告星期五考核答辩四、主要参考资料:指 导 书:Verilog数字系统设计教程 夏宇闻编著 北京航空航天大学出版社参考资料:E
4、DA设计实验教程 艾明晶编著 清华大学出版社目录第一章 设计原理41.1设计要求41.2设计思路和原理41.3实现方法4第二章 Verilog HDL程序设计62.1整体设计62.2 具体设计7第三章 仿真测试73.1 波形仿真7第四章 设计总结10第一章 设计原理1.1设计要求设计一个交通控制器,用LED显示灯表示交通状态,并以7段数码显示器显示当前状态剩余秒数 主干道绿灯亮时,支干道红灯亮;反之亦然,二者交替允许通行,主干道每次放行35s,支干道每次放行25s。每次由绿灯变为红灯的过程中,亮光的黄灯作为过渡,黄灯的时间为5s。能进行特殊状态显示,特殊状态时东西、南北路口均显示红灯状态。用L
5、ED灯显示倒计时,并且能实现总体清零功能,计数器由初始状态开始计数,对应状态的显示灯亮。能实现特殊状态的功能显示。11.2设计思路和原理(1) 主、支干道用传感器检测车辆到来情况,实验电路用逻辑开关代替。(2) 选择1HZ时钟脉冲作为系统时钟。(3) 45s、25s、5s定时信号可用顺计时,也可用倒计时,计时起始信号由主控电路给出,每当计满所需时间,启、闭三色信号灯,并启动另一计时电路。(4) 交通灯状态变化如表1及图1所示:表1 交通灯状态图图1 交通灯状态图(5) 交通灯设计输入信号4个:CLK(时钟),EN(使能),EMERGENCY(紧急),BCHECK(检测) ;输出信号4个:LAM
6、PA(主干道信号灯),LAMPB(支干道信号灯),ACOUNT(主干道计数器),BCOUNT(支干道计数器)。交通灯控制原理如图2所示。图2 交通灯原理图1.3实现方法本次采用文本编辑法,即利用Verilog HDL语言描述交通控制器,通过状态机计数法,实现设计所要求的交通灯控制及时间显示。设计中用两组红黄绿LED模拟两个方向上的交通灯,用4个7段数码管分别显示两个方向上的交通灯剩余时间,控制时钟由试验箱上频率信号提供。2第二章 Verilog HDL程序设计2.1整体设计根据上章设计原理,交通灯控制的关键是各个状态之间的转换和进行适当的时间延时,根据状态机的设计规范,本次设计了三个状态之间的
7、循环转化,其真值表及状态转化图如下所示:图2 交通灯控制状态转化说明:该状态图为交通灯在正常情况下的状态转化图,进入控制后,状态00时主干道绿灯及支干道红灯亮起,进入状态01后两路黄灯亮起,状态11时主干道红灯及支干道绿灯亮起。进入10状态两路黄灯亮起。结束一个循环,从00状态重新开始循环。为实现控制与显示的功能,需要设计交通灯点亮顺序控制程序,倒数计时程序,七段数码管显示程序,数码管显示扫描程序,其系统结构图如下所示:图3 交通灯控制系统结构图其中rst为复位信号,clk为时钟信号,hold为特殊情况控制信号,输入hold时两个方向红灯无条件亮起。2.2 具体设计根据整体设计要求,编写各个功
8、能部分Verilog HDL程序,设置各输入输出变量说明如下clk: 为计数时钟;qclk:为扫描显示时钟;en: 使能信号,为1 的话,则控制器开始工作;rst: 复位信号,为1的话,控制及技术回到初始状态;hoid:特殊情况控制信号,为1的话,则两个方向无条件显示为红灯;light1: 控制主干道方向四盏灯的亮灭;其中,light10light2,分别控制主干道方向的绿灯、黄灯和红灯;light2: 控制支干道方向四盏灯的亮灭;其中,light20 light22,分别控制支干道方向的绿灯、黄灯和红灯;num1: 用于主干道方向灯的时间显示,8 位,可驱动两个数码管;num2: 用于支干道
9、方向灯的时间显示,8 位,可驱动两个数码管;counter:用于数码管的译码输出;st1,st2:数码管扫描信号 。详细设计步骤:(1) 确定4个输入信号与4个输出信号,具体见图2;(2) 将50MHZ时钟分频为1MHZ;(3) 设计红黄绿3中信号灯切换的时间及顺序;(4) 设计支路检测状态下的信号灯切换;(5) 设计紧急(EMERGENCY)状态下信号灯的切换;(6) 程序使用3always块1,详细代码如下:总体程序见程序清单所示第三章 仿真测试3.1 波形仿真在仿真软件下创建工程,新建编辑设计文件,将程序输入,整体编译后,新建波形仿真文件。设置仿真时间,时钟周期,输入输出端口,进行波形仿
10、真。具体仿真波形图及说明如下所示:仿真截止时间:100us;时钟:clk 1us,qclk 0.1us3.1.1 正常工作时波形仿真图图4没有紧急情况时主干道和支干道的信号灯的显示状态图5没有紧急情况时主干道和支干道的信号灯的显示状态图6没有紧急情况时主干道和支干道的信号灯的显示状态图7没有紧急情况时主干道和支干道的信号灯的显示状态图8 没有紧急情况时主干道和支干道的信号灯的显示状态图9有紧急情况时主干道和支干道的信号灯的显示状态波形仿真主要完成了控制与计数以及数码管显示的波形图。num1,num2分别表示主干道和支干道的倒计时,num1 = 主干道计时20秒 num2 = 支干道计时25秒;
11、s1用来表示主干道最短通车时间是否已到,到了s1=1;s2用来表示支干道最长通车时间是否已到,到了s2=1,控制输出量从高位到低位分别表示红,黄,绿为light1=001,light2=100,counter用于时钟计数。hold为紧急情况时主干道和支干道的信号灯为红灯。图6 顶层文件图结果分析:仿真结果符合设计要求,交通灯有规律的变化,显示倒计时;在检测支路无车辆和紧急情况下,交通灯可以做出相应调整。设计中使用FSM(三段式),此方式描述方法虽然代码结构复杂了一些,但是使FSM 做到了同步寄存器输出,有利于实现交通灯控制2。第四章 设计总结这次课程设计,通过对交通等控制器设计,解决了之前课上
12、存在的一些困惑,就是对测试程序的编写,调试,对于测试程序有了很大的提升。在程序编写和调试过程中从图书馆借阅了很多相关程序,并对原理和算法进行理解,收获很大。 对于课题,首先进行了单元模块的设计,将每一个单元模块设计完成后再经行仿真,仿真成功后就可以进行顶层文件的编写了,在顶层文件的编写过程中遇到了一些问题,特别是各模块之间的连接,以及信号的定义,总是有错误。有的时候信号的定义容易出现混淆,在反复的修改过后,顶层文件终于能够编译成功了。在波形仿真的过程中,同样遇到了困难,有的时候会出现仿真时间过长的问题,这个时候应该修改系统时钟的频率。在设计的过程中还应该多联系下实际情况,要了解实际情况下交通信
13、号灯的工作情况,才能更好的完成此次的课程设计。这次的课程设计使我巩固了以前学习到的知识,还使我掌握了以前没有掌握的知识,同时锻炼了自己的能力。 通过这次课程设计,并进一步熟练了对Xilinx ISE软件的操作。通过与同学探讨和请教老师,终于把问题都解决了,并加深了对交通灯原理和设计思路的了解。同时也掌握了做课程设计的一般流程,为以后的设计积累了一定的经验。做课程设计时,先查阅相关知识,把原理吃透,确定一个大的设计方向,在按照这个方向分模块的把要实现的功能用流程图的形式展示。最后参照每个模块把输入和输出引脚设定,运用我们所学的Verilog语言进行编程。总之,通过这次的设计,进一步了解了EDA
14、技术,收获很大,对软件编程,排错调试,相关仪器设备的使用技能等方面得到较全面的锻炼和提高。程序清单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;output7:0 num1,num2;output6:0counter;output2:0 light1,light2;reg tim1,tim2,st1,st2;reg1:0state1,state2,ste;reg2:0light1,light2;
15、reg3:0num;reg6:0counter;reg7:0 num1,num2;reg7:0 red1,red2,green1,green2,yellow1,yellow2;always (en )if(!en)begin /设置计数初值green1=8b;red1=8b;yellow1=8b;green2=8b;red2=8b;yellow2=8b;endalways (posedge clk )begin if(rst) /复位与特殊情况控制 begin light1=3b001; num1=green1; end else if(hold) begin light1=3b100; nu
16、m1=green1; end else if(en) begin /使能有效开始控制计数 if(!tim1) /开始控制 begin /主干道交通灯点亮控制 tim1=1; case(state1) 2b00:begin num1=green1;light1=3b001;state1=2b01;end 2b01:begin num1=yellow1;light1=3b010;state1=2b11;end 2b11:begin num1=red1;light1=3b100;state1=2b10;end 2b10:begin num1=yellow1;light1=3b010;state1=2
17、b00;end default:light10) if(num13:0=0) begin num13:0=4b1001; num17:4=num17:4-1; end else num13:0=num13:0-1; if(num1=1) tim1=0; end end else begin light1=3b010; num1=2b00; tim1=0; end endalways (posedge clk )begin if(rst) /复位与特殊情况控制 begin light2=3b100; num2=red2; end else if(hold) begin light2=3b100;
18、 num2=red2; end else if(en) begin if(!tim2) begin tim2=1; case(state1) 2b00:begin num2=red2;light2=3b100;state2=2b01;end 2b01:begin num2=yellow1;light2=3b010;state2=2b11;end 2b11:begin num2=green2;light2=3b001;state2=2b10;end 2b10:begin num2=yellow2;light2=3b010;state2=2b00;end default:light20) if(n
19、um23:0=0) begin num23:0=4b1001; num27:4=num27:4-1; end else num23:0=num23:0-1; if(num2=1) tim2=0; end end else begin tim2=0; state2=2b00; light2=3b010; end end always (posedge qclk)begin /数码管扫描 if(rst1) begin st1=0; st2=0; end else begin case(st2,st1) 2b00:begin num=num13:0;st2,st1=2b01; end 2b01:be
20、gin num=num17:4;st2,st1=2b10; end 2b10:begin num=num23:0;st2,st1=2b11; end 2b11:begin num=num27:4;st2,st1=2b00; end endcase endendalways (posedge qclk)begin /数码管译码显示case(num)4b0000: counter=7b; /04b0001: counter=7b; /14b0010: counter=7b; /24b0011: counter=7b; /34b0100: counter=7b; /44b0101: counter=
21、7b; /54b0110: counter=7b; /64b0111: counter=7b; /74b1000: counter=7b; /84b1001: counter=7b; /9default: counter=7b; /0endcaseendendmodule测试程序:module syy;/ Inputsreg en;reg clk;reg qclk;reg rst;reg rst1;reg hold;/ Outputswire 7:0 num1;wire 7:0 num2;wire 2:0 light1;wire 2:0 light2;wire 6:0 counter;wire st1;wire st2;/ I
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届河北省石家庄市桥西区重点中学下学期初三生物第二次阶段检测试题考试试卷含解析
- 黑龙江省大庆市林甸县2026年初三第六次质量检查英语试题含解析
- 2026届山西省朔州市朔城区第四中学初三下学期六校(4月)联考英语试题试卷含解析
- 环保目标达成行动方案承诺书(3篇)
- 山西省太原市小店区志达中学2026届初三下学期第二次质量考评语文试题试卷含解析
- 公益活动按期开展切实履行承诺书8篇范文
- 财务数据分析模板企业经营决策支持
- 产品质量控制流程及抽样检测标准
- 企业人事招聘信息公告编制工具
- 产品说明书撰写标准模板提高信息传达效率
- GB/T 26953-2025焊缝无损检测渗透检测验收等级
- 拜仁慕尼黑足球俱乐部
- 晚归检讨书阅读
- 结构化面试答题套路90结构化面试题型及答题套路
- GB/T 24218.1-2009纺织品非织造布试验方法第1部分:单位面积质量的测定
- FZ/T 43008-2012和服绸
- 大型工业园区规划方案
- 初中英语名师工作室工作总结
- 《边坡稳定性分析》课件
- 卫生健康科技计划项目申报书
- 基于性能导航之飞行学院-pbn运行介绍
评论
0/150
提交评论