Daftar Isi:

Memahami ICSP untuk Mikrokontroler PIC: 4 Langkah (dengan Gambar)
Memahami ICSP untuk Mikrokontroler PIC: 4 Langkah (dengan Gambar)

Video: Memahami ICSP untuk Mikrokontroler PIC: 4 Langkah (dengan Gambar)

Video: Memahami ICSP untuk Mikrokontroler PIC: 4 Langkah (dengan Gambar)
Video: Tutorial Dasar Arduino (Arsitektur dan Mapping Pin Mikrokontroller AT Mega 328) 2024, November
Anonim
Memahami ICSP untuk Mikrokontroler PIC
Memahami ICSP untuk Mikrokontroler PIC

Memprogram mikrokontroler tidaklah sulit. Membangun programmer membuat proyek elektronik pertama yang hebat. Tujuan dari instruksi ini adalah untuk menjelaskan metode 'pemrograman serial dalam rangkaian' sederhana yang digunakan dengan PIC Microchip.

Langkah 1: Mengapa ICSP?

Mengapa ICSP?
Mengapa ICSP?

Memprogram chip DIP (melalui lubang) besar itu mudah. Masukkan ke dalam soket programmer, bakar, dan kembali ke sirkuit aplikasi. Uji dan ulangi.

Segalanya menjadi lebih sulit dengan chip (pemasangan permukaan) yang lebih kecil. Tidak ada soket standar untuk QFN, SSOP, QFP, atau bahkan paket SOIC.300 yang besar. Ada klip yang sangat mahal ($100) yang dapat dilampirkan, dan memprogram, chip ini. Klip yang berbeda diperlukan untuk setiap jenis chip dan jumlah pin yang Anda gunakan. Ada alternatif. Namanya ICSP. ICSP berarti 'dalam rangkaian serial programmer(ing?)'. Ini adalah cara memprogram PIC saat masih terpasang ke sirkuit aplikasi. Itu benar, tidak ada lagi pertukaran chip. Mengapa ICSP? 1. Tidak ada soket pemrograman untuk chip paket kecil. Klip itu mahal. 2. Sulit untuk memindahkan chip masuk & keluar dari programmer selama pengembangan. Tidak mungkin untuk bagian pemasangan permukaan.

Langkah 2: Apa itu ICSP?

Apa itu ICSP?
Apa itu ICSP?
Apa itu ICSP?
Apa itu ICSP?
Apa itu ICSP?
Apa itu ICSP?
Apa itu ICSP?
Apa itu ICSP?

Lima koneksi diperlukan untuk memprogram PIC saat terpasang ke sirkuit aplikasi. Saya menambahkan header 5 pin ke papan sirkuit saya untuk membuat koneksi ini cepat dan mudah. Dasar-dasar pemrograman PIC. Lima koneksi diperlukan untuk memprogram PIC. Daya, ground, tegangan pemrograman, jam, dan data.+ (Vdd)/-(Vss) Ini adalah sambungan daya & ground (Vdd, Vss). Cukup standar. Jika Anda menggunakan programmer dengan level voltase 'nyata' (BUKAN JDM2!), aplikasi Anda dapat berjalan dari catu dayanya sendiri saat diprogram, menghilangkan koneksi ini. Vpp Ini adalah voltase pemrograman. PIC memasuki mode pemrograman ketika ~13 volt ditempatkan pada pin MCLR/Vpp (biasanya pin 1 pada PIC modern, lebih lanjut di bawah). Jam/Data atau PGC/PGD Jam dan jalur data digunakan untuk menulis dan membaca PIC firmware. Ini biasanya pin yang sama dengan PORTB6 & PORTB7. Latihan: Identifikasi titik koneksi ICSP pada PIC pada gambar di bawah. Jika PIC cocok, pakailah. Saya mendapatkan banyak pertanyaan tentang desain JDM2 saya pada instruksi. Yang paling sering adalah " Akankah memprogram PIC X?'"' - inilah cara Anda mengetahui: 1) Lihat lembar data. Temukan 'Pin Diagram' yang terlihat seperti gambar di bawah ini.2) Identifikasi lokasi pin yang harus disambungkan untuk pemrograman (Vpp, Vdd, Vss, Data, & Clock).3) Lihat sambungan soket pada programmer. Bisakah Anda mencocokkan pin yang diperlukan dengan soket pada programmer?

Langkah 3: Bagaimana ICSP?

Bagaimana ICSP?
Bagaimana ICSP?
Bagaimana ICSP?
Bagaimana ICSP?
Bagaimana ICSP?
Bagaimana ICSP?
Bagaimana ICSP?
Bagaimana ICSP?

