- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.6 红绿灯交通灯控制器EDA设计
6.6.1设计要求
设计一个基于FPGA的红绿灯交通信号控制器。假设某个十字路口是由一条主干道和一条次干道汇合而成,在每个方向设置红绿黄三种信号灯,红灯亮禁止通行,绿灯亮允许通行。黄灯亮允许行驶中车辆有时间停靠到禁止线以外。
在自动控制模式时,主干道每次放行时间为35秒,次干道每次放行时间为15秒,主干道红灯次干道黄灯,主干道黄灯,次干道红灯持续时间为5秒。其外部硬件电路方面包括:两组红绿灯(配合十字路口的双向指挥控制)、两级七段显示器(配合绿灯时倒计时显示)、一组手动与自动控制开关(针对交通警察指挥交通控制使用)。
6.6.2系统组成
城市道路交叉口是城市道路网络的基本节点,也是网络交通流的瓶颈。目前,大部分无控制交叉口都存在高峰小时车流混乱、车速缓慢、延误情况严重、事故多发、通行能力和服务水平低下等问题。特别是随着城市车流量的快速增长,城市无控制道路交叉口的交通压力越来越大。因此,做好基于EDA技术平台的交叉口信号控制设计是缓解交通阻塞、提高城市道路交叉口车辆通行效率的有效方法。交通信号控制的目的是为城市道路交叉口(或交通网络)提供安全可靠和有效的交通流,通常最为常用的原则是车辆在交叉口的通过量最大或车辆在交叉口的延误最小。
按照“自顶向下”的层次化设计方法,整个系统可分为4个模块,系统时序发生电路,红绿灯计数时间选择模块,定时控制电路,红绿灯信号译码电路。其系统组成方框图如图6-51所示:
图6-51交通灯控制器系统组成方框图
图6-54中,系统时序发生电路最主要的功能就是产生一些额外的输出信号,它们是为红绿灯信号译码电路提供的频率为250Hz的扫描信号,为定时控制电路提供的使能(enable)控制信号,为红绿灯信号译码电路提供的占空比为50%的秒闪烁信号;红绿灯计数时间选择模块是负责输出显示器需要的值(即倒数的秒数值),作为定时控制电路(count_down circuit)的到计数秒数,在该模块中可设置东西路口和南北路口的信号灯维持秒数;定时控制电路功能就是负责接收红绿灯计数时间选择模块输出的值(即倒数的秒数值),然后将其转换成BCD码,利用七段显示器显示出来,让行人能清楚地的知道再过多久就会变成红灯;红绿灯信号译码电路除了负责控制路口红绿灯的显示外,最主要的功能就是能够利用开关来切换手动与自动的模式,让交警能够通过外部输入的方式来控制红绿灯信号系统的运作,在红绿灯交通信号系统中,大多数的情况是通过自动控制的方式指挥交通的,但为了配合高峰时段,防止交通拥挤,有时还必须使用手动控制,即让交警自行指挥交通。
为系统正常运作,整个控制器采用同步工作方式,由外接信号发生器(该电路的设计可参见本章6.2.3节)提供1kHz的时钟信号CLK。
6.6.3 红绿灯交通灯控制器的层次化设计方案
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。其VHDL源程序如下:
LIBRARY IEEE;
USE IEEE.std_logic_1164.all;
USE IEEE.std_logic_arith.all;
USE IEEE.std_logic_unsigned.all;
ENTITY clk_gen IS
port(reset: in std_logic;-- 系统复位信号
clk:in std_logic;-- 由外接信号发生器提供1kHz的时钟信号
ena_scan:out std_logic; --250Hz信号
文档评论(0)