本文是基于 FPGA 智能交通控制系统设计,该系统采用硬件实现的主要方案包括:环形线圈车流量检测器进行车流量检测,根据实时车流量来实时的配时红绿灯的亮灭时间。利用 FPGA 技术,采用 ALTERA 公司的 FPGA 作为设计平台,通过 Quartus II 软件实现交通灯控制系统的设计。
本设计的主要设计理念是采用模块化的方式,整体结构是 FPGA 控制模块和车流量检测模块。其中 FPGA 控制模块包括:时钟分频模块,LED 灯控制模块,点阵显示模块,无线模块,采集信号处理模块和控制模块。
1 设计要求
如图所示为本设计的城市交叉路口智能交通控制系统示意图,交叉路口的交通分为东西方向和南北方向,其中南北方向为交通主干道,东西方向为交通副干道。不管南北方向还是东西方向都设有 4 种信号灯:红灯(R)、绿灯(G)、黄灯(Y)、左转灯(L)。为了简化讨论,人行道的信号灯与直行信号灯同步。
在南北方向的交通信号灯为红灯的时候,东西方向的交通信号灯状态为绿灯、黄灯、左转灯以及最后的黄灯。同样的东西方向的交通信号灯为红灯的时候,南北方向的交通信号灯的状态也依次为绿灯、黄灯、左转灯以及最后的黄灯。
在发生紧急情况的时候,交通南北主干道和交通东西副干道需要有一种处理紧急事故的能力。也就是在发生意外情况下,南北方向和东西方向的交通信号灯都变为红灯,直到紧急事故消失。采用这种设计方式是完全为了保证在紧急事故中,处理事故的车辆能够优先通过,获得宝贵的处理事故的时间,是非常人性化的考虑,保障了人民的人身和财产安全。
在交叉路口中,需要设置点阵模块来显示倒计时的状态,方便让车辆司机知道当前交通信号灯的即时状态,这个设计也体现了人性化的特点。
2 设计框架
在本论文中,采用的编程设计思想是目前比较常用的模块化理念,将交通灯控制系统的整体设计分为了硬件设计和软件设计,由几个具体的模块组成每个部分,如图所示为城市致命交通控制系统的硬件设计框架。
3 硬件设计
3.1 环形线圈车辆检测器:本文选用了国际通用的车辆检测卡装置。如图所示为环形线圈的车流量检测模块的电路图,该模块需要在道路的地下将地感线圈埋放,通电。环形线圈与其耦合的电路连接,该耦合电路具有自身的振荡频率。当有车辆通过的时候环形线圈中的电感量就会发生变化,同时与之耦合的电路中的振荡频率也会较自身的固有频率增高,这个时候,电路将会向外发送一个正脉冲信号。
3.2 单片机控制系统:单片机控制系统的主要目的是将多个埋设在交叉路口路段上的地感线圈的信号进行简单处理并控制无线通信模块将信号发送到交通灯控制中心。
如下图所示为基于单片机的车流量计数电路,其接受来自不同的 3 个地感线圈的信号,并将信号与 STC89C51 单片机的中断引脚连接,中断引脚分别为 INT0 和 INT1。
其工作原理可以表述为:假设有车辆在南北方向的道路上行驶,其首先通过了埋设在地下的环形线圈 1,由环形线圈 1 发出了脉冲信号 input1 经反向传入了中断引脚 INT0,INT0 中断信号有效的时候会将单片机内部的计时功能开启,同时打开允许中断引脚 INT1 工作;当车辆经过了环形线圈 2 的时候,由环形线圈 2 发出了脉冲信号 input2 经反向传入了中断引脚 INT1,检测单片机引脚 P1.0 是否为高电平,如果是的话单片机内部计数器加 1;当车辆经过了环形线圈 3 的时候,由环形线圈 3 发出了脉冲信号 input3 经反向传入了中断引脚 INT1,此时中断 INT1 同样有效,这时检测单片机引脚 P1.0 是否为高电平,如果是的话就关断单片机内部的 INT1 中断和计数器,这样可以判断车辆的行驶方向,对于一个道路可以双向行驶的地方是十分有用的。
3.3 无线通信模块:无线通信模块分别安装在路上设施中和交通灯控制系统中细腻中,由于距离比较远,所以采用了无线通信的方式。
3.4 FPGA 控制模块:本设计的主要模块,其根据环形线圈获得的车流量信息实时的对交通信号灯的配时方案作出合理安排。
3.5 交通信号灯:即为交叉路口实际的信号灯以及倒计时点阵显示。
4 软件设计
以上述的硬件设计为基础,本文根据交通信号灯的实际运作情况,将 FPGA 控制模块中的控制系统软件设计分为 5 个模块,城市交通灯控制系统软件设计框架如图所示。
4.1 时钟分频模块:时钟分频模块是将硬件电路上的时钟信号进行分频获得秒信号,用来当做控制模块的时钟输入。本文中使用的硬件电路中有源晶振提供的时钟频率为 50MHz,对于交通信号灯而言,需要的是以秒为单位的时间信号。因此,50MHz 的频率太高,需要对其进行分频处理。根据上述要求,在交通灯控制系统中设计了时钟分频模块,其分频系数设置为 50M,输入的时钟为 50 MHz,输出时钟为 1 Hz。
4.2 点阵显示模块:点阵显示模块是用来显示 LED 灯由亮到暗的时间倒计时的,其与 LED 灯是同步的,同样都是受到控制模块的控制。
4.3 无线模块:用来读写无线模块中的数据,其采用的接口协议是通用异步收发传输器,通常称作 UART。
4.4 采集信号处理模块:实时处理车辆检测装置上传的有效信号,并将处理结果传向控制系统。
4.5 控制模块:控制模块是整个交通灯控制系统软件设计框架的重点,也是整个控制系统的核心。
按照上述的软件设计框架,采用 Verilog 语言在 Quartus II 上进行编程实现,并仿真测试,最终进行硬件级调试。