Tergantung pada desain Anda, Anda sekarang dapat membuat semua koneksi yang diperlukan dan memprogram PIC Anda. Ada beberapa tangkapan yang harus Anda ketahui. Desain untuk ICSP adalah penting. Microchip menyediakan catatan aplikasi PDF yang bagus tentang mendesain untuk ICSP. https://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en011744Berikut adalah beberapa tip dan contoh desain ICSP dari instruksi saya sebelumnya. Tip #1, Tingkat Ancaman: PentingJangan hubungkan hal lain ke JAM dan pin DATA (biasanya RB6 & RB7, PGC & PGD). Jangan lakukan itu. Ada situasi di mana tipe teknik yang sangat pintar lolos begitu saja, tetapi jangan lakukan itu. Komponen yang terpasang pada pin akan mengubah sinyal jam dan data, menghasilkan pemrograman yang tidak dapat diprediksi. Selain itu, jika Anda ingin menggunakan debugger serial dalam sirkuit, Anda tidak bisa. Hanya saja, jangan lakukan itu. Tip #2 Tingkat Ancaman: ExplosiveSelalu gunakan dioda antara tegangan pemrograman dan tegangan sistem. Jika menggunakan MCLR (master clear) pada PIC, Anda harus memberikan tegangan pada pin MCLR melalui resistor 10Kish. Ini juga merupakan pin yang akan Anda gunakan ~13 volt untuk masuk ke mode pemrograman. Saya meletakkan dioda 1n4148 (setara) antara resistor dan pin MCLR/Vpp (seperti yang ditunjukkan pada skema dan rendering di bawah). Ini menjaga tegangan pemrograman pada pin Vpp, mencegah kerusakan komponen lain di papan Anda. Tip #3 Tingkat ancaman: (kembali) lelah Pemrograman tegangan rendah menghambat Anda, kawan. Saya tidak pernah berhasil dengan LVP. Saya belum pernah melihatnya bekerja (secara konsisten) dengan mata kepala sendiri. Hanya menggigit peluru dan menghabiskan $2,50 untuk membangun programmer JDM2.

Langkah 4: Pemrogram ICSP

Programmer ICSP
Programmer ICSP
Programmer ICSP
Programmer ICSP

ICSP tidak memerlukan protokol pemrograman yang berbeda. Pemrogram berbasis soket sudah menghasilkan pensinyalan yang diperlukan, tetapi mengirimkannya ke soket daripada melalui kabel. Kebanyakan pemrogram soket dapat digunakan sebagai ICSP dengan memasang kabel dari soket ke sirkuit aplikasi. Misalnya, pemrogram JDM2 asli (di sini: https://www.jdm.homepage.dk/newpic.htm) dapat digunakan untuk melakukan pemrograman ICSP dengan membawa 5 sinyal yang diperlukan ke header. Ini dapat dilihat pada programmer di sini: https://www.belza.cz/digital/jdm.htm. Agar semuanya tetap berguna, saya membuat ulang desain ini di Eagle Cad dan melampirkannya ke instruksi ini. Perhatikan orientasi transistor, salah satu jejak kaki mungkin salah (saya membuat ini lebih dari setahun yang lalu, saya tidak ingat lagi). Demikian pula, pemrogram JDM2 saya yang diperbarui (di sini: https://www.instructables.com/id/EN28KZDDYVEP286GRI/) dapat digunakan untuk ICSP dengan menempelkan kabel ke soket DIP dan menghubungkannya ke PIC target. *****JDM2s menggunakan tegangan funky…hubungkan ke sirkuit TANPA daya eksternal (atau bahkan ground) terhubung ke sirkuit aplikasi. Lepaskan koneksi ICSP sebelum menerapkan daya. Kegagalan untuk melakukan ini tidak merusak, tetapi akan menghasilkan pemrograman yang gagal*******Pilihan lain adalah pemrogram ICD (semi-) yang tepat. ICD memungkinkan Anda untuk mengontrol eksekusi firmware pada PIC Anda dengan mengatur break point dalam kode atau membaca nilai memori dan port. ICD juga dapat menganimasikan eksekusi kode, memberi daya pada rangkaian aplikasi, dan memprogram PIC. Ia melakukan semua ini melalui koneksi ICSP 5 pin yang sama yang telah kita bahas. Beberapa klon ICSP yang dapat Anda buat sendiri dapat dilihat di sini: https://www.icd2clone.com/wiki/Main_Page. Saya membangun PiCS (rev B) beberapa bulan yang lalu dan menyukainya.

Direkomendasikan: