DS1994存储器/时间按钮

描述

本应用笔记详细介绍了使用达拉斯半导体DS1994存储器/时间i按钮进行精确时间测量的技术。通过使用带有补充非易失性SRAM的实时时钟(RTC)来存储校准常数,可以显著提高计时精度。每当计时器复位时,改进的校准常数都可以存储在非易失性SRAM中,以便连续复位自适应地提高精度。当读取计时器时,这些常数与未校正的时基一起提供给微处理器程序,该程序计算并显示更准确的读数。通过这种方式,可以将温度、初始校准、石英老化和冲击历史误差的实际影响降至最低。

使用达拉斯半导体DS1994存储器/时间i按钮进行精确时间测量的技术

一、历史背景

对时间测量精度的第一个要求源于需要根据天体测量确定海上经度。由于地球自转,4 秒的时间测量误差会产生 1 弧分的经度误差,或者在纬度接近 1 度时约为 30 英里。为了确定一艘船在一英里内的位置,必须有一个好的六分仪和一个计时器,即使在海上航行很多天后,也能在 4 秒内给出正确的时间。

第一个提供所需精度的导航天文台表是精密机械设备。这些仪器没有直接提供准确的时间读数。取而代之的是,天文台表在陆地上经过仔细表征,以确定它的快慢程度以及误差如何取决于温度和其他环境因素。每个天文台表都配有自己独特的一组特征数据,这些数据可以在海上使用,根据仪器提供的未校正时间计算出正确的时间。

现代、廉价的石英数字腕表现在优于最好的早期航海天文台表。通过仔细的表征和校正计算,可以从现代石英时计中获得高度的精度。出于实际原因,对早期计时至关重要的校正计算很少使用现代时计进行。因此,手表、PC 时钟或其他石英时计在未经校正的读数中每天可能会增加或损失一秒或更长时间。正确执行的纠正计算可以大大减少此错误。微处理器和微控制器现在可以相对轻松地执行此计算,从而使微处理器控制的计时设备能够大幅提高精度。

二、计时误差的来源

石英水晶控制时计的误差来源如下:

A. 温度依赖性

石英振荡器的振荡频率取决于温度。典型的32.768kHz腕表晶体的频率与温度呈二次关系,最大频率出现在“室温”(25°C)附近。

B. 校准误差

石英振荡器的振荡频率在一定程度上取决于构成振荡电路的电路元件的值。校准误差是指在出厂时调整(调整)电路元件的误差,导致上述II.A中描述的最大频率大于或小于预期值。

C. 随时间而放松

制造过程会在石英晶体中引起机械应力,从而影响其振荡频率。这些应力在晶体的使用寿命期间自发松弛,导致频率缓慢、长期的变化。

D. 冲击历史

严重的机械冲击会突然松弛石英晶体中的现有应力或引起新的应力。这导致晶体频率的阶跃函数变化,随后随时间推移新应力模式的松弛。

由弛豫随时间和冲击历史引起的振荡频率变化是不可预测的,因此不受自动校正的影响。但是,在频率发生变化后执行的重新校准可以消除这些影响,直到它们再次发生。因此,对实际计时精度的两个最重要的影响是振荡频率的温度依赖性和工厂校准误差。

温度影响的重要性可能因环境而异。连续佩戴的腕表暴露在几乎恒定的温度环境中。在这种情况下,观察到的误差几乎完全是由于校准误差造成的。即使手表在晚上放在梳妆台上,它仍然会经历每天平均温度的环境,从一天到第二天几乎是恒定的。另一方面,暴露于日常和季节性极端室外温度的计时员预计将表现出更大的温度影响。

原则上,校准误差可以任意小。然而,在制造环境中,由于多种原因,非常精确地校准是不切实际的。手表具有用于调整振荡器的机械调整,振荡器具有间隙和蠕变,限制了它们的设置精度。一个更重要的因素是,非常精确的校准需要很长时间才能执行,因为计时员需要时间来累积可测量的误差。因此,在室内使用的手表和水晶控制计时器几乎完全受到校准不精确性的限制。

三、计时误差的纠正

如上所述,室内水晶控制计时器精度的主要限制是其工厂校准的精度。与早期的航海天文台表一样,该设备能够非常准确地测量时间,但不能直接显示准确的时间。为了达到所需的精度,有必要确定校正系数,然后执行校正计算以确定校正时间。此更正采用以下形式:

校正时间 = 未校正时间 + (未校正时间 - A) / B 在上式中,值 A 和 B
是通过表征获得的校正系数。要设置计时器并确定 A 和 B 的值,需要执行以下步骤:

在初始时间T1,将计时器与高度精确的时间标准同步。为此,美国国家标准与技术研究院 (NIST) 提供无线电服务(5 MHz、10 MHz 和 15 MHz 的 WWV)和 9600 bps 调制解调器线路 (303-494-4774)。将系数 A 设置为等于时间 T1。

等待很长时间,以允许未更正时间内的错误累积。延迟几天到一周可以获得良好的结果,但延迟时间越长越好。在较长的延迟时间内,计时员应暴露在以后使用的平均温度环境中。

稍后,在高精度时间标准提供的时间T2中,从计时器读取未校正的时间T,并求解系数B的以下方程。

B = (T - T1) / (T2 - T)

现在系数 A 和 B 已经确定,通过使用从表征中获得的 A 和 B 的值应用校正方程,可以从任何未校正的时间测量中计算校正时间。请注意,B 的值可能是正数或负数,具体取决于计时器分别运行得慢还是快。还应该注意的是,B的值可以看作是一个大整数(有符号整数)。

上述更正虽然原则上简单,但由于实际的时间单位(年、月、日、小时、分钟、秒)以复杂的方式相关而变得复杂。例如,要确定 T - T1,必须找到 T1 表示的日期和时间与 T 表示的日期和时间之间的总秒数。为了便于校正计算,非常希望计时员以单个标准单位(例如秒)测量时间。其中一个标准是UNIX操作系统的标准,其中时间保留为自1年1970月<>日开始以来经过的总秒数。使用此标准,使用长整数算术可以轻松执行校正计算。

四、记忆/时间i按钮

达拉斯半导体公司生产的DS1994存储器/定时i按钮是一款小型、密封、内部供电的计时单元,具有512字节的非易失性RAM存储器和众多专用计时功能。DS1994之间的数据传输通过单根串行数据线完成,采用达拉斯半导体1-Wire®协议进行数据通信。DS1994具有多种特性,特别适合上述校正计算类型:

DS1994在5字节寄存器中累积日期/时间信息,为自某个任意参考日期以来的256秒数。(为了与 UNIX 操作系统兼容,建议使用 1 年 1970 月 <> 日的参考日期。此日期/时间格式非常适合执行上述校正计算,并且还可以轻松确定星期几。应用更正后,可以轻松将更正的日期和时间转换为更标准的形式(MM/DD/YYYY,HH:MM:SS)。

校正系数A和B可以存储在DS1994的非易失性RAM存储器中。这种模块化设计提供了制造优势,因为DS1994可以表征并加载其A和B系数,然后用作组装最终计时产品的组件。没有必要将整个产品占用相对较长的时间,以对DS1994进行准确的表征。这种模块化也便于维修或更换。

DS1994的振荡频率在出厂时是固定的。固定频率电路提供优于机械修整组件的长期稳定性,因为它在微调调整中没有机械松弛效应。

由于采用1-Wire接口,DS1994很容易与产品其余部分保持一定距离。当产品本身产生可能影响计时器精度的热量时,这一点非常重要。(对于要求极高精度的应用,即计时器本身保存在恒温烘箱中,DS1的封装和1994-Wire接口简化了产品设计。

五、计算校正时间的程序

达拉斯半导体公司为DS5000(英特尔8051兼容微控制器)开发了一个演示程序,该程序从表征的DS1994计算校正时间,并在LCD显示屏上显示结果。使用该程序和正确表征的DS1994,其非易失性存储器中存储了A和B系数,在两个月的时间里,在室内观察到了1个月内1994秒的精度。此外,还开发了用于表征DS1994以及计算和存储校正系数的PC程序。PC程序使用DS9097 COM端口适配器和DS9092 i按钮探头与DS232通信。适配器和探头连接到PC的任何RS1994C串行端口,只需用探头触摸DS<>即可读取和写入数据。此演示集中的程序如下所述。

A. 设定时间

这是一个PC程序,执行第III.1节中描述的校准步骤。T1 是从 PC 的 DOS 时钟获得的。由于PC的计时精度通常较差,因此首先必须将PC时钟与NIST标准同步,以便将其用作辅助时间标准。(此同步可以使用 9600 或更快的 bps 电话调制解调器和 MS DOS 实用程序 TIMESET 执行,可从生命科学软件(邮政信箱 587,斯坦伍德,华盛顿 98292,电话 360-387-9788)获得。一个类似的程序,WTIME,作为微软Windows的免费实用程序,从PC杂志,27年1992月1994日。要设置DS1994时间和第一个校正系数A,请在DOS提示
符下键入
SETTIME <时区偏移>,然后用探头触摸DS9097。是 DS1 适配器所连接的 COM 端口号。<时区偏移量>是所需的偏移小时数,如果 PC 设置为夏令时,则输入为 -1994。程序设置DS<>中的时间寄存器和A系数,响应“日期和时间成功设置”并终止。

B. 卡尔时间

这是一个PC程序,执行第III.3节中描述的校准步骤。在使用CalTime程序之前,应允许DS1994在典型使用环境中放置数天或数周。T2 是从 PC 的 DOS 时钟获得的。同样,首先有必要将PC时钟与NIST标准同步,以便将其用作辅助标准。要计算和设置第二个校正系数B,请在DOS提示符
下键入
CALTIME <时区偏移量>然后用探头触摸DS1994。程序设置DS1994中的B系数,响应“日期和时间成功校准”并终止。

C. 液晶显示器

这是DS5000微控制器的程序,从DS1994读取时间和校正系数,计算校正,并在连接的LCD显示屏上显示校正的时间、日期、星期和日光/标准时间指示器。(为了避免夏令时的问题,程序从DS1994读取标准时间,并在夏令时生效时自动将其转换为夏令时。该程序是用KSC Pascal编写的,日立LCD控制器按照KSC推荐的方式连接到DS5000,基址从6000十六进制更改为0000十六进制。该程序可以使用KSC软件系统公司的SYSTEM51(Ver 3.10)软件开发系统进行编译,Ludvig Holsteins Alle 137,DK-2750 Ballerup,丹麦,电话(国际45)44 97 69 11,传真(国际45)44 97 96 12。

D. 读取时间

这是一个PC程序,它使用串行端口适配器读取DS1994,并显示校正和未校正的时间值、校准常数和测量误差。要读取DS1994并显示这些结果,请在DOS提示下键入
READTIME <时区偏移>
,然后用探头触摸DS1994。程序显示未校正的日期和时间、校正的日期和时间、校正时间和未校正时间之间的秒差、校正系数 A 和 B 的值、当前 DOS 时间以及校正时间与当前 DOS 时间之间的秒差。

注意,在上述所有程序中,A和B的值都存储在DS1994“时钟页”中未使用的实时报警和间隔时间报警寄存器中。这样做是为了使512字节的非易失性RAM存储器可以保留用于其他可能的用途。A和B的值可以在将来的任何时间分别使用SetTime和CalTime程序独立重置。

六、校准过程的测试

为了研究校准过程的有效性,将一组50个DS1994分为五组,每组10个部件。所有部件的第一个校准点是在 11 年 50 月 14 日中部标准时间上午 1992:<> 设置的。五组中的每一组,分别指定为A,B,C,D和E,在不同的时间段后重新校准。使用CalTime为各个组设置第二个校准点,如下所示:

11年50月16日上午1992:9,A组。B组,北京时间30年22月1992日上午3:40。C组,29年1992月9日下午10:3。D组,美国中部时间1992年7月35日上午13:1992。E组,<>年<>月<>日上午<>:<>,美国中部时间。

当零件未被读取或校准时,它们仍留在空调办公环境中的办公桌抽屉中。15 年 1992 月 11 日上午 50:<>(CST),使用 ReadTime 读取所有部件,并以秒为单位列出校正时间中的错误,如下表所示:

 

部分# A组 B组 C组 D组 E组
1 0.62 0.63 0.56 -0.29 0.05*
2 2.38 1.31 0.48 -0.09* 0.13*
3 3.03 0.74 0.20* -0.30 0.21
4 2.41 0.50 0.13* -0.07* -0.02*
5 2.79 0.81 0.79 0.01* -0.08*
6 1.02 0.43 0.21* 0.02* 0.08*
7 2.20 0.95 0.16* 0.04* 0.23
8 1.20 0.67 0.48 0.09* 0.04*
9 1.12 0.29* 0.07* 0.22* 0.19
10 1.79 1.3 0.76 0.07* -0.32
意味 着 1.856 0.770 0.384 -0.030 0.051
Std.Dev。 0.827 0.355 0.265 0.164 0.165
天 加州 2.00 7.90 15.16 19.89 29.82
空闲天数 61.00 55.10 47.84 43.11 33.18

 

上表中的校准天数表示第一个校准点和第二个校准点之间的天数,空闲天数表示第二个校准点之后的天数,直到 15 月 <> 日进行最终读数。

请注意,标有星号的校正时间表示每年小于 2 秒的误差。校准时间较短的部件显示出较大的误差和较大的标准偏差,表明终点校准不准确性和短期温度波动的影响。(相比之下,50 DS1994的未校正时间显示平均误差为526秒/年,标准差为210秒/年。

最后一次测量是在14年1993月11日上午50:550进行的,比初始设置晚了一年。未校正时间的平均误差为6.207秒,标准差为8.17秒,与上述两个月测量结果一致。以百万分之一 (ppm) 为单位,这是 5.6 ppm ± 6.<> ppm。<>组校正时间的平均误差如下:

 

A组: 26.83秒±6.81秒 (0.85 页/分钟± 0.22 页/分钟)
B组: 22.91秒±6.94秒 (0.73 页/分钟± 0.22 页/分钟)
C组: 18.30秒±3.83秒 (0.58 页/分钟± 0.12 页/分钟)
D组: 15.48秒±2.81秒 (0.49 页/分钟± 0.09 页/分钟)
E组: 15.94秒±3.70秒 (0.51 页/分钟± 0.12 页/分钟)

 

虽然不如两个月期间的测量准确,但这些精度仍然令人印象深刻。校正读数中的偏差都在同一方向上,表明零件存储环境的温度可能存在季节性变化。正如预期的那样,校准周期最短的组(A组)的误差最大。D组和E组校正读数的平均误差比未校正读数的平均误差小35倍。

七、小结

通过使用带有补充非易失性SRAM的实时时钟来存储校准常数,可以显著提高计时精度。每当计时器复位时,改进的校准常数都可以存储在非易失性SRAM中,以便连续复位自适应地提高精度。当读取计时器时,这些常数与未校正的时基一起提供给微处理器程序,该程序计算并显示更准确的读数。如果计时员通过从指定的参考时间计算秒数来保持时间,那么简单的程序代码可以快速计算出更准确的补偿时间。通过这种方式,可以将温度、初始校准、石英老化和冲击历史误差的实际影响降至最低。实验数据表明,在两个月内可以实现每年± 2 秒的精度,在一整年中大约可以实现 16 秒的精度。

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分