您的位置 首页 IC

根据FPGA的交通系统长途网络操控规划

为了缓解城市交通拥堵问题,提出一种基于FPGA平台远程网络控制的城市交通控制系统设计。系统采用TCP/IP传输协议实现控制中心发送控制信息给交通系统。控制中心采用Qt图形化界面实现,清楚直观;交通系统

摘要 为了缓解城市交通拥堵问题,提出一种依据FPGA渠道长途网络操控的城市交通操控体系规划。体系选用TCP/IP传输协议完结操控中心发送操控信息给交通体系。操控中心选用Qt图形化界面完结,清楚直观;交通体系依据操控信息挑选相应配时计划进行显现。经测验,该体系作业安稳、操控准确、牢靠性高,且本钱较低。

关键词 FPGA;TCP/IP;Qt;交通体系;长途操控;车流量

跟着社会经济的快速开展和人民生活水平的不断进步,城市中车流量呈现出急剧增加的趋势,导致城市交通呈现了巨大的压力。因而,改进十字路口的交通讯号灯运转形式,进步十字路口的通行功率,对缓解城市交通堵塞有着重要的现实意义。而现在城市的交通操控,是固定的红绿灯转化周期,不灵敏,在不同的时刻段,十字路口的两个方向会呈现车流量巨细不平衡的状况,一起白日与夜间的车流量相差也较大,如选用固定的守时机制将严峻下降实践十字路口的通行功率。由此,有人提出运用地感线圈检测车流量,依据车流量主动配时,但铺设地感线圈本钱过高,且简单呈现差错,公路网的现有网络资源也未得到充分运用。

鉴于以上原因,本文提出了依据FPGA长途操控交通体系,能有用地运用公路网现有的网络资源,动态调理交通体系中车辆的通行时刻,既进步了十字路口的车辆通行功率,又下降了本钱。

1 体系总体规划与架构

该体系首要由交通体系主动配时模块、显现模块和操控中心长途操控模块组成,如图1所示。

交通体系主动配时模块选用50 MHz时钟源依照不同的配时计划进行守时计数,选用Altera公司的Cyclone IV代系列EP4CE15F17C8芯片作为主控芯片,运用Verilog HDL硬件言语完结整个交通灯守时配时操控模块的规划;交通体系显现模块是依据配时模块挑选的计划对交通灯运转状况和数码管数字显现进行操控显现;操控中心长途操控模块运用Qt界面编程技能和TCP/IP传输协议,使得长途操作便利直观且操控信息传输牢靠。

2 交通体系主动配时模块

此部分首要包含配时模块规划和守时计数模块规划两部分,首要完结配时计划的预存与计时。

2.1 交通体系主动配时模块规划

十字路口的交通分为骨干道和副干道两个方向。骨干道方向具有红灯(R1)、黄灯(Y1)、直行绿灯(G1)和左转绿灯(L1),副干道方向也具有红灯 (R2)、黄灯(Y2)、直行绿灯(G2)和左转绿灯(L2)。在交通顶峰时期,十字路口两个方向的灯有必要依照合理的次序亮灭,依据十字路口的实践交通运转状况,此刻体系的作业状况如下:

骨干道方向的交通灯作业次序为:绿灯→黄灯→左转绿灯→黄灯→红灯→黄灯。

副干道方向的交通灯作业次序为:红灯→黄灯→绿灯→黄灯→左转绿灯→黄灯。

在实践交通中,两个方向交通讯号灯的状况有着亲近的联络,一个方向的交通讯号灯状况影响着另一个方向的交通讯号灯状况,只要这样才干协调好两个方向的车流,若两个方向的交通讯号灯都各自独立改变,交通体系则会产生紊乱。

其一个周期的交通状况对应状况如表1所示,状况从S0~S7,其间1表明灯亮,0表明灯灭。在文中编程完结时,可将骨干道和副干道的状况分隔进行,所以针对骨干道S4~S7状况可兼并,针对副干道S0~S3状况可兼并。

