• Tidak ada hasil yang ditemukan

BAB 2. LANDASAN TEORI

2.2. RTC (Real Time Clock) DS1307

Real Time Clock (RTC) DS1307 adalah IC yang dibuat oleh perusahaan Dallas Semiconductor. RTC (Real Time Clock) DS1307 bekerja dengan daya rendah (low power), memiliki kalender/jam BCD dan SRAM yang nonvolatile dengan kapasitas 56 bytes. Alamat dan data dikirim melalui 2 kabel dwi-arah. Jam dan kalender pada DS1307 menyediakan informasi detik, menit, jam, hari, tanggal,

baik untuk 31 hari maupun kurang. Jam bekerja dalam format 24 jam atau 12 jam dengan indikator AM/PM. DS1307 dapat mendeteksi secara otomatis catu dayanya, jika catu daya ke sistem mati, maka secara otomatis DS1307 akan mengambil catu daya dari baterai (jika dipasang). DS1307 memiliki akurasi (kadaluarsa) hingga tahun 2100.

Pada sistem komputer chip RTC sering dijumpai pada motherboard PC (biasanya terletak dekat chip BIOS). Semua komputer menggunakan RTC karena berfungsi menyimpan informasi waktu terkini dari komputer yang bersangkutan. RTC dilengkapi dengan baterai sebagai pensuplai daya pada chip, sehingga jam akan tetap up-to-date walaupun komputer dimatikan. RTC dinilai cukup akurat sebagai pewaktu (timer) karena menggunakan osilator kristal. Ada beberapa jenis RTC, yaitu : DS1307, DS1302, DS12C887, DS3234.

Gambar 2.3 RTC (Real Time Clock) DS1307

2.2.1 Konfigurasi pin RTC DS1307

Adapun konfigurasi dari setiap pin pada RTC DS1307 adalah:

menulis maupun membaca data. Ketika baterai disambungkan pada IC dan nilai Vcc dibawah 1.25 Vbat. Proses penulisan dan pembacaan data tidak dapat dilakukan, namun proses pencacahan waktu tetap berjalan dan tidak terpengaruh oleh peenurunan Vcc, karena IC akan mengambil sumber tegangan dari Vbat.

2. Vbat : Digunakan sebagai masukan baterai lithium 3 volt atau sumber energy yang lain. Tegangan baterai harus berkisar antara 2 volt sampai 3.5 volt. Baterai lithium 48 mA atau lebih besar dapat digunakan lebih dari 10 tahun pada suhu 25oC.

3. SCL (Serial Clock Input) : SCL digunakan untuk sinkronisasi perpindahan data pada antarmuka serial.

4. SDA (Serial Data Input/Output) : SDA berfungsi sebagai pin masukan dan keluaran pada antarmuka serial 2 kabel. Pin SDA dan SCL membutuhkan resistor pull-up sekitar 4K7ohm.

5. SQW/OUT (Square Wave/Output Driver) : Jika diaktifkan, SQWE bit harus diset ke 1. SQWE akan mengeluarkan gelombang kotak dengan pilihan frekuensi (1Hz, 4kHz, 8kHz, 32kHz). Pin SQW/OUT membutuhkan resistor pull-up eksternal. SQW/OUT dapat bekerja baik dengan sumber tegangan Vcc maupun dengan kristal 32,768kHz.

2.2.2 Fitur–fitur RTC DS1307

1. Real Time Clock menyimpan data – data detik, menit, jam, tanggal, bulan, tahun dan tahun valid hingga 2100.

3. Antarmuka serial two wire (I2C).

4. Sinyal keluaran gelombang kotak terprogram (Programmable squarewave).

5. Konsumsi daya kurang dari 500nA menggunakan mode baterai cadangan dengan operasional osilator.

6. Tersedia fitur industri dengan ketahanan suhu antara -40oC hingga +85oC.

7. Tersedia dalam kemasan 8-pin DIP atau SOIC.

2.2.3 Peta Alamat RTC DS1307

Pemetaan alamat pada RTC DS1307 dimana register-register DS1307 ditempatkan pada lokasi pengalamatan 00h sampai 07h. Sedangkan register -register RAM (Random Access Memory) ditempatkan pada lokasi pengalamatan 08h sampai 3Fh.

Khusus alamat 02H, bit-6 LOW untuk siklus jam 00–24 dan HIGH untuk siklus jam 00–12. Bit-5 HIGH pada saat PM dan LOW pada saat AM atau angka puluhan jika bit-6 LOW.

2.2.4 Register Kontrol RTC DS1307

Register kontrol pada RTC DS1307 digunakan untuk mengontrol operasi pada pin SQW/OUT.

Tabel 2.6 Register Kontrol Pada RTC DS1307

BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0

OUT X X SQWE X X RS1 RS0

