一种用于井下单芯总线系统的误码率测试方法及系统

文档序号:25991658发布日期:2021-07-23 21:03阅读:134来源:国知局
一种用于井下单芯总线系统的误码率测试方法及系统

本发明涉及井下信息传输技术领域,特别是涉及一种用于井下单芯总线系统的误码率测试方法及系统。



背景技术:

井下单芯总线系统是随钻测井中地面数据采集系统与井下仪器之间的关键部分,负责收集井下仪器所测得的地层参数,下达地面系统对各仪器所下发的指令,并完成对各仪器的供电。单芯总线系统的结构示意图如图1所示,其特点在于使用钻铤的外壳作为地线,另用一根单芯导线同时完成信号传输和仪器供电,安装于钻铤内的各支仪器通过钻铤外壳和单芯导线挂接总线系统。

单芯总线结构能够适应井下高温、高压、强振动的恶劣环境,同时方便进行仪器组装,是国内外目前在实际生产中普遍使用的井下通信方式。其实质是使用一根导线同时实现井下仪器的通信和供电,在这种情况下,负载的变化以及电压的波动等极易导致通信过程中数据产生误码。因此,通过误码率测试不断改善单芯总线系统的各项参数,从而改善系统通信质量是极为重要的,同时误码率测试也是仪器组装前后必须进行的工作。

针对井下单芯总线系统的误码率测试,传统的方法是首先人为输入一段长度较短的待传输码元,然后通过上位机重复的循环发送至单芯总线系统的发送端,再在接收端对所发送的码元进行接收并保存,等待接收到足够的码元数后上位机停止发送。最后将接收端保存的码元与发送端发送的码元人为进行比对,统计误码个数,从而确定误码率。这种传统的方法所发送的码元单一,不具有随机性和多样性,与实际生产过程中所传输的数据相差较大,可信度较低。另外人工进行比对的过程中容易产生误判误读,影响误码统计的准确性,且费时费力。



技术实现要素:

本发明的目的是提供一种井下单芯总线系统的误码率测试方法及系统,以解决上述现有技术存在的问题,使井下单芯总线系统的误码率测试无需人工进行比对,提高了误码统计效率和准确性,并且可以使用随机性和多样性码元,适用性强。

为实现上述目的,本发明提供了如下方案:本发明提供一种用于井下单芯总线系统的误码率测试方法,包括以下步骤:

s1、发送误码率测试开始指令;

s2、判断所述误码率测试开始指令是否正确,正确,则生成测试码元并传输所述测试码元;

s3、接收所述测试码元,生成接收数据;

s4、生成对比码元,比较所述接收数据与所述对比码元是否一致,是,则继续进行比对;否,则增加误码个数并继续进行比对;

s5、定时统计所述误码个数,计算误码率。

优选的,所述测试码元采用m序列。

优选的,所述测试码元和所述对比码元完全一致。

优选的,所述s2中生成测试码元并传输所述测试码元包括:

s21、产生m序列作为所述测试码元;

s22、存储所述测试码元;

s23、对所述测试码元进行曼彻斯特编码并传输曼彻斯特编码数据。

优选的,所述s4中统计误码个数具体包括:

s41、接收所述曼彻斯特编码数据,转换为以字节为单位的所述接收数据;

s42、生成对比码元;

s43、比较所述接收数据和所述对比码元是否一致,是,则继续进行比对;否,则增加误码个数并继续进行比对。

优选的,所述曼彻斯特编码数据为16位总线协议数据。

一种用于井下单芯总线系统的误码率测试系统,用于实施井下单芯总线系统的误码率测试方法,包括:上位机、发送单元和接收单元,

所述上位机,用于下达误码率测试开始指令并接受误码统计的结果;

所述发送单元,用于产生所述测试码元发送至井下单芯总线系统;

所述接收单元,用于接收所述测试码元并进行误码统计;

所述上位机分别与所述发送单元和所述接收单元连接,所述发送单元和接收单元通过所述井下单芯总线系统连接。

优选的,所述发送单元包括命令接收模块、码元产生模块、fifo缓存模块、第一控制模块和总线发送模块,所述命令接收模块、发送端码元产生模块、fifo缓存模块、第一控制模块和总线发送模块顺次连接,所述命令接收模块与所述上位机连接。

优选的,所述接收单元包括总线接收模块、接收数据fifo缓存模块、接收端码元产生模块、码元fifo缓存模块、第二控制模块、定时模块和发送模块,所述总线接收模块、接收数据fifo缓存模块与所述第二控制模块顺次连接,所述接收端码元产生模块、码元fifo缓存模块与所述第二控制模块顺次连接,所述第二控制模块与所述定时模块、所述发送模块顺次连接,所述总线接收模块与所述井下单芯总线系统连接,所述发送模块与所述上位机连接。

优选的,所述发送端码元产生模块与所述接收端码元产生模块的初始状态和特征多项式相同。

本发明公开了以下技术效果:

1、本发明接收单元的生成的码元与发送单元发送的码元完全一致,在接收单元直接进行码元对比就可判断误码与否,不需要人为进行码元的对比和误码统计,规避了人工统计过程中可能产生的误判误读。并且在很大程度上节省了时间,提高了工作效率。本发明所产生的用于测试的码元,按照总线数据传输的格式,将8位数据转化为16位数据进行传输,适用于井下总线系统数据传输的格式要求。

2、本发明采用m序列作为误码率测试的码元,使得所发送的测试码元“0”和“1”的个数基本相同,具有伪随机性,避免了人为输入码元的单一性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为现阶段单芯总线系统结构示意图;

图2为本发明井下单芯总线系统的误码率测试方法流程示意图;

图3为实施方式中发送板模块级联结构图;

图4为实施方式中8级线性反馈移存器结构图;

图5为实施方式中测试码元生成示意图;

图6为实施方式中接收板模块级联结构图;

图7为实施方式中发射板仿真示意图;

图8为实施方式中接收板仿真示意图;

图9为实施方式中误码率现场测试图;

图10为实施方式中误码率测试结果图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

本发明提供一种井下单芯总线系统的误码率测试方法及系统,参考图2-10。所谓误码,在二进制数字信号中,指的是发送码元“1”,接收“0”,或者发送码元“0”,接收“1”,发送与接收不一致。由此,误码率就是指所接收到的码元中,错误码元个数与总码元个数的比值。本发明中井下单芯总线系统的误码率测试系统包括上位机、发送单元和接收单元,其中,上位机用于下达测试开始指令并接受误码统计的结果,发送单元用于产生测试码元发送至单芯总线系统,接收单元用于接收测试码元并进行误码统计,本实施例中,发送单元采用发送板,接收单元采用接收板,接收板挂接在单芯总线系统某个节点处。

发送单元包括命令接收模块、码元产生模块、fifo缓存模块、第一控制模块和发送模块,命令接收模块、码元产生模块、fifo缓存模块、第一控制模块和发送模块顺次连接,如图3所示。

上位机发送误码率测试开始命令到发送单元,命令接收模块按照串口协议接收误码率测试开始指令,并判断误码率测试开始指令是否正确,指令正确则驱动码元产生模块产生测试码元。本实施例中,码元产生模块采用8级线性反馈移存器,测试码元采用m序列。相比较随机序列,m序列是一种典型的伪随机序列,由线性反馈移位寄存器产生,其不具有随机序列完全的随机性和不可重复性,而是具有周期性的一组序列,周期长度由线性反馈移位寄存器的级数n确定,一般为2n-1,即一个周期内可以有2n-1个不同码元。除了周期性,m序列也具有均衡性,即一个周期内,所产生码元的“0”和“1”的个数基本相等,“1”的数目比“0”的数目多一个。因此可以认为,m序列既有随机序列所具备的随机性,又有随机序列所不具备的规律性,这使得它不仅保证了测试的可靠性,也容易从所接收到的信号中识别和分离。

码元产生过程如下:使用8级线性反馈移存器,该线性反馈移存器的特征多项式为:x8+x4+x3+x2+1,初始状态为11111111。8级线性反馈移存器的结构如图4所示,首先向右进行一次位移得到a0到a6的值,a7的值由a0、a4、a5、a6进行模二和运算得到,如此循环移位得到的输出序列即为m序列,进行28-1次移位后,第256次又回到初始状态进行下一次m序列的产生过程。由于除了最后一列的输出序列为m序列外,其余各列也均为m序列,因此本发明采用每一行的8位数据组成一个字节作为测试码元,这样不仅便于测试码元的生成,也依旧具有m序列的伪随机性,测试码元的生成示意图如图5所示。

测试码元生成之后,先存放于fifo缓存模块中,等待第一控制模块调取已经生成的测试码元。本实施例中,fifo(firstinputfirstoutput,先进先出队列)深度为40。第一控制模块检查fifo深度,如果小于40,则认为有生成的测试码元需要发送,调取fifo缓存模块中测试码元送入总线发送模块,等待总线发送模块发送结束后,第一控制模块再进行下一次fifo深度判断与测试码元调取。总线发送模块接收到第一控制模块发送过来的测试码元后,按照总线协议进行曼彻斯特编码,然后发送到总线上进行传输。

接收单元包括总线接收模块、接收数据fifo缓存模块、接收端码元产生模块、码元fifo缓存模块、第二控制模块、定时模块和发送模块,总线接收模块、接收数据fifo缓存模块与第二控制模块顺次连接,接收端码元产生模块、码元fifo缓存模块与第二控制模块顺次连接,第二控制模块与定时模块、发送模块顺次连接,如图6所示。总线接收模块与井下单芯总线系统连接,发送模块与所述上位机连接。

发送单元发送的码元数据经过单芯总线传输后,接收单元的总线接收模块对测试数据进行接收,并对接收到的测试数据进行处理,将总线传输过来的经过曼彻斯特编码的测试码元数据转换为以字节为单位的数据。转化后的数据存储于接收数据fifo缓存模块,等待第二控制模块调取。在总线接收模块接收数据的同时,接收端码元产生模块同步产生用于对比的码元,并存入码元fifo缓存模块中。

第二控制模块检测到接收数据fifo缓存模块的深度小于40时,开始接收数据fifo缓存模块中的数据,同时调取码元fifo缓存模块中的码元,对两者进行对比,如果一致则进行下一个数据的比对,如果不一致则判断出现误码,误码统计个数加一,再进行下一次的数据对比,按照这一过程循环,直至测试过程结束。当定时模块中设置的定时时间到达时,统计误码个数,计算误码率,并将误码个数和误码率通过发送模块发送到上位机。

针对误码率测试的发射单元和接收单元,即针对发射板和接收板进行了modelsim仿真,仿真结果如图7~图8所示:

由图7可以看出,当发射板收到pc机发送过来的开始命令8’h88后,m序列发生器开始产生m序列,并存入fifo中,产生的m序列最后以16位总线协议数据发送出去。

从图8可以看出,接收到3个字节c98bbb与产生的m序列cb不相同,认为接收错误,每错误一个error_num+1,每隔半小时将错误字节数以9600bps发送至pc。仿真时为了方便,将发送错误字节数至pc机的时间修改为很小的时间。

仿真无误后,进行了板级误码率测试,使用串口调试助手向控制板发送开始命令,再由接收板接收后对比统计误码率,将误码个数发送至串口调试助手进行观测。现场测试图如图9所示。

当置信度为99%时,要达到10-9的误码率要求,需要测试的码元数为4.61×109个,总线传输速率为80kbps,计算所需要是时间是:小时,即约为0.7天。

误码率测试从当天下午15:30开始,持续进行到次日下午15:00,共计测试23个小时零30分钟,测试期间未出现误码。串口调试助手显示误码率测试结果如图10所示,00表示误码个数为0,每隔半小时发送一次,共计47个00数据。

需要说明的是,本实施例中,发送板和接收板的m序列发生器初始状态和特征多项式相同,所产生的码元是完全一致的,即接收端码元产生模块产生的对比码元和发送单元发送的码元完全一致。

以上所述的实施例仅是对本发明的优选方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案做出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1