Isi kandungan:

Pengaturcara VUSBTiny AVR SPI: 3 Langkah
Pengaturcara VUSBTiny AVR SPI: 3 Langkah

Video: Pengaturcara VUSBTiny AVR SPI: 3 Langkah

Video: Pengaturcara VUSBTiny AVR SPI: 3 Langkah
Video: M#2: Atmega128 Development Board Pin Mapping | Outseal Dev. PLC Mega 2024, November
Anonim
Pengaturcara VUSBTiny AVR SPI
Pengaturcara VUSBTiny AVR SPI

setelah membuat pengaturcara isp usbtiny dan menggunakannya selama 6 bulan, saya ingin membuat yang lain untuk dibawa. saya suka kesederhanaan reka bentuk isp usbtiny tetapi saya ingin menjadikannya lebih kecil dan mengambil bahagian yang lebih sedikit. satu perkara dalam reka bentuk asal yang ingin saya ubah adalah dengan menghilangkan penggunaan jam kristal. satu penyelesaian yang saya dapati ialah pemacu v-usb menyokong pengayun dalaman 16.5Mhz pada peranti attiny25 / 45/85. jadi saya memulakan projek ini agar usbtiny isp menggunakan v-usb untuk komunikasi usb. faedah langsung ialah menjimatkan ruang dan mempunyai bilangan komponen yang lebih sedikit (tidak ada lagi kristal). keterangan usbtiny dari https://www.xs4all.nl/~dicks/avr/usbtiny/ USBtiny adalah perisian pelaksanaan kelajuan rendah USB protokol untuk mikrokontroler Atmel ATtiny. Sudah tentu, ia juga akan berfungsi pada siri ATmega. Perisian ditulis untuk AVR yang dicatat pada 12 MHz. Pada frekuensi ini, setiap bit pada bus USB memerlukan 8 pusingan jam, dan dengan banyak tipu daya, adalah mungkin untuk menyahkod dan menyandikan bentuk gelombang USB dengan perisian. Pemacu USB memerlukan kira-kira 1250 hingga 1350 byte ruang kilat (tidak termasuk rentetan pengenalan pilihan), bergantung pada konfigurasi dan versi penyusunnya, dan 46 bita RAM (tidak termasuk ruang timbunan). Antaramuka C terdiri daripada 3 hingga 5 fungsi, bergantung pada konfigurasi. Keterangan vusb dari https://www.obdev.at/products/vusb/ V-USB adalah pelaksanaan perisian USB berkelajuan rendah hanya untuk perisian Atmel Mikrokontroler AVR, memungkinkan untuk membina perkakasan USB dengan hampir semua mikrokontroler AVR, tidak memerlukan cip tambahan. Video mengenai pembinaan dan penggunaan

Langkah 1: Ciri dan Bahagian

Ciri dan Bahagian
Ciri dan Bahagian

* logik pengaturcaraan dari isp usbtiny, sokongan avr-dude matang * cetakan kaki kecil * komponen minimum * kuasa peranti sasaran perhatikan bahawa garis io ke mcus sasaran tidak dilindungi. anda boleh menambah perintang 1k-2k ke SCK dan MOSI dan melindungi daripada kemungkinan rujukan sambungan yang salah berdasarkan karya yang terdapat di v-usb dari rangka kerja https://www.obdev.at/vusb/ usbtiny isp https://www.xs4all. nl / ~ dicks / avr / usbtiny / parts parts * attiny45 / 85 (85 lebih senang didatangkan) * 3.6v zener diodes (1n747, BZX79,..avoid 1W types) * 68ohm resistor x 2 * 1.5K resistor * papan roti mini 170 tiepoints * kabel usb (kabel pencetak usb kedai dolar baik) * Perintang 1k / 2k untuk alat perlindungan garis io (pilihan) diperlukan * pengaturcara avr yang berfungsi (ya, itu tangkapan22, kita perlu membuatnya) * persekitaran pengaturcaraan avr yang berfungsi

Langkah 2: Tata Letak Papan Roti, Skema, dan Pembinaan

Tata Letak Papan Roti, Skema, dan Pembinaan
Tata Letak Papan Roti, Skema, dan Pembinaan
Tata Letak Papan Roti, Skema, dan Pembinaan
Tata Letak Papan Roti, Skema, dan Pembinaan

pembinaan

* ikuti susun atur papan roti, tidak mungkin ada komponen, 3 perintang, 2 dioda, 1 penutup, ditambah 8 pin mcu. * dapatkan kabel pencetak usb kedai dolar yang memotong hujung pencetak, akan ada 4 wayar yang terdedah, selamatkan dan jadikannya menjadi header lelaki 4 pin, kami akan menggunakannya untuk menyambung ke papan roti. rujuk skema untuk susun atur dan penugasan pin (J1). * berhati-hati untuk kekutuban diod.

