新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 實(shí)時(shí)時(shí)鐘ISL1208原理與應(yīng)用

實(shí)時(shí)時(shí)鐘ISL1208原理與應(yīng)用

作者: 時(shí)間:2012-02-03 來(lái)源:網(wǎng)絡(luò) 收藏

1.引言

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

INTERSIL公司推出的ISL1208是一種I2C、低成本、低功耗實(shí)時(shí)時(shí)鐘,它帶有定時(shí)與晶體補(bǔ)償、時(shí)鐘/日歷、電源失效指示器、周期或輪詢報(bào)警、智能后備電池切換和后備電池供電的SRAM等功能。振蕩器采用外部低成本32.768KHz晶振,日歷可精確到2099 年,閏年自動(dòng)修正。其強(qiáng)大的報(bào)警功能,可被設(shè)置成任意時(shí)間點(diǎn)報(bào)警或固定頻率輸出。若采用3.0V/3.6V鋰電池供電,供電電流僅為400nA,最多可持續(xù)供電長(zhǎng)達(dá)10年。另外,后備電源輸入引腳Vbat還允許斷電時(shí)使用大容量后備電容供電以保證正常工作幾個(gè)月左右。

2. ISL1208簡(jiǎn)介

ISL1208引腳如圖1所示:

1.jpg

其中:引腳X1、X2接外部晶振輸入端,可直接以32. 768kHz的晶體源驅(qū)動(dòng);Vbat接后備電源/電容,該引腳不用時(shí)接地;SDA為串行數(shù)據(jù)輸入輸出端;SCL為串行時(shí)鐘輸入端;IRQ/Fout為中斷 /頻率輸出端,可用作中斷/頻率輸出;Vdd和GND為電源和接地端。

3. ISL1208內(nèi)部結(jié)構(gòu)及其工作原理

ISL1208內(nèi)部結(jié)構(gòu)框圖如圖2。由圖可知,ISL1208主要包括:I2C控制單元、實(shí)時(shí)時(shí)鐘控制邏輯、時(shí)鐘分頻器、電源管理單元和寄存器單元。其中寄存器單元被分成四段:實(shí)時(shí)時(shí)鐘、控制與狀態(tài)、報(bào)警寄存器和用戶SRAM;這四段寄存器各自含有不同的功能:實(shí)時(shí)時(shí)鐘和報(bào)警寄存器用于寫(xiě)入/讀出時(shí)間值和報(bào)警值,其寫(xiě)入形式為BCD碼;控制與狀態(tài)寄存器可完成對(duì)其他寄存器讀寫(xiě)控制、報(bào)警與頻率輸出控制、模擬與數(shù)字微調(diào)控制等功能,其存儲(chǔ)映射圖如表1。

2.jpg

3.jpg

控制與狀態(tài)寄存器(Control and Status)

控制與狀態(tài)寄存器包括狀態(tài)寄存器、中斷與報(bào)警寄存器、模擬微調(diào)與數(shù)字微調(diào)寄存器。

狀態(tài)寄存器(SR):用來(lái)控制RTC失效、電池模式、報(bào)警觸發(fā)、時(shí)鐘計(jì)數(shù)器寫(xiě)保護(hù)、晶體振蕩器使能以及狀態(tài)位的自動(dòng)復(fù)位或者提供相應(yīng)的狀態(tài)信息。在時(shí)鐘上電時(shí),需將寫(xiě)RTC使能位WRTC置“1”,以便啟動(dòng)時(shí)鐘計(jì)數(shù)。

中斷控制寄存器(INT):主要用于控制時(shí)鐘的周期性和單事件報(bào)警。其中頻率輸出控制位FO3-FO0使能/禁止頻率輸出功能,并選擇IRQ/FOUT引腳的輸出頻率(2-5Hz-215Hz)。在頻率模式被激活時(shí)它將覆蓋IRQ/FOUT引腳上的報(bào)警模式。報(bào)警使能位ALME使能/禁止報(bào)警功能,中斷/報(bào)警模式位IM使能單周期定時(shí)事件(IM=0)/周期定時(shí)事件(IM=1)。

模擬微調(diào)寄存器(ATR):ATR0至ATR5為六位模擬微調(diào)位,可調(diào)整片內(nèi)負(fù)載電容(CX1、CX2)的值,這一電容值用于RTC的頻率補(bǔ)償,其每一位都有不同的電容調(diào)節(jié)比重。有效的片內(nèi)串聯(lián)負(fù)載電容CLOAD 的范圍從4.5pF至20.25pF,中間值為12.5pF(默認(rèn))。CLOAD可通過(guò)X1/X2引腳之間兩個(gè)數(shù)字控制電容器CX1和CX2調(diào)節(jié)。

數(shù)字微調(diào)寄存器(DTR):數(shù)字微調(diào)位DTR0、DTR1和DTR2用來(lái)調(diào)整每秒鐘的平均計(jì)數(shù)值和平均誤差以獲取更好的精度。其中DTR2為符號(hào)位(DTR2=0頻率補(bǔ)償>0,DTR2=1頻率補(bǔ)償0),DTR1和DTR0為刻度位:DTR1提供40ppm 調(diào)整,DTR0提供20ppm調(diào)整。用以上三位可以表示-60ppm至+60ppm的補(bǔ)償范圍。

4. 應(yīng)用舉例

4.1 硬件結(jié)構(gòu)

ISL1208具有I2C,使其便于與各類處理器連接且硬件結(jié)構(gòu)十分簡(jiǎn)單,傳輸速率最高可達(dá)400Hz。硬件結(jié)構(gòu)如圖 3。其中時(shí)鐘輸入口SCL、數(shù)據(jù)輸入輸出口SDA分別與AT89C51的P1.6、P1.7腿相連,中斷輸出口IRQ/Fout接外部中斷INT0。 AT89C51通過(guò)RS232口與計(jì)算機(jī)相連,通過(guò)計(jì)算機(jī)對(duì)實(shí)時(shí)時(shí)鐘產(chǎn)生控制。Vbat引腳接后備電容器。

4.jpg

4.2 軟件

由于ISL1208為I2C接口,因此其接口協(xié)議也滿足I2C規(guī)范,這里不再累述。需要提到一點(diǎn)是:在每次訪問(wèn)寄存器時(shí),應(yīng)先輸入一個(gè)有效的辨識(shí)字節(jié)。該字節(jié)高7位(1101111)為器件辨識(shí)符。辨識(shí)字節(jié)的最后一位定義進(jìn)行讀/寫(xiě)操作,當(dāng)其為“1”時(shí)選擇讀,為“0”時(shí)選擇寫(xiě)。圖4為ISL1208讀/寫(xiě)時(shí)序圖。

5.jpg

對(duì)于ISL1208來(lái)說(shuō),由于其內(nèi)部結(jié)構(gòu),可以很容易的實(shí)現(xiàn)2nHz中斷輸出和每分、每天至每年一次報(bào)警,但要求具體幾分鐘、幾小時(shí)報(bào)警一次還需在程序的編制上要比較注意。以下程序?yàn)橥ㄟ^(guò)計(jì)算機(jī)、來(lái)控制ISL1208每5秒鐘產(chǎn)生一次中斷程序,上位機(jī)程序由MATLAB編寫(xiě)[4],程序由C語(yǔ)言編寫(xiě),由于篇幅有限僅列出部分程序:

分頻器相關(guān)文章:分頻器原理

上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

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

關(guān)閉