新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 嵌入式應(yīng)用的智能型實時時鐘功能

嵌入式應(yīng)用的智能型實時時鐘功能

——
作者: 時間:2007-01-26 來源:《世界電子元器件》 收藏
許多電子系統(tǒng)都會提供實時時鐘給不同功能使用,例如系統(tǒng)的日歷時間、時間戳記和定時工作的啟動,定期喚醒系統(tǒng)執(zhí)行測量作業(yè)。實時時鐘已出現(xiàn)多年,但它們從未針對嵌入式應(yīng)用進行優(yōu)化。市面上許多解決方案已將實時時鐘和完整的“獨立”功能整合至微控制器,將微控制器整合的許多好處付諸實現(xiàn)。本文將討論傳統(tǒng)實時時鐘與微控制器的結(jié)合如何發(fā)揮一加一大于二的效果。
日期時間功能

圖1是smartclock模塊的功能方框圖。此電路可以執(zhí)行實時時鐘的所有傳統(tǒng)功能以及某些“故障安全”(failsafe) 功能,例如電源故障和時鐘源故障的復(fù)原。

本文引用地址:http://butianyuan.cn/article/21073.htm

smartclock的基本時鐘單元是一個47位的自由定時器 (free-running counter),它能使用32.768khz的石英晶體或是在20khz或40khz頻率下操作的內(nèi)部自激振蕩器模式 (自激振蕩器較省電,但精確度較差)。如果使用外接石英晶體,自由定時器第二個字節(jié)的最低有效位每秒就能準確計時。日歷時間是由軟件根據(jù)自由定時器來決定的,因此不需要另一組寄存器以傳統(tǒng)格式記錄日期時間。采用軟件的好處之一是使用者更有能力控制系統(tǒng)操作,因為他們可以根據(jù)系統(tǒng)需求使用復(fù)雜或簡單的算法,例如利用芯片內(nèi)置的溫度傳感器把通常相當復(fù)雜的溫度補償功能加入算法中。除此之外,若系統(tǒng)不必經(jīng)常喚醒,那么操作這項控制功能所造成的額外負擔(dān)就顯得微不足道。

smartclock模塊中有三個接口寄存器可用來控制內(nèi)部寄存器,這將系統(tǒng)所需的特殊功能寄存器減至最少,同時提供一個抽象層以避免定時器內(nèi)容被誤改。使用者還可以設(shè)定鬧鈴寄存器 (alarm register),以便在47位自由定時器等于某個默認值時啟動硬件中斷來執(zhí)行特定工作。這類功能通常又稱為“輸出比較”。

微控制器還能提供一種稱為“暫停”模式的低耗電模式。在這種模式下,smartclock模塊產(chǎn)生的鬧鈴中斷可以在一個系統(tǒng)時鐘周期內(nèi)將系統(tǒng)喚醒 (不需要重新設(shè)定器件)。


溫度補償

具備溫度補償?shù)氖⒄袷幤骱蛯崟r時鐘芯片通常比沒有溫度補償功能的元器件貴很多,但由于石英振蕩器的頻率常會隨著周圍溫度、電壓和使用時間而改變,所以系統(tǒng)需要某種形式的溫度補償才能在很大的溫度范圍內(nèi)提供精確的時間和日期數(shù)據(jù)。

幸而c8051f410微控制器已如圖2所示內(nèi)建精確度 3%的溫度傳感器,使得時間日期算法能夠利用芯片內(nèi)建溫度傳感器傳來的信息進行溫度補償。這種做法的好處是系統(tǒng)可以使用不含溫度補償功能的低成本石英振蕩器。

為了進行溫度補償算法,系統(tǒng)必須用芯片內(nèi)置溫度傳感器每分鐘測量周圍溫度一次。多數(shù)操作環(huán)境的溫度在這么短時間里通常不會改變太多,因此系統(tǒng)會利用溫度測量值來計算誤差值 (以ppm表示) 并將結(jié)果 (所需補償?shù)奈⒚霐?shù)) 儲存至內(nèi)存。系統(tǒng)會將每分鐘傳來的誤差計算結(jié)果累加在一起,等到一天結(jié)束后就由算法補償當天的時間誤差。

smartclock還會提供圖2所示的許多其他功能,例如電源、電池切換電路、時鐘源、備用ram內(nèi)存和實時時鐘方塊本身。然而這套模塊的真正優(yōu)點仍在于它把這些功能整合至一顆芯片,免除了使用多顆不同元器件所造成的芯片間數(shù)據(jù)互傳負擔(dān)。


電源故障處理

芯片內(nèi)置穩(wěn)壓器能連接至2.0~5.25v的任何電壓。處理器實際使用2.5v電源,但它會與芯片的i/o系統(tǒng)電源分開,這樣微控制器就能在不需要任何中間界面的情形下用于2.0~5.25v的各種系統(tǒng)。vio接腳可連接至系統(tǒng)電壓供應(yīng),讓i/o和系統(tǒng)的其他裝置使用相同的電壓操作。除了主電源供應(yīng)外,vbat輸入還能連接至電壓最低1.0v的電池,由它做為smartclock的備用電源。

整合式smartclock的第一個優(yōu)點是系統(tǒng)電源供應(yīng)若降至vbat電壓以下,芯片內(nèi)含的電池切換電路就會從smartclock自動切換至備用電池。這表示實時時鐘能在電源故障時繼續(xù)操作,smartclock模塊內(nèi)的專屬備用ram內(nèi)存也能繼續(xù)保持它們的數(shù)據(jù)。系統(tǒng)只要利用簡單軟件將系統(tǒng)狀態(tài)定時儲存至這個備用ram內(nèi)存,就能在主電源供應(yīng)恢復(fù)正常后讓系統(tǒng)回到已知狀態(tài),系統(tǒng)測量所得的重要數(shù)據(jù)也不會遺失。微控制器重置時,系統(tǒng)會執(zhí)行一個例程來檢查重置資源寄存器 (reset sources register) 以便判斷系統(tǒng)電源是否曾經(jīng)中斷,重置例程接著會讀取備用ram內(nèi)存的內(nèi)容并將處理器和工作寄存器的重要內(nèi)容復(fù)原。舉例來說,這顆元器件若用于電表,它很容易就能追蹤停電的日期時間和長短,同時精確保存停電前的用電信息。等到主電源恢復(fù)后,電池切換電路會將微控制器切換回主電源,然后將電池備用電源切斷以確保備用電池擁有最長的壽命。


時鐘故障處理

對于使用獨立元器件的傳統(tǒng)系統(tǒng)而言,時鐘故障的危害性可能還超過電源故障。c8051f410通常會將芯片內(nèi)建振蕩器產(chǎn)生的24.5mhz信號倍頻成為49mhz的系統(tǒng)頻率,同時確保它在整個操作電壓和溫度范圍內(nèi)都能達到2%的精確度。它也能使用外接石英晶體,但這種做法并無必要,因為芯片內(nèi)建振蕩器的精確度已足以讓內(nèi)部功能和序列通訊操作達到規(guī)格要求。smartclock可透過xtal3和xtal4管腳連接低成本的32.768khz石英晶體,無論smartclock電源來自系統(tǒng)主電源或備用電池,石英晶體都會透過smartclock模塊從這些管腳汲取電源。


在傳統(tǒng)系統(tǒng)中,如果32.768khz石英晶體出現(xiàn)問題,系統(tǒng)就會隨著實時時鐘源消失而遭受無法復(fù)原的故障。整合式smartclock提供獨立的時鐘消失偵測電路,石英晶體故障會讓元器件執(zhí)行重置動作,同時設(shè)定重置資源寄存器里的某個標志來顯示石英晶體故障。等到微控制器完成重置動作后,系統(tǒng)即可從仍由備用電池供電的備用ram內(nèi)存里取出最后一次儲存的系統(tǒng)狀態(tài)信息。

32.768khz石英晶體還能切換成主系統(tǒng)頻率,使得微控制器能在低頻率下操作。這能用于需要定時進入睡眠狀態(tài)、但仍須在低速和低耗電模式下繼續(xù)工作的系統(tǒng)。

把常用功能整合至微控制器還能帶來其他明顯好處,例如電表、銷售點終端裝置和數(shù)據(jù)記錄器等許多系統(tǒng)都會用到定時喚醒、服務(wù)提醒和時間戳記等功能。增加“故障安全”功能也有很大好處,它能在電源或時鐘故障時將系統(tǒng)復(fù)原,同時保存“最后一次已知”的系統(tǒng)狀態(tài)信息。

smartclock增加了許多有用功能,因為它能在1個系統(tǒng)時鐘周期內(nèi)從暫停操作模式迅速回到最高系統(tǒng)頻率的全速操作模式,同時提供3項重要的故障安全功能:確保時鐘功能在電源故障時繼續(xù)運作、確保系統(tǒng)在時鐘故障時繼續(xù)運作、以及將系統(tǒng)還原為最后已知狀態(tài)以便讓它們從故障中復(fù)原。



關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