1、 本科 毕业 论文 (设计 ) (二零 届) 基于 FPGA 的交通灯控制系统设计 所在学院 专业班级 电气工程及其自动化 学生姓名 学号 指导教师 职称 完成日期 年 月 - 1 - 摘 要 智能交通控制系统是一个基于现代电子信息技术面向交通运输、车辆控制的服务系统。 本文通过用 PLC 和单片机的方案对比以及 根据 交通灯控制系统的设计要求,确定了用 FPGA 模块化功能来实现。主要运用了主控制模块,55 秒倒计时模块, 5 秒倒计时模块,倒计时时间选择驱动模块,倒计时时间选择模块, 1KHz 时钟信号模块, 1Hz 计数时钟信号模块,倒计时时间数据多路选择模块,动态显示驱动模块,显示数据
2、多路选择模块,显示数据译码模块。利用QuartusII 将每个模块进行仿真,保证功能正确。在保证功能正确以后,将所有模块连接起来,形成完整的设计,并用 QuartusII 再次仿真。仿真结果表明功能正确,符合设计要求。最后利用 QuartusII 将程序下载到 Altera FPGA 芯片EP2C5T144C8 中,实际结果表明电路工作正常,满足了设计要求。 关键词 :交通灯; FPGA;控制; - 2 - Abstract Intelligent traffic control system is a modern electronic information technology base
3、d on for transportation, vehicle control service system. This article through the comparison with scheme of PLC and single-chip microcontroller and according to the the requirements of traffic lights control system design , identified using the FPGA modular function to realize. Mainly utilized maste
4、r control module, 55 seconds countdown module, 5 seconds countdown module, countdown time choosing driver modules, countdown time choosing module, 1KHz clock signal module, 1Hz clock counting signal module, countdown time data multiple choice module, dynamic display driver modules, display data mult
5、i-channel choose module, display data decoding module. Simulatting each module by using QuartusII in order to ensure correct function.Then put all modules together , forming complete design, and use QuartusII to simulat again. Simulation results show that the function is correct, conformancing to th
6、e design requirements. Finally, using the QuartusII to download the program to Altera FPGA chip EP2C5T144C8, the actual results show that circuit works well, satisfy the design requirements. . Key words : traffic light; FPGA; control; - 3 - 目 录 1 引言 .1 2 实现方案的确定 .2 2.1 交通灯控制系统 PLC 设计方案 .2 2.2 交通灯控制系
7、统单片机设计方案 .3 2.3 FPGA 主控实现方案设计 .4 3 各功能模块的设计与实现 .7 3.1 总体设计思路 .7 3.1.1 系统组成框图 .7 3.1.2 交通灯的状态转换图 .8 3.2 功能模块设置及实现 .9 3.2.1 主控制模块 .9 3.2.2 55 秒倒计时模块 .10 3.2.3 5 秒倒计时模块 . 11 3.2.4 倒计时时间选择驱动模块 .12 3.2.5 倒计时时间选择模块 .13 3.2.6 1KHz 时钟信号模块 .14 3.2.7 1Hz 计数时钟信号模块 .14 3.2.8 倒计时时间数据多路选择模块 .14 3.2.9 动态显示驱动模块 .15
8、 3.2.10 显示数据多路选择模块 .16 3.2.11 显示数据译码模块 .17 4 总体调试与结果说明 .18 4.1 顶层电路 .18 4.2 过程调试 .19 4.3 硬件仿真效果 .20 5 总结和展 望 .22 6 致谢 . 错误 !未定义书签。 参考文献 .23 附录 1 程序代码 .24 - 1 - 1 引 言 随着人们生活水平的提高,拥有属于自己的车已经不属于什么难事了,但是车辆的增多,也给我们的出行带来了一些不便,如交通拥堵、交通事故频发、环境污染加剧和燃油损耗上升,其中最为关键的是交叉口的交通灯控制系统管理。而交叉口的通行能力又是决定道路通行的关键所在 ,若 对城市交通
9、网络的交叉口信号控制系统进行协调优化控制,可缓解拥堵区域的交通压力,使交通流量在整个城市范围内的分配趋于合理,降低或消除对道路的瓶颈影响,提高道路的通行能力和服务水平 , 通常最为常用的原则是车辆在交叉口的通过量最大或车辆在交叉口的延误最小。 图 1-1 实际十字马路交通灯系统 图 1-1 为实际生活中常见的交通灯控制系统模拟图。在十字路口上,如何自动可靠地实现交通灯的控制,并且在交通警察需要监督的时候,能够使交通灯与交通警察的监督很好地配合使用,以维持好日常生活交通秩序。很显然,在实际的系统中,最主要是系统的可靠性。随着微电子技术、半导体制造工艺的飞速发展,可编程逻辑器件的可靠性得到了很大提
10、高,同时在成本方面也得到了很好的控制,选择可编程逻辑器件来实现交通灯控制系统是非常具有实际价值的 1。 红灯 绿灯 黄灯 倒计时显示 倒计时显示 红灯 绿灯 黄灯 交警 指挥台 人行道 人行道 - 2 - 2 实现方案的确定 实现路口 交通灯 系统的 控制 方法很多,下面结合实际设计需要,主要介绍PLC 实现技术和单片机应用实现,并在此基础上确实基于 FPGA 的主控实现方案。 2.1 交通灯控制系统 PLC设计方案 所示基于 PLC 的 交通灯系统 例子 要求实现 “ 正常时序控制 ” 及 “ 急车强通控制 ” 两种控制方式 ,其程序总流程图如图 2-1所示。 图 2-1 程序总流程图 正常
11、时序控制 : 南北向控制和东西向控制都是按正常时序顺序动作,控制相应信号灯循环发亮, 它们的 控制子程序流程图 相似 如图 2-2所示。急通车控制分南北向急通车控制和东西向急通车控制两路 , 控制子程序流程图如图 2-3所示。急车强通控制要求如下 : 急车强通信号受急车强通开关控制。无急车时,信号灯按正常时序控制。有急车来时,将急车强通开关接通,不管原来信号灯的状态 如何,一律强制让急车来车方向的绿灯亮,使急车放行,直至急车通过为止。急车一过,将急车强通开关断开,信号灯的状态立即转为急车放行方向的绿灯闪亮 3 次,随后按正常时序控制 2。 图 2-2 南北向控制子程序流程图 图 2-3 急通车
12、控制子程序流程图 南北红灯亮 28S 南北绿灯亮 24S 调闪亮子程序 南北黄灯亮 3S 南北绿灯亮 东西绿灯亮 调闪亮子程 序 I/1 I/2 南北向控制 东西向控制 返回 NN N N 是否时状态S3? - 3 - 交通灯控制采用 PLC 比传统的采用电子线路和继电器具有可 靠 性高、维护方便、使用简单、通用性强等特点, PLC 还可以联成网络,根据实测各十字路口之间的距离、车流量和车速等,合理确定各路口信号灯之间的时 差,把 N 台 PLC联网到一台控制电脑上,以方便操作、管理和监控,从而极大地提高城市道路交通管理能力 3。 2.2 交通灯控制系统单片机设计方案 单片机也是常见的交通灯控
13、制系统主控实现手段。采用单片机控制模块提供电源,用数码管与 LED 灯分别显示时间与提示信息。主程序流程图如图 2-4所示,主要是一个死循环 ,不停的循环四个状态;按键子程序流程图如图 2-5,它包含倒计时调整和紧急状态两个状态;另外,主程序中放了一个按键的判断指令,当有按键按下的时候,程序就自动的跳转到按键子程序处理。当检测到 K2 键按下的时候就自主返回 到主程序。当出现紧急情况的时候,按下 K3 或者 K4就切换到紧急状态,当紧急事件处理完毕的时候,按下 K2,就可以返回正常状态。 图 2-4 主程序流程图 开始 程序初始化 是否时状态 S1? 按键是否按下? 返回 启动状态 S1 启动
14、状态 S2启动状态 S3 启动状态 S4按键处理 是否时状态 S2? 是否时状态 S4? YY Y Y Y Y N N N N N 是否时状态 S3? N - 4 - 图 2-5 按键子程序流程图 由于使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合。 一般来讲,同样的逻辑,基于 FPGA 要比基于单片机要快很多,因为它们工作的原理是完全不同的 。 单 片机是基于指令工作的,同样的激励到达单片机后,单片机首先要判断,然后读取相应的指令,最后作出相应,这每一步都是需要在单片机的时钟驱动下一步步的进行 。 而基于 FPGA 则是把
15、相应的逻辑 “ 暂时 ” 固化为硬件电路了,它对激励作出的响应速度就是电信号从 FPGA 的一个管脚传播另一个管脚的传播速度,当然这指的是异步逻辑,同时电信号也要在芯片内进行一些栅电容的充放电动作,但这些动作都是非常非常快的 。 因此,总的来说,基于 FPGA 要比基于单片机要快很多 4。 2.3 FPGA 主控实现方案设计 结合已有的 PLC 实现和单片机应用实现 的经验 ,并吸收两种设计的优势之处,再根据交通灯控制系统的设计要求和 FPGA 模块化功能实现 ,确定了以下方案,因每个方向相对的信号灯状态及倒计时显示器的显示完全一致 ,根据设计要求和系统所具有的功能 ,交通灯控制器系统框图如图
16、 2-6 所示。 K1 按 K3 按 K4 按 进入时间调整 S3+S4 循环执行 S1 循环执行 S3 返回 N N N N N N N Y N Y N Y N - 5 - 图 2-6 交通灯控制器系统框图 确定的方案中,系统具有复位功能,能使系统重新开始计时; 在红绿灯交通信号系统中,大多数的情况是通过自动控制的方式指挥交通的,但为了配合高峰时段,防止交通拥挤,有时还必须使用手动控制。为此主体 包括 系统复位,手动/自动,红绿灯切换,主控模块,显示器,报警器。具体主控部分用 FPGA 来实现。 图 2-7 交通灯通行示意图 结合实现方案,主要有东西、南北、南北左拐,东西左拐,跟手动控制 5
17、种工作方式,具体由 M2 M0 设定 ,具体如表 2-1。 表 2-1 交通灯工作方式表 方式 M2(0:自动 , 1:手动 ) M1(0:A 向 , 1:B 向 ) M0(O:直行 , 1:左拐 ) 1 0 0 0 A B FPGA 系统复位 手动 /自动 红绿灯切换 主 控 模 块 显 示 器 报警器 - 6 - 2 0 0 1 3 0 1 0 4 0 1 1 5 1 * * 当出现特殊情况时 ,可选择方式 1到方式 4中的任何一种方式 ,停止正常运行 ,进入特殊运行状态。此时交通灯按工作方式显示 ,计时电路停止计时 ,计时时间闪烁显示。当系统总复位时 ,控制电路和计时电路复位 ,信号灯全部熄灭 5。