Real Time Clock (RTC) atau ‘Jam Waktu Nyata’ adalah perangkat elektronik yang mengukur berjalannya waktu. Real Time Clock dipakai sebagai jam atau referensi waktu pada sistem elektronik.
Real Time Clock umumnya memiliki catu daya tersendiri, sehingga kalau catu daya utama mati, jam pada Real Time Clock masih dapat berjalan sendiri.
Catu daya untuk RTC umumnya menggunakan baterai lithium, karena baterai lithium memiliki waktu penyimpanan yang lama. Artinya baterai lithium tidak berkurang isinya walaupun disimpan saja. Alternatif selain baterai lithium adalah menggunakan supercapacitor.
RTC umumnya ada di motherboard komputer desktop maupun laptop. Supaya waktu tidak hilang, RTC ini dilengkapi baterai lithium.
Beberapa rangkaian elektronik memerlukan clock dengan frekuensi tertentu untuk dapat bekerja, contohnya adalah sistem mikroprosesor/mikrokontroler dan rangkaian digital sinkron. Pada artikel ini diuraikan beberapa sumber clock dengan berbagai akurasi.
Secara ringkas sumber clock yang umum dipakai adalah sebagai berikut
Osilator berbasis induktor/kapasitor
Osilator berbasis kristal: kristal saja, kristal dengan kompensasi temperatur (TCXO dan MCXO), kristal dengan oven (OCXO), kristal dengan GPS (GPSDO)
Osilator Berbasis Induktor / Kapasitor
Osilator menghasilkan gelombang sinusoidal dengan frekuensi tertentu. Umumnya osilator dibuat dengan komponen pasif resistor, induktor dan kapasitor, serta komponen aktif transistor ataupun op-amp.
Frekuensi sinyal yang dihasilkan pada rangkaian jenis ini tergantung pada nilai induktor / kapasitor yang dipakai. Nilai induktor/kapasitor ini dapat berubah karena waktu ataupun pengaruh temperatur, sehingga frekuensi sinyal yang dihasilkan juga berubah, maka ketepatan frekuensi yang dihasilkan rendah.
Berikut ini contoh rangkaian osilator dengan komponen aktif transistor [sumber].
Osilator dengan transistor
Berikut ini adalah contoh relaxation oscillator dengan komponen aktif op-amp. [sumber]
Osilator dengan op-amp
Osilator Berbasis Kristal
Pada osilator jenis ini, sinyal clock dihasilkan menggunakan bahan piezoelektrik yang bergetar dengan suatu frekuensi tertentu. Frekuensi getaran pada bahan piezoelektrik ditentukan oleh ukurannya, sehingga frekuensi sinyal yang dihasilkan dapat sangat tepat.
Nilai frekuensi kristal umumnya dinyatakan untuk temperatur tertentu. Ukuran fisik kristal terpengaruh oleh temperatur, jadi jika temperatur berubah, maka frekuensi sinyal clock yang dihasilkan juga berubah.
Untuk dapat menghasilkan sinyal clock, kristal masih perlu disambung dengan beberapa komponen. Contoh rangkaian osilator berbasis kristal misalnya sebagai berikut [sumber]
Osilator Colpitts Crystal
Pada kebanyakan mikrokontroler, sudah disiapkan rangkaian clock di dalam mikrokontroler tersebut, sehingga untuk mengaktifkan kristal cukup disambung ke mikrokontroler dan ditambahkan 2 buah kapasitor. Nilai kapasitor umumnya disesuaikan dengan jenis & ukuran kristal yang digunakan, dan sudah ditentukan di datasheet mikrokontroler tersebut. [sumber]
Osilator kristal untuk mikrokontroler/mikroprosesor
Osilator Kristal Dengan Kompensasi Temperatur
Osilator kristal biasa mempunyai kelemahan, yaitu nilai frekuensinya masih berubah terhadap temperatur. Untuk mengatasi hal tersebut, dapat digunakan kristal yang frekuensinya dikompensasi terhadap perubahan temperatur. Komponen ini disebut sebagai Temperature Compensated Crystal (TCXO). Pada TCXO, kompensasi dilakukan secara analog dengan menambahkan rangkaian tertentu.
Ada juga kompensasi yang dilakukan secara digital dengan menambahkan mikroprosesor, dengan teknologi Microcontroller Compensation (MCXO).
TCXO dan MCXO sudah tersedia dalam bentuk modul, sehingga memudahkan untuk dipakai.
Contoh TCXO yang populer dipakai sebagai real time clock adalah DS3231 dari Maxim Integrated. DS3231 ini banyak dijual dalam bentuk modul yang sudah dilengkapi dengan batere Lithium sehingga waktu yang disimpan di dalamnya tidak hilang jika sumber listrik dimatikan.
Osilator Kristal Dengan Pengendalian Temperatur (OCXO)
Pada osilator jenis ini, sebagai sumber frekuensi digunakan kristal yang temperaturnya dijaga dengan suatu sistem pengendalian temperatur. Sistem ini disebut juga sebagai Crystal Oven ataupun Oven Controlled Crystal Oscillator (OCXO)
Dimensi OCXO cukup besar, karena di dalamnya mesti ada rangkaian pemanas, pengendali temperatur dan isolator supaya temperatur stabil.
Bentuk fisik OCXO
Perbandingan ketepatan osilator kristal dapat dilihat pada tabel berikut [sumber]
Perbandingan osilator
Osilator Kristal Dengan GPS
Jika ketepatan kristal OCXO masih kurang, maka ketepatannya masih dapat ditingkatkan dengan menggunakan bantuan sinyal GPS. Sistem ini disebut sebagai GPS Clock atau GPS disciplined oscillator (GPSDO).
Blok diagram sistem GPSDO adalah sebagai berikut [sumber]
Mikroprosesor memiliki berbagai macam memori dengan berbagai fungsi. Berikut ini uraian macam-macam memori pada komputer berdasarkan sifat baca tulis memori tersebut.
ROM : Read Only Memory
ROM atau Masked ROM adalah memori yang hanya dapat dibaca saja, dan isi memorinya sudah ditentukan di pabrik, tidak dapat diubah oleh pengguna. Memori ini harga satuannya (variable cost) murah, namun ongkos awalnya (fixed cost) besar, sehingga baru ekonomis kalau jumlah produksinya besar.
PROM: Programmable Read Only Memory
PROM adalah ROM yang dapat diprogram oleh user 1 kali saja. Memori jenis ini harga satuannya lebih mahal dibandingkan ROM, namun tidak perlu ongkos awal yang besar, sehingga cocok untuk produksi dalam jumlah kecil.
OTP : One Time Programmable
OTP adalah nama lain dari PROM.
Contoh komponen OTP adalah IC AT27C020 yang diproduksi oleh Microchip.
EPROM adalah memori yang dapat ditulis, isinya tidak hilang ketika power supply dimatikan, namun dapat dihapus dengan menggunakan sinar ultra violet. Pada EPROM ini terdapat ‘jendela’ dari bahan kuarsa yang memungkinkan cahaya ultra violet mengenai chip silikon yang berisi transistor EPROM.
Berikut ini beberapa contoh EPROM.
EPROM Intel C1702A
ST Microelectronics M27C256B
EPROM NEC D8749
EPROM NEC 02716
EEPROM Electrically Erasable Programmable Read Only Memory
EEPROM adalah memori yang dapat dihapus dengan tegangan listrik tertentu.
Contohnya adalah Atmel AT24C512. Memori ini dihubungkan ke mikroprosesor dengan protokol Two Wire Serial Interface.
Atmel EEPROM AT 24C512
Beberapa mikrokontroler sudah dilengkapi dengan EEPROM di dalamnya, misalnya ATMega328 yang dipakai di Arduino sudah dilengkapi dengan EEPROM berkapasitas 1 kilobyte.
RAM adalah memori yang isinya dapat dibaca dan ditulis. Isi memori hilang kalau power supply dimatikan. RAM yang umum dipakai terbagi dua , yaitu static RAM dan dynamic RAM.
SRAM: Static RAM
SRAM adalah RAM yang dibuat dengan menggunakan transistor / flip-flop. Kecepatannya tinggi, namun harganya relatif mahal dibandingkan dengan dynamic RAM.
Berikut ini komponen static RAM tipe 6264 yang berkapasitas 8 kilobyte. Komponen SRAM ini dulu favorit sebagai RAM untuk mikroprosesor Z80 dan mikrokontroler 8051.
DRAM adalah RAM yang dibuat dengan menggunakan kapasitor.
Keuntungannya lebih murah dibandingkan SRAM, namun isi tegangan di kapasitor akan hilang dalam beberapa milisekon, sehingga isi tegangan di kapasitor tersebut mesti diperbarui setiap beberapa milisekon.
RAM jenis ini adalah memori yang banyak dipakai untuk desktop dan laptop saat ini. Misalnya RAM tipe DDR berikut ini:
DDR4 SDRAM berkapasitas 8 GB
Flash Memory
Memori yang isinya tidak hilang kalau power supply dimatikan, dan isinya juga dapat dihapus secara elektrik seperti EEPROM. Perbedaannya adalah pada flash memory penghapusan dan penulisan data mesti dilakukan pada suatu blok data, tidak dapat hanya 1 byte saja, sedangkan EEPROM dapat dihapus / ditulis pada setiap byte.
Mikrokontroler seperti ATMega328 dilengkapi dengan flash memory berkapasitas 32 kilobyte di dalamnya untuk diisi dengan program.
NVRAM : Non Volatile RAM
NVRAM adalah RAM yang diberi batere, sehingga ketika power supply rangkaian dimatikan, isi RAM di NVRAM ini tetap ada, tidak hilang.
NVRAM Dallas DS1225AD
NVRAM Dallas DS1225AD
Contoh lain komponen yang berisi NVRAM adalah real time clock (RTC) seperti DS3231 dan DS1307
Real Time Clock DS3231
DS1307 real time clock
Memori pada Arduino Nano
Dalam prakteknya, suatu sistem mikroprosesor pada umumnya menggunakan lebih dari 1 macam memori. Sebagai contoh, para Arduino Nano (ATmega328), memori di dalamnya adalah sebagai berikut:
Flash memory, untuk diisi program dan data yang permanen. Hanya dapat diubah dari luar dengan programmer atau dengan menggunakan bootloader.
SRAM ( Static RAM) sebagai memori untuk menyimpan variabel yang dapat diubah-ubah
EEPROM untuk menyimpan parameter yang dapat diubah oleh program dan tidak hilang ketika listrik dimatikan.
Selain memori tersebut di atas dapat juga ditambahkan memori lain menggunakan port serial atau pin-pin pada Arduino.