基于FPGA技术的智能交通灯控制系统设计

随着我国汽车数量越来越多,现阶段的交通灯模式采用的是定时控制,由于车流量是随时变化的。当此时没有车通过,而相对的车要等到此方向的绿灯结束显示红灯才能通过,在时间和空间方面的应变性能较差,这样不仅浪费了时间,还使得相对方向的车辆造成“堵车”现象。要想解决城市的“大堵车”现象,改善原有的交通灯控制系统是很有必要的。
因此本文在eda技术的基础上,利用fpga的相关知识设计了交通灯控制系统,可以根据实际情况对灯亮时间进行自由调整,整个设计系统通过max+plusⅱ软件进行了模拟仿真,并下载到fpga器件中进行硬件的调试,验证了设计的交通信号灯控制电路完全可以实现预定的功能,具有一定的实用性。
1、系统设计要求 所设计的交通信号灯控制电路,主要适用于在两条干道汇合点形成的十字交叉路口,路口设计两组红绿灯分别对两个方向上的交通运行状态进行管理。交通灯的持续闪亮时间由键盘输入控制。灯亮时序如图1所示,当b方向的红灯亮时,a方向对应绿灯亮,由绿灯转换成红灯的过渡阶段黄灯亮,即b方向红灯亮的时间等于a方向绿灯和黄灯亮的时间之和。同理,当a方向的红灯变亮时,b方向的交通灯也遵循此规则。各干道上安装有数码管,以倒计时的形式显示本道各信号灯闪亮的时间。当出现特殊情况时,各方向上均亮红灯,倒计时停止。特殊运行状态结束后,控制器恢复原来的状态,继续运行。
图1 交 通灯闪亮时序图
2、系统整体设计 整个系统设计如图2所示,该系统主要由计数模块、控制模块、分频模块、分位模块以及显示电路构成。其中分频模块主要将系统输入的基准时钟信号转换为1hz的激励信号,驱动计数模块和控制模块工作。控制模块根据计数器的计数情况对交通灯的亮灭及持续时间进行控制,并通过分位电路将灯亮时间以倒计时的形式通过数码管显示出来。图中reset是复位信号,高电平有效,可以实现对计数器的异步清零。hold为保持信号,当hold为“1”,计数器暂停计数,表示出现特殊情况,各方向车辆都处于禁行状态。
图2交通灯控制系统模块图
3、主要功能模块设计及仿真 3.1、计数模块设计 计数模块主要实现累加循环计数,计数的最大值由键盘输入控制,输出的计数值为控制模块的灯控提供参考,计数器的主程序设计如下:
计数模块的仿真如图3所示,从图中可以看出,在时钟的驱动下,计数值不断自加,当计数值countnum等于键盘输入值32(key=32)时,计数返回到0,开始下一轮计数。当hold检测到特殊情况时置`1‘,使计数器暂停计数。
图3计数模块仿真图
3.2、控制器模块的仿真设计 在控制器模块中,红、绿、黄三盏灯工作的总时间由键盘输入,各交通灯时间分配规则如下:红灯时间占总时间的1/2,绿灯时间占3/8,黄灯时间占1/8,本设计中键盘输入值为32(key=32),正常情况下红灯亮16s,绿灯亮12s,黄灯亮4s。
图4 控制模块仿真图
控制器仿真情况如图4所示,当hold为低电平,计数值countnum《12时,greena输出高电平,a东西方向绿灯亮起车辆通行,此时与之相对应的redb输出高电平,b方向红灯亮起车辆禁行。a方向显示交通灯闪烁持续时间的数码管numa从12开始递减,同时b方向显示交通灯闪烁持续时间的数码管numb从16开始递减。当12《countnum《16时,yellowa输出高电平,a方向黄灯亮起,numa从数值4开始倒计时,此时greenb仍处于低电平,numb继续倒计时,b方向红灯闪亮车辆仍处于禁行状态。当countnum》16,reda输出高电平,a方向红灯亮起车辆禁行,numa从数值16开始倒计时,此时greenb输出高电平,b方向绿灯亮起车辆通行,numb从数值12开始递减。当16《countnum《28时,reda继续处于高电平状态,numa继续倒计时,a方向车辆禁行,而此时yellowb输出高电平,b方向黄灯亮起,numb从数值4开始递减。当hold为`1‘时,表示进入紧急状态,flash置`1’,各方向的红灯均亮起,所有机动车禁行。
3.3、分位模块设计 分位模块的设计主要是将灯亮时间分为十位和个位,通过两个相应的数码管分别显示出来。本设计中灯亮时间最长不超过40s(numin《40),numa,numb分别表示十位、个位上的数字,分位模块程序设计的流程图如图5所示。
图5 分位模块程序设计流程图
分位模块的仿真如图6所示,numin的数值大小可以通过numa,numb的组合以十进制数值显示,从而实现了分位功能。
图6 分位器仿真图
4、系统的硬件设计及调试 本系统的主要逻辑设计由一片ep1k30tc144-3芯片完成,编写的vhdl源程序在altera公司的逻辑综合工具max+plusⅱ下经过编译和功能仿真测试后,针对下载芯片进行管脚配置,下载到ep1k30tc144-3芯片中,进行相应的硬件调试,调试结果与软件仿真的结果相吻合,验证了设计完成了预定功能。
5、结语 本文利用硬件描述语言vhdl编程,借助altera公司的max+plusⅱ软件环境下进行了编译及仿真测试,通过fpga芯片实现了一个实用的交通信号灯控制系统,设计由于采用了eda技术,不但大大缩短了开发研制周期,提高了设计效率,而且使系统具有设计灵活,实现简单,性能稳定的特点。
更多智能交通灯控制电路的设计方案:plc交通灯控制电路设计合集
fpga技术的交通灯控制系统课程设计
单片机的交通灯控制器课程设计

国仪量子荣获2023年度“朱良漪分析仪器创新奖”
美国正在为科学“设置”国界?已经有科学家陆陆续续被解雇了!
索尼XZ2暗光拍照评测 效果到底怎么样
OPPO扶植“Realme”主攻印度中低端市场,是复制第二个“一加”吗?
工业机器人最大应用市场占比呈下滑趋势
基于FPGA技术的智能交通灯控制系统设计
黄仁勋将在CES展登台演讲 RTX2060或出现
物联网通信连接技术和物联网设备的详细介绍
中国移动巨额成交350亿港元 中国联通巨量成交11亿股
什么是长程攻击
物联网的发展推动IPv6取代IPv4
Micro-Hybrid高温气体传感器的原理是什么?有什么应用?
薄膜在线污点检测系统的原理、功能及技术指标
探讨一下光耦与光敏电阻的不同之处
编程要从娃娃抓起,教育部新规要求中小学逐步推广编程教育
华为云FusionInsight智能数据湖助力企业全面演进现代数据栈,优化数据服务和管理
单片机选型有诀窍:根据数值选择低功耗MCU
芯闻3分钟:高通称2019年为"5G之年" 预计将有30款5G设备推出
ipad只是前戏?苹果大秀将要开启
存储芯片的原理_分类及应用