Bagaimana saya merencanakan dalam pemrograman sirkuit AVR?

12

Metode saya yang biasa memprogram ulang AVR (sejauh ini terbatas pada ATtiny13 dan ATtiny2313) adalah untuk melepaskan chip dari sirkuit host, hubungkan ke papan tempat memotong roti lain dengan semua sambungan ICSP di tempat, program, lalu ganti. Namun, saya terus mendengar bahwa seseorang dapat memprogram chip di tempat (yang, saya mengerti, inti dari ICSP).

Apakah ada pertimbangan perangkat keras khusus yang harus diperhitungkan sebelum memprogram chip in situ? Sebagai contoh, saya khawatir bahwa proses ICSP dapat merusak komponen sirkuit yang terhubung ke pin AVR yang sama yang digunakan untuk ICSP. Apakah sesekali perlu menambahkan dioda atau semacam buffering lain untuk melindungi komponen-komponen ini?

Saya tahu pertanyaan ini kedengarannya agak kabur, dan saya kira itu - tetapi saya belum memberikan rincian tentang sirkuit khusus saya karena saya tertarik pada aturan umum yang lebih umum. Yaitu apakah orang tidak perlu khawatir tentang ini, atau apakah jawabannya benar-benar tergantung pada sirkuit tertentu yang menjadi bagian MCU?

Tim
sumber

Jawaban:

15

Saya telah menggunakan ISP untuk hampir semua papan AVR yang telah saya lakukan; tidak perlu takut. The pengguna AVR ISP mkII memberikan ringkasan yang baik cantik keterbatasan yang Anda butuhkan untuk melihat keluar untuk di bagian "Target Interface". Pada dasarnya, jika Anda menjalankan pin MISO / MOSI / SCK langsung ke programmer dan memiliki sekitar 820 ohm di antara mereka dan seluruh rangkaian (dan tidak melakukan apa pun yang funky dengan pin reset) Anda baik-baik saja. Saya tidak akan khawatir tentang ISP yang merusak komponen lain; itu bukan programmer tegangan tinggi. Sinyal-sinyal semua berjalan pada 5V, jadi jika itu dapat merusak komponen eksternal, demikian juga mikrokontroler Anda.

Jika Anda benar-benar terjebak dengan papan yang tidak mengizinkan pemrograman ISP, setidaknya saya akan mencoba menggunakan soket ZIF untuk papan pemrograman Anda. Mereka mahal, tetapi itu akan sangat meningkatkan kualitas hidup Anda.

phooky
sumber
Terima kasih atas tautannya - itulah yang saya cari. Saya tidak benar-benar menggunakan ISP AVR nyata - hanya arduino yang diprogram dengan tepat. (!) Saya mengganti ini dengan Bajak Laut Bus dalam beberapa hari, jadi melempar papan dengan soket ZIF jelas merupakan sesuatu yang saya rencanakan untuk dilakukan. Prosedur saya saat ini sangat jelek!
Tim
1

Gunakan jumper atau switch sehingga Anda dapat memutuskan secara fisik header ICSP. Dengan cara ini Anda dapat berbagi pin dengan fungsi lain tanpa khawatir, dan tanpa harus mengutak-atik komponen lainnya.

Ini sepertinya solusi yang paling jelas dan paling aman, dan itulah yang saya gunakan.

(Jawaban pertama saya telah dihapus, jadi saya telah mencoba untuk menambahkan lebih detail).

Ali Afshar
sumber
Bagaimana cara kerjanya? Kemudian, ketika sakelar / pelompat terhubung, pin masih akan terhubung ke sisa rangkaian.
eeze
0

Sayangnya, Anda tidak dapat melakukan pemrograman sirkuit untuk AVR Anda jika pin dibagi oleh fungsi lain, misalnya lampu LED. Meskipun mungkin bekerja, itu tidak dijamin karena dapat menyebabkan output programmer atau μC turun terlalu rendah untuk bekerja.

Salah satu alternatif lain adalah memesan chip Anda yang sudah diprogram. Saya tahu Microchip menawarkan ini untuk beberapa chip mereka, tetapi saya tidak yakin tentang Atmel.

Thomas O
sumber
Oh well, saya curiga ini. Aku harus tetap melakukan hal-hal dengan caraku yang lambat dan kikuk, kurasa. (Oh, dan tidak ada kesempatan membuat Atmel melakukan pra-pemrograman untuk saya, saya hanya hobi yang rendah. :-))
Tim
Microchip mengenakan biaya ~ $ 40 "biaya pemasangan." Sekali lagi, tidak yakin tentang Atmel. Jika Anda memesan dalam kisaran 10-100, itu mungkin sepadan.
Thomas O
3
Saya telah memprogram banyak papan dengan beban lain pada pin SPI, terutama LED, tanpa masalah sama sekali. Berhati-hatilah agar tidak ada hal lain yang menggerakkan sinyal. Ini berarti, misalnya, jika Anda memiliki perangkat SPI yang terhubung, berikan resistor pull up atau sejenisnya agar tetap dalam pengaturan ulang atau tidak dipilih.
Yann Vernier