Pemrogram mikrokontroler AVR. Pemrogram sederhana. Pembuatan programmer LPT untuk Programmer mikrokontroler AVR menggunakan port COM

Cukup sering, banyak orang menemukan desain yang menarik di Internet, tetapi ada satu hal yang menghambatnya - desain itu dibuat menggunakan pengontrol. Dan itu sangat sulit...

Faktanya, semuanya jauh lebih sederhana. Jika memungkinkan untuk membeli pengontrol, separuh pekerjaan sudah selesai. Yang tersisa hanyalah “menyetrika” papan, mengetsa dan menyoldernya dengan bagian-bagiannya... Dan sekarang sampai pada pengontrol. Bagaimana cara “menghidupkan kembali” dia? Bagaimana cara "mem-flash"? Pencarian menyakitkan untuk rangkaian dan program pemrogram dimulai. Sirkuit ditemukan, tetapi sial - di dinding belakang komputer sudah terdapat 8 konektor USB, port untuk printer dan tidak ada satu pun port COM tempat sirkuit ditemukan.

Ada pilihan lain untuk pengembangan acara. Ada port COM di komputer. Tetapi karena alasan tertentu pemrogram menolak untuk "menjahit" pengontrol - kesalahan terus-menerus muncul. Namun faktanya seringkali pada motherboard modern (dan terutama pada laptop) port COM dibuat dengan arus yang sangat rendah. Oleh karena itu, proses pemrograman berakhir bahkan sebelum dimulai. Dalam semua kasus di atas, diagram sederhana ini akan membantu Anda.

Ini adalah programmer untuk port LPT. Terlepas dari semua kerumitan yang tampak, skema ini cukup sederhana dan langsung berfungsi, tanpa memerlukan konfigurasi apa pun. Suku cadangnya tersedia dan harganya sangat mahal. Tapi kemungkinannya... Dengan perangkat ini Anda dapat dengan mudah mem-flash pengontrol tidak hanya di soket, tetapi juga di sirkuit (ini berlaku untuk perangkat yang papannya dikabelkan untuk casing pengontrol SMD, tetapi Anda tidak ingin membeli a soket seharga $20 untuk itu).

Setelah dirakit tampilannya seperti ini:

Programmer dengan sedikit perbedaan ini telah menjelajahi Internet selama kurang lebih 20 tahun, dikenal dengan nama Clasic Tait Programer, ProPIC2, ​​​​meProg. Itu masih diproduksi oleh beberapa perusahaan dan berhasil dijual.

Versi terbaru perangkat lunak ini dapat diunduh dari sini:

  • http://www.winpic800.com/
  • http://melabs.com/support/progsoft.htm
  • http://members.aon.at/electronics/pic/picpgm/

Berikut adalah pengaturan untuk WinPIC800:

Dan ini adalah adaptor untuk mem-flash pengontrol keluaran 8-14-18-20.


Diagram ini juga sering dilihat:

Untuk pemula, pertanyaannya adalah “apa yang akan kita gunakan untuk mem-flash pengontrol kita?” segera bangun. Masalah ini dapat diselesaikan dengan dua cara - kita membeli pemrogram serial atau membuat sendiri. Tentu saja, tidak disarankan untuk membeli salah satu pemrogram serial pada tahap awal mengenal mikrokontroler. Solusi paling sederhana adalah apa yang disebut programmer “lima kabel”. Opsi ini cukup cocok untuk penggunaan satu kali, tetapi ada bahaya besar bahwa cepat atau lambat port LPT Anda di komputer akan habis. Sebagai pilihan yang murah dan aman untuk pemrogram port paralel, kami menggunakan sirkuit yang lebih canggih.

Memperkenalkan pemrogram port paralel yang sederhana dan aman. Rangkaian programmer cukup umum dalam berbagai variasi dan didasarkan pada penggunaan chip buffer 74HC 244N. Buffer menjaga port printer Anda tetap aman. Selain itu, sebuah resistor disertakan dalam rangkaian, yang tujuannya adalah untuk melindungi dari listrik statis.

Pemrogram ini kompatibel dengan Atmel STK 200/300 dan didukung oleh banyak kompiler populer. Seluruh rangkaian kecil suku cadang untuk perakitannya cukup umum dan tidak akan menimbulkan kesulitan dalam pembelian. Papan sirkuit tercetak dibuat dalam versi satu sisi dengan beberapa jumper.

Untuk menghubungkan pemrogram ke komputer, akan lebih mudah menggunakan kabel ekstensi port LPT.

Skema dalam format sPlan 6.0 dan tata letak papan dalam format Tata Letak Sprint Anda dapat mengunduh 4.0 di bawah LUT di bawah.

Jika Anda berencana membuat perangkat apa pun menggunakan mikrokontroler Atmel AVR (atau bahkan Arduino buatan Anda sendiri), Anda tidak dapat melakukannya tanpa seorang programmer. Pemrogram akan mengizinkan Anda mem-flash mikrokontroler dengan program yang diinginkan atau, dalam kasus Arduino, menulis bootloader yang sesuai ke dalam memori mikrokontroler.

Secara umum, ada banyak sekali pemrogram, berbeda dalam kompleksitas perakitan, kecepatan firmware, dan keandalan operasional. Yang paling sederhana adalah opsi yang populer disebut “Five Wiring”. Namun keandalannya masih menyisakan banyak hal yang diinginkan, karena lebih mudah untuk mematikan port LPT dengannya =) Pemrogram STK200 lebih andal, yang berisi chip buffer dan menjamin pengoperasian normal dengan port tersebut.

Namun karena kehadiran chip, pembuatannya menjadi jauh lebih sulit bagi pemula (bagi saya).

Bagaimana cara mengatasinya?

Untuk melindungi dari korsleting, kami menambahkan resistor 150 Ohm; untuk kompatibilitas dengan STK200 (ini memungkinkan Anda bekerja dengan sebagian besar program flashing), kami menghubungkan pin 2 hingga 12 dan 3 hingga 11 di LPT. Seperti yang Anda lihat, skemanya tidak menjadi lebih rumit sama sekali dan pada saat yang sama perlindungan tambahan telah muncul.

Mari kita mulai berkumpul!

Pada konektor LPT tipe pria (Anda dapat mengambilnya dari kabel kuno ke printer), Anda perlu menyambungkan kaki dari 18 hingga 25 - ini adalah output ground. Untuk melindungi dari listrik statis, Anda juga dapat menyolder resistor 1 KOhm antara ground dan badan konektor LPT.

Maka Anda perlu menghubungkan output 3 ke output 11 dan output 2 ke output 12 (ciri khas STK200)

Resistor dengan nilai nominal 100 hingga 150 Ohm disolder ke kaki 6, 7, 9, 10. Ini akan menjadi 4 keluaran sinyal kami.

Kabel bisa diambil dari IDE, lebih baik memilih yang panjangnya tanpa fanatisme, 20-30 sentimeter sudah cukup =) Semakin pendek, pada akhirnya semakin dapat diandalkan programmernya. Sebaiknya ganti setiap kabel sinyal dengan ground (seperti yang dilakukan, misalnya, pada kabel IDE yang sama) untuk melindungi dari kemungkinan interferensi.

Konektor Pemrograman Dalam Sirkuit...

Di sinilah Anda dapat membiarkan imajinasi Anda menjadi liar =) Anda dapat memisahkan grup 2x3 dari kabel IDE, Anda dapat menggunakan konektor BLS betina (menghubungkan panel depan casing ke motherboard). Saya memotong dua strip 3 pin dari penggaris 40 pin. Ternyata tidak lebih buruk =)

Setelah menyolder semua kebaikan ini, kami menutup konektor LPT dan mengagumi kreasi tangan kami.

Untuk pemula, pertanyaannya adalah “apa yang akan kita gunakan untuk mem-flash pengontrol kita?” segera bangun. Masalah ini dapat diselesaikan dengan dua cara - kita membeli pemrogram serial atau membuat sendiri. Tentu saja, tidak disarankan untuk membeli salah satu pemrogram serial pada tahap awal mengenal mikrokontroler. Solusi paling sederhana adalah apa yang disebut programmer “lima kabel”. Opsi ini cukup cocok untuk penggunaan satu kali, tetapi ada bahaya besar bahwa cepat atau lambat port LPT Anda di komputer akan habis. Sebagai pilihan yang murah dan aman untuk pemrogram port paralel, kami menggunakan sirkuit yang lebih canggih.

Memperkenalkan pemrogram port paralel yang sederhana dan aman. Rangkaian programmer cukup umum dalam berbagai variasi dan didasarkan pada penggunaan chip buffer 74HC 244N. Buffer menjaga port printer Anda tetap aman. Selain itu, sebuah resistor disertakan dalam rangkaian, yang tujuannya adalah untuk melindungi dari listrik statis.

Pemrogram ini kompatibel dengan Atmel STK 200/300 dan didukung oleh banyak kompiler populer. Seluruh rangkaian kecil suku cadang untuk perakitannya cukup umum dan tidak akan menimbulkan kesulitan dalam pembelian. Papan sirkuit tercetak dibuat dalam versi satu sisi dengan beberapa jumper.

Untuk menghubungkan pemrogram ke komputer, akan lebih mudah menggunakan kabel ekstensi port LPT.

Skema dalam format sPlan 6.0 dan tata letak papan dalam format Tata Letak Sprint Anda dapat mengunduh 4.0 di bawah LUT di bawah.

