




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计(论文)题 目 名 称 基于VHDL的交通信号控制器的设计 课 程 名 称 专业课程设计 学 生 姓 名 杨 峰 学 号 1041301059 系 、专 业 信息工程系、电子信息工程 指 导 教 师 李 菲 2013 年 10月 28 日摘 要传统的交通灯控制系统多数由单片机或PLC实现,本文介绍的是基于EDA技术设计交通灯系统的一种方案。EDA技术的一个重要特征就是使用硬件描述语言(HDL)来完成系统的设计文件,可以代替设计者完成电子系统设计中的大部分工作,而且可以直接从程序中修改错误及系统功能而不需要硬件电路的指示,应用VHDL的数字电路实验降低了数字系统的设计难度,这在电子设计领域已得到设计者的广泛采用。本设计就是针对交通信号灯控制器的设计问题,提出了基于VHDL语言的交通信号灯系统的硬件实现方法。通过对系统进行结构分析,采用了层次化的设计方法,分别给出了分频模块、倒计时控制模块、动态控制模块的VHDL程序,并且利用Max Plus对应用程序进行了仿真,并给出了相应的仿真结果。在用VHDL语言进行电路设计时,应充分认识到VHDL语言的特点,从设计思想、语句运用及描述方法上等多方面对电路进行优化设计。通过电路优化设计,可以使用规模更小的可编程逻辑芯片,从而降低系统成本。关键词:EAD技术;VHDL语言;Max Plus;仿真目 录前 言11 交通信号控制器21.1 设计任务21.2 交通灯信号灯控制器的整体框架及工作原理21.3 交通信号控制器电路的实现及工作原理42 各模块的VHDL程序设计与仿真82.1 分频模块82.1.1 100分频模块82.1.2 50分频模块102.2 功能控制电路112.2.1 消抖同步模块112.2.2 状态控制模块122.2.3 A、B两方向倒计时控制模块contrla和contralb132.3 动态显示控制电路182.3.1 片选信号产生模块182.3.2 数据选择模块202.3.3 七段显示译码模块213 课程设计总结24参 考 文 献25致 谢26前 言随着世界经济与技术的发展,交通运输已经成为经济生活的重要方面,并对保证社会经济体系的正常运转发挥着越来越大的作用。然而,由于我国经济的快速发展以及机动车持有量的激增和其它运输工具的快速增长,使现有基础设施所能提供的交通供给能力与我国现实和潜在的巨大交通需求相比仍然严重短缺,交通拥挤仍然很严重,运输效率较低,城市交通堵塞和大气污染加剧,严重影响了我国城市经济的发展和人民的生活。分析其原因主要是由于现有交叉口的几何条件所限,以及缺少完善的交通管理设施。解决城市交通拥挤状况,完善路网来缓解交通拥挤不是短时间所能解决的,目前急需做的是进一步挖掘路网的潜力并改善交通现状,特别是改善交通信号控制。可见,研制一种高效的智能交通控制系统是很有必要的,因此,城市交通的智能控制目前已成为国内外交通工程界研究的热点领域之一。而各交叉口是是城市道路网的咽喉要道,是人流和车辆汇集的地方,最容易发生交通阻塞现象,因此交叉口信号的智能控制显得更为迫切。最大程度提高交叉口的通行能力,为经济的发展和人民生活提供一个安全、畅通、高效、低公害低能耗的交通环境已成为必然。实现路口交通灯系统的控制方法很多,可以用标准逻辑器件、可编程控制器PLC、单片机等方式来实现。交通系统未来的发展趋势就是要提高通行能力,加强换进保护,开展智能化运输和环保转向技术的研究,并需要做到以人为本,重点开张交通安全技术的研究,在这个过程中要确定经济合理的目标,促进新材料的广泛应用和开发。EDA技术是用于电子产品设计中比较先进的技术,可以代替设计者完成电子系统设计中的大部分工作,而且可以直接从程序中修改错误及系统功能而不需要硬件电路的指示,既缩短了研发周期,又大大节约了成本,收到了电子工程师的青睐。因此,本设计中采用了EDA技术,应用目前广泛应用的VHDL硬件电路描述语言,实现交通系统控制器的设计,利用MAX+PLUS集成开发环境进行综合、仿真、完成系统的控制作用。11 交通信号控制器1.1 设计任务作为一个十字路口交通信号灯控制器,每条道路都需要有一组红灯、绿、黄灯和倒计时计数器,用于指挥车辆的有序通行。其中,红灯表示该方向禁止通行;黄灯表示停车,用于绿灯亮后进行缓冲,提示该方向及时禁止通行;绿灯亮表示该方向可以通行。倒计时显示器用来显示允许通行或者禁止通行所剩的时间。通常还可设置一些其他功能,如按车的流量分配通行时间,以及提些特殊状态的处置等。十字路口交通灯控制器,应具有以下功能:东南西北方向上各设置一组红灯绿灯黄灯指示是否通行;同时还设置有以十进制数字显示时间、以倒计时方式显示每一条路允许通过或禁止通行剩余时间的倒计时计数器。红灯绿灯黄灯的持续时间分别为60s、57s和3s,显示顺序为其中一个方向是红灯、黄灯、绿灯、黄灯,另一个方向是绿灯黄灯红灯黄灯。当东西方向或南北方向人一道路上出现特殊情况,例如有消防车、警车执行任务或其他车辆有限放行时,可中断正常运行作态,进入紧急状态。此时两条道路上所有车辆停止通行,各方向均亮红灯,倒计时停止,且显示数字闪烁。当特殊情况结束时,控制其恢复原来的状态继续运行。1.2 交通灯信号灯控制器的整体框架及工作原理依据要求交通灯的框架(如1-1图所示)由分屏电路、倒计时控制电路、功能控制电路和动态扫描电路显示控制电路4个部分和必要的门电路组成。它有3个输入信号,一个时钟脉冲出入端clk1Hz,一个时钟脉冲输入端clk100Hz,一个紧急信号输入端jinji;它有东西A方向的红灯ra、绿灯ga、黄灯ya和南北方向的红灯rb、绿色ga、黄灯ya共6个输出端,7根LED七段显示译码管输出端a、b、c、d、e、f、g和2根位选择线sel1、sel0。图1-1交通灯的整体框架1分频电路功能用于产生倒计时控制电路所需的周期为1s的时钟信号clk100Hz和控制紧急情况时倒计时红灯闪烁频率的时钟信号clk2Hz.2时钟脉冲输入信号功能时钟脉冲输入信号clk1kHz用于产生动态扫描显示电路控制电路的片选信号。3倒计时控制电路按各种交通信号灯(红、绿、黄)的亮灯时间和亮灯顺序,设定东西A与南北B两个方向计数器的初值,随后进行减法计数,计数脉冲信号为秒信号clk1Hz;其输出控制A和B两个方向的红、绿、黄灯的亮灯信号ragaya和rbgbyb,以及对应一个状态的剩余时间timeah、timeal和timebh、timebl。这一部分电路是系统的核心部分,我把倒计时电路分成两部分,控制A方向的A控制电路和控制B方向的B控制电路,具体实现可以通过设置一个状态机记忆正常运行时交通灯的亮灯状态与顺序,依据状态机的状态逐次设定对应的计数器初值,然后技术秒脉冲信号clk1Hz的作用下,进行减法计数,计数至1再减为0时,则进行状态转换,由状态机的状态确定输出的交通信号灯的亮灯状态以及相应于个状态的时间剩余时间。输入信号EN控制倒计时电路是进行正常工作状态还是紧急工作状态。4控制功能是对电路工作状态(正常工作状态/紧急工作状态)的切换进行控制,将按键信号转变为倒计时电路中计时电路和显示控制电路电路的控制信号EN。5显示控制功能是对计时电路的输出信号进行选通控制。在EN信号控制下,当出县特殊情况时,即中断正常运行,进入紧急状态,使红灯全亮,倒计时时钟停止计时,并且利用信号clk2Hz,使显示数字闪烁。紧急运行状体结束后,则恢复中断时的状态,继续正常运行。1.3 交通信号控制器电路的实现及工作原理在正常情况下,时钟脉冲输入端clk100Hz接频率为100Hz的时钟脉冲,紧急信号输入端jinji接地电平(无效),分频器模块FENPIN主要用来产生周期为1s的秒脉冲信号,其频率clk1Hz,以控制倒计时时间按秒计数,同时还产生频率为2Hz的时钟信号clk2Hz,以控制紧急情况时倒计时红灯闪烁频率。功能控制模块XIAODO和状态控制模块NO组成。由于切换正常工作状态和紧急工作状态采用的是启动暂停的按键开关jinji,在按下或松动的过程中,按键抖动将引起电路误动作。消抖模块的作用就是消除按键所产生的抖动。状态控制模块的作用是对电路正常紧急工作状态的切换进行控制。通过它将按键信号“紧急/正常”(jinji)转变为倒计时电路和显示控制电路的控制信号EN,当未按下按键jinji(jinji为低电平)时,使EN=0,电路进入正常工作状态;当按下按键jinji(jinji为高电平)时,使EN=1,电路进入紧急工作状态倒计时控制器由A方向控制器contralA和B方向控制器contralB模块以及控制灯亮的门电路构成。A、B两方向的控制器contralA和contralB分别控制该方向上红、绿、黄信号灯的亮灯时间和顺序,而在门电路的控制下分别分别控制信号灯红灯的亮灯的信号ra、rb,绿灯的亮灯信号ga、gb,黄灯的亮灯信号ya、yb,即在正常情况下显示剩余时间,而在紧急情况下红灯闪烁,绿灯、黄灯不显示。动态显示控制模块由产生片选信号的四进制计数器、16选4数据选择器和七段显示译码器组成,四进制计数器sel用于产生16选4数据选择器MUX41的选择信号,分别从四组数据中选择一组数据进行输出,16选4数据选择器MUX41的作用是原则产生一组BCD码数据送显示译码器显示,同时还产生4路控制4个LED数码管轮流工作实现动态扫描显示的片选信号。在正常情况下jinji信号输入端为低电平以保证电路正常工作,时钟信号clk1KHz作为动态扫面显示控制电路模块MUX41的片选信号,不仅控制倒计时器显示的选择输出,还产生动态扫描显示控制电路的片选信号,所以要求时钟频率足够大。clk100Hz主要用来产生周期为1s的时钟从而控制倒计时时间按秒倒计时。所以要求clk100Hz和FENPIN1分频后得到时钟周期为1s的秒脉冲频率clk1Hz。时钟信号clk1Hz控制模块CONTRALA/CONTRALB的红、绿、黄灯的转换及时间按秒倒计时。控制器模块CONTRALA/CONTRALB的红、绿、黄灯输出直接接到红、绿、黄显示灯,时间输出端通过片选动态扫描显示控制电路模块MUX41,在时钟信号clk1kHz的控制下,循环控制4选1数据选择器进行输出,并产生对应的一组片选信号,用来控制倒计时时间的动态显示。在紧急情况下jinji信号输入端为高电平,通过消抖模块经过模块NO后输入端EN值为1,EN与分频后的clk1Hz经过或非门输出为0,使得控制器模块CONTRALA/CONTRALB停止工作,同时,EN端通过非门与控制黄,绿灯的输出端进行运算,直接与控制红灯的输出端进行或运算。这样在EN=1时,黄灯,绿灯被屏蔽,倒计时停止且时间屏蔽,两方向的红灯都点亮。与此同时,时钟信号clk100Hz经分频模块(50分频)后,与EN进行与非运算,得到结果与数码管进行与运算,以控制数码管的闪烁。当紧急情况结束时,在jinji端在输入一个脉冲信号,使得EN端输出为0,从而取消紧急情况。此时,控制器回到紧急情况到来之前的状体工作。工作原理图如1-2所示:图1-2交通信号控制器的原理图交通信号控制器正常工作时的仿真波形如图1-3所示。有图可以看出,当交通灯正常工作时,东西方向红灯ra约亮57s时,东西方向车辆禁止通行,加上黄灯ya的3s,南北方向绿灯gb约亮为60s,此时南北方向车辆通行,经过黄yb的3s,东西方向绿灯ga亮约57s,东西方向车辆通行,加上黄灯ya的3s,又回到东西方向亮红灯。1-3交通信号控制器的仿真波形交通信号控制器非正常工作时的仿真波形如图1-4所示。有图可以看出,当出现紧急情况时,按下紧急信号按钮jinji,信号紧急处于高电平时,东西方向和南北方向红灯ra和rb同时亮起,禁止一般车辆通行,让优先级别高的有特殊紧急情况的车辆通行。图1-4交通信号控制器在紧急情况下的波形2 各模块的VHDL程序设计与仿真2.1 分频模块2.1.1 100分频模块分屏器模块fen_pin1(如2-1图示)将频率为100Hz的时钟信号clk100Hz进行100分频后,得到频率为1Hz、占空比为1:100的输出信号clk1Hz,用来为A、B两方向倒计时控制器contralA、contralB提供秒脉冲时钟信号。图2-1 100分频模块分频器模块fen_pin1的源程序如下:LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;USE ieee.std_logic_arith.ALL;ENTITY fen_pin1 ISPORT(clk100Hz:IN std_logic; clk1Hz:OUT std_logic); END fen_pin1;ARCHITECTURE bhv OF fen_pin1 ISSIGNAL qan:std_logic_vector(3 DOWNTO 0);SIGNAL qbn:std_logic_vector(3 DOWNTO 0);SIGNAL cin:std_logic;BEGIN PROCESS(clk100Hz) BEGIN IF(clk100Hzevent AND clk100Hz=1)THEN IF qan=1001THEN qan=0000;cin=1; ELSE qan=qan+1;cin=0; END IF; END IF; END PROCESS; PROCESS(clk100Hz,cin) BEGIN IF(clk100Hzevent AND clk100Hz=1)THEN IF cin=1THEN IF qbn=1001THEN qbn=0000; ELSE qbn=qbn+1; END IF; END IF; END IF; END PROCESS; PROCESS(qan,qbn) BEGIN IF(qan=1001AND qbn=1001)THEN clk1Hz=1; ELSE clk1Hz=0; END IF; END PROCESS;END bhv;分频模块fen_pin1所对应的仿真波如图2-2所示。由图可以看出,输入信号clk100Hz每来100个脉冲,输出信号clk1Hz产生一个脉冲,且空占比为1:100图2-2 100分频模块仿真波形2.1.2 50分频模块分频器模块fen_pin2(如2-3图所示)将频率为100Hz的时钟信号clk100Hz进行50次分频后,得到频率为2Hz、占空比为1:1的方波信号clk2Hz,用来控制紧急情况下是红灯闪烁。图2-3 50分频模块图分频器模块fen_pin2的源程序如下:LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY fen_pin2 ISPORT(clk100Hz:IN std_logic; clk2Hz:OUT std_logic);END fen_pin2;ARCHITECTURE bhv OF fen_pin2 ISBEGIN PROCESS(clk100Hz) VARIABLE cnt:integer RANGE 0 TO 24; VARIABLE tmp:std_logic; BEGIN IF(clk100Hzevent AND clk100Hz=1)THEN IF cnt=24 THEN cnt:=0; tmp:=NOT tmp; ELSE cnt:=cnt+1; END IF; END IF; clk2Hz=tmp; END PROCESS; END bhv;分频模块fen_pin2所对应的仿真波形图如图2-4所示。由图可以看出,每隔25个脉冲,输出信号clk2Hz就发生翻转一次,即输入信号clk100Hz每秒来50个脉冲,输出信号clk2Hz产生一个脉冲,且占空间比为1:1。图2-4 50分频模块波形仿真图2.2 功能控制电路2.2.1 消抖同步模块消抖同步模块xiaodou(如2-5图所示)用于消除手动按键产生的不稳定脉冲。图2-5消抖模块消抖同步模块的源程序如下:LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY xiaodou ISPORT(jinji,clk1Hz:IN std_logic; b:OUT std_logic);END xiaodou;ARCHITECTURE bhv OF xiaodou IS SIGNAL temp1:std_logic; BEGIN PROCESS(clk1Hz,jinji) VARIABLE temp3,temp2:std_logic; BEGIN IF(clk1Hzevent AND clk1Hz=0)THEN temp1=jinji; temp2:=temp1; temp3:=NOT temp2; END IF; b=temp1 AND temp3 AND clk1Hz; END PROCESS; END bhv;消抖模块所对应的仿真波形如图2-6所示。由图可以看出,时钟信号clk1Hz下降沿有效。在一个下降沿检测到有按键按下时,这不管这一时钟周期内还有多少抖动,只是输出一个时钟周期宽度的脉冲信号。图2-6消抖模块仿真波形2.2.2 状态控制模块状态控制模块no(如图2-7所示)的功能是实现紧急情况与正常情况的切换。图2-7状态控制模块状态控制模块no的源程序如下:LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY no ISPORT(a:IN std_logic; en:OUT std_logic);END no;ARCHITECTURE no_arc OF no ISBEGIN PROCESS(a) VARIABLE tmp:std_logic; BEGIN IF(aevent AND a=1)THEN tmp:=NOT tmp; END IF; enIF a=0THEN th:=0101; tl:=0110; a:=1; ga=1; ra=0; yaIF a=0THEN th:=0101; tl:=1001; a:=1; ra=1; ya=0; gaIF a=0THEN th:=0000; tl:=0010; a:=1; ya=1; ga=0; raIF a=0THEN th:=0000; tl:=0010; a:=1; ra=1; ga=0; ya=0; ELSE IF NOT(th=0000 AND tl=0001)THEN IF tl=0000THEN tl:=1001; th:=th-1; ELSE tl:=tl-1; END IF; ELSE th:=0000; tl:=0000; a:=0; state:=red; END IF; END IF; END CASE; END IF; timeah=th; timeal=tl; END PROCESS;END bhv;A方向的倒计时控制模块contrala的仿真波形图2-11所示。图2-11 A方向的倒计时控制模的仿真波形2.3 动态显示控制电路2.3.1 片选信号产生模块片选信号产生模块sel(如图2-12所示)用于产生对数据选择器模块mux41的片选信号,控制数据选择器模块mux41的数据选择。图2-12片选信号产生模块片选信号产生模块sel的源程序如下:LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;ENTITY sel IS PORT(clk:IN std_logic; sell:OUT std_logic_vector(2 DOWNTO 0);END sel;ARCHITECTURE sel_arc OF sel ISBEGIN PROCESS(clk) VARIABLE tmp:std_logic_vector(2 DOWNTO 0); BEGIN IF(clkevent AND clk=1)THEN IF tmp=000THEN tmp:=001; ELSIF tmp=001THEN tmp:=100; ELSIF tmp=100THEN tmp:=101; ELSIF tmp=101THEN tmp:=000; END IF; END IF; sellq=d2;soq=d3;soq=d0;soq=d1;soq:=0111111; WHEN0001=q:=0000110; WHEN0010=q:=1011011; WHEN0011=q:=1001111; WHEN0100=q:=1100111; WHEN0101=q:=1101101; WHEN0110=q:=1111101; WHEN0111=q:=0100111; WHEN1000=q:=1111111; WHEN1001=q:=1101111; WHEN OTHERS=q:=1111001; END CASE; q0=q(0); q1=q(1); q2=q(2); q3=q(3); q4=q(4); q5=q(5); q6=q(6); END PROCESS; END bhv; 3 课程设计总结本论文运用VHDL语言,基于FPGA平台,采用现代数字系统设计手段,由顶到下的模块化设计方法,设计了基于2相位的左行与直行分开控制的十字路口交通信号灯控制系统。南北和东西道的通行时间可以外部设定,融合了根据交通流量调整通行时间的思想,从而提高了系统的灵活性。本系统由八个部分组成,利用MAX+plus软件编译调试各个模块,通过仿真波形图对比设计时预期的效果检验模块设计正确。绿黄红信号显示和倒计时钟的显示完全符合交叉路口实情。由于时间、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版杉木木材产业投资合作与融资合同
- 2025年度第八章担保物权法律咨询与风险评估合同
- 2025版砂石加工行业安全生产责任险合同范本
- 2025年度专用车辆驾驶员劳动合同规范文本
- 双列限姿导引侧充式玉米高速精量排种器设计与性能分析
- 2025年绿色建筑材料市场推广策略与政策支持下的绿色建筑产业投资机会分析报告
- 2025年智能电网市场前瞻:智能电网在数据中心冷却系统中的应用分析
- 新能源汽车二手车市场2025年评估模型与流通风险控制研究报告
- 2025年农村土地流转市场规范化管理政策优化与实施策略研究报告
- 农村土地流转与农村土地流转合同规范化管理研究报告
- 家庭房产分割协议书
- 北师大版《心理健康》九年级上册全套教学课件
- 《液压与气动控制》课件
- 邮政快递员技能大赛理论考试题库(含答案)
- 《电动航空器电推进系统技术规范》
- 结肠造瘘还纳术手术配合
- 2024年山东省建筑施工企业主要负责人A类考试题库及答案(典型题)
- 特种设备目录新旧对照表
- 2024年初一英语阅读理解专项练习及答案
- 陪诊师与公司签订协议书范文
- 喀什德力克油田科技有限公司30万立方米-日油田伴生放空天然气回收利用项目
评论
0/150
提交评论