实践交通中,白日和夜间的车流量相差较大,一起白日期间的主副干道车流量也会呈现不均衡的现象,这就要求预备多套配时计划,以习惯不同的需求。针对白日正常状况下,骨干道车流量大于副干道车流量时,配时时刻设置如表2所示,视为计划1;针对白日骨干道车流量小于副干道车流量时,配时时刻如表3所示,视为计划2;针对夜间车流量较小的状况下,配时时刻可如表4所示设置,视为计划3;当产生交通事端或许有救护车、消防车等应急车辆需求优先通行时,一切路口均将红灯置亮,确保应急车辆的通行。这3种配时计划的挑选是由操控中心归纳所得到的交通讯息之后,经过网络长途操控挑选。

2.2 守时计数模块规划

体系运用50MHz时钟晶振,所以1 s对应50 000 000个时钟节拍,每过50 000 000个时钟节拍清零再从头计数,之后依据各盏灯的持续时刻作为预置数依照1 s为一个单位递减计数,减到1今后再依据运转状况和配时时刻从头预置数,顺次循环。此模块无需规划独自的分频模块,整个体系可选用同一时钟信号,规划上更一致且不会呈现时钟不匹配的问题。

3 交通体系显现模块

显现模块部分首要触及交通红绿灯的显现和数码管的显现两部分,其间交通红绿灯的显现比较简单,FPGA以4位Alamp变量操控骨干道上的4盏灯,其间Alamp[0]操控左转绿灯,Alamp[1]操控黄灯,Alamp[2]操控红灯,Alamp[3]操控绿灯,其值为1则表明相应的灯亮,如Alamp为4’b0001表明左转绿灯亮;一起以4位Blamp变量操控副干道上的4盏灯,其设置与Alamp相似。每个灯的亮灭持续时刻都是依照配时模块设置的。

数码管的显现比较于交通红绿灯的显现更杂乱,因为需求加上加码、动态扫描等部分。整个交通讯号灯体系实践需求4对共8个数码管,因为相对的路口倒计时完全相同,所以为了节约逻辑资源,简化规划,可让相对路口共用一对数码管,所以只需对2对共4个数码管。数码管是共阳的,4个数码管的段选信号均共用相同的引脚,且均为低电平有用。文中骨干道的倒计时时刻设置为Number_Data1,副干道的倒计时时刻设置为Number_Data2,数码管的显现规划思路如图2所示。

由图中可看出,经过“十位取位模块”别离对Number_Data1和Number_Data2进行取位的操作,将其十位和个位区分;之后经过“SMG加码模块”,即数码管显现加码模块,转化成数码管显现码;最后由“同步动态扫描模块”驱动点亮数码管。现针对每一个模块进行剖析。

(1)十位取位模块。便是运用数学运算符“%”和“/”别离取得主副干道计时时刻的十位和个位,将十位和个位分隔进行处理。

(2)SMG加码模块。便是别离将两个路口倒计时时刻的十位与个位的数字转化成数码管可显现的码型,每一个数字均是7段数码管a,b,c,d,e,f,g每段置亮置灭组合而成的,数码管显现示意图如图3所示。

(3)同步动态扫描模块。同步动态扫描模块运用时分原理和人类的视觉暂留效应,因为每个数码管点亮时刻为1 ms,轮番驱动点亮4个数码管,人眼无法辨认,所以目测为4个数码管一起点亮。此模块由两部分组成,别离为行扫描模块和列扫描模块,因为FPGA是可并行操作的,所以这两个模块可并行履行,到达真实的同步。列扫描模块相当于对数码管进行片选,每隔1 ms就使能不同的数码管;而行扫描模块是输出不同的SMG码,依据列扫描对数码管的片选使能,输出当时数码管的SMG码。

4 操控中心长途监控模块

此模块选用以太网技能将接纳到的交通讯息剖析处理后,经过TCP/IP传输协议将操控信息发送给FPGA,FPGA依据操控信息挑选配时模块傍边的一套配时计划,将显现模块中的交通红绿灯和数码管依照配时计划显现出来。其间,FPGA操控整个交通体系作为服务端,操控中心作为客户端,其界面选用Qt编程技能。

4.1 服务端规划

服务端选用SOPC技能构建软核,移植TCP/IP协议栈完结网络通讯。TCP/IP协议较为杂乱,内容较多,首要是合适PC机的通讯,针对FPGA服务端规划,文中选用精简的TCP/IP协议,既能到达规划要求,也能简化规划的杂乱程度,其传输流程图如图4所示。