Mari kita cari tahu apa itu antarmuka ISP dan lihat programmer ISP USB yang murah dan nyaman. Mari kita lihat diagram skema programmer paling sederhana untuk mikrokontroler AVR menggunakan port COM dan LPT di komputer. Informasi ini cukup untuk mem-flash sebagian besar model mikrokontroler AVR tidak hanya di Linux, tetapi juga di OS lain.

Antarmuka Pemrograman Dalam Sistem ISP

Untuk menulis program ke mikrokontroler AVR Anda memerlukan seorang programmer.

Programmer adalah sirkuit elektronik kecil yang memungkinkan Anda menghubungkan mikrokontroler ke salah satu port komputer (COM, LPT, USB) untuk selanjutnya membaca dan menulis firmware (pemrograman).

Ada cukup banyak desain programmer yang berbeda untuk mikrokontroler AVR yang terhubung ke port komputer yang berbeda.

Opsi yang paling andal dan nyaman adalah pemrogram yang terhubung ke port USB, karena port COM dan LPT tidak lagi dipasang di komputer desktop dan laptop baru.

Pada perangkat yang sudah jadi, pemrogram terhubung ke mikrokontroler melalui antarmuka ISP(Dalam Pemrograman Sistem) - antarmuka pemrograman dalam sistem. Antarmuka ISP terdiri dari beberapa konduktor yang melaluinya sinyal clock dan data diterima untuk menghubungkan programmer dengan mikrokontroler.

Biasanya, antarmuka ISP ditempatkan pada papan dalam bentuk sepuluh atau enam pin, yang dihubungkan oleh pemrogram melalui konektor yang sesuai melalui kabel.

Beras. 4. Antarmuka ISP di papan.

Tujuan pin pada antarmuka ISP:

  1. VCC - catu daya plus, biasanya +5V;
  2. GND - daya minus, ground (Ground);
  3. MOSI - masukan data (Master Out Slave In);
  4. MISO - keluaran data (Master In Slave Out);
  5. SCK - sinyal jam (Jam Serial);
  6. RST - untuk memberikan sinyal reset.

Untuk pemrograman mikrokontroler dalam rangkaian, cukup 4 pin saja, karena mikrokontroler dapat diberi daya dari rangkaian itu sendiri di mana mikrokontroler dipasang.

Bagaimana cara menghubungkan programmer ke chip mikrokontroler AVR jika tidak disolder ke rangkaian? - sangat sederhana, menggunakan pin antarmuka ISP yang sama, jika perlu, memberi daya pada mikrokontroler dari sumber listrik.

Pemrogram USB ISP ASP

Untuk bekerja dengan chip AVR, saya membeli programmer ISP USB yang murah dengan harga sekitar $10. Perangkat seperti itu sekarang dijual di banyak toko online dalam dan luar negeri, jadi seharusnya tidak ada masalah dengan pembelian.

Beras. 5. USB ISP - programmer dengan kabel untuk pemrograman dalam sirkuit mikrokontroler AVR dari ATMEL.

Programmer ini aman digunakan, ukurannya kecil dan didukung oleh sebagian besar program untuk mem-flash mikrokontroler AVR. ISP USB berjalan pada sistem operasi Linux, Mac OS X dan Windows. Untuk Linux, Anda tidak perlu menginstal driver apa pun, setelah menghubungkan programmer ke port USB, perangkat akan langsung terdeteksi dan siap digunakan.

Di bawah ini saya akan memberikan pinout konektor programmer USB ISP - nanti akan berguna bagi kita saat menghubungkan ke mikrokontroler.

Beras. 6. Letak pin pada konektor USB ISP (pinout).

Beras. 7. Letak kontak pada soket konektor yang terhubung ke USB ISP programmer.

Apa yang harus dilakukan jika Anda tidak dapat membeli pemrogram ISP USB?- Anda dapat memprogram mikrokontroler menggunakan pemrogram buatan sendiri sederhana yang terhubung ke port COM atau LPT, tetapi lebih baik membuat ISP USB sendiri dan memprogram chip mikrokontroler sekali dengan pemrogram buatan sendiri sederhana melalui port COM atau LPT.

Beras. 8. Diagram skema programmer USB ASP ISP buatan sendiri.

Informasi lengkap tentang pembuatan USB ASP, serta papan sirkuit cetak, driver dan firmware untuk mikrokontroler dapat ditemukan di situs resmi: http://www.fischl.de/usbasp/

Selain itu, sumber daya programmer gratis ini cukup banyak di Internet, ada banyak layout papan sirkuit cetak yang sudah jadi, termasuk dalam program SprintLayout, jadi kami tidak akan membahasnya secara detail di artikel ini.

Pemrogram menggunakan port COM

Pemrogram ini juga disebut "pemrogram Gromov", untuk menghormati orang yang menemukan skema ini, pencipta program Algorithm Builder (lingkungan grafis untuk pemrograman AVR di Windows menggunakan bahasa algoritmik) - G.L. Gromova.

