首页 EDA课程设计 交通灯控制器

EDA课程设计 交通灯控制器

举报
开通vip

EDA课程设计 交通灯控制器序号                        综合成绩 优秀( )良好( ) 中等( )及格( ) 不及格( ) 教师(签名)   批改日期       《EDA技术》课程设计报告 课题:        交通灯控制器        院系            自动化学院          专业        电气工程及其自动化    班级              学号            姓名                                指导教...

EDA课程设计  交通灯控制器
序号                        综合成绩 优秀( )良好( ) 中等( )及格( ) 不及格( ) 教师(签名)   批改日期       《EDA技术》课程设计 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 :        交通灯控制器        院系            自动化学院          专业        电气工程及其自动化    班级              学号            姓名                                指导教师                             起止日期 2015年12月14日-12月25号 2015 年  12  月 目    录 一﹑设计任务    3 二、题目 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 与整体构思    3 三﹑硬件电路设计    4 3.1原理图设计    4 3.2 PCB图设计    6 3.3控制器设计    7 四、程序设计    9 4.1主程序设计    9 五、实验结果    13 5.1 程序仿真图    13 六﹑ 心得体会 决胜全面小康心得体会学党史心得下载党史学习心得下载军训心得免费下载党史学习心得下载     14 七、附录    15 八﹑参考文献    21 前 言 伴随着社会的发展以及人类生活水平的提高,汽车的数量在D的DEA技术的发展和应用领域的扩大与深入,EDA技术在电子信息,通信,自动,控制及计算机应用等领域的重要性日益突出。随着技术市场与人才市场对DEA的不断的增加,交通的问题日益突出,单单依靠人力来指挥交通已经不可行了,所以,设计交通灯来完成这个需求就显的越加迫切了.为了确保十字路口的行人和车辆顺利、畅通地通过,往往采用电子控制的交通信号来进行指挥。因此,做好基于EDA技术平台的交叉口信号控制设计是缓解交通阻塞、提高城市道路交叉口车辆通行效率的有效方法。交通信号控制的目的是为城市道路交叉口(或交通网络)提供安全可靠和有效的交通流,通常最为常用的原则是车辆在交叉口的通过量最大或车辆在交叉口的延误最小。以下就是运用数字电子设计出的交通灯:其中红灯亮,表示该条路禁止通行;黄灯亮表示停车;绿灯亮表示允许通行。 一﹑设计任务 设计一个十字路口的交通信号灯控制器,控制A、B两条交叉道路上的车辆通行,具体要求如下: (1)每条道路设一组信号灯,每组信号灯由红、黄、绿3盏灯组成,绿灯表示允许通行红灯表示禁止通行,黄灯表示该车道上已过停车线的车辆继续通行,未过停车线的车辆停止通行。 (2)设置一组数码管,以倒计时的方式显示允许通行或禁止通行的时间,其中绿灯、黄灯、红灯的持续时间分别是30s、3s和30s。 (3) 当各条路上任意一条上出现特殊情况时,如当消防车、救护车或其他需要优先放行的车辆通过时,各方向上均是红灯亮,倒计时停止,且显示数字在闪烁。当特殊运行状态结束后,控制器恢复原来状态,继续正常运行。 二、题目分析与整体构思 假设交通灯信号控制器用于主干道与支道的交叉路口,两个路口都配有传感器以检测有无车辆通行,应优先保证主干道的通畅,即当支道无车时,总处于“主干道绿灯,支道红灯”状态。当支道、主道都有车时,则轮流切换通行。当只有支道有车辆要穿行主干道时,才切向“主干道红灯,支道绿灯”,但一旦支道无车辆时,交通灯又立即回到“主干道绿灯,支道红灯”状态。若主干道始终无车而支干道始终有车时,则保持“主干道绿灯,支道红灯”。但此时同样:一旦支道无车辆时,交通灯又立即回到“主干道绿灯,支道红灯”。此外,主干道和支道每次通行时间为30s,而在两个状态交换过程出现的“主黄、支红”和“主红、支黄”状态,持续时间都为3s。根据控制要求,可把交通灯控制系统分解为处理器(包含定时器及译码器)和控制器两大部分。 三﹑硬件电路设计 3.1原理图设计 ⑴、交通灯部分电路 ⑵、555多谐振荡器 产生1Hz时钟 石英晶体振荡器具有体积小、重量轻、可靠性高、频率稳定度高等优点,被应用于家用电器和通信设备中。因其具有极高的频率稳定性,故主要用在要求频率十分稳定的振荡电路中作谐振元件。用石英晶体振荡器作为脉冲产生器,能够使数字时钟达到很高的精度。同时成本也相对较高。  这里是采用的是有555芯片组成的多谐振荡器来作为频率脉冲产生器,其输出的脉冲频率为1Hz。555芯片组成的多谐振荡器要输出符合要求的频率脉冲,其对电阻和电容的精度要求较高。不太容易输出严格符合要求的频率脉冲。  由 公式 小学单位换算公式大全免费下载公式下载行测公式大全下载excel公式下载逻辑回归公式下载 得:T≈0.7(R2  + 2R1)C2  f = 1/ T≈1.44/(R2  + 2R1)C2 计算得:C2 = 1000uF;R2 = 440Ω; R1 = 500Ω ⑶、数码显示部分电路 ⑷、ZLG7290 I2C接口键盘及LED驱动器 1.I2C串行接口提供键盘中断信号方便与处理器接口 ; 2.可驱动8位共阴数码管或64只独立LED和64个按键; 3 .控扫描位数可控任一数码管闪烁; 4 .提供数据译码和循环、移位、段寻址等控制; 5 .8个功能键,可检测任一键的连击次数; 6.无需外接元件即直接驱LED可扩展驱动电流和驱动电压 ; 7 .提供工业级器件; 3.2 PCB图设计 ⑴交通灯PCB图 ⑵数码管PCB图 3.3控制器设计 控制器的作用是根据计数器的计数值控制发光二极管的亮、灭,以及输出倒计时数值给七段数码管的分位译码电路。此外,当检测到特殊情况(HOLD=‘1’)发生时,无条件点亮红灯的二极管。本控制器可以有两种设计方法,一种是利用时钟烟的下降沿读取前级计数器的计数值,然后作出反应;另一种则是将本模块设计成纯组合逻辑电路,不需要时钟驱动。这两种方法各有所长,必须根据所用器件的特性进行选择:比如有些FPGA有丰富的寄存器资源,而且可用与组合逻辑的资源则相对较少,那么使用第一种方法会比较节省资源;而有些CPLD的组合逻辑资源则比较多,用第二种方法可能更好。 ⑴、分位译码器设计--1 因为控制器输出的到计时数值可能是1位或者2位十进制数,所以在七段数码管的译码电路前要加上分位电路(即将其分为2个1位的十进制数,如25分为2和5,7分为0和7)。 与控制器一样,分位电路同样可以由时钟驱动,也可以设计成纯组合逻辑电路。控制器中,引入了寄存器。为了让读者开拓眼界,分位电路就用组合逻辑电路实现。 ⑵、下图为交通灯控制器的顶层文件连接图 四、程序设计 4.1主程序设计 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY JTDKZ IS PORT (CLK,SM,SB:IN BIT; MR,MY,MG,BR,BY,BG: OUT BIT); END JTDKZ; ARCHITECTURE ART OF JTDKZ IS TYPE STATE_TYPE IS (A,B,C,D); SIGNAL STATE: STATE_TYPE; BEGIN CNT:PROCESS(CLK)                    --定时器cnt进程 VARIABLE S:INTEGER RANGE 0 TO 29;  --变量S为秒定时器 VARIABLE CLR,EN:BIT;                --clr低电平清零端,en高电平计数使能端 BEGIN IF (CLK'EVENT AND CLK='1')THEN      --若clk上升沿到 IF CLR='0'THEN S:=0;              --同步清零 ELSIF EN= '0' THEN S:=S;      --由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))='1'THEN  --若只有支道有车 STATE<=B;CLR:='0';EN:='0';  --则为B状态、且清零、停止计数 ELSE                      --否则 STATE<=A;CLR:='1';EN:='1';  --继续A状态计数 END IF;      WHEN B=>MR<='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                      --否则 STATE<=B;CLR:='1';EN:='1'; --继续B状态计数 END IF; WHEN C=>MR<='1';MY<='0';MG<='0'; --C状态:主红 BR<='0';BY<='0';BG<='1';      --C状态:支绿 IF ( SM AND SB ) ='1'THEN          --若两个道都有车 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                        --否则 STATE<=C;CLR:= '1';EN:='1'; --继续C状态计数 END IF;        WHEN D =>MR<= '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                            --否则 STATE<=D;CLR:='1';EN:='1';      --继续D状态计数 END IF; END CASE; END IF; END PROCESS CNT; END ART; 五、实验结果 5.1 程序仿真图 六﹑心得体会 短短两个星期的EDA课程设计很块就结束了,虽然在之前的学习过程中还存在着没有弄懂的问题,但是通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。 EDA设计我感觉程序调试最重要,试验软件、硬件熟悉其次。我在编完各模块程序之后,编译查错最初有十几个错误,有输入错误、语法错误。一遍一遍的变异查错,直到没有错误。必须注意工程名和实体名一致,不然一般会出错。在没有错误之后可以进行波型仿真。若与理想的不同,再查看程序,有无原理上的编辑错误或没有查出的输入错误。都通过可以进行管脚配对,把程序烧入芯片,在实物机上看结果,从显示中得出还需改正的地方,再去改程序。必须注意没改一次都要编译,重新输入。 在设计的过程中还应该多联系下实际情况,要了解实际情况下交通信号灯的工作情况,才能更好的完成此次的课程设计。在今后的工作和学习中,我们不能仅仅把目光停留在课本上,要多理论联系实际。有的时候,理论上是正确的东西放到现实中去,可能由于种种因素的制约,并不能达到实际的效果,还需要我们进行相应的修改才能完成要求。这次的课程设计使我巩固了以前学习到的知识,还使我掌握了以前没有掌握的知识,同时锻炼了自己的能力。 七、附录 1、顶层设计代码 library ieee;  use ieee.std_logic_1164.all;  use ieee.std_logic_arith.all;  use ieee.std_logic_unsigned.all;  ENTITY JiaoTongDeng is  port(clr,clk,i,j,k:in std_logic; rm,ym,gm,rf,yf,gf:out std_logic;   recount:out std_logic;  NEXT_S:out std_logic);  end entity JiaoTongDeng;  architecture JTD of JiaoTongDeng is  component fenpingqi  port(CLR,CLK:in std_logic;  q:buffer std_logic);   end component;   component kongzhi  port(clk,i,j,k:in std_logic;  rm,ym,gm,rf,yf,gf:out std_logic);  end component;  component count_down  port(clk,reset, ena_1Hz, recount: in std_logic;  load: in std_logic_vector(7 downto 0);  seg7:out std_logic_vector(15 downto 0);  next_state: out std_logic);  end component;  signal Q, signal recount_1,signal next_state_1:std_logic;  begin  u1: fenpingqi port map(CLR=>clr,CLK=>clk,q=>Q);  u2: kongzhi port  map(i=>i,j=>j,k=>k,clk=>Q,rm=>rm,ym=>ym,gm=>gm1,rf=>rf,  yf=>yf,gf=>gf);  u3:count_down  port map(RE,CLK,ena_1Hz_1,recount_1,load,S,next_state_1);  NEXT_S<=next_state_1;  end architecture JTD; 2、交通灯控制器代码 library ieee;  use ieee.std_logic_1164.all;  use ieee.std_logic_arith.all;  use ieee.std_logic_unsigned.all;  entity kongzhi is  port (clk,i,j,k:in std_logic;  rm,ym,gm,rf,yf,gf:out std_logic);  end kongzhi;  architecture arc of  kongzhi  is  type state_type is (a,b,c,d);  signal state:state_type;  signal x:std_logic_vector(2 downto 0);  Begin  x<=i&j&k;  cnt:process (clk)  variable s:integer range 0 to 49;  variable g:integer range 0 to 49;  variable nclr,en:bit;  Begin  if x<="001"then g:=29;  elsif x<="010"then g:=39;  elsif x<="100"then g:=49;  else g:=0;  end if;  if (clk'event and clk='1') then  if nclr='0' then s:=0;  elsif en='0' then s:=s;  else s:=s+1;  end if;  case state is  when a=>rm<='0';ym<='0';gm<='1';  rf<='1';yf<='0';gf<='0';  if s=g then  state <=b;nclr:='0';en:='0';  Else  state<=a;nclr:='1';en:='1';  end if;  when b=>rm<='0';ym<='1';gm<='0';  rf<='1';yf<='0';gf<='0';  if s=3 then  state <=c;nclr:='0';en:='0';  Else  state<=b;nclr:='1';en:='1';  end if;  when c=>rm<='1';ym<='0';gm<='0';  rf<='0';yf<='0';gf<='1';  if s=g then  state <=d;nclr:='0';en:='0';  Else  state<=c;nclr:='1';en:='1';  end if;  when d=>rm<='1';ym<='0';gm<='0';  rf<='0';yf<='1';gf<='0';  if s=3 then  state <=a;nclr:='0';en:='0';  Else  state<=d;nclr:='1';en:='1';  end if;  end case;  end if;  end process cnt;  end arc; 3、分位译码电路设计 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY Fenwei IS PORT (Numin:IN integer RANGE 0 TO 45; NumA,NumB:OUT Integer RANGE 0 to 9 ); END; ARCHITECTURE behavior OF Fenwei IS BEGIN process(Numin) BEGIN IF Numin>=40 THEN NumA<=4; NumB<=Numin-40; ELSIF Numin>=30 THEN NumA<=3; NumB<=Numin-30; ELSIF Numin>=20 THEN NumA<=2; NumB<=Numin-20; ELSIF Numin>=10 THEN NumA<=1; NumB<=Numin-10; ELSE NumA<=0; NumB<=Numin; END IF; END PROCESS; END; 八﹑参考文献 [1]潘松,黄继业.2006.EDA技术使用教程.北京:科学出版社. [2]黄任;2005;VHDL入门.解惑.经典实例.经验总结.北京:北京航空航天大学出版社. [3]徐志军,徐光辉.2002.CPLD/FPGA的开发与应用.北京:电子工业出版社. [4]褚振勇.FPGA设计与应用.西安:西安电子科技大学出版社.
本文档为【EDA课程设计 交通灯控制器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_215732
暂无简介~
格式:doc
大小:55KB
软件:Word
页数:0
分类:工学
上传时间:2019-09-12
浏览量:24