Sabtu, 30 Januari 2010

AVR : Clock dgn Crystal dan Resonator Keramik

.
Mikrokontroller bisa menggunakan sumber clock yang berbeda baik internal clock (beberapa mikrokontroller) maupun eksternal clock. Ada beberapa pilihan sumber clock eksternal yang dapat menjadi pilihan antara lain : Sumber Clock lain (IC 555, dll), RC Oscillator, Crystal dan Resonator Keramik. Penggunaan Crystal maupun Resonator Keramik untuk beberapa perancangan hardware menyebabkan masalah. Oleh sebab itu saya mencoba membahas penggunaan Crystal dan Resonator keramik sebagai sumber clock.

Pada AVR sumber clock dipilih dengan mengatur fuses-nya. Kebanyakan programmer ISP maupun paralel dapat memprogram fuse ini untuk mengatur sumber clock. Program fuse tidak terhapus apabila memori program AVR dihapus oleh sebab itu fuse diprogram jika hanya konfigurasi fuse harus diprogram. Memprogram fuse setiap saat memori program dihapus dan diprogram kembali tidak begitu penting atau memprogram fuse cukup 1 kali saja.

Tidak semua mikrokontroller AVR mampu berjalan untuk berbagai sumber clock eksternal oleh sebab itu selalu baca datasheet dengan seksama karena penggunaan sumber clock yang berbeda dengan kemampuan dan spesifikasi mikrokontroller menyebabkan mikro tersebut tidak berfungsi. Dan juga konfigurasi fuse tidak di clear (diubah logikanya dari 1 menjadi 0) ketika memori program dihapus (mikrokontroller diprogram), hal ini bisa menjadi masalah jika konfigurasi fuse salah.

Crystal dan Resonator Keramik
Tipe tipikal Crystal yang digunakan untuk AVR adalah Crystal AT-cut parallel resonant. Resonantor keramik mirip dengan AT-cut parallel resonator tetapi lebih murah dan kualitas rendah versi Crystal. Resonator keramik memiliki Q-Value yang rendah yang memiliki kekurangan dan kelebihan.
Resonator keramik memiliki Q-value yang rendah sehingga dapat diatur ke frekuensi yang dikehendaki, tetapi sensitif terhadap perubahan suhu dan perubahan beban yang dapat menyebabkan perubahan frekuensi yang tidak dikehendaki. Kelebihan resonator keramik yaitu memiliki waktu start-up yang lebih cepat dibanding Crystal.
Untuk Crystal, noise dapat dikurangi dengan menghubungkan body crystal ke ground digital sistem.

Parallel Resonator membutuhkan tambahan komponen reaktif seperti kapasitor.
Ada 2 rangkaian dasar parallel resonator seperti gambar disamping. Gambar A jika sumber clock yang digunakan lebih dari 400kHz sedangkan gambar B jika sumber clock digunakan untuk low frekuensi (32,768 kHz) seperti pada RTC (Real Time Clock). Pada low frekuensi umumnya telah terdapat kapasitor internal sehingga tidak perlu kapasitor eksternal dan hanya dibutuhkan sumber clock saja.

Jika lebih dari 400kHz kapasitor eksternal dengan nilai yang tepat harus dipasangkan agar parallel resonator bekerja dengan stabil. Apabila nilai kapasitor terlalu besar maka oscillator akan mengalami masalah saat akan mulai berosilasi.

Jika menggunakan konfigurasi "ext. crystal oscillator", Crystal dengan nilai lebih dari 400kHz dapat digunakan dan nilai kapasitor yang dianjurkan antara 22pF - 33pF.
Jika menggunakan konfigurasi "ext. low frequency crystal", yang menggunakan Crystal 32,768 kHz maka internal kapasitor pada XTAL1 dan XTAL2 dapat diaktfikan dengan memprogram fuse CKOPT. Kapasitor internal biasanya bernilai 20pF tetapi dapat bervariasi.

Frekuensi resonator tergantung pada nilai kapasitor yang digunakan, frekuensi akan bertambah jika nilai kapasitifnya berkurang sebaliknya frekuensi akan berkurang jika nilai kapasitifnya bertambah. Kristal memiliki Q-faktor yang lebih tinggi daripada resonator keramik sehingga memiliki frekuensi yang lebih stabil terhadap perubahan nilai kapasitif. Kristal 32,768 memiliki Q-factor yang tinggi dan frekuensi yang sangat stabil dan sangat tepat sehingga digunakan sering untuk fungsi pewaktuan.

Oscillator bisa terpengaruh secara crusial terhadap lingkungan yang terdapat noise. Jika noise tersebut kuat maka oscillator akan "lock up" dan berhenti berosilasi. Untuk membuat oscillator tidak begitu sensitif terhadap noise dapat dengan menambah nilai salah satu kapasitor pada XTAL1. Hal ini tidak berpengaruh pada total nilai beban kapasitif tetapi dapat mempengaruhi frekuensi resonansi dan mengubah nilai duty cycle menjadi tidak seimbang. Nilai kapasitor yang berbeda (unbalanced) tidak digunakan apabila menggunakan kecepatan AVR mendekati batas kecepatan maksimumnya.

Beberapa kesimpulan :
  • Mikrokontroller AVR bisa menggunakan clock internal (datasheet) ataupun clock eksternal.
  • Crystal lebih baik dan lebih stabil dibanding Resonator Keramik.
  • Gunakan kapasitor dan nilai yang tepat yaitu 22pF-33pF jika frekuensi >=400kHz.
  • Kapasitor oscillator harus bernilai sama antar Xtal1 dan Xtal2
  • Oscillator dan komponen kapasitif tidak boleh jeuh dari pin Mikrokontroller.
  • Body Crystal harus di groundkan untuk kestabilan sistem terhadap noise.

Topik yang Populer