本應用筆記詳細介紹了使用達拉斯半導體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 秒的精度。
審核編輯:郭婷
-
存儲器
+關注
關注
38文章
7528瀏覽量
164220 -
微處理器
+關注
關注
11文章
2274瀏覽量
82694 -
無線電
+關注
關注
60文章
2148瀏覽量
116736
發布評論請先 登錄
相關推薦
評論