免费预览已结束,剩余9页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
资料收集于网络,如有侵权请联系网站删除 交通信号灯控制电路设计1、 概述 城市道路交叉口是城市道路网络的基本节点,也是网络交通流的瓶颈。目前,大部分无控制交叉口都存在高峰小时车流混乱、车速缓慢、延误情况严重、事故多发、通行能力和服务水平低下等问题。特别是随着城市车流量的快速增长,城市无控制道路交叉口的交通压力越来越大。因此,做好基于EDA技术平台的交叉口信号控制设计是缓解交通阻塞、提高城市道路交叉口车辆通行效率的有效方法。交通信号控制的目的是为城市道路交叉口(或交通网络)提供安全可靠和有效的交通流,通常最为常用的原则是车辆在交叉口的通过量最大或车辆在交叉口的延误最小。交通信号灯控制电路是显示主干道和支干道交替放行时间并用试验箱左上角的彩灯来代替信号灯的一种实际电路。设计一个基于FPGA的红绿灯交通信号控制器。假设某个十字路口是由一条主干道和一条次干道汇合而成,在每个方向设置红绿黄三种信号灯,红灯亮禁止通行,绿灯亮允许通行。黄灯亮允许行驶中车辆有时间停靠到禁止线以外。本课程的基本原理是在合适的时钟信号的控制下,使主干道与支道的红黄绿灯循环显示,用VHDL语言编辑文本程序,按设计要求连接好线以后,进行波形仿真,仿真结果正确后下载程序并对试验箱进行调试,使其最终的显示结果符合设计要求。二、方案设计与论证在硬件时钟电路的基础上,采用分频器,输出一个1S的时钟信号,在时钟信号的控制下,实现主干道和支干道红绿灯交替显示。 红绿灯交通灯控制器层次设计:EDA技术的基本设计方法有电路级设计方法和系统级设计方法。电路级设计方法已经不能适应新的形势,本系统采用的是系统级层次设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片FPGA芯片实现,首先用VHDL语言编写各个功能模块程序,最后通过综合器和适配器生成最终的目标器件,然后用顶层原理图将各功能模块连接起来。下面给出各模块的VHDL设计过程和仿真结果。1、 系统时序发生电路clk_gen的VHDL设计在红绿灯交通信号控制系统中,大多数的情况是通过自动控制的方式指挥交通的。因此,为了避免意外事件的发生,电路必须给一个稳定的时钟(clock)才能让系统正常运作。但为了配合高峰时段,防止交通拥挤,有时也必须使用手动控制,即让交警能够顺利地指挥交通。Clk_gen电路最主要的功能就是产生一些额外的输出信号,并将其用做后续几个电路的使能(enable)控制与同步信号处理。 该电路的核心部分就是分频电路,通过对外接信号发生器提供1kHz的时钟信号进行1000分频,得到一个周期为1秒的输出使能信号ena_lhz(占空比1:1000)和flash_lhz(占空比1:1);4分频后得到红绿灯信号译码电路所需的频率为250Hz的显示使能信号ena_scan。architecture one of fenpingqi issignal counter:integer range 0 to 4999999;Beginprocess (CLR,CLK)Beginif(CLK=1 and CLKevent) then if CLR=1 then counter=0; elsif counter =4999999 then counter=0; q=not q; else counter=counter+1; end if;end if; end process;end one;2、 开关控制部分的ASM图i、j、k、分别代表开关状态;1表示开关闭合,为高电平;0表示开关断开为低电平。当开关处于不同的状态时,分别给变量G不同的值,用来实现控制通行时间。X=i&j&kX=001X=010X=100G=29G=39G=49yyyG=0x=i&j&k;cnt:process (clk)variable s:integer range 0 to 49;variable g:integer range 0 to 49;variable nclr,en:bit; Beginif x=001then g:=29;elsif x=010then g:=39;elsif x=100then g:=49;else g:=0;end if;3、 信号灯转换控制部分的ASM图Rm、Ym、Gm分别表示主干道红、黄、绿;Rf、Yf、Gf分别表示支道红、黄、绿;S表示灯亮的时间;nclr是计时器的清零端,低电平有清零;en是计时器的使能端,高电平使能。Gm=1Rf=1S=GS=S+1nclr=1en=1Ym=1Rf=1S=3Rm=1Gf=1S=GS=3 Rm=1Yfrm=0;ym=0;gm=1; rf=1;yf=0;gf=0;if s=g thenstate =b;nclr:=0;en:=0;Elsestaterm=0;ym=0;gm=1; rf=1;yf=0;gf=0;if s=g thenstate =b;nclr:=0;en:=0;Elsestaterm=0;ym=1;gm=0; rf=1;yf=0;gf=0;if s=3 thenstate =c;nclr:=0;en:=0;Elsestaterm=1;ym=0;gm=0; rf=0;yf=0;gf=1;if s=g thenstate =d;nclr:=0;en:=0;Elsestaterm=1;ym=0;gm=0; rf=0;yf=1;gf=0;if s=3 thenstate =a;nclr:=0;en:=0;Elsestateclr,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;分频器代码 library ieee; use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity fenpingqi isport (CLR,CLK:in std_logic ; q:buffer std_logic);end fenpingqi;architecture one of fenpingqi issignal counter:integer range 0 to 4999999;Beginprocess (CLR,CLK)Beginif(CLK=1 and CLKevent) then if CLR=1 then counter=0; elsif counter =4999999 then counter=0; q=not q; else counter=counter+1; end if;end if; end process;end one;3、交通灯控制器代码 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity kongzhi isport (clk,i,j,k:in std_logic; rm,ym,gm,rf,yf,gf:out std_logic);end kongzhi; architecture arc of kongzhi istype state_type is (a,b,c,d);signal state:state_type;signal x:std_logic_vector(2 downto 0);Beginx=i&j&k;cnt:process (clk)variable s:integer range 0 to 49;variable g:integer range 0 to 49;variable nclr,en:bit; Beginif x=001then g:=29;elsif x=010then g:=39;elsif xrm=0;ym=0;gm=1; rf=1;yf=0;gf=0;if s=g thenstate =b;nclr:=0;en:=0;Elsestaterm=0;ym=1;gm=0; rf=1;yf=0;gf=0;if s=3 thenstate =c;nclr:=0;en:=0;Elsestaterm=1;ym=0;gm=0; rf=0;yf=0;gf=1; if s=g thenstate =d;nclr:=0;en:=0;Elsestaterm=1;ym=0;gm=0; rf=0;yf=1;gf=0;if s=3 thenstate =a;nclr:=0;en:=0;Elsestate=d;nclr:=1;en:=1;end if;end case;end if;end process cnt;end arc;4、两位七段译码输出显示代码LIBRAYR IEEE;USE IEEE.std_logic_1164.all;USE IEEE.std_logic_arith.all;USE IEEE.std_logic_unsigned.all;ENTITY count_down IS port(reset, clk, 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; ARCHITECTURE BEHAVIOR of count_down IS signal cnt_ff:std_logic_vector(7 downto 0); begin count:process(clk,reset) begin if (reset=1) then cnt_ff=00000000; seg7=0000000000000000; elsif (clkevent and clk=1) then if ena_1Hz=1 then if (recount=1) then cnt_ff=load-1; else cnt_ffseg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg7(15 downto 0)seg
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026浙江宁波市鄞州区公立学校招聘编外员工备考题库及完整答案详解(名师系列)
- 2026广西北海市合浦县发展和改革局招录城镇公益性岗位1人参考题库(典优)附答案详解
- 2026榆林神木市第十幼儿园招聘(5人)备考题库(重点)附答案详解
- 2026湖南娄底冷水江市事业单位公开选调工作人员35人笔试题库【真题汇编】附答案详解
- 2026年新冠疫情防控中个人防护及消毒知识培训考试测试题库含答案
- 2026年体检前台服务流程及高枕无忧VIP陪检服务测试卷附答案
- 化工工程施工设计方案
- 河道生态修复施工方案
- 2026年西安市第83中学浐灞第二分校教师招聘参考题库含完整答案详解(夺冠系列)
- 2026浙江宁波市新材料产业协会招聘2人笔试题库附答案详解(培优)
- 福建泉州市2025-2026学年下学期期末高二数学参考试题答案
- 2026广东广州花都汽车城集团有限公司第一次招聘6人参考题库【综合卷】附答案详解
- 2026年冀教版(三起)小学英语五年级下册期末学情自测卷及答案
- 太原市2026届小学六年级小升初英语模拟试卷2
- 人教部编版六升七语文暑假衔接作业完整版(可直接打印)
- 2025水利工程施工监理规范SL288-2025
- 《接发列车工作 》课件(上)
- 人教版3到6年级单词表打印版(小学必背单词3000打印版)
- 四级公路养护与管理方案
- 2024年湖北高中学业水平合格性考试物理试卷真题(含答案详解)
- CJ/T 111-2018 卡套式铜制管接头
评论
0/150
提交评论