logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Programator HVPP/HVSP/ISP dla procesorów Atmel AVR

tplewa 25 Maj 2012 01:34 46450 48
  • Programator HVPP/HVSP/ISP dla procesorów Atmel AVR
    Witam

    Za zwyczaj niezbyt wiele projektów publikuję w internecie, a to jeden z takich do którego powstania zmusiło mnie życie (a może i głupota).

    W internecie można znaleźć wiele projektów różnych programatorów dla procesorów AVR, są to niestety zazwyczaj konstrukcje działające w trybie programowania niskonapięciowego (ISP). Jednak ze znalezieniem opracowania działającego w trybach HVPP/HVSP nie jest już tak różowo. Więc myślę że warto coś takiego umieścić.

    Zacznę jednak od historii jak to wszystko powstało.

    Pewnego wieczoru siedziałem sobie nad pewnym projektem opartym o ATMega32U4 – ot zabawa z USB itd. Spięty był on po SPI z mniejszym ATTiny 2313…

    Akurat programując sobie ATTiny 2313 zapomniałem że mam 32U4 z wymuszonym resetem i się zaczęło. Trochę błędów – nic się nie zaprogramowało, a 32U4 odmówił dalszej współpracy. Więc myślę sobie co tutaj robić, jutro sobota – trochę brakuje kasy ☹ więc z zakupem nowego będzie problem przynajmniej do przyszłego tygodnia. Jednak mam wolny czas (a to zdarza się niezbyt często) i posiedział bym przy kodzie. Myślę sobie ok – jakoś go może postawię na nogi.

    Chwila spędzona przy Google no i mam "fusebit doctor" http://diy.elektroda.eu/atmega-fusebit-doctor-hvpp/

    Patrzę sobie i myślę fajny projekt będzie OK – jednak po chwili wiem że jestem dalej jak to mówią w ciemnej "pupie" ;) Niestety nie mam w szufladzie jakiegokolwiek z wymaganych procesorów który mogę zaprogramować zamieszczoną binarką.

    Wiec szukamy coś innego – i co i nic :( nic nie znalazłem co by wyrwało mnie z tej nieprzyjemnej sytuacji.

    Wygrzebałem z szuflady jakąś małą płytkę testową z ATMega128, zmajstrowałem pająka opierając się o schemat FUSEBIT DOCTOR-a, chwila przy dokumentacji Atmel-a - chwila na napisanie kodu i jest !!!! ATMega32U4 ożył.

    Tak ten pająk wyglądał:

    Programator HVPP/HVSP/ISP dla procesorów Atmel AVR Programator HVPP/HVSP/ISP dla procesorów Atmel AVR


    Przy okazji powstał niestety okropny „porządek” na stole:

    Programator HVPP/HVSP/ISP dla procesorów Atmel AVR


    Więc myślę sobie zapewne coś takiego może mnie spotkać więc warto postarać się o jakieś narzędzie który uratuje człowiekowi tyłek – bez budowania tymczasowych „pająków”.

    No i następnego dnia priorytet się zmienił – ot miał powstać nowy programator.
    Założenie było proste budujemy z tego co jest w szufladzie – z tego powodu całość powstała w niecały tydzień. Jednak takie podejście ma też swoje wady.
    Więc uprzedzam już na początku wiem nie ma USB (szkoda mi było FTDI skoro mam kabel USB/RS232 i całą "stertę" MAX-ów 232). Wiem jest „pająk” – projekt miał powstać szybko ;)

    Wszystkie elementy to demobil – płytki uniwersalne tak samo ot z starych prototypów.

    Jako serce programatora pracuje ATMega 8515L – akurat pałętał mi się dłuższy czas i nie miałem pomysłu co z nim zrobić. Więc wylądował w tym układzie.

    Całość jak wspomniałem to płytki uniwersalne i kynar. Co zresztą widać na zamieszczonych fotografiach.

    Programator HVPP/HVSP/ISP dla procesorów Atmel AVR Programator HVPP/HVSP/ISP dla procesorów Atmel AVR Programator HVPP/HVSP/ISP dla procesorów Atmel AVR Programator HVPP/HVSP/ISP dla procesorów Atmel AVR


    O trybie SPI pomyślałem praktycznie już w momencie gdy układ działał w trybie HV – ot zostało miejsce na płytce to wpakowałem tam header ISP, jednak nie było już miejsca na bufor (74HC125) – który wylądował na wlutowanej mniejszej płytce.

    Schemat programatora nigdy prawdę mówiąc nie powstał, całość to praktycznie elektronika FUSEBIT DOCTOR-a z innym procesorem (taktowany rezonatorem 7.3728MHz) i „doklejonym” ISP (bufor z programatora USBasp-yuki: http://yuki-lab.jp/hw/usbasp/usbasp-circuit.png ).

    Zresztą złącze do dodatkowych modułów z podstawkami jest kompatybilne z w/w FD.

    Powstały tylko odręczne zapiski które spokojnie wystarczyły do zmontowania tego układu:

    Programator HVPP/HVSP/ISP dla procesorów Atmel AVR


    Firmware dla AT8515L powstało w C (kompilowane za pomocą GCC). Niestety na chwile obecna oprogramowanie na PC – nie nadaję się do publikacji. Powoli powstaje nowe z tekstowym plikiem konfiguracyjnym procesorów – oraz przyjaznym sposobem obsługi. Niestety z powodu braku czasu nie wiem kiedy uda mi się je ukończyć.

    Jeśli będzie jakieś większe zainteresowanie projektem oprogramowanie zapewne postanie szybciej. Tak samo będzie można opracować do układu ładne PCB (np. z użyciem innego procesora niż zastosowany 8515L, dodanym USB itp.) – oraz przygotować schemat. Tak że wszelkie pomysły i uwagi mile widziane.

    Na koniec zamieszczam aktualny firmware dla ATMega 8515L. Natomiast oprogramowanie na PC pojawi się w tym temacie tak szybko jak to będzie możliwe (wszystko zależy od tego ile będę miał wolnego czasu).

    Pozdrawiam
    ToM

    UWAGA !!!
    Aktualne Firmware + Oprogramowanie PC + Schemat w dalszej części tematu.
    Załączniki:
    • AVRProg.hex.zip (5.64 KB) Musisz być zalogowany, aby pobrać ten załącznik.

    Fajne? Ranking DIY
    O autorze
    tplewa
    Poziom 39  
    Offline 
    Specjalizuje się w: mgr inż. nauk zbytecznych ;)
    tplewa napisał 6727 postów o ocenie 991, pomógł 222 razy. Mieszka w mieście Warszawa. Jest z nami od 2003 roku.
  • #2 10932305
    shadow0013
    Poziom 34  
    Posty: 2135
    Pomógł: 243
    Ocena: 314
    Jak na realizację projektu na płytkach uniwersalnych wykonanie jest super. Płytka pod podstawki robi wrażenie (jak dawne urządzenia robione kynarem przez owijanie) Jak zrobiłeś napisy na tej obudowie plastikowej (kalkomania).
  • #3 10932386
    djoy
    Poziom 15  
    Posty: 193
    Pomógł: 1
    Ocena: 126
    Cytat:
    Jeśli będzie jakieś większe zainteresowanie projektem oprogramowanie zapewne postanie szybciej. Tak samo będzie można opracować do układu ładne PCB (np. z użyciem innego procesora niż zastosowany 8515L, dodanym USB itp.) – oraz przygotować schemat. Tak że wszelkie pomysły i uwagi mile widziane.

    Zainteresowanie jest, ja już od dawna przymierzam się do zrobienia takiego programatorka, bo mam kilka zablokowanych mikrokontrolerów. Co do uP ATmega8515 to chyba innego tutaj nie potrzeba, natomiast fajnie by było gdyby powstała jakaś płytka PCB, albo chociaż sam schemat w Eagle-u :)
  • #4 10932437
    michal.fita
    Poziom 15  
    Posty: 149
    Pomógł: 2
    Ocena: 2
    No muszę przyznać, że jako proof of concept wyszło Ci to niezgorzej. Dość ładnie zmontowane i upakowane w estetyczną obudowę. Mógłbyś uczynić z tego jakiś projekt otwarty udostępnić schematy w KiCadzie (bo to też otwarte narzędzie) i kod w jakimś repozytorium. I zaprosić ludzi do udziału w projekcie.
  • #5 10932730
    tplewa
    Poziom 39  
    Posty: 6727
    Pomógł: 222
    Ocena: 991
    @djoy

    Dlatego całość powstała w takiej formie, a nie innej. Wiedziałem że jak odłożę to na inny termin – zacznę bawić się w projekt PCB to powstanie może za kilka lat ;) Dlatego szybka decyzja i szybkie wykonanie. Na zmiany i ulepszenia przyjdzie może jeszcze pora.


    @michal.fita

    Jak mówiłem – jeśli będzie zainteresowanie to nie stoi nic na przeszkodzie. Mi to nawet jest na rękę. Niestety z wolnym czasem (przez pracę zawodową) jest u mnie krucho, a jak mam czas wolę go spędzić z żoną i córką. Natomiast na hobby praktycznie tego czasu już nie mam.

    Mam kilka pomysłów jak by można było taki programator zrobić, głównie chodzi o zasilanie z USB (mała przetwornica DC/DC z 5V na 12V). Może właśnie jakiś ATMega z USB – aby nie bawić się w dodatkowe FTDI. Ewentualnie jakieś FPGA i w tym momencie zrobić wersje z PIN Driverami i jedną podstawką.

    Zresztą jak to mówią pożyjemy zobaczymy co z tego wyjdzie. Na chwile obecną chcę dokończyć sprawę z softem na PC. Część spraw jest już napisana, ale brakło czasu i stoi wszystko w miejscu.

    @lucastg

    Odnośnie tych napisów jest to zrobione na samoprzylepnej przeźroczystej folii do wydruków na drukarce laserowej. Konkretnie jest to folia firmy Folex (Folex Adhesive F Klar). Niestety nie jest ona tania (około 3zł za folię formatu A4) i opakowanie sporo kosztuje (zwłaszcza że oryginalne opakowania są duże) – jednak można kupić w sklepach internetowych na sztuki. Choć i tak jak wspominałem zbyt tanio to nie wychodzi.

    -----------

    W sumie poruszę jeszcze na chwilę sprawę komunikacji z PC. Niestety nie mam na chwile obecną pod ręką dokładnego opisu ramki. Jest gdzieś w odręcznych notatkach i zaimplementowana w kodzie. Jak zwykle jak znajdę chwilę to to przygotuję w formie elektronicznej.

    Jeśli chodzi o to jakie rozkazy obsługuje programator to fragment pliku z definicjami rozkazów itp.:

    
    		//Komendy dla programatora
    		#define CMD_ReadSignature				0x10
    		#define CMD_ReadCalibrationByte			0x11
    		
    		#define CMD_ReadFuseAndLock				0x20
    		#define CMD_WriteFuseAndLock			0x21
    
    		#define CMD_ReadMemory					0x30
    		#define CMD_WriteMemory					0x31
    
    		#define CMD_ChipErase					0xB0
    
    		#define	CMD_GetFirmwareVersion			0xC0
    		#define CMD_GetISPSpeed					0xC1
    		#define CMD_SetISPSpeed					0xC2
    		#define CMD_ClearError					0xCF
    
    
    		//Komendy dla PC
    		#define ACK_OK							0xD0
    		#define ACK_Signature					0xD1
    		#define ACK_CalibrationByte				0xD2
    		#define ACK_FuseAndLock					0xD3
    		#define ACK_MemoryData					0xD4
    		#define ACK_WriteStart					0xD5
    		#define ACK_WriteNext					0xD6
    		#define ACK_WriteEnd					0xD7
    		#define ACK_NoData						0xD8
    		#define ACK_ISPSpeed					0xD9
    		#define ACK_FirmwareVersion				0xDA
    		#define ACK_Error						0xEF
    
    
    		//Komendy Trybu HV
    		#define HV_NoOperation					0x00
    		#define HV_ReadFlash					0x02
    		#define HV_ReadEEPROM					0x03
    		#define HV_ReadFuseAndLock				0x04
    		#define HV_ReadSignature				0x08
    		#define HV_WriteFlash					0x10
    		#define HV_WriteEEPROM					0x11
    		#define HV_WriteLock					0x20
    		#define HV_WriteFuse					0x40
    		#define HV_ChipErase					0x80
    
    
    		//FUSE & LOCK
    		#define FUSE_LOW						0x01
    		#define FUSE_HI							0x02
    		#define FUSE_EXT						0x03
    		#define FUSE_LOCK						0x04
    
    
    		//Mode
    		#define	MODE_HVPP1						0x01	//HVPP Wszystkie linie
    		#define MODE_HVPP2						0x02	//HVPP Brak wszystkich lini np. ATTiny 2313
    		#define MODE_HVSP						0x03	//HVSP
    		#define MODE_SPI						0x04	//SPI
    
    		//Rodzaj pamieci
    		#define MEMORY_FLASH					0x01
    		#define MEMORY_EEPROM					0x02
    
    
    		//Bledy
    		#define ERROR_UnknownCommand			0x01
    		#define ERROR_EnterProgramMode			0x02
    		#define ERROR_WriteLock					0x03
    		#define ERROR_WriteFuse					0x04
    		#define ERROR_WriteMemory				0x05
    		#define ERROR_ChipErase					0x06
    		#define ERROR_ISPSpeedNotSet			0x07		
    


    Natomiast plik z definicją procesorów dla programu na PC w załączniku. Nad nim też będzie trzeba trochę popracować – aby dodać kolejne układy.
    Załączniki:
    • PartList.cfg.zip (2.72 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #6 10932759
    cray_x
    Poziom 13  
    Posty: 75
    Pomógł: 3
    Ocena: 18
    Niezły projekt, a zwłaszcza użyteczny.
    Bardzo podoba mi się obudowa.Jeżeli można to poproszę o model.
    Pozdrawiam...
  • #7 10932772
    tplewa
    Poziom 39  
    Posty: 6727
    Pomógł: 222
    Ocena: 991
    cray_x napisał:

    Bardzo podoba mi się obudowa.Jeżeli można to poproszę o model.
    Pozdrawiam...


    Nie mam pojecia :( Jakis czas temu kupiona na Wolumenie... z tego co pamietam jest to chyba cos z oferty Hammond-a
  • #8 10932870
    Mad Bekon
    Poziom 23  
    Posty: 794
    Pomógł: 31
    Ocena: 36
    Ja się również podpiszę pod plusem dla konstrukcji.
    Bardzo ładne wykonanie.

    Jedyne co bym zasugerował, to podłączenie przez USB.
    I zastanawiam się czy nie wyszło by trochę estetyczniej gdybyś najpierw przykleił folię i w niej zrobił otwory. Nie byłoby widać tego wycięcia, a miejsca wierceń można by zaznaczyć na folii
  • #9 10932915
    Mariojas
    Poziom 17  
    Posty: 288
    Ocena: 7
    tplewa napisał:
    cray_x napisał:

    Bardzo podoba mi się obudowa.Jeżeli można to poproszę o model.
    Pozdrawiam...


    Nie mam pojecia :( Jakis czas temu kupiona na Wolumenie... z tego co pamietam jest to chyba cos z oferty Hammond-a

    Mi ta obudowa przypomina Z112
  • #10 10932920
    sundayman
    Poziom 26  
    Posty: 1631
    Pomógł: 11
    Ocena: 403
    No i proszę - można zrobić w miarę estetycznie urządzenie "na szybko" ? Można. Kolegę trzeba będzie zakopać pod Sevres jako wzór. Bo jak nie raz się widzi te pożal się Boże konstrukcje z termoglutem, to się słabo robi...
  • #11 10933046
    tplewa
    Poziom 39  
    Posty: 6727
    Pomógł: 222
    Ocena: 991
    Mad Bekon napisał:

    Jedyne co bym zasugerował, to podłączenie przez USB.
    I zastanawiam się czy nie wyszło by trochę estetyczniej gdybyś najpierw przykleił folię i w niej zrobił otwory. Nie byłoby widać tego wycięcia, a miejsca wierceń można by zaznaczyć na folii


    Odnośnie USB już wspomniałem - tak mi było wygodniej bo leży mi w szufladzie z 50szt. MAX 232 :) Więc coś z tym trzeba zrobić. Mam też na stanie mini moduł z Kamami (ZL1USB) - ale jego cena to około 50zł (chyba nie warto). Natomiast kabelków USB/RS232 mam kilka - wiec czy jest sens. Lutowanie FTDI do dość mocno zdezelowanych płytek uniwersalnych (zastosowane są płytki które nie były już w najlepszej kondycji) też nie było zbyt optymalnym rozwiązaniem. Zresztą układ lutowałem pod rozmiar płytek jaki akurat miałem i też nie wiem czy pająk z SMD by się zmieścił :)

    Choć prawdę mówiąc jak by miało być USB to taniej można rozwalić jakiś tani kabel na Profilic-u i wepchać go do środka zamiast FTDI - pytanie czy to ma sens ?

    Jak już USB to dać procka z obsługą USB, a takiego nie miałem akurat pod ręką.

    Tak jak wspominałem całość budowałem z tego co miałem pod ręką... i dlatego RS232...

    Natomiast co do wyglądu i foli. Zapewne tak by było lepiej. Można było też ładniej wyciąć. Ot mogłem dać do frezowania CNC. Niestety jestem w ciągłej przeprowadzce i nie mam w domu nawet pilnika. Do tego chciałem ukończyć prace w kilka dni - bo tyle miałem wolnego. Elektronika + obudowa to jakieś 3 dni pracy + 2 dni na firmware i prowizoryczne software PC (łącznie z testami).

    Wstyd się przyznać ale otwory były wiercone wiertłami do drewna, jakie znalazłem w pracy ;> Niektóre powiększane nożykiem... a cięcie "chińskim dremelem" który non stop się blokował z powodu braku odpowiedniej mocy - co skutkowało powstawaniem nierówności.

    @sundayman


    Zamiast termogluta jest za to poxipol ;> Czyli plytki przyklajstrowane na amen. Natomiast płytkę z podstawkami miałem w planie zalać Epidian-em 53 (może to jeszcze zrobię) aby zabezpieczyć tą nie małą ilość kynaru.

    @Mariojas

    Chyba trafiłeś w dziesiątkę z tą obudową. Ja niestety nie pamiętam modelu, ani producenta. Ot kupowałem wtedy trochę obudów na zapas różnych firm

    ---

    Nie ma co ukrywać że lepszym rozwiązaniem było by dobre PCB, zwłaszcza patrząc na to jak wyglądają przebiegi przy wyższych prędkościach SPI. Tragedii co prawda wielkiej nie ma, ale mogło by być sporo lepiej.

    Generalnie takich mogło by być lepiej jest jeszcze więcej i dobrze o tym wiem. Jednak nie udało by mi się wtedy zrealizować całości w założonym terminie (no chyba że bym wpakował nie mało kasy w expresowe usługi zewnętrznych firm) - tzn. PCB, cięcie CNC itd.

    Do tego ewentualnie zakup elementów typowo pod projekt i moje przemyślenia jak to powinno wyglądać finalnie.

    ----

    Jednak teraz jest projekt na Elce i może uda się wspólnymi siłami zrobić z tego coś jeszcze lepszego. Jak to mówią co dwie głowy to nie jedna :)
  • #12 10933971
    Konto nie istnieje
    Poziom 1  
  • #13 10934027
    tplewa
    Poziom 39  
    Posty: 6727
    Pomógł: 222
    Ocena: 991
    eurotips napisał:
    Projekt miałby ręce i nogi jakby któryś z kolegów zaprojektował profesjonalne pcb.
    Nie wiem czy na prawdę potrzeba aż tyle podstawek, warto byłoby również ten szczegół zoptymalizować.
    Wielki plus za autorski projekt, bardzo przydatny w praktyce.


    Niestety prostota ukladu (brak pin driverow) prowadzi do takiej ilosci podstawek jesli chcemy obsluzyc szersza game AVR-ow w obudowach DIL. Mozna dac mniejsza ilosc jak w projekcie FuseDoctora (a reszta jako adaptery), ale tutaj upchalem tyle ile zmiescilo sie na plytce uniwersalnej. Po prostu na chwile obecna wszystkich nie potrzebuje, ale za rok moze jakiejs bede potrzebowal ;) Zreszta uklad bedzie dzialal z dowolna liczba podstawek ;) wiec kto chce moze zaprojektowac taka plytke jaka tylko chce.

    Jak wspominalem mozna to zrobic na jednej ZIF ale niestety uklad bedzie o wiele bardziej rozbudowany, ot taki kompromis. Zreszta jak juz projektowac cos takiego to posiedziec nad jakims fajnym rozwiazaniem i mamy uniwersalny programator do wielu ukladow. Jednak tutaj stawial bym na FPGA ze wzgledu na wieksza elastycznosc przy takim zastosowaniu.

    Plytke mozna oczywiscie zaprojektowac - ale w tym wypadku warto juz rozbudowac uklad o USB, oraz zasilanie calosci z USB. Ale to nie jest ogromny problem. Elektronika jest prosta jak drut, dodanie FTDI i przetwornicy DC/DC step-up tez nie jest wielkim problemem.

    Natomiast osobiscie raczej nie znajde na to czasu - moge przygotowac zarys schematu w Altium Designer... Z mojej strony postaram sie jeszcze przygotowac jakies software na PC, mialo byc ono zintegrowane z AVR Studio - ale nie moge doczekac sie na SDK (od paru miesiecy) i powstanie jako osobny program.

    Do tego biorac pod uwage PCB warto pomyslec o jakiejs obudowie (najlepiej z zamowieniem frezowania otworow).

    Jednak jak sie nie ma zbyt wiele wolnego czasu to dosc czesto rezygnuje sie z czegos, a stawia na to by uklad powstal i dzialal :) Dlatego chyba brak tych rak i nog... inaczej zapewne by nigdy nie powstal - lub lezal jako prototyp pare lat. Choc i tak lezal - bo mialem go umiescic tutaj o wiele wczesniej, ale ciagle brakowalo mi czasu aby to zrobic i zajac sie software na PC.
  • #14 10935065
    kuba1im
    Poziom 19  
    Posty: 284
    Pomógł: 23
    Ocena: 31
    Bardzo fajny projekt, koledzy chyba wspomnieli już o wszystkich jego zaletach. Swoja drogą ciekawe ile autor dochodził do ładu z powstałym "porządkiem" przy pracach nad urządzeniem :)
  • #15 10935074
    Led156
    Poziom 16  
    Posty: 243
    Ocena: 4
    Witam,wyjścia od PA0 do PA7 i PC7 do PC0 idą do programowanego avr?
    Jak się uda to jutro wrzucę narysowaną pcb.
    Pozdro:)
  • #16 10938201
    tplewa
    Poziom 39  
    Posty: 6727
    Pomógł: 222
    Ocena: 991
    Led156 napisał:
    Witam,wyjścia od PA0 do PA7 i PC7 do PC0 idą do programowanego avr?
    Jak się uda to jutro wrzucę narysowaną pcb.
    Pozdro:)


    Tak dokladnie jak w wymienionym FuseDoctor przez rezystory na podstawki.
    Z tym ze jak wspomnialem jak juz robic plytke to warto by wczesniej narysowac schemat i pomyslec nad USB i przetwornica. Tak samo jak wspomnialem mozna zmienic porcek na jakis w wersji SMD i przyklaowo dwoma UART-ami. Bedzie sie mozna pokusic o inne sposoby programowania szeregowego przykladowo.

    Tak samo jesli chodzi o linie na porcie PC to spokojnie jesli sie projektuje plytke mozna tam zamienic sygnaly tak aby bylo prosciej. Ich zmiana to tylko zmiana definici i przekompilowanie - wiec chwila moment.


    Ja na razie jak wspominalem tym sie nie zajme, teraz mialem troche czasu i zaleglem przy sofcie na PC. Ot i nie wiem kiedy z tego wybrne. Czesc spraw byla juz napisana w C++ i wybralem sobie robienie calosci w WinAPI ;) Wiec zrobienie GUI to lekka masakra (zabawa z podstawowymi kontrolkami), w C# .NET zapewne dawno by juz dzialalo - ale jakos za .NET nie przepadam :)

    Ot tak to mniejwiecej bedzie chyba wygladac (o ile koncepcja sie nie zmieni):
    Programator HVPP/HVSP/ISP dla procesorów Atmel AVR Programator HVPP/HVSP/ISP dla procesorów Atmel AVR
  • #18 10940439
    tplewa
    Poziom 39  
    Posty: 6727
    Pomógł: 222
    Ocena: 991
    Mad Bekon napisał:
    A jak pięknie by było gdyby kolega napisał to w QT. Od razu na 3 platformy ;]


    Nie jest to wykluczone ;> w sumie mysle nad wersja pod OS X-a... Ale QT zalatwia tylko kwestie GUI, a do multilplatformowosci trzeba jeszcze pare spraw rozwiazac strikte zwiaznych z specyfika systemu. Jednak czesc klas jest pisana tak by mozna bylo je przeniesc na inna platforme...
  • #19 10942801
    mkpl
    Poziom 37  
    Posty: 5676
    Pomógł: 306
    Ocena: 859
    ATMega 8515L to w prosty sposób można przerobić na bardziej popularna ATmege16. Mając już te dodatkowe 8kb pamięci można tam upakować obsługę usb (gotowa biblioteka pod C) i programator ISP.

    Co do softu fajnie by było gdyby fusebit były ustawianie tak samo jak w Burn-O-Mat. Tam to jest genialnie rozwiązane, że nie ma sposobności się pomylić ;)

    Tak czy siak ukłony w stronę autora za wiedzę i pomysł. Jestem pod wielkim wrażeniem pozdrawiam i życzę kolejnych udanych konstrukcji
  • #20 10949831
    tplewa
    Poziom 39  
    Posty: 6727
    Pomógł: 222
    Ocena: 991
    @mkpl

    Jesli chodzi o inny procek to kod jest napisany w miare uniwersalnie i przeniesienie go na inny to nie jest duzy problem. Natomiast co do USB w wersji software to mam do tego takie srednie podejscie, mialem z tym problemy na niektorych plytach. Jak juz to dac cos z wbudowana obsluga USB. Nawet napisalem sobie "lekka" obsluge wirtualnego COM-a - tak aby nie uzywac dosc ciezkiej biblioteki Atmela lub LUFA - zreszta jak bedzie chwila moze przygotuje wersje prototypowa na 32U4 (akurat mam tego gnata na stanie).

    Natomiast odnosnie Burn-O-Mat to co miales na mysli ? Chodzi ci o blokowanie niektorych ustawien i kolorowanie ich na czerwono (bez przelaczenia na tryb advanced)... czy o opis FUSE Bitow ?

    W sumie akurat czesciowo mam juz to zrobione i wyglada mniejwiecej tak:

    Programator HVPP/HVSP/ISP dla procesorów Atmel AVR

    choc kontrolka nie jes jeszcze do konca oprogramowana i wszelkie sugestie mile widziane.
  • #21 10950181
    mkpl
    Poziom 37  
    Posty: 5676
    Pomógł: 306
    Ocena: 859
    Konkretnie chodziło mi o coś takiego:
    Programator HVPP/HVSP/ISP dla procesorów Atmel AVR

    Nie muszę się zastanawiać nad tym jakie bity zaznaczyć czy jest inwersja czy cos. Zaznaczam po prostu interesującą mnie opcję i program sam przelicza.

    Co do USB w sumie masz rację. Jak ma coś kiepski działać to lepiej nie dawać. Z jaką prędkością pracuje COM? Ja aktualnie stosuje bardzo prostą na attiny45 wyciąga 4800 co w większości projektów jest do przyjęcia. Jak braknie przepustowości to można dać attiny2313 i popędzić oba układy z wspólnego kwarcu 12mhz.

    Na 32U4 raczej bym nie przechodził jeśli chcesz aby Twoja konstrukcja była popularna. Warto stosować elementy najtańsze i łatwe do dostania :)

    Ps. a może by tak aplikacja udająca wirtualny programator widziany np jako stk500 i tłumacząca to na Twój programator? Rozwiązało by to problem kompatybilności z różnymi programami
  • #22 10951446
    tplewa
    Poziom 39  
    Posty: 6727
    Pomógł: 222
    Ocena: 991
    Hi

    No co do kosztow to cos o tym wiem, w sumie jak by nie patrzec to ten programator poskladany jest niemal ze "smieci". Praktycznie 80% elementow jest z rozlutu (inne prototypy itp.). Odnosnie predkosci to UART pracuje na 115200 - dlatego kwarc 7.3728MHz (czyli praca na prawie maksymalnej czestotliwosci - jest to wersja L ATMegi czyli max 8MHz i jest to najbardziej optymalny kwarc dla UART-u).

    Tak samo zrezygnowalem tutaj z FTDI - nie wiem za ile mozna teraz dostac, ale szybko patrzac w TME jest to cena w okolicach 16zl netto + cena kilku zewnetrznych elementow. Generalnie nie wiem czy za cene ATMegi i FTDI nie kupi sie juz wersji z USB :) W sumie dlatego RS232 bo kabelki USB/RS232 na Profilic-u mozna juz kupic za grosze - zreszta zapewne wiekszosc elektronikow ma jakis kabel RS232/USB w tych czasach. Niestety sporo ukladow jeszcze wymaga takiego kabelka, a porty COM coraz trudniej spotkac w komputerach.

    Odnosnie softu tlumaczacego to nie wiem ile by to bylo roboty - zapewne jest to realne. Ale nie patrzylem na protokoly np. AVR Dragona itp. Niestety przy STK500 bym nie obstawal - bo w nowej wersji AVR studio - nie wiem dlaczego jest on mocno okaleczony jesli chodzi o ilosc obslugiwanych ukladow (w stosunku do wersji z 4 AVR Studio). Zreszta jak wspominalem chcialem to polaczyc z AVR Studio. Ot wyslalem FAX i nie dostalem SDK do AVR Studio 4 - widocznie nie wysylaja juz ze wzgledu na piatke, poczekamy jak sie pojawi bedzie mozna zrobic integracje.

    Programator ma specyficzny sposob komunikacji i czesciowo przejmuje "inicjatywe" - czyli to on prosi PC o kolejne dane. Ot wysyla sie informacje o pamieci, a nastepnie procek prosi o kolejne paczki danych ktore laduja w buforze (zajmujacym wiekszosc ram-u), jak dane z bufora zostana zaprogramowane prosi o przeslanie kolejnych itd. W sumie wstyd sie przyznac - ale programator powstal troche czasu temu i dokladnie juz nie pamieta formatu komunikacji. Zapewne teraz troche sie przypomni jak pisze soft na PC.

    Co do zakladek to bedzie mozna pomyslec w przyszlych wersjach, ale z zlalozenia programator rownolegly poza ratowaniem tylka w przypadku zablokowania procesora jest raczej dla bardziej wtajemniczonych osob. Ot wylaczanie lini reset w celu odzyskania portu itp. Na razie chce ukonczyc soft tak by byl wmiare latwy w obsludze - bo obecny jaki napisalem nie ma wszystkiego do ustawiania i trzeba czasami przekompilowac ustawiajac #define w kodzie - dlatego pisalem ze nie nadaje sie do publikacji :)


    Sama funkcjonalnosc SPI powstala raczej z powodu checi zapchania wolnego miejsca na plytce z podstawkami i dodana w pozniejszym terminie do elektroniki i firmware procesora. Prawde mowiac nie wiem jakie ma osiagi w stosunku do innych programatorow - jednak troche kynaru jak wspominalem nie wplywa najlepiej na transmisje szeregowa i raczej nie osiagnie sie maksymalnych predkosci po SPI. Tutaj jak juz wiele osob wspomina przydala by sie plytka... Choc ja raczej szedl bym w strone dodania kolejnych dwoch interfejsow programowania szeregowego. Jednak tutaj potrzebny byl by najlepiej wolny UART i na nim to zrealizowac. Mozna realizowac UART w software - ale jak zawsze wole uzywac rozwiazan hardware jesli jest to realne. Prawde mowiac nie wiem czy zmiescil bym sie z pamiecia w 8515 by to zrealizowac. Choc moze jeszcze jak pomysle to zoptymalizuje firmware pod katem obietosci.

    Jednak docelowo zapewne bede robil wersje na PCB + inny procek... ale to jeszcze zobaczymy kiedy to uda sie zrealizowac (i czy sie uda).
  • #23 10951497
    wirefree2
    Poziom 13  
    Posty: 102
    Ocena: 10
    cray_x napisał:
    Niezły projekt, a zwłaszcza użyteczny.
    Bardzo podoba mi się obudowa.Jeżeli można to poproszę o model.
    Pozdrawiam...

    Bardzo podobna do obudowy z kradex'u Z112JF
  • #24 10951803
    jamrjan
    Poziom 13  
    Posty: 56
    Ocena: 19
    Witam

    Przyznam że kilka razy podejmowałem próby stworzenia takiego programatora, ale niestety brak czasu. Podziwiam i myślę że jeśli tylko uda się dokończyć, to zainteresowanie będzie duże. Projekty ISP są dostępne, ale HVPP/HVSP szczególnie do programowania fuse bitów i reanimacji zablokowanych procesorów będzie poszukiwany. Ja kilka razy robiłem pająka na "jeden raz" i pod konkretny procesor, taki uniwersalny programator to bardzo pomocne narzędzie.
  • #25 10951972
    piotr_go
    Konstruktor DIY elektronika
    Posty: 2910
    Pomógł: 94
    Ocena: 3350
    Witam
    Mnie się udało sklecić coś takiego na ARMie (Link).
    Programator HVPP/HVSP/ISP dla procesorów Atmel AVR
    Co prawda mój ze względu na to że nie używam AVRów większych jak 8 nóżek nie obsługuje programowania równoległego, ale ma dodatkowo kilka innych funkcji jak:
    TPI - do tych najmniejszych AVRów
    I2C - programowanie lub testowanie układów na tej magistrali
    JTAG - co prawda na razie przetestowany tylko z Spartan3 Xilinxa

    @tplewa
    Masz w planach dodanie obsługi TPI?
  • #26 10954178
    tplewa
    Poziom 39  
    Posty: 6727
    Pomógł: 222
    Ocena: 991
    Prawde mowiac to nie myslalem wcale o ISP/PDI/TPI i jak wspominalem ISP doszlo raczej przez przypadek. Natomiast co do TPI to najlepiej bylo by miec wolny UART (jak juz wspominalem), Natomiast w obecnej formie hardware niezbyt na to pozwala - choc mozna jakos to wykombinowac. Z tym ze nie wiem czy wyrobie sie z objetoscia kodu. W sumie zobacze moze jak znajde czas na ile idzie zoptymalizowac pod katem wielkosci obecny software.

    Jednak jak to zawsze bywa najwiekszym problemem jest wolny czas. Teraz chwilowo mam jakies wolne chwile to postanowilem opublikowac projekt tutaj i wmiedzyczasie zrobic software - tak aby byl komplet. Potem zobaczymy co bedzie dalej :)

    A co do progreamatora to fajna sprawa i jakas odmiana cos na ARM-e :)
    Tez na poczatku myslalem o ARM-e, ale w sumie szkoda mi bylo tych co mam na stania - a ta ATmega jak wspominalem paletala sie juz dlugi czas po szufladzie ;)
  • #27 10965793
    tplewa
    Poziom 39  
    Posty: 6727
    Pomógł: 222
    Ocena: 991
    Tak tylko informacyjnie - prace nad software trwaja...

    Tutaj mozna zobaczyc maly Preview jak to wyglada:




    Wszelkie uwagi itp. jak zwykle milo widziane, ot latwiej zmienic cos teraz niz pozniej...
  • #28 10965835
    piotr_go
    Konstruktor DIY elektronika
    Posty: 2910
    Pomógł: 94
    Ocena: 3350
    Film zablokowany. Wywal muzykę bo się pewnie ktoś doczepił.
  • #29 10977670
    tplewa
    Poziom 39  
    Posty: 6727
    Pomógł: 222
    Ocena: 991
    W sumie z mojej strony mam taką prośbę do osób zainteresowanych programatorem które maja wolna chwilę.

    Do poprawnej pracy programatora wymagany jest opis układów zawarty w pliku PartList.cfg

    Nie ma co ukrywać że trzeba ten plik stworzyć. Na chwile obecną mam do niego dodane 4 układy... Dodawanie nie jest to praca trudna, ale trochę mozolna polegająca w dużym stopniu na metodzie kopiuj/wklej.

    Przykładowa definicja układu:
    
    <AVRPART name="ATmega128" signature="0x1E9702">
    
    	<MEMORY FlashPageSizeW="128" FlashNoOfPages="512" EEpromPageSize="8" EEpromNoOfPages = "512">
    
    	<HVMODE val="0x01">
    
    	<OscCal val="0x00" text="1 Mhz" >
    	<OscCal val="0x01" text="2 Mhz" >
    	<OscCal val="0x02" text="4 Mhz" >
    	<OscCal val="0x03" text="8 Mhz" >
    
    	<FUSE>
    
            	<DefaultLow val="0xC1" >
    		<DefaultHigh val="0x99">
    		<DefaultExtended val="0xFD" >
    
    		<LOW>
    			<ENUMERATOR name="BODLEVEL" mask="0x80" text="Brown out detector trigger level" >
    				<enum val="0x00" text="Brown-out detection level at VCC=4.0 V" >
    				<enum val="0x01" text="Brown-out detection level at VCC=2.7 V" >
    			</ENUMERATOR>
    			<BIT name="BODEN" mask="0x40" text="Brown-out detection enabled" >
    			<ENUMERATOR name="SUT_CKSEL" mask="0x3F" text="Select Clock Source" >
    				<enum val="0x00" text="Ext. Clock; Start-up time: 6 CK + 0 ms" >
    				<enum val="0x10" text="Ext. Clock; Start-up time: 6 CK + 4 ms" >
    				<enum val="0x20" text="Ext. Clock; Start-up time: 6 CK + 64 ms" >
    				<enum val="0x01" text="Int. RC Osc. 1 MHz; Start-up time: 6 CK + 0 ms" >
    				<enum val="0x11" text="Int. RC Osc. 1 MHz; Start-up time: 6 CK + 4 ms" >
    				<enum val="0x21" text="Int. RC Osc. 1 MHz; Start-up time: 6 CK + 64 ms" >
    				<enum val="0x02" text="Int. RC Osc. 2 MHz; Start-up time: 6 CK + 0 ms" >
    				<enum val="0x12" text="Int. RC Osc. 2 MHz; Start-up time: 6 CK + 4 ms" >
    				<enum val="0x22" text="Int. RC Osc. 2 MHz; Start-up time: 6 CK + 64 ms" >
    				<enum val="0x03" text="Int. RC Osc. 4 MHz; Start-up time: 6 CK + 0 ms" >
    				<enum val="0x13" text="Int. RC Osc. 4 MHz; Start-up time: 6 CK + 4 ms" >
    				<enum val="0x23" text="Int. RC Osc. 4 MHz; Start-up time: 6 CK + 64 ms" >
    				<enum val="0x04" text="Int. RC Osc. 8 MHz; Start-up time: 6 CK + 0 ms" >
    				<enum val="0x14" text="Int. RC Osc. 8 MHz; Start-up time: 6 CK + 4 ms" >
    				<enum val="0x24" text="Int. RC Osc. 8 MHz; Start-up time: 6 CK + 64 ms" >
    				<enum val="0x05" text="Ext. RC Osc.         -  0.9 MHz; Start-up time: 18 CK + 0 ms" >
    				<enum val="0x15" text="Ext. RC Osc.         -  0.9 MHz; Start-up time: 18 CK + 4 ms" >
    				<enum val="0x25" text="Ext. RC Osc.         -  0.9 MHz; Start-up time: 18 CK + 64 ms" >
    				<enum val="0x35" text="Ext. RC Osc.         -  0.9 MHz; Start-up time: 6 CK + 4 ms" >
    				<enum val="0x06" text="Ext. RC Osc. 0.9 MHz -  3.0 MHz; Start-up time: 18 CK + 0 ms" >
    				<enum val="0x16" text="Ext. RC Osc. 0.9 MHz -  3.0 MHz; Start-up time: 18 CK + 4 ms" >
    				<enum val="0x26" text="Ext. RC Osc. 0.9 MHz -  3.0 MHz; Start-up time: 18 CK + 64 ms" >
    				<enum val="0x36" text="Ext. RC Osc. 0.9 MHz -  3.0 MHz; Start-up time: 6 CK + 4 ms" >
    				<enum val="0x07" text="Ext. RC Osc. 3.0 MHz -  8.0 MHz; Start-up time: 18 CK + 0 ms" >
    				<enum val="0x17" text="Ext. RC Osc. 3.0 MHz -  8.0 MHz; Start-up time: 18 CK + 4 ms" >
    				<enum val="0x27" text="Ext. RC Osc. 3.0 MHz -  8.0 MHz; Start-up time: 18 CK + 64 ms" >
    				<enum val="0x37" text="Ext. RC Osc. 3.0 MHz -  8.0 MHz; Start-up time: 6 CK + 4 ms" >
    				<enum val="0x08" text="Ext. RC Osc. 8.0 MHz - 12.0 MHz; Start-up time: 18 CK + 0 ms" >
    				<enum val="0x18" text="Ext. RC Osc. 8.0 MHz - 12.0 MHz; Start-up time: 18 CK + 4 ms" >
    				<enum val="0x28" text="Ext. RC Osc. 8.0 MHz - 12.0 MHz; Start-up time: 18 CK + 64 ms" >
    				<enum val="0x38" text="Ext. RC Osc. 8.0 MHz - 12.0 MHz; Start-up time: 6 CK + 4 ms" >
    				<enum val="0x09" text="Ext. Low-Freq. Crystal; Start-up time: 1K CK + 4 ms" >
    				<enum val="0x19" text="Ext. Low-Freq. Crystal; Start-up time: 1K CK + 64 ms" >
    				<enum val="0x29" text="Ext. Low-Freq. Crystal; Start-up time: 32K CK + 64 ms" >
    				<enum val="0x0A" text="Ext. Crystal/Resonator Low Freq.; Start-up time: 258 CK + 4 ms" >
    				<enum val="0x1A" text="Ext. Crystal/Resonator Low Freq.; Start-up time: 258 CK + 64 ms" >
    				<enum val="0x2A" text="Ext. Crystal/Resonator Low Freq.; Start-up time: 1K CK + 0 ms" >
    				<enum val="0x3A" text="Ext. Crystal/Resonator Low Freq.; Start-up time: 1K CK + 4 ms" >
    				<enum val="0x0B" text="Ext. Crystal/Resonator Low Freq.; Start-up time: 1K CK + 64 ms" >
    				<enum val="0x1B" text="Ext. Crystal/Resonator Low Freq.; Start-up time: 16K CK + 0 ms" >
    				<enum val="0x2B" text="Ext. Crystal/Resonator Low Freq.; Start-up time: 16K CK + 4 ms" >
    				<enum val="0x3B" text="Ext. Crystal/Resonator Low Freq.; Start-up time: 16K CK + 64 ms" >
    				<enum val="0x0C" text="Ext. Crystal/Resonator Medium Freq.; Start-up time: 258 CK + 4 ms" >
    				<enum val="0x1C" text="Ext. Crystal/Resonator Medium Freq.; Start-up time: 258 CK + 64 ms" >
    				<enum val="0x2C" text="Ext. Crystal/Resonator Medium Freq.; Start-up time: 1K CK + 0 ms" >
    				<enum val="0x3C" text="Ext. Crystal/Resonator Medium Freq.; Start-up time: 1K CK + 4 ms" >
    				<enum val="0x0D" text="Ext. Crystal/Resonator Medium Freq.; Start-up time: 1K CK + 64 ms" >
    				<enum val="0x1D" text="Ext. Crystal/Resonator Medium Freq.; Start-up time: 16K CK + 0 ms" >
    				<enum val="0x2D" text="Ext. Crystal/Resonator Medium Freq.; Start-up time: 16K CK + 4 ms" >
    				<enum val="0x3D" text="Ext. Crystal/Resonator Medium Freq.; Start-up time: 16K CK + 64 ms" >
    				<enum val="0x0E" text="Ext. Crystal/Resonator High Freq.; Start-up time: 258 CK + 4 ms" >
    				<enum val="0x1E" text="Ext. Crystal/Resonator High Freq.; Start-up time: 258 CK + 64 ms" >
    				<enum val="0x2E" text="Ext. Crystal/Resonator High Freq.; Start-up time: 1K CK + 0 ms" >
    				<enum val="0x3E" text="Ext. Crystal/Resonator High Freq.; Start-up time: 1K CK + 4 ms" >
    				<enum val="0x0F" text="Ext. Crystal/Resonator High Freq.; Start-up time: 1K CK + 64 ms" >
    				<enum val="0x1F" text="Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 0 ms" >
    				<enum val="0x2F" text="Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 4 ms" >
    				<enum val="0x3F" text="Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 64 ms" >
    			</ENUMERATOR>
    		</LOW>
    		<HIGH>
    			<BIT name="OCDEN" mask="0x80" text="On-Chip Debug Enabled" >
    			<BIT name="JTAGEN" mask="0x40" text="JTAG Interface Enabled" >
    			<BIT name="SPIEN" mask="0x20" text="Serial program downloading (SPI) enabled" >
    			<BIT name="EESAVE" mask="0x08" text="Preserve EEPROM through the Chip Erase cycle" >
    			<ENUMERATOR name="BOOTSZ" mask="0x06" text="Select Boot Size" >
    				<enum val="0x03" text="Boot Flash size=512 words start address=$FE00" >
    				<enum val="0x02" text="Boot Flash size=1024 words start address=$FC00" >
    				<enum val="0x01" text="Boot Flashsize=2048 words start address=$F800" >
    				<enum val="0x00" text="Boot Flash size=4096 words start address=$F000" >
    			</ENUMERATOR>
    			<BIT name="BOOTRST" mask="0x01" text="Boot Reset vector Enabled" >
    			<BIT name="CKOPT" mask="0x10" text="CKOPT fuse (operation dependent of CKSEL fuses)" >
    		</HIGH>
    		<EXTENDED>
    			<BIT name="M103C" mask="0x02" text="ATmega103 Compatibility Mode">
    			<BIT name="WDTON" mask="0x01" text="Watchdog Timer always on" >
    		</EXTENDED>
    	</FUSE>
    	<LOCKBIT>
    		<ENUMERATOR name="LB" mask="0x03" text="Memory Lock" >
    			<enum val="0x00" text="Further programming and verification disabled" >
    			<enum val="0x02" text="Further programming disabled" >
    			<enum val="0x03" text="No memory lock features enabled" >
    		</ENUMERATOR>
    		<ENUMERATOR name="BLB0" mask="0x0C" text="Boot Loader Protection Mode" >
    			<enum val="0x00" text="LPM and SPM prohibited in Application Section" >
    			<enum val="0x01" text="LPM prohibited in Application Section" >
    			<enum val="0x02" text="SPM prohibited in Application Section" >
    			<enum val="0x03" text="No lock on SPM and LPM in Application Section" >
    		</ENUMERATOR>
    		<ENUMERATOR name="BLB1" mask="0x30" text="Boot Loader Protection Mode" >
    			<enum val="0x00" text="LPM and SPM prohibited in Boot Section" >
    			<enum val="0x01" text="LPM prohibited in Boot Section" >
    			<enum val="0x02" text="SPM prohibited in Boot Section" >
    			<enum val="0x03" text="No lock on SPM and LPM in Boot Section" >
    		</ENUMERATOR>
    	</LOCKBIT>
    </AVRPART>
    
    


    Znaczną część danych można brać z plików XML dodanych do AVR Studio, znajdujących się w folderze "c:\Program Files\Atmel\AVR Tools\Partdescriptionfiles\"

    tzn. informacja o danych kalibracyjnych zawarta jest w Tag-ach <OCEntry>, natomiast informacja o FUSE i LOCK BITS w sekcji rozpoczynajacej sie od Tag-u <V2>.

    Pozostaje podać informacje o sygnaturze układu, parametrach pamięci (dostępne w dokumentacji układu)...

    Jedynie wyjaśnienia wymaga Tag <HVMODE val="0x01">

    Wiec w tym miejscu wstawiamy:
    0x01 - Standardowy tryb HVPP
    0x02 - Tryb HVPP dla mniejszych układów (brak niektórych linii w trybie HVPP np. BS2), Przykładowo ATTiny2313
    0x03 - Tryb HVSP

    W sumie jak są chętni to zrobi się to dużo szybciej... Ja niestety siedzę dalej nad Software. W obecnej formie jest już w pełni funkcjonalny. Pozostało jeszcze dorobić Log z informacjami, informacje o błędach itp. - czyli kosmetyka która sprawia że program jest milszy w obsłudze... Do tego jeszcze przygotowanie schematu...

    Odnośnie pliku PartList.cfg to aktualną jego wersję dodaję do załącznika.
    Załączniki:
    • PartList.zip (2.68 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #30 10992770
    tplewa
    Poziom 39  
    Posty: 6727
    Pomógł: 222
    Ocena: 991
    Witam

    Zamieszczam w załączniku komplet do programatora:

    1. Firmware v 1.02
    2. Software na PC v1.00 (zawiera w pliku PartList.cfg definicje 41 układów)
    3. Schemat (pdf + Altium Designer)
    Załączniki:
    • AVRProgrammer.zip (12.92 MB) Musisz być zalogowany, aby pobrać ten załącznik.

Podsumowanie tematu

✨ W dyskusji poruszono temat programatora HVPP/HVSP/ISP dla procesorów Atmel AVR, który został stworzony przez autora w odpowiedzi na problemy z programowaniem mikrokontrolerów, w tym zablokowanych. Uczestnicy wymieniają się doświadczeniami, pomysłami na ulepszenia oraz schematami. Wskazano na potrzebę stworzenia profesjonalnej płytki PCB oraz dodania obsługi USB. Wiele osób wyraziło zainteresowanie projektem, a także zaproponowało różne modele mikrokontrolerów, takie jak ATMega8515, ATMega32U4, ATmega8, ATmega16, oraz ATXMEGA32A4U. Dyskutowano również o możliwościach rozwoju oprogramowania oraz dodawaniu nowych układów do listy obsługiwanych procesorów.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA