基于FPGA的P-坚持CSMA协议设计与实现

2018-09-08 02:37胡丽娜丁洪伟刘龙军
实验科学与技术 2018年4期
关键词:空闲时隙吞吐量

徐 智,张 楠,胡丽娜,丁洪伟,刘龙军

(1.云南大学 信息学院,云南 昆明 650504;2.武警北京总队第三医院,北京 丰台区 100039)

CSMA即载波监听多路访问[1],是提高通信传输效率的重要MAC层协议,被广泛应用于无线网络[2]。该协议技术的控制机理是在信息数据传输的过程中,各个信息站点根据侦听到信道的工作情况,调整自己的行为。根据具体的侦听发送策略,可以将CSMA分为非坚持CSMA[3]、1-坚持CSMA[4]和P-坚持CSMA。其中,非坚持CSMA对信道的利用率太低,以1-坚持CSMA接入的信道碰撞率太高;而P-坚持CSMA[5]综合了这两种协议的特点,在站点发送数据前对信道进行侦听,若信道忙,则以一定的概率P来决定是否继续侦听;若信道空闲,则立即发送数据。该协议可通过调整侦听概率来达到一定的平衡,提升系统吞吐量,从而保证通信传输效率。

MATLAB是一种数学软件,通过其运算与绘图功能可以对通信协议的数学模型进行仿真,但这些实验仅仅是对算法的理论进行结果验证,并没有剖析其实现的原理与传输的过程。而FPGA作为硬件化的一种表现,通过建立控制类型数字系统为通信协议的硬件实现提供可行方式,将算法中的控制原理体现在各个电路模块上,使节点传输过程在硬件电路上得到体现。针对现有通信协议硬件设计[6-7]中信源模块与传输模块设计的不足,本文运用FPGA为P-坚持CSMA协议的硬件实现提供了可靠方案,首先运用MATLAB和Quartus II两种软件设计出满足P-坚持CSMA协议算法中所要求的信源模块;而后通过硬件电路描述语言Verilog[8-9]和逻辑电路设计相结合的方法建立稳定传输的电路,充分展现了P-坚持CSMA协议算法中的控制策略;最终经过分析比较,得到该设计的测试结果与理论值一致,且该协议系统的吞吐量以及平均功率优于其他一些MAC层协议,而系统的高吞吐量和低功耗恰恰证实了该协议在提升系统通信效率与减少节点传输能耗方面的功能。该设计在硬件方面的实现,是一个从理论联系到实践的过程,对提高网络通信效率具有现实意义,可广泛应用到无线传感器网络、物联网等领域。

1 协议相关描述

1.1 吞吐量分析

P-坚持CSMA协议原理为当一个站点要发送数据时,首先会对信道进行侦听,若信道处于空闲状态,那么就立即发送数据;如果侦听到信道忙,则会根据设定的概率P来决定是否继续侦听信道。

图1 P-坚持CSMA协议模型图

如图1所示,U、B和I分别表示信道的信息分组发送成功、信道冲突和信道空闲3个状态。TP为一个信息分组的发送时间,BU为信息分组发送成功和产生碰撞的联合事件;Tu为出现忙时间周期和空闲时间周期的一个循环周期;

在对协议算法分析前,对系统进行如下假设与定义:

1)信道接入的方式为P-坚持CSMA协议,并且信道上的信息分组到达过程都满足独立参数为G的泊松分布[10];

2)信道空闲的时隙长度为a,有分组发送时的时隙长度为单位长度1,为a的整数倍;

在时间t内,信道上到达的信息分组数位n的事件发生概率为:

(1)

则在n个分组中,有m个分组以概率P坚持发送信道的概率为:

(2)

在一个空闲时隙a内,信道无分组发送的概率为:

(3)

在一个传输期(1+a)内,信道只有一个信息分组发送的事件概率为:

(4)

在一个传输期(1+a)内,信道没有信息分组要发送的概率为:

(5)

在一个传输期(1+a)内,信道只有一个信息分组,且下个时隙将发送的事件概率为:

(6)

在一个传输周期(1+a)的信道上连续i个空闲事件I的概率为:

p(NI=i)=(e-aGP)i-1(1-e-aGP)

(7)

在一个传输周期(1+a)的信道上,连续j个忙事件BU的概率为:

p(NBU=j)=(1-e-(1+a)GP)j-1e-(1+a)GP

(8)

上述两种事件联合概率为:

pNI=i,NBU=j=(e-aGP)i-1

(9)

在一个循环周期TP内,信道处于空闲状态所占用的平均时隙数为:

(10)

同时信道忙碌的时隙数为:

(11)

在进行一个循环周期TP中,信息分组发送成功有以下两种情况。

1)空闲期的最后一个时隙一个信息分组到达,并且在下个时隙立即发送,该事件平均时隙数为:

(12)

2)忙周期到达,且是决定以概率P在下一个时隙发送,该事件平均时隙数为:

ENU2=(1+a)GP

(13)

则信息分组发送成功总占用的平均时隙数为:

(14)

信道忙事件总占用的平均时隙数为:

(15)

信道空闲事件总占用的平均时隙数为:

(16)

(17)

1.2 平均功率分析

为了求得系统功耗的数学表达式,对信道在以下3种不同状态下所需功率进行设定。

1)处于发送状态时功率为Ps;

2)处于侦听状态时功率为Pl;

3)处于接收状态时功率为Pr。

系统功率也分为以下3种情况。

1)假设系统中的节点总数为M,当空闲时隙a内决定发送分组的终端数量为1时,此时系统功率为:

Ps+(M-1)Pr

(18)

那么在一个平均传输周期内,分组成功发送所需要的功率为:

(19)

当空闲时隙a内无终端决定发送分组的时候,所有终端站点都在侦听信道,系统功率为MPl,则在一个平均传输周期内,信道处于空闲状态的系统功率为:

(20)

2)基于前面的分析,对系统进行的是(I,BU,T)平均循环周期的划分,因此在一个平均传输周期内,信道发生碰撞的系统功率为:

(21)

其中,

EB=EBU-EU(1+a)

(22)

因此,在一个平均传输周期内,系统的平均功率为:

PA=PU+PB+PI

(23)

2 电路架构及核心模块设计

2.1 电路架构

根据FPGA自顶向下的设计特点,对P-坚持CSMA协议接入的通信系统的实现需要进行模块化设计。根据协议原理,在设计的过程中将系统划分为数据存储、时隙长度控制、信息分组处理和吞吐量检测4个模块。图2为基于FPGA的P-坚持CSMA协议设计的系统电路架构图。

图2 系统电路架构图

从图2中可看到由MATLAB软件产生泊松数据流引入到Quartus II软件中,经过数据存储模块和时隙控制模块后生成信息站点;随后信息站点的数据经过信息分组处理模块后可实现P-坚持CSMA的控制机理;吞吐量检测模块是对整个电路的结果进行数量统计,便于计算系统传输过程中的吞吐量;而根据吞吐量的理论值和统计值的比较可判断硬件电路是否设计成功。

2.2 数据存储模块

从P-坚持CSMA协议的算法中已经得知,信道上的信息分组到达过程都必须满足独立参数为G的泊松分布,但是在Quartus II中并没有相关的内核或者模块能够产生泊松分布的数据流,因此就需要借助其他软件生成泊松数据流。

图3即初站点生成图,首先由MATLAB软件中的泊松函数生成到达率为G的泊松数据流,然后通过QuartusⅡ中内核ROM模块对该数据流进行读写存储,将存储的泊松数据流经过8分频时钟控制生成拟定的信息分组数据(1代表信道空闲,8代表数据发送成功,9代表信息冲突),最终生成初站点。

图3 初站点生成图

2.3 时隙长度控制模块

由数据存储模块可以产生初站点,该站点的数据流满足泊松分布;在P-坚持CSMA协议中空闲事件时隙长度为a,而忙事件的时隙长度为单位1,是a的整数倍,但是初站点的数据流中空闲事件与忙事件的时隙长度是一样的,并没有倍数关系,因此需要对时隙长度进行控制。

图4即为FPGA时隙长度控制模块,该模块由异步FIFO和反馈信号模块组成。异步FIFO对初站点信息流进行读写控制;反馈信号模块具有监测与延时功能,实际上是由一个计数器完成时隙长度控制功能。由于异步FIFO模块读使能从有效变为无效时,输出的信息会保持最后读到的数据,根据这一特性,当反馈模块检测到初站点信息流数据为忙碌数据时,暂停读使能,通过计数控制恢复读使能的时间,这个恢复的时间就是忙碌事件的时隙长度,故最终实现了时隙长度可控的功能。

图4 FPGA时隙长度控制模块

2.4 信息分组处理模块

已知信道中存在信道空闲和信道忙碌(成功与碰撞的联合事件)两种状态。在硬件实现过程中为了体现这两种事件,将一个信息站点划分为空闲站点和忙碌站点。这两个站点数据分别来自MATLAB软件中两个泊松数据流,到达率分别为G1和G2,且G1+G2=G,这样一个到达率为G的泊松数据站点便生成了。而信息分组处理模块根据信道总线上实时数据1、8、9来选择性读取空闲或忙碌站点的信息数据,这样系统即完成了侦听信道的功能又实现了满足P-坚持协议控制的机理。

2.5 吞吐量检测模块

该模块由计数器组成,对系统信息分组发送成功的个数进行数值统计,然后根据成功个数所占整个仿真时间的比例来计算吞吐量的仿真值。

3 实验结果与分析

运用Quartus II 9.0进行综合与布局布线,系统工作最小时钟周期为10 ns,站点发送的信息长度为8 bit,空闲时隙a=0.1,空闲信息所占时隙长度为80 ns,忙碌信息所占时隙长度为800 ns,设定仿真时间为500s,系统信息总到达率G=2,G1=0.5,G2=0.75,选择性侦听概率P=0.5。根据以上系数设定进行电路仿真,复位信号rst低电平时系统复位,高电平时系统正常工作,得到仿真结果如图5所示。

图5 系统仿真测试结果

如图5所示,U为信道总线上数据传输成功事件时隙的个数,为3 236。在T=500 μs,a=0.1,G=2,P=0.5,M=2,Ps=70 mW,Pr=40 mW,Pl=16 mW的条件下对该电路进行仿真,经计算,系统吞吐量的仿真值为0.470 7,与理论值0.470 9相符;根据系统吞吐量仿真值后,可计算系统仿真过程中节点平均功率值为34.131 mW,与理论值34.132 mW相符,证明了该协议设计正确。

P-坚持CSMA与其他协议系统的吞吐量理论值与统计值的对比如图6所示,各MAC层协议硬件测试的吞吐量统计值点均在理论值曲线上。从图中可清晰看到P-坚持CSMA协议不仅有着较高的吞吐量,并且在系统到达率增大的情况下能保持较高的吞吐量,展现了其较强的稳定性与实用性。

图6 P-坚持CSMA协议与其他协议吞吐量比较

在系统平均功率的测试中,根据已设定的条件,经仿真得到P-坚持CSMA与其他协议系统的平均功率对比图如图7所示。从图中可知在系统到达率变化范围内,P-坚持CSMA协议系统始终比其他两种MAC协议的平均功率低,且系统平均功率统计值均在理论值曲线上,证实了该协议能够有效降低通信系统的能耗。

图7 P-坚持CSMA协议与其他协议平均功率比较

5 结束语

本文根据P-坚持CSMA协议的信息站点工作特点与需求,运用FPGA对该策略接入控制协议的系统进行设计。该设计可适用于信息分组到达率不断变化的现实通信系统中,能有效地减少信道空闲资源的浪费与能量消耗,提高整个系统的通信效益。通过对设计的P-坚持CSMA协议的仿真测试与实验统计分析,验证了所设计的硬件电路能够按照协议规则实现相关控制功能,有效提高信道利用率,减少能量消耗,且具有较强的稳定性与实用性,可广泛应用于无线传感器网络[11]和移动通信网络[12]等领域。

猜你喜欢
空闲时隙吞吐量
基于时分多址的网络时隙资源分配研究
“鸟”字谜
西湾村采风
复用段单节点失效造成业务时隙错连处理
彪悍的“宠”生,不需要解释
2017年3月长三角地区主要港口吞吐量
2016年10月长三角地区主要港口吞吐量
2016年11月长三角地区主要港口吞吐量
一种高速通信系统动态时隙分配设计
时隙宽度约束下网络零售配送时隙定价研究