基于计数器的晶振守时方法技术

技术编号:22164975 阅读:43 留言:0更新日期:2019-09-21 09:46
本发明专利技术涉及一种基于计数器的晶振守时方法及控制电路,利用MCU微控制单元的高精度计数器对温补晶振输入的方波脉冲进行计数;以卫星信号接收机输入的秒脉冲信号作为频率基准对晶振的输出频率进行测量;频率偏差以脉冲计数器的计数值减去晶振的额定频率得到的整数值表示;将初始得到的频率偏差输入卡尔曼滤波器将环境的随机误差滤除后再输入到动态加权平均学习算法中建立温度和频率偏差值的动态模型。本发明专利技术基于计数器的晶振守时方法,针对低精度的温补晶振可以显著的校准晶振的频率输出提高守时精度;对恒温晶振的驯服有显著效果;简化了硬件晶振驯服电路,缩小了硬件体积节约了硬件实现成本。

Time-keeping method of crystal oscillator based on counter

【技术实现步骤摘要】
基于计数器的晶振守时方法
本专利技术属于信号处理
,具体的说,是涉及一种基于计数器的晶振守时方法。
技术介绍
温补晶振(TCXO)和恒温晶振(OCXO)是很常用的时钟源,虽然TCXO和OCXO的精度不同,但是TCXO和OCXO输出频率和相位都会随着时间和温度的变化而产生漂移。如果将晶振应用在授时和守时设备中,则必须对晶振采取必要的措施进行驯服校准。传统的晶振驯服方法是以GPS接收机或者其他高精度频率源作为频率基准,利用锁相环电路或者数字锁相环对晶振进行驯服和校准。这种方法需要庞杂的电路支持,如果使用数字锁相环的话还需要价格高昂的FPGA。另外,采取锁相环电路还需要晶振有相应的电路支持,对于小型的温补晶振没有压控引脚,则不能采取锁相环的方法进行驯服。当前的晶振守时技术都是高精度的守时技术,要求晶振带有压控功能,再利用FPGA搭建的数字锁相环以卫星信号为基准对晶振进行驯服。当卫星信号消失后,晶振可以输出稳定的频率和很低的相位噪声。对于以上传统的晶振守时技术有以下不足:(1)带压控的晶振为了实现压控功能内部电路较为复杂,所以体积普遍都比较大,如果再配合外部的锁相环电路产品的硬件电路复杂而且体积也很大。只适合一些高精度的守时设备应用,对于要求产品体积小的设备则无法使用。(2)带压控功能的晶振普遍售价都很昂贵,再加上外围的锁相环电路的实现,成本将会进一步的提高。(3)对于没有压控功能的晶振没有一种技术方法对晶振实现高精度守时的功能。本专利技术填补了这一技术空白。(4)对于一些可以接收卫星信号的时间显示类产品,对于传统带压控的晶振守时技术实现成本太高。而且,该类产品对相位噪声要求不高,同时该类产品的体积普遍都比较小,大晶振不能满足要求。
技术实现思路
针对上述现有技术中的不足,本专利技术提供一种简化了驯服电路,降低系统实现成本的基于计数器的晶振守时方法。本专利技术所采取的技术方案是:一种基于计数器的晶振守时方法,利用MCU(MicrocontrollerUnit)微控制单元的高精度计数器对温补晶振输入的方波脉冲进行计数;以卫星信号接收机输入的秒脉冲信号作为频率基准对晶振的输出频率进行测量;频率偏差以脉冲计数器的计数值减去晶振的额定频率得到的整数值表示;将初始得到的频率偏差输入卡尔曼滤波器将环境的随机误差滤除后再输入到动态加权平均学习算法中建立温度和频率偏差值的动态模型。动态模型会随着测量数据量的增长逐渐完善,当系统失去卫星信号源时,系统会根据之前建立的动态模型调节晶振输出的频率并对外输出秒脉冲信号。一种基于计数器的晶振守时方法,包括如下步骤:步骤1,开始;步骤2,串口报文读取;步骤3,温度采集;步骤4,判断是否有信号输入,有信号输入执行步骤5;一直没有信号输入执行步骤12;从有信号输入进入无信号输入,执行步骤10步骤5,采集晶振偏差;步骤6,卡尔曼滤波;步骤7,学习算法对晶振偏差值处理;步骤8,保存处理结果;步骤9,调节晶振;执行步骤12;步骤10,获取对应温度下晶振偏差调节值;步骤11,调节晶振;步骤12,输出1PPS信号;步骤13,串口输出时间报文;步骤14,结束一次处理。一种基于计数器的晶振守时方法,包括如下步骤:系统复位(看门狗);串口数据的读写;晶振偏移值的测量以及测量数据的处理;对外1PPS的输出以及守时状态下调节值的获取;对晶振进行补偿操作;温度传感器数据的读取以及将必要参数保存到存储器中。所述系统复位是检测系统是否出现死机,如果死机则重启系统。所述串口数据读写步骤如下:线程每1毫秒循环执行一次,当串口有报文时读取并解析串口报文;如果报文显示有卫星报文输入时卫星信号标志位将被置位否则清除卫星信号标志位;之后再判断时间输出标志位是否置位,如果是则通过串口输出系统时间报文。到此结束一次循环。时间输出标志位会在晶振1PPS信号到达时被置位。所述晶振偏移值的测量以及测量数据的处理步骤如下:线程每次卫星1PPS上升沿到达时执行一次;实现晶振频率偏差测量、对晶振频率偏差测量值进行卡尔曼滤波和将测量数据交给局部加权线性拟合算法处理;当有卫星1PPS到达时,晶振偏移测量以及测量数处理线程执行;首先判断卫星标志位是否置位,如果是则依次执行晶振偏差值计算、卡尔曼滤波、局部加权线性拟合算法对测量数据的处理以及置位调节标志位和存储标志位,实现晶振偏差值的调节和必要调节参数的存储。所述对外1PPS的输出以及守时状态下调节值的获取步骤如下:线程每次晶振1PPS上升沿到达时会执行一次;当晶振1PPS上升沿到达时该线程会判断当前系统是否是守时状态,如果是该线程会获取当前温度下晶振偏差的调节值并置位调节标志位让晶振调节线程对晶振进行调节;同时,在晶振1PPS到达时会更新系统时间并置位时间输出标志位使串口读写线程输出系统时间报文。所述对晶振进行补偿操作步骤如下:线程会循环检测调节标志位,如果调节标志位置位则找合适的时机对晶振输出的1PPS的相位进行调节,并清除调节标志位;所述温度传感器数据的读取以及将必要参数保存到存储器中,线程主要实现温度传感器数据的读取以及将局部加权线性拟合算法的参数和部分系统参数保存到存储器中,实现断电后参数存储功能。该线程循环执行,每两百毫秒执行一次。这六个线程独立运行,通过标志位实现线程之间的同步以及配合完成不同的任务。一种基于计数器的晶振守时方法的控制电路,包括:晶振和具备32位高精度定时计数器并支持外部信号源输入的MCU(MicrocontrollerUnit)微控制单元及电源电路和外围电路。MCU(MicrocontrollerUnit)微控制单元为芯片U7,型号为STM32F412RET6。外围电路包括晶振输出Y1、信号驱动芯片U6、温度传感器U4。晶振输出电路为晶振Y1,型号为T53-F319-16.384MHz,晶振Y1通过5脚输出16.384MHz频率信号,经过信号驱动芯片U6增强16.384MHz频率信号;由芯片U6的3脚输出到MCU芯片U7的14脚,具有32位计数定时器功能的引脚。晶振Y1(T53-F319-16.384MHz)的4脚连接GND;晶振Y1(T53-F319-16.384MHz)的8脚连接供电VCC3.3TC;晶振Y1(T53-F319-16.384MHz)的8脚连接电容C8的1脚;晶振Y1(T53-F319-16.384MHz)的8脚连接电容C9的1脚;晶振Y1(T53-F319-16.384MHz)的5脚连接电阻R13的1脚;电阻R13的2脚连接芯片U6(74LVC1T45)的4脚;电容C8的2脚连接GND;电容C9的2脚连接GND;芯片U6(74LVC1T45)的1脚、6脚连接供电VCC3.3;芯片U6(74LVC1T45)的2脚、5脚连接GND;测温电路;芯片U4(DS18B20)的1脚连接GND;芯片U4(DS18B20)的2脚连接电阻R11的1脚;芯片U4(DS18B20)的2脚连接U7(STM32F412RET6)的2脚;芯片U4(DS18B20)的3脚连接供电VCC3.3;芯片U4(DS18B20)的3脚连接电阻R11的2脚。本专利技术相对现有技术的有益效果:本专利技术基于计数器的晶振守时方法,提出了一种全新的晶振驯服技术,主要针对低精度的温补晶振可以显著的校准晶振的频本文档来自技高网
...

【技术保护点】
1.一种基于计数器的晶振守时方法,其特征在于,利用MCU微控制单元的高精度计数器对温补晶振输入的方波脉冲进行计数;以卫星信号接收机输入的秒脉冲信号作为频率基准对晶振的输出频率进行测量;频率偏差以脉冲计数器的计数值减去晶振的额定频率得到的整数值表示;将初始得到的频率偏差输入卡尔曼滤波器将环境的随机误差滤除后再输入到动态加权平均学习算法中建立温度和频率偏差值的动态模型。动态模型会随着测量数据量的增长逐渐完善,当系统失去卫星信号源时,系统会根据之前建立的动态模型调节晶振输出的频率并对外输出秒脉冲信号。

【技术特征摘要】
1.一种基于计数器的晶振守时方法,其特征在于,利用MCU微控制单元的高精度计数器对温补晶振输入的方波脉冲进行计数;以卫星信号接收机输入的秒脉冲信号作为频率基准对晶振的输出频率进行测量;频率偏差以脉冲计数器的计数值减去晶振的额定频率得到的整数值表示;将初始得到的频率偏差输入卡尔曼滤波器将环境的随机误差滤除后再输入到动态加权平均学习算法中建立温度和频率偏差值的动态模型。动态模型会随着测量数据量的增长逐渐完善,当系统失去卫星信号源时,系统会根据之前建立的动态模型调节晶振输出的频率并对外输出秒脉冲信号。2.一种基于计数器的晶振守时方法,其特征在于,包括如下步骤:步骤1,开始;步骤2,串口报文读取;步骤3,温度采集;步骤4,判断是否有信号输入,有信号输入执行步骤5;一直没有信号输入执行步骤12;从有信号输入进入无信号输入,执行步骤10步骤5,采集晶振偏差;步骤6,卡尔曼滤波;步骤7,学习算法对晶振偏差值处理;步骤8,保存处理结果;步骤9,调节晶振;执行步骤12;步骤10,获取对应温度下晶振偏差调节值;步骤11,调节晶振;步骤12,输出1PPS信号;步骤13,串口输出时间报文;步骤14,结束一次处理。3.一种基于计数器的晶振守时方法,其特征在于,包括如下步骤:系统复位;串口数据的读写;晶振偏移值的测量以及测量数据的处理;对外1PPS的输出以及守时状态下调节值的获取;对晶振进行补偿操作;温度传感器数据的读取以及将必要参数保存到存储器中。4.根据权利要求1所述基于计数器的晶振守时方法,其特征在于:所述系统复位是检测系统是否出现死机,如果死机则重启系统。5.根据权利要求1所述基于计数器的晶振守时方法,其特征在于:所述串口数据读写步骤如下:线程每1毫秒循环执行一次,当串口有报文时读取并解析串口报文;如果报文显示有卫星报文输入时卫星信号标志位将被置位否则清除卫星信号标志位;之后再判断时间输出标志位是否置位,如果是则通过串口输出系统时间报文。到此结束一次循环。6.根据权利要求1所述基于计数器的晶振守时方法,其特征在于:所述晶振偏移值的测量以及测量数据的处理步骤如下:线程每次卫星1PPS上升沿到达时执行一次;实现晶振频率偏差测量、对晶振频率偏差测量值进行卡尔曼滤波和将测量数据交给局部加权线性拟合算法处理;当有卫星1PPS到达时,晶振偏移测量以及测量数处理线程执行;首先判断卫星标志位是否置位,如果是则依次执行晶振偏差值计算、卡尔曼滤波、局部加权线性拟合算法对测量数据的处理以及置位调节标志位和存储标志位,实现晶振偏差值的调节和必要调节参数的存储。7.根据权利要求1所述基于计数器的晶振守时方法,其特征在于:所述对外...

【专利技术属性】
技术研发人员:刘忠华许强
申请(专利权)人:北斗天汇北京科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1