资源描述:
《EDA技术与FPGA指导应用设计交通灯控制系统器.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、本科课程设计报告课程名称:EDA技术与FPGA应用设计设计项目:交通灯控制器实验地点:CPLD实验室指导教师:文爱2016年5月24日一、设计要求设计一个由一条主干道和一条支干道的十字路口的交通灯控制器,具体要求如下:(1)主、支干道各设有一个绿、黄、红指示灯,两个显示数码管。(2)主干道处于常允许通行状态,而支干道有车来才允许通行。当主干道允许通行亮绿灯时,支干道亮红灯。而支干道允许通行亮绿灯时,主干道亮红灯。(3)当主、支道均有车时,两者交替允许通行,主干道每次放行45s,支干道每次放行25s,由亮绿灯变成亮红灯转换时,先亮5s的黄灯作为过渡,并进行
2、减计时显示。二、设计方案(1)设置支干道有车开关SB。(2)系统中要求有45秒、25秒和5秒三种定时信号,需要设计三种相应的计时显示电路。计时方法为倒计时。定时的起始信号由主控电路给出,定时时间结束的信号输入到主控电路。(3)主控制电路的输入信号一方面来自车辆检测,另一方面来自45秒、25秒、5秒的定时到信号;输出有计时启动信号(置计数起始值)和红绿灯驱动信号。状态转移如图所示,用状态机描述。三、设计步骤1.编写各个模块的VHDL程序。2.上机调试优化程序。3.程序合成器件模块,并连接原理图。4.编写并下载程序,进行硬件实现。四、模块结构五、模块源程序1
3、.JTDKZLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYJTDKZISPORT(CLK,SB,cnt,RST:INSTD_LOGIC;en,MR,MY,MG,BR,BY,BG:OUTSTD_LOGIC;din:outSTD_LOGIC_vector(7downto0));ENDENTITYJTDKZ;ARCHITECTUREARTOFJTDKZISTYPESTATE_TYPEIS(A,B,C,D);SIGNALp_STATE,n_state:STATE_TYPE;BEGINreg:PROCESS(CLK,rs
4、t)ISBEGINifrst='1'thenp_STATE<=A;ELSIF(CLK'EVENTANDCLK='1')THENp_STATE<=n_state;ENDIF;endprocessreg;:PROCESS(sb,cnt,p_state)beginCASEp_STATEISWHENA=>MR<='0';MY<='0';MG<='1';BR<='1';BY<='0';BG<='0';IF(SBANDt)='1'THENn_STATE<=B;din<="00000101";EN<='0';ELSEn_STATE<=A;din<="01000101"
5、;EN<='1';ENDIF;WHENB=>MR<='0';MY<='1';MG<='0';BR<='1';BY<='0';BG<='0';IFt='1'THENn_STATE<=C;din<="00100101";EN<='0';ELSEn_STATE<=B;din<="01000101";EN<='1';ENDIF;WHENC=>MR<='1';MY<='0';MG<='0';BR<='0';BY<='0';BG<='1';IFt='1'THENn_STATE<=D;din<="00000101";EN<='0';ELSEn_STATE<=C;din
6、<="01000101";EN<='1';ENDIF;WHEND=>MR<='1';MY<='0';MG<='0';BR<='0';BY<='1';BG<='0';IFt='1'THENn_STATE<=A;din<="01000101";EN<='0';ELSEn_STATE<=D;din<="01000101";EN<='1';ENDIF;ENDCASE;ENDPROCESS;ENDARCHITECTUREART;2.JSQLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNE
7、D.ALL;ENTITYjsqISPORT(en,RST:INSTD_LOGIC;Din:INSTD_LOGIC_VECTOR(7DOWNTO0);CLK:INSTD_LOGIC;Cnt:OUTSTD_LOGIC;QH,QL:BUFFERSTD_LOGIC_VECTOR(3DOWNTO0));ENDENTITYjsq;ARCHITECTUREARTOFjsqISBEGINcnt<='1'WHEN(QH="0000"ANDQL="0000")ELSE'0';PROCESS(CLK,en,RST)BEGINIFRST='1'THENQH<="0100";QL
8、<="0101";ELSIFCLK'EVENTANDCLK='1'THENIFe