AVR High Voltage Serial Programmer

From Razmjenavjestina-wiki
Jump to: navigation, search

SIG:Elektronika

AVR High Voltage Programmer

Ako ovo napravimo biti će ujedno poučno i korisno.

Korisno je zato što ovaj programira brzo, može overridati svaki write protect AVR-a, i iskoristiti RESET pin kao običan I/O, to je zgodno za male AVR-ove sa samo 8-14 pinova.

Poučno je zato što koristi puno hackova i trikova. Ima relativno malo dijelova za ono što pruža, lako su nabavljivi, pločica je 1-strana (pa je sami možemo proizvesti) a sve je open source. U softwareu se implementira USB protokol, pretvarač napona 5->12V i još puno toga, većinom u C-u (ima i malo asemblera za USB link layer) i binary stane u 8KB.

Ko skuži kako taj software radi znaće puno o mikrokontrolerima.

To je ovo: AVR Doper. Malo sam mu preravio šemu (korekcija kod jumpera za Provide ISP Supply, schottky dioda kod 5/12V pullup) i malo pretumbao neke otpornike pa ću napraviti ovakvu štampanu pločicu  :-) Izmjene jedno popravljaju (sitnice, naponi) a drugo kvare (samo za target na 5V, više ne radi za 3.3V), pa bih drugima ipak preporučio da se drže originala. Ionako bi sve to trebalo skroz redizajnirati ali to ćemo drugi put. Bitno je da se ima hardware koji radi sa originalnim firmwareom (AVR-Doper.2008-11-27.tar.gz).

Možemo ovo "peglati" ali treba pazit jer su vodovi tanki i blizu su jedan do drugoga pa bi možda bilo bolje pločicu napraviti foto-postupkom.

Treba nam

(ima naljepnicu preko foto sloja)

preparat iz dućana u narančastoj boci za čišćenje WC-a na kojem sitno piše da se sastoji samo od oko 20-30% NaOH a ostalo je voda vjerojatno)

oko 40% HCl ostalo voda)

litru treba naručit prethodno u apoteci, oće vidit osobnu iskaznicu. I on dobro čisti WC)

Pomoću DASA sflashao sam firmware u ATMEGA8 i verificirao ga cijelog (flash i fuses), sve je dobro. Čak pali diodu na PB0. Probao sam na protoboardu spojiti samo taj AVR, kristal 12MHz i to sve kao USB interface uštekati u PC. Obavezno treba pullup otpornik na USB D- liniji, bez njega nema ništa. A sa njim, stvar se prijavljuje kao USB uređaj 16c0:05e1 i registrira virtualni serijski port /dev/ttyACM0 :-) Fantastično!

S obzirom da na Avr-doper-protoboard.jpg protoboardu nisam koristio 74126 modoficirao sam firmware tako da radi s direktnim signalima i uredno programira ATTINY84 u high voltage serial i običnom ISP modu. Još samo da napravimo pločicu i taj ATMEGA8 će postati Doper drugim AVR-ovima.

AVR Doper ne podržava high voltage parallel programming ali zato može poslužiti ovo

Novosti - isprintao sam avr-doper na laser, ispeglao na pločicu i nagrizao kiselinom (solna+peroxid) i dobio kakve-takve vodove. Izbušio rupe i zalemio dijelove, osim 20-pinskog konektora jer nema za kupit onaj koji ima pinove u ravnini pločice, a okomita verzija ne stane zbog 8-pinskog podnožja, fali oko 0.5mm što se može zrašpat al za sada ću probat nabavit odgovarajući 20-pinski.

Nakon malo krpanja pločice jumperom od oko 5mm kod otpornika 68Ω, stvar se prijavila na usb bus. Nakon lemljenja zaboravljene nožice jednog tranzistora, pojavio se napon 12.3V na kondenzatoru booster kruga. Stvar je isprogramirala ATTINY84 u HVSP modu što je glavna funkcija dopera. Ni ISP mod nije radio od prve. Bio je kratki spoj na vodovima ispod 74126, kojeg sam zgrebo sa skalpelom i sad konačno sve radi. Evo kako igleda avr-doper Avr-doper-up.jpg i Avr-doper-down.jpg

LED dioda je većinom ugašena. Svijetli samo kad se čita ili piše po AVR-u. Opcijom avrdude-a se bira mod ISP (-c stk500) ili HVSP (-c stk500hvsp). Mogu biti spojena oba istovremeno. Kad se koristi HID mod, avrdude preko libusb komunicira s avr-doperom (-P avrdoper) ali mi to radi na debian-u samo ako sam root. Navodno da se može napravit neki udev rule da ide kao user, nešto sam probao na brzinu, ali nije tako jednostavno.

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox
Razmjena Po Gradovima