




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 交通信号灯控制电路设计1、 概述 城市道路交叉口是城市道路网络的基本节点,也是网络交通流的瓶颈。目前,大部分无控制交叉口都存在高峰小时车流混乱、车速缓慢、延误情况严重、事故多发、通行能力和服务水平低下等问题。特别是随着城市车流量的快速增长,城市无控制道路交叉口的交通压力越来越大。因此,做好基于EDA技术平台的交叉口信号控制设计是缓解交通阻塞、提高城市道路交叉口车辆通行效率的有效方法。交通信号控制的目的是为城市道路交叉口(或交通网络)提供安全可靠和有效的交通流,通常最为常用的原则是车辆在交叉口的通过量最大或车辆在交叉口的延误最小。交通信号灯控制电路是显示主干道和支干道交替放行时间并用试验箱左上
2、角的彩灯来代替信号灯的一种实际电路。设计一个基于FPGA的红绿灯交通信号控制器。假设某个十字路口是由一条主干道和一条次干道汇合而成,在每个方向设置红绿黄三种信号灯,红灯亮禁止通行,绿灯亮允许通行。黄灯亮允许行驶中车辆有时间停靠到禁止线以外。本课程的基本原理是在合适的时钟信号的控制下,使主干道与支道的红黄绿灯循环显示,用VHDL语言编辑文本程序,按设计要求连接好线以后,进行波形仿真,仿真结果正确后下载程序并对试验箱进行调试,使其最终的显示结果符合设计要求。二、方案设计与论证在硬件时钟电路的基础上,采用分频器,输出一个1S的时钟信号,在时钟信号的控制下,实现主干道和支干道红绿灯交替显示。 红绿灯交
3、通灯控制器层次设计:EDA技术的基本设计方法有电路级设计方法和系统级设计方法。电路级设计方法已经不能适应新的形势,本系统采用的是系统级层次设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片FPGA芯片实现,首先用VHDL语言编写各个功能模块程序,最后通过综合器和适配器生成最终的目标器件,然后用顶层原理图将各功能模块连接起来。下面给出各模块的VHDL设计过程和仿真结果。1、 系统时序发生电路clk_gen的VHDL设计在红绿灯交通信号控制系统中,大多数的情况是通过自动控制的方式指挥交通的。因此,为了避免意外事件的发生,电路必须给一个稳定的时钟(clock)才能让系统正常运作。但为了
4、配合高峰时段,防止交通拥挤,有时也必须使用手动控制,即让交警能够顺利地指挥交通。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 ran
5、ge 0 to 4999999;Beginprocess (CLR,CLK)Beginif(CLK='1' and CLK'event) 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表示开关断开为低电平。当开
6、关处于不同的状态时,分别给变量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<="001"then g:=29;elsif x<="010"then g:=39;elsif x<=&
7、quot;100"then 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<=1Yf<=1yyyyS=S+1nclr=1en=1 nclr=0en=0nclr=0en=0 if (clk'event and
8、 clk='1') then if nclr='0' then s:=0; elsif en='0' then s:=s; else s:=s+1; end if;case state iswhen a=>rm<='0'ym<='0'gm<='1' rf<='1'yf<='0'gf<='0'if s=g thenstate <=b;nclr:='0'en:='0'Elses
9、tate<=a;nclr:='1'en:='1'end if; 3、状态装换 (1)开始设置为支路为绿灯、主路为红灯,持续时间为30秒; (2)30秒后,支路由绿灯变为黄灯,主路红灯不变,持续时间为4秒; (3)4秒后,支路由黄灯变为红灯,主路由红灯变为绿灯,持续时间30秒; (4)30秒后,支路红灯不变,主路由绿灯变为黄灯,持续时间为4秒; (5)4秒后,支路由红灯变为绿灯,主路由黄灯变为绿灯,持续时间为30秒; 随时间,主、支系统依次循环,可以自动切换,红绿灯时间间隔可以手动设置,以适应不同需求。 case state iswhen a=>rm&
10、lt;='0'ym<='0'gm<='1' rf<='1'yf<='0'gf<='0'if s=g thenstate <=b;nclr:='0'en:='0'Elsestate<=a;nclr:='1'en:='1'end if;when b=>rm<='0'ym<='1'gm<='0' rf<='1'
11、;yf<='0'gf<='0'if s=3 thenstate <=c;nclr:='0'en:='0'Elsestate<=b;nclr:='1'en:='1'end if;when c=>rm<='1'ym<='0'gm<='0' rf<='0'yf<='0'gf<='1'if s=g thenstate <=d;nclr:=
12、39;0'en:='0'Elsestate<=c;nclr:='1'en:='1'end if;when d=>rm<='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
13、39;end if;end case;4、 总原理图1、电路连接图2、分频器模块 3、交通灯控制器模块 4、波形仿真仿真图一仿真图二5、 硬件仿真:为了能对所设计的红绿灯交通灯控制器电路进行硬件测试,应将其输入输出信号锁定在开发系统的目标芯片引脚上,并重新编译,然后对目标芯片进行编程下载,完成红绿灯交通灯控制器的最终开发,其硬件测试示意图如图6-62。不失一般性,本设计选用的EDA开发平台为GW48电路模式为No.5,选择目标器件为Cylone系列EP1C3T144C8芯片。 锁定引脚时将CLK接至clock2(接受1kHz的时钟频率);内部自复位信号同键3(PIO8)相连;手动、自动切换钮(
14、1:自动、0手动)接键4(PIO9);:红绿灯状态切换键(每按一次就切换一个状态)接键5(PIO13); R1接发光二级管D8(PIO23)用于指示南北路口红灯;G1接发光二级管D7(PIO22)用于指示南北路口绿灯;Y1接发光二级管D6(PIO21)用于指示南北路口黄灯;R0接发光二级管D5(PIO20)用于指示东西路口红灯;G0接发光二级管D4(PIO19)用于指示东西路口绿灯;Y0接发光二级管D3(PIO18)用于指示东西路口红灯;NEXT_S 接发光二级管D1(PIO16)用于转态指示。引脚锁定完成后,重新对该工程进行编译,综合适配后将配置数据下载入GW48实验平台的FPGA中(有关C
15、LK等引脚在FPGA芯片EP1C6Q240C8引脚中的序号,请参见EDA书后的附录的附表)。选模式5,情况一(红绿灯间隔30秒,黄绿间隔5秒),设定最右边三个灯(从右到左)为支路灯:红灯、绿灯、黄灯;紧接着为主路:红灯、绿灯、黄灯(6号灯已坏顺延到7号灯);仿真图片如下:图一:支路绿灯,主路红灯图二:支路黄灯,主路红灯图三:支路红灯,主路绿灯图四:支路红灯,主路黄灯图五:支路绿灯,主路红灯五、实验目的1. 熟练掌握VHDL 语言和MAX+ PLUSII 软件的使用;2. 理解状态机的工作原理和设计方法;3. 掌握利用EDA 工具进行自顶向下的电子系统设计方法六、实验步骤1.将实验系统上RS23
16、2接口与计算机串行口相连。2.用VHDL将两个方案的源程序输入MAX+ PLUSII 软件中。3.编译程序并进行引脚分配,最后将程序下载到器件中去。七、结果分析本次课程设计基本上满足了任务的设计要求,可以通过开关手动设置主干道和支道每次通行的时间分别为为30s、40s、50s,从而控制通行时间长短的转换;各个状态之间的转化及各个状态的通行时间也可以满足“主干道和支干道自动循环。主干道和支道每次通行的时间为30s,而在两个状态交换过程出现的"主黄,支红"和"主红,支黄"状态,持续时间都为4s”的设计要求。但是设计也存在一定的缺陷,设计只能完成当开关i,j,
17、k只有一个为高电平时使交通灯正常工作,,其他状态时定义G=0,这时交通灯不能正常工作。例如当X=I&J&K=101,时,其波形仿真各个状态时间通行时间长短会出现差错,如下图 然而,这种状况在实际生活中是不允许出现的。其解决方法是:在各个when语句后增加一条if判断语句,判断如果g等于0,则保持原状态,如果g不等于0,则执行原来方案中的状态转换语句。八、硬件要求主芯片EPF10K10LC84-4;6个LED灯(红、黄、绿各两个);四个开关。九、心得体会通过课程设计能提高学生对所学知识的综合应用能力,能全面检查并掌握所学内容,在这学期的课程设计中,在收获知识的同时,还收获了阅历,
18、收获了成熟,在此过程中,我们通过查找资料,请教老师,以及不懈的努力,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,我们学会了很多学习的方法。通过本学期的这次的课程设计与几次实验,我学会了语言的一些基本用法,应用了原来不会或者不熟练的句型,如process进程,也学会了一些基本功能的实现方法,如分频,状态控制等。虽然这次实验遇到的问题不少,但是在老师以及同学的帮助下,我都顺利地解决了,并为将来的实践积累了宝贵的经验和教训。通过经常和老师、同学交流,以便及时发现自己在实验中的纰漏和不足,促进进步。EDA设计中程序调试最为重要,我在编完各模块程序之后,编译查错最初有很
19、多错误,有输入错误,语法错误,通过反复的修改最终通过了编译。必须注意工程名和实体名的一致,在仿真无误的情况下把程序下载到是芯片中,进行硬件的调试。逻辑正确和仿真真确并不代表着实际实验的正确,通常情况下,要适当地调整逻辑以适应硬件。要特别注意仿真时出现的毛刺和偏差,到底是由于仿真设置不合理还是仿真结果确实有问题。这次课程设计虽然结束了,也留下了很多遗憾,因为由于时间的紧缺和许多课业的繁忙,并没有做到最好,但是,最起码我们没有放弃,它是我们的骄傲!相信以后我们会以更加积极地态度对待我们的学习、对待我们的生活。实验的顺利完成,与老师的热心指导是分不开的,最后十分感谢胡辉老师的认真负责的工作,让我受益
20、匪浅!十、参考文献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_log
21、ic; 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 co
22、unt_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); u
23、2: 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
24、_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 CLK'event) then if CLR='1' then counter
25、<=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,y
26、f,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<=&q
27、uot;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 iswhen a=>rm<='0'ym<='0&
28、#39;gm<='1' rf<='1'yf<='0'gf<='0'if s=g thenstate <=b;nclr:='0'en:='0'Elsestate<=a;nclr:='1'en:='1'end if;when b=>rm<='0'ym<='1'gm<='0' rf<='1'yf<='0'gf<=
29、9;0'if s=3 thenstate <=c;nclr:='0'en:='0'Elsestate<=b;nclr:='1'en:='1'end if;when c=>rm<='1'ym<='0'gm<='0' rf<='0'yf<='0'gf<='1' if s=g thenstate <=d;nclr:='0'en:='0'Elsestate<=c;nclr:='1'en:='1'end if;when d=>rm<='1'ym<='0'gm<='0' rf<='0'yf<='1'gf<='0'if s=3 th
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园学前班组教育教学工作总结
- 幼儿关于鲜花的课件
- 基于深度学习的车辆检测与跟踪的算法研究
- 2025年广西灵川县事业单位公开招聘辅警考试题带答案分析
- 注射器使用过程中的安全措施
- 麻醉后病人的安全护理实践
- 高风险药物输注的安全监护流程
- 慢病管理中的自我监测及安全
- 新解读《GB-T 20093-2022中文新闻信息分类与代码》
- 工装店铺知识培训课件
- 河南省安阳市林州市2024-2025学年八年级下学期期末历史试卷 (含答案)
- 2025年中医执业助理医师考试备考试题及答案解析
- 胸痛单元建设课件介绍
- 超市消防安全管理制度制度
- 酒店服务流程与空间布局优化
- DB11∕T 2380-2024 城市轨道交通工程盖挖法施工技术规程
- (2025)医疗护理员理论考试试题含答案
- 2025年贵州省中考英语真题含答案
- 建设工程法律培训
- 肿瘤护理安宁疗护
- 2025年南京市中考数学真题试卷
评论
0/150
提交评论