《EDA课程设计_交通灯控制器》由会员分享,可在线阅读,更多相关《EDA课程设计_交通灯控制器(23页珍藏版)》请在金锄头文库上搜索。
1、下载可编辑序号 综合成绩优秀( )良好( )中等( )及格( )不及格( )教师(签名)批改日期EDA技术课程设计报告课题: 交通灯控制器 院系 自动化学院 专业 电气工程及其自动化 班级 学号 姓名 指导教师 起止日期 2015年12月14日-12月25号2015 年 12 月 目 录一设计任务3二、题目分析与整体构思3三硬件电路设计43.1原理图设计43.2 PCB图设计63.3控制器设计7四、程序设计94.1主程序设计9五、实验结果135.1 程序仿真图13六心得体会14七、附录15八参考文献21前 言伴随着社会的发展以及人类生活水平的提高,汽车的数量在D的DEA技术的发展和应用领域的扩
2、大与深入,EDA技术在电子信息,通信,自动,控制及计算机应用等领域的重要性日益突出。随着技术市场与人才市场对DEA的不断的增加,交通的问题日益突出,单单依靠人力来指挥交通已经不可行了,所以,设计交通灯来完成这个需求就显的越加迫切了.为了确保十字路口的行人和车辆顺利、畅通地通过,往往采用电子控制的交通信号来进行指挥。因此,做好基于EDA技术平台的交叉口信号控制设计是缓解交通阻塞、提高城市道路交叉口车辆通行效率的有效方法。交通信号控制的目的是为城市道路交叉口(或交通网络)提供安全可靠和有效的交通流,通常最为常用的原则是车辆在交叉口的通过量最大或车辆在交叉口的延误最小。以下就是运用数字电子设计出的交
3、通灯:其中红灯亮,表示该条路禁止通行;黄灯亮表示停车;绿灯亮表示允许通行。 一设计任务 设计一个十字路口的交通信号灯控制器,控制A、B两条交叉道路上的车辆通行,具体要求如下:(1)每条道路设一组信号灯,每组信号灯由红、黄、绿3盏灯组成,绿灯表示允许通行红灯表示禁止通行,黄灯表示该车道上已过停车线的车辆继续通行,未过停车线的车辆停止通行。(2)设置一组数码管,以倒计时的方式显示允许通行或禁止通行的时间,其中绿灯、黄灯、红灯的持续时间分别是30s、3s和30s。(3)当各条路上任意一条上出现特殊情况时,如当消防车、救护车或其他需要优先放行的车辆通过时,各方向上均是红灯亮,倒计时停止,且显示数字在闪
4、烁。当特殊运行状态结束后,控制器恢复原来状态,继续正常运行。二、题目分析与整体构思假设交通灯信号控制器用于主干道与支道的交叉路口,两个路口都配有传感器以检测有无车辆通行,应优先保证主干道的通畅,即当支道无车时,总处于“主干道绿灯,支道红灯”状态。当支道、主道都有车时,则轮流切换通行。当只有支道有车辆要穿行主干道时,才切向“主干道红灯,支道绿灯”,但一旦支道无车辆时,交通灯又立即回到“主干道绿灯,支道红灯”状态。若主干道始终无车而支干道始终有车时,则保持“主干道绿灯,支道红灯”。但此时同样:一旦支道无车辆时,交通灯又立即回到“主干道绿灯,支道红灯”。此外,主干道和支道每次通行时间为30s,而在两
5、个状态交换过程出现的“主黄、支红”和“主红、支黄”状态,持续时间都为3s。根据控制要求,可把交通灯控制系统分解为处理器(包含定时器及译码器)和控制器两大部分。三硬件电路设计3.1原理图设计、交通灯部分电路 、555多谐振荡器产生1Hz时钟石英晶体振荡器具有体积小、重量轻、可靠性高、频率稳定度高等优点,被应用于家用电器和通信设备中。因其具有极高的频率稳定性,故主要用在要求频率十分稳定的振荡电路中作谐振元件。用石英晶体振荡器作为脉冲产生器,能够使数字时钟达到很高的精度。同时成本也相对较高。这里是采用的是有555芯片组成的多谐振荡器来作为频率脉冲产生器,其输出的脉冲频率为1Hz。555芯片组成的多谐
6、振荡器要输出符合要求的频率脉冲,其对电阻和电容的精度要求较高。不太容易输出严格符合要求的频率脉冲。由公式得:T0.7(R2+2R1)C2f=1/T1.44/(R2+2R1)C2计算得:C2=1000uF;R2=440;R1=500、数码显示部分电路、ZLG7290I2C接口键盘及LED驱动器1.I2C串行接口提供键盘中断信号方便与处理器接口;2.可驱动8位共阴数码管或64只独立LED和64个按键;3.控扫描位数可控任一数码管闪烁;4.提供数据译码和循环、移位、段寻址等控制;5.8个功能键,可检测任一键的连击次数;6.无需外接元件即直接驱LED可扩展驱动电流和驱动电压;7.提供工业级器件;3.2
7、 PCB图设计交通灯PCB图数码管PCB图3.3控制器设计控制器的作用是根据计数器的计数值控制发光二极管的亮、灭,以及输出倒计时数值给七段数码管的分位译码电路。此外,当检测到特殊情况(HOLD=1)发生时,无条件点亮红灯的二极管。本控制器可以有两种设计方法,一种是利用时钟烟的下降沿读取前级计数器的计数值,然后作出反应;另一种则是将本模块设计成纯组合逻辑电路,不需要时钟驱动。这两种方法各有所长,必须根据所用器件的特性进行选择:比如有些FPGA有丰富的寄存器资源,而且可用与组合逻辑的资源则相对较少,那么使用第一种方法会比较节省资源;而有些CPLD的组合逻辑资源则比较多,用第二种方法可能更好。、分位
8、译码器设计-1 因为控制器输出的到计时数值可能是1位或者2位十进制数,所以在七段数码管的译码电路前要加上分位电路(即将其分为2个1位的十进制数,如25分为2和5,7分为0和7)。 与控制器一样,分位电路同样可以由时钟驱动,也可以设计成纯组合逻辑电路。控制器中,引入了寄存器。为了让读者开拓眼界,分位电路就用组合逻辑电路实现。、下图为交通灯控制器的顶层文件连接图四、程序设计4.1主程序设计LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY JTDKZ ISPORT (CLK,SM,SB:IN BIT;MR,MY,MG,BR,BY,BG: OUT BIT)
9、;END JTDKZ;ARCHITECTURE ART OF JTDKZ ISTYPE STATE_TYPE IS (A,B,C,D);SIGNAL STATE: STATE_TYPE;BEGINCNT:PROCESS(CLK) -定时器cnt进程VARIABLE S:INTEGER RANGE 0 TO 29; -变量S为秒定时器VARIABLE CLR,EN:BIT; -clr低电平清零端,en高电平计数使能端BEGINIF (CLKEVENT AND CLK=1)THEN -若clk上升沿到IF CLR=0THEN S:=0; -同步清零ELSIF EN= 0 THEN S:=S; -由
10、en=0停止计数 ELSE S:=S+1;END IF;CASE STATE IS WHEN A=MR=0;MY=0;MG=1; -A状态:主干道绿灯亮 BR=1;BY=0;BG=0; -A状态:支道红灯亮 IF (SB AND SM)=1 THEN -若两个道都有车 IF S=29 THEN -若又采到“29s 标志位”信号 STATE=B;CLR:=0;EN:=0; -则为B状态、且清零、停止计数 ELSE -否则 STATE=A;CLR:=1;EN:=1; -继续A状态计数 END IF; ELSIF (SB AND (NOT SM)=1THEN -若只有支道有车 STATE=B;CLR
11、:=0;EN:=0; -则为B状态、且清零、停止计数 ELSE -否则 STATEMR=0;MY=1;MG=0; -B状态:主黄 BR=1;BY=0;BG=0; -B状态:支红 IF S=3 THEN -若采到3s标志位信号 STATE=C;CLR:=0;EN:=0; -则为C状态、且清零、停止计数 ELSE -否则 STATEMR=1;MY=0;MG=0; -C状态:主红 BR=0;BY=0;BG=1; -C状态:支绿IF ( SM AND SB ) =1THEN -若两个道都有车IF S=29 THEN -若有采到“29s标志位”信号STATE=D;CLR:=0;EN:=0; -则为D状态、且清零、停止计数ELSE -否则STATE=C;CLR:=1;EN:=1; -继续C状态计数END IF;ELSIF SB = 0 THEN -若支道无车STATE=D;CLR:=0;EN:=0; -则为D状态、且清零、停止计数ELSE -否则STATEMR= 1;MY=0;MG=0; -D状态:主红BR=0;BY=1;BG=0; -D状态:支黄IF S=3 THEN -若又采到“3s标志位”信号STATE=A;CLR:=0;EN:=0; -则为A状态、且清零计数、停止计数ELSE