Daftar Isi:

VUSBTiny AVR SPI Programmer: 3 Langkah
VUSBTiny AVR SPI Programmer: 3 Langkah

Video: VUSBTiny AVR SPI Programmer: 3 Langkah

Video: VUSBTiny AVR SPI Programmer: 3 Langkah
Video: Обновление прошивки USBASP для AVR 2024, November
Anonim
VUSBTiny AVR SPI Programmer
VUSBTiny AVR SPI Programmer

setelah membuat usbtiny isp programmer dan menggunakannya selama 6 bulan, saya mencari untuk membuat satu lagi untuk dibawa-bawa. saya suka kesederhanaan desain isp usbtiny tetapi ingin membuatnya lebih kecil dan mengambil lebih sedikit bagian. satu hal dalam desain asli yang ingin saya ubah adalah menghilangkan penggunaan kristal jam. satu solusi yang saya temukan adalah driver v-usb mendukung osilator internal 16,5Mhz pada perangkat attiny25/45/85. jadi saya memulai proyek ini agar usbtiny isp menggunakan v-usb untuk komunikasi usb. manfaat langsungnya adalah menghemat ruang dan memiliki jumlah komponen yang lebih sedikit (tidak ada lagi kristal). Deskripsi usbtiny dari https://www.xs4all.nl/~dicks/avr/usbtiny/ USBtiny adalah implementasi perangkat lunak dari USB kecepatan rendah protokol untuk mikrokontroler Atmel ATtiny. Tentu saja, itu juga akan berfungsi pada seri ATmega. Perangkat lunak ini ditulis untuk AVR dengan clock 12 MHz. Pada frekuensi ini, setiap bit pada bus USB membutuhkan 8 siklus clock, dan dengan banyak tipu daya, dimungkinkan untuk memecahkan kode dan mengkodekan bentuk gelombang USB dengan perangkat lunak. Driver USB membutuhkan sekitar 1250 hingga 1350 byte ruang flash (tidak termasuk string identifikasi opsional), tergantung pada konfigurasi dan versi kompiler, dan 46 byte RAM (tidak termasuk ruang tumpukan). Antarmuka C terdiri dari 3 hingga 5 fungsi, tergantung pada deskripsi konfigurasi.vusb dari https://www.obdev.at/products/vusb/ V-USB adalah implementasi perangkat lunak saja dari perangkat USB berkecepatan rendah untuk Atmel's Mikrokontroler AVR, memungkinkan untuk membangun perangkat keras USB dengan hampir semua mikrokontroler AVR, tidak memerlukan chip tambahan.video tentang konstruksi dan penggunaan

Langkah 1: Fitur dan Bagian

Fitur dan Bagian
Fitur dan Bagian

* logika pemrograman dari usbtiny ISP, dukungan avr-dude yang matang * foot-print kecil * komponen minimal * memberi daya pada perangkat target Perhatikan bahwa jalur io ke mcus target tidak dilindungi. Anda dapat menambahkan resistor 1k-2k ke SCK dan MOSI dan melindungi dari kemungkinan referensi koneksi yang salah berdasarkan karya yang ditemukan di v-usb dari framework https://www.obdev.at/vusb/ usbtiny isp https://www.xs4all. nl/~dicks/avr/usbtiny/daftar suku cadang * attiny45/85 (85 lebih mudah didapat) * Dioda zener 3.6v (tipe 1n747, BZX79,..avoid 1W) * resistor 68ohm x 2 * resistor 1,5K * papan tempat memotong roti mini 170 titik ikat * kabel usb (kabel printer usb toko dolar baik-baik saja) * resistor 1k/2k untuk perlindungan garis io (opsional) diperlukan alat * programmer avr yang berfungsi (ya, ini adalah tangkapan22, kita perlu satu untuk membuatnya) * lingkungan pemrograman avr yang berfungsi

Langkah 2: Tata Letak, Skema, dan Konstruksi Papan Tempat memotong roti

Tata Letak, Skema, dan Konstruksi Papan Tempat memotong roti
Tata Letak, Skema, dan Konstruksi Papan Tempat memotong roti
Tata Letak, Skema, dan Konstruksi Papan Tempat memotong roti
Tata Letak, Skema, dan Konstruksi Papan Tempat memotong roti

konstruksi

* mengikuti tata letak papan tempat memotong roti, tidak ada yang mungkin komponen, 3 resistor, 2 dioda, 1 tutup, ditambah 8 pin mcu. * Dapatkan toko dolar usb printer kabel potong ujung printer, akan ada 4 kabel yang terbuka, amankan dan buat menjadi 4 pin male header, kita akan gunakan untuk menyambung ke breadboard. konsultasikan skema untuk tata letak dan penugasan pin (J1). * hati-hati terhadap polaritas dioda.

membangun dan mem-flash proyek

