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

JTAG do ATmegi w wersji USB

vmario 06 Mar 2010 17:21 16307 23
  • JTAG do ATmegi w wersji USB

    Z czym to się je?

    Jakiś czas temu wykonałem prosty układ elektroniczny pełniący rolę JTAG-a dla mikrokontrolerów ATmega. Był to znaleziony w Sieci klon firmowego JTAGICE, który to klon mimo prostej budowy znakomicie pełni swoją rolę. Jedyną istotną jego wadą jest sterowanie przez port szeregowy RS-232. Port ten jest już rzadkością w komputerach, co wymusza stosowanie przejściówek USB<->RS-232. Z mojego doświadczenia wynika, że przejściówki takie często sprawiają wiele kłopotów, dlatego doszedłem do wniosku, że czas ulepszyć JTAG-a, a przy okazji dorobić się wreszcie czegoś konkretnego w miejsce poprzedniej prowizorki.

    Tak naprawdę nie czekało mnie wiele pracy — musiałem tylko dodać do układu jakąś przejściówkę USB<->RS-232 i zaprojektować płytkę, najlepiej pod elementy SMD. W roli konwertera postanowiłem wykorzystać układ scalony firmy FTDI — FT232RL. Kosztuje on wprawdzie kilkanaście złotych, ale ma wbudowany zegar i do działania nie potrzebuje prawie żadnych elementów zewnętrznych.

    Opis układu

    (Schemat ideowy znajdziecie w załączonym archiwum.)

    Do ATmegi16 dodałem złącze J3, służące do wgrywania firmware’u, a MAX232 zastąpiłem wspomnianym FT232RL. Ponieważ chciałem wykorzystać możliwość zasilania JTAG-a i debugowanego systemu z portu USB, musiałem również zastosować automatyczny przełącznik zasilania w postaci tranzystora T1 z obwodem soft start (R1, C5). Specyfikacja USB uwzględnia różne tryby zasilania i korzystające z tej magistrali urządzenia powinny w odpowiedni sposób ograniczać swój prąd. Oczywiście FT232RL potrafi przejść w odpowiedni tryb, powiadamiając przy tym zewnętrzne urządzenia, np. po skonfigurowaniu wyjścia SLEEP#, ale takie rozwiązanie nie sprawdziłoby się we współpracy z dołączonym urządzeniem debugowanym. Dlatego zastosowałem polecany przez notę aplikacyjną tranzystor sterowany sygnałem PWREN# (tu: nóżka CBUS3). W razie potrzeby tranzystor odcina zasilanie i całość przechodzi w stan uśpienia.

    Diody D1, D2 i D3 mogą być pomocne w diagnozowaniu problemów z JTAG-iem. D2 informuje o tym, iż port USB przyznał nam zasilanie, D1, iż zachodzi komunikacja z komputerem, zaś D3 mówi o pracy samego interfejsu JTAG.

    Montaż i uruchomienie

    Płytkę drukowaną zaprojektowałem z myślą o jej wykonaniu w warunkach domowych, stąd dość duże przelotki i brak ścieżek prowadzonych do złącz po stronie elementów.

    Podczas montażu musimy zwrócić szczególną uwagę na układ FT232RL. Jest on wykonany w stosunkowo drobnym rastrze i przy jego lutowaniu warto wspomóc się topnikiem. Ja używałem RF800.

    Jeżeli sami wykonywaliśmy płytkę i musimy lutować przelotki, należy pamiętać, iż kilka z nich znajduje się pod złączem J2. Nie jest to zbyt eleganckie rozwiązanie, ale nie chciało mi się poprawiać tego fragmentu PCB.

    JTAG do ATmegi w wersji USB JTAG do ATmegi w wersji USB JTAG do ATmegi w wersji USB

    Po sprawdzeniu poprawności montażu możemy podłączyć urządzenie do portu USB (stan zworek J4 i J5 jest na razie nieistotny). Teraz należy uruchomić program FT_PROG i skonfigurować układ FT232RL. W zakładce USB_Config_Descriptor zaznaczamy opcje Bus Powered, USB Remote Wakeup i Pull Down IO Pins in USB Suspend zaś wartość Max Bus Power ustawiamy na 500mA. Nazwę urządzenia w USB_String_Descriptors ustawiamy wedle własnego widzimisię. W zakładce Hardware_Specific -> IO_Controls ustawiamy funkcje pinów IO:

    C0: TX & RXLED#
    C3: PWRON#

    Następnie programujemy wprowadzone zmiany. Po zamknięciu FT_PROG-a i ponownym podłączeniu urządzenia powinniśmy zobaczyć dodatkowy port COM w systemie (lub prośbę o doinstalowanie sterowników).

    Teraz ustawiamy zworkę J5 w pozycji PROG, programujemy ATmegę i wgrywamy firmware zgodnie z opisem pierwotnej wersji urządzenia (linki we wspomnianym wcześniej wpisie).

    Po wgraniu firmware’u zworkę J5 ustawiamy w pozycję WORK, zaś J4 wedle potrzeby — USB PWR, jeżeli debugowany układ ma być zasilany z portu USB lub DEVICE PWR, jeżeli dysponuje on własnym zasilaniem. Teraz JTAG jest gotowy do pracy.

    Możliwości zmian

    Zgodnie z zaleceniem noty aplikacyjnej zastosowałem przeciwzakłóceniowy koralik ferrytowy FB1 na dodatniej linii zasilania USB. Nie jest on niezbędny — można go zastąpić jakimś dławikiem lub po prostu zworą. Jeżeli będziemy mieli wyjątkowego pecha może to jednak wiązać się z zakłóceniami pracy magistrali USB.

    Podobnie bezpiecznik polimerowy F1 nie jest niezbędny, zwłaszcza, że porty USB są wyposażone we własne bezpieczniki. Taki bezpiecznik jednak kosztuje niewiele a zwiększa nieco bezpieczeństwo naszego komputera.

    Mimo iż układ w całości został zaprojektowany na Linuksie, uruchomiłem go na Windowsie ze względu na aplikację FT_PROG. Za to próbowałem korzystać z JTAG-a na Linuksie, posługując się programem AVaRICE. Niestety, mimo iż program zdawał się wgrywać kod na mikrokontroler, to debugowanie kończyło się niepowodzeniem. Na razie pozostałem więc przy AVR Studio w środowisku Windows. Zresztą AVR Studio ma tę przewagę nad wszystkimi innymi rozwiązaniami, iż udostępnia świetny graficzny monitor zasobów mikrokontrolera.

    Wykaz elementów

    Najdroższe elementy to FT232RL (ok. 15PLN) i ATmega16 (ok. 8PLN). Koszt całego urządzenia powinien zawrzeć się w ok. 40PLN.

    Półprzewodniki:
    * 1 × FT232RL
    * 1 × ATMEGA16-16AU
    * 1 × IRLM6402 (użyłem IRLM6302)
    * 1 × LED SMD 1206 zielona
    * 1 × LED SMD 1206 zółta
    * 1 × LED SMD 1206 czerwona

    Kondensatory SMD 0805:
    * 2 × 22pF

    Kondensatory SMD 1206:
    * 4 × 100nF
    * 1 × 10nF
    * 1 × 4,7µF
    * 1 × 10uF

    Rezystory SMD 1206:
    * 3 × 270Ω
    * 2 × 1kΩ
    * 1 × 4,7kΩ
    * 2 × 10kΩ
    * 1 × 36kΩ (użyłem 33kΩ)
    * 1 × 150kΩ

    Elementy stykowe:
    * 2 × jumperek
    * 1 × gniazdo USB B kątowe do druku przewlekane
    * 1 × gniazdo męskie proste IDC10 do druku przewlekane
    * 1 × goldpin 2×3
    * 2 × goldpin 1×3

    Pozostałe:
    * 1 × rezonator kwarcowy 7.3728MHz SMD (oznaczany czasem w katalogach jako 7.372MHz)
    * 1 × LCBA-601 (koralik przeciwzakłóceniowy) — może być 1206, 0805 lub 0603
    * 1 × bezpiecznik polimerowy 0,5A SMD 1812

    Pliki

    W pierwszym archiwum znajdują się obie strony płytki w formacie PDF (nie gwarantuję, że skala 1:1 została zachowana — płytka powinna mieć wymiary 2,5x1,875 cala). W drugim archiwum dostępne są pliki programu KiCad oraz schemat ideowy w PDF-ie i PCB w PostScript.

    Dodałem też ZIP-a z bootloaderami, potrzebnymi do wgrania oryginalnego firmware’u. Jeżeli mnie pamięć nie myli, to używałem avrboot.hex, ale gdyby nie działał, to należy spróbować boot.hex.

    Opis układu można także znaleźć na moim blogu.

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    vmario
    Poziom 14  
    Offline 
    Specjalizuje się w: gnu/linux, uc, webdesign
    vmario napisał 149 postów o ocenie 102, pomógł 10 razy. Mieszka w mieście Trójmiasto. Jest z nami od 2007 roku.
  • Computer ControlsComputer Controls
  • #2
    manekinen
    Poziom 29  
    vmario napisał:
    Port ten jest już rzadkością w komputerach, co wymusza stosowanie przejściówek USB<->RS-232. Z mojego doświadczenia wynika, że przejściówki takie często sprawiają wiele kłopotów

    [...]
    vmario napisał:
    musiałem tylko dodać do układu jakąś przejściówkę USB<->RS-232


    No więc jak to w końcu jest? ;) Rozumiem że chodziło Ci o tanie przejsciówki z kabli telefonów komórkowych, bo FT232 to już coś konkretnego i faktycznie można zbudować na nim fajne rzeczy :)

    Płytka wyszła Ci bardzo ładnie, ja jako przelotki wykorzystuje właśnie goldpiny. Podnosze plastykową nasadę, lutuje obustronnie, zsuwam z powrotem na dół.

    Pozdrawiam
  • #3
    vmario
    Poziom 14  
    manekinen napisał:
    No więc jak to w końcu jest? ;) Rozumiem że chodziło Ci o tanie przejsciówki z kabli telefonów komórkowych, bo FT232 to już coś konkretnego i faktycznie można zbudować na nim fajne rzeczy :)

    Widzę, że uważnie czytałeś :) Miałem na myśli to, że gotowe, fabryczne przejściówki potrafią się psuć już po wyjęciu z pudełka albo po pierwszym użyciu (choć obecnie korzystam z przejściówki z PL-2303 i działa bez zarzutu), za to wbudowanie FT232 do własnego urządzenia znacząco ułatwia życie użytkownikowi i jest rozwiązaniem o wiele mniej zawodnym.

    manekinen napisał:
    ja jako przelotki wykorzystuje właśnie goldpiny. Podnosze plastykową nasadę, lutuje obustronnie, zsuwam z powrotem na dół.

    Może wypróbuję kiedyś to rozwiązanie. Wydaje mi się, że może to odrobinę "skrócić" goldpin (bo nasadka będzie nieco nad powierzchnią PCB), ale to chyba będzie znikoma różnica i w złączu taki goldpin będzie siedział stabilnie? To był mój pierwszy dwuwarstwowy projekt i starałem się unikać wszelkich niewypróbowanych przeze mnie rozwiązań. Zresztą i tak w pierwszej wersji płytki poprowadziłem ścieżki pod USB i dopiero po wytrawieniu zorientowałem się, że obudowa gniazda będzie je zwierać (oczywiście, można przykleić kawałek taśmy albo zamalować ten fragment, ale lepiej unikać takich błędów).
  • #4
    kaken
    Poziom 15  
    Podoba mi się, pisałeś o problemach z gotowymi przejściówkami - też miałem z tym problem, tzn. klon nie działał mi na przejściówce na chipie OTI, rozumiem że na Profilic chodziło bez większych problemów? Czy mógłbyś jeszcze umieścić w archiwum płytkę gotową to termotransferu (tzn. sciezki, pady i przelotyki w czarnym kolorze w skali 1:1)?
  • #5
    vmario
    Poziom 14  
    kaken napisał:
    rozumiem że na Profilic chodziło bez większych problemów?

    Szczerze mówiąc, nie pamiętam, czy korzystałem z pierwotnej wersji JTAG-a przez przejściówkę czy przez prawdziwego RS-a w starym laptopie. W każdym razie od ponad tygodnia używam intensywnie Profilica do innych zadań i nie mam żadnych problemów.

    kaken napisał:
    Czy mógłbyś jeszcze umieścić w archiwum płytkę gotową to termotransferu (tzn. sciezki, pady i przelotyki w czarnym kolorze w skali 1:1)?

    W dużym archiwum są dwa takie pliki w formacie PostScript — sam z nich korzystałem. Jeżeli używasz Windowsa i nie masz żadnego oprogramowania do PS-ów, to możesz skorzystać z archiwum z PDF-ami, które przed chwilą dodałem. Nie ręczę jednak za ich skalę — u mnie obie przeglądarki PDF-ów, tj. Evince i Okular, dodają jakieś dodatkowe marginesy (Evince nawet całkiem duże). Jednak z tego, co mi wiadomo, to Acrobat Reader pozwala skalować dokument. PCB powinna mieć wymiary 2,5x1,875 cala. Zawsze też możesz zainstalować KiCada i bezpośrednio z niego skalować płytkę.
  • Computer ControlsComputer Controls
  • #6
    loki554
    Poziom 11  
    Przepraszam że zadam takie głupie pytanie:
    do czego to służy ?
    bo z tego co napisałeś to nie rozumiem?
  • #7
    Mat_91
    Poziom 25  
    loki554 napisał:
    Przepraszam że zadam takie głupie pytanie:
    do czego to służy ?
    bo z tego co napisałeś to nie rozumiem?


    Do debugowania programu na mikrokontrolerze, dzieki JTAGowi możesz sobie wstrzymać program w dowolnym momencie i sprawdzić stan dowolnej zmiennej, rejestru czy czego tam bedziesz potrzebował- to tak baaaaaardzo ogólnie, resztę podpowie Ci google.
  • #8
    arni_lew
    Poziom 11  
    Bardzo ładnie wykonany PCB, czym trawiłeś chlorkiem czy b327 kontury wskazują na to drugie:) jaki jest najmniejszy raster (mils) na tej płytce?

    Pozdrawiam
  • #9
    shadow0013
    Poziom 34  
    Co do samego programatora JTAG nie mam zastrzeżeń (nie sprawdzałem tego rozwiązania), ale mam zastrzeżenia do opisu.
    Jeśli ktoś za miesiąc lub dwa będzie chciał zrealizować programator to oprócz tego postu znajdzie w internecie tylko - strona nie istnieje. Zamieść w opisie wsad to ATmegi a nie odsyłaj do swojego blogu, który tez niedługo zniknie z sieci a w nim link linkiem link pogania.
  • #10
    siejacy_zamet
    Poziom 12  
    Zauważyłem brak bufora na wyjściu, przy złączu JTAGa. Stąd wynikają dwa pytania:
    1. Jeśli w układzie docelowym coś się sknoci, to może polecieć i JTAG (komputer też)?
    2. Można programować tylko projekty zasilane napięciem 5V?

    Płytka bardzo estetyczna, tak trzymać! Pasowałoby to jeszcze w coś zapakować, bo jak znam życie, to stado gołych układów na biurku wykazuje irytującą wprost tendencję do przyciągania się nawzajem oraz wszelakich luźnych kabelków.
  • #11
    hardtmuth
    Poziom 20  
    Spojrz na note katalogowa do bezpiecznika 0.5 A, konkretnie po jakim czasie odlaczy jak bedzie przez niego plynac 1 A, a nawet wiecej..., jesli juz robisz zabezpieczenie na urzadzenie USB to zauwaz, ze ten JTAG pobiera pewnie mniej niz 100 mA, taki bezpiecznik byloby lepiej zastosowac.
  • #12
    vmario
    Poziom 14  
    arni_lew napisał:
    czym trawiłeś chlorkiem czy b327 kontury wskazują na to drugie:) jaki jest najmniejszy raster (mils) na tej płytce?


    B327. Najdrobniejszy raster z jakiego korzystałem to pewnie jakiejś 10 milsów, ale jeżeli pytasz o szerokość najcieńszych ścieżek to 17 milsów, a prześwit 7 milsów.

    shadow0013 napisał:
    Co do samego programatora JTAG nie mam zastrzeżeń (nie sprawdzałem tego rozwiązania), ale mam zastrzeżenia do opisu.
    Jeśli ktoś za miesiąc lub dwa będzie chciał zrealizować programator to oprócz tego postu znajdzie w internecie tylko - strona nie istnieje. Zamieść w opisie wsad to ATmegi a nie odsyłaj do swojego blogu, który tez niedługo zniknie z sieci a w nim link linkiem link pogania.


    Masz rację, już jeden polski opis klonu JTAGICE zniknął z sieci. Dodałem zatem archiwum z dwoma bootloaderami. Właściwy firmware jest w AVR Studio.

    siejacy_zamet napisał:
    Pasowałoby to jeszcze w coś zapakować, bo jak znam życie, to stado gołych układów na biurku wykazuje irytującą wprost tendencję do przyciągania się nawzajem oraz wszelakich luźnych kabelków.


    Pokryłem to roztworem kalafonii w acetonie w celu zapewnienia jakiejś podstawowej ochrony, ale obudowy nie przewiduję.

    siejacy_zamet napisał:
    Zauważyłem brak bufora na wyjściu, przy złączu JTAGa. Stąd wynikają dwa pytania:
    1. Jeśli w układzie docelowym coś się sknoci, to może polecieć i JTAG (komputer też)?


    hardtmuth napisał:
    Spojrz na note katalogowa do bezpiecznika 0.5 A, konkretnie po jakim czasie odlaczy jak bedzie przez niego plynac 1 A, a nawet wiecej..., jesli juz robisz zabezpieczenie na urzadzenie USB to zauwaz, ze ten JTAG pobiera pewnie mniej niz 100 mA, taki bezpiecznik byloby lepiej zastosowac.


    Układ jest raczej szybką prowizorką niż dogłębnie przemyślaną konstrukcją. Powstał tak, jak to opisywałem — wziąłem schemat z Sieci i dodałem FT232RL. Owszem, starałem się dogłębnie zapoznać z notą FT232RL, ale właściwy programator zostawiłem bez zmian. Nie ma on niestety żadnych buforów. Zakładam, że w razie jakiejś awarii debugowanego układu w pierwszym rzędzie polegnie ATmega, później FT232RL, a dopiero przy jakimś solidnym piku napięciowym padnie port. Podłączam zresztą mój układ nie bezpośrednio do komputera, ale do huba USB.

    Co do bezpiecznika, to jak ktoś chce, może rzeczywiście dać mniejszą wartość. Ja dałem 0,5A, żeby móc wydusić pełny prąd na potrzeby zasilania debugowanego układu. Oczywiście, należy korzystać z portu jako zasilania dopiero po wstępnym uruchomieniu układu i upewnieniu się, że nie pobiera zbyt dużo prądu!

    siejacy_zamet napisał:
    Można programować tylko projekty zasilane napięciem 5V?


    Raczej tak. FT232RL może jednak mieć dowolne napięcie odniesienia, ATmega też ma odpowiedni szeroki zakres pracy, więc można zastanawiać się nad wersją bardziej uniwersalną (np. 5V i 3,3V). Nie wiem tylko, czy nie trzeba by zmienić np. wartości R7 i R8.
  • #13
    hardtmuth
    Poziom 20  
    Dla zasilania +3.3 V FT232RL wymaga zewnetrzne zrodlo zegarowe.

    co do bezpiecznika, to 0.5 A wydusisz juz przy bezpieczniku duzo mniejszym bezpieczniku przy zachowaniu pokojowej temperatury. Bezpiecznik 0.5 A potrafi przetrzymac nawet ponad 2 A przez kilka sekund. Podejrzewam, ze jak zabezpieczenie na mobo nie zadziala to zdazy sie cos spalic.

    Czesc Vmario ;]
  • #14
    vmario
    Poziom 14  
    hardtmuth napisał:
    Dla zasilania +3.3 V FT232RL wymaga zewnetrzne zrodlo zegarowe.


    Nie ma potrzeby zasilać FT232RL napięciem +3,3V. Można zasilać +5V, a wykorzystać wejście napięcia odniesienia VCCIO, na które można podawać napięcia w zakresie +1,.8V do +5,25V. Można przy tym wykorzystać źródło napięcia referencyjnego na wyjściu 3V3OUT lub zewnętrzne napięcie. W tym drugim przypadku jednak zasilanie zewnętrznych układów i VCC w FT232RL powinny mieć to samo źródło:

    Cytat:
    In USB bus powered designs connect this pin to 3V3OUT pin to drive out at +3.3V levels, or connect to VCC to drive out at 5V CMOS level. This pin can also be supplied with an external +1.8V to +2.8V supply in order to drive outputs at lower levels. It should be noted that in this case this supply should originate from the same source as the supply to VCC. This means that in bus powered designs a regulator which is supplied by the +5V on the USB bus should be used.


    Nie rozumiem jednak skąd taki wymóg (wydawałoby mi się, że wystarczy wspólna masa).

    hardtmuth napisał:
    co do bezpiecznika, to 0.5 A wydusisz juz przy bezpieczniku duzo mniejszym bezpieczniku przy zachowaniu pokojowej temperatury. Bezpiecznik 0.5 A potrafi przetrzymac nawet ponad 2 A przez kilka sekund. Podejrzewam, ze jak zabezpieczenie na mobo nie zadziala to zdazy sie cos spalic.


    Trudno przewidzieć, co tak naprawdę się stanie. W sklepie, w którym się zaopatrywałem pierwszy bezpiecznik mniejszy od 0,5A to dopiero 0,2A, a wedle noty potrafi on odcinać już przy 0,4A. Oczywiście, nie od razu, ale przecież układ może pracować i kilka godzin, a jeżeli napięcie będzie dostarczane przez dużą rezystancję, to wiadomo, jakie śmieci mogą powstać na szynie zasilania.

    Cóż, taka uroda bezpieczników polimerowych. Gdyby był to tylko JTAG, bez możliwości zasilania zewnętrznych układów, z pewnością dałbym bezpiecznik co najwyżej 0,2A i, jak wspomniałem, jeżeli ktoś obawia się o swój port, może tak zrobić, najwyżej zamiast 0,5A wydusi się powiedzmy 0,3A...0,4A (wierząc w parametry opisywane przez producenta). Ja jednak pozostaję przezornym optymistą — mam nadzieję, że jeżeli już zdarzy się jakieś nieszczęście, to padnie zewnętrzny hub.
  • #15
    siejacy_zamet
    Poziom 12  
    Moje doświadczenia zawodowe, dotyczące programowania układów z mikroprocesorami, wskazują, że zasilanie układu docelowego z programatora nie jest najlepszym pomysłem. Czasem można coś spalić, czasem zapomni się przestawić zworki, czasem układ pobiera tyle prądu, że port USB się wyłączy (niekoniecznie upali) - tak miałem przy programowaniu sterownika do wzmacniacza, gdzie było dużo wyświetlaczy LED. Nie mówię, że takie rozwiązanie się nie przydaje, ale zworki mają tendencję do gubienia się i nigdy ich nie ma, kiedy są potrzebne. Natomiast bardzo przydatną rzeczą jest bufor/konwerter napięcia (LVX, LVC, VHC), a czasem zbawienna wprost okazuje się optoizolacja.

    Moim skromnym zdaniem: skoro juz przygotowuje się płytkę drukowaną, której wykonanie zajmuje trochę czasu, to warto przemyśleć układ i dodać jak najwięcej udogodnień.

    Do zabezpieczania płytek polecam lakier w sprayu do elektroniki (niedrogi i skuteczny) zamiast rozpuszczonej kalafonii, która później strasznie się klei.
  • #16
    Michał86
    Poziom 12  
    FT232 można wykorzystać do ładowania firmware dla µC. Podobnie jak w projekcie programatora AvrUsb500v2. Poza tym dostępne są odpowiednie łatki dla Avrdude do obsługi trybu bit bang w FT.
  • #17
    hagop
    Poziom 15  
    Gdyby zastosować tutaj Atmege16L oraz konfiguracje 6.4 Zasilanie z USB z wyborem zewnętrznego zasilania logiki (USB Bus Powered with Selectable External Logic Supply) działało by to wtedy chyba z układami zasilanymi z 5V i 3.3V (Tylko FT232 byłby zasilany na stałe z portu UBS, cała reszta zasilana z układu docelowego)

    JTAG do ATmegi w wersji USB

    Jeżeli tak to chyba było by to bardziej funkcjonalne rozwiązanie i zrobił bym sobie takiego JTAG'a.


    EDIT

    JTAG do ATmegi w wersji USB

    W tym wypadku na Vcc układu FT232 podawane jest napięcie 5V.
    Napięcie z układu docelowego podawane jest ze złącza JTAG na Atmege16L oraz na wejście VCCIO układu FT232. Jumperek przy złączu USB ma służyć tylko i wyłącznie zasilania atmegi podczas zmiany firmware przez ISP. Będzie to działać w takiej formie?
  • #19
    przemorx
    Poziom 9  
    Czy ktoś może mi pomóc i podać jakim innym powszechniejszym mogę zastąpić tranzystor IRML6402 ?
  • #20
    Użytkownik usunął konto
    Użytkownik usunął konto  
  • #21
    vmario
    Poziom 14  
    I do wgrywania, i do debugowania (śledzenia) -- współpracuje np. z AVR Studio.
  • #22
    conaada23
    Poziom 9  
    Świetna konstrukcja, chyba se taką wykonam ale Atmegę zastosuje w DIP-ie i spróbuje wykonać płytkę jednostroną. Z jakim oprogramowaniem oprócz AVR Studio działa również ten układ?
  • #23
    LOTR2
    Poziom 11  
    troche odświeżając, chciałem sobie zmodyfikować troche układ i dołożyć na wyjście bufor, w którymś ze starszych wydań elektronik praktycznej prezentowany jest JTAG z buforem 74HC244 na wyjściu, jednakże zastanawiam się czy konieczne jest użycie tych wszsytkich rezystorów podciągających na liniach? czy możnaby użyć po prostu samego bufora, 244 albo 541 zamiast?
  • #24
    19davidg91
    Poziom 9  
    Buduje sobie tego JTAG, bardzo fajny projekt.
    Mam mały dylemat gdyż w najbliższym czasie będę musiał sobie zaprogramować Atmege8-16, i teraz mam pytanie.
    Czy złącze na schemacie IDC06 jest kompatybilne z ISP?
    Mam schemacik na którym mam właśnie do atmegi8 złącze ISP, piny w kolejności
    1GND
    2+5V
    3SCK
    4MISO
    5MOSI
    6RST

    Natomiast w JTAGu jest
    1MISO
    2+5V
    3SCK
    4MOSI
    5RST
    6GND

    Czy w ogóle mogę podpiąć te złącza żeby zaprogramować atmege, czy zrobić to w kolejności 1-1, 2-2 itd, czy GND z GND itd?

    Przepraszam za tak lamerskie pytanie, ale jestem laikiem i dopiero zaczynam swoją przygodę z uP.
    Pozdrawiam.