此协议栈中,需运用以下几个首要函数,完结数据接纳:

(1)void init_ip_arp_udp_tcp(unsigned char * mymac,unsigned char * myip,unsigned char wwwp)。

此函数为初始化传输,首要用于填写MAC、IP、端口参数。函数返回值为空。

(2)unsigned char eth_type_is_arp_and_my_ip(unsigned char * buf,unsigned int len)。

此函数为数据包解析,是否接纳到指向本地IP的ARP恳求,若是返回值为1,若不是则返回值为0。

(3)chareth_type_is_ip_and_my_ip(unsigned char* buf,unsigned int len)。

此函数为数据包解析,是否接纳到发送给本地IP的IP数据包,若是返回值为1,若不是则返回值为0。

(4)unsigned int get_tcp_data_pointer(void)。

此函数为获取有用数据方位,若有数据返回值为有用数据方位,若无数据则返回值为0。

4.2 客户端规划

Qt是一款跨渠道的C++用户界面应用程序结构(C++GUI),能为应用程序开发者供给艺术级图形用户界面所需的一切功用,可以在不同的体系渠道下运用,通用性好,具有杰出的信号/槽封装机制,还有丰厚的API函数,可以下降用户开发难度,其丰厚的可扩展性使得图形化界面愈加直观。在客户端规划中,为了能直观地显现IP地址、端口号以及接纳到的交通讯息等参数,一起能愈加便利地发送操控信息,操控中心客户端选用Qt Creator东西完结了Qt界面规划。

这儿运用QTextBrowser控件作为交通讯息显现框,QLineEdit控件输入IP地址和端口号,QPushButton控件触发网络衔接和相关操控信息的发送。因为规划中需求运用QTcp So cket网络套接字编程完结网络通讯传输,所以需求在工程的pro文件中增加“QT+=network”,并增加QTcpSocket头文件,之后需求设置衔接的IP地址和端口号,创立QTcpSocker目标tcpclient,衔接服务器句子为:tcpclient.connectToHost(* ip,port)。衔接成功后,需点击操控信息按钮,发射信号,然后触发数据发送槽函数的履行,其发送函数句子为:tcpclient.write(msg.toLoca18Bit())。操控中心的网络传输流程如图5所示。

为了完结更友爱的界面显现,这儿在Qt程序中增加了中文显现,详细设置句子如下:

QTextCodec::setCodecForLocale(QTextCodec::codecForName(“UTF-8”));

QTextCodec::setCodecForTr(QTextCodec::codec ForName(“UTF-8”));

QTextCodec::setCodecForCStrings(QTextCodec::codecForName(“UTF-8”)。

5 体系调试

将一切模块树立衔接好之后,在操控中心界面处,输入FPGA的IP地址及其间的端口号,点击“衔接”,就树立起了FPGA与操控中心的通讯,操控中心的图形化界面如图6所示。图中左面的文本框显现的是交通讯息,依据图中交通讯息可知从前骨干道车流量大于副干道车流量,所以这儿需求点击“日间形式1”按钮,FPGA操控交通体系选用计划1,其运转成果如图7所示。之后,图中呈现一个车辆的呼救信息,所以需点击“紧迫中止”按钮,停止交通体系的运转,处理事端,其运转成果如图8所示。

“日间形式2”按钮对应配时计划2的运转作用,“夜间形式”按钮对应配时计划3的运转作用,其实践测验成果正常,运转安稳,到达了操控中心长途准确操控交通体系的意图。

6 结束语

本规划以FPGA作为开发渠道,运用Verilog HDL言语完结了交通体系主动配时模块和显现模块的规划,一起选用SOPC技能在FPGA上构建软核完结操控中心经过网络操控交通体系,操控中心的界面选用Qt规划,漂亮、操作便利且通用性好。整个规划较好地运用了现有公路的网络资源,合作智能车载体系车辆信息长途发送技能,能准确有用地操控整个交通体系,比较于其他依托传感器,操控交通体系运转状况的规划,其牢靠性更高,但是本钱却相对较低。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/296932.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部