Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

LV-USBasp - USBasp z niskonapieciowym front-end'em

master_pablo 04 Jan 2008 12:36 12765 27
Altium Designer Computer Controls
  • LV-USBasp - USBasp z niskonapieciowym front-end'em
    Thomas Fischl, autor oryginalnego USBasp'a, w koncu wrzucil na swoja strone moja wersje tego programatora - LV-USBasp (LowVoltage-USBasp). Moja modyfikacja wyroznia sie paroma przydatnymi cechami:
    - zasilanie z USB
    - mozliwosc zasilania ukladu docelowego z USB lub z zewnetrznego zasilacza
    - bezpieczna i pewna praca z ukladami zasilanymi napieciem od 2,6V (mniej nie sprawdzalem)
    - linie ISP z filtrami RC i duzymi mozliwosciami wysterowania
    - przycisk resetujacy uklad docelowy
    - dwukierunkowy interfejs szeregowy (poki co nieobslugiwany przez software)
    - plytka jednostronna z 3 zworami, latwa do wykonania termotransferem (sciezki 16 i 24 mils) i polutowania (najmniejszy footprint 1206, brak ukladow scalonych SMD)
    - tylko powszechnie dostepne i tanie czesci
    - wykorzystuje oryginalny firmware i drivery USBasp'a (od wersji usbasp.2007-10-23.tar.gz), nie ma potrzeby rekompilacji czegokolwiek.

    Na Elektrode wrzucam tylko te pliki, ktorych nie mozna sciagac ze strony USBasp'a.

    LV-USBasp - USBasp z niskonapieciowym front-end'em
    LV-USBasp - USBasp z niskonapieciowym front-end'em
    LV-USBasp - USBasp z niskonapieciowym front-end'em
    LV-USBasp - USBasp z niskonapieciowym front-end'em

    Cool? Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    master_pablo
    Level 16  
    Offline 
    Has specialization in: elektronika cyfrowa, programowanie
    master_pablo wrote 275 posts with rating 30, helped 11 times. Been with us since 2005 year.
  • Altium Designer Computer Controls
  • #2
    Dj kici
    Level 12  
    Hehe programator całkiem wporządku... ale musze powiedzieć że najbadziej mi się podoba symulacja 3d. W jakim programie to było robione?
  • #4
    master_pablo
    Level 16  
    Fajnosc to jedno, ale najwazniejsza jest praktycznosc - nie widzialem jeszcze wersji tego programatora, ktora by porzadnie pracowala z ukladami niskonapieciowymi.
  • #5
    krystian.w
    Level 12  
    Chciałbym złożyć ten programator i mam pytanie: czy ta wersja jest odporna na początkujących?:D tzn. czy nie uszkodzę programatora i komputera jeśli będę chciał zaprogramować układ w którym dojdzie do zwarcia na złączu ISP lub do zwarcia zasilania (przy włączonej zworce 'supply target')?
  • #6
    master_pablo
    Level 16  
    Mysle, ze programator jest stosunkowo odporny na bledy uzytkownika. Port USB (od zlacza JP2 Supply target, CON5 USB5V nie jest zabezpieczony) jest zabezpieczony bezpiecznikiem polimerowym, wiec zwarcie w programowanym ukladzie spowoduje odciecie zasilania. Linie USB maja szeregowe rezystory. Podobnie linie ISP z wyjatkiem RST, co ograniczy prad po zwarciu z masa czy zasilaniem. Linia RST jest sterowana z 3 wyjsc bufora, wiec przy omylkowym dolaczeniu do jakiegos wyjscia w programowanym ukladzie predzej ono ulegnie uszkodzeniu niz bufor. Mysle, ze komputer i programator sa bezpieczne, tym bardziej, ze host USB powinien odlaczyc zasilanie przy przeciazeniu. Mozna tez nie montowac zlacza CON5, zeby nie kusilo, by podlaczyc tam zrodlo, zamiast odbiornika pradu :).
  • Altium Designer Computer Controls
  • #7
    krystian.w
    Level 12  
    master_pablo wrote:
    Linia RST jest sterowana z 3 wyjsc bufora, wiec przy omylkowym dolaczeniu do jakiegos wyjscia w programowanym układzie predzej ono ulegnie uszkodzeniu niz bufor.

    dodam rezystor 100Ω na linii RST, mam nadzieje że nie zakłóci on pracy programatora :D
    master_pablo wrote:
    - bezpieczna i pewna praca z ukladami zasilanymi napieciem od 2,6V (mniej nie sprawdzalem)

    Przy jakim najmniejszym napięciu zasilania układu docelowego poprawnie pracuje oryginalna wersja USBasp?
  • #8
    cyruss
    Level 30  
    "Mysle, ze komputer i programator sa bezpieczne, tym bardziej, ze host USB powinien odlaczyc zasilanie przy przeciazeniu" - oj nie był bym taki pewny. Bywa różnie - czasem prąd pobierany z portu jest kontrolowany przez kość, a bywa też że jest tylko bezpiecznik SMD, dławik SMD czy coś podobnego. Trochę się już tego nanaprawiałem, szczególnie w starszych, tanich płytach.

    A ogólnie to wykonanie b. ładne. Napisy na płytce to też jakiś termotransfer czy coś innego?
  • #9
    hemol
    Level 12  
    Programator bardzo przydatny dla właścicieli nowszych laptopów, które nie posiadają gniazda lpt. Te napisy to prawdopodobnie wydruk przyklejony do wykonanej płytki. Jest to najprostszy sposób 2 igły wkładamy w otwory po przekątnej i przebijamy 2 odpowiadające punkty na wydruku i przyklejamy.
  • #10
    master_pablo
    Level 16  
    krystian.w wrote:
    dodam rezystor 100Ω na linii RST, mam nadzieje że nie zakłóci on pracy programatora :D

    Mozesz dodac, tylko pamietaj, ze zazwyczaj wejscie RST w AVR podciaga sie rezystorem do zasilania, wiec stworzy sie dzielnik.

    master_pablo wrote:
    Przy jakim najmniejszym napięciu zasilania układu docelowego poprawnie pracuje oryginalna wersja USBasp?

    Tylko przy 5V, przy zasilaniu ukladu docelowego nizszym napieciem niz 4,3V mozna cos upalic. Mozna oczywiscie dolozyc szeregowe rezystory, ale to nie jest zbyt eleganckie i moze wygenerowac pewne problemy.

    cyruss wrote:
    "Mysle, ze komputer i programator sa bezpieczne, tym bardziej, ze host USB powinien odlaczyc zasilanie przy przeciazeniu" - oj nie był bym taki pewny. Bywa różnie - czasem prąd pobierany z portu jest kontrolowany przez kość, a bywa też że jest tylko bezpiecznik SMD, dławik SMD czy coś podobnego. Trochę się już tego nanaprawiałem, szczególnie w starszych, tanich płytach.

    Wlasnie dlatego napisalem "powinien" :D.

    hemol wrote:
    Programator bardzo przydatny dla właścicieli nowszych laptopów, które nie posiadają gniazda lpt.

    Z tego wlasnie powodu powstal. Teraz to juz nawet niektore stacjonarne komputery nie maja portow LPT...

    hemol wrote:
    Te napisy to prawdopodobnie wydruk przyklejony do wykonanej płytki.

    Tak, silkscreen zostal wydrukowany na papierze samoprzylepnym i "pod swiatlo" przyklejony na laminat. Potem wystarczy porobic szpilka dziurki w papierze i mozna lutowac. Jedyna wada takiego rozwiazania jest to, ze papier sie brudzi. Widzialem tez analogiczne rozwiazanie z termotransferem, ale to jest jeszcze bardziej wrazliwe niz papier.
  • #11
    master_pablo
    Level 16  
    Znalazlem informacje o innym programatorze na USB, opartym na nocie aplikacyjnej AVR910 - tutaj strona. Wprawdzie ja nie paniemaju po rusku, ale wywnioskowalem, ze jest on obslugiwany bezposrednio z AVR Studio (to chyba software'owy konwerter RS-232<->USB zintegrowany z programatorem). Sciagnalem wiec kod zrodlowy i sprobuje go przerobic, by dzialal takze LV-USBasp'em. Ja skoncze, to sie podziele :).
  • #12
    Gienek
    Level 37  
    Kolego master_pablo, działa super (zrobiłem go "modernizując" na LV) - zmieściłem go w obudowie przejściówki DB25-DB25.
  • #13
    master_pablo
    Level 16  
    Ciesze sie :). Mam nadzieje, ze uzytkownikow bedzie coraz wiecej, bo to jednak bardziej praktyczna wersja od "golego" USBasp'a.

    Oczywiscie w razie wystapienia jakichs problemow prosze o informacje - bedziemy kombinowac :).
  • #14
    krystian.w
    Level 12  
    Jaką największą długość może mieć kabel od programatora do układu?
  • #15
    master_pablo
    Level 16  
    Hmm, ciezko powiedziec, ale mysle, ze z 2m powinno dzialac bez problemu. Po to wlasnie sa te szeregowe rezystory z kondensatorami.
  • #16
    master_pablo
    Level 16  
    Tak jak wspominalem pare postow wczesniej, przerobilem kod w C dla programatora AVR910 USB tak, by pasowal do (LV-)USBasp'a. Niestety nie jestem w stanie skompilowac programu. AVR Studio 4.13 + WinAVR 20070525 pluje bledami :(. Byc moze wykorzystuje zly kompilator. Niestety nie mam czasu sam z tym walczyc (sesja :/), a moja wiedza na ten temat tez jest dosc ograniczona. Wrzucam wiec przerobiony kod, gdyby komus udalo sie z tego stworzyc plik hex, to prosze niech sie podzieli :).

    Edit: teoria ze zlym kompilatorem chyba jest poprawna - na dole tej ruskiej strony jest cos wspomniane o IAR 4.10b.
  • #17
    krystian.w
    Level 12  
    Nareszcie zbudowałem ten programator :D Działa od pierwszego uruchomienia :D Ale niestety jest coś co ogranicza wygodę jego użytkowania - po hibernacji komputera i próbie użycia USBasp w AVR8_Burn_O_Mat pokazuje się następujący tekst:
    avrdude.exe: error: could not find USB device "USBasp" with vid=0x16c0 pid=0x5dc
    Wszystko zaczyna działać poprawnie gdy odłączę kabel USB i podłączę go ponownie. Czy ktoś wie dlaczego tak się dzieje??
  • #18
    master_pablo
    Level 16  
    Po prostu firmware USBasp'a nie ma jest do konca zgodny ze specyfikacja USB i nie ma zaimplementowanej funkcji suspend.
  • #19
    michal512
    Level 14  
    Mam małe pytanie ;) Jak taki programatorek sprawuje sie przy Viscie ??
    Mam viste premium i czytałm gdzies, że mogą byc problemy.
  • #20
    wojnar
    Level 16  
    Witam,
    też zbudowałem ten programator, chociaż dopiero na "bread bordzie", ale co ważne - działa!
    Czy wie ktoś jak dorwać się do obsługi linii RxT a DxT?
    Bo patrząc na tę oto stonkę: http://www.cesko.host.sk/IgorPlugUSB_RS232/IgorPlug-USB%20(AVR)%20RS232.htm albo też do przyłączonej application note Atmela, której autorem jest prawie Igor Češko, to schemat programatora jest zupełnie taki sam jak na powyżej mianowanej stronce przejściówka USB-RS232, tylko że fw w procku jest inny.
    Z tego sądzę, że autor programatora USBASP z czymś takim liczył, ale pytanie brzmi, czy tylko liczył albo funkcję przejściówki implementował?

    Edit:
    Teraz patrzę, że adres nie jest oznaczony cały, trzeba chyba skopiować do schowka cały ciąg znaków od http..... do ...htm i potem włożyć do pola adresu w przeglądarce.
  • #21
    krystian.w
    Level 12  
    Autor USBasp pisze na swojej stronie w pliku Readme.txt że:
    A bidirectional serial
    interface to slave exists in hardware but the firmware doesn't support it yet.
    Więc linie RxT i DxT jak na razie nie działają.
  • #23
    czarny30
    Level 10  
    Witam robię ten właśnie programator ale dopiero zaczynam z programatorami.
    Mam kilka pytań

    1. Opisz do czego służy gold pin self prog a do czego ISP CON3 ?
    Czy dobrze myślę self prog do zaprogramowania Atmegi w programatorze a ISP do programowania ukladów zewnętrznych?

    2. Czemu brak jest jednego rezystora na twojej płytce nóżka 9,10,11 układu 74hc541?
  • #24
    master_pablo
    Level 16  
    czarny30 wrote:
    1. Opisz do czego służy gold pin self prog a do czego ISP CON3 ?
    Czy dobrze myślę self prog do zaprogramowania Atmegi w programatorze a ISP do programowania ukladów zewnętrznych?

    Tak. W programatorach zawsze jest problem jajka i kury :). Na szczęście ten uC można nawet bezpośrednio do LPT podłączyć.
    czarny30 wrote:
    2. Czemu brak jest jednego rezystora na twojej płytce nóżka 9,10,11 układu 74hc541?

    Nie rozumiem pytania, schemat i PCB są kompletne.
  • #25
    czarny30
    Level 10  
    Widzę, że na jednym zdjęciu twojej wytrawionej płytki nie ma jednego rezystora i kondensator jest przesunięty. Mnie właśnie interesuje dlaczego brak rezystora, no chyba że jest gdzie indziej.

    master_pablo wrote:
    Tak. W programatorach zawsze jest problem jajka i kury Smile. Na szczęście ten uC można nawet bezpośrednio do LPT podłączyć.


    Możesz opisać, jak go podłączyć do LPT, bo pewnie będę musiał zaprogramować jakoś Atmegę do tego programatora, więc zrobię to przez LPT.
    Czy wystarczy takie podłączenie jak na zdjęciu, oczywiście bez zasilani, a bo zasilanie jak mniemam jest w programatorze?

    LV-USBasp - USBasp z niskonapieciowym front-end'em
  • #26
    master_pablo
    Level 16  
    czarny30 wrote:
    Widzę, że na jednym zdjęciu twojej wytrawionej płytki nie ma jednego rezystora i kondensator jest przesunięty. Mnie właśnie interesuje dlaczego brak rezystora, no chyba że jest gdzie indziej.

    Zmyliłeś mnie, ale już widzę, o co chodzi: płytka jest odwrócona, to nóżki 1, 19 i 20.
    Kondensator jest przesunięty, a rezystor został dodany, aby blokować wyjścia trójstanowe, gdy programator jest podłączony do układu, a nie jest zasilany z USB.
    czarny30 wrote:
    Możesz opisać, jak go podłączyć do LPT, bo pewnie będę musiał zaprogramować jakoś Atmegę do tego programatora, więc zrobię to przez LPT.

    Nie, bo to zależy od tego, z jakiego programu na PC skorzystasz. Kiedyś z powodzeniem używałem aplikacji Adama Dybkowskiego. Zasilanie najlepiej podłącz z USB, wtedy do LPT nie podłączasz już pinu 5V.
  • #27
    czarny30
    Level 10  
    Dzięki serdeczne za pomoc.
    Więcej pytań zadam na PW, bo raczej będę zanudzał swoimi pytaniami, a nie wniosą one chyba nic istotnego do projektu. :-)

    Myślę, że mogę troszkę poprzeszkadzać?
  • #28
    czarny30
    Level 10  
    Dzieki za pomoc uruchomiłem już programator i działa wyśmienicie.
    Miałem problemy z instalacja sterowników ale jak się okazało to wsad był zły sciągnąłem starszy wsad ze strony programatora usbasp i zadziałało.

    Dzieki jeszcze raz kolego master_pablo za pomoc i należy się ogromne PIWO dla ciebie.

    No i oczywiście filmik z uruchomienia tego programatora.
    Do wgrania softu użyłem MkAvtCalcolator