基于GPS的时标系统实现方法探究
(5)当单片机获悉GPS接收器没有跟踪到卫星信号时,P1.0口置"0",与门1关闭,与门2打开,由25位计数器临时产生秒脉冲信号。 用MAX PLUSⅡ做仿真实验时,由于计算机资源不足,无法进行1秒钟的仿真实验,可以仿真1ms的情况。计数器计满4E20H个数(0000H-4E1FH),时间为1ms。图2和图3反映的是同一次仿真的两个不同片断。
图4
5 精确时间标签的实现方案
时钟系统能保证在任何情况下产生个稳定的、高精度的秒脉冲信号,从而为高速数据采集系统中的采集数据贴上精确的时间标签打下坚实基础。
时标系统原理图如图4所示。高速ADC、地址发生器、地址计数器、计时器在时钟源CLK(5MHz)的同步下以统一的步调工作。在ADuC812初始化时,将P3.5置"0",P3.4发出清零脉冲对地址发生器和地址计数器同时清零;当故障信号出现时,ADuC812将P3.5置"1",计时器和地址计数器同时停止计数;暂态信号记录完毕后,ADuC812分时读出计时器中的值并将该数值保存在双口RAM中,此值即为精度为0.2μs的时间信息;A-DuC812分时读出地址计数器中的值并将该数值保存在双口RAM中,此地址的精确时间即为计时器中的计数值。这样,就为高速数据采集系统中的采集数据贴上了精确的时间标签。
时标系统工作过程如下:
(1)ADuC812初始化时P3.5置"0",同时P3.4发出清零脉冲使地址发生器和地址计数器同步计数。ADuC812控制内部的A/D转换模块对经过调整的取自电流互感器二次侧的电流进行A/D转换。采用半波比较,在每个工频内采集36个点,分别用第n个点和第n+18个点、第n+1个点和第n+19个点比较,依此类推。如果大于事先设定的门槛值即认为故障已经发生,ADuC812将P3.5置"1",计时器和地址计数器同时停止计数,计时器中的数据即为地址计数器记录的对应于SRAM相同地址的采集数据的时间标签。由于高速ADC的转换频率固定(本次设计为5MHz),所以,可以此为基准为整个SRAM中的采集数据贴上时间标签。
(2)当P3.5置"0"即STOP端口为低电平时,计时器在5MHz的时钟源下以相同的频
率计数。由于它是一个24位的计数器,从而确保了计时器能够记录一个整秒,并为一个整秒刻上了 o.2ps(五而1丐面子:o.21xs) 的最小刻度。时钟系统输出的PPS信号(或SECOND信号)的上跳沿给计时器清零,从而为计时器提供精确的时间基准,以消除计时器的累计误差。
(3)当P3.5置"1"即STOP端口为高电平时,计时器停止计数,在此状态下时钟系统输出的PPS信号(或SECOND信号)的上跳沿不能对计时器清零。
(4)地址计数器的工作过程与计时器的工作过程类似,唯一的区别是地址计数器的清零信号(CLR)是在初始化时由ADuC812的P3.4口发出的。由于地址发生器和地址计数器共用同一个清零信号,从而确保地址发生器和地址计数器中的计数值完全相同。同理,当STOP端口为高电平时,地址计数器也停止计数,在此状态下ADuC812发出的清零信号不能改变地址计数器中的计数值。
图5
5)由于ADuC812是一种8位单片机,所以地址计数和计时器中的数据只能"分批"地送至双口RAM中保存。所以要设计锁存器、译码电路和总线隔离电路,避免总线冲突以及保证总线上的数据能正确无误地传递。在本次设计中;当ADuC812的特殊功能寄存器DPP高3位的值为"00H"时将计时器的高8位数据通过A-DuC812送至双口RAM中。依此类推,当特殊功能寄存器DPP高3位的值为"05H"时将地址计数器的低8位数据通过ADuC812送至双口RAM中保存。当特殊功能寄存器DPP为其它值时释放数据总线,便于ADuC812进行其它操作。其仿真结果如图5所示。
本文对GPS失步后的补救措施及给高速数据采集系统中的采集数据贴上精确时间标签的方法进行了详尽的叙述和仿真,得出如F结论:
(1)在高频恒温晶振的精度得到保证的前提下,时钟系统产生的秒脉冲信号能满足实际应用的要求。
(2)设高速ADC的转换频率为5MHz,时标系统能为存人SRAM中的转换数据贴上精度为0.2μs的时间标签。
(3)通过CPLD间接地实现了"低速"的单片机系统对高速数据采集系统的实时监视。