eda课程设计报告---交通信号控制器的vhdl设计

eda课程设计报告---交通信号控制器的vhdl设计

ID:9388798

大小:177.00 KB

页数:12页

时间:2018-04-29

eda课程设计报告---交通信号控制器的vhdl设计_第1页
eda课程设计报告---交通信号控制器的vhdl设计_第2页
eda课程设计报告---交通信号控制器的vhdl设计_第3页
eda课程设计报告---交通信号控制器的vhdl设计_第4页
eda课程设计报告---交通信号控制器的vhdl设计_第5页
资源描述:

《eda课程设计报告---交通信号控制器的vhdl设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、EDA课程设计报告设计题目:交通信号控制器的VHDL设计班级:09通信工程一班学号:姓名:李旦晖指导老师:刘奇能日期:2012.3.912交通信号控制器的VHDL设计1、设计任务及要求:设计任务:模拟十字路口交通信号灯的工作过程,利用实验板上的两组红、黄、绿LED作为交通信号灯,设计一个交通信号灯控制器。要求:(1)交通灯从绿变红时,有4秒黄灯亮的间隔时间;(2)交通灯红变绿是直接进行的,没有间隔时间;(3)主干道上的绿灯时间为40秒,支干道的绿灯时间为20秒;(4)在任意时间,显示每个状态到该状态结束所需的时间。支干道主干道图1路

2、口交通管理示意图ABCD主干道交通灯绿(40秒)黄(4秒)红(20秒)红(4秒)支干道交通灯红红绿黄表1交通信号灯的4种状态设计要求:(1)采用VHDL语言编写程序,并在QUARTUSII工具平台中进行仿真,下载到EDA实验箱进行验证。(2)编写设计报告,要求包括方案选择、程序清单、调试过程、测试结果及心得体会。(3)设计时间和地点:两个星期,信息楼4楼EDA实验室。2、参考设计方案定时时间到检测电路计时器预置数产生电路状态发生器(两位二进制计数器)时间显示数据输出红黄绿灯输出控制电路(RYG)红黄绿灯信号输出1秒时钟脉冲信号发生器

3、12图2交通信号灯控制器的原理框图3、采用VHDL语言输入的方式实现交通信号灯控制器秒脉冲信号发生器(进程P1和P2)状态寄存器(进程P6)计数器(进程P3、P4和P5)CLK时间显示数据输出次态发生器信号灯输出信号(进程P7)信号灯输出图3交通信号灯控制器程序原理框图该程序由7个进程组成,进程P1和P2将CLK信号分频后产生1秒信号,进程P3、P4、P5构成两个带有预置数功能的十进制计数器,其中P4产生允许十位计数器计数的控制信号。进程P6实现状态转换和产生状态转换的控制信号,进程P7产生次态信号和信号灯输出信号,以及每一个状态的

4、时间值。原功能(40+20)实现的程序代码LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYtrafficISPORT(clk:instd_logic;led7s1:outstd_logic_vector(6downto0)控制第一个七段数码管;led7s2:outstd_logic_vector(6downto0);控制第二个七段数码管comb_out:outstd_logic_vector(5downto0));控制交通灯的两与

5、灭END;ARCHITECTUREoneOFtrafficISTYPEdmIS(s0,s1,s2,s3);SIgnalcurrent_state,next_state:dm;SIGNALFULL:STD_LOGIC;SIGNALtl:STD_LOGIC_VECTOR(6DOWNTO0);12秒表低位共7位代表十进制0到9SIGNALth:STD_LOGIC_VECTOR(1DOWNTO0);秒表高位最高数是3故2位即可SIGNALtm:STD_LOGIC_VECTOR(6DOWNTO0);SIGNALTIME:STD_LOGIC_V

6、ECTOR(6DOWNTO0);内部计时器BEGINP_REG:PROCESS(CLK)VARIABLECNT8:STD_LOGIC_VECTOR(7DOWNTO0);BEGINIFCLK'EVENTANDCLK='1'THENIFCNT8=""THEN利用方波的频率设计秒表的走时CNT8:="";FULL<='1';ELSECNT8:=CNT8+1;FULL<='0';ENDIF;ENDIF;ENDPROCESSP_REG;PROCESS(full)BEGINIFfull'EVENTANDfull='1'THENIFTIME<""

7、THEN设定内置秒表最大计时这里是40+20+4+4-1=67=TIME<=TIME+1;ELSeTIME<="";ENDIF;ENDIF;ENDPROCESS;REG:process(full,current_state)BEGINIFfull='1'ANDfull'EVENTTHENcurrent_state<=next_state;ENDIF;ENDprocess;COM:process(current_state,time)begincasecurrent_stateis设定状态转换时间共S0,S1,S2,S3,S45个状态

8、whens0=>comb_out<="";tm<=39-time;iftime=39thennext_state<=s1;elsenext_state<=s0;endif;whens1=>comb_out<="";tm<=43-tim

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。