3.2 系统的整体结构及软件设计
系统生成的RTL如图4所示。该系统主要由数据采集模块、模糊推理模块、分频模块、计数器模块、状态机控的车流量和下一相位的车流量;模糊推理模块对采集到的数据进行计算,并确定当前交叉口的通行情况(包括4个相位的通行与禁止、通行的准确时间);分频模块将系统提供的40 MHz的频率进行分频得到1 Hz;计数器将模糊推理模块得到的具体数据实现减1计数,并通过7段数码管显示。
对于模糊决策部分,其中每一条模糊条件语句都决定一个模糊关系。
例如:if P=P1 and Q=Q2,then T=T2所决定的模糊关系可以按下式计算:
R2=(P1×Q2)T×T2 (1)
此处的T表示将矩阵按行排列成一列向量,通过39个模糊关系的“并”运算,可获取表征总的模糊关系,即:
给定输入,由R按合成推理规则可得模糊输出:
Ri=(Pi×Qj)T×R (3)
根据所有的组合以及按式(2)和式(3)可求得绿灯延时,加上绿灯基本延时最终可确定当前相位的绿灯总时间,然后建立控制查询表,编写VHDL描述语言。
3.3 模糊控制交通灯硬件实现
BIT文件由FPGA综合实现T具产生,用于配置FPGA,JTAG边界扫描链的每一个FPGA需要一个BIT文件。使用电缆下载配置文件到PROM时,主要工作过程是启动iMPACT,在文件模式中用PROM Formatter把BIT文件转为MCS/EXO格式的PROM文件,然后在配置模式中初始化边界扫描链,接着就可以下载配置文件了,如图5所示。
以上设计已经编程完毕并且完成验证,开发板spartan3A/3AN已经可以工作。由7个按键模拟输入,输入数据不同,数码管根据模糊控制判决得出不同的数据显示,状态控制器得出当前状态,并用LED灯来直观显示,如图6所示。
结语
本文提出一种智能交通灯模糊控制的方法,利用FPGA的优势以及其软硬件协同工作带来的便利,将智能交通灯控制在FPGA上实现。由硬件实现可以看出,它能根据采集到的当前相位车流量和当前相位与下一相位车流量之差,由模糊控制器按一定的规则实时决定当前相位绿灯延时时间,从而达到最大程度的通行量。