membina dan menyalakan projek

projek itu dibina dalam kotak jelas linux ubuntu dengan alatan alat avr-gcc. diandaikan anda sudah mempunyai persekitaran seperti itu, atau anda dapat mengetahui dari internet bagaimana cara menyiapkannya. kod sumber adalah gnu gpl v2 yang dilesenkan dari pewarisan.

kod sumber mengikuti konvensyen yang disyorkan oleh v-usb, anda boleh memuat turun pakej sumber vusbtiny.tgz dan tidak dimasukkan ke dalam direktori projek. di dalam direktori sumber anda, terdapat main.c, yang merupakan versi pengaturcara usbtiny yang saya ubah suai. dan sub-direktori usbdrv, yang mengandungi lapisan v-usb. sila perhatikan tempoh pelesenan dari dua projek di atas semasa membina ini. sumber saya mengenai logik pengaturcara adalah berdasarkan versi Dick Streefland dan bukan versi ladyada (walaupun mereka hampir sama).

bagi mereka yang tidak mempunyai rantai terlalu binaan, anda boleh menggunakan binari berikut

klik untuk memuat turun vusbtiny.hex

dan gunakan avrdude untuk mem-flash firmware

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

(jika peranti anda kecil85, ganti -p t45 w / -p t85)

sumber boleh dimuat turun di sini klik untuk memuat turun vusbtiny.tgz

lepaskan pakej sumber ke dalam direktori kerja anda

tar -zxvf vusbtiny.tgz

* lakukan cd vsubtiny, untuk berubah menjadi direktori kerja vusbtiny * ajust makefile untuk peranti sasaran sesuai dengan cip yang akan anda gunakan. iaitu PROGRAMMER_MCU = t45 atau t85 * buat * pasangkan programmer ISP kegemaran anda * ubah makefile dan ubah parameter avrdude anda jika diperlukan. stoknya mengandaikan pengaturcara USBTiny. iaitu AVRDUDE_PROGRAMMERID = usbtiny * firmware flash melalui pemasangan

setelah mem-flash firmware, kita perlu mengatur fius dengan betul, kita menggunakan pin 1 reset sebagai io dalam projek ini

* jam ppl digunakan seperti yang dikehendaki oleh lapisan v-usb untuk masa usb * pin reset dinyahaktifkan kerana kita 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

tetapan ini melumpuhkan pengaturcaraan lebih lanjut melalui 5V SPI kerana kita memerlukan pin RESET (pin1) untuk io. anda memerlukan akses ke programmer HVSP untuk memulihkan fius.

Langkah 3: Penggunaan dan Aplikasi

Penggunaan dan Permohonan
Penggunaan dan Permohonan
Penggunaan dan Permohonan
Penggunaan dan Permohonan
Penggunaan dan Permohonan
Penggunaan dan Permohonan

berkelip langsung di papan roti

jika anda menggunakan vusbtiny untuk memancarkan peranti AVR 8 pin, anda hanya boleh menekan peranti sasaran anda di atas peranti pengaturcara. pengaturcara telah dirancang supaya pin pengaturcaraan sesuai dengan sasaran. walaupun ada satu muslihat, anda perlu mengasingkan pin 2 dan 3 pada mcu pengaturcara, kerana mereka adalah USB D + dan D-pin yang disambungkan ke PC. saya menggunakan potongan pita scotch untuk mencapainya, anda dapat melihatnya di foto. tunjuk di bawah ini adalah "naik" tiny13v pada tiny45, siap menerima firmware.

ISP berkelip melalui jumper

untuk memprogramkan litar sasaran melalui ISP (pengaturcaraan dalam sistem), anda memerlukan kabel ISP. di sini saya tidak menggunakan header pin 2x3 atau 2x5 standard. sebaliknya saya menggunakan jumper 1x6 yang lebih mesra papan roti, anda boleh membuat header pin 2x3 atau 2x5 dengan memetakannya ke J2 seperti yang ditunjukkan pada susun atur dan skema papan roti. gambar berikut menunjukkan gambar kecil yang siap dilayari melalui ISP.

penyelesaian masalah

* tidak boleh mem-flash firmware? periksa pengaturcara asal anda, mungkin perlu menyesuaikan waktu melalui bendera -B di avrdude. cuba baca chip pertama, mungkin sekering buruk, mungkin chip anda memerlukan isyarat jam luaran. anda mungkin perlu membetulkan cip anda kembali ke 1st default. * periksa sambungan * jika menggunakan pin io, periksa kod dan sambungan yang berbeza * anda boleh menggantikan diod zener w / 500mw, jenis 400mw * anda boleh mencuba mengurangkan nilai R3 menjadi 1.2K atau kurang * anda lebih cenderung menghadapi masalah jangka masa, cuba -B bendera avrdude, mempunyai kabel USB yang lebih pendek semua membantu

Disyorkan: