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

USBASP-OPTO-MONSTER - kolejna wersja z EXTRAsami

mirekk36 08 Wrz 2010 18:35 23628 70
REKLAMA
  • USBASP-OPTO-MONSTER - kolejna wersja z EXTRAsami
    Witam,

    Jakiś czas temu popełniłem sobie kilka sztuk programatorków USBASP, o takich: Link. Działało to i działa do dzisiaj dobrze ale... jest małe ale:

    1. jest spory problem, praktycznie niemożliwe żeby programować poprawnie układy z prockiem zasilanym np 3,3V
    2. Niestety, gdy do programatora podłączona jest jakaś płytka, to po jej wypięciu i podpięciu ponownie tej samej albo innej, USBASP często się zawiesza.
    3. zawieszanie występuje także gdy się tym pięknym klawiszem załącza zasilanie do zewnętrznego układu (znowu trzeba wyciągnąć wtyk USB i włożyć ponownie)
    4. Bardzo często się zawiesza gdy programuje się układ z własnym zasilaniem z całkiem innego źródła. Wystarczy że miernikiem się dotknie coś sprawdzi w tym układzie a USBASP może się już przywiesić i znowu wtyk USB wyjąć/włożyć
    5. Nieco pomagało sztuczne dołączenie rezystorków na linie ISP ale to niezbyt wiele. Chciałbym, żeby w ogóle się nie zawieszał ;)


    USBASP-OPTO-MONSTER - kolejna wersja z EXTRAsami

    Zatem przygotowałem sobie tę wersję w kilku egzemplarzach. Oczywiście ma takie fiuczersy jak:

    1. Pełna optoizolacja sygnałów ISP
    2. W przypadku załączania zasilania - podłącza się dopiero wtedy GND i VCC do zewnętrznego układu
    3. Zabezpieczenie wyjścia zasilania ze złącza KANDA bezpiecznikiem polimerowym PTC 200mA
    4. BARDZO DLA MNIE ISTOTNE, układ posiada niezależnie wyprowadzone na zewnątrz zasilanko +3,3V. Czasem bywa potrzebne gdy robi się prototyp na płytce stykowej. Wtedy gdy procek zasilany jest +5V a jakieś peryferia potrzebują oddzielnie +3,3V to proszę bardzo także z oddzielnej złączki z programatora. Wydajność 0,8A (LM1117-3.3)

    5. WPROWADZIŁEM SPECJALNE ZABEZPIECZENIE ;) przed zawieszaniem się procka w programatorze gdy po podłączeniu zasilania do zewnętrznego układu nagle popłynie duży prąd (zwykle stary USBASP się wykrzaczał wtedy) - to zabezpieczenie to na schemacie: Dioda D3, i kondensator C4 tantalowy. Poza tym jest jeszcze jeden tantal SMD 100uF C7 przy przełączniku rodzaju napięcia wyjściowego na ISP.

    6. Wyraźna kontrola załączonego poziomu napięcia +3,3V albo +5V. Wykorzystałem tu podświetlacze LED na które zrobiłem nadruk na folii przeźroczystej.


    Zielona dioda po środku umieszczona w klawiszu to jedna z diod USBASP - sygnalizaująca prawidłowe działanie po włączeniu. Czerwona po lewej zapala się w trakcie programowania.

    Dodam, że napięciem +5V z programatora zasilam nieraz układy pobierające aż 500-900mA, i wtedy typowy usbasp prawie zawsze się rozkracza przy przełączeniach układów. Ten NIE.

    SCHEMAT:
    USBASP-OPTO-MONSTER - kolejna wersja z EXTRAsami

    Teraz bez problemu mogę programować układy zasilane 3,3V zarówno dostarczając im napięcie czy nie, ale także układy zasilane napięciem niższym czy wyższym - dowolnie od ok 2,5V do 5,5V spokojnie

    Ponieważ nieraz programuję seryjnie wiele płytek różnych sterowników wykonywanych na zamówienie to proces wyciągania i wkładania wtyczki USB po zawieszeniu starego USBASP doprowadzał mnie do szału ;)

    Teraz jest błogi spokój, odprężenie i pomimo trudnych warunków pracy pod moją ręką - jeszcze ANI RAZU nowy USBASP nie doznał ZAWIESZENIA ;)

    Oczywiście poza tym wszystkim to całkiem standardowy USBASP wykonany w oparciu o dowolny procek ATmega8/48/88 itp ... u mnie akurat m8 i zaraz będzie m48

    Poniżej kilka fotek:

    USBASP-OPTO-MONSTER - kolejna wersja z EXTRAsamiUSBASP-OPTO-MONSTER - kolejna wersja z EXTRAsamiUSBASP-OPTO-MONSTER - kolejna wersja z EXTRAsami

    USBASP-OPTO-MONSTER - kolejna wersja z EXTRAsamiUSBASP-OPTO-MONSTER - kolejna wersja z EXTRAsami

    porównanie wielkości ze starym USBASP ;)
    USBASP-OPTO-MONSTER - kolejna wersja z EXTRAsami

    USBASP-OPTO-MONSTER - kolejna wersja z EXTRAsamiUSBASP-OPTO-MONSTER - kolejna wersja z EXTRAsamiUSBASP-OPTO-MONSTER - kolejna wersja z EXTRAsami

    USBASP-OPTO-MONSTER - kolejna wersja z EXTRAsami

    Wiem, wiem że to kolejny klon usbasp na elektrodzie - ale w sumie łatwy do wykonania a po dodaniu przynajmniej optoizolatorów oraz tej diody z kondkiem zabezpieczającej zasilanie procka - to naprawdę opłaca się samemu zrobić takie coś. Oczywiście wcale nie musi mieć tych bajerów czy diod LED , świecidełek itp, ale co ja zrobię że lubię tak mieć ;)

    Fajne? Ranking DIY
    O autorze
    mirekk36
    Poziom 42  
    Offline 
    Ciekawy kurs VIDEO - EAGLE - zajrzyj na mój blog
    mirekk36.blogspot.com - VOLATILE ? to łatwe

    Specjalizuje się w: programowanie: avr c, delphi pc, esp32, esp8266
    mirekk36 napisał 9195 postów o ocenie 2289, pomógł 964 razy. Mieszka w mieście Szczecin. Jest z nami od 2006 roku.
  • REKLAMA
  • #2 8490038
    areczek5s
    Poziom 12  
    Posty: 92
    Ocena: 9
    jaki był koszt wykonania?,nie chciałbyś tego sprzedać? bo nie umiem lutować takich małych elementów :(
  • #3 8490054
    Dragas
    Poziom 26  
    Posty: 1029
    Pomógł: 76
    Ocena: 197
    Ogólnie konstrukcja wygląda wspaniale!
    Właśnie od jakiegoś czasu przygotowuje się, do zrobienia jakiegoś programatora, ale nie wiem jak mam się za to zabrać, a ten wygląda i z opisu działa wspaniale.
    Przydałby się tylko wsad do procka.
    Pozdrawiam Dragas
  • #4 8490206
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    areczek5s --> naprawdę nie znam kosztu bo wszystkie części jakoś miałem pod ręką. USBASP można kupić na alledrogo już chyba za 30 - 40zł ale taki zwykły nawet bez klawisza do przełączania zasilania jak w moim starym tylko same kocie zworki. Ta wersja z uwagi na te klawisze i diody LED plus transoptory oraz zamówienie płytki na pewno kosztuje co nieco więcej. Chociaż jeśli komuś się nie podobają LEDy, to zawsze można się ich pozbyć w pioruny a zostawić tylko to co wśrodku - żeby tylko działało tak niezawodnie jak ten.

    Dragas --> Gorąco polecam wykonanie we własnym zakresie tego typu programatorka oraz dodadnie optoizolacji. Nie musi być nawet taki sam przecież. Nie wyjdzie drożej niż na allegro a stopień skomplikowania minimalny, przecież nawet nie musi być w SMD.

    Działa rzeczywiście rewelacyjnie, normalnie nie udaje mi się go zawiesić tak jak starej wersji ;)

    Wsad do procka ??? co za problem, przecież wszystko masz tutaj:

    http://www.fischl.de/usbasp/
  • REKLAMA
  • #5 8490316
    skynet_2
    Poziom 26  
    Posty: 1008
    Pomógł: 74
    Ocena: 9
    Trochę dziwne, że miałeś aż "takie" problemy z USBAsp.
    Jakiś czas temu programowałem ze 40szt attiny2313 przez USBAsp'a złożonego na płytce stykowej razem z podstawką[taką otwieraną] i nie było żadnego problemu, nawet nie miałem ani jednego kondensatorka 100n[chociaż płytka stykowa jakieś pojemności pewnie posiada].

    Czy płytka nie jest nigdzie przykręcona do obudowy[znaczy trzyma się jedynie na gniazdach w osi Y]?
  • #6 8490377
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    skynet_2 napisał:
    Trochę dziwne, że miałeś aż "takie" problemy z USBAsp.

    Wcale nie dziwne i wcale nie tylko ja je mam, powiem więcej to normalne zachowania USBASP z gołymi wyjściami. I nie mówię tu o jakimś jednorazowo złożonym na płytce stykowej czy też używanym jednorazowo czy sporadycznie.

    U mnie programator ma hardcorową pracę ;) I pewnie, że troszkę może przerysowałem te problemy w sensie, że nie występują aż tak często jakby mogło się wydawać z tekstu. Jednak gdy się przeprogramowuje różne sterowniki na stole czy w trakcie serwisu, podłącza się programatorem takim do układu, który ma własne zasilanie z jakiegoś tam zasilacza (całkiem inne źródło zasilania niż z USBASP) to takie efekty są normalne i to nie tylko dla USBASP - to wcale nie dziwne. Wpadnij do mnie (zapraszam) ;) ze swoim programatorem na tej płytce i podłączymy go w locie tak żeby podawał zasilanie i bez do kilku różnych układów. Sam zobaczysz wtedy o co chodzi. Fakt będzie trzeba kilka razy być może powachlować żeby to się zdarzyło - ale właśnie o to chodzi , że TO ma się w ogóle nie zdarzać ;)


    skynet_2 napisał:
    Czy płytka nie jest nigdzie przykręcona do obudowy[znaczy trzyma się jedynie na gniazdach w osi Y]?


    Płytka jest jak widać albo może nie widać na fotkach IDEALNIE wpasowana do obudowy jeśli chodzi o gabaryty, wchodzi praktycznie na styk, poza tym otwory na klawisze też ją pozycjonują, zatem nawet nie musiałem niczym jej przykręcać. Myślałem że dam ze dwie kropelki kleju na gorąco pod spodem płytki, ale okazało się to zupełnie zbędne. Nic w środku nie lata.
  • #7 8490818
    motocross.team
    Poziom 12  
    Posty: 22
    Pomógł: 1
    Ocena: 2
    Kolego wszystko fajnie Ci wyszło ale zapomniałeś o jednej bardzo ważnej rzeczy mianowicie o obniżeniu częstotliwości programowania SLOW_SCK ! To jest bardzo ważne gdy programujesz procesor, który działa z częstotliwością mniejszą niż programator czyli f<=12MHz. Chyba że z góry obniżyłeś częstotliwość programowania ale wtedy to nie wiem kto chciał by czekać na zapisanie np. 32Kb do pamięci Flash.
  • REKLAMA
  • #8 8490872
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    motocross.team napisał:
    Kolego wszystko fajnie Ci wyszło ale zapomniałeś o jednej bardzo ważnej rzeczy mianowicie o obniżeniu częstotliwości programowania SLOW_SCK ! To jest bardzo ważne gdy programujesz procesor, który działa z częstotliwością mniejszą niż programator czyli f<=12MHz. Chyba że z góry obniżyłeś częstotliwość programowania ale wtedy to nie wiem kto chciał by czekać na zapisanie np. 32Kb do pamięci Flash.


    I tu cię panie kolego mam ;) ... ja nawet nie obsadziłem zworki SLOW_SCK jak słusznie zauważyłeś - chociaż miejsce na nią jest. Dla mnie ta zworka to już archaizm i NIGDY jej nie używam odkąd mam pod ręką program

    MkAvrCalculator Link, który sam sobie dobiera prędkość w zależności od tego jak procek jest ustawiony. Jeśli ma wolne taktowanie to za pomocą odpowienio zmodyfikowanego avrdude programowo obiżam częstotliwość programowania tzn program to robi za mnie. Teraz najnowsza wersja już zupełnie wszystko jeśli chodzi o programowe SLOW_SPEED sama robi.

    Sprawdź jak to wygląda na w pełni darmowej wersji dla procków ATmega8, ATmega162, ATmega128 czy ATtiny2313..... zdziwisz się ;) i zrozumiesz dlaczego uważam tę zworkę za archaizm.

    Tym bardziej nie popełniałbym takiej masakry jak jakieś "Obniżanie z góry częstotliwości taktowania" i czekanie na zaprogramowanie choćby głupiej ATmega8 ;) nie mówiąc już o większych jak sam wspominasz. Kilka dni temu programowałem 40 sterowników na ATmega328 - gdybym to robił na Slow_SCK to bym chyba @@#$!!!@##$$! piii... piii...!@@###@ [cenzura] ;)
  • #9 8491471
    olinek2
    Poziom 23  
    Posty: 764
    Pomógł: 11
    Ocena: 53
    Programatorek super :)

    Mirekk, do takich cienkich materiałów polecam Ci wiertło stożkowe, nie schodkowe, ani zwykłe, otwory będą wychodziły bez postrzępionych krawędzi, a rozwiercać można ręcznie przy użyciu samego uchwytu i ręki :)
    Dodam, że takim wiertłem okrągły otwór w cienkiej blasze to nie problem, nawet w tak cienkiej aluminiowej jak jest w puszkach od piwa ;)
    W sumie nawiercając w grubszej plexi uzyskujemy fajny otwór stożkowy, przez co klawisze się nie zacinają, a ładnie to wygląda. Przy odrobinie samozaparcia można zrealizować tak podświetlane pierścienie wokół przycisków :)
  • #10 8491493
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    olinek2 --> przyznaję, że mistrzem w obróbce mechanicznej to nie jestem ale się staram jak mogę. Dziękuję za porady. Dopiero teraz przyjrzałem się tym wierłom stożkowym, rzeczywiście musi być lepszy efekt z nimi. Muszę się w to zaopatrzyć ;) .... a o co chodziło dokładniej z tymi podświetlanymi pierścieniami wokół przycisków - możesz nieco rozwinąć swój pomysł, ew podać jakąś fotkę czy namiar o co dokładnie chodzi ? ;)
  • #11 8491915
    ciapciok
    Poziom 20  
    Posty: 503
    Pomógł: 3
    Ocena: 109
    Twój programator ma kilka wad, o których nie wspomniałeś, ale wierzę, że to dlatego, że jeszcze go nie przetestowałeś w 100%, szkoda tylko, że wykonałeś go w kilku sztukach.

    1. Zauważ, że w wielu procesorach atmela na złączu ISP znajdują się kanały PWM, jeżeli uruchomisz go na pinie MISO, będziesz modulować diodę w transoptorze! Z racji, że masz rezystor 220R, prąd będzie duży i może to wpłynąć na działanie urządzenia podłączonego do tego kanału. Niestety, ale będziesz musiał odpinać twój programator, żeby tego uniknąć.

    2. Programator wymusza stany logiczne, a dodatkowo linia MISO jest obciążona.

    Jeżeli chcesz mieć prawidzwy, "niewidzialny" programator to musisz zastosować bramę trójstanową, tak jak w klasycznym STK200/300, która będzie załączana sygnałem reset.

    Pozdrawiam
  • #13 8492139
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    ciapciok --> być może wyjdą wady, cóż z tego - zrobię kolejny - co za problem. Tak samo było z poprzednim.

    Jednak pozwolę się z tobą niezgodzić, że:

    ad.1 - o jakim ty modulowaniu mówisz/piszesz? procka podłączonego do programatora ? toż jeśli nawet taki procek będzie generował PWM to i tak po sygnale RESET z programatora zakończy tę działalność ... więc gdzie upatrujesz problemu w działaniu programatora? To po prostu działa w takich przypadkach i to dobrze. Poza tym, nawet gdyby coś tam nie wiem , to po prostu wystarczy wyłączyć zasilanie w programatorze. Bo na pewno taki PWM nie zakłóca działania procka w programatorze. Chyba że coś źle zrozumiałem twoją wypowiedź to mnie popraw proszę.

    ad.2 tu masz rację, wymusza stany logiczne i linia MISO jest obciążona. No ale podpowiedz mi konkretny przypadek że to jakoś tragicznie zakłóci pracę programowanego układu ??? to mogą być jakieś wyjątki-wyjątków i to jeszcze z wyjątków. A i tak zawsze można po prostu wypiąć programator i wszystko w takich wyjątkach jeśli w ogóle nastąpią - wróci do normy. Gorzej by było gdyby właśnie następowało takie wymuszanie stanów jak we wspomnianym przez ciebie STK200 z portu LPT. Bo pomimo bramy trójstanowej przecież port LPT sam wymusza różne stany co czasem jest "upierdliwe" i trzeba np w AVRDUDE zastosować specjalną opcję, żeby doprowadzić je do normy po zaprogramowaniu. A w takich programatorach jak USBASP takie coś się nigdy nie zdarza nawet jeśli są bez buforowania bo piny zostaną przestawione na wejścia bez podciągania i już.

    Oczywiście masz w 100% rację, że z bramą trójstanową programator byłby bardziej "niewidzialny" - zgadza się. Ale jak mówię - takie wymuszanie stanów naprawdę niczemu nie przeszkadza w ogromnje większości wypadków więc - nawet nie mam czego żałować że wykonałem go w kilku egzemplarzach z tego powodu.

    A wymuszenie stanu wysokiego akurat na linii RESET to wręcz zaleta a nie wada.

    Ale może masz inne zdanie i jakieś kontrargumenty na to co powiedziałem to chętnie posłucham bo może jednak coś przeoczyłem.

    Dzięki za uwagi.

    Dodano po 41 [sekundy]:

    Panowie wszystkie te wyłączniki podświetlane kupowałem akurat w TME.pl
  • #14 8492413
    olinek2
    Poziom 23  
    Posty: 764
    Pomógł: 11
    Ocena: 53
    Co do włączników to u piekarza też takowe były :)


    Co do podświetlanych pierścieni miałem na myśli możliwości jakie stwarza wiertło stożkowe. Sam zastosowałem takie rozwiązanie w panelu sterującym w swoim modzie :)
    USBASP-OPTO-MONSTER - kolejna wersja z EXTRAsami

    Całość dostępna pod adresem: http://www.mod-planet.com/forum/viewtopic.php?t=4362

    Gałeczki z puszek kondensatorów starych :)

    Jak byś miał jeszcze pytania to zapraszam na GG, lub PW, by MOD się nie denerwował odbiciem od tematu...

    Gdzie zamawiasz płyteczki ?
  • #15 8492438
    profesorek_96
    Poziom 16  
    Posty: 238
    Ocena: 11
    Witam. Bardzo podoba mi się ten programator jest starannie wykonany. Bardzo ładne są luty jak i płytka. Czym lutowałeś atmegę i gdzie wykonywałeś płytkę?
  • #16 8492497
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    olinek2 --> no no noooo! z ciebie to naprawdę SPEC ;) podoba mi się twoja robota, a szczególnie sposób na wykonywanie tych przycisków. Szok ;) Będę z tobą w kontakcie ...

    profesorek_96 --> Płytka lutowana zwykłą lutownicą kolbową tyle że z cieniutkim grotem, do tego topnik i cieniutkie 0,5mm spowio lutownicze. Płytki robię zwykle w firmie merkar.pl
  • #17 8492894
    piotrva
    VIP Zasłużony dla elektroda
    Posty: 6409
    Pomógł: 625
    Ocena: 735
    Projekt rzeczywiście fajny, programator przemyślany, bo z klasycznym usbasp programowanie procków 3V3 jest niemożliwe.
    I muszę rozwiać wątpliwości kolegów co do zawieszania się oryginału - mnie raz zawiesił się chyba z 3 razy w godzinę, gdy miałem układ robiony na płytce stykowej na pająka + peryferia na ISP (programator zakłócał nawet pracę enc28j60 na ISP, dopiero po złożeniu wszystkiego na płytce docelowej nie było konieczne odpinanie programatora po wgraniu softu)
  • #18 8493299
    medicb
    Poziom 28  
    Posty: 1457
    Pomógł: 89
    Ocena: 64
    Nigdy nie miałem problemów z usbasp a już z prockami zasilanymi 3,3V wcale. Ale projekt i tak godny polecenia.
  • #19 8493354
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    medicb napisał:
    Nigdy nie miałem problemów z usbasp a już z prockami zasilanymi 3,3V wcale. Ale projekt i tak godny polecenia.


    Przecież to nie chodzi o to, zeby był problem z zaprogramowaniem procka, który jest na 3,3V tylko o to że nie da rady zaprogramować procka (dowolnego) który jest w układzie zasilanym 3,3V a ty wpisansz w to wtyk ISP. Tylko nie mów, że to normalne i że tak właśnie w układzie zawsze programujesz procki bez problemów. Być może używasz jakiejś przystawki z podstawkami i wachlujesz prockami pomiędzy takąż przystawką a układem docelowym - tak mi się coś wydaje - czy się mylę?
  • #20 8494664
    medicb
    Poziom 28  
    Posty: 1457
    Pomógł: 89
    Ocena: 64
    Usbasp zakupiłem na allegro. Z tym zakupionym na allegro miałem problem pod win7, zmieniłem w nim procka z atm8 na atm48V z wsadem z 2009 ze strony fischla. Programator zasilany jest z USB, ciągne z niego zasilanie 5V na docelową płytkę podczas zabawy. ISP nie wypinam. Chyba, że majstruję z czymś co korzysta z SPI. Na każdej płytce mam ten sam schemat wejsciowy zasilania a jest nim zawsze stabilizator 3,3V APL5312 (czasem 3V). Robię tak bo kupiłem swego czasu kilkadziesiąt sztuk atm8L i używam ich do wszystkiego. Schody zaczynają się (czasem) gdy zasilam docelową płytkę z zewnetrznego zasilacza, wtedy nie za każdym razem jestem w stanie zaprogramować procka ale przymykam na to oko i jade dalej. Programuję khazamą.
  • #21 8494691
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    medicb napisał:
    Schody zaczynają się (czasem) gdy zasilam docelową płytkę z zewnetrznego zasilacza, wtedy nie za każdym razem jestem w stanie zaprogramować procka ale przymykam na to oko i jade dalej.

    A no widzisz. Ja też długo przymykałem oko, dokąd była to tylko zabawa, ale jak się zaczyna robić dużo i najróżniejszych układów a trzeba je później także zaserwisować wpinając się w oryginalny układ całego urządzenia u klienta bez wyrywania płytki własnego sterownika , zasilanej z własnego źródła zasilania - to zapomnij o szybkiej, wygodnej i bezproblemowej pracy z takim zwykłym USBASP. Nie wspominając już konieczności czasem w ciągu krótkiego czasu przeprogramowania kilkudziesięciu (20-50szt) sterowników, po drodze jeszcze testy itp....

    .... wtedy już przymkanie oka ;) doprowadza powoli do szału i człowiek postanawia sobie znowu ułatwić życie. A mówię tylko o takich na 5V. Bo żeby zaprogramować do testów takie 3,3V to wolałem odłączać inne peryferia zasilane z 3,3V i samego procka programować w układzie żeby potem znowu podłączać peryferia... było to uciążliwe ale też się dało i przymykałem na to oko .... do czasu ;) .... teraz ostateczny QUNIEC z przymykaniem oka.
  • REKLAMA
  • #22 8495468
    manekinen
    Poziom 29  
    Posty: 1629
    Pomógł: 76
    Ocena: 2361
    mirekk36 napisał:
    [...]z bramą trójstanową programator byłby bardziej "niewidzialny" - zgadza się. Ale jak mówię - takie wymuszanie stanów naprawdę niczemu nie przeszkadza w ogromnje większości wypadków więc - nawet nie mam czego żałować że wykonałem go w kilku egzemplarzach z tego powodu.


    Właśnie miałem o tym napisać ale kolega Ciapciok mnie ubiegł. Popełniłeś ten sam błąd co ja z tą linią MISO. Już wcześniej robiłem optoizolowany usbasp ( https://www.elektroda.pl/rtvforum/topic1399676.html ) i często mam problemy z MISO - trzeba odpinać programator aby układ poprawnie pracował. Jak by nie patrzeć dioda transoptora ciągle obciąża pin i siorbie prąd, uwierz, jest to czasami naprawdę kłopotliwe. Miałem robić kolejną wersję tego programatora który by przełączał linie w stan wysokiej impedancji... ale jakoś zwlekam :)
  • #23 8495645
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    manekinen --> no tak, siorbie prąd masz 100% racji. Tylko podaj mi przypadki w jakich powodowało ci to konkretne problemy (proszę) jeśli możesz? Nie żebym chciał wciskać, że nie może ich być - po prostu jestem ciekawy.

    Z drugiej strony zwykle takie narzędzia robię sam dla siebie a nie na sprzedaż a ja z kolei rzadko, bardzo rzadko wykorzystuję linie ISP do czegokolwiek innego poza ISP. No chyba, że to jakiś ATtiny ;) ... ale i tu jak dotąd gdy sprawdzałem na razie na kilku swoich układach nie miałem żadnego problemu... więc ciekawy jestem o jakich konfiguracjach mowa ?

    Z kolejnej strony rozważałem wcześniej nawet podanie jeszcze na wyjście 74HC244 ale ostatecznie uznałem, że w takiej postaci też nie będzie problemów.
  • #24 8496083
    nico41
    Poziom 13  
    Posty: 63
    Ocena: 1
    Kolego mirekk36 gratuluje jakości wykonania. Jak dla mnie to za dużo "świecidełek" ale jak mówisz to rzecz gustu. sam właśnie jestem w trakcie budowy podobnego ustrojstwa ,ale ze zintegrowanym zestawem podstawek dla podstawowych procków moja ocena to 9/10
  • #25 8496141
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    nico41 --> tak z ciekawości zapytam po co ci te podstawki zintegrowane jak to nazywasz? czy nie doceniasz możliwości programowania bezpośrednio w układzie i lubisz tyle razy przy uruchamianiu przekładać procka w tę i drugą stronę ? Wg mnie to trochę zaprzeczenie idei takich programatorków ISP.... no ale może masz właśnie jakieś swoje specjalne powody.
  • #26 8497405
    manekinen
    Poziom 29  
    Posty: 1629
    Pomógł: 76
    Ocena: 2361
    O ile taki programowany procek nie będzie miał problemów z wymuszeniem stanu niskiego na tej linii miso, bo wydajność takiego pinu to 20mA wzwyż, to inny układ dołączony tam na stałe niekoniecznie będzie miał taką wydajność na pinie. Może być to cokolwiek, wyświetlacz, coś 1wire, obojętnie. Układ taki może mieć wydajność prądową na poziomie 5mA lub mniej i nie będzie w stanie ściągnąć tej linii poniżej 0.7V a procek nie rozpozna prawidłowo stanu niskiego. A jeszcze gorzej przy większych prędkościach. Komunikacja utrudniona lub niemożliwa.

    Nie możemy też mówić że np rzadko wykorzystujemy sprzętowy SPI i takie wymuszanie stanu wysokiego na nim nam nie przeszkadza... przecież to programator in-system, i nie można projektować układu tak aby nie kolidował z programatorem - programator ma być przeźroczysty dla układu a nie odwrotnie :)

    Jeśli chodzi o konkretne przykłady, hmm... linia busy wyświetlacza VFD na pinie miso, komunikacja prawie że zerowa. 16 bitowa szyna danych z komputerowego cdromu, jedna linia przypadła na miso i z programatorem oczywiście cuda niewidy - musiałem zwolnić prędkość do minimum. Ostatnio kłopociki z moim układem "avr doctor" - tam układ-pacjent połączony jest rezystorami 1K z układem-doktorem i ten drugi za nic w świecie nie otrzyma stanu niskiego poprzez rezystor 1K, jeśli dołączony jest programator. Odpinanie, podpinanie, i tak w kółko. Aż w końcu wyciągnąłem usbasp bez optoizolacji, z optozilolacją używam kiedy muszę - czyli chcę oddzielić masę od masy PC np gdy w układzie podłączony jest jeszcze oscyloskop PC.
  • #27 8497722
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    No tak, ale nawet podłączenie zwykłego LCD do procka w ten sposób, że bit nr.7 (LCD_BUSY) będzie na którymś z sygnałów ISP, przy najzwyklejszym usbasp czy buforowanym czy nie i tak potrafi zakłócić działanie toku programowania, gdy używamy oczywiście LCD_BUSY.

    Te argumenty że niektóre układy nie mogą sciągnąć do masy też słuszne - racja.

    Tylko jest jedno małe ale, oczywiście, że nie da się w 100% uniknąć takiego zaprojektowania układu żeby był jak to się mówi "pod programator" ... jednak warto chyba przestrzegać pewnych zasad, żeby tak konstruować własne układy aby te linie nie były tak uzyte żeby przeszkadzać w programowaniu. Zawsze można w ostateczności zrobić zworki do ich odłączania (3 szt) choć to można już uznać jako hardcore ;)

    Oczywiście też trudno jest zrobić programator, żeby wszystkich zadowolił, bo jak się robi coś "dla ludu" to rzeczywiście trzeba przewidzieć WSZYSTKO albo i więcej. A i tak można trafić na klienta, który tak to popodłącza, że coś nie będzie działać.

    Zatem z opisanych przez ciebie przykładów (za które bardzo dziękuję) jestem spokojny o użytkowanie mojego programatora nawet w takiej wersji jakiej jest. Używam go w 99% przypadków do programowania własnych układów - a zwykle w 99% procentach przypadków nie muszę się obawiać takich okoliczności - połączeń czy użycia linii MISO ale również SCK i MOSI żeby cokolwiek mi przeszkadzało.

    Ale też się nie zarzekam, dłuższe testowanie i praca szybko zweryfikuje te moje poglądy ;) .... jak coś to dorobi się jeszcze bufor trójstanowy na wyjściu i będzie po zawodach ;)
  • #28 8497951
    manekinen
    Poziom 29  
    Posty: 1629
    Pomógł: 76
    Ocena: 2361
    Może nie trzeba upychać tam dodatkowego układu (bufora), w zasadzie problemem jest tylko konflikt na linii miso - reszta jest podciągnięta przez 1K i to nigdy nie sprawiało mi problemów. Może wystarczy pomyśleć nad jakimś prostym układem z tranzystorem na miso i włączać go resetem. Niestety nie mam czasu żeby się pobawić. Prostszym rozwiązaniem jest zmiana rezystora diody na np jakiś 1K ale wtedy przy niższych napięciach może być problem.

    A zapytam jeszcze od jak niskich napięć programator sobie radzi? Mi pięknie latał przy pełnej prędkości i napięciach 1.8V dla układu programowanego :)
  • #29 8498039
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    manekinen napisał:

    A zapytam jeszcze od jak niskich napięć programator sobie radzi? Mi pięknie latał przy pełnej prędkości i napięciach 1.8V dla układu programowanego :)


    Narazie nie miałem okazji testować na niższych niż 3,3V więc tu nie podpowiem. A na 3,3V oczywiście tak samo dobrze jak przy 5V.
  • #30 8498645
    medicb
    Poziom 28  
    Posty: 1457
    Pomógł: 89
    Ocena: 64
    Przetestuj z czystej ciekawości na wersji V procka :) żyją czeszcze przy 1,6V

Podsumowanie tematu

✨ W dyskusji poruszono problemy związane z programatorem USBASP, w tym trudności w programowaniu układów zasilanych 3,3V oraz zawieszanie się urządzenia przy podłączaniu i odłączaniu płytek. Użytkownicy dzielili się doświadczeniami, sugerując m.in. zastosowanie optoizolacji, zmiany w schemacie (np. dodanie kondensatorów) oraz obniżenie częstotliwości programowania. Wskazano również na problemy z kompatybilnością sterowników USBASP w systemie Windows 7 oraz na konieczność dostosowania wartości rezystorów i diod w konstrukcji. Użytkownicy podkreślali znaczenie optoizolacji dla stabilności działania programatora oraz omawiali różne metody zasilania układów.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA