Mündəricat:

VUSBTiny AVR SPI Proqramçısı: 3 addım
VUSBTiny AVR SPI Proqramçısı: 3 addım

Video: VUSBTiny AVR SPI Proqramçısı: 3 addım

Video: VUSBTiny AVR SPI Proqramçısı: 3 addım
Video: AVR SPI bus test. 2024, Noyabr
Anonim
VUSBTiny AVR SPI Proqramçısı
VUSBTiny AVR SPI Proqramçısı

usbtiny isp proqramçısı hazırladıqdan və 6 ay istifadə etdikdən sonra, gəzdirmək üçün başqa birini hazırlamağa baxırdım. usbtiny isp dizaynının sadəliyini sevirəm, amma daha da kiçiltmək və daha az hissə almaq istərdim. Orijinal dizaynda dəyişdirmək istədiyim bir şey saat kristalının istifadəsini aradan qaldırmaqdır. Tapdığım bir həll, v-usb sürücülərinin attiny25/45/85 cihazlarında 16.5Mhz daxili osilatoru dəstəkləməsidir. usbtiny isp-in usb ünsiyyəti üçün v-usb istifadə etməsi üçün bu layihəyə başladım. dərhal faydaları, yerdən qənaət etməsi və daha az komponent sayına malik olmasıdır (artıq kristal yoxdur). https://www.xs4all.nl/~dicks/avr/usbtiny/usbtiny təsviri USBtiny, USB aşağı sürətli proqram təminatıdır. Atmel ATtiny mikrokontrolörləri üçün protokol. Əlbəttə ki, ATmega seriyası üzərində də işləyəcək. Proqram, 12 MHz tezlikli bir AVR üçün yazılmışdır. Bu tezlikdə, USB avtobusundakı hər bit 8 saat dövrü alır və bir çox hiylə ilə USB dalğa formalarını proqram vasitəsi ilə deşifr etmək və kodlaşdırmaq mümkündür. USB sürücüsünün konfiqurasiyasından və kompilyator versiyasından asılı olaraq təxminən 1250-1350 baytlıq flaş sahəsi (isteğe bağlı identifikasiya sətirləri istisna olmaqla) və 46 baytlıq RAM (yığma sahəsi istisna olmaqla) lazımdır. C interfeysi konfiqurasiyadan asılı olaraq 3-5 funksiyadan ibarətdir. Http://www.obdev.at/products/vusb/ saytından vusb təsviri V-USB, Atmel üçün aşağı sürətli USB cihazının yalnız proqram təminatıdır. AVR mikro nəzarətçiləri, demək olar ki, hər hansı bir AVR mikro nəzarətçi ilə USB qurğusu qurmağa imkan verir, əlavə çip tələb etmir.

Addım 1: Xüsusiyyətlər və hissələr

Xüsusiyyətlər və hissələr
Xüsusiyyətlər və hissələr

usbtiny isp-dən * proqramlaşdırma məntiqi, yetkin avr-dude dəstəyi * kiçik ayaq izi * minimal komponentlər * güc cihazları hədəf mcusa gedən io xətlərinin qorunmadığını qeyd edir. SCK və MOSI-yə 1k-2k rezistorlar əlavə edə və https://www.obdev.at/vusb/ usbtiny isp https://www.xs4all. nl/~ dicks/avr/usbtiny/parça siyahısı * attiny45/85 (85 -in gəlməsi daha asandır) * 3.6v zener diodları (1n747, BZX79,.. 1W tiplərindən qaçın) * 68ohm rezistor x 2 * 1.5K rezistor * mini çörək taxtası 170 tiepoints * usb kabeli (dollar mağazası usb printer kabeli yaxşıdır) * io xətlərinin qorunması üçün 1k/2k rezistorlar (isteğe bağlı) alətlər tələb olunur * işləyən bir avr proqramçısı (bəli, tutmaq olar 22, birini düzəltmək üçün bizə lazımdır) * işləyən avr proqramlaşdırma mühiti

Addım 2: Breadboard Layout, Schematic və Construction

Çörək Paneli Layihəsi, Şematik və İnşaat
Çörək Paneli Layihəsi, Şematik və İnşaat
Çörək Paneli Layihəsi, Şematik və Tikinti
Çörək Paneli Layihəsi, Şematik və Tikinti

Tikinti

* Çörək taxtası düzeni izləyin, komponentlər, 3 rezistor, 2 diod, 1 qapaq, üstəgəl 8 pinli mcu ola bilməz. * Bir dollarlıq usb printer kabelinin printerin ucunu kəsin, 4 açıq tel olacaq, onları 4 pinli kişi başlığına bağlayın və çörək taxtasına qoşulmaq üçün istifadə edəcəyik. düzeni və pin təyinatı üçün sxemə baxın (J1). * Diod polaritesinə diqqət yetirin.

layihənin qurulması və işıqlandırılması

layihə, avr-gcc alət zənciri olan bir Linux ubuntu aydın qutusunda inşa edilmişdir. Belə bir mühitə sahib olduğunuz güman edilir və ya İnternetdən necə qurulacağını öyrənə bilərsiniz. mənbə kodları gnu gpl v2 varislikdən lisenziyalıdır.

mənbə kodu v-usb tərəfindən tövsiyə edilən bir konvensiyaya uyğundur, vusbtiny.tgz mənbə paketini yükləyə və bir layihə qovluğuna daxil edə bilərsiniz. mənbə qovluğunuzda redaktə edilmiş usbtiny proqramçı versiyam olan main.c var. və v-usb qatını ehtiva edən bir usbdrv alt qovluğu. zəhmət olmasa bunu qurarkən yuxarıdakı iki layihənin lisenziya müddətinə riayət edin. proqramçı məntiqindəki mənbəyim ladyada versiyasına deyil, Dick Streefland versiyasına əsaslanır (baxmayaraq ki, demək olar ki, eynidir).

çox zənciri olmayanlar üçün aşağıdakı ikili istifadə edə bilərsiniz

vusbtiny.hex yükləmək üçün basın

və firmware flash etmək üçün avrdude istifadə edin

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

(cihazınız kiçik bir 85 -dirsə, -p t45 w/ -p t85 ilə əvəz edin)

mənbə buradan yüklənə bilər vusbtiny.tgz yükləmək üçün vurun

mənbə paketini iş qovluğuna daxil edin

tar -zxvf vusbtiny.tgz

* vusbtiny iş qovluğuna çevrilmək üçün cd vsubtiny edin * İstifadə edəcəyiniz çipə görə hədəf cihaz üçün sadəcə makefile. yəni PROGRAMMER_MCU = t45 və ya t85 * etmək * sevdiyiniz ISP proqramçısını əlavə etmək * makefile -i dəyişdirmək və lazım olduqda avrdude parametrlərinizi dəyişdirmək. Səhmdə USBTiny proqramçısı var. yəni AVRDUDE_PROGRAMMERID = usbtiny * quraşdırma yolu ilə flash firmware

firmware yanıb söndükdən sonra, sigortanı düzgün qurmalıyıq, bu layihədə pin 1 sıfırlamasını io olaraq istifadə edirik

usb vaxtı üçün v-usb qatının tələb etdiyi kimi * ppl saatı

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

bu parametr, io üçün RESET pininə (pin1) ehtiyac duyduğumuz üçün 5V SPI vasitəsilə əlavə proqramlaşdırmanı deaktiv edir. sigortanı bərpa etmək üçün bir HVSP proqramçısına daxil olmalısınız.

Addım 3: İstifadə və Tətbiq

İstifadəsi və tətbiqi
İstifadəsi və tətbiqi
İstifadəsi və tətbiqi
İstifadəsi və tətbiqi
İstifadəsi və tətbiqi
İstifadəsi və tətbiqi

çörək taxtasında birbaşa yanıb -sönür

8 pinli AVR cihazlarını yandırmaq üçün vusbtiny istifadə edirsinizsə, sadəcə hədəf cihazınızı proqramçı cihazının üstünə basa bilərsiniz. proqramçı, proqramlaşdırma pinlərinin hədəflərə uyğun olması üçün hazırlanmışdır. Bir hiylə olsa da, PC-yə qoşulan USB D+ və D pinləri olduğu üçün proqramçı mcu-da 2 və 3-cü pinləri təcrid etməlisiniz. Bunu etmək üçün bir parça skotç lent istifadə edirəm, bunu fotoşəkillərdə görə bilərsiniz. Aşağıda, firmware almağa hazır olan tiny45 -də kiçik bir 13v "gəzinti" göstərilir.

İnternet provayder jumper vasitəsilə yanıb -sönür

ISP (sistemdaxili proqramlaşdırma) vasitəsilə hədəf dövrəni proqramlaşdırmaq üçün bir ISP kabelinə ehtiyacınız var. burada standart 2x3 və ya 2x5 pin başlıqlarından istifadə etmirəm. Bunun əvəzinə daha çox çörək taxtası dostu olan 1x6 tullanan istifadə edirəm, 2x3 və ya 2x5 pinli başlıqları çörək taxtasının düzeni və sxemlərində göstərildiyi kimi J2 ilə eşleyerek edə bilərsiniz. Aşağıdakı fotoşəkil, ISP vasitəsilə yanıb -sönməyə hazır olan kiçik bir 2313 -ü göstərir.

giderme

* firmware flash edə bilmirsiniz? orijinal proqramçınızı yoxlayın, avrdude -B bayrağı vasitəsilə vaxtı tənzimləməyiniz lazım ola bilər. 1. çipi oxumağa çalışın, pis bir qoruyucu ola bilər, çipinizin xarici saat siqnalına ehtiyacı ola bilər. çipinizi standart 1 -ə qaytarmağınız lazım ola bilər. * bağlantıları yoxlayın * fərqli io pinləri, kodu və əlaqələri yoxlayın * 500mw, 400mw tipli zener diodları ilə əvəz edə bilərsiniz * R3 dəyərini 1,2K və ya daha aza endirməyə cəhd edə bilərsiniz * avrdude zamanlama problemi ilə qarşılaşma ehtimalınız çoxdur -Avrdude bayrağı, daha qısa bir USB kabelə sahib olmağa kömək edir

Tövsiyə: