Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Kategoria: Kamery IP / Alarmy / Automatyka Bram
Montersi
Kategoria: Akumulatorki / Baterie / Ładowarki

JTAG-lock-pick - JTAG do procesorów z rdzeniem ARM

Freddie Chopin 02 Wrz 2009 21:05
  • JTAG-lock-pick - JTAG do procesorów z rdzeniem ARM
    JTAG-lock-pick to JTAG do procesorów z rdzeniem ARM podłączany do komputera PC przez magistralę USB. Projekt ten bazuje na istniejącym rozwiązaniu firmy Amontec o nazwie JTAGkey . Urządzenie oparte jest o układ FTDI FT2232 , czyli dwukanałowy konwerter USB <=> UART/FIFO. Zaprojektowany układ na pierwszym kanale udostępnia interfejs JTAG, natomiast na drugim pełny interfejs UART/RS-232 (RXD, TXD, RTS, CTS, DCD, DSR, DTR, RI) z możliwością dołączenia konwertera RS-485. Projekt JTAG-lock-pick tworzony był jako rozwiązanie bezkompromisowe i rozbudowane, wykorzystujące wszystkie możliwości zastosowanych układów.

    Interfejs JTAG pozwala na osiągnięcie częstotliwości zegara do 6MHz. Dzięki wykorzystaniu magistrali USB urządzenie można podłączyć do praktycznie każdego istniejącego komputera PC, co nie jest możliwe przy wykorzystaniu interfejsu równoległego (LPT), który odchodzi już w całkowite zapomnienie. Dzięki zastosowaniu zaawansowanych układów buforujących z serii 74LVC możliwa jest komunikacja z układami zasilanymi napięciami z bardzo szerokiego zakresu - od około 1,6V do 5,5V.

    Jednym z założeń projektu było udostępnienie zarówno interfejsu UART jak i RS-232. Cztery najważniejsze linie interfejsu UART (RXD, TXD, RTS, CTS) są również buforowane przez układy serii 74LVC. Pozostałe linie są sterowane bezpośrednio przez układ FT2232 - sygnały wyjściowe mają poziom 5V, natomiast próg "logicznej jedynki" dla sygnałów wejściowych wynosi (typowo) około 1,6V. Wybór pomiędzy interfejsem RS-232 a UART realizowany jest automatycznie na podstawie obecności napięcia zasilającego układy buforujące interfejsu UART - jeśli napięcie to jest wyższe niż około 1,7V aktywowany jest interfejs UART. Dzięki doprowadzeniu do gniazda UART sygnału TXDEN możliwe jest dołączenie do całego układu konwertera RS-485.

    Zaprojektowany układ umożliwia zasilanie układów buforujących, a więc i układu docelowego, poprzez gniazda JTAG/UART, ze strony komputera PC napięciem 3,3V lub 5V. Szyny zasilające bufory odpowiedzialne za UART i JTAG są od siebie rozdzielone, dodatkowa zworka umożliwia zwarcie ich ze sobą, dzięki czemu możliwe są różne konfiguracje napięciowe.

    Wybór JTAGkey'a jako bazy dla projektu JTAG-lock-pick podyktowany był głównie faktem dużych możliwości tego urządzenia, dlatego też układy te są ze sobą całkowicie kompatybilne ze strony programowej. JTAGkey - a więc i JTAG-lock-pick - posiada rozdzielone linie SRST i TRST, które można dodatkowo niezależnie konfigurować na pracę w trybie push-pull lub open-drain. Rozwiązanie firmy Amontec jest wspierane przez wiele aplikacji, a co za tym idzie w programach tych dostępne są gotowe konfiguracje dla tego układu, nie ma więc potrzeby tworzyć ich ręcznie. Dodatkowo firma Amontec na swojej stronie udostępnia aplikacje pozwalające na programowanie przy użyciu tego JTAGa układów FPGA, CPLD oraz AVR plikami typu SVF.

    Projekt JTAG-lock-pick jest następcą projektu 4R|\/|-JT4G Rev02 ( DIY , forum mikrokontrolerów , moja strona ), eliminującym kilka jego istotnych wad. Przede wszystkim poprzednik miał zwarte linie SRST i TRST "z założenia", a dodatkowo zastosowany tam układ buforujący 74VHC244 miał istotną wadę, która objawiała się przebiciem napięć wejściowych przez diody zabezpieczające jego wejścia na niepodłączoną linię zasilania, co było bardzo mylące, choć całkowicie bezpieczne dla JTAGa jak i układu docelowego. Obydwa te problemy nie są obecne w projekcie JTAG-lock-pick.

    Osoby zainteresowane takim JTAGiem zapraszam na priv, nie warto zaśmiecać tematu takimi pytaniami. Warto też obserwować forum mikrokontrolerów, a szczególnie ten temat , gdzie również pojawi się informacja o ponowieniu zamówień.

    Na mojej stronie w dziale Download > Projekty > JTAG-lock-pick dostępnych jest kilka plików związanych z tym projektem: manual (wraz ze schematem i wykazem elementów), gotowy template do EEPROMu oraz sterowniki (zarówno korzystające z ftd2xx.dll jak i z libusb-win32).

    Na koniec zestaw fotek <:

    Zaprojektowana płytka PCB jest "wymiarowo" zgodna z poprzednikiem (40x60mm) i również pasuje do obudowy Z-24A firmy Kradex , szczególnie do wariantu przezroczystego Z-24Ap .

    JTAG-lock-pick - JTAG do procesorów z rdzeniem ARM JTAG-lock-pick - JTAG do procesorów z rdzeniem ARM JTAG-lock-pick - JTAG do procesorów z rdzeniem ARM JTAG-lock-pick - JTAG do procesorów z rdzeniem ARM JTAG-lock-pick - JTAG do procesorów z rdzeniem ARM JTAG-lock-pick - JTAG do procesorów z rdzeniem ARM

    Układ występuje zasadniczo w dwóch wariantach:

    JTAG-lock-pick FULL - zgodnie z nazwą wersja ta zawiera wszystkie moduły, a więc JTAG oraz porty UART / RS-232. Jest to najbardziej rozbudowana wersja JTAG-lock-pick.

    JTAG-lock-pick - JTAG do procesorów z rdzeniem ARM JTAG-lock-pick - JTAG do procesorów z rdzeniem ARM JTAG-lock-pick - JTAG do procesorów z rdzeniem ARM JTAG-lock-pick - JTAG do procesorów z rdzeniem ARM JTAG-lock-pick - JTAG do procesorów z rdzeniem ARM JTAG-lock-pick - JTAG do procesorów z rdzeniem ARM JTAG-lock-pick - JTAG do procesorów z rdzeniem ARM JTAG-lock-pick - JTAG do procesorów z rdzeniem ARM JTAG-lock-pick - JTAG do procesorów z rdzeniem ARM

    JTAG-lock-pick BASIC - wersja ta pozbawiona jest portów UART / RS-232 i wszystkich elementów, które są z nimi związane. JTAG-lock-pick w tej wersji jest jedynie JTAGiem na USB.

    JTAG-lock-pick - JTAG do procesorów z rdzeniem ARM JTAG-lock-pick - JTAG do procesorów z rdzeniem ARM JTAG-lock-pick - JTAG do procesorów z rdzeniem ARM JTAG-lock-pick - JTAG do procesorów z rdzeniem ARM JTAG-lock-pick - JTAG do procesorów z rdzeniem ARM JTAG-lock-pick - JTAG do procesorów z rdzeniem ARM

    Jak nietrudno się domyślić możliwe jest zbudowanie innych wariantów w oparciu o tą samą płytkę, jednak wymagać będą one wlutowania zworek. Zakładając, że JTAG-lock-pick może składać się z maksymalnie trzech modułów: JTAG, UART oraz RS-232 oraz że moduł JTAGa jest obowiązkowy, możliwe są następujące sensowne kombinacje:
    - JTAG + RS-232,
    - JTAG + UART,
    - JTAG + UART bez buforowania.

    Artykuł na mojej stronie o tym układzie .

  • #2 03 Wrz 2009 09:51
    mack23
    Poziom 17  

    kiedy można się spodziewać zorganizowanej akcji zamawiania płytek?

  • #3 03 Wrz 2009 09:59
    Freddie Chopin
    Specjalista - Mikrokontrolery

    Bardzo wkrótce [; Na 99% w tym miesiącu. Proponowałbym sprawy tego typu załatwiać w temacie z działu mikrokontrolerów -> http://www.elektroda.pl/rtvforum/viewtopic.php?t=1191756 albo na priva, żeby tutaj nie zagracać tematu tymi kwestiami.

    4\/3!!

  • #4 07 Wrz 2009 23:44
    don diego
    Poziom 32  

    Jak zwykle świetny projekt.Gdzie zamawiałeś płytki? Obyło się bez niedoróbek jak przy płytkach do ICD z Gamy?

  • #5 13 Wrz 2009 10:27
    Freddie Chopin
    Specjalista - Mikrokontrolery

    Heh, trochę zapomniałem o tym temacie zakładając, że odpowiedzi i tak nie będzie [;

    Cytat:
    Jak zwykle świetny projekt.

    Thx <: Sam jestem z niego bardzo zadowolony, udało się w nim zrealizować praktycznie wszystko co planowałem. Płytki "lutują się same", praktycznie 100% działa zaraz po zlutowaniu, czym ogólnie jestem zszokowany. Po pierwsze te malutkie scalaczki są tak małe i lekkie, że podczas lutowania ich hot-airem same się pozycjonują - roztopiona pasta lutownicza sama przyciąga nóżki do padów (; To wygląda niesamowicie! Pozatym ogólnie jakoś tak nie ma z tym problemów - zlutowane po prostu działa [; Stopień komplikacji uruchomienia jest zbliżony do zera <:

    Tak czy siak - mam kilka pomysłów na poprawki - od drobnych do większych. [;

    Cytat:
    Gdzie zamawiałeś płytki?

    Tym razem płytki zamówione w firmie Elpin - droższe (na szczęście nieznacznie [; ) ale i o wiele lepsze. Przedewszystkim płytki z Gamy (nie mylić z Gammą, jak to zrobiłeś powyżej <: ) miały jakąś taką dziwną soldermaskę, która była extremalnie delikatna - Ci którzy mieli je w ręce wiedzą - wystarczyło włożyć płytkę do "trzeciej ręki" i już soldermaska zdarta tam gdzie były krokodylki. Z Gamy płytki były też z cynowaniem chemicznym, które nawiasem mówiąc było bardzo dobre - płytkę można było lutować po długim czasie od wyprodukowania, a dla przykładu płytki z prototypy.com.pl i z cynowaniem chemicznym robią się problematyczne po kilku dniach od produkcji... Anyway - płytki z Elpina są o wiele lepsze niż te z Gamy, choćby dzięki soldermasce, która jest tak odporna jak być powinna. Ma też trochę bardziej naturalne kolory - płytki z Gamy wg mnie nie były czerwone, tylko różowawe, zamiast niebieskich lub czarnych - granatowe. Tutaj co prawda widziałem tylko czerwone, ale... są czerwone <:

    Cytat:
    Obyło się bez niedoróbek jak przy płytkach do ICD z Gammy?

    Kolejny raz podkreślę różnicę <: GaMMa - to dystrybutor części elektronicznych (m.in. Microchipa), GaMa to płytkarnia. Jest wielokrotnie lepiej niż przy ICD2 - w końcu tam przy pierwszej partii odrzut był praktycznie 100%, przy tej "poprawionej" również nie było idealnie. Z usterek jakie zauważyłem w płytkach Elpina:
    - na kilkanaście które zlutowałem trafiły mi się dwie ze zwarciami, przypuszczam jednak że to w zasadzie wszystkie, gdyż nikt chyba nie informował mnie o zwarciach na ich płytkach.
    - pozycjonowanie warstwy opisu nie jest idealne, ale to nie ta klasa cenowa chyba, żeby żądać perfekcji w tak nieistotnym detalu.
    - niektóre płytki miały lekko "zlaną" warstwę opisu - literki / symbole w niektórych miejscach były zamazane.

    Jest lepiej, ale... do ideału jeszcze brakuje. Z firmy dostałem wyjaśnienia, że osoba odpowiedzialna za warstwę opisu mogła się faktycznie bardziej postarać, więc może przy kolejnym zamówieniu będzie lepiej (o co zresztą zamierzam wprost poprosić).

    Swoją drogą chyba za dużo napisałem w pierwszym poście, skoro praktycznie zero odpowiedzi...

    4\/3!!

  • #6 06 Lis 2009 20:02
    Bruum
    Poziom 23  

    Witam! Szacun za w zasadzie profesjonalny projekt! Jest może opcja by zmusić przedmiot postu do współpracy z RIDE7?

  • #7 06 Lis 2009 21:52
    Freddie Chopin
    Specjalista - Mikrokontrolery

    Niestety - RIDE7 lubi się tylko ze swoim firmowym RLinkiem. Właśnie zerknąłem czy w ogóle jest tam jakakolwiek opcja konfiguracyjna i niestety debuggerem może być tylko i wyłącznie RLink - nie ma żadnych opcji pozwalających ustawić cokolwiek innego.

    Swoją drogą to ostatnio rzuciło mi się w oczy info o tym, że jakoby w IAR można było używać programów gdbserver takich jak... OpenOCD [; Muszę to kiedyś sprawdzić... Albo jakby ktoś to sprawdził to niech napisze.

    4\/3!!

  • #8 07 Lis 2009 09:05
    kemot55
    Poziom 30  

    Ja znalazłem jakąś "protezę" pod Keil'a i IAR pod adresem http://www.coocox.com.. To jest RDI. Nie wiem czy działa, natomiast wykorzystuje ten sam chip FTDI co projekt JTAG-lock-pick. Przeglądając warunki licencji mam wrażenie, że można uzyskać źródła (opensource) do tych bibliotek (ale może się mylę).
    Dłuży czas poszukiwałem klonu ULINK2, ale niestety mało prawdopodobne, żeby ktoś wydobył z oryginału firmware (a może?).

  • #9 07 Lis 2009 12:36
    kwesoly
    Poziom 15  

    Jak sobie ten JTAG radzi z programowaniem FPGA/VHDL? Daje się zintegrować np. z iMPACT dołączonym do WebPack ISE czy trzeba to obchodzić długą ścieżką na piechotę?

  • #10 11 Lis 2009 13:10
    Freddie Chopin
    Specjalista - Mikrokontrolery

    kemot55 napisał:
    Ja znalazłem jakąś "protezę" pod Keil'a i IAR pod adresem http://www.coocox.com.. To jest RDI. Nie wiem czy działa, natomiast wykorzystuje ten sam chip FTDI co projekt JTAG-lock-pick. Przeglądając warunki licencji mam wrażenie, że można uzyskać źródła (opensource) do tych bibliotek (ale może się mylę).

    Faktycznie - idea JTAGa jest identyczna (dodatkowe linie typu diodki i resety są poprowadzone oczywiście inaczej).

    kwesoly napisał:
    Jak sobie ten JTAG radzi z programowaniem FPGA/VHDL? Daje się zintegrować np. z iMPACT dołączonym do WebPack ISE czy trzeba to obchodzić długą ścieżką na piechotę?

    Nie jestem Ci w stanie odpowiedzieć... Wiem, że za pomocą OpenOCD można programować FPGA plikami SVF, ale jak fizycznie wygląda integracja z istniejącymi pakietami pod takie układy - nie wiem.

    EDIT:
    Jakby ktoś był zainteresowany, to w temacie o tym JTAGu na forum mikrokontrolerów w tym poście zamieściłem zdjęcia hi-res wzorcowego egzemplarza z drugiej serii <:

    4\/3!!

  • #11 03 Lip 2012 21:26
    LordBlick
    VIP Zasłużony dla elektroda

    Dorzucę swoje 0,05PLN: Projekt w Kicad prostej przejściówki, używanej w JTAG-lock-pick, umożliwiającej programowanie po ISP większości AVR z serii ATmega i ATtiny.
    JTAG-lock-pick - JTAG do procesorów z rdzeniem ARM
    Argument określający programator w avrdude:

    Code:
    -c jtagkey

    Załączniki:
  • #12 31 Gru 2014 11:57
    5451
    Usunięty  
  • #13 12 Mar 2015 23:29
    Freddie Chopin
    Specjalista - Mikrokontrolery

    W manualu dla JTAG-lock-pick Tiny 2 są opisy użycia z Keil (starszym) i CooCoxem (też nieco starszym). W przypadku JTAG-lock-pick 1.x.x w zasadzie jedyną różnicą powinna być konieczność wykorzystania konfiguracji dla Amontec JTAGkey zamiast dla KT-Link.

    4\/3!!

  • #14 15 Mar 2015 19:35
    5451
    Usunięty  
  Szukaj w 4mln produktów
Przeglądaj produkty