新闻中心

EEPW首页>光电显示>设计应用> 基于FPGA技术的交通灯控制系统设计

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

作者: 时间:2009-05-06 来源:网络 收藏
计数模块的 如图3所示,从图中可以看出,在时钟的驱动下,计数值不断自加,当计数值countnum等于键盘输入值32(key=32)时,计数返回到0,开始下一轮计数。当Hold检测到特殊情况时置‘1’,使计数器暂停计数。
3.2 控制器模块的
在控制器模块中,红、绿、黄三盏灯工作的总时间由键盘输入,各 灯时间分配规则如下:红灯时间占总时间的1/2,绿灯时间占3/8,黄灯时间占1/8,本 中键盘输入值为32(key=32),正常情况下红灯亮16 s,绿灯亮12 s,黄灯亮4 s。
控制器 情况如图4所示,当hold为低电平,计数值countnum12时,greenA输出高电平,A东西方向绿灯亮起车辆通行,此时与之相对应的redB输出高电平,B方向红灯亮起车辆禁行。A方向显示 灯闪烁持续时间的数码管numA从12开始递减,同时B方向显示 灯闪烁持续时间的数码管numB从16开始递减。当12countnum16时,yellowA输出高电平,A方向黄灯亮起,numA从数值4开始倒计时,此时greenB仍处于低电平,numB继续倒计时,B方向红灯闪亮车辆仍处于禁行状态。当countnum>16,redA输出高电平,A方向红灯亮起车辆禁行,numA从数值16开始倒计时,此时greenB输出高电平,B方向绿灯亮起车辆通行,numB从数值12开始递减。当16countnum28时,redA继续处于高电平状态,numA继续倒计时,A方向车辆禁行,而此时yellowB输出高电平,B方向黄灯亮起,numB从数值4开始递减。当hold为‘1’时,表示进入紧急状态,FLASH置‘1’,各方向的红灯均亮起,所有机动车禁行。
3.3 分位模块
分位模块的设计主要是将灯亮时间分为十位和个位,通过两个相应的数码管分别显示出来。本设计中灯亮时间最长不超过40 s(numin40),numA,numB分别表示十位、个位上的数字,分位模块程序设计的流程图如图5所示。
分位模块的仿真如图6所示,numin的数值大小可以通过numA,numB的组合以十进制数值显示,从而实现了分位功能。
4 系统的硬件设计及调试
本系统的主要逻辑设计由一片EPlK30TC144-3芯片完成,编写的VHDL源程序在Altera公司的逻辑综合 Max+PlusⅡ下经过编译和功能仿真测试后,针对下载芯片进行管脚配置,下载到EPlK30TC144-3芯片中,进行相应的硬件调试,调试结果与 仿真的结果相吻合,验证了设计完成了预定功能。
5 结 语
本文利用硬件描述语言VHDL编程,借助Altera公司的Max+PlusⅡ 环境下进行了编译及仿真测试,通过 芯片实现了一个实用的交通信号灯 ,设计由于采用了EDA ,不但大大缩短了开发研制周期,提高了设计效率,而且使系统具有设计灵活,实现简单,性能稳定的特点。

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