适用于节点地震仪的时钟产生装置及方法与流程

文档序号:17301941发布日期:2019-04-03 05:07阅读:268来源:国知局
适用于节点地震仪的时钟产生装置及方法与流程

本发明涉及地球物理勘探技术领域,特别涉及一种适用于节点地震仪的时钟产生装置及方法。



背景技术:

地震仪是地球物理勘探领域中最常用的仪器,但是传统的地震仪几乎都是通过长电缆来连接各个采集单元,这些铜线电缆十分笨重并且其体积庞大,野外施工时即耗时又费力,很不方便。

在这种情形下,无缆地震仪成了较好的替代品,这种无缆地震仪也称为节点地震仪,每个采集单元是一个独立的节点,在设备更加轻便的同时也带来了大范围内多个节点同步采集的困难。并且这种地震仪需要长时间持续采集,这就要求时钟信号具有长时间高精度的特性,否则会造成各个站采集到的数据不同步。

时钟信号是由晶振产生,晶振频率的稳定性主要受温度影响,因此恒温晶振(ovencontrolledcrystaloscillator,ocxo)可以在较长时间内保持高精度,但是恒温晶振功耗(500-1000毫瓦)相对于仅100到200毫瓦的采集系统来说太过巨大,会极大减少野外使用时电池的续航时间,且其价格昂贵,不利于批量生产。

在一些文献中提及采用全球定位系统(globalpositioningsystem,gps)信号校准短时高精度晶振方法,此方法原理是利用gps信号长时间无累积误差来计数高精度晶振脉冲个数,然后通过现场可编程门阵列(field-programmablegatearray,fpga)实时改变分频系数来动态调节输出频率,从而实现补偿晶振长时间的频率漂移以及初始频偏。但是这种方法对于节点地震仪并不合适,因为fpga芯片不是节点地震仪中所必需的,为了实现时钟修正系统而需额外增加fpga系统,不利于集成度的提升以及功耗的控制。



技术实现要素:

本发明的目的在于提供一种适用于节点地震仪的时钟产生装置及方法,以降低地震仪器的功耗。

为实现以上目的,本发明采用一种适用于节点地震仪的时钟产生装置,包括:晶振、gps模块以及单片机;

gps模块输出接口与单片机的通用输入输出接口连接,单片机的电压输出引脚与晶振的电压控制引脚连接,晶振的时钟信号输出引脚接入单片机输入接口,晶振的时钟信号输出引脚同步输出校正后的时钟信号至采集单元。

优选地,所述单片机集成有数模转换器,所述单片机的一输出引脚配置成数模转换器的输出引脚,该数模转换器的输出引脚与所述晶振的电压控制引脚连接。

优选地,所述单片机集成有用于计数所述相邻秒脉冲信号之间的时间间隔的计数器。

优选地,所述计数器包括第一计数器和第二计数器,第一计数器和第二计数器级联。

优选地,所述单片机的通用输入输出接口为中断引脚。

优选地,所述采集单元为模数转换器,该模数转换器的输出引脚经串行外设接口与所述单片机的spi接口连接。

优选地,所述单片机的安全数据输入输出接口连接有数据存储卡。

优选地,所述晶振为压控温补晶振。

另一方面,提供一种适用于节点地震仪的时钟产生方法,,其用于对节点式地震仪每个采集单元输入的时钟信号进行校正,包括:

将晶振连续n秒内待校正的晶振的时钟频率信号的平均值作为平均计数值;

对平均计数值与设定的标准计数值进行处理,计算晶振的实时频偏;

基于设定的频偏调节幅度,利用实时频偏调节晶振的输入电压,以对晶振的输出的时钟信号进行校正。

优选地,还包括:

定时利用当前时刻前n秒内待校正的晶振的时钟频率信号的平均值对所述平均计数值进行更新。

与现有技术相比,本发明存在以下技术效果:本发明利用晶振短时间内时钟信号达高精度,在长时间内存在累计偏差;gps模块的秒脉冲短时间稳定性不高但长时间不存在累积误差。从而利用gps秒脉冲来测量晶振的实际频率,计算其与标称频率的偏差,再利用偏差按正比例调节晶振的控制电压来微调晶振的时钟信号的输出频率。

本发明提出的方案相较于传统的节点式地震仪采用增加fpga来动态调整晶振的分频系数来调谐其频率的方法,其可以将整个仪器的功耗降低至一半以下。相较于不进行晶振频率校正的节点式地震仪,可以大幅提高老化指标,使其进行长时间的采集时可显著降低同步误差,从而提高数据采集精度以及后续数据处理剖面反演的精度。

附图说明

下面结合附图,对本发明的具体实施方式进行详细描述:

图1是一种适用于节点地震仪的时钟产生装置的结构示意图;

图2是一种适用于节点地震仪的时钟产生装置的原理图;

图3是一种适用于节点地震仪的时钟产生方法的流程示意图。

具体实施方式

为了更进一步说明本发明的特征,请参阅以下有关本发明的详细说明与附图。所附图仅供参考与说明之用,并非用来对本发明的保护范围加以限制。

如图1所示,本实施例公开了一种适用于节点地震仪的时钟产生装置,包括:晶振10、gps模块20以及单片机30;gps模块20输出接口与单片机30的通用输入输出接口连接,单片机30的电压输出引脚与晶振10的电压控制引脚连接,晶振10的时钟信号输出引脚接入单片机30输入接口,晶振10的时钟信号输出引脚同步输出校正后的时钟信号至采集单元。

其中:由于多个无线节点间需要同步,并且节点之间距离可能很远,系统通过加入gps模块20实现各个节点设备之间的同步,gps模块20的秒脉冲虽然短时间稳定性不高,但是其长时间不存在累计误差;同时设备也需在短时间内能保持较高精度时钟,系统通过加入晶振10实现短时间内的高精度,晶振在短时间内具有高精度,但长时间存在累计误差。

本实施例中,gps模块20在上电一段时间内产生秒脉冲(pulsepersecond,pps),就是每秒脉冲数;在gps中,gps秒脉冲信号pps一秒钟一个。单片机30内的计数器31以待校正的晶振10作为时钟源,在一段时间内利用gps秒脉冲来测量晶振10的实际频率。利用实际频率与晶振10频率的标准频率,得到晶振10当前实时频偏值,进而利用实时频偏值调谐晶振10,对晶振10输出的时钟信号进行校正,校正后的时钟信号输出至地震仪的采集单元。

需要说明的是,gps秒脉冲信号的作用是用来指示整秒的时刻,该时刻通常是用pps秒脉冲的上升沿来标示。gps能给出世界协调时间(coordinateduniversaltime,utc),用户收到时会有延时,为了精确授时,引入pps信号上升沿来标示utc的整秒时刻,精度很高可以到纳秒级,并且没有累积误差。因此,本实施例中将单片机30的通用输入输出接口(gpio)配置成中断引脚,每次pps上升沿到来时,会进入中断处理,并在此过程中记录下当前计数器31的数值并且复位重新启动计数器31(timer),该计数器31以待校正的晶振10作为时钟源来计数相邻秒脉冲之间的间隔,在连续记录一段时间后,以该段时间内的计数的平均值作为该段时间的时钟信号频率。

优选地,若单片机30上集成的计数器31是16位的,而1秒内时钟的计数显然超过了65536,故本实施例中在单片机30上集成的计数器31包括第一计数器和第二计数器,第一计数器和第二计数器级联。其中:配置第一计数器使用待校正的外部时钟作为时钟源,并且配置其工作模式为向上计数,当其计数达到65536之后会产生一个溢出事件,同时计数值会自动复位为0。将此内部事件作为第二计数器的时钟,这样可以实现一个32位的计数器,满足计数要求。

优选地,所述单片机30集成有数模转换器32(dac),所述单片机30的一输出引脚配置成数模转换器32的输出引脚,该数模转换器32的输出引脚与所述晶振10的电压控制引脚连接。本实施例中单片机30将修正的电压值转换成12位的dac寄存器数值并写入,以输出至晶振10的电压控制引脚。

需要说明的是,该时钟产生装置的工作原理为:

计数器以待校正的晶振10作为时钟源来计数相邻秒脉冲之间的间隔,连续记录n秒之后(比如60秒),取这n秒计数的平均值作为这一段时间的频率。将此平均计数值与其标准计数值进行比较。例如晶振10频率是19.2mhz,则其1秒间隔内的标准计数值是19200000,则当前实时频偏(单位为百万分之一,ppm)为计数值减去19200000再除以19.2。之后根据这个频偏来调谐晶振10。假设本实施例使用的晶振10为压控温补晶振10vctcxo,型号是lftvxo076344,则其频偏调节幅度是+7ppm/v,这表明在其电压控制引脚上从1.5v标准输入之上每增加1v电压其频率将会上升7ppm(百万分之七)。此时需要加在电压控制引脚上的电压是1.5v减去实时频偏除以7,例如某时刻实时频偏是-0.7ppm,则控制电压应该是1.6v。

具体地,单片机30型号可选用stm32f415rgt6,其内部已经集成了dac模块,所以此控制电压也由mcu来产生,不增加额外成本以及功耗。由于dac模块的参考电压是+3.3v,并且dac模块是12位的,所以dac的输出电压为dac数据寄存器的数值除以4096再乘以3.3v,也就是说输出电压在0到3.3v之间,可以满足vctcxo要求的0.5v到2.5v调节范围。

优选地,所述晶振10的时钟信号输出引脚连接的采集单元为模数转换器40(adc),该模数转换器40的输出引脚经串行外设接口与所述单片机30的spi接口连接,单片机30的安全数据输入输出接口连接有数据存储卡50。其中:单片机30信号通过串行外设接口spi读取adc的数据并在累积一定量数据之后通过安全数据输入输出接口sdio写入数据存储卡sd卡;单片机30通过调整dac的输出电压来微调晶振10的实时频率,晶振10的时钟信号输出引脚输出校正后的时钟信号至模数转换器40(adc)。

如图2所示,本实施例中:gps模块20型号是rxm-gps-fm,一方面将其pps输出连接到mcu的pc12管脚作为中断线使用,正常工作时每秒都会产生一次中断;另一方面通过uart(通用异步收发器)接口连接到mcu的uart3,mcu从中解析出当前utc时间等信息从而实现多个地震仪的同步。mcu的型号是stm32f415rgt6,其内部已经集成了dac模块,将其pa4管脚配置成dac输出引脚连接到vctcxo的电压控制引脚上。主采集芯片adc使用的是ads1282,其通过3线spi连接到mcu的spi1接口上,另外其数据就绪信号drdy连接到mcu的pb1管脚作为中断线使用,adc每次数据变换好就会产生一次中断通知mcu取数据。mcu还需要通过sdio接口连接到微型sd卡用来存储地震仪的采集数据。

需要说明的是,本实施例通过采用gps模块20、晶振、单片机30等几个主芯片来实现节点式地震仪长期采集需求,去除了常规做法中利用fpga芯片实现改变分频系数来补偿晶振漂移,将整个仪器的功耗降低至一半一下。同时与不进行晶振频率校正的节点式地震仪相比,可大幅提高老化指标,在长时间的采集过程中,可显著地降低同步误差,提高数据采集精度以及后续数据处理剖面反演的精度。以本系统晶振采用vctcxo为例,利用本方法可将其老化指标由每天正负20ppb(十亿分之一)降低到0.2ppb。

如图3所示,本实施例公开一种适用于节点地震仪的时钟产生方法,包括如下步骤s1至s3:

s1、将晶振连续n秒内待校正的晶振的时钟频率信号的平均值作为平均计数值;

比如:连续记录60秒的真实计数,取其平均值作为这段时间内的时钟源的真实平均频率。

s2、对平均计数值与设定的标准计数值进行处理,计算晶振的实时频偏;

需要说明的是,标准计数值为晶振本身的频率参数,例如晶振频率是19.2mhz,则其1秒间隔内的标准计数值是19200000,则当前实时频偏(单位为百万分之一,ppm)为计数值减去19200000再除以19.2。

s3、基于设定的频偏调节幅度,利用实时频偏调节晶振的输入电压,以对晶振的输出的时钟信号进行校正。

需要说明的是,频偏调节幅度根据晶振的型号设定,比如vctcxo型号是lftvxo076344,其频偏调节幅度是+7ppm/v,这表明在其电压控制引脚上从1.5v标准输入之上每增加1v电压其频率将会上升7ppm(百万分之七),所以此时需要加在电压控制引脚上的电压是1.5v减去实时频偏除以7,例如某时刻实时频偏是-0.7ppm,则控制电压应该是1.6v。

结合上述实施例中的适用于节点地震仪的时钟产生装置对本方法进行具体说明:

(1)使用stm32平台的快速建立工程工具cubemx图形化的生成代码基本框架,这包括选择实际连接的外设种类,指定输入时钟频率,配置mcu内部时钟树,配置相应用到的gpio管脚功能。

(2)工程建立好后,首先在初始化过程中配置好计数器。具体实现如下:由于stm32内部的计数器都是16位的,而1秒内时钟的计数显然超过了65536,所以需要采用两个计数器级联来实现。配置计数器1使用待校正的外部时钟作为时钟源,并且配置其工作模式为向上计数,当其计数达到65536之后会产生一个溢出事件,同时计数值会自动复位为0。将此内部事件作为计数器2的时钟,这样可以实现一个32位的计数器。重写gpio的中断处理函数中回调函数hal_gpio_exti_callback

(3)判断中断源是不是pc12,如果不是则进入其他处理;

(4)如果中断源是pc12,则分别读取计数器1和计数器2的当前数值寄存器,将计数器2的16位数值作为高16位,计数器1的16位数值作为低16位,拼接成1个32位数据。此数据就是1秒内时钟源的真实计数。读完之后复位这两个寄存器,再次重新开始往上计数;

(5)连续记录60秒的真实计数,取其平均值作为这段时间内的时钟源的真实平均频率。然后计算此平均频率与标称频率的差值比例(单位为ppm),再根据vctcxo的电压调节系数计算出需要修正的电压值;

(6)将修正的电压值转换成12位的dac寄存器数值并写入,然后输出至晶振的电压控制引脚。

优选地,还包括:

定时利用当前时刻前n秒内待校正的晶振的时钟频率信号的平均值对所述平均计数值进行更新。

需要说明的是,再往后每一秒更新一次平均频率,每次进入秒脉冲中断处理函数之后都更新实时频率与标称频率的差值。比如使用最近n秒的平均计数,将此平均计数值与其标准计数值进行比较再往后并更新待修正的电压值。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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