實時時鐘校準方法和系統的制作方法
【技術領域】
[0001] 本發明涉及計算機應用領域,特別是涉及一種實時時鐘校準方法和系統。
【背景技術】
[0002] 工業計算機的RTC(RealTimeClock,實時時鐘)供電采用CR2032鋰錳電池,受到 容量限制和不同環境下自放電的影響,這類RTC電池使用壽命較短。自放電率又稱荷電保 持能力,是指電池在開路狀態下,電池所儲存的電量在一定條件下的保持能力,主要受電池 制造工藝、材料、儲存條件等因素影響。
[0003] 常溫環境主板正常使用條件下RTC電池能維持3至5年,主板僅存儲而不接通電 源條件下RTC電池只能維持2至3年,如果在低溫及高濕等惡劣環境下,RTC電池的壽命將 會更短。RTC電池耗盡則將導致系統的時間、日期丟失,CMOS配置內容丟失并恢復為初始設 置,從而需要人工修改系統時間、日期和恢復CMOS設置等,操作效率低。
【發明內容】
[0004] 基于此,有必要針對傳統的RTC電池耗盡使得系統時間、日期和配置內容丟失需 人工修改導致操作效率低的問題,提供一種能提高操作效率的實時時鐘校準方法和系統。
[0005] -種實時時鐘校準方法,包括以下步驟:
[0006]啟動基本輸入輸出系統,進行初始化;
[0007] 檢測實時時鐘電池是否掉電,若是,則將日歷芯片的時間和日期覆蓋實時時鐘的 時間和日期,將日歷芯片中的備份數據覆蓋到PCH中,若否,獲取預設的時間同步方式;
[0008] 若所述時間同步方式為以所述日歷芯片的時間和日期為基準,則將所述日歷芯片 的時間和日期覆蓋所述實時時鐘的時間和日期;若所述時間同步方式以所述實時時鐘的時 間和日期為基準,則將所述實時時鐘的時間和日期覆蓋所述日歷芯片的時間和日期;
[0009] 判斷所述日歷芯片中的備份數據與PCH中的配置數據是否一致,若是,則結束,若 否,則獲取數據同步方式,若所述數據同步方式為以PCH中配置數據為基準,則將PCH中配 置數據重新備份至日歷芯片中,若所述數據同步方式為以日歷芯片中備份數據為基準,則 將日歷芯片中的備份數據還原至PCH中。
[0010] 在其中一個實施例中,所述方法還包括:
[0011] 檢測是否進入設置界面,若是,則接收在所述設置界面上對配置信息的修改,以及 接收保存修改后的配置信息的指令時,將修改后的配置信息更新到日歷芯片的備份數據 中。
[0012] 在其中一個實施例中,所述方法還包括:
[0013] 記錄異常事件。
[0014] 在其中一個實施例中,在所述啟動基本輸入輸出系統,進行初始化之后,所述方法 還包括:
[0015] 將日歷芯片與PCH采用通用輸入輸出模擬并行總線通信。
[0016] 在其中一個實施例中,在所述啟動基本輸入輸出系統,進行初始化之后,所述方法 還包括:
[0017] 將所述日歷芯片通過控制器轉換為I2C、COM或LPC總線通信方式與PCH進行通 ?目。
[0018] -種實時時鐘校準系統,包括:
[0019] 初始化模塊,用于啟動基本輸入輸出系統,進行初始化;
[0020] 檢測模塊,用于檢測實時時鐘電池是否掉電;
[0021] 拷貝模塊,用于當檢測實時時鐘電池電路掉電時,將日歷芯片的時間和日期覆蓋 實時時鐘的時間和日期,將日歷芯片中的備份數據覆蓋到PCH中,當檢測實時時鐘電池電 路未掉電時,若所述時間同步方式為以所述日歷芯片的時間和日期為基準,則將所述日歷 芯片的時間和日期覆蓋所述實時時鐘的時間和日期,以及若所述時間同步方式以所述實時 時鐘的時間和日期為基準,則將所述實時時鐘的時間和日期覆蓋所述日歷芯片的時間和日 期;
[0022] 判斷模塊,用于判斷所述日歷芯片中的備份數據與PCH中的配置數據是否一致;
[0023] 獲取模塊,用于當檢測實時時鐘電池電路未掉電時,獲取預設的時間同步方式,以 及在判斷出所述日歷芯片中的備份數據與PCH中的配置數據不一致時,獲取數據同步方 式;
[0024] 更新模塊,用于當判斷出所述日歷芯片中的備份數據與PCH中的配置數據不一致 時,若所述數據同步方式為以PCH中配置數據為基準,則將PCH中配置數據重新備份至日歷 芯片中,以及若所述數據同步方式為以日歷芯片中備份數據為基準,則將日歷芯片中的備 份數據還原至PCH中。
[0025] 在其中一個實施例中,所述系統還包括:
[0026] 監測模塊,用于檢測是否進入設置界面;
[0027] 接收模塊,用于接收在所述設置界面上對配置信息的修改,以及接收保存修改后 的配置信息的指令;
[0028] 備份模塊,用于將修改后的配置信息更新到日歷芯片的備份數據中。
[0029] 在其中一個實施例中,所述系統還包括:
[0030] 記錄模塊,用于記錄異常事件。
[0031] 在其中一個實施例中,所述初始化模塊還用于在啟動基本輸入輸出系統,進行初 始化之后,將日歷芯片與PCH采用通用輸入輸出模擬并行總線通信。
[0032] 在其中一個實施例中,所述初始化模塊還用于在啟動基本輸入輸出系統,進行初 始化之后,將日歷芯片通過控制器轉換為I2C、COM或LPC總線通信方式與PCH進行通信。
[0033] 上述實時時鐘校準方法和系統,檢測到實時時鐘電池掉電時,將日歷芯片的時間 和日期覆蓋到實時時鐘的時間和日期,作為最新時間,將日歷芯片中的備份數據覆蓋到PCH 中,提供了準確的時間和日期,以及配置數據不丟失,且不需人工手動修改時間、日期及配 置數據,操作效率高。
【附圖說明】
[0034] 圖1為一個實施例中實時時鐘校準方法的應用架構圖;
[0035] 圖2a為日歷芯片DS12C887與PCH采用GPI0模擬并行總線通信示意圖;
[0036] 圖2b為讀數據時序圖;
[0037] 圖2c為寫數據時序圖;
[0038] 圖3為日歷芯片通過控制器轉換為其他總線通信的示意圖;
[0039] 圖4為一個實施例中實時時鐘校準方法的流程圖;
[0040] 圖5為另一個實施例中實時時鐘校準方法較為詳細的流程圖;
[0041] 圖6為一個實施例中實時時鐘校準系統的結構框圖;
[0042] 圖7為另一個實施例中實時時鐘校準系統的結構框圖。
【具體實施方式】
[0043] 為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對 本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并 不用于限定本發明。
[0044] 圖1為一個實施例中實時時鐘校準方法的應用架構圖。如圖1所示,該應用架構 包括日歷芯片和PCH(PlatformControllerHub)。該應用架構基于X86平臺。
[0045]其中,日歷芯片可包括但不限于DS12885、DS12887、DS12887A、DS12C887、 DS12C887A、MC146818 等,DS12885、DS12887、DS12887A、DS12C887、DS12C887A屬于 Dallas(達拉斯半導體公司)生產的日歷芯片,MC146818屬于Motorola(摩托羅拉公司) 生產的日歷芯片。本實施例中,日歷芯片以DS12C887為例進行描述。DS12C887自身內置可 充電鋰電池,能在外部斷電情況下保持數據達10年。DS12C887集成時間、年、月、日、星期信 息及113Byte(字節)用戶數據RAM(RandomAccessMemory,隨機存取存儲器)區。
[0046]PCH是Intel或AMD的一系列芯片組。
[0047] 日歷芯片與PCH通信方式有兩種。一種是采用GPI0(GeneralPurposeInput Output,通用輸入輸出)模擬并行總線通信。
[0048] 圖2a為日歷芯片DS12C887與PCH采用GPI0模擬并行總線通信示意圖;圖2b為 讀數據時序圖;圖2c為寫數據時序圖。如圖2a、2b和2c所示,日歷芯片DS12C887與PCH 采用GPI0模擬并行總線通信,其中,AS引腳為地址選通輸入腳,在進行讀寫操作時,AS的上 升沿將AD0~AD7上出現的地址信息鎖存到DS12C887上,而下一個下降沿清除AD0~AD7 上的地址信息,不論是否有效,DS12C887都將執行該操作。AD0~AD7為復用地址數據總 線,該總線采用時分復用技術,在總線周期的前半部分,出現在AD0~AD7上的是地址信息, 用以選通DS12C887內的RAM,總線周期的后半部分出現在AD0~AD7上的是數據信息;Μ0Τ 引腳為模式選擇腳,DS12C887有兩種工作模式,即Motorola模式和Intel模式,當MOT接 VCC時,選用的工作模式為Motorola模式,當Μ0Τ接GND時,選用的是Intel模式。DS引腳 為數據選擇腳,當Μ0Τ接VCC時,選用Motorola工作模式,在這種工作模式中,每個總線周 期的后一部分的DS為高電平,被稱為數據選通,在讀操作中,DS的上升沿使DS12C887將內 部數據送往總線AD0~AD7,以供外部讀取,在寫操作中,DS的下降沿將總線AD0~AD7上 的數據鎖存在DS12C887中,當Μ0Τ接GND時,選用Intel工作模式,在該模式中,DS引腳是 讀允許輸入腳,即ReadEnable。^為片選輸入,低電平有效。為中斷請求輸入引腳, 低電平有效,該引腳有效對DS12C887內的時鐘、日歷和RAM中的內容沒有任何影響