基于FPGA的智能家居云网络流量控制系统设计
2018-03-01庄云蕾张潇铭潘海婷张福鼎
庄云蕾 张潇铭 潘海婷 张福鼎
摘 要:随着智能家居不断发展,内部组网智能电器越来越多,传输流量日益复杂。文章针对智能家居云网络系统流量控制展开研究,设计一种基于FPGA的网络流量控制系统,具有可靠性强、运算速度快、电路简单、体积小等优点。通过QuartusII在FPGA板上进行仿真实践操作,可实现网络流量控制系统所需功能。
关键词:FPGA;云网络;流量管理
随着“互联网+”飞速发展,智能家居得到长足发展,随着接入的智能电器不断增加,家居系统所要处理的数据信息复杂度不断提升、数据量日益增长,流量控制问题已经成为不可忽视的问题,尤其在高峰时段会出现数据传输拥挤等严重的突发情况,对用户日常生活及使用体验产生了一定程度困扰[1]。现在很多方案通过建设无线和增加接入线路来解决,但对大多数系统来讲,成本太高不易实现。虽然大力发展高速信息管理系统得到了显著的成效,但随着拥入的大量用户数据越来越多,并且网络控制器没有及时有效对信息通道进行升级管理,使得部分高速通道处于低利用率状态。此外,高速通道和一般信息支路交汇处的流量拥塞状况严重制约了高速通道的数据传输状况[2]。
实际上流量控制器已经占据了家居网络系统流量传输控制的绝对重要地位,其效率高低决定了系统节点处的流量通行顺畅程度。因此,网络流量控制系统在逐步优化改进,同时控制方式也由“定时”向“感应”转变,由“单支路控制”向“划片区域”发展,甚至应用自适应控制算法。传统的流量控制器设计方法基于中小规模集成电路,电路复杂、故障率高、可靠性低[3]。日益严峻的网络流量现状已经不能满足于流量控制系统只能简单控制交叉通道的流量传输,而是将单点信号控制、路径控制及区域控制交融于一体的混合型流量控制,实现指定区域的信号协调控制和高速信息传输的集成控制。因此,采用合适流量控制方式,提高家居系统中流量控制效率,已经成为缓解家居系统中各节点端口处拥塞的热点研究问题[4]。
1 网络流量控制系统设计
1.1 开发软硬件介绍
FPGA是现场可编程门阵列(Field-Programmable Gate Array)缩写,它的出现解决了为实现某一现象而特意定制的专有电路的通用性差的缺点[5],并弥补了原可编程器件中门电路的个数限制的不足,以并行运算为主,以硬件描述语言来实现。开发流程主要包括:(1)功能定义与器件选型,(2)代码/原理图设计,(3)行为仿真,(4)综合,(5)综合后仿真,(6)布局布线与时序仿真,(7)板级仿真与芯片的编程调试。
QuartusII是一个用于PLD/FPGA设计的综合性软件,支持多种设计输入形式,包括原理图,VHDL,Verilog等,内部自带综合器以及仿真器,能够实现整体的PLD设计流程。Quartus II提供的开发平台非常完备,电路和时序逻辑功能的仿真很强大,可以进行软件源文件的设计并生成编程文件,还可以单次实现整体的设计。
1.2 系统架构
系统主体架构如图1所示,主要包括了控制管理模块、数据检测模块、系统检测模块、相邻检测模块、流量模型模块、调度操作模块及存储记录模块。控制管理模块是系统核心组成部分,由FPGA开发板处理芯片组成。数据检测模块实施当前节点数据进出统计分析,系统检测模块执行初始化时各部件是否正常工作,并将响应状态实时反馈。相邻检测模块针对通过无线方式连接的其他节点状态反馈数据,并决策本地流量控制算法。流量模型模块是依据历史统计信息来获取合适的数学模型来进行系统自适应匹配。调度操作模块根据当前状态信息、流量数据及控制算法进行节点传输通信控制。存储记录模块用于实时记录各类信息,包括数据吞吐量、节点状态等。
为了通过可视化实时掌握流量状态,我们设计一个基础的流量控制系统,采用4种不同颜色的LED灯来表示流量当前的不同传输状态,用7段数码管显示两个方向各个传输状态的剩余时间,具体实现流程及状态转换如下。首先,设定8种循环状态,通过状态机来实现各种通行指令状态之间转换,对应流量控制系统中LED点亮规律的状态转换表。其中,系统的主要通道与分支通路均由红绿黄及白灯组成,其中白灯用于表示流量较大的支路分支。目前采用主要通道和分支通路交替传输,每次由绿灯和白灯进入下一状态时,点亮黄灯,两次黄灯时间均为3 s,白灯时间均为10 s,初始状态时设置为主干通道绿灯先亮35 s,分支通路亮红灯,循环后分支通路绿灯时间为25 s。烧录程序运行时,电路板所有灯点亮,控制系统进入设定的初始状态,两方向初始指示灯点亮,从对应设定时间开始倒计时循环。流量状态集群如表1所示。
流量控制系统的端口属性主要有输入及输出两种,系统时钟clk和复位信号rst用于输入,输出信号为主要通道与分支通路4种灯状态及segs[6..0]7段显示信息x_y_led,x取值范围为[n, s, w, e]对应数据传输方向,y取值范围为[Green, Yellow, White, Red]对应状态信息,led表示显示属性。FPGA板卡提供时钟所采用的晶振信号源频率较高,因此,首先需要做分频處理来产生适当的信号时钟。segs[6..0]7段显示信息由7段小灯组成,通过不同点亮组合方式可以组成不同文字信息,系统采用负极全连接在共地管脚的共阴数码管,就是把每段小灯的负极连接在一个共地管脚,正极是分开对应相应管脚来控制灯管。用1码表示该关键状态为高,点亮该管脚对应的段码;0码则正好相反,目前显示功能仅用于倒计时,则只需单个数码管显示0-9。
在使用FPGA进行设计时,利用其并行优点将N-S,W-E数据传输链路作为两个分立的集群进行并行操作,且对应相应的状态图,其操作规则如下以保证控制器正常运行,N-S数据链路以绿灯亮为初始状态,W-E数据链路以红灯亮为初始状态;N-S链路红灯亮的时间与W-E链路上其他灯亮的总时间相同,且两个链路状态运行完一圈的时间相等,则相应顺序为N-S链路绿-黄-白-黄-红-绿,W-E链路红-绿-黄-白-黄-红。
2 结语
智能家居云网络流量控制系统主要完流量调度传输,采用以FPGA为核心器件,并通过FPGA板与记录存储软件通信将历史流量状态保存至数据库。为确保事件响应实时可视化,硬件采用不同颜色LED灯来表征当前流量传输状态。整个系统流量控制系统,无论是在家庭还是小区场景下,都可以自由组合,实现高效经济安全流量传输调度保护。
[参考文献]
[1]周莉鸿.基于FPGA智能家居控制系统的设计与研究[D].兰州:兰州交通大学,2017.
[2]李双领,王晨.嵌入式技术在智能家居控制系统中的应用探究[J].电子技术与软件工程,2016(8):201.
[3]张雅博,李博,任孝锋,等.基于分布式FBG的智能家居环境测控系统研究[J].电子测试,2017(9):16-17.
[4]郭晶,尚云,谢华燕.基于FPGA的物联网智能家居控制设计[J].价值工程,2016(18):68-69.
[5]郭晶.基于FPGA的嵌入式智能家居控制器设计探讨[J].自动化与仪器仪表,2016(8):234-235.