Jam Digital RTC (Real Time Clock)
Real time clock (RTC) adalah IC yang menyimpan trek yang diperbarui dari arus waktu.
Informasi ini dapat dibaca oleh mikroprosesor, biasanya melalui antarmuka serial untuk memfasilitasi perangkat lunak yang menjalankan fungsi yang tergantung waktu. RTC dirancang untuk konsumsi daya sangat rendah karena biasanya terus berjalan ketika sistem utama dimatikan. Ini memungkinkan mereka untuk mempertahankan arus waktu terhadap referensi waktu absolut, biasanya ditetapkan oleh mikroprosesor secara langsung. Gambar 1 menggambarkan kerja internal khas RTC sederhana.
RTC adalah elemen yang sangat umum. Mereka hadir dalam segala hal, mulai dari kluster instrumen dan sistem infotainment dalam aplikasi otomotif hingga pengukuran rumah. RTC sering berintegrasi ke perangkat lain — misalnya, IC komunikasi broadband yang digunakan dalam radio mobil.
Mereka biasanya antarmuka ke rangkaian mikroprosesor oleh SPI atau I2C serial bus, dan dapat berisi sejumlah fungsi lain seperti memori cadangan, pengawas waktu untuk mengawasi mikroprosesor dan penghitung waktu mundur untuk menghasilkan peristiwa real time. Beberapa RTC termasuk output interupsi kedua atau menit dan bahkan cukup pintar untuk menghitung tahun kabisat (lihat gambar 2).
RTC mempertahankan jamnya dengan menghitung siklus osilator - biasanya rangkaian osilator kristal 32.768kHz eksternal, osilator berbasis kapasitor internal, atau bahkan kristal kuarsa tertanam. Beberapa dapat mendeteksi transisi dan menghitung periodisitas input yang mungkin terhubung.
Ini dapat memungkinkan RTC untuk merasakan riak 50/60Hz pada catu daya utama, atau mendeteksi dan mengakumulasikan transisi yang berasal dari tanda waktu unit GPS. RTC yang melakukan ini beroperasi seperti fasa terkunci loop (PLL), menggeser referensi jam internal untuk 'menguncinya' ke sinyal eksternal. Jika RTC kehilangan referensi eksternalnya, ia dapat mendeteksi peristiwa ini (karena PLLnya tidak terkunci) dan bebas lari dari osilator internalnya.
Beberapa RTC mempertahankan pengaturan Osilator pada titik terakhir yang diketahui sebelum tidak terkunci dengan input. Resolusi waktu adalah pertimbangan penting - seberapa akurat Anda perlu membaca arus waktu? Ini ditentukan oleh lembar data RTC, tetapi pada akhirnya dibatasi oleh frekuensi osilator.
Sebuah RTC yang dijalankan dari referensi internalnya sendiri akan mengintegrasikan kesalahan yang berkaitan dengan akurasi absolut dari referensi kristal, dan dipengaruhi oleh sejumlah kondisi termasuk suhu. Kristal ditentukan untuk beroperasi dalam kisaran suhu, biasanya sekitar - 10°C ~ 60°C - dan akurasinya berkurang jika desain menyimpang di luar ini (gambar 3).
Beberapa RTC memiliki kompensasi suhu terintegrasi yang dapat memperpanjang dan meningkatkan akurasi rangkaian Osilator Kristal. Kristal juga menua, dan ini mengubah sifat fisik mereka, yang mengarah pada kesalahan tambahan. Kristal berbiaya rendah tipikal memiliki toleransi frekuensi sekitar +/-20ppm (bagian per juta), dan secara perlahan mengakumulasi kesalahan. Kristal +/-20ppm dapat melayang sejauh 72mS setiap jam, atau 1.7 detik per hari. Mereka kadang-kadang membutuhkan kalibrasi ulang untuk mengoreksi penyimpangan.
Prosesor yang terhubung memperoleh 'waktu sistem' yang diperbarui dengan beberapa cara dan menulis nilai baru ini ke RTC untuk mulai menghitung. Waktu sistem ini dapat berasal dari input manual dari antarmuka pengguna, membaca unit GPS atau dari koneksi cloud.
RTC membutuhkan daya yang berkelanjutan dan harus memiliki konsumsi daya yang sangat rendah. Sebagian besar RTC menggunakan supply rangkaian digital ketika perangkat on dan aktif, tetapi beralih ke sumber daya yang terhubung terus-menerus ketika rangkaian dimatikan. Sumber daya ini dapat berupa baterai khusus, Kapasitor Super atau Ultra Kapasitor yang terisi daya, atau catu daya terpisah dari listrik.
Banyak RTC dapat mendeteksi perubahan ini dan masuk ke kondisi daya sangat rendah di mana mereka mematikan semua rangkaian kecuali yang penting untuk menjaga jam agar menghemat baterai. RTC juga dapat mencakup fungsi alarm - atur waktu ketika tercapai memicu RTC untuk mendorong output yang membangunkan prosesor.
Informasi ini dapat dibaca oleh mikroprosesor, biasanya melalui antarmuka serial untuk memfasilitasi perangkat lunak yang menjalankan fungsi yang tergantung waktu. RTC dirancang untuk konsumsi daya sangat rendah karena biasanya terus berjalan ketika sistem utama dimatikan. Ini memungkinkan mereka untuk mempertahankan arus waktu terhadap referensi waktu absolut, biasanya ditetapkan oleh mikroprosesor secara langsung. Gambar 1 menggambarkan kerja internal khas RTC sederhana.
Gambar 1: Blok Rangkaian Internal PCA21125 |
Mereka biasanya antarmuka ke rangkaian mikroprosesor oleh SPI atau I2C serial bus, dan dapat berisi sejumlah fungsi lain seperti memori cadangan, pengawas waktu untuk mengawasi mikroprosesor dan penghitung waktu mundur untuk menghasilkan peristiwa real time. Beberapa RTC termasuk output interupsi kedua atau menit dan bahkan cukup pintar untuk menghitung tahun kabisat (lihat gambar 2).
Gambar 2: Diagram aliran data fungsi waktu. |
Ini dapat memungkinkan RTC untuk merasakan riak 50/60Hz pada catu daya utama, atau mendeteksi dan mengakumulasikan transisi yang berasal dari tanda waktu unit GPS. RTC yang melakukan ini beroperasi seperti fasa terkunci loop (PLL), menggeser referensi jam internal untuk 'menguncinya' ke sinyal eksternal. Jika RTC kehilangan referensi eksternalnya, ia dapat mendeteksi peristiwa ini (karena PLLnya tidak terkunci) dan bebas lari dari osilator internalnya.
Beberapa RTC mempertahankan pengaturan Osilator pada titik terakhir yang diketahui sebelum tidak terkunci dengan input. Resolusi waktu adalah pertimbangan penting - seberapa akurat Anda perlu membaca arus waktu? Ini ditentukan oleh lembar data RTC, tetapi pada akhirnya dibatasi oleh frekuensi osilator.
Sebuah RTC yang dijalankan dari referensi internalnya sendiri akan mengintegrasikan kesalahan yang berkaitan dengan akurasi absolut dari referensi kristal, dan dipengaruhi oleh sejumlah kondisi termasuk suhu. Kristal ditentukan untuk beroperasi dalam kisaran suhu, biasanya sekitar - 10°C ~ 60°C - dan akurasinya berkurang jika desain menyimpang di luar ini (gambar 3).
Beberapa RTC memiliki kompensasi suhu terintegrasi yang dapat memperpanjang dan meningkatkan akurasi rangkaian Osilator Kristal. Kristal juga menua, dan ini mengubah sifat fisik mereka, yang mengarah pada kesalahan tambahan. Kristal berbiaya rendah tipikal memiliki toleransi frekuensi sekitar +/-20ppm (bagian per juta), dan secara perlahan mengakumulasi kesalahan. Kristal +/-20ppm dapat melayang sejauh 72mS setiap jam, atau 1.7 detik per hari. Mereka kadang-kadang membutuhkan kalibrasi ulang untuk mengoreksi penyimpangan.
Prosesor yang terhubung memperoleh 'waktu sistem' yang diperbarui dengan beberapa cara dan menulis nilai baru ini ke RTC untuk mulai menghitung. Waktu sistem ini dapat berasal dari input manual dari antarmuka pengguna, membaca unit GPS atau dari koneksi cloud.
Gambar 3: Penyimpangan frekuensi dengan suhu kristal 32.768kHz khas. |
Banyak RTC dapat mendeteksi perubahan ini dan masuk ke kondisi daya sangat rendah di mana mereka mematikan semua rangkaian kecuali yang penting untuk menjaga jam agar menghemat baterai. RTC juga dapat mencakup fungsi alarm - atur waktu ketika tercapai memicu RTC untuk mendorong output yang membangunkan prosesor.