Real Time Clock (RTC) merupakan suatu chip (IC) yang memiliki fungsi sebagai penyimpan waktu dan tanggal. Artikel ini membahas sebuah IC RTC yaitu DS12C887 yang memiliki register yg dapat menyimpan data detik, menit, jam, tanggal, bulan dan tahun. RTC ini memiliki 128 lokasi RAM yang terdiri dari 15 byte untuk data waktu serta kontrol, dan 113 byte sebagai RAM umum.
RTC DS 12C887 menggunakan bus yang termultipleks untuk menghemat pin. Timing yang digunakan untuk mengakses RTC dapat menggunakan intel timing atau motorola timing. RTC ini juga dilengkapi dengan pin IRQ untuk kemudahan dalam proses.
Penjelasan singkat dari masing-masing pin RTC DS12C887 sebagai berikut :
1. MOT (Mode Select)
Pin MOT memberikan kebebasan untuk memilih dua tipe bus. Ketika pin ini dihubungkan dengan VCC, maka pewaktuan bus Motorolla yang dipilih, sedangkan ketika dihubungkan ke ground atau dibiarkan (tak dihubungkan) maka pewaktuan bus Intel yang dipilih. Pin ini memiliki pull down internal sekitar 20 kOhm.
2. AD0 - AD7 (Adrress/Data bus yang ter-multipleks dan dwi-arah)
Bus yang ter-multipleks akan menghemat penggunaan pin karena informasi alamat dan data menggunakan jalur sinyal yang sama. Siklus bus pertama digunakan untuk jalur alamat, dan siklus bus kedua digunakan untuk jalur data (bergantian antara alamat dan data). Intinya, kirim alamat melalui AD0-AD7 kemudian lakukan penguncian alamat menggunakan siklus 0-1-0 pada AS/ALE, kemudian dilanjutkan dengan proses pembacaan atau penulisan data ke alamat tersebut. RTC menghasilkan luaran 8 bit data pada saat pin DS dan RD diberi pulsa. Bus akan menjadi berimpedansi tinggi saat pulsa LOW diberikan pada pin DS (motorola) atau pulsa HIGH diberikan pada pin RD (intel).
3. CS (Chip Select Input)
Intinya, CS digunakan untuk aktivasi IC RTC DS12C887, Anda bisa menghubungkan CS ke GND supaya selalu aktif, atau bisa melalui salah satu pin dari mikrokontroler yang digunakan, jika ada beberapa piranti pada modul aplikasi Anda, sehingga kita bisa melakukan aktivasi secara manual di dalam program. Saat Vcc berada dibawah 4.25 volt, maka DS12C887, secara internal, akan menahan akses siklus bus dengan cara menon-aktifkan masukan CS. Aksi ini akan melindungi data jam real time dan isi dari RAM selama terjadi gangguan tegangan.
4. AS (Address Strobe)
Perubahan dari 0 ke 1 pada AS digunakan untuk menghapus alamat sebelumnya. Sedangkan perubahan dari 1 ke 0 akan menyebabkan jalur AD0-AD7 dianggap sebagai alamat memori DS12C887. Perintah akses (apakah baca atau tulis) harus dikirim bersamaan dengan proses ini.
5. R/W (Read/Write Input)
Pin R/W memiliki 2 mode operasi.
a. MOT dihubungkan ke Vcc, Pewaktuan bus Motorola
> R/W=HIGH dan DS=HIGH, maka terjadi siklus baca.
> R/W=LOW dan DS=HIGH, maka terjadi siklus tulis.
b. MOT dihubungkan ke GND, Pewaktuan Bus Intel
> R/W aktif LOW, diberi nama WR = WE (write enable) pada RAM-RAM umum.
6. DS (Data Strobe atau Masukan Baca)
Pin DS/RD memiliki 2 mode operasi.
a. MOT dihubungkan ke Vcc, Pewaktuan bus Motorola
DS digunakan sebagai Data strobe, Berkaitan dengan proses baca/tulis
b. MOT dihubungkan ke GND, Pewaktuan Bus Intel
DS/RD aktif LOW sebagai pin RD sama seperti pada RAM-RAM umum
7. RESET (Reset Input)
Pin RESET tidak berpengaruh terhadap jam, kalender atau RAM. Pada saat penyalaan RTC, pin RESET dapat dijaga LOW untuk beberapa saat untuk menstabilkan catu daya. Lamanya waktu pin RESET diberikan low tergantung dari aplikasi yang digunakan. Akan tetapi jika reset digunakan saat power up (penyalaan), waktu RESET dijaga low harus melebihi 200 ms untuk meyakinkan bahwa timer internal dari RTC untuk penyalaan telah cukup.
8. IRQ (Interrupt Request Output)
Pin IRQ adalah keluaran active low dari RTC 12C887 yang digunakan sebagai masukan interupsi pada prosessor. Keluaran IRQ tetap low selama selama bit status menyebabkan interupsi terjadi dan bit yang berhubungan yaitu interrupt-enable di-set. Untuk menghapus interupsi biasanya dilakukan dengan membaca register C. Pin RESET juga menghapus interupsi yang dilakukan atau yang belum terjadi (pending). Ketika tidak terjadi interupt maka level IRQ berada pada kondisi high impedance. Beberapa peralatan interupsi dapat dihubungkan dengan IRQ bus. Bus IRQ adalah keluaran open drain dan memerlukan tambahan resistor pull-up.
9. SQW (Square Wave Output)
Pin SQW dapat mengeluarkan sinyal kotak, dari satu sampai 13 pembagian yang disediakan oleh 15 buah tingkat pembagi (divider) internal dari RTC. Frekuensi dari SQW dapat dipilih dengan memprogram register A seperti pada tabel. Sinyal SQW dapat dihidupkan dan dimatikan dengan mengatur bit SQWE pada register B. Sinyal SQW tidak hidup ketika VCC dibawah 4,25 volt.
10. GND, Vcc
Merupakan pin untuk catu daya RTC. Vcc diberikan input +5volt. Ketika tegangan 5 volt diberikan dalam batas yang normal, RTC bebas diakses dan data dapat ditulis atau dibaca. Sedangkan ketika Vcc dibawah 4.25 volt, maka proses baca dan tulis tidak dapat dilakukan. Akan tetapi, proses pewaktu (timekeeping) tetap dilakukan oleh RTC tanpa dipengaruhi oleh tegangan masukan yang rendah. Saat Vcc turun dibawah 3 volt, catu daya untuk RAM dan pewaktu dipindahkan ke internal lithium batery yang terdapat pada RTC. Fungsi pewaktu dari RTC memiliki akurasi ± 1 menit per bulan pada suhu 250 C walaupun tanpa adanya catu pada Vcc.
Downloan datasheet RTC DS12C887 klik disini