DS12C887 mempunyai 14 buah register yang terdiri dari 4 Register Kontrol dan 10 Register Data. Register Data sendiri terpisah menjadi register waktu dan Register Alarm sebagaimana ditunjukkan pada gambar 1. Setelah Register-register Kontrol diinisialisasi, maka data waktu ataupun alarm dapat dibaca atau ditulisi dengan cara mengakses register-register data yang bersangkutan.


Gambar 1. Pemetaan alamat pada RTC DS12C887

Register-register Kontrol

DS12C887 memiliki empat register kontrol yang bisa diakses sepanjang waktu, meskipun selama siklus pembaharuan (update cycle).

  • UIP : Bit ini digunakan untuk memantau Flag Update In Progress (UIP). Jika bit ini bernilai 1, maka Update Transfer akan segera muncul, namun bila bit ini bernilai 0, maka Update transfer hanya akan muncul setelah 244 uDetik kemudian.
  • DV0, DV1, DV2 : Ketiga bit ini berfungsi untuk mengatur osilator ON atau OFF, dan me-RESET hitung mundur. Kofigurasi 010 digunakan untuk mengatur osilator ON, konfigurasi 11x digunakan untuk mengatur agar perhitungan mundur ditahan.
  • RS0, RS1, RS2 dan RS3 : Bit-bit ini digunakan untuk memilih 15 tingkat pembagi frekwensi yang dapat digunakan untuk membangkitkan sinyal luaran pada pin SQW atau Interupsi periodik. Tabel berikut menunjukkan berbagai macam kemungkinan frekuensi luaran SQW dan laju Interupsi Peiodik berdasar nilai-nilai RS0, RS1, RS2, dan RS3.

  • SET : Apabila bit ini bernilai 0, maka register data dapat diupdate setiap detiknya, namun apabila bit ini bernilai 1, maka register data tidak dapat diupdate. Bit ini tidak akan berpengaruh terhadap kondisi RESET.
  • PIE : Periodic Interrupt Enable, merupakan sebuah bit baca/tulis yang membolehkan bit PF atau Periodic Interrupt Flag pada Register C meng-nol-kan pin luaran IRQ. Jika PIE = 1, maka interupsi periodik akan dihasilkan dengan meng-nol-kan pin luaran IRQ dengan laju yang ditentukan oleh RS0 s/d RS2 (lihat penjelasan sebelumnya).
  • AIE : Alarm Interrupt Enable, bit yang membuat bit Alarm Flag dapat membangkitkan kondisi LOW pada pin IRQ. Kondisi RESET akan mengubah bit ini menjadi clear atau bernilai 0.
  • UIE : Update Ended Interrupt Enable, bit yang membuat bit Update End Flag (UF) dapat membangkitkan kondisi LOW pada pin IRQ. Kondisi RESET atau logika 1 pada bit SET akan membuat bit ini berubah menjadi clear (bernilai 0).
  • SQWE : Apabila bit ini bernilai 1, maka gelombang kotak dengan frekwensi yang ditentukan oleh pembagi frekwensi pada RS0 s/d RS3 akan dihasilakn melalui pin SQW.
  • DM : DM = 1 untuk mode binary dan DM = 0 untuk data BCD pada Register Data.
  • 24/12: Apabila bit ini bernilai 1, maka waktu berjalan berdasarkan 24 jam dan sebaliknya bila bit ini bernilai 0, maka waktu berjalan berdasarkan 12 jam.
  • DSE : Daylight Saving Enable, apabila bit ini bernilai 1, maka akan terjadi proses update pada saat 1:59:59 AM menjadi 3:00:00 AM pada Hari Minggu pertama bulan April dan saat 1:59:59 AM menjadi 1:00:00 AM pada Hari Minggu terakhir Bulan Oktober.

  • IRQF : Interrupt Request Flag, bit ini akan bernilai 1 apabila salah satu dari bit PF, AF dan UF juga bernilai 1.
  • PF : Periodic Interrupt Flag, bit ini akan bernilai 1 secara periodik (tergantung bit RS0 s/d RS3). Apabila bit PIE aktif, maka kondisi SET pada bit PF akan membangkitkan kondisi LOW pada pin IRQ. Bit ini akan bernilai 0 saat pembacaan pada Register C atau kondisi RESET.
  • AF : Alarm Interrupt Flag, bit ini akan bernilai 1 saat waktu sekarang cocok dengan waktu yang diatur pada alarm. Apabila bit AIE aktif, maka kondisi SET pada bit AF akan membangkitkan kondisi LOW pada pin IRQ. Bit ini akan bernilai 0 saat pembacaan pada Register C atau kondisi RESET.
  • UF: Update Ended Interrupt Flag, bit ini siklus update. Apabila bit UIE aktif maka kondisi SET pada bit ini akan membangkitkan kondisi LOW pada pin IRQ. Bit ini akan bernilai 0 (Clear) saat pembacaan pada Register C atau kondisi RESET

  • VRT: Bit The Valid RAM and Time ini merupakan indikator kondisi baterai yang terhubungkan ke pin Vbat. Bit ini tidak bisa ditulisi, dan seharusnya bernilai 1 terus saat dibaca. Jika terjadi nilai 0, artinya terjadi pelemahan arus/tegangan pada baterai, dan simpanan data RTC dan RAM menjadi dipertanyakan. Bit ini tidak dipengaruhi RESET.

Links:

  • RTC DS12C887: Pendahuluan (klik)
  • RTC DS12C887: Register Data dan Kontrol (klik)
  • RTC DS12C887: Contoh Aplikasi (klik)

Tags: , ,