BCD格式實時時鐘的狀態機邏輯
引言
本文引用地址:http://www.ex-cimer.com/article/142451.htm開發實時時鐘(RTC)軟件時,需要首先理解時鐘核心邏輯的定義。我們通常對時鐘和日歷的工作原理有一個基本的認識,本文則深入分析了芯片在裝載了不正確或不合法的內容時可能產生的后果。
Maxim的多數BCD碼RTC(例如DS12885和DS1302)內部都帶有基本的實時時鐘計數器鏈,如圖1所示?! ?/p>
每個計數器寄存器具有確定的最小值和最大值,大多數寄存器在初始上電時預設為相應的最小值。作為計時功能,如果秒計數達到其最大值時,在下一個時鐘到來時,進位至分鐘寄存器,秒計數則返回最小值。同樣,分鐘進位至小時,小時進位至日期、星期寄存器,日期進位至月寄存器,月進位至年寄存器;必要時,隨著年計數值的遞增,將進位至世紀寄存器。表1列出了相應寄存器及其對應的有效值?! ?/p>
有些計數器可能包括“百分之一秒”寄存器(秒的前一位)和世紀標識位。
寄存器說明
對于每個寄存器,常規邏輯是從最小值到最大值遞增的BCD計數,然后返回至最小值,并向下一級寄存器進位。例如,30天月份的日期寄存器BCD計數為:01h...09h、10h...19h、20h...29h、30h,然后返回01h。
Maxim實時時鐘不檢查用戶在工作期間裝載的數值,當裝載錯誤的數據后,結果取決于具體器件及實際使用的寄存器。不合邏輯的時間和日期可能造成不確定的操作。
塵埃粒子計數器相關文章:塵埃粒子計數器原理
評論