一种应用于阵列式探地雷达的高速异步串行数据传输方法与流程

文档序号:18226293发布日期:2019-07-19 23:28阅读:200来源:国知局
一种应用于阵列式探地雷达的高速异步串行数据传输方法与流程

本发明属于阵列式探地雷达系统的板间数字信号高速异步串行传输技术领域,具体涉及一种高速异步串行数据传输方法。



背景技术:

探地雷达(groundpenetratingradar简称gpr)是用高频无线电波来确定介质内部物质分布规律的一种地球物理方法。阵列式探地雷达与传统的单通道探地雷达相比,可以完成长距离,大面积的高速数据采集,同时通过阵列天线的有序排布,直接获得地下目标的三维信息,实现三维成像。

阵列式探地雷达采集目标多维度信息进行三维成像,与单通道设备相比,阵列式探地雷达采集数据量与天线阵列数成比例倍数增加,使采集数据能实时传输、显示和处理。高速的数据传输是保证系统实现工作的极重要的一部分,其中包括采集板和主控板的探地雷达脉冲回波数据高速传输。因为系统包含多块采集板,并且主控板的数据传输通道有限,所以采用单比特的异步串行传输回波数据,同时由于实际设备传输距离达到10米以上,因此目前主流的高速串口协议传输距离均不能满足此要求。而在现有的高速异步串行传输方法中,因为没有随路时钟,所以在接收端会出现码元串位,导致采集板和主控板之间数据传输的速率低、准确性差。



技术实现要素:

本发明的目的是为解决在现有的高速异步串行传输方法中存在码元串位,导致采集板和主控板之间数据传输的速率低、准确性差的问题。

本发明为解决上述技术问题采取的技术方案是:一种应用于阵列式探地雷达的高速异步串行数据传输方法,该方法包括以下步骤:

步骤一、采集板以速率v传输数据,所述传输数据由帧头数据、有效数据和帧尾数据组成;

所述帧头数据采用66bit特定数据,其中:帧头数据的前34位“0000_0000_0000_0000_1111_1111_1111_111101”用于判断位同步起始,帧头数据的后32位“0101_1100_0111_0010_1110_0011_1000_1101”用于位同步校准和检测有效数据的起始;

帧头数据发送完成后,继续发送有效数据;所述有效数据的组数为7组,每组有效数据的长度均为16位数据;

有效数据发送完成后,再发送帧尾数据,所述帧尾数据为16位数据“1100_0011_1100_0011”,帧尾数据用来指示传输数据截止位置;

步骤二、主控板以速率5v采集传输数据码元,则在主控板依次连续接收80个1和80个0后,主控板进入位同步工作;

步骤三、主控板进入位同步工作后,利用帧头数据的后32位进行位同步校准,并检测有效数据的起始;

步骤三一、将帧头数据后32位的低位开始的第一个码元作为当前码元;

步骤三二、根据当前码元的五个采样时刻的采样值来判断当前码元的提前与滞后;

步骤三三、对当前码元的提前与滞后进行弥补,即当前码元采样提前时进行等待,当前码元采样滞后时跳过相应的采样状态;

步骤三四、将当前码元的五个采样值求和,若求得的和大于等于3,则判断当前码元的位同步结果为1,否则,判断当前码元的位同步结果为0;

并在当前码元的最后一个采样时刻控制下一码元采样时刻的起始,将下一码元作为当前码元;

步骤三五、不断重复步骤三二至步骤三四的过程,从高位开始将每个码元的位同步结果输入32位移位寄存器,当移位寄存器并行输出为“0101_1100_0111_0010_1110_0011_1000_1101”时,检测到有效数据起始;

步骤四、检测到有效数据起始后,从高位开始将有效数据的每个码元的位同步结果存储到16位移位寄存器中,当16位移位寄存器存满16位数后,将16位移位寄存器的并行输出结果存储到ram中,并将16位移位寄存器的存储地址改变,等待下一次16位移位寄存器存满,直至ram中存满7组数据后,进入帧尾数据接收状态;

步骤五、进入帧尾数据接收状态后,从高位开始将帧尾数据的每个码元的位同步结果存储到16位移位寄存器中,当16位移位寄存器存储到“1100_0011_1100_0011”时,表明一帧数据接收完成。

本发明的有益效果是:本发明提出了一种应用于阵列式探地雷达的高速异步串行数据传输方法,本发明仅仅采用五倍于码元传输速率的采样时钟就能实现数字通信的位同步,就能克服现有方法容易出现码元串位的问题,提高了数据传输的准确性;而且,在没有随路时钟的条件下,本发明方法可以有效节省传输通道,在阵列式探地雷达系统中,使用本发明方法可以实现大于80msps的传输速率。

附图说明

图1是在码元传输过程中,出现码元滞后情况的示意图;

图2是根据码元的五个采样值,判断码元的提前与滞后的示意图;

图3是本发明进行位同步的流程图;

图4是利用xilinx公司提供的逻辑分析仪ip核抓取的fpga内部接收端位同步模块和串行转并行模块的实际信号图;

图5是利用xilinx公司提供的逻辑分析仪ip核抓取的fpga内部接收端转换完成后的实际接收回波信号波形图。

具体实施方式

具体实施方式一:本实施方式所述的一种应用于阵列式探地雷达的高速异步串行数据传输方法,该方法包括以下步骤:

步骤一、采集板(发送端)以速率v传输数据,所述传输数据由帧头数据、有效数据和帧尾数据组成;

所述帧头数据采用66bit特定数据,其中:帧头数据的前34位“0000_0000_0000_0000_1111_1111_1111_111101”用于判断位同步起始,帧头数据的后32位“0101_1100_0111_0010_1110_0011_1000_1101”用于位同步校准和检测有效数据的起始;

帧头数据发送完成后,继续发送有效数据;所述有效数据的组数为7组,每组有效数据的长度均为16位数据;

有效数据发送完成后,再发送帧尾数据,所述帧尾数据为16位数据“1100_0011_1100_0011”,帧尾数据用来指示传输数据截止位置;

步骤二、主控板(接收端)以速率5v采集传输数据码元,则在主控板依次连续接收80个1和80个0后,主控板进入位同步工作;

主控板为接收端,根据前34位帧头数据判断位同步的起始,接收端需要保证有效数据到达之前位同步不工作,这样在有效数据到达时能够实现采样点相位可控。位同步起始如图3,由发送端的帧头数据可知,若接收端用五倍采样率,则在连续接收80个“1”和80个“0”后接收端进入位同步工作。为保证在收到指令时才开始位同步工作,则在计“1”出现“0”和计“0”状态中出现“1”,相应的计数器归零,保证了在有效数据到达前,接收端处在位同步工作起始判断状态。

步骤三、主控板(接收端)进入位同步工作后,利用帧头数据的后32位进行位同步校准,并检测有效数据的起始;

步骤三一、将帧头数据后32位的低位开始的第一个码元作为当前码元;

步骤三一具体为:从帧头数据后32位的低位开始,将从低位开始的第一个码元作为当前码元;

步骤三二、根据当前码元的五个采样时刻的采样值来判断当前码元的提前与滞后;

步骤三三、对当前码元的提前与滞后进行弥补,即当前码元采样提前时进行等待,当前码元采样滞后时跳过相应的采样状态;

步骤三四、将当前码元的五个采样值求和,若求得的和大于等于3,则判断当前码元的位同步结果为1,否则,判断当前码元的位同步结果为0;

并在当前码元的最后一个采样时刻控制下一码元(指从低位开始的当前码元的下一个码元)采样时刻的起始,将下一码元作为当前码元;

在当前码元的最后一个采样时刻控制下一码元采样时刻的起始是指:根据是否将当前采样值赋给下一码元,决定下一码元开始的采样时刻;

例如:若当前码元采样滞后一刻,则将当前采样值e作为下一码元的采样值a′,下一码元提前一个时刻开始采样;

步骤三五、不断重复步骤三二至步骤三四的过程,从高位开始将每个码元的位同步结果输入32位移位寄存器,当移位寄存器并行输出为“0101_1100_0111_0010_1110_0011_1000_1101”时,检测到有效数据起始;

步骤四、检测到有效数据起始后,从高位开始将有效数据的每个码元的位同步结果存储到16位移位寄存器中,当16位移位寄存器存满16位数后,将16位移位寄存器的并行输出结果存储到ram中,并将16位移位寄存器的存储地址改变,等待下一次16位移位寄存器存满,直至ram中存满7组数据后,进入帧尾数据接收状态;

步骤五、进入帧尾数据接收状态后,从高位开始将帧尾数据的每个码元的位同步结果存储到16位移位寄存器中,当16位移位寄存器存储到“1100_0011_1100_0011”时,表明一帧数据接收完成。

数字通信系统会出现码元错位导致的数据接收错误,错误包括码元提前和码元滞后,一个码元的被采样时刻有五次,采样值分别记为a、b、c、d、e。若实际频率有误差并且误差稳定,记实际码元宽度为w,采样间隔为t,极限情况下第t/(w/5-t)=k个采样点会出现码元错位,采样错误,提前时t<w/5,滞后时t>w/5,其中码元滞后如图1所示。

本发明还可以根据具体应用场景,来增加或减少采样时刻与采样状态。

具体实施方式二:本实施方式与具体实施方式一不同的是:所述步骤一的具体过程为:

采集板以速率v传输数据,帧头的66位数据从低位开始串行发送完成后,继续发送存储到ram中的7组有效数据,每组有效数据均包括参数信息和回波数据,参数信息又包括板子编号、回波组号和回波点数,各组有效数据依次串行发送,且在每组有效数据内部均从低位开始串行发送;

当7组有效数据依次串行发送完成后,再从低位开始串行发送帧尾数据。

帧头的66位数据从低位开始串行发送是指:帧头数据“0101_1100_0111_0010_1110_0011_1000_1101”“0000_0000_0000_0000_1111_1111_1111_111101”从低位开始串行发送。

具体实施方式三:本实施方式与具体实施方式二不同的是:所述步骤三二的具体过程为:

当前码元的五个采样时刻分别为s1、s2、s3、s4和s5,记第一个采样时刻s1对应的采样值为a,第二个采样时刻s2对应的采样值为b,第三个采样时刻s3对应的采样值为c,第四个采样时刻s4对应的采样值为d,第五个采样时刻s5对应的采样值为e;

若采样值e与采样值a不相等,则边沿出现在第五个采样时刻s5与第一个采样时刻s1之间,判定结果为当前码元采样时刻适中;

若采样值a与采样值b不相等,则边沿出现在第一个采样时刻s1与第二个采样时刻s2之间,判定结果为当前码元采样提前一刻;

若采样值b与采样值c不相等,则边沿出现在第二个采样时刻s2与第三个采样时刻s3之间,判定结果为当前码元采样提前二刻;

若采样值c与采样值d不相等,则边沿出现在第三个采样时刻s3与第四个采样时刻s4之间,判定结果为当前码元采样滞后二刻;

若采样值d与采样值e不相等,则边沿出现在第四个采样时刻s4与第五个采样时刻s5之间,判定结果为当前码元采样滞后一刻。

码元错位只能在高低电平交替处才能通过采样点的值检测出来,主要分为五种情况,如图2所示,即上升沿或下降沿出现在e-a,a-b,b-c,c-d,d-e处。因为两个板子的时钟较稳定,且频差较小,可以根据边沿与五个采样时刻的相位关系判断码元提前与滞后:将图2中e-a判为采样时刻适中,a-b判为采样提前一刻,b-c判为采样提前两刻,c-d判为采样滞后两刻,a-b判为采样滞后一刻。为了防止错判出现,对连续的相同码元数有一定限制,在采样最不利条件下连续相同码元的数量需小于2k/5。

具体实施方式四:本实施方式与具体实施方式三不同的是:所述步骤三三的具体过程为:

若边沿出现在第一个采样时刻s1与第二个采样时刻s2之间,则需等待一个采样时刻;

若边沿出现在第二个采样时刻s2与第三个采样时刻s3之间,则需等待两个采样时刻;

若边沿出现在第三个采样时刻s3与第四个采样时刻s4之间,则需提前两个采样时刻,将当前采样值d作为下一码元的采样值a′,将当前采样值e作为下一码元的采样值b′;

若边沿出现在第四个采样时刻s4与第五个采样时刻s5之间,则需提前一个采样时刻,将当前采样值e作为下一码元的采样值a′。

码元的提前与滞后判断完成后,就需要对采样时刻进行处理,以弥补采样时钟与码元的产生的偏移,即采样提前时进行等待,滞后时跳过相应的采样状态。这里增加两个状态w1,w2用于采样时刻的等待。同时在跳过采样状态时,需要将当前周期的采样值弥补给下一周期跳过的采样状态,因为当前周期滞后时刻的采样值实际属于下一周期的采样值。

本实施方式动态调整采样时钟和异步串行数据的相位关系,确保每个码元接收正确,以满足采集板和主控板之间数据的传输速率和准确性。

图4是主控板fpga内部位同步主要的工作时序图,其中data_in是输入数据,data_in_reg与data_in_reg_2是其打一拍和两拍的缓存寄存器值,减少亚稳态问题;state_reg_1_flag~state_reg_5_flag用于标志边沿在s1~s5出现;

寄存器组data_reg[4:0]从低到高对应上述a~e寄存器用于存储采样值;data_count为五个采样值的和,out_flag用于判断位同步到达s5状态,开始输出码元值,data_out为位同步输出码元值;

rxd_out_reg为有效数据串行转并行时的16位移位寄存器,i用于计数,当i=16时,说明移位寄存器缓存完一组有效数据,此时指示信号flag_out置“1”,输出有效数据rxd_out。

图5中的rd_data为存储在ram里的有效回波数据,将其波形化之后的输出如图5所示。

本发明的上述算例仅为详细地说明本发明的计算模型和计算流程,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。

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