Tuesday, December 9, 2008

Internal Oscilator Microcontroller

Yupzzz karena kemaren dapet pesanan dari "mazveri" tentang Internal Oscilator.., jadi lanjutan artikel ADCnya kita tunda dulu yaww... ^_^.

Kebanyakan rangkaian microcontroller yang kita gunakan menggunakan sumber clock Oscilator Eksternal (XTAL). Ada yang menggunakan 4 MHz,11.0592 MHZ, 12 MHz dll. Selain itu microcontroller juga dilengkapi Internal Oscilator. Jika kita mengaktifkan Internal Oscilator ini, maka kita tidak perlu menambahkan XTAL pada rangkaian kita.

Register yg berhubungan dg Oscilator:

Perhatikan gambar berikut :

image

Gambar di samping berasal dari datasheet ATmega8535 hal. 239.

Register yang berhubungan dengan Oscilator adalah SUT1..0 dan CKSEL3..0

SUT1..0 berfungsi untuk menentukan waktu start-up Oscilator

CKSEL3..0 untuk menentukan sumber Oscilator. Apakah internal atau eksternal?

image

Gambar di samping berasal dari data sheet ATmega8535 hal. 25

Perhatikan kombinasi nilai CKSEL3..0

Saat kita membeli chip ATmega 8535, register CKSEL3..0 telah diset oleh pabriknya dengan nilai "0001" biner. Ini berarti Internal Oscilator telah diaktifkan. Nilai Internal Oscilator ATmega8535 adalah 1MHz.

Mungkin ada yg nanya??? Jika dari setting awalnya chip ATmega8535 menggunakan Internal Oscilator, Mengapa eksternal oscilator (XTAL) saya berfungsi ??Mengapa setting Oscilator berubah menggunakan Eksternal Oscilator???

Setting Register-Register Oscilator

Saat kita mendownload program ke chip ATmega, setting default programmer CodeVision AVR seperti berikut:

image

Perhatikan setting fuse bit.

Register CKSEL3..0 diisi dengan nilai "0000" biner. Berarti setting Oscilator chip ATmega berubah menggunakan Oscilator Eksternal.

Kesimpulannya tanpa sadar kita telah merubah setting yang telah diset oleh pabrik.

Jika kita mau mengaktifkan lagi Internal Oscilator maka centang bit CKSEL0, agar register CKSEL bernilai "0001"

Lalu jika sudah ada Internal Oscilator, mengapa banyak orang yang menggunakan Oscilator Eksternal??

Beragam alasannya, misal:

  1. jika kita menggunakan chip ATmega untuk komunikasi serial(RS232) sebaiknya kita memakai XTAL 11,0592 MHz agar tidak ada error saat setting baudrate (error= 0%).
  2. menggunakan XTAL 4MHz, agar chip bisa lebih cepat jika dibandingkan dengan internal oscilator yang hanya 1MHz.

NB:

Jika kita sudah terlanjur men "SET" sumber clock chip menggunakan Oscilator Eksternal, maka kita harus memasang XTAL pada rangkaian microcontroller kita. Jika tidak microcontroller kita tidak akan berfungsi.

Saat XTAL telah terpasang dan rangkaian microcontroller kita sudah berfungsi, baru kita bisa merubah sumber clock chip agar kembali menggunakan Internal Oscilator atau tetap menggunakan Eksternal Oscilator

any questions?? post comment on this blog: http:\\avrku.blogspot.com

or send email to: zigan@ymail.com

CodeVisionAVR C Compiler is copyright by Pavel Haiduc, HP InfoTech s.r.l.
AVR is a registered trademark of Atmel Corporation.

No comments:

Post a Comment