UNIVERSITAS BINA NUSANTARA
Jurusan Sistem Komputer Program Studi Sistem Digital Skripsi Sarjana Komputer Semester Genap 2006 / 2007
STANDALONE AVR PROGRAMMER Hendra Tejo Saputra
(0700690413)
Rinaldo Yotanto Setiawan
(0700713726)
Indra Buana Utama
(0700721330)
Abstrak Tujuan dari penelitian ini adalah untuk membuat suatu sistem pemrograman AVR yang bersifat portable yang mana kami membuat sebuah modul sistem berbasiskan AVR AT8535 sebagai AVR Programer / Master dan AT8515 sebagai AVR Socket. Demikian cara kerja modul, mula – mula data file hex dikirim dari PC ke AVR Programer / Master kemudian akan menyimpannya ke Memory Eksternal. Setelah file hex tersimpan proses pemrograman tidak memerlukan bantuan PC lagi. Data file hex yang sudah tersimpan pada Memory Eksternal dapat dipilih untuk nantinya ditulis ke AVR Socket, dengan demikian pemrograman AVR dapat dilakukan selama berulang – ulang selama data pada Memory Eksternal masih tersimpan. Stand Alone yang dibuat hanya bisa memprogram jenis AVR AT mega 8515 serta dalam hal perbandingan dengan memprogram menggunakan AVR codevision bila diduplikasikan program berkali-kali maka Stand Alone AVR dapat menghemat waktu 20% lebih cepat dari pemrograman menggunakan AVR codevision .Alat ini dapat dikembangkan lagi menjadi AVR programmer yang dapat memprogram semua jenis AVR
Kata Kunci : AVR Programer / Master, AVR Socket, Pemrograman, , Memory Eksternal
-iv-
PRAKATA
Puji syukur kepada Tuhan Yang Maha Esa atas berkat, rahmat dan karunia-Nya yang telah membimbing dan menguatkan hati penulis sehingga penulis dapat menyusun dan menyelesaikan penulisan skripsi dengan judul “Standalone AVR Programmer”, sebagai tugas akhir dan prasyarat untuk memperoleh gelar kesarjanaan (S1) di Jurusan Sistem Komputer Universitas Bina Nusantara, Jakarta Barat. Dalam menyelesaikan skripsi ini, penulis banyak mendapatkan bantuan serta dukungan moral dari banyak pihak. Oleh karena itu, penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada semua pihak yang telah membantu dalam menyusun dan menyelesaikan skripsi ini : 1. Kedua Orang Tua dan kakak penulis yang telah membesarkan, mendidik, membentuk, memberikan kesempatan pada kami untuk belajar di perguruan tinggi, memberikan motivasi, dorongan, serta material dalam proses penyusunan skripsi ini. 2. Bapak Prof. Dr. Gerardus Polla, M.App.Sc, selaku Rektor Universitas Bina Nusantara yang telah memberikan kesempatan bagi penulis untuk dapat menimba ilmu dalam jurusan Sistem Komputer Universitas Bina Nusantara. 3. Bapak Ir. Sablin Yusuf, M.Sc, M.Comp.Sc selaku Dekan Fakultas Ilmu Komputer yang telah memberikan kesempatan bagi penulis untuk dapat menimba ilmu dalam jurusan Sistem Komputer Universitas Bina Nusantara. 4. Bapak Wiedjaja, S.Kom, M.Kom, selaku Dosen Pembimbing dan Kepala Jurusan
Sistem
Komputer
Universitas
-v-
Bina
Nusantara
yang
telah
mengorbankan waktu, keringat, dan tenaganya untuk membimbing, memberikan materi, petunjuk, saran, kritik dan ide selama penyusunan skripsi ini. 5. Bapak Robby Saleh, S.Kom selaku Sekretaris Jurusan Sistem Komputer atas nasehat dan bimbingannya. 6. Para rekan Asisten dan Staff Computer Engineering Laboratorium Universitas Bina Nusantara yang telah memberikan masukan dan dukungan yang berharga. 7. Para rekan Hardware Club (HWC) dan Bengkel yang telah banyak membantu dan memberikan masukan serta dukungan kepada penulis selama penyusunan penelitian. 8. Para Dosen dan Staff Universitas Bina Nusantara yang telah memberikan ilmu, bimbingan dan pengajaran yang sangat berharga kepada penulis. 9. Kedua orang tua beserta seluruh keluarga penulis yang telah memberikan dorongan semangat, motivasi, materil dan doa untuk kami dalam menyusun dan menyelesaikan skripsi ini. 10. Teman – teman Jurusan Sistem Komputer yang tidak dapat kami sebutkan satu-persatu yang selalu memberikan dukungan, dorongan, masukan dan ide selama penyelesaian penelitian ini.
-vi-
Tak ada gading yang tak retak, penulis menyadari bahwa masih banyak kekurangan dalam penelitian ini. Oleh karena itu penulis mengharapkan kritik dan saran yang bersifat membangun dari berbagai pihak dan rekan-rekan pembaca untuk membuat penelitian ini menjadi lebih baik. Akhir kata, semoga penelitian ini dapat berguna dan bermanfaat bagi kepentingan orang banyak dan sebagai masukan bagi perkembangan dunia komputer. Terima kasih.
Jakarta, Juni 2007
Penulis
-vii-
DAFTAR ISI
Halaman Judul Luar...............................................................................................................i Halaman Judul Dalam...........................................................................................................ii Halaman Persetujuan Hardcover..........................................................................................iii Abstrak.................................................................................................................................iv PRAKATA............................................................................................................................v DAFTAR ISI......................................................................................................................viii DAFTAR TABEL...............................................................................................................xii DAFTAR GAMBAR .........................................................................................................xiii DAFTAR LAMPIRAN......................................................................................................xvi BAB I PENDAHULUAN.....................................................................................................1 1.1
Latar Belakang ...................................................................................................1
1.2
Ruang Lingkup...................................................................................................1
1.3
Tujuan dan Manfaat ...........................................................................................2
1.4
Metodologi Penelitian........................................................................................2
1.5
Sistematika Penulisan ........................................................................................ 3
BAB II LANDASAN TEORI............................................................................................... 5 2.1
AVR ................................................................................................................... 5
2.2
AT Mega 8535 ...................................................................................................7
2.3
Komunikasi serial menggunakan SPI ..............................................................11
2.4
Komunikasi menggunakan I2C........................................................................ 15
2.5
Pemrograman memory.....................................................................................18
- viii
2.5.1
Pemrograman paralel ...............................................................................18
2.5.2
Pemrograman serial .................................................................................20
2.5.3
JTAG........................................................................................................23
2.6
Memori Eksternal AT24C512..........................................................................24
2.6.1
Pengalamatan AT24C512 .........................................................................26
2.6.2
Operasi Penulisan......................................................................................26
2.6.3
Operasi Baca .............................................................................................27
BAB III PERANCANGAN SISTEM.................................................................................29 3.1
Rancangan Perangkat Keras ............................................................................29
3.1.1
Blok Diagram Sistem................................................................................29
3.1.2
Skematik ...................................................................................................30
3.1.3
Penjelasan Sistem......................................................................................30
3.1.4
Komunikasi antara AVR Programmer dengan PC ...................................32
3.1.5
Parallel port PC .........................................................................................33
3.1.6
Komunikasi antara AVR Programmer dengan Memory Eksternal ..........35
3.1.7
Komunikasi antara AVR Programmer dengan AVR Socket....................36
3.1.8
Penggunaan tombol sebagai masukkan bagi AVR Programmer ..............38
3.1.9
Tampilan interface dengan LCD...............................................................39
3.2
Rancangan Perangkat Lunak............................................................................ 41
3.2.1
Diagram Alir Program Utama.................................................................. 42
3.2.2
Diagram Alir Programming Mode...........................................................43
3.2.3
Diagram Alir PC Mode............................................................................46
3.2.4
Diagram Alir Erase Mode........................................................................50
-ix-
3.2.5
Diagram Alir Program VB untuk Penyimpannan File Hex dari PC ke Memory Ekternal..................................................................................52
3.2.6
Diagram Alir Program VB untuk Penyimpanan File Hex dari PC ke Memory Eksternal................................................................................54
3.2.7
Diagram Alir Penulisan File Hex dari AVR programmer ke Memory Eksternal....................................................................................................56
3.2.8
Diagram Alir Pembacaan Memory Eksternal oleh AVR Programmer.....58
3.3
Format Penyimpanan File Hex di Memory Eksternal…..................................60
3.4
Interface Program VB……………………………….…..................................62
3.5
Verifikasi Hasil Tulis ke Memory Eksternal…………....................................64
3.6
Pemeriksaan File Hex……………………………….…..................................66
BAB IV IMPLEMENTASI DAN EVALUASI.................................................................. 68 4.1.
Spesifikasi Sistem dan Kebutuhan Sarana....................................................... 68
4.1.1.
Spesifikasi Kebutuhan Perangkat Keras .................................................. 68
4.1.2.
Spesifikasi Kebutuhan Perangkat Lunak ................................................. 69
4.2.
Daftar Komponen Modul Standalone AVR Programmer................................69
4.3.
Implementasi Sistem........................................................................................70
4.3.1.
Implementasi Perangkat Keras ................................................................70
4.3.2.
Implementasi Perangkat Lunak................................................................72
4.4.
Evaluasi Hasil Percobaan.................................................................................74
4.4.1.
Percobaan 1 Komunikasi Antara PC dan AVR Programmer secara SPI. 74
4.4.2.
Percobaan 2 Penulisan File Hex ke Memory Eksternal...........................77
4.4.3.
Percobaan 3 Penyimpanan File Hex dari PC ke Memory Eksternal .......78
-x-
4.4.4.
Percobaan 4 Keberhasilan Penulisan Data ke Memory Eksternal ........... 80
4.4.5.
Percobaan 5 Penulisan ke AVR Socket ...................................................81
4.4.6.
Percobaan 6 Perbandingan Pemrograman antara Standalone AVR Programmer dengan Codevision AVR ....................................................83
4.4.7.
Total Waktu Pemrograman AVR Socket dengan Standalone AVR Programmer..............................................................................................87
BAB V Kesimpulan Dan Saran .......................................................................................... 91 5.1
Kesimpulan ......................................................................................................91
5.2
Saran ................................................................................................................91
DAFTAR PUSTAKA ......................................................................................................... 92 DAFTAR RIWAYAT HIDUP ........................................................................................... 93
-xi-
DAFTAR TABEL
Tabel 2.1 Fungsionalitas CPOL..........................................................................................14 Tabel 2.2 Fungsionalitas CPHA .........................................................................................14 Tabel 2.3 Hubungan antara SCK dan frekuensi osilator.....................................................14 Tabel 2.4 Pemetaan nama pin .............................................................................................19 Tabel 2.5 Jumlah word dalam satu page dan jumlah page dalam Flash ............................. 23 Tabel 3.1 Konfigurasi Pin ...................................................................................................32 Tabel 3.2 Konfigurasi Pin Sambungan antara AVR Programmer dengan LCD ................40 Tabel 3.3 Fungsi Pin pada LCD..........................................................................................40 Tabel 3.4 Format penulisan file hex per blok memory....................................................... 61 Tabel 4.1 Daftar Komponen Modul Standalone AVR Programmer...................................70 Tabel 4.2 Komunikasi antara PC dengan AVR Programmer .............................................76 Tabel 4.3 Percobaan penulisan file hex ke Memory Eksternal...........................................78 Tabel 4.4 Waktu Penyimpanan file Hex dari PC ke Memory Eksternal ............................ 79 Tabel 4.5 Pengujian Keberhasilan Penulisan Data ke Memory Eksternal..........................81 Tabel 4.6 Pengujian Penulisan ke AVR Socket..................................................................82 Tabel 4.7 Pengujian Pemrograman ke AVR Socket dengan Standalone AVR Programmer.........................................................................................................84 Tabel 4.8 Pengujian Pemrograman ke AVR Socket dengan Codevision AVR..................84 Tabel 4.9 Perbandingan total waktu pemrograman antara Standalone AVR Programer dan Codevision AVR .......................................................................................... 89
-xii-
DAFTAR GAMBAR
Gambar 2.1 Konfigurasi pin AT Mega 8535 ........................................................................7 Gambar 2.2 Koneksi unit Master dan Slave .......................................................................12 Gambar 2.3 Definisi bit SPCR............................................................................................13 Gambar 2.4 Konfigurasi I2C dengan lebih dari 2 device ................................................... 15 Gambar 2.5 Timing diagram dari I2C................................................................................. 16 Gambar 2.6 Paket data untuk melakukan penulisan menuju slave.....................................17 Gambar 2.7 Konfigurasi pin dalam pemrograman paralel.................................................. 18 Gambar 2.8 Diagram Alir algoritma ISP ............................................................................ 22 Gambar 2.9 Contoh rangkaian JTAG .................................................................................24 Gambar 2.10 Konfigurasi pin AT24C512 ..........................................................................25 Gambar 2.11 Device Addressing untuk AT24C512 ...........................................................26 Gambar 2.12 Urutan operasi penulisan...............................................................................27 Gambar 2.13 Urutan operasi baca (current address read)................................................... 28 Gambar 2.14 Urutan operasi baca (random read)............................................................... 28 Gambar 3.1 Blok Diagram Sistem ......................................................................................29 Gambar 3.2 Skematik Rangkaian .......................................................................................30 Gambar 3.3 Kabel komunikasi AVR Programmer ke PC ..................................................33 Gambar 3.4 Konfigurasi Pin pada Parallel Port..................................................................34 Gambar 3.5 Switch penghubung antara AVR Programmer dengan AVR Socket..............37 Gambar 3.6 Letak penempatan tombol pilih (atas) dan tombol enter (bawah) ..................39 Gambar 3.7 Diagram Alir Program Utama......................................................................... 43
- xiii
Gambar 3.8 Diagram Alir Programming Mode..................................................................45 Gambar 3.9 Diagram Alir PC Mode untuk Penyimpanan File Hex ke Memory Eksternal.........................................................................................47 Gambar 3.10 Diagram Alir PC Mode untuk Pengiriman File Hex dari Memory Eksternal ke PC.............................................................................................49 Gambar 3.11 Diagram Alir Erase Mode .............................................................................51 Gambar 3.12 Diagram Alir Program Pendukung untuk penyimpanan File Hex dari PC ke Memory Eksternal....................................................................................53 Gambar 3.13 Diagram Alir Program Pendukung untuk pengiriman File Hex dari Memory Eksternal ke PC ..............................................................................55 Gambar 3.14 Diagram Alir penulisan file hex dari AVR Programmer ke Memory Eksternal.........................................................................................57 Gambar 3.15 Diagram Alir Pembacaan Memory Eksternal oleh AVR Programmer.........59 Gambar 3.16 Pembagian memory eksternal .......................................................................60 Gambar 3.17 Interface Program VB ...................................................................................64 Gambar 3.18 Contoh terjadinya kegagalan pada verifikasi hasil penulisan ke Memory .
Eksternal .......................................................................................................65
Gambar 3.19 tampilan program setelah user memilih file hex...........................................66 Gambar 3.20 tampilan pesan kesalahan ketika ukuran file hex melebihi batas maksimum67 Gambar 4.1 User Interface..................................................................................................73 Gambar 4.2 Komunikasi antara PC dengan AVR Programmer via SPI.............................74 Gambar 4.3 Contoh pengiriman data antara PC dengan AVR Programmer ......................75 Gambar 4.4 Komunikasi antara AVR Programmer dengan Memory Eksternal ................77
- xiv
Gambar 4.5 Penyimpanan file hex dari PC ke Memory Eksternal .....................................79 Gambar 4.6 Perbandingan kecepatan komunikasi antara PC dengan AVR Programmer ..80 Gambar 4.7 Pemrograman AVR Socket.............................................................................82 Gambar 4.8 Grafik perbandingan waktu pemrograman antara Standalone AVR Progammer dengan Codevision AVR ...................................................85 Gambar 4.9 Grafik perbandingan kecepatan pemrograman antara Standalone AVR Progammer dengan Codevision AVR ...................................................86 Gambar 4.10 Grafik perbandingan total waktu pemrograman ...........................................90
-xv-
DAFTAR LAMPIRAN
LAMPIRAN A SKEMATIK RANGKAIAN......................................................................................LA-1LAMPIRAN B LISTING PROGRAM AVR PROGRAMMER ........................................................ LB-1LAMPIRAN C DATA SHEET ........................................................................................................... LC-1-
- xvi