- 相關(guān)推薦
高精度時(shí)鐘芯片SD2001E及其應(yīng)用
摘要:介紹一種內(nèi)置晶振、充電電池、串行NVRAM的高精度和免調(diào)校實(shí)時(shí)時(shí)鐘芯片SD2001E。由該芯片構(gòu)成的時(shí)鐘電路具有精度高、外圍電路和接口電路簡單的特點(diǎn)。文中詳細(xì)描述芯片的主要特性、引腳說明及其工作原理,給出在嵌入式系統(tǒng)中的應(yīng)用方法、硬件接口電路及應(yīng)用程序。關(guān)鍵詞:SD2001E 實(shí)時(shí)時(shí)鐘 單片機(jī)
實(shí)時(shí)時(shí)鐘電路在以單片機(jī)為核心構(gòu)成的智能儀器儀表、測控系統(tǒng)、工業(yè)控制等領(lǐng)域有著廣泛的應(yīng)用,但現(xiàn)有的時(shí)鐘電路存在著外圍電路(如需外接晶振、電池)和接口電路(并行接口)復(fù)雜、功能單一等缺點(diǎn)。SD2001E則是在內(nèi)部集成了實(shí)時(shí)時(shí)鐘電路、串行非易失性SRAM、可充電電池、晶振及電池管理電路的新型實(shí)時(shí)時(shí)鐘芯片。該芯片與單片機(jī)的接口電路采用工業(yè)標(biāo)準(zhǔn)I2C總線,從而簡化了接口電路設(shè)計(jì)。利用該芯片無需擴(kuò)展任何外圍元件,即可構(gòu)成一個(gè)高精度實(shí)時(shí)時(shí)鐘及具有256Kb非易失性SRAM的數(shù)據(jù)存儲電路。(范文先生網(wǎng)www.gymyzhishaji.com收集整理)
1 主要特性及引腳說明
SD2001E時(shí)鐘芯片的主要特性如下:
*年、月、日、星期、時(shí)、分、秒的BCD碼輸入/輸出;
*I2C總線接口(包括實(shí)時(shí)時(shí)鐘部分和SRAM部分);
*自動日歷到2099年(包括閏年自動換算功能);
*內(nèi)置晶振,出廠前已對時(shí)鐘進(jìn)行校準(zhǔn),保證精度為±4×10 -6,即時(shí)鐘年誤差小于2min;
*低功耗,典型值為1.0μA(VDD=3.5V);
*工作電壓為3.0~5.5V(其中NVRAM在4.5~5.5V工作);
*可設(shè)置的兩路鬧鐘輸出及32 768Hz~1Hz的方波信號輸出;
*可設(shè)置的每分鐘固定中斷輸出或選定頻率固定中斷輸出;
*內(nèi)置充電電路和充電電池,充滿一次可保持內(nèi)部時(shí)鐘走時(shí)時(shí)間超過1年以上,可滿充電次數(shù)達(dá)200次;
*內(nèi)置電源管理電路,當(dāng)VDD≥3.0V,內(nèi)部電池不耗電;
*內(nèi)置穩(wěn)定電路及電池掉電檢測電路;
*內(nèi)置256Kb的非易失性SRAM,其擦寫次數(shù)為100億次,且沒有內(nèi)部寫延時(shí)。
SD2001E采用24腳DIP封裝形式。各引腳的功能如表1所列,其外形及引腳排列如圖1所示。
表1 SD2001E引腳說明
16~18、5~9 NC 空引腳 19 INT1 報(bào)警中斷1輸出腳,根據(jù)中斷寄存器與狀態(tài)寄存器來設(shè)置其工作的模式,當(dāng)定時(shí)時(shí)間到達(dá)時(shí)輸出低電平或時(shí)鐘信號。它可通過重寫狀態(tài)寄存器來禁止 N溝道開路輸出(與VDD端之間無保護(hù)二極管) 20 SDAE SRAM串行數(shù)據(jù)輸入/輸出腳 開路輸出 21 SCLE SRAM串行數(shù)據(jù)時(shí)鐘腳 CMOS輸入 23 INT2 報(bào)警中斷2輸出腳,同INT1 24 VDD 正電源
2 工作原理
SD2001E內(nèi)部包括實(shí)時(shí)時(shí)鐘與NVRAM兩部分,內(nèi)部原理框圖如圖2所示。
2.1 實(shí)時(shí)時(shí)鐘
SD2001E實(shí)時(shí)時(shí)鐘是基于I2C總線的器件,故對該器件的操作必須嚴(yán)格遵守總線時(shí)序。當(dāng)CPU發(fā)出起始條件,建立與實(shí)時(shí)時(shí)鐘連接后,CPU通過SDA總線連續(xù)輸出4位器件地址、3位操作指令和1位讀/寫指令,其格式如下:
DB7 DB6 DB5 DB5 DB3 DB2 DB1 DB0 0 1 1 0 C2 C1 C0 R/W實(shí)時(shí)時(shí)鐘器件的地址固定為“0110”,接下來的3位操作指令構(gòu)成了對實(shí)時(shí)時(shí)鐘部分的8條操作指令,具體指令含義如表2所列。
表2 SD2001E實(shí)時(shí)時(shí)鐘指令表
CPU通過發(fā)送不同操作指令,選擇相應(yīng)的寄存器從而完成相應(yīng)的操作功能。SD2001E實(shí)時(shí)時(shí)鐘部分共包括4個(gè)寄存器,分別分別如下:
(1)實(shí)時(shí)數(shù)據(jù)寄存器
實(shí)時(shí)數(shù)據(jù)寄存器是一個(gè)56位的存儲器。它以BCD碼方式存儲,包括年、月、日、星期、時(shí)、分、秒的數(shù)據(jù),數(shù)據(jù)格式如圖3所示。任何讀/寫操作或?qū)崟r(shí)數(shù)據(jù)存取命令都通過發(fā)送或接收年數(shù)據(jù)的第一位“LBS”執(zhí)行的。
*年數(shù)據(jù)(00~99):設(shè)置最后兩位數(shù)字(00~99),通過自動日歷功能計(jì)至2099年。
*月數(shù)據(jù)(01~12):每月包含天數(shù)通過自動日歷功能來更改。1、3、5、7、8、10、12為1~31;4、6、9、11為1~30;2(閏年)為1~29;2(普通)為1~28。
*天數(shù)(01~31)。
*星期數(shù)據(jù)(00~06):七進(jìn)制計(jì)數(shù)器,對應(yīng)于星期內(nèi)每一天來設(shè)置。
*小時(shí)數(shù)據(jù)(00~23或00~11):12小時(shí)進(jìn)制,0為AM,1為PM;對于24小時(shí)進(jìn)制,這一位沒有意義,但必須設(shè)置為“0”或“1”。
*分?jǐn)?shù)據(jù)(00~59)。
*秒數(shù)據(jù)(00~59)與測試標(biāo)志。
*TEST:在測試模式變?yōu)椤?”。
(2)狀態(tài)寄存器
狀態(tài)寄存器是一個(gè)8位寄存器。該寄存器用來顯示和設(shè)置實(shí)時(shí)時(shí)鐘的工作模式,狀態(tài)寄存器格式如下。
Power:電源標(biāo)志位,為只讀位。
12/24:設(shè)置12小時(shí)制或24小時(shí)制:0為12小時(shí)制;1為24小時(shí)制。
INT1AE:設(shè)置從INT1腳輸出的報(bào)警中斷的狀態(tài)。設(shè)定報(bào)警時(shí)間并設(shè)此位為“1”時(shí)INT1寄存器開始有效,0:報(bào)警中斷輸出禁止;1:報(bào)警中斷輸出允許。
INT1ME:確定INT1腳的輸出為每分鐘邊沿中斷或每分鐘固定中斷。為了設(shè)為每分鐘固定中斷輸出,應(yīng)將INT1ME和INT1FE置1。0:報(bào)警中斷或可選的頻率的固定中斷輸出;1:每分鐘邊沿中斷或每分鐘固定中斷輸出。
INT1FE:設(shè)定INT1腳的輸出為每分鐘固定中斷(周期1分鐘,占空比50%)或選定頻率的固定中斷。如果選定頻率固定中斷輸出被允許時(shí),INT1寄存器被認(rèn)為是頻率/事件的數(shù)據(jù),0:報(bào)警中斷或每分鐘邊沿中斷輸出;1:每分鐘固定中斷輸出或選定頻率固定中斷輸出。
INT2AE、INT2ME、INT2FE位用于設(shè)置從INT2腳輸出的報(bào)警中斷的狀態(tài),各位含義同上。
(3)兩組報(bào)警時(shí)間/頻率事件設(shè)置寄存器
有兩組16位報(bào)警時(shí)間/頻率事件設(shè)置寄存器,用于設(shè)置報(bào)警時(shí)間或頻率事件,由INTxAE與INTxFE控制。設(shè)定的AM/PM標(biāo)志位必須同12小時(shí)制或24小時(shí)制相對應(yīng),否則,設(shè)定的小時(shí)數(shù)將與報(bào)警數(shù)據(jù)不匹配。該寄存器為只寫寄存器(x:1或2)。
INTxAE=1時(shí),INT1和INT2寄存器被認(rèn)為是報(bào)警時(shí)間數(shù)據(jù),與實(shí)時(shí)數(shù)據(jù)寄存器中小時(shí)和分鐘寄存器設(shè)置相同。它們用BCD碼代表小時(shí)與分鐘。INT1寄存器內(nèi)容如圖4(a)所示。
INTxFE=1時(shí),INT1與INT2寄存器被視為是頻率事件數(shù)據(jù)(f0~f15位對應(yīng)頻率為32 768~1Hz),對相應(yīng)位置“1”,則對應(yīng)頻率以“與”的方式輸出。INT1寄存器內(nèi)容如圖4(b)所示。
2.2 非易失數(shù)據(jù)寄存器
SD2001E內(nèi)部還具有256Kb的非易失性數(shù)據(jù)寄存器。該存儲器是一種性能優(yōu)良的可擦寫100億次且無內(nèi)部寫延時(shí)的數(shù)據(jù)存儲器,可用于保存系統(tǒng)設(shè)置參數(shù)及采集的數(shù)據(jù)。
NVRAM的操作方式如下:首先,CPU發(fā)出開始信號給SD2001E,然后CPU發(fā)出包括4位控制代碼,1位讀/寫指令的8位數(shù)據(jù),即“從器件地址”,前4位稱為“SRAM器件代碼”,固定為“1010”。接下來的3位在這里固定為“000”,從器件地址的最低位為讀寫控制位,該位為“1”表示對從器件進(jìn)行讀操作,為“0”表示對從器件進(jìn)行寫操作,接下來就可對SD2001E進(jìn)行讀寫操作。寫操作可分為單字節(jié)寫操作和連續(xù)寫操作。讀操作有三種操作方式:立即地址讀操作、同地址讀操作、連續(xù)讀操作。其操作過程和操作時(shí)序與I2C總線SRAM的讀寫操作相同,這里不再詳述。
3 SD2001E在嵌入式系統(tǒng)中的應(yīng)用
SD2001E可廣泛應(yīng)用于智能儀器儀表系統(tǒng)、水/電/氣表等IC卡應(yīng)用系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、工業(yè)控制系統(tǒng)、測控系統(tǒng)、門禁系統(tǒng)、家用電器等嵌入式應(yīng)用領(lǐng)域。利用SD2001E可為系統(tǒng)提供以下功能。
(1)實(shí)時(shí)時(shí)鐘日歷
SD2001E可為系統(tǒng)提供高精度的時(shí)鐘及日歷功能,以滿足具有定時(shí)數(shù)據(jù)采集、輸出控制、數(shù)據(jù)保存及定時(shí)報(bào)警等功能的嵌入式系統(tǒng)需要,同時(shí)也可為系統(tǒng)提供時(shí)間及日期顯示功能。
(2)數(shù)據(jù)保存
嵌入式系統(tǒng)一般均需要涉及到系統(tǒng)設(shè)置參數(shù)及采集數(shù)據(jù)保存的問題。通常的做法是,通過擴(kuò)展1片E2PROM芯片來保存設(shè)置參數(shù)及采集的數(shù)據(jù),但E2PROM存在擦寫壽命有限及數(shù)據(jù)存儲的可靠性不高等問題;而利用SD2001E片內(nèi)32KB、擦寫數(shù)為100億次的高性能NVRAM,則幾乎不用考慮存儲器的擦寫壽命及數(shù)據(jù)存儲的可靠性問題。因而,SD2001E為需頻繁讀寫數(shù)據(jù)的應(yīng)用領(lǐng)域提供了很好的解決方案。
(3)頻率輸出
對于需要固定頻率輸出或需要以ms或s為單位的定時(shí)應(yīng)用領(lǐng)域,可以通過設(shè)置頻率事件數(shù)據(jù)給INT1寄存器,并置INT1ME位為“0”和INT1FE位為“1”。此時(shí),從INT1引腳將輸出頻率為32 768Hz~1Hz的固定頻率,利用單片機(jī)的計(jì)數(shù)器或中斷次數(shù)軟件計(jì)數(shù)的方法可得到以ms或s為單位的任意時(shí)間輸出。
(4)定時(shí)輸出
當(dāng)系統(tǒng)需要以分鐘為基本單位的定時(shí)輸出時(shí)(如采集周期固定的多路數(shù)據(jù)采集、巡回檢測系統(tǒng)等),可將SD2001E狀態(tài)寄存器的INT1ME位置為“1”,INT1FE位置為“0”,以選擇為每分鐘邊沿中斷輸出或?qū)NT1ME、INT1FE位同時(shí)置“1”選擇為每分鐘固定中斷輸出。通過單片機(jī)的計(jì)數(shù)器或中斷次數(shù)軟件計(jì)數(shù)的方法,可得到以min為單位的任意時(shí)間輸出。
(5)定時(shí)報(bào)警
對于具有定時(shí)報(bào)警輸出要求的系統(tǒng),可通過SD2001E的INT1寄存器來設(shè)置報(bào)警時(shí)間(小時(shí)和分鐘數(shù)據(jù)),并將狀態(tài)寄存器中的INT1AE位置為“1”、INT1ME位及INT1FE位置為“0”來實(shí)現(xiàn)。需要指出的是SD2001E定時(shí)報(bào)警中斷為每天一或二次。對于需要用到長時(shí)間定時(shí)的報(bào)警系統(tǒng),如每月或每年一次的報(bào)警系統(tǒng),可通過軟件編程的方法設(shè)定報(bào)警中斷的時(shí)間。
圖5 SD2001E與單片機(jī)硬件連接
4 具體應(yīng)用與軟件編程
下面以AT89C52單片機(jī)為例,給出SD2001E與單片機(jī)的典型接口電路。由于AT89C52單片機(jī)沒有I2C總線接口,故這里使用AT89C52的P3.3、P3.4口線,來模擬I2C總線,其中SDA與P3.4相連,SCL與P3.3相連。SD2001E內(nèi)部SRAM的I2C總線接口SDAE與SDA并聯(lián),SCLE與SCL并聯(lián)。此外,為了實(shí)現(xiàn)定時(shí)報(bào)警中斷輸出的功能,還將SD2001E INT1端與單片機(jī)的INT0外中斷端相連,具體的硬件連接電路如圖5所示。網(wǎng)絡(luò)補(bǔ)充版(http://www.gymyzhishaji.com收集整理)給出與上述硬件電路對應(yīng)的子程序,包括SD2001E初始化子程序,實(shí)時(shí)時(shí)鐘數(shù)據(jù)讀、寫子程序與INT1中斷輸出子程序。程序采用模擬I2C總線軟件包編制。
由于SD2001E高精度時(shí)鐘日歷芯片將可充電池、晶振充電電路及256Kb的NVRAM集成在了一起,又采用了簡單的I2C總線接口,因而該器件無需擴(kuò)展任何外圍元件就可構(gòu)成一個(gè)功能完善的時(shí)鐘日歷電路,同時(shí)又可為系統(tǒng)提供一個(gè)容量為32KB的高性能非易失性數(shù)據(jù)存儲單元,故該器件是嵌入式系統(tǒng)時(shí)鐘電路的良好選擇。
【高精度時(shí)鐘芯片SDE及其應(yīng)用】相關(guān)文章:
高精度的實(shí)時(shí)時(shí)間芯片X1288的原理及應(yīng)用08-06
高精度鋰電池監(jiān)測芯片DS2762的原理及應(yīng)用08-06