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