郭俊俊 江西新明机械有限公司
引言:在科学技术不断发展的背景下,近距离无线通信系统诞生,使数据传输技术得到进一步的优化和创新。其中,防碰撞算法能够以时隙为单位分发数据包,从而实现防碰撞目标。在本文的研究中,首先对NFC系统的主要结构与编码技术进行分析,并在位码优化的基础上对数据传输的防碰撞算法进行研究。
在NFC系统中,主要结构包括电子标签、读写器、系统高层三部分。其中,电子标签包括芯片与天线两个部分,一般在物体上当作目标标识,在标签的中具有唯一的识别码,存储一些特定信息;读写器也被称为发起设备,能够对电子标签中的信息进行读取;系统高层的主要作用在于对数据信息进行实时处理。
在NFC系统中,通过电感耦合的方式对通信双方射频信号进行传输,该模式中的谐振电路电感耦合能够完成双方数据与能量的传输。读写器中的线圈能够使其四周充满磁场,在目标设备通过时,在耦合作用下生成感应电压,并以其为微型芯片电源展开工作。如若线圈的形状为圆形,在位置上为水平状态,则根据电磁感应定量能够对线圈中的感应电压进行计算,公式为:
式中,读写器线圈的数量为N1,目标设备的圈数为N2,半径为R1与R2,两线圈的圆心距为d。
由上述公式能够看出,感应电压与线圈的放置位置、大小、结构等具有一定关联,同时还能够得出,目标设备中的感应电压与线圈间的距离存在负相关关系,当二者的距离越远时,设备中产生的蒲河电压数值越小;当二者距离越近时,产生的耦合电压数值越大。因此,在实际工作中,应尽可能的缩短二者间的距离才能够提高工作质量。
在NFC系统中应用较为频繁的编码类型为改进型Miller编码与Manchester编码。其中,前者是在Miller编码的基础上优化而成,利用负脉冲的方式使编码中的各个边沿被取代,在位周期开始后便开始产生电平交互,便于接收器为节拍的重建,其主要特征为:一是在码元中间(“1”)或者开始处产生跳变;二是负脉冲的延续时间较短,在数据传输过程中能够确保发起方连续不断的为目标方提供能量,且较短的负脉冲能够将能量全部汇集到宽带当中,使目标设备的接收质量得到显著提高。后者的电压跳变可以用码元“1”与“0”来表示,其中,码元“1”代表电平由高到低的转变,而码元“0”则表示电平由低到高的转变,该编码的主要特点如下:一是含位同步时钟,由于码元之间出现跳变,因此接收端更容易提取位同步时钟;而是不具备直流分量,对于一个码元来说,其中的高低电平各站一般,因此无直流分量。
在SA算法中,采用帧时隙、动态时隙等方式,对以往随机算法进行完善,并将动态搜索、回退搜索等方式引入到BTS算法当中,使该算法得以优化。随着目标数量的不断增加,BTS算法效率不断降低,而SA算法的变化趋势为先上升后降低,因此二者势必会有一个重合之处,计算公式为:
式中,N代表的是目标数量,E代表两种算法的重合之处。
通过计算可得N的值不小于7,也就是目标设备的数量范围在1到6之间,此时BST算法中存在最高效率,且与SA算法相比在效率上占有优势。随着目标数值的不断提高,如若使用上述方式,使每组中目标设备数量降低,则算法效率将得以提升。
本文基于确定性算法对防碰撞算法进行优化与改进,具体措施为:
(1)由发起端发出一个查询指令REQUEST,将UID参数设置成全1序列,代表查询序列号;将BN参数设置为0,代表位码值。当目标设备接收指令后,采用随机数发生器生成新的位码,并将UID与BN参数反馈给发起端;
(2)当发起端接收到BN数值以后,分为三种情况,一种是BN数值为0,这代表着存在目标设备,操作完毕;另一种是BN中只有一位为1,也就是只有唯一的位码,无碰撞现象,则全部设备都汇集到同个组中,对UID中是否存在碰撞现象进行检测,如若存在则需要执行BTS算法,如若不存在则操作完毕;还有一种情况是BN中存在多个1,也就是由许多位码,要想从中识别中最高位,使BNR位置为1,其他为0,则需要生成本组BNR,并将BN中的最高位变为0;
(3)在发起端对命令REQUEST进行发布,将其中全部UID设置为1,使BN与BNR的目标相同,在接受到指令以后迅速反馈,如若信号接收失败,证明改组内已经不存在目标,这时需要重复上述(2)的操作;
(4)在对某一序列号进行识别后,采用SELECT命令对其状态进行读取,并完成数据传输,识别下一个设备,直至将全部设备都识别出来。
2.3.1 仿真过程
首先,点击“start”按钮,将UID模块中从0转变为12组相互独立的4位二进制数据,并将state模块设置成“READY”状态,将统计模式设置为0;其次,通过Initiator将查询命令REQUEST传输出去,UID的数值为1111,BN的数值为0000,将targets反馈的参数接收,从该数据中能够看出,UID与BN中的数据出现了碰撞情况,也就是码元之间没有出现跳变情况。第三,将Initiator传送到REQUEST当中,借助识别目标使BNR由1000逐渐降低到0001,通过分析碰撞发生后数值的变化情况得出UID的值。
2.3.2 仿真结果
(1)碰撞频率。在BNBTS算法应用过程中共计产生11次碰撞,BTS算法应用中共计产生21次碰撞。碰撞的频率越高意味着双方产生交互的次数越多,时延越长。在本文研究的仿真实验中,BTS算法产生的碰撞频率几乎是BNBTS算法的50%;
(2)查询次数。根据碰撞频率能够对查询次数进行计算,数值为碰撞频率与targetss数量之和。在BNBTS算法中,查询次数为23次,而BTS中为33次,相比来看,BTS算法的查询次数超过BNBTS算法的30%;
(3)平均通信量。计算方式为传输比特数值与1/12的乘积,其中传输比特值的计算方式为targets传输的比特数与Initiator相加之和。通过计算可知,BNBTS算法的平均通信量为97.33bit,BTS算法为102.67bit。在实施过程中,当target为单一的情况下,也就是碰撞频率为0、查询次数为1时,与BTS算法相比,采用BNBTS算法需要加入更多的BN,在平均通信量上超出二倍。由于位码BN存在明确的分组,碰撞频率降低,而BTS算法的平均通信量又高于BNBTS算法,因此效果也将更加显著。
结论:综上所述,在本文的研究中主要对NFC的主要结构与编码技术进行分析,并在位码优化的基础上对数据传输的防碰撞算法进行研究,首先介绍了算法的基本思想,然后在位码优化的基础上对二进制搜索算法的应用流程进行分析,最后通过仿真分析的方式,对防碰撞算法进行仿真实现,从碰撞频率、查询次数、平均通信量三个角度对仿真结果进行总结。