• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 實時時鐘ISL1208原理與應用

    實時時鐘ISL1208原理與應用

    作者: 時間:2012-02-03 來源:網絡 收藏

    1.引言

    本文引用地址:http://www.czjhyjcfj.com/article/172203.htm

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

    2. ISL1208簡介

    ISL1208引腳如圖1所示:

    1.jpg

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

    3. ISL1208內部結構及其工作原理

    ISL1208內部結構框圖如圖2。由圖可知,ISL1208主要包括:I2C控制單元、實時時鐘控制邏輯、時鐘分頻器、電源管理單元和寄存器單元。其中寄存器單元被分成四段:實時時鐘、控制與狀態、報警寄存器和用戶SRAM;這四段寄存器各自含有不同的功能:實時時鐘和報警寄存器用于寫入/讀出時間值和報警值,其寫入形式為BCD碼;控制與狀態寄存器可完成對其他寄存器讀寫控制、報警與頻率輸出控制、模擬與數字微調控制等功能,其存儲映射圖如表1。

    2.jpg

    3.jpg

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

    控制與狀態寄存器包括狀態寄存器、中斷與報警寄存器、模擬微調與數字微調寄存器。

    狀態寄存器(SR):用來控制RTC失效、電池模式、報警觸發、時鐘計數器寫保護、晶體振蕩器使能以及狀態位的自動復位或者提供相應的狀態信息。在時鐘上電時,需將寫RTC使能位WRTC置“1”,以便啟動時鐘計數。

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

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

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

    4. 應用舉例

    4.1 硬件結構

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

    4.jpg

    4.2 軟件

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

    5.jpg

    對于ISL1208來說,由于其內部結構,可以很容易的實現2nHz中斷輸出和每分、每天至每年一次報警,但要求具體幾分鐘、幾小時報警一次還需在程序的編制上要比較注意。以下程序為通過計算機、來控制ISL1208每5秒鐘產生一次中斷程序,上位機程序由MATLAB編寫[4],程序由C語言編寫,由于篇幅有限僅列出部分程序:

    分頻器相關文章:分頻器原理

    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 隆回县| 阿克苏市| 镇雄县| 行唐县| 嵊泗县| 乳山市| 和平区| 武汉市| 杭锦后旗| 肥乡县| 彭泽县| 马关县| 边坝县| 澄城县| 红河县| 类乌齐县| 吉隆县| 连平县| 怀安县| 仁寿县| 卓尼县| 吐鲁番市| 隆回县| 长白| 涞源县| 三河市| 墨竹工卡县| 辰溪县| 黄梅县| 正安县| 富宁县| 万年县| 米易县| 永康市| 秭归县| 康平县| 美姑县| 长白| 红桥区| 瑞安市| 曲松县|