无线传感网中一种基于即时信息的TDMA方案




图2 BCMAC调度协议

2 IM-TDMA方案描述

2.1基本算法

IM-TDMA方案与LEACH协议和BCMAC协议在簇形成阶段类似,如图3所示,仍是按轮运行的,每一轮由簇形成阶段和簇稳定阶段组成。簇形成阶段,完成成簇。簇头选举及时钟同步的任务;簇稳定阶段,根据节点的流量,分为n个长度不等的帧,即每帧有几个节点需要传输数据就分配几个时隙。如图3所示,假设一帧中有3个节点有数据传输,则该帧就只由3个时隙组成。该方案将每帧分为时隙申请。调度和数据传输三步。


图3 IM—TDMA调度方案

2.1.1时隙申请

这一阶段主要按照节点ID顺序,给每个节点分配一个信令小时隙,每个信令小时隙占用1 b用于向簇头申请时隙。有数据需要传输的节点在自己的信令小时隙内发送申请时隙的信息,触发簇头计数器,随着申请节点数的增加,计数器值依次增加,每个节点触发计数器得到的计数值即为该节点在本帧的时隙位置值。由于各节点在各自不同的信令小时隙内向簇头发送申请时隙的信息,因此不会发生碰撞。在此过程中,对上一帧中未传完的数据节点优先分配信令时隙,即在每帧开始时先给在上一帧中未传完数据的节点申请时隙,以让续传信息优先完成数据传输,然后再给在本帧中有数据传送的节点申请时隙,且每帧中每个节点只能进行一次时隙申请。具体的时隙分配过程如图4所示,每一帧信令时隙S0由两部分组成,第一部分S0为续传申请时隙,其由h个信令小时隙组成,h为前一帧数据传输所占用的总时隙数,且在每轮数据的第一帧,h值为0.第二部分S02由m个信令小时隙组成,m为该簇内的所有节点数。由于每帧每个节点只能发送一次申请时隙的信令信息,因而在S01中申请时隙的节点不会在S02中重复申请时隙。如果某个节点在上一帧中有未传输完的数据,需要在本帧中传输,假定其在上一帧中的第i个时隙传送,则在本帧中S01时隙的第S01i个信令小时隙发送申请时隙信息,触发簇头计数器加1,计数器的值即为该节点在本帧中传送的时隙位;如果某个节点在本帧中有需要传输的数据,假定其信令小时隙是第j个,则在S02时隙中的第S02j个信令小时隙中发送申请时隙信令,触发簇头计数器加1,计数器的值即为该信息在本帧中传送的时隙位。计数器在每轮开始时,初始化为0,并在每帧时隙申请完成之后立刻置0.

2.1.2调度分配

这一阶段簇头根据时隙申请及触发计数器生成的计数结果,广播一个调度结果。该调度分配结果将数据时隙分为两部分。第一部分是在S01申请续传的时隙,假设有p个;第二部分是在S02申请新传的时隙,假设有q个。

这两部分所占用的时隙数之和,即为下一帧用于申请续传信息的信令小时隙的h(h = p + q)值。


图4 帧结构图

下面以一个实例来说明:

假设有m个节点,如图5所示,用Ip表示第p个节点所传的数据信息内容,用Sq表示第q个时隙,用S01i表示S01信令时隙中第i个信令小时隙,用S02j表示S02信令时隙中第j个信令小时隙。计数器的值在系统形成时已初始化为0.假设在第一帧中节点3.5.8有数据传输,因为是第一帧,所以不存在续传信息,即没有S01信令时隙,只有S02信令时隙。节点3在S02时隙中的第S023个信令小时隙中向簇头发送申请时隙的信息,触发记数器,因为该帧开始时,计数器初始化为0,因而触发后其值为1,故节点3的数据在第1时隙中传输,可表示为I3在S1中传;同理节点5在S02时隙中第S025个信令小时隙中向簇头发送申请时隙的信息,触发记数器,记数器值增为2,表明节点5的数据在第2时隙中传输,表示为I5在S2中传;同样的道理可得节点8的数据在第3个时隙中传输,即I8在S3中传。第一帧时隙申请完之后,将计数器置为0.这样在第一帧中,节点3.5.8的数据依次在S1.S2.S3三个时隙中传输。第一帧的时隙总数为3(即下一帧的h值)。在第二帧中,假设节点3.8的数据在第一帧中未传送完,需要在第二帧中续传,同时节点1.4.9在本帧中有数据需要传输。由于前一帧的时隙总数为3,因而本帧的h值为3,即S01时隙中有3个信令小时隙,因为节点3在前一帧中所占的是第一时隙,因而节点3在S01时隙中的第S011个信令小时隙中发送申请时隙信息,触发计数器,故节点3的续传信息在本帧中的第1时隙传送,可表示为I3在S1中传;同理节点8在前一帧的第3时隙传送数据,因而节点8在该帧中的S01时隙的第S013个信令小时隙发送申请时隙信息,触发计数器,计数器值加1,故节点8在该帧中的续传信息在第2时隙传送,可表示为I8在S2中传。接着分配本帧中需要传送信息的节点的时隙位置,节点1在本帧中有数据需要传输,因而节点1在S02时隙的第S021个信令小时隙发送申请时隙信息,继续触发计数器,计数器值加1,故节点1在该帧中的第3时隙传送,可表示为I1在S3中传;同理节点4在本帧中有数据需要传输,因而在S02时隙的第S024个信令小时隙发送申请时隙信息,触发计数器,计数器值加1,故节点4在该帧中的第4时隙传送,可表示为I4在S4中传;同理可得节点9在该帧中的第5时隙传送,可表示为I9在S5中传。由于每帧中每个节点只能申请一次时隙,因而续传信息的节点不会在S02时隙中重复进行时隙申请。本帧节点申请完时隙后,计数器初始化为0.这样在第二帧中节点3.8的数据分别在第1.2时隙中进行续传,而节点1.4.9的数据分别在第3.4.5时隙中进行传输。可以看出本帧总的传输时隙数为5(为下一帧的h值)。