- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
基于FPGA的交通信号灯控制系统设计
文/胡桂戎陕西警官职业学院陕西西安710021
【摘要】本文采用FPGA设计,结合了道路传感器,设计了交通信号灯全感应自适应的控制
方案。通过仿真与验证结果表明实现对交通道路的畅通达到优化的效果。
【关键词】FPGA;信号灯;系统
现代城市交通车流量大,交通信号灯的时间控制和状态转化往往是造成交通效率高低的主要
原因。因此,就需要对信号灯的亮灯时间和转化上,根据道路实际情况,做出最优化的方
案。本文对此,基于FPGA进行设计出了较为智能化的交通信号灯的控制系统。
1、设计背景要求
1)需要在道路十字路口四个道口各设一组交通信号灯,包括左转弯的指示灯。2)为体现所
设计系统的功能,假设南北道路为主干道。车流量向北东西道较大,南北道可通行时间要长
于东西道路。3)为符合实际中的交通规则,所设计的程序需要在绿灯、红灯以及左转灯转
换之间,要有黄灯作为缓冲指示。4)根据现实应用需求,指示灯显示时间可设定和调整。
交通灯显示时间需要有倒计时方式在旁边亮起显示。特殊情况需要应急车通行时,指示灯需
显示出应急功能保障应急车辆优先通过。
2、结构设计
系统具体结构如图1所示。分频器对晶振脉冲进行分频,产生时钟脉冲。主控制器收到时
钟信号后,做出转换状态,并输出状态时间。与此同时,信号灯控制器依据得到的状态指
示,对道路信号灯做出控制。运行中,主控制器发出的信号是实数类型,分位器须将收到的
信号转换为BCD编码送到显示装置内。
3、控制系统的设计
3.1分频模块设计
系统设计采用模块化方案。其中,分频模块的工作是把50MHz的基准信号分成1Hz的激励
信号,然后提供给控制模块。实际在软件QuartusII里面进行操作。
在软件的NewProjectWizard窗口下,输入位置d:/trafficlight,然后输入文件名。这
个一般设计过程是相同的。依次选择File→New→VerilogHDLFile,这时需要注意的
是,在Verilog.v文件板块中录入系统分频程序。最后把此文件进行编译,做出功能仿
真。
3.2控制模块设计
控制模块中,控制信号的产生主要采用按键形式。但运行中按键会有抖动的现象。消除抖动
的方式还是使用软件。控制模块的实用性较强,有时间预置、模式选择、复位调整等功能。
设计中,4个按键分别为krest、kset、kup和kdown。Krest是复位按钮。Kset作为转换
状态的调整使用。kup和kdown分别为设置量的加减。过程中,kset控制state[3..0]进
行状态控制。交通信号灯显示时间信号分别为G1_time[6..0],Y1_time[6..0],
R1_time[6..0],L1_time[6..0]。显而易见,改变此阈值即为改变信号灯的倒计时时间。具
体模式如下表所示。
这为具体使用提供了便捷。
3.3主干道计时模块设计
对主干道模块的设计,主要是为了实现各个道路信号灯的指示时间和转换状态。当然还包括
倒计时的显示形式。在模块中录入clk_1s信号,为倒计时提供相应的脉冲指控。主干道各
信号灯的显示时间值为G1_time[6..0],Y1_time[6..0],R1_time
[6..0]和L1_time[6..0],这些参考值能够为模块准确计数和不同信号等的转换做
出判断依据。设计中,复位信号为stt,对各种模式的控制信号是st。
同样道理,输出信号为G1_ctime[6..0],Y1_ctime[6..0],R1_ctime[6..0]和
L1_ctime[6..0]。在模块设计这些信号时,一定要注重精确。这些信号能够有效的为道路
指示灯提供精确的倒计时显示数值。现实中,将这些数值直接送达显示模块。显示模块所需
要的显示状态为seg[1..0]的条件。G1、Y1、R1和L1分别为每个信号灯的输入控制信
号,并且为高电平点亮。设计中,首先建立main_module.v文件。直接录入每个信号灯相
对应的模块记时数据。对此功能,可以进行功能仿真验证,以确保正确性。最终,还是要对
此生成元件符号。
3.4副干道计时模块设计
设计过程中,如果没有特殊要求,副干道的计时模块的设计与上文提到的主干道计时模块设
计是比较类同的。设计过程中,只需注意实际运用中的需求,对交通信号灯显示顺序的不同
以及倒计时时间长短不同,而进行不同的设置。在程序及符号录入时,同样要十分注意准确
性,以
文档评论(0)