技术领域
[0001] 本发明涉及石油地球物理勘探技术领域,尤其是指一种多组GPS模块同步在线量化方法及装置。
相关背景技术
[0002] 近年来,随着地震仪器采集技术的发展以及石油勘探需求的不断变化,无线节点采集技术被引用,无线节点地震仪器迅速发展。全球定位系统(Global Positioning System,简称GPS)模块作为无线节点地震仪器的核心部件,为其提供了精准的参考时钟与精确的定位信息。
[0003] 在现场节点地震仪器GPS模块检修过程中,目前的检测方法主要依赖节点仪器的反应来判断GPS模块是否正常运行,其方式单一、人工化高、检测效率慢,无法满足现场地震勘探的需求。同时,由于检测性能无法量化,操作人员无法准确定位到根本问题所在,易造成对检测结果的误判,影响对GPS模块的性能评价。
具体实施方式
[0046] 下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
[0047] GPS模块作为无线节点地震仪器的核心部件,可以提供精准的参考时钟与精确的定位信息。但是,在现场节点地震仪器GPS模块检修过程中,目前的检测方法主要依赖节点仪器的反应来判断GPS模块是否正常运行,其方式单一、人工化高、检测效率慢,无法满足现场地震勘探的需求。同时,由于检测性能无法量化,操作人员无法准确定位到根本问题所在,易造成对检测结果的误判,影响对GPS模块的性能评价。
[0048] 为解决上述问题,本实施例提供了一种多组GPS模块同步在线量化方法及装置,通过实施例一和实施例二进行具体说明。
[0049] 实施例一
[0050] 本实施例提供了一种多组GPS模块同步在线量化方法,该GPS模块配置于节点地震仪器,包括:
[0051] 步骤S1,基于FPGA对多组所述GPS模块的数据并行采集和同步处理,包括:
[0052] 步骤S101,对多组所述GPS模块的数据并行采集,得到多道数据流;对所述多道数据流进行帧头检测,并根据设置的数据长度对所述多道数据流分别进行字段分割;基于功能指令进行多种任务操作,当所述功能指令为检验时,进行步骤S102;当所述功能指令为自检时,所述FPGA进行自检;
[0053] 所述步骤S102,对字段分割后的所述多道数据流进行同步控制;
[0054] 步骤S103,对同步控制后的所述多道数据流进行复用缓存;在上位机发起读取命令后,对复用缓存后的所述多道数据流进行读取,再进行步骤S104;
[0055] 所述步骤S104,基于读取出的所述多道数据流组建数据包,并将所述数据包上传至所述上位机;
[0056] 步骤S2,基于所述上位机对接收到的所述数据包进行解析、自定义评估和显示,且将评估结果下传至所述FPGA。
[0057] 本实施例基于FPGA对多组GPS模块的数据并行采集和同步处理,(1)提高了GPS模块的检测效率,可自定义检测阈值标准,一次保存多组GPS模块的性能量化参数,在线定量表征GPS模块性能;(2)可以进行数据追溯,为批量节点地震仪器的GPS模块选型装配、故障定位及维修提供数据支撑。
[0058] 接下来对本实施例所述的一种多组GPS模块同步在线量化方法进行详细介绍,如图1所示,该方法分为S1与S2两大步骤:
[0059] 步骤S1,基于FPGA对多组所述GPS模块的数据并行采集和同步处理,包括:
[0060] 步骤S101,对多组所述GPS模块的数据并行采集,得到多道数据流;对所述多道数据流进行帧头检测,并根据设置的数据长度对所述多道数据流分别进行字段分割;基于功能指令进行多种任务操作,当所述功能指令为检验时,进行步骤S102;
[0061] 可选的,以FPGA为主控芯片,以20组GPS模块为例,如图2所示,在数据接收与分段模块中,接收模块基于串口通信协议对20组GPS模块的数据并行采集,得到20道数据流;
[0062] 具体的,采用输入为220V交流电,输出为3.3V、1.5V低压直流电压的供电模块给所述FPGA芯片供电。
[0063] 具体的,所述接收模块包括时钟管理模块、协议部分以及命令字控制逻辑,其工作流程图如图3所示;在接收到专属命令字后,所述接收模块在所述时钟管理模块的驱动下按照起始信号、数据信息、停止信号的格式逐字接收来自所述GPS模块上传的数据信息;所述20道数据流采用美国国家海洋电子协会(National Marine Electronics Association,简称NMEA)为海用电子设备指定的标准格式,如图4所示。
[0064] 可选的,在所述数据接收与分段模块中,基于数据帧检测模块对所述20道数据流进行帧头检测,并根据设置的数据长度对所述20道数据流分别进行字段分割;
[0065] 具体的,如图5所示,所述数据帧检测模块包括帧头检测、数据长度,字段分割;所述数据帧检测模块接收所述20道数据流,按照NMEA协议对字段进行检测,在正确检测到帧头时,根据设置的数据长度对所述20道数据流进行数据字段分割,从而区分该字段所从属的时刻。
[0066] 可选的,在所述数据接收与分段模块中,控制模块基于功能指令进行多种任务操作,当所述功能指令为检验时,进行步骤S102;当所述功能指令为自检时,所述FPGA进行自检;
[0067] 具体的,所述控制模块实现对所述功能指令解析后的任务操作与对数据字段分割完成后的划分;所述功能指令分为自检1a、检验2a、灯控3a、停止四种操作模式,如图6所示;所述控制模块接收到监测软件指令,通过指令解析判断,指令为1a,将启用自检模块;指令为2a,将接收实时在线的所述20道数据流;指令为3a,将启用灯控模块;指令不在所述指令
1a、2a、3a中,硬件平台程序结束。
[0068] 进一步的,当所述功能指令为所述检验2a时,所述控制模块以所区分的字段从属时刻为评判标准划分出新的数据帧,且进行所述步骤S102。
[0069] 可见,在所述数据接收与分段模块中,所述接收模块在接收所述20道数据流后通过所述数据帧检测模块与所述控制模块判定其数据帧的帧头是否正确以及字段的归属时刻。
[0070] 所述步骤S102,对字段分割后的所述多道数据流进行同步控制;
[0071] 可选的,如图2所示,在多通道同步控制模块中,基于数据包暂存控制模块对字段分割后的所述20道数据流进行同步控制;
[0072] 具体的,由于所述GPS模块之间的时钟并未进行同步处理,且通信线路之间的延迟也会带来一定的误差,导致所述20组GPS模块的信号帧并不同步;所述数据暂存控制模块对字段分割后的所述20道数据流进行同步控制,保证同批待检验数据归属于同一时刻。
[0073] 可选的,在多通道同步控制模块中,基于同步缓存控制模块对同步控制后的所述20道数据流进行同步数据检验。
[0074] 可见,本实施例在数据缓存前对数据进行了同步处理。
[0075] 步骤S103,对同步控制后的所述多道数据流进行复用缓存;当上位机发起读取命令后,对复用缓存后的所述多道数据流进行读取,再进行步骤S104;
[0076] 可选的,如图2所示,基于数据缓存模块对同步控制后的所述20道数据流进行复用缓存;
[0077] 具体的,所述数据缓存模块包括地址管理逻辑、写入控制逻辑、读出控制逻辑,以及由30个双口RAM构成的复用缓存单元,如图7所示;在步骤S102中的所述多通道同步控制模块将同时刻数据帧对齐后,根据所述地址管理逻辑分配的缓存地址,所述写入控制逻辑将对同步控制后的所述20道数据流进行存储。
[0078] 具体的,在所述数据缓存模块中,所述复用缓存单元通过双口RAM实现了跨时钟域的转换。
[0079] 可选的,采取复用空间的方式,每两道同步控制后的所述数据流复用一个所述RAM,以最大化地利用所述FPGA中的存储资源,解决存储空间不足的实际问题;
[0080] 具体的,在所述上位机发起读取命令后,所述读出控制逻辑将按序读取复用缓存后的所述20道数据流,再进行步骤S104。
[0081] 所述步骤S104,基于读取出的所述多道数据流组建数据包,并将所述数据包上传至所述上位机;
[0082] 可选的,如图2所示,基于数据包组包上传模块对读取出的所述20道数据流进行数据重组,得到数据包,并将所述数据包上传至所述上位机;
[0083] 具体的,在所述上位机发起读取命令且上一批读取出的所述20道数据流全部发送完毕后,所述数据包组包上传模块将以三级流水线的形式对下一批读取出的所述20道数据流进行数据重组,得到数据包;所述数据包组包上传模块基于串口通信协议接收发送模块将所述数据包上传至所述上位机。
[0084] 如图6所示,当所述功能指令为所述自检1a时,所述FPGA进行自检,采用固定字段与可变字段结合的方式,按照规定的数据格式生成模拟数据流;对所述模拟数据流进行所述步骤S104;
[0085] 可选的,如图2所示,基于自检模块进行自检,所述自检模块包括可变字段控制单元和固定字段储存单元;
[0086] 具体的,如图8所示,所述自检模块还包括输出控制逻辑;所述固定字段存储单元中存放了一段固定的数据帧,由实测所述GPS模块上传数据所得;所述可变字段控制单元存放的数据按照可视卫星数递增;在所述FPGA收到图形用户界面(Graphical User Interface,简称GUI)的自检命令字后启动所述自检模块,二选一通道选择器将所述上位机的信号来源转换至所述自检模块输出的所述模拟数据流;
[0087] 具体的,所述自检模块将遵循所述NMEA协议规定的数据格式生成一系列所述GPS模块的所述模拟数据流;所述输出控制逻辑用于保证所述模拟数据流的通信格式与实际上传的所述20道数据流的通信格式完全相同;
[0088] 进一步的,对所述模拟数据流进行所述步骤S104;所述上位机对所述模拟数据流进行解析,并通过解析结果判定是否存在数据丢失、误码及组包错位等问题。
[0089] 可见,自检模块实现了FPGA功能的自身检查,可直接表征所述FPGA的运行状态是否正常,也为故障定位提供参考。
[0090] 步骤S2,基于所述上位机对接收到的所述数据包进行解析、自定义评估和显示,且将评估结果下传至所述FPGA;
[0091] 具体的,所述上位机基于数据解析算法对接收到的所述数据包进行解析、自定义评估和显示;所述数据解析算法包括采用线程间共享内存设计,且使用线程锁进行变量操作控制;
[0092] 可选的,所述上位机包括手机端;所述手机端使用蓝牙通信接收所述20组GPS模块的数据,经过所述数据解析算法提取有效数据段,并于界面实时显示所述GPS模块的可视卫星数、经纬度、时间、日期、水平分量精度因子(Horizontal Dilution Of Precision,简称HDOP)等数据信息;所述手机端根据评估指标判断所述GPS模块的性能表现,且将评估结果下传至所述FPGA,通过功能指令灯控3a控制硬件指示灯,所述硬件指示灯的颜色代表结果;
[0093] 进一步的,所述可视卫星数越大、所述HDOP越小,所述GPS模块的性能越好;根据所述可视卫星数和所述HDOP自定义设置双阈值条件来判断所述GPS模块的性能;
[0094] 进一步的,所述双阈值条件可以根据环境的不同进行自定义。
[0095] 具体的,所述数据解析算法包括数据接收模块、数据解析模块和数据显示模块;所述数据接收模块和所述数据解析模块之间采用线程间共享内存设计,使用两个线程都能够共享的变量,例如全局变量,这样所述两个线程都能够访问和修改该变量,从而达到共享数据的目的;
[0096] 进一步的,如图9所示,采用全局变量类型的双缓存AB;所述双缓存AB采用乒乓结构以解决数据高速传输时的数据拥挤问题;
[0097] 进一步的,使用线程锁进行变量操作控制来避免所述双缓存AB在进行读写操作时的线程互斥问题。
[0098] 具体的,如图10所示,所述数据解析模块的程序运行在子线程中,对缓存B进行读操作,接着进入头部标识符检验判断,若没有检测到所述头部标识符,将清除数据重新读取;若检测到头部标识符,则将数据存入临时开辟的容器缓存中储存;
[0099] 进一步的,检测尾部标识符,若没有检测到尾部标识符,将判断所述容器缓存是否达到最大容量,若达到最大容量,则结束此进程,临时缓存数据释放清空;若没有达到最大容量,则重新执行对所述缓存B的数据读取操作直至检测到尾部标识符;
[0100] 进一步的,在检测到尾部标识符后,程序进入数据信息提取模块,通过解析函数筛选出需要的目标信息,最后将其顺序存入另一子线程槽函数保存。
[0101] 具体的,如图11所示,所述数据显示模块根据数据完整性与评估阈值显示不同的信息;首先读取所述槽函数中缓存的数据,对其进行文本化处理;接着检测完整性,若数据不完整,计时继续执行,程序进入信息显示模块,显示空白数据;若数据完整,计时结束,进行评估处理;
[0102] 进一步的,所述评估处理主要依据用户自定义的阈值条件进行评估,若数据对比满足所述自定义的阈值条件,显示合格灯色;若数据对比不满足所述自定义的阈值条件,显示不合格灯色;最终,数据全部显示在所述手机端的界面上。
[0103] 可选的,所述手机端的主界面如图12所示;
[0104] 图12(a)为设备连接界面,所述设备连接界面是程序默认界面,该界面主要分为三个区域:上层区域为设备连接列表显示,可以查看当前环境存在的蓝牙设备;中层区域为设备连接控制与监测指标设置入口,进行设备的连接与断开;下层区域为信息通知栏,用于打印每一步操作的数据信息,提供文本复制功能;
[0105] 图12(b)为状态监测界面,所述状态监测界面由GPS模块状态显示与控制按钮组成;所述GPS模块状态显示提供直观的监测结果,以红色与绿色代表所述GPS模块的质量:绿色表示所述GPS模块正常,红色表示所述GPS模块异常;所述控制按钮对所述数据采集硬件模组进行模式控制。
[0106] 图12(c)为数据显示界面,每个所述GPS模块的数据显示界面详细显示了该GPS模块的对应信息,包括当前可视卫星数、经纬度、时间、定位状态、日期、HDOP、计时时长等;通过切换图12(c)中的“上一个模块”、“下一个模块”等按钮可查看不同的所述GPS模块的对应信息。
[0107] 可选的,所述上位机包括电脑端;所述电脑端以USB通信与所述FPGA进行交互。
[0108] 具体的,所述客户端采用多线程和缓存技术以优化数据处理与数据显示;
[0109] 可选的,所述客户端的主程序流程图如图13所示;所述客户端开始后初始化界面,然后进行数据解析操作,所述数据解析操作主要是切割数据和分析数据;接着进行数据文本化处理,且对GSP信息的有效性进行判断,若定位信息有效,将所述定位信息显示在电子地图上;若所述定位信息无效,等待下次数据解析。
[0110] 可见,所述客户端对数据进行显示,为检测人员提供了在线数据监测,保障了检测质量。
[0111] 具体的,所述客户端还具有保存模块;所述保存模块对所述数据显示模块的界面信息参数进行保存;
[0112] 具体的,如图14所示,所述保存模块采用调用Excel接口函数的方法,生成Excel文件,并将所述界面信息参数按照一定的排版格式填入所述Excel文件中;程序进入所述保存模块后,根据QExcel API函数调用Execl应用程序,所述Excel文件自定义支持保存地址和保存命名自定义化;然后进行布置文件格式操作;接着按照需求的文件格式将所述界面信息参数写入所述Excel文件中,之后进行关闭文件操作。
[0113] 综上所述,本实施例提供了一种多组GPS模块同步在线量化方法,基于FPGA对多组GPS模块的数据并行采集和同步处理,(1)提高了GPS模块的检测效率,可自定义检测阈值标准,一次保存多组GPS模块的性能量化参数,在线定量表征GPS模块性能;(2)可以进行数据追溯,为批量节点地震仪器的GPS模块选型装配、故障定位及维修提供数据支撑。
[0114] 实施例二
[0115] 本实施例还提供了一种多组GPS模块同步在线量化装置,该GPS模块配置于节点地震仪器,该装置包括数据采集硬件模组和数据量化监测软件模组;
[0116] 所述数据采集硬件模组,其基于FPGA对多组所述GPS模块的数据并行采集和同步处理;所述数据采集硬件模组包括:
[0117] 接收模块,其基于串口通信协议对所述多组GPS模块的数据并行采集,得到多道数据流;
[0118] 数据帧检测模块,其对所述多道数据流进行帧头检测,并根据设置的数据长度对所述多道数据流分别进行字段分割;
[0119] 控制模块,其基于功能指令进行多种任务操作;当所述功能指令为检验时,所述控制模块将字段分割后的所述多道数据流送入数据包暂存控制模块;当所述功能指令为自检时,启用自检模块,所述FPGA进行自检;
[0120] 所述数据包暂存控制模块,其对字段分割后的所述多道数据流进行同步控制;
[0121] 数据缓存模块,其对同步控制后的所述多道数据流进行复用缓存;在上位机发起读取命令后,所述数据缓存模块的读出控制逻辑对复用缓存后的所述多道数据流进行读取;
[0122] 数据包组包上传模块,其基于读取出的所述多道数据流组建数据包,并将所述数据包上传至所述上位机;
[0123] 所述数据量化监测软件模组,其基于所述上位机对接收到的所述数据包进行解析、自定义评估和显示,且将评估结果下传至所述FPGA。
[0124] 可选的,所述自检模块采用固定字段与可变字段结合的方式,按照规定的数据格式生成模拟数据流;所述模拟数据流经所述数据包组包上传模块数据重组后上传至所述上位机。
[0125] 对于本实施例所提供的一种多组GPS模块同步在线量化装置的介绍请参照实施例一,本实施例在此不再赘述。
[0126] 本实施例提供了一种多组GPS模块同步在线量化装置,具有和上述一种多组GPS模块同步在线量化方法相同的有益效果。
[0127] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0128] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0129] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0130] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0131] 显然,上述实施例仅仅是为清楚地说明所作的举例,并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。