APP下载

基于现场可编程门阵列战术数据链中自适应轮询接入控制协议的设计与实现

2019-06-27丁洪伟李超刘龙军柳虔林保利勇杨志军

兵工学报 2019年5期
关键词:数据链报文排队

丁洪伟, 李超,2, 刘龙军,3, 柳虔林,4, 保利勇, 杨志军

(1.云南大学 信息学院, 云南 昆明 650500; 2.武装警察部队云南省总队 楚雄州支队, 云南 楚雄 675000;3.武装警察部队河南省总队 周口市支队, 河南 周口 466000; 4.云南省军区, 云南 昆明 650051)

0 引言

战术数据链作为未来信息化战争发展的重要标志之一,能够克服传统的众多作战平台各自为战的缺陷,充分发挥各作战单元的战斗效能,有效提高整体战略战术效果[1]。随着信息技术的快速发展,在现代及未来的信息化战争中,多平台联合作战将是常态,战术数据链将会在各国军事水平的发展中发挥至关重要的作用。国内外对于战术数据链的研究从未间断,随着研究的深入,抗干扰技术、接入控制协议、调制解调技术、平台链路综合、软件无线电技术等已成为近年来及下一步对于战术数据链研究的关键技术[2]。

接入控制协议决定着信道的分配使用方式,对于网络性能有着重要影响,也一直是战术数据链研究的热点问题之一。彭沙沙等[3]提出一种基于多信道优先级统计(MCPS)的多路访问控制(MAC)协议[3],该协议通过对信道占用情况的统计和对不同优先级业务设定服务阈值的方法,对信道资源进行调度分配。但是MCPS协议需要多个信道同时工作,对服务阈值的设定必须精准,从而不但对信道的要求较高,对所设置阈值的精准度也要求较高,而且随着业务量的增加,丢包率呈上升的趋势。基于优先级概率统计的多址接入模式(SPMA)对信道的同步性和精准度要求不高,对于突发性和实效性业务在性能方面有一定的改进[4]。但是SPMA协议以异步跳频机制和载波侦听多路访问(CSMA)为基础,会出现报文碰撞情况,对于提高系统吞吐量不利,同时还会造成信道资源浪费和信号能量损耗,系统的稳定性不够理想。

基于轮询机制的接入控制协议能够有效避免访问碰撞发生,在系统稳定性方面具有很大优势,同时能够在一定程度上保证系统时延、吞吐量和服务效率等性能指标,在战术数据链系统中有着广泛应用,如Link-11战术数据链[5]。基于直接映射和差分趋势两种调整方式的动态门限机制,能够通过信道的状态自适应调整服务门限,有效提高系统的吞吐量[6]。而基于簇首协调的路由协议,簇首能够为成功接入的用户分配时隙,没有接入的用户就不分配时隙,从而可以有效地提高系统传输效率[7]。通过贝叶斯估计算法来调整服务选择指数自适应轮询MAC协议[8],可使高优先级的报文节点获得更大的服务优先权,提高无线信道的利用率。

随着制造工艺的提高,集成电路的集成度和复杂度也越来越高,使得芯片的制造成本和时间也随之提高,而传统的集成电路内部结构一经确定,就难以改变其功能。现场可编程门阵列(FPGA)具有成本低、灵活性高、运算速度快、可移植性强和现场可编程等优良特性[9],只需写入不同的程序就可以产生对应功能的电路以适应不同的需求,采用并行处理数据以有效提高处理数据的效率。开发软件Quartus Ⅱ编译速度快、周期短,可以明显提高编译效率。由于FPGA具有较多的优良特性,通过FPGA精确设计协议的各功能模块以实现协议的整体功能,在实践中具有重要的现实意义[10]。

本文针对战术数据链在实际应用中的作战单元随时可能被摧毁而导致的拓扑结构动态变化的问题,考虑到传统轮询协议无法满足动态控制的需要,提出一种自适应轮询接入控制协议(APACP)。该协议能够根据拓扑结构自动滤除没有报文需要发送的作战单元,自适应调整轮询顺序;通过概率母函数和马尔科夫理论建立数学模型、得出解析解,并用数学软件MATLAB和FPGA软件对模型进行仿真。仿真结果表明,APACP能够有效缩短系统的平均排队队长和轮询周期,提高系统的服务效率。

1 APACP服务规则及其相关性能分析

1.1 APACP模型

在实际作战应用中,战术数据链系统中的作战单元随时面临被打击摧毁的危险。在当前服务查询过程中,被摧毁的作战单元无法被查询到。当被摧毁的作战单元被修复或者由其他作战单元顶替后,又重新加入服务查询队列中。据此,可以将战术数据链系统中的站点进行分类。在一个轮询周期内,有报文分组等待发送的作战单元归为一类单元,称为在线作战单元;没有报文分组等待服务的作战单元归为二类单元,称为隐线作战单元;被摧毁的作战单元归为三类单元,称为离线作战单元。在APACP服务规则中,只对有报文分组的作战单元进行服务,没有报文分组或者被摧毁的作战单元不服务;在统计过程中,没有报文分组的作战单元能统计到,但不进行服务;被摧毁的作战单元不能统计到,因此将作战单元分为三类是合理的。在APACP系统中,每一个作战单元都有对应的识别ID和状态标识符,当作战单元有报文需要发送时状态为1,没有报文发送时状态为0,如s1=1表示1号作战单元为在线作战单元,若统计不到某一作战单元,则将此单元视为离线单元。当隐线单元有数据分组到达时,状态由0变为1;当服务完成后且没有数据分组到达时,状态由1变为0. 作战单元被修复或者由其他单元顶替时,能够被统计到ID,并根据是否有信息分组到达来显示对应的状态。

在传统轮询接入控制协议(TPACP)中,每一个轮询周期内,服务器按照逻辑关系查询所有的作战单元。在APACP中,在每一个轮询周期开始时,对系统中的在线作战单元进行统计,能够得到当前作战单元的拓扑结构和状态。系统拓扑结构如图1所示。

当统计不到作战单元或者作战单元的状态为0时,系统不对这一单元服务。统计完成后,按照逻辑关系依次对在线作战单元进行服务,隐线单元和离线单元直接跳过不进行服务,服务完所有在线作战单元后进入下一轮询周期。

如此,便可以节省查询隐线作战单元的轮询转换时间、克服空轮询的问题,而且能够满足因离线作战单元的存在而导致的轮询拓扑结构动态变化的实际需求。采用门限服务策略[11-12]进行系统建模,APACP服务规则如下:

1) 每一个轮询周期开始时,首先对系统中的在线作战单元进行统计;

2) 本次轮询周期内,服务器只对统计到的在线作战单元进行服务;

3) 对被查询到的在线作战单元采取门限服务,服务结束后,服务器转到下一个在线作战单元。

APACP模型的执行流程图如图2所示。

1.2 APACP性能分析

假设系统工作在离散时间上,所有作战单元共享同一条总线,且满足如下条件:

4) 各作战单元的存储器容量足够大,报文分组不会丢失;

5) 各作战单元存储器内的报文分组按照先到先服务(FCFS)的顺序接受服务。

(1)

πi(x1,x2,…,xi,…,xN)的概率母函数定义为

(2)

式中:zi表示第i号作战单元使得函数Gi收敛的值。

在tn+1时刻开始对第i+1号作战单元进行查询时,满足以下关系:

(3)

(4)

式中:j为作战单元号,j=1,2,…,N,j≠i;ηj(vi)为在vi(n)时间内进入第j号作战单元的报文分组数,vi(n)为服务器对第i号作战单元进行服务的时间;μj(ui)为在ui(n)时间内进入第j号作战单元的报文分组数,ui(n)为服务器从第i号作战单元转到第i+1号作战单元的转换时间。

定义在tn时刻第i号作战单元开始接受服务时,存储在第j号作战单元中的平均报文分组数为

(5)

通过求偏导数和极限,得到门限服务系统的平均排队队长g0为

(6)

轮询周期定义为服务器按照门限服务规则依次对所有作战单元完成一次服务所花费时间的平均值。根据平均轮询周期和平均队长的对应关系,可以得到门限服务系统的平均轮询周期θ0为

(7)

(8)

根据APACP服务规则,设置仿真条件为N=4、β=1、γ=2,在MATLAB R2014a软件中进行仿真,得到系统中报文分组平均排队队长和平均轮询周期随报文分组到达率的变化曲线,如图3、图4所示。

分析图3可知,在报文分组到达率较低时,APACP中报文分组的平均排队队长比TPACP要小;随着报文分组到达率的增大,APACP和TPACP中报文分组的平均排队队长都在增大,且最终达到一致。表明当报文分组到达率达到一定值时,APACP对于系统报文分组平均排队队长的影响和TPACP是相同的,这一结论与轮询控制理论相符。

由图4可知,在同一报文分组到达率情况下,APACP的平均轮询周期远远小于TPACP,随着报文分组到达率的增大,平均轮询周期的变化规律与平均排队队长一致。通过以上仿真结果的分析可知,在报文分组到达率较低时,相比于TPACP,APACP有效缩短了系统的报文分组平均排队队长和平均轮询周期,提升了系统服务效率,降低了系统拥塞度,提高了系统性能。

2 APACP的FPGA设计实现

采用美国Altera公司的FPGA、开发平台Quartus Ⅱ 8.0以及硬件描述语言Verilog HDL进行开发。由于FPGA具有良好的性能,能够较好地完成APACP模型的设计。

根据FPGA的模块化设计思路,将原理图和硬件描述语言Verilog HDL相结合来进行设计,将系统分为报文采集、作战单元、APACP控制和接收终端4个功能模块来分别进行设计。

2.1 报文采集模块的FPGA设计实现

报文采集模块是各作战单元采集作战报文的功能模块。分析APACP的性能可知,到达各作战单元的报文分组数具有一定到达率且呈泊松分布。利用MATLAB中的Poissrnd函数和FPGA中的ROM核相结合的方法[15],对报文采集模块进行设计实现。为了便于检验,设置每一个报文分组的值都为10101010,该模块的仿真时序图如图5所示。

2.2 作战单元模块的FPGA设计实现

由APACP服务规则可知,作战单元模块的功能是完成作战报文的存储,并在服务权控制信号控制下实现报文分组的读取。图6所示为利用4个异步先进先出(FIFO)构建的作战单元模块,4个FIFO分别表示4个作战单元的存储器。当有报文到达时,在写信号控制下,将到达的报文按照到达顺序写入存储器内,同时更新计数器。当控制信号有效时,从FIFO内将报文读出并传输到总线上。若FIFO内为空或者报文读完,则将读空信号empty置为1发送到FIFO内,停止读出数据。4路作战报文可通过“异或”运算后,在同一条总线上进行有效传输[16]。

2.3 APACP控制模块的FPGA设计实现

APACP控制模块是整个系统工作的控制中心。图7所示为APACP控制模块状态机,其中s1、s2、s3、s4分别为4个作战单元的服务权控制信号,决定着作战单元是否接受服务。控制信号为1时,表示该作战单元为在线作战单元,对这些单元按照轮询顺序进行服务;控制信号为0时,表示该作战单元为隐线或者离线作战单元,不对该类单元进行服务。每一个轮询周期开始前对所有单元进行统计分类,并对在线单元依次进行服务,隐线或者离线作战单元在本次轮询周期内直接略过,不进行服务。

2.4 接收终端模块的FPGA设计实现

接收终端模块用于完成对各作战单元所发送作战报文的接收功能。由于总线的利用率不会达到100%,在一些时段总线是空闲的,此时总线上没有报文分组传输,接收到的不是正确报文分组。设计时,先将接收到的报文通过“滤波”后存储在FIFO内,再通过有效的“读”控制信号,从FIFO内读取正确的报文分组。

2.5 APACP系统的FPGA顶层设计

将报文采集模块、作战单元模块、APACP控制模块和接收终端模块按照系统工作原理连接构成系统[16],如图8所示。4个作战单元在APACP控制模块的控制下对4个报文采集模块采集到的作战报文进行存储和发送,4个接收终端对总线传输的报文分组进行接收。

APACP系统中设计了4个作战单元,在FPGA顶层设计时,调用4个异步FIFO模块构成4个作战单元的存储器,将设计好的整个系统写入FPGA,以APACP规则查询各作战单元的过程时,1个FPGA就能模拟在APACP协议下对4个作战单元的查询过程。根据FPGA独特的并行处理数据的能力,在电路设计中将4个作战单元的状态信息同时传输到控制模块,控制模块能够同时监测到作战单元的状态信息。相比于依次查看数据包来确定作战单元的状态,并行处理机制缩短了对作战单元状态监测的时间差。系统能够根据站点状态准确确定自适应的轮询顺序、提高轮询效率、缩短轮询周期。

3 系统评估

3.1 仿真测试

设置系统工作时钟为50 MHz,4个作战单元的报文分组到达率为λ1=λ2=λ3=λ4=0.1,发送1个报文分组的平均时间为β1=β2=β3=β4=1,转换时间为γ1=γ2=γ3=γ4=2.在设定参数下进行仿真,得到如图9所示的仿真结果。

图9中,4号作战单元发送的报文分组为d4,4号接收终端接收到的报文分组为r4. 二者的值是相同的,但r4存在一定的延时,这是信息传输、处理等带来的系统时延[17]。图9中,在第1个和第3个周期内,控制信号s4变为高电平后,在下一个周期开始时s1不为高电平,表明系统是先对所有作战单元进行统计、确定所有的在线单元,然后根据在线单元的ID确定下一轮询过程中的查询对象,而隐线单元和离线单元的控制信号为低电平。在轮询周期内系统只对控制信号有效的作战单元进行服务,无效时不服务,直至轮询完该周期内的所有在线单元后进入下一轮询周期。d4在s4有效时才有值,表明4号作战单元在所属服务时段才发送报文分组,由此可见轮询服务控制的有效性。

用开发板上的8个7段数码管显示系统输出结果,其中前4个数码管HEX7、HEX6、HEX5、HEX4分别显示1、2、3、4号作战单元的服务控制信号,HEX3、HEX2、HEX1、HEX0分别显示1、2、3、4号作战单元报文的采集,并以“7”代表报文的内容。图10中将开发板的复位控制键SW[17]置为低电平(即rst有效)时系统进入工作准备阶段。

图11中第4个数码管HEX7显示“1”,HEX6、HEX5、HEX4都不显示,表明此时只有4号作战单元在接受服务;HEX3数码管显示“7”,HEX2、HEX1、HEX0 3个数码管未显示,表明只有模块4正在采集报文。在图11中,4号作战单元接受服务的测试与系统时序仿真结果一致,表明所设计的系统实现了APACP控制功能。

3.2 统计分析

平均排队队长:

(9)

平均轮询周期:

(10)

式中:Ngro为总线上传输的报文分组总数;Ncp为统计的轮询周期总数;tm为仿真总时长。这些参数都可以通过对仿真结果进行统计得到。

利用(6)式、(7)式、(8)式和(9)式、(10)式,设置到达率λ=0.1、服务时间β=1、转换时间γ=2和仿真时长分别为tm=100 μs、tm=300 μs、tm=500 μs、tm=1 000 μs、tm=1 500 μs、tm=2 000 μs,可得到TPACP中报文分组平均排队队长、平均轮询周期的理论值以及APACP中信息分组平均排队队长、平均轮询周期的理论值和统计值,如表1所示。

表1 统计值与理论值对比

从表1中可见,在同一到达率下,APACP中报文分组的平均排队队长和平均轮询周期都比TPACP要小,表明了APACP的性能优越性;APACP中报文分组的平均排队队长和平均轮询周期的理论值与统计值相差较小,逐渐增加仿真时长,统计值的误差逐渐减小。这一结论与理论是相符的。

4 结论

本文针对战术数据链系统中作战单元随时有可能被摧毁而导致网络拓扑结构发生改变的问题,提出了APACP. 采用概率母函数和马尔可夫链理论相结合的方法对门限轮询系统进行建模分析;根据泊松分布的特性并与Little定理相结合,得出APACP模型平均排队队长和平均轮询周期的解析解,最后用MATLAB和FPGA软硬件相结合验证APACP模型的正确性。得出主要结论如下:

1) 在一定范围内,APACP能够有效地缩短系统的平均排队队长和平均轮询周期。

2) APACP能够根据拓扑结构动态改变轮询顺序,有效避免空轮询现象,降低系统拥塞度,提高传输效率。

3) 在到达率较小的情况下,APACP优于TPACP;随着到达率的增大,APACP的变化趋势与TPACP相同。

4) 本文建立的自适应轮询接入控制协议,通过滤除无报文发送的作战单元达到了提高系统传输效率的目的,对实战环境下拓扑结构随时改变的战术数据链系统具有较好的应用价值,同时在无线局域网、人体传感网、无线频谱感知网、车联网中也具有广阔的应用前景。

猜你喜欢

数据链报文排队
基于J1939 协议多包报文的时序研究及应用
以太网QoS技术研究及实践
怎样排队
多平台通用数据链助力未来战场
基于深度学习的无人机数据链信噪比估计算法
浅析反驳类报文要点
巧排队列
盾和弹之间的那点事(十六)
三角龙排队
一种无人机数据链信道选择和功率控制方法