proyek ini dibangun di kotak lucid ubuntu linux dengan toolchain avr-gcc. diasumsikan Anda sudah memiliki lingkungan seperti itu, atau Anda dapat mencari tahu dari internet cara mengaturnya. kode sumber adalah gnu gpl v2 berlisensi dari warisan.

kode sumber mengikuti konvensi yang direkomendasikan oleh v-usb, Anda dapat mengunduh paket sumber vusbtiny.tgz dan membuka tarnya ke dalam direktori proyek. dalam direktori sumber Anda, ada main.c, yang merupakan versi saya dari programmer usbtiny yang dimodifikasi. dan sub-direktori usbdrv, yang berisi lapisan v-usb. mohon diperhatikan syarat perijinan dari kedua proyek diatas saat membangun ini. sumber saya pada logika programmer didasarkan pada versi Dick Streefland dan bukan versi ladyada (walaupun hampir sama).

bagi mereka yang tidak memiliki build too-chain, Anda dapat menggunakan biner berikut:

klik untuk mengunduh vusbtiny.hex

dan gunakan avrdude untuk mem-flash firmware

avrdude -c usbtiny -p t45 -e -V -U flash:w:usbtiny.hex

(jika perangkat Anda adalah tiny85, ganti -p t45 w/ -p t85)

sumber dapat diunduh di sini klik untuk mengunduh vusbtiny.tgz

untar paket sumber ke direktori kerja Anda

tar -zxvf vusbtiny.tgz

* lakukan cd vssubtiny, untuk mengubah ke direktori kerja vusbtiny * buatlah file makefile untuk perangkat target sesuai dengan chip yang akan Anda gunakan. yaitu PROGRAMMER_MCU=t45 atau t85 * lakukan make * lampirkan programmer ISP favorit Anda * ubah makefile dan ubah parameter avrdude Anda jika diperlukan. stok satu mengasumsikan programmer USBTiny. yaitu AVRDUDE_PROGRAMMERID=usbtiny * flash firmware melalui make install

setelah mem-flash firmware, kita perlu mengatur sekering dengan benar, kita menggunakan pin 1 reset sebagai io dalam proyek ini

* jam ppl digunakan sesuai kebutuhan oleh lapisan v-usb untuk pengaturan waktu usb * reset pin dinonaktifkan karena kami perlu menggunakannya sebagai io

avrdude -c usbtiny -p t45 -V -U lfuse:w:0xe1:m -U hfuse:w:0x5d:m -U efuse:w:0xff:m

pengaturan ini menonaktifkan pemrograman lebih lanjut melalui 5V SPI karena kita memerlukan pin RESET (pin1) untuk io. Anda akan memerlukan akses ke programmer HVSP untuk memulihkan sekring.

Langkah 3: Penggunaan dan Aplikasi

Penggunaan dan Aplikasi
Penggunaan dan Aplikasi
Penggunaan dan Aplikasi
Penggunaan dan Aplikasi
Penggunaan dan Aplikasi
Penggunaan dan Aplikasi

flashing langsung di papan tempat memotong roti

jika Anda menggunakan vusbtiny untuk mem-flash perangkat AVR 8 pin, Anda cukup menekan perangkat target Anda di atas perangkat programmer. pemrogram telah dirancang sedemikian rupa sehingga pin pemrograman cocok dengan target. ada satu trik, Anda harus mengisolasi pin 2 dan 3 pada mcu pemrogram, karena mereka adalah pin USB D+ dan D- yang terhubung ke PC. saya menggunakan potongan scotch tape untuk mencapai ini, Anda dapat melihatnya di foto. tunjukkan di bawah ini adalah tiny13v "naik" di tiny45, siap menerima firmware.

ISP berkedip melalui jumper

untuk memprogram sirkuit target melalui ISP (pemrograman dalam sistem), Anda memerlukan kabel ISP. di sini saya tidak menggunakan header pin 2x3 atau 2x5 standar. sebagai gantinya saya menggunakan jumper 1x6 yang lebih ramah papan tempat memotong roti, Anda dapat membuat header pin 2x3 atau 2x5 dengan memetakannya ke J2 seperti yang ditunjukkan pada tata letak dan skema papan tempat memotong roti. foto berikut menunjukkan tiny2313 siap untuk di-flash melalui ISP.

penyelesaian masalah

* tidak dapat mem-flash firmware? periksa programmer asli Anda, mungkin perlu menyesuaikan waktu melalui flag -B di avrdude. coba baca chip 1, mungkin sekeringnya buruk, mungkin chip Anda memerlukan sinyal clock eksternal. Anda mungkin perlu memperbaiki chip Anda kembali ke default 1. * periksa koneksi * jika menggunakan pin io yang berbeda, periksa kode dan koneksi * Anda dapat mengganti dioda zener dengan tipe 500mw, 400mw * Anda dapat mencoba mengurangi nilai R3 menjadi 1,2K atau kurang * Anda lebih mungkin mengalami masalah waktu avrdude, coba -B bendera avrdude, memiliki kabel USB yang lebih pendek semuanya membantu

Direkomendasikan: