Real Time Clock DS12C887

Chip DS12C887 buatan Dallas Semiconductor merupakan alat pencatat waktu yang baik, dalam chip itu tersimpan baterai Lithium sehingga pencatatan waktu tidak terhenti jika catu daya alat pemakaiannya terhenti, dan prosesor dapat mengambil kapanpun hasil kerjanya tanpa harus mengaturnya.

Waktu dicatat mulai dari  Detik, Menit, Jam, Hari, Bulan, Tahun bahkan sampai dengan Abad dan sistem penanggalannya dirancang bisa bekerja tanpa salah sampai tahun 2099. Pencatatan jam bisa dilakukan dalam format 24 jam perhari, atau 12 jam am/pm.

Dalam mother board IBM produksi beberapa tahun yang lalu DS12C887sering dipakai sebagai pencatat waktu. Dalam chip ini terdapat pula memori (CMOS RAM) yang mendapat catu daya yang sama dengan catu daya pencatat waktu, sehingga informasi yang disimpan tidak hilang selama pencatat waktu masih bekerja. CMOS RAM  tersebut dipakai untuk mencatat parameter yang dipakai untuk mengatur tata kerja mother board, dari sinilah didapat istilah CMOS Setup yang sangat dikenal dengan PC.

Selain dipakai sebagai pencatat waktu, DS12C887 bisa berfungsi sebagai alarm, bisa pula dipakai untuk membangkitkan sinyal periodik dengan frekuensi mulai dari 2 Hz sampai dengan 8 kHz. Karakteristik dari RTC DS 12C887 adalah sebagai berikut:

1.             Pengganti clock /kalender komputer IBM AT

2.             PIN kompatibel /sesuai dengan MC14618B dan DS 12C887

3.             Data tidak akan hilang maksimal sampai 10 tahun meskipun tidak ada daya

4.             Subsistem tercakup sendiri meliputi litium, kwarsa, dan pendukung rangkaian

5.             Menghitung detik,menit, jam, hari seminggu, tanggal, bulan dan tahun dengan lompatan pergantian tahun

6.             Data waktu kalender atau alarm dapat dipresentasikan dalam format biner / BCD

7.             Format jam yang dipakai 24 atau 12 jam dengan AM dan PM dalam mode 12 jam-an

8.             Pilihan waktu penyimpanan sianghari

9.             Timing bus dapat dipilih antara Motorola dan Intel.

10.         Bus multipleks antara address dengan data untuk efisiensi PIN

11.         Interface dengan software dengan lokasi RAM 128 byte dengan15 byte clock register kontrol dan 113 byte RAM untuk tujuan umum.

Secara lengkap struktur dari DS12C887 dapat dilihat pada gambar dibawah ini :

 

Gambar 1 Diagram Blok DS12C887

 

Gambar 2 Konfigurasi Kaki DS12C887

1.             AD0-AD7  : Bus alamat / data

2.             NC             : Tidak ada hubungan

3.             MOT          : Seleksi tipe bus Intel atau Motorola

4.             CS              : Chip select

5.             AS              : Sinyal untuk penanda bahwa AD0-AD7 adalah alamat

6.             R/           : Masukan baca/tulis

7.             DS              : Sinyal untuk penanda bahwa AD0-AD7 adalah data

8.             RESET       : Masukan reset

9.             IRQ            : Pengiriman sinyal interupsi selamat 1 detik sekali

10.         SQW          : Keluaran gelombang kotak

11.         VCC          :  Catu daya + 5 V

12.         GND          :  Ground ( Vss )

 

Peta Memori

Dari sudut pandang pemprograman, chip DS12C887 terlihat sebagai 128 byte memori data. Memori data tersebut dipakai untuk mencatat waktu, penentu alarm, register pengatur kerja DS12C887 dan register pemantau kerja dari DS12C887, yang secara lengkap diperlihatkan dalam Tabel dibawah ini :

 

Tabel 1 Lokasi Memori DS12C887

Alamat

Kegunaan

Rentang Nilai (BCD)

0

Detik

00…59

1

Alarm

00…59

2

Menit

00…59

3

Alarm menit

00…59

4

Jam

00…12  81…92   00…23

5

Alarm jam

00…12  81…92   00…23

6

Hari

01…07

7

Tanggal

01…31

8

Bulan

01…12

9

Tahun

00…99

10

Register A

 

11

Register B

 

12

Register C

 

13

Register D

 

14…49

Memori Bebas

 

50

Abad

19..20

51…128

Memori Bebas

 

 

Memori data yang masih tersisa atau memori bebas merupakan memori yang bisa dipakai untuk segala macam keperluan. Memori nomor 10 sampai 13 dipakai sebagai register pengatur kerja DS12C887 dan register pemantau kerja dari DS1C8287, register-register tersebut dinamakan sebagai register A, B, C dan D. Pemakaian masing-masing bit dalam register-register tersebut dirinci dalam tabel – tabel dibawah ini :

 

Tabel 2 Register A (CMOS RAM No. 10)

D7

D6

D5

D4

D3

D2

D1

D0

UIP

DV2

DV1

DV0

RS3

RS2

RS1

RS0

 

Tabel 3 Register B (CMOS RAM No. 11)

D7

D6

D5

D4

D3

D2

D1

D0

SET

PIE

AIE

UIE

SQWE

DM

24/12

DSE

 

Tabel 4 Register C (CMOS RAM No. 12)

D7

D6

D5

D4

D3

D2

D1

D0

IRQF

PF

AF

UF

0

0

0

0

 

Tabel 5 Register D (CMOS RAM No. 14)

D7

D6

D5

D4

D3

D2

D1

D0

VRT

0

0

0

0

0

0

0

 

Register A

Bit 7 dari register A dinamakan UIP (singkatan dari Update In Progress). Nilai 1 pada uip menyatakan data catatan waktu dalam DS1287 segera akan diperbaiki, jadi pengambilan data terkini seharusnya dilakukan pada saat UIP = 0. DV2, DV1 dan DV0 (bit 6 sampai 4) dipakai untuk mengatur kerja osilator kristal. Nilai 010 pada tiga bit ini menghidupkan rangkaian osilator dan mengaktifkan system pecatatan waktu. Nilai 110 atau 111 menghidupkan rangkaian osilator tapi system pencatatan waktu tidak bekerja. Nilai-nilai lainnya mematikan rangkaian osilator. Saat setelah diproduksi, agar beterai Lithium tidak terpakai  sia-sia osilator dalam chip dimatikan. RS3, RS2, RS1, RS0 (bit 3 sampai 0) untuk menentukan frekuensi sinyal kotak yang dibangkitkan sesuai dengan kombinasi biner dari keempat bit ini, kombinasinya secara lengkap diperhatikan dalam Tabel 6.

 

Tabel 6 Frekuensi Pulsa SQW

RS3

RS2

RS1

RS0

Frekuensi SQW

0

0

0

0

0

0

0

0

1

256 Hz

0

0

1

0

128 Hz

0

0

1

1

8.192 Hz

0

1

0

1

4.096 Hz

0

1

0

1

2.048 Hz

0

1

1

0

1.024 Hz

0

1

1

1

512 Hz

1

0

0

0

256 Hz

1

0

0

1

128 Hz

1

0

1

0

64 Hz

1

0

1

1

32 Hz

1

1

0

0

16 Hz

1

1

0

1

8 Hz

1

1

1

0

4 Hz

1

1

1

1

2 Hz

 

 

Register B

AIE (bit 5, singkatan dari Alarm Interrupt enable) = 1 mengaktifkan system interupt alarm. UIE (bit 4, singkatan dari Update Ended Interrupt Enable) = 1 Mengaktifkan system interupt karena adanya perubahan nilai pencatatan waktu. SQWE (bit 3, singkatan dari Square Wave Enable) = 1 membangkitkan sinyal kontak pada kaki SQW (kaki nomor 23). DM (bit 2, singkatan dari data mode)  menentukan format data pencatatan waktu. DM = 0 pencatatan waktu dilakukan dengan format biner, DM = 1 pencatatan waktu dilakukan dengan format BCD.  24/12 (bit 1) menentukan format pencatatan JAM, 24/12 = 0 pencatatan jam dilakukan dengan format 0..12, 24/12 = 1 pencatatan JAM dilakukan dengan format 0..24.DSE (bit 0, singkatan dari Daylight Savings Enable) dipakai untuk mengatur perubahan waktu pada musim panas dan musim dingin, hanya diperlukan pada daerah dengan 4 musim.

 

Register C

IRQF (bit 7 sigkatan dari Interrupt Request Flag) dipakai untuk menandai DS12C887 sedangkan mengajukan permintaan interup pada prosesor dengan cara me-nol-kan kaki IRQ* (kaki nomor 19). Setelah prosesor membaca isi register C, IRQF dan bit-bit lainnya dalam register C berubah menjadi 0 dan kaki IRQ* menjadi 1.

PF (bit 6 singkatan dari Periodic Interrupt Flag) menjadi 1 secara periodic, periodenya ditentukan oleh kombinasi nilai biner pada RS3..RS0 dalam Register A. Jika PIE  dalam register B bernilai 1 saat PF bernilai 1, DS12C887 mengajukan permintaan interupsi pada prosesor dengan cara membuat 0 kaki IRQ* (kaki nomor 19).

AF (bit 5, singkatan dari Alarm Interrupt Flag) menjadi 1 jika waktu saat ini sudah sama dengan waktu alarm, jika saat itu AIE dalam Register B bernilai 1 pula, DS12C887 mengajukan permintaan interupsi dengan membuat 0 kaki IRQ* (kaki nomor 19).

UF (bit 4, singkatan dari Update Ended Interrupt Flag) menjadi 1 sekali dalam 1 detik, yakni pada saat perubahan pencatatan waktu. Jika saat itu UIE dalam Begister B bernilai 1 pula, DS12C887 mengajukan permintaan interupsi dengan membuat 0 kaki IRQ* (kaki nomor 19).

Register D

VRT (bit 7, singkatan dari Valid RAM and Time) disatukan saat DS12C887 diproduksi, menjadi 0 jika energi baterai Lithium sudah lemah sehingga nilai pencatatan waktu dan isi  CMOS RAM diragukan keberadaannya.