1. Bit 7 Output Control (OUT) : Bit 7 adalah keadaan jika pin SQW/OUT di disable sehingga tidak mengeluarkan clock, bit 7 ini menentukan level sinyal yang keluar dari pin SQW/OUT. Jika bit 7 ini LOW, maka level pin SQW/OUT ikut LOW dan jika bit 7 ini HIGH, maka level pin SQW/OUT ikut HIGH.

2. Bit 4 Square-wave Enable : Digunakan untuk enable/disable keluarnya clock dari pin SQW/OUT. HIGH berarti enable dan LOW berarti disable. Frekuensi sinyal clock yang keluar dari pin SQW/OUT ditentukan oleh kondisi bit 1 dan bit 0.

3. Bit 1 dan 0 Rate Select (RS1, RS0) Digunakan untuk menentukan frekuensi yang keluar dari pin SQW/OUT. Kombinasi nilai RS0, dan RS1 menghasilkan output gelombang kotak dengan nilai frekuensi masing-masing yang ditunjukkan oleh tabel 2.7

2.2.5 Komunikasi I2C Pada RTC DS1307

Untuk membaca data tanggal dan waktu yang tersimpan di memori RTC DS1307 dapat dilakukan melalui komunikasi serial I2C seperti tampak pada gambar berikut:

Gambar 2.4 Komunikasi serial RTC dengan I2C

Dari gambar 2.4 diatas dapat dilihat DS1307 beropersai sebagai slave pada bus I2C. Cara Access pertama mengirim sinyal START diikuti device address dan alamat sebuah register yg akan dibaca. Beberapa register dapat dibaca sampai STOP condition dikirim.

I2C singkatan dari Inter Integrated Circuit, adalah sebuah protokol untuk komunikasi serial antar IC, dan sering disebut juga Two Wire Interface (TWI). Bus yang digunakan untuk komunikasi antara mikrokontroler dan divais periferal seperti memori, sensor temperatur dan I/O expander. Komunikasi dilakukan melalui dua jalur: SDA (serial data) dan SCL (serial clock). Setiap divais I2C memiliki 7-bit alamat yang unik. MSB adalah fix dan ditujukan untuk kategori divais.Inter Integrated Circuit atau sering disebut I2C adalah standar komunikasi

serial dua arah menggunakan dua saluran yang didisain khusus untuk mengirim maupun menerima data. Divais yang mengirim data sepanjang bus disebut master, divais yang menerima data disebut slave. Master memulai transmisi dengan sebuah sinyal start, dan menghentikan transmisi dengan sebuah sinyal stop pada jalur SDA. Selama sinyal start dan stop, jalur SCL harus dalam keadaan high.

Setelah master memulai pengiriman data dengan sebuah sinyal start, master menulis satu byte alamat divais kepada slave. Setiap byte data harus memiliki panjang 8-bit. Slave harus memberikan konfirmasi dari byte data yang diterimanya dengan sebuah bit acknowledge (ACK). Sinyal Start merupakan sinyal untuk memulai semua perintah, didefinisikan sebagai perubahan tegangan SDA dari 1 menjadi 0 pada saat SCL 1. Sinyal Stop merupakan sinyal untuk mengakhiri semua perintah, didefinisikan sebagai perubahan tegangan SDA dari 0 menjadi 1 pada saat SCL 1. Sinyal dasar yang lain dalam I2C Bus adalah sinyal acknowledge yang disimbolkan dengan ACK. Setelah transfer data oleh master berhasil diterima slave, slave akan menjawabnya dengan mengirim sinyal acknowledge, yaitu dengan membuat SDA menjadi 0 selama siklus clock ke 9.

Pada komunikasi I2C antara DS1307 dan mikrokontroler, data- data jam dan yang lain dikirim dalam format BCD. Data dikirim per-byte dari mikrokontroler ke DS1307 secara serial. Setelah menerima satu byte data, DS1307 sebagai slave akan mengirim sinyal acknowledge ke mikrokontroler. Sinyal acknowledge adalah tanda bahwa satu byte data telah diterima oleh DS1307. Awal komunikasi, mikrokontroler akan membangkitkan sinyal start I2C. Kemudian mikrokontroler akan mengirimkan alamat group dari DS1307 dan kode

karena mikrokontroler akan menuliskan terlebih dahulu alamat awal pembacaan register DS1307. Setelah itu, proses pembacaan I2C dimulai. Mikrokontroler mengirimkan alamat DS1307 beserta kode instruksi baca. Proses pembacaan dilakukan per-byte dimulai dari register deetik sampai register tahun. Setelah menerima data 1 byte utuh mikrokontroler akan mengirimkan sinyal acknowledge ke DS1307. Pada akhir pembacaan register tahun, akan dikirim sinyal notacknowledge dan diakhiri dengan sinyal stop.

Dokumen terkait