DS12C887 Real-Time Clock 中文簡介

1.Features

1.1相容於IBM AT電腦時鐘IC

1.2接腳與MC146818B和DS1287A相容

1.3失去電源下可記憶時間長達10年以上

1.4內部包含鋰電池,與石英震盪器

1.5可計數時、分、秒、天、週、年(MAX2100)

1.6可選擇二進制或BCD碼格式輸出

1.7支援12(AM、PM)/24小時設定

1.8支援節約日光設定

1.9可選擇Motorola與Intel Bus控制模式

1.10內置RAM 128 byte,15byte為系統使用,113byte為通用RAM

1.11可編程方波輸出設定

1.12中斷信號設置

2.Overview

一般overview應該都是放在最上面的,只是我覺得上面已經放了Features
所以就把overview放在這了。
這裡的介紹與原廠maxim-ic無關,純粹是我個人的介紹。
在我接觸RTC IC之前,只有試著自己使用MCU做出時鐘功能的程式
(可以參考延伸閱讀),但通常自己撰寫出來的時鐘程式誤差基本上會很大
而且使用彈性也不高,時鐘程式感覺起來很簡單,但實際上如果包含了日期
也會變成一種很複雜的程式,另外誤差的來源除了震盪器的精度外,還包含了
程式撰寫的問題,例如要如何精確控制到1秒計數一次?
所以在討論下去這個問題不是這麼容易可以解決的
相對的就衍生出了Real-Time Clock IC
現在市面上有很多RTC可供使用,每種用法大同小異
DS12C887A使用並列通訊的方式,所以使用的腳位較多
相較於I2C或者SPI通訊的RTC來說相當的不方便
但DS12C887A最大的好處是它內建石英震盪器與內置鋰電池
可以很安全的確保時間的保存性與可靠度,這是我認為
這顆RTC最大的優點。
至於這顆RTC的使用介紹跟方式就如下介紹。

3.DS12C877A腳位圖(EDIP)



PIN1: MOT : Motorola BUS 或 Intel Bus 模式選擇
PIN2: N.C. : 空腳
PIN3: N.C. : 空腳
PIN4-11: AD0~AD7 : Address與Data BUS 腳
PIN12: GND :接地腳
PIN13: CS : Chip select 晶片致能腳 Low動作
PIN14: AS : Address Strobe Input 位址輸入選擇
PIN15: R/W : 讀取/寫入選擇
PIN16: N.C . : 空腳
PIN17: DS : 資料讀取/寫入腳
PIN18 : RESET :重置腳 Low動作
PIN19 : IRQ : Active-Low Interrupt Request Output 中斷信號輸出 Low動作
PIN20: N.C. : 空腳
PIN21: N.C. : 空腳
PIN22: N.C. : 空腳
PIN23: SQW : 方波輸信號輸出腳
PIN24: VCC : 電源輸入腳

4.DS12C887A內部暫存器
4.1 BCD Mode

4.2 Binary Mode

4.3 控制暫存器 0AH
Bit7: UIP (Update-In-Progress)
UIP=1 ;表示資料即將更新
UIP=0;表示資料在244us內不會產生資料更新

Bit6.5.4:DV2,DV1,DV0
用於設定RTC內部震盪與啟動計時設定
010:啟動震盪但不計時
11x:啟動震盪並啟動計時

Bit3.2.1.0:RS3,RS2,RS1,RS0
用於設定RTC SQW方波輸出,週期時間可配合做中斷輸出

4.4 控制暫存器 0BH
Bit7: SET
SET=1 ;禁止RTC更新時間
SET=0 ;允許RTC更新時間
對RTC要進行設定時,需將SET設定為1

Bit6:PIE (Periodic Interrupt Enable)
週期性中斷控制,配合0AH暫存器設定時間。

Bit5:AIE (Alarm Interrupt Enable)
鬧鈴中斷控制

Bit4:UIE (Update-Ended Interrupt Enable)
資料更新中斷控制

Bit3:SQWE (Square-Wave Enable)
方波輸出控制

Bit2:DM (Data Mode)
資料格式選擇(2進制或BCD碼)

Bit1:24/12
時間格式選擇

Bit0:DSE (Daylight Saving Enable)
日光節約功能

4.5 控制暫存器 0CH
Bit7:IRQF (Interrupt Request Flag)
中斷旗標暫存器

Bit6:PF (Periodic Interrput Flag)
方波輸出週期中斷旗標

Bit5:AF (Alarm Interrput Flag)
鬧鈴中斷旗標

Bit4:UF (Update-Ended Interrupt Flag)
資料更新中斷旗標

Bit3~0:無意義

4.6 控制暫存器 0DH
Bit7:VRT (Valid RAM and Time)
內部電池狀態檢查
VRT=1 ;內部電池正常
VRT=0 ;內部電池可能遺失電力
Bit6~0:無意義

5.Intel BUS 寫入時序圖(Intel Bus Write Timing)

關於控制時序部份請參閱 DS12C887 RTC控制

6.Intel BUS 讀取時序圖(Intel Bus Read Timing)

關於控制時序部份請參閱 DS12C887 RTC控制

7.原廠DataSheet連結

http://datasheets.maxim-ic.com/en/ds/DS12885-DS12C887A.pdf

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料