Pemrogram ini memungkinkan Anda memprogram chip AVR menggunakan port COM komputer - antarmuka RS232. Untuk merakit pemrogram seperti itu, Anda memerlukan minimal komponen - 3 dioda, 7 resistor, konektor DB-9 atau DB-25 (tergantung konektor kawin mana yang dipasang di komputer Anda) dan konektor ISP untuk menghubungkan ke mikrokontroler (atau hanya beberapa konduktor untuk di-chip). Dioda berdaya rendah apa pun dapat digunakan di sirkuit.

Beras. 9. Diagram skema pemrogram mikrokontroler AVR melalui port COM komputer.

Untuk kelengkapan informasi dibawah ini saya akan memberikan pinout port RS-232 untuk pilihan DB-9 dan DB-25.

Beras. 10. RS232 - Port COM, tata letak pin DB-9.

Beras. 11. RS232 COM Port DB-25 - lokasi pin pada konektor.

Pemrogram menggunakan port LPT

Seperti kita ketahui, port LPT pada komputer dirancang untuk menghubungkan printer lokal (Local Printer Port), namun tetap sering digunakan untuk menghubungkan berbagai perangkat dan produk buatan sendiri. Dalam hal ini, kita dapat menggunakannya untuk memprogram mikrokontroler AVR dengan menyusun rangkaian yang sangat sederhana untuk tujuan ini, seperti yang ditunjukkan di bawah ini.

Beras. 12. Diagram skema programmer mikrokontroler AVR menggunakan port LPT komputer.

Seperti yang Anda lihat, rangkaiannya bahkan lebih sederhana daripada versi dengan, di sini kita hanya membutuhkan 4 resistor berdaya rendah dan sebuah konektor (jantan, dengan pin) untuk menghubungkan ke port LPT komputer.

Beras. 13. Lokasi pin untuk konektor port LPT.

Semua bagian dan sambungan dapat ditempatkan di rumah konektor LPT, dan untuk menyambung ke mikrokontroler, kabel dengan konektor untuk antarmuka ISP atau sekadar konduktor yang diperlukan untuk menyambung ke mikrochip dapat dikeluarkan.

Perangkat Lunak dan Catatan

Setelah menghubungkan programmer COM atau LPT ke mikrokontroler, Anda harus ingat untuk menyuplai daya ke microchip itu sendiri. Anda dapat menggunakan baterai atau catu daya dengan stabilizer sebagai sumber daya untuk mikrokontroler; ini akan menjadi yang paling aman untuk port komputer dan chip. Kami telah membahas cara menggunakannya.

Di Linux ada program yang sangat kuat yang dapat bekerja dengan pemrogram USB ASP, COM dan LPT - program ini AVRDUDE, itu akan dibahas pada bagian berikut.

Untuk mem-flash chip AVR di Windows menggunakan data dari programmer COM dan LPT, Anda memerlukan program UniProf dari Nikolaev, yang merupakan programmer universal untuk AVR (avr.nikolaew.org).

PERHATIAN! Berhati-hatilah dan berhati-hatilah saat merakit dan menggunakan programmer menggunakan port COM atau LPT komputer, kesalahan sederhana bisa dengan mudah membakar pelabuhan-pelabuhan ini. Untuk pengoperasian normal pemrogram seperti itu, Anda harus mencoba menggunakan konduktor terpendek dari konektor ke rangkaian pemrogram dan mikrokontroler. Mikroprosesor komputer sebaiknya memiliki frekuensi tidak lebih dari 1-2 GHz, dan disarankan untuk menggunakan Win2000 atau WinXP sebagai OS untuk memprogram chip.

Penting juga untuk mengetahui bahwa adaptor USB-RS232 (Port USB-COM) kemungkinan besar tidak akan berfungsi dengan pemrogram Gromov; hanya adaptor dengan chip yang lebih baru yang dapat berfungsi, jadi lebih baik mencari mesin dengan port COM asli.

Kesimpulan

Pemrogram yang dibahas dalam artikel ini hanyalah beberapa solusi paling terjangkau dan sederhana dari daftar besar pemrogram AVR: pemrogram USBTinyISP, AVR-Doper, AVR vusbtiny, AVRISP-MkII, pemrogram FTDI, dan lain-lain.

Sekarang, bagaimanapun, Anda dapat merakit pemrogram yang tersedia untuk Anda dan mem-flash setidaknya satu chip, yang menjadi dasar Anda dapat merakit pemrogram lain yang lebih nyaman atau perangkat lain.

Pada artikel berikutnya kita akan mengetahui cara menghubungkan berbagai model mikrokontroler AVR ke pemrogram, dan mencari tahu di mana mendapatkan informasi tentang pinout mikrokontroler.