Peta Alamat RTC DS1307 Register Kontrol RTC DS1307 Komunikasi I2C Pada RTC DS1307

17 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 -40 o C hingga +85 o C. 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. Tabel 2.5 Peta Alamat RTC DS1307 18

2.2.4 Register Kontrol RTC DS1307

Register kontrol pada RTC DS1307 digunakan untuk mengontrol operasi pada pin SQWOUT. 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 SQWOUT di disable sehingga tidak mengeluarkan clock, bit 7 ini menentukan level sinyal yang keluar dari pin SQWOUT. Jika bit 7 ini LOW, maka level pin SQWOUT ikut LOW dan jika bit 7 ini HIGH, maka level pin SQWOUT ikut HIGH. 2. Bit 4 Square-wave Enable : Digunakan untuk enabledisable keluarnya clock dari pin SQWOUT. HIGH berarti enable dan LOW berarti disable. Frekuensi sinyal clock yang keluar dari pin SQWOUT 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 SQWOUT. Kombinasi nilai RS0, dan RS1 menghasilkan output gelombang kotak dengan nilai frekuensi masing- masing yang ditunjukkan oleh tabel 2.7 Tabel 2.7 Frekuensi SQW Output 19

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 IO 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 20 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 untuk menulis ke DS1307 pada LSB-nya dan kode tulis ini diberikan ke DS1307 21 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.

2.3 IC Shift Register 74HC595