Elektroda.pl
Elektroda.pl
X
Arrow Multisolution Day
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

USBASP-OPTO-MONSTER - kolejna wersja z EXTRAsami

mirekk36 08 Wrz 2010 18:35 22089 70
  • 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!
  • Arrow Multisolution Day
  • #2 08 Wrz 2010 20:46
    areczek5s
    Poziom 12  

    jaki był koszt wykonania?,nie chciałbyś tego sprzedać? bo nie umiem lutować takich małych elementów :(

  • #3 08 Wrz 2010 20:49
    Dragas
    Poziom 26  

    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

  • Arrow Multisolution Day
  • #4 08 Wrz 2010 21:16
    mirekk36
    Poziom 42  

    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/

  • #5 08 Wrz 2010 21:36
    skynet_2
    Poziom 26  

    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 08 Wrz 2010 21:48
    mirekk36
    Poziom 42  

    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 08 Wrz 2010 23:35
    motocross.team
    Poziom 11  

    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.

  • #8 08 Wrz 2010 23:59
    mirekk36
    Poziom 42  

    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 09 Wrz 2010 10:32
    olinek2
    Poziom 23  

    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 09 Wrz 2010 10:43
    mirekk36
    Poziom 42  

    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 09 Wrz 2010 12:55
    ciapciok
    Poziom 20  

    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 09 Wrz 2010 14:02
    mirekk36
    Poziom 42  

    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 09 Wrz 2010 15:09
    olinek2
    Poziom 23  

    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 09 Wrz 2010 15:15
    profesorek_96
    Poziom 16  

    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 09 Wrz 2010 15:29
    mirekk36
    Poziom 42  

    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 09 Wrz 2010 17:18
    piotrva
    Moderator na urlopie...

    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 09 Wrz 2010 18:28
    medicb
    Poziom 28  

    Nigdy nie miałem problemów z usbasp a już z prockami zasilanymi 3,3V wcale. Ale projekt i tak godny polecenia.

  • #19 09 Wrz 2010 18:40
    mirekk36
    Poziom 42  

    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 09 Wrz 2010 23:18
    medicb
    Poziom 28  

    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 09 Wrz 2010 23:28
    mirekk36
    Poziom 42  

    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.

  • #22 10 Wrz 2010 11:09
    manekinen
    Poziom 29  

    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/viewtopic.php?t=1399676 ) 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 10 Wrz 2010 12:10
    mirekk36
    Poziom 42  

    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 10 Wrz 2010 14:37
    nico41
    Poziom 13  

    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 10 Wrz 2010 14:58
    mirekk36
    Poziom 42  

    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 10 Wrz 2010 20:55
    manekinen
    Poziom 29  

    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 10 Wrz 2010 21:59
    mirekk36
    Poziom 42  

    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 10 Wrz 2010 22:50
    manekinen
    Poziom 29  

    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 10 Wrz 2010 23:11
    mirekk36
    Poziom 42  

    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 11 Wrz 2010 09:58
    medicb
    Poziom 28  

    Przetestuj z czystej ciekawości na wersji V procka :) żyją czeszcze przy 1,6V