Tuesday 19 July 2011

Berbagai Teknik Programmer untuk AVR

Pada tulisan ini diuraikan berbagai teknik untuk memasukkan program ke dalam Flash memory pada mikrokontroller AVR. Teknik tersebut adalah sebagai berikut:

  1. Programmer AVR dengan ISP via port paralel
  2. Programmer AVR melalui port serial dengan bit-banging ISP
  3. Programmer AVR dengan ISP via port serial dengan protokol serial
  4. Programmer AVR via port serial dengan bootloader
  5. Programmer USB dengan bit banging
  6. Programmer USB dengan port serial
  7. Programmer Tegangan Tinggi (HV Programmer)
Berikut di bawah ini adalah uraian dari masing-masing teknik tersebut.

Programmer AVR dengan ISP via port paralel

Pada programmer jenis ini, pemrograman dimasukkan melalui port SPI (Serial Peripheral Interface) di mikrokontroler AVR. Teknik ini dikenal juga dengan nama ISP (In System Programming), artinya mikrokontroler dapat diprogram pada sistem yang sudah tersolder, tanpa perlu mencopot mikrokontroler tersebut dari PCB. Pada teknik ini, pin-pin ISP di AVR langsung dikendalikan oleh port paralel dari PC.

Ada 2 varian rangkaian jenis ini, yaitu programmer tanpa buffer dan programmer dengan buffer.
Blok diagram rangkaian tanpa buffer adalah sebagai berikut:


Blok diagram rangkaian dengan buffer adalah sebagai berikut:

Contoh hardware rangkaian programer jenis ini adalah sebagai berikut:
Sebagai pasangan hardware programmer, diperlukan juga software di PC untuk melakukan programming. Contohnya adalah sebagai berikut:

Programmer AVR melalui port serial dengan bit-banging ISP

Blok diagram sederhana

Pin-pin ISP dikendalikan oleh port serial dari PC, .
Pemrograman tidak menggunakan protokol komunikasi serial, melainkan menggunakan metode ''bit-banging''. Contoh rangkaian dapat dilihat di URL berikut. http://www.lancos.com/siprogsch.html .
Software dapat menggunakan PonyProg

Programmer AVR dengan ISP via port serial dengan protokol serial


Pada programmer ini, PC berkomunikasi melalui protokol serial dengan sebuah mikroprosesor.
Mikroprosesor ini kemudian mengendalikan pin-pin ISP pada mikrokontroler AVR yang akan diprogram.
Contoh Rangkaian

Programmer AVR via port serial dengan bootloader


Pada programmer jenis ini, pada AVR yang akan diprogram diaktifkan dulu suatu program kecil bernama ''bootloader''. PC mengirimkan software yang akan diprogramkan ke program bootloader ini , kemudian program bootloader akan memprogram memori Flash dengan program yang diinginkan tersebut.
Contoh software bootloader

Programmer USB dengan bit banging


Pada programmer jenis ini, sebuah mikroprosesor dipakai untuk menerima sinyal USB langsung dari PC tanpa menggunakan chip khusus USB. Mikroprosesor programmer ini kemudian memprogram chip AVR melalui koneksi ISP.
Contoh rangkaian programmer USB dengan bit banging
Contoh produk jadi:

Programmer USB dengan port serial


Pada dasarnya programmer USB ini adalah salah satu dari programmer via serial di atas, namun port serial yang digunakan adalah komponen konverter USB to Serial Adapter.

Programmer Tegangan Tinggi (HV Programmer)

Programmer ini mengakses flash di AVR melalui port paralel di AVR. Pada waktu pemrograman diperlukan tegangan +12V pada pin tertentu, oleh karena itu teknik ini disebut programmer tegangan tinggi. Tegangan tinggi di sini tidak mencapai puluhan ataupun ratusan volt, tapi hanya +12 V. Keunggulannya utama programmer adalah dapat dipakai untuk memprogram chip AVR yang sempat dimatikan SPI atau pin Resetnya. Kelemahannya adalah rangkaian programmernya cukup kompleks dan juga chip mikrokontroler yang diprogram harus dilepas dari PCB.

Terdapat beberapa rangkaian programmer yang berbasis berbasis dari board STK500 sebagai berikut:
Programmer paralel tegangan tinggi sederhana:

2 comments:

  1. Versi terakhir dapat dilihat di http://sistem-digital.ee.itb.ac.id/wiki/index.php/Programmer_AVR

    ReplyDelete