资源描述:
《十字路口交通灯控制系统设计课程设计.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、..石家庄经济学院华信学院十字路口交通灯控制系统设计课程设计报告姓名:学号:班号:指导:成绩:日期:2013-7-2..目录1.设计任务描述32.系统构成及状态转换53.系统分析与设计6一、底层设计71)控制器的VHDL描述(加注释)及其功能仿真波形72)5S倒计时器VHDL描述(加注释)及其功能仿真波形93)15S倒计时器VHDL描述(加注释)及其功能仿真波形104)20S倒计时器VHDL描述(加注释)及其功能仿真波形11二、顶层原理图的设计125.课程设计回顾总结15..1.设计任务描述十字路口由一条南北方向的主干道(简称A道)和东西方向的支干道(简称B道
2、)组成。如图1所示是安装在十字路口的交通信号灯示意图。信号灯的组合关系如图2所示,使用分别表示A道和B道的红、黄、绿交通灯的驱动信号,且信号灯在高电平时点亮,低电平时熄灭。图1.交通信号灯示意图..图2.信号灯组合关系十字路口的控制规则如表1所示:南北方向(A道)东西方向(B道)时间(秒)绿灯红灯15黄灯红灯5红灯绿灯15红灯黄灯5表1.控制规则..2.系统构成及状态转换依据设计任务分析,得出:十字路口交通灯控制系统由定时器模块、控制器模块和输出模块组成。如图3所示。图3.交通灯控制系统结构图定时器模块由15S、5S、5S三个定时器组成,分别确定相应信号灯亮的
3、时间。三个定时器采用以秒脉冲为时钟的计数器实现。eg、ey、er分别是三个定时器的工作使能信号,tm15、tm5、tm5是三个定时器的计数结束指示信号。..控制模块是对系统工作状态的转换进行控制,根据交通规则可得系统状态转换情况。ar、ay、agbr、by、bg分别表示由控制器输出的A道和B道的红、黄、绿信号灯亮的时间;eg、ey、er分别表示由控制器输出的控制15S、5S、20S三个定时器的工作使能信号。控制器的ASM图如图4所示。图4.交通灯控制器的ASM图3.系统分析与设计采用VHDL与原理图层次型混合设计,底层采用VHDL语言进行描述,顶层实体采用逻辑
4、电路原理图,此工程中包含11个VHDL文件以及一个原理图文件,分别用于描述15S、5yS、5rS定时器、20S、15S、5S倒计时器、四个路口倒计时显示灯、控制器、及顶层实体。..我主要负责20S、15S、5S倒计时器、控制器的模块设计。一、底层设计必须保证底层元件的正确性,因此,需先建立11个工程,分别测试11个元件。1)控制器的VHDL描述(加注释)及其功能仿真波形LIBRARYieee;useIEEE.STD_LOGIC_1164.all;entitycontrolisPORT(cp,reset,tm15,tm5y,tm5r:inSTD_LOGIC;--
5、延时15S,5rS,5ySag,ay,ar,bg,by,br,eg,ey,er:outSTD_LOGIC);endcontrol;architectureoneofcontrolistypestate_typeis(s0,s1,s2,s3);signalstate:state_type;beginprocess(reset,cp)beginifreset='1'thenstate<=s0;elsifcp'eventandcp='1'thencasestateiswhens0=>iftm15='1'thenstate<=s1;endif;whens1=>..if
6、tm5y='1'thenstate<=s2;endif;whens2=>iftm15='1'thenstate<=s3;endif;whens3=>iftm5r='1'thenstate<=s0;endif;whenothers=>state<=s0;endcase;endif;endprocess;ag<='1'whenstate=s0else'0';ay<='1'whenstate=s1else'0';ar<='1'whenstate=s2orstate=s3else'0';bg<='1'whenstate=s2else'0';by<='1'whensta
7、te=s3else'0';br<='1'whenstate=s0orstate=s1else'0';eg<='1'whenstate=s0orstate=s2else'0';ey<='1'whenstate=s1else'0';er<='1'whenstate=s3else'0';endone;功能仿真波形:..2)5S倒计时器VHDL描述(加注释)及其功能仿真波形libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitynum5isport(cp,reset:ins
8、td_logic;BCD5:outst