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