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

Nowy JTAG do ARMa na USB - wstęp do projektu

Freddie Chopin 10 Jan 2009 15:50 93051 353
phoenixcontact
  • #1
    Freddie Chopin
    MCUs specialist
    Na wstępie może podam 2 linki:

    https://www.elektroda.pl/rtvforum/topic996737.html
    https://www.elektroda.pl/rtvforum/topic1019038.html

    ponieważ osób chętnych jest już dosyć sporo, to zdecydowałem się rozpocząć projekt NOWEJ i LEPSZEJ wersji JTAGa do ARMa <: odpowiednio dziwaczna nazwa jeszcze nie została wymyślona [;

    O CO CHODZI

    Przedmiotem projektu jest JTAG do ARMa podłączany do komputera przez port USB. JTAG taki współpracować będzie z KAŻDYM rdzeniem ARM - ograniczeniem jest program na komputer PC, który tego JTAGa obsługuje - jedli znajdzie się stosowny software, to da rade debugować nawet ARM58 (; JTAG ten oparty będzie - jak poprzednio - na kostce FT2232, a JTAGi takie obslugiwane sa przez oprogramowanie, które korzysta z GDB (czyli wszystko co używa GCC) za pomocą OpenOCD oraz m.in. CrossWorks. JTAG taki na pewno nie działa w IAR i w Keilu, to są firmy nastawione na klientów, których stać na kompilator za xxxx zl + JTAG za drugie tyle.

    podobnie jak ostatnio plan jest taki, ze zaprojektuje plytke i zorganizuje zamowienie grupowe na plytki, czesci, obudowy, ...

    CO SIE ZMIENI W STOSUNKU DO POPRZEDNIEJ WERSJI

    JTAG opisany w powyzszych dwoch tematach oparty zostal o projekt Turtelizer2. projekt turtelizera nie jest oczywiscie zly, niemniej jednak pare rzeczy mogloby byc lepszych. zdecydowalem sie oprzec aktualny projekt o Amontec JTAG Key, glownie z ponizszych dwoch powodow
    - JTAG Key ma dwie osobne linie resetu SRST i TRST - Turtelizer2 mial je zwarte
    - JTAG Key umozliwia sterowanie liniami resetu albo push-pull albo open-drain - w Turtelizerze jest to tylko open-drain (w moim projekcie open-collector [; )

    dzieki tym dwóm zmianom debuggowanie jest wygodniejsze - mozna na przyklad podlaczyc sie JTAGiem do pracujacego sobie targeta w dowolnej chwili, albo debuggowac targeta od pierwszej instrukcji (nie wszystkie sie da, ale to juz nie kwestia JTAGa)

    pozatym chcialbym dodac kilka zmian funkcjonalnych, ktore sprawia, ze urzadzenie bedzie wygodniejsze i bardziej wszechstronne
    - w JTAGach takich spotyka sie zwykle konwerter USB-UART, ale jest on albo TTL albo RS-232, czemu by nie zrobic 2w1 <: wybor przy uzyciu zworki lub automatyczny - zobaczymy jeszcze
    - mozliwosc zasilenia buforow konwertujacych bezposrednio z JTAGa - nie ma wtedy potrzeby dolaczania napiecia targeta do JTAGa - napiecie ustalone 3.3V, ewentualnie mozliwosc regulacji. co za tym idzie - w przypadkach o niewielkim poborze energii istnieje mozliwosc zasilenia targeta z JTAGa
    - przydaloby sie poprawic kilka bledow, ktore wkradly sie do poprzedniej wersji [;

    PO CO W OGOLE TEN TEMAT

    po pierwsze:
    nie chce, zeby byl to tylko moj projekt, bo - jak wiadomo - co dwie glowy to nie jedna, a jak glow jest kilkanascie, to szanse na jakies bledy lub glupie rozwiazania maleja exponencjalnie [; chce tutaj przedstawiac projekt w poszczegolnych etapach i licze na konstruktywna krytyke, ktora pozwoli na stworzenie najlepszego JTAGa do ARMa w okolicy [;

    po drugie:
    aby zebrac chetnych na grupowe zamowienie - wiadomo ze im wiecej tym taniej [;

    ZALOZENIA
    jak juz powiedziane zostalo, JTAG zostanie oparty o Amontec JTAG Key, a co za tym idzie, elementy musza sie troche zmienic w stosunku do poprzedniej wersji <: najwazniejsza zmiana jest to, ze potrzebne sa zupelnie inne bufory konwertujace, obecnie jestem zdecydowany na uklady 74LVC1G125 (5 sztuk - pojedynczy bufor trojstanowy) + 74LVC2T45 (1 sztuka - podwojny dwukierunkowy transceiver konwertujacy napiecia). ewentualnie (zalezy czy bedzie potrzeba zmniejszyc uklad czy ciac koszty) zamiast 5 ukladow 74LVC1G125 mozna uzyc 2 ukladow 74LVC2G125 (podwojne bufory trojstanowe) + 1 ukladu 74LVC1G125. uklady te sa trudno dostepne w PL (chyba, nie szukalem duzo), za to mozna je bez problemu kupic w farnellu - jedyna niedogodnosc to koniecznosc placenia karta kredytowa, pozatym cena przesylki jest znosna (5€). Z tego wzgledu przy zamowieniu czesci bedzie mozna zamowic sobie tylko te scalaczki albo komplet wszystkiego co trzeba. Zaleta uzycia tych ukladow jest mozliwosc bezproblemowej pracy z ukladami zasilanymi napieciem z zakresu 1.65V - 5.5V (bez naruszania rekomendowanych parametrow pracy). o ile pojscie powyzej 3.3V w ARMach ma male zastosowanie (jest chyba tylko jedna rodzina zasilana napieciem 5V - STR73x albo STR75x, nie mowiac juz o wyzszych napieciach [; ), za to pojscie w dol ma wielkie znaczenie w dobie expansji Cortexow, ktore pracuja zwykle z napieciem od 2 do 3.6V. ARM9, ARM11 rowniez pracuja na bardzo niskich napieciach zasilania. uwazam ze warto - uklady nie sa jakos szczegolnie drogie (koszt 5 sztuk 1g125 i 1 sztuki 2t45 to jakies 6.5zl) a w zamian zyskuje sie mozliwosc nieskrepowanej i bezpiecznej pracy z ukladami zasilanymi bardzo niskimi napieciami.

    poniewaz raczej nie bedzie rewolucji w wielkosci ukladu, przypuszczalnie bedzie sie go dalo zamknac w tej samej obudowie co ostatno, czyli Z-24 z kradexa, ale to moze sie jeszcze zmienic.

    pozatym naprawie swoj bardzo wielki blad polegajacy na uzyciu gniazda USB-A i tym razem grzecznie uzyje USB mini-B [;

    zlacze JTAG standardowo - IDC-20, a co do UARTa - raczej rowniez tak jak ostatnio - na tasmie dopinane gniazdo RS-232 oraz IDC-10 do standardu TTL (choc 10 pinow nie wykorzystam, bo w TTLu nie ma sensu uzywac wiecej niz 4 linii + zasilanie i masa, to nie ma mniejszych wtyczek niz IDC-10 dostepnych dla smiertelnikow). RS-232 w ukladzie bedzie 100% pelny - 8 linii - wiec mozna podlaczyc wszystko, wlacznie z dziwnymi modemami itp. ewentualnie - jesli uwazacie, ze nie ma sensu uzywania pelnego RS-232 mozna uzyc tylko 4 najpopularniejszych linii i dzieki temu zastosowac mniejszy (i tanszy) transceiver

    podobnie jak ostatnio, dla osob chetnych zamowie grupowo czesci, scalaki, obudowy, kable USB. przewiduje nastepujace opcje do wyboru (w nawiasie przypuszczalna cena, naprawde ciezko mi ocenic jaka bedzie dokladnie, ale to mniej wiecej ten zakres)
    - plytka (20-25)
    - glowny scalak ft2232 (25, zalezy gdzie sie go uda kupic)
    - scalaczki do konwersji poziomow napiec (6.5)
    - komplet pozostalych czesci (rezystory, kondensatory, gniazda, diody, ...) ( ? 10-15 ? )
    - scalak max3243 (jesli ktos chce miec RS-232 w ukladzie (7-15 zalezy gdzie uda sie kupic)
    - obudowa przezroczysta (4)
    - kabel usb mini-b (8)

    plytki tym razem drozsze beda, bo nie bede juz zamawial plytek w Gamie nigdy, a w innych firmach jest drozej. niektore rzeczy rowniez beda pewnie drozsze niz ostatnio, bo kryzys sprawil, ze euro jest troche przydrogawe obecnie

    uklad bedzie - jak icd2 ostatnio - 99% SMD - przewlekane bedzie kilka elementow. jak ktos chce - moge mu poskladac na gotowo uklad - szczegoly na priv'a

    NA ZAKONCZENIE PIERWSZEGO POSTU
    czekam na wasze opinie co do moich zalozen, czekam tez na info jesli ktos sie pisze na zamowienie - mysle ze lista bedzie zamykana dopiero za jakis tam czas - gdy bede juz zamawial plytki. pewnie gdzies pod koniec stycznia. do wszystkich osob, ktore juz mam na liscie zaraz wysylam PMa z informacja o tym temacie - jesli go dostales, oznacza to, ze mam cie na liscie. jesli ktos chce sie na tej liscie znalezc - pisac na priv'a, coby niepotrzebnie tematu nie zasmiecac. ewentualnie - jesli komus sie nudzi - moze sie zadeklarowac juz od razu co by go interesowalo, choc przedstawiony powyzej podzial moze sie jeszcze zmienic.

    4\/3!!
  • phoenixcontact
  • #2
    morph13
    Level 25  
    Witam
    Ja oczywiście jak najbardziej pisze się na 1 komplet.
    Do w/w założeń projektowych nie mam zastrzeżeń.
  • #3
    michalko12
    MCUs specialist
    Rozważ pewien pomysł, a mianowicie oprócz standardowego złącza IDC-20
    przydałby się na PCB dodatkowe pady z sygnałami JTAG do przylutowania
    przewodów z innym złączem. Osobiście stosuję inny standard 14 pinowy i to
    w dodatku na złączach z rozstawem 2mm, zajmują mniej miejsca.
    Przejściówka z taśmy na takie złącze jest kłopotliwa i trudno zrobić coś trwałego.
  • phoenixcontact
  • #4
    Freddie Chopin
    MCUs specialist
    opcja nie jest mozliwa do zrealizowania, bo czym bedzie sie to roznilo od przejsciowki na tasmie? kazdy moze stosowac inny standard i inne gniazdko, wiec nie da sie dogodzic kazdemu niestety. nawet gdybym dodal zwykle pady od samych linii sygnalowych (no i masy+zasilnania), to tak czy siak skonczyloby sie to na dolutowaniu przez ciebie do nich tasmy i na jej koncu 'czegos'. rownie dobrze mozna wiec zacisnac na tasmie wtyczke.

    4\/3!!
  • #5
    michalko12
    MCUs specialist
    Freddie Chopin wrote:
    opcja nie jest mozliwa do zrealizowania, bo czym bedzie sie to roznilo od przejsciowki na tasmie? kazdy moze stosowac inny standard i inne gniazdko, wiec nie da sie dogodzic kazdemu niestety. nawet gdybym dodal zwykle pady od samych linii sygnalowych (no i masy+zasilnania), to tak czy siak skonczyloby sie to na dolutowaniu przez ciebie do nich tasmy i na jej koncu 'czegos'. rownie dobrze mozna wiec zacisnac na tasmie wtyczke.

    4\/3!!


    OK, ale są lepsze przewody sygnałowe od taśmy, bardziej elastyczne, które lepiej się układają i zajmują mniej miejsca, mam w tym momencie tak jak opisujesz i jest to dla mnie niezbyt wygodne.

    Twój projekt, jeśli uważasz że kilka dodatkowych padów nie jest możliwością, widać masz ku temu powody.
  • #7
    irutkows
    Level 13  
    Witam!

    Jak bardzo było by to kompatybilne z oryginałem? Bo szybko przejrzałem, że można tym również AVR-y oraz FPGA programować.

    Pozdro
  • #9
    marekos
    Level 16  
    Również piszę się na tego Jtaga może nawet na 2 sztuki.

    Mam taką propozycję co do RS232, żeby zastosować dwie sztuki MAX232. Przez jednego puścić Tx,Rx,RTS,CTS, a przez drugiego resztę. Zabraknie tym sposobem jednej linii, ale RI można sobie darować. W zależności od potrzeb można lutować jednego lub w razie konieczności oba no i oczywiście będzie taniej. Jeden problem to czy dwa układy zamiast jednego zmieszczą się na PCB.
  • #10
    irutkows
    Level 13  
    Freddie Chopin wrote:
    przypuszczam, ze w stopniu wystarczajacym, aby sie dalo... niemniej jednak po napisaniu stosownego softu do OpenOCD tez by sie dalo jakimkolwiek obslugiwanym JTAGiem programowac cokolwiek [;

    4\/3!!

    No, ale tutaj już jest za nas zrobione ;)
  • #11
    Freddie Chopin
    MCUs specialist
    marekos wrote:
    Mam taką propozycję co do RS232, żeby zastosować dwie sztuki MAX232.

    pomysl jest dobry, jesli bedzie miejsce to mozna by tak zrobic, choc ostatnio w farnellu za max3243 wyszlo cos kolo 7zl, a uklad ten jest w obudowie tssop28. w tme sa niby jakies taniutkie zamienniki dla max232, ale te najtansze sa w obudowie sol16, a dopiero takie kosztujace powyzej 2zl sa w obudowach so16. 2zl*2 + vat, to w sumie zysk niewielki. przemysle sprawe jak juz projekt posunie sie dalej.

    Quote:
    Zabraknie tym sposobem jednej linii, ale RI można sobie darować.

    jak zabraknie, jak w kablu jest tylko 8 linii sygnalowych + masa (; masy na szczescie nie trzeba konwertowac <;

    irutkows wrote:
    No, ale tutaj już jest za nas zrobione ;)

    niby tak, ale nie zauwazylem, zeby bylo oficjalnie dostepne (zakladajac ze mowimy o tym sofcie ktorym sie amontec przechwala na swojej stronie (fpga, spi, i2c, ...)

    4\/3!!
  • #12
    ijon_tichy
    Level 13  
    Piszę się chetnie na zestaw. Freddie, jaki jest planowany termin?
    OT: Czy najnowsze yagarto wspiera jeszcze wigglera?
  • #13
    Freddie Chopin
    MCUs specialist
    planowany termin ... hmm... <: mysle ze jakos w rejonie poczatku lutego jest szansa ze pierwsze przesylki dotra do adresatow [;

    samo yagarto nie ma nic do rzeczy w zasadzie, liczy sie openocd. na stronce yagarto jest obecnie stara wersja r717 (aktualnie na SVNie jest wersja kolo 1315), ktora zostala skompilowana bez support dla wigglera. niemniej jednak ostatnio udalo mi sie skompilowac samemu openocd, wiec nie jest to cos specjalnie trudnego - zawsze mozna sobie ten support dla wigglera dodac <:

    4\/3!!
  • #14
    irutkows
    Level 13  
    Freddie Chopin wrote:
    irutkows wrote:
    No, ale tutaj już jest za nas zrobione ;)
    niby tak, ale nie zauwazylem, zeby bylo oficjalnie dostepne (zakladajac ze mowimy o tym sofcie ktorym sie amontec przechwala na swojej stronie (fpga, spi, i2c, ...)

    Chodziło mi o ich program JTAG SVF Player, nie o nakładkę na OpenCD. Chociaż nie zdziwiłbym się jakby wprowadzili jakieś zabezpieczenie, żeby z klonami nie działało.
  • #16
    michalko12
    MCUs specialist
    Freddie Chopin wrote:

    Quote:
    Zabraknie tym sposobem jednej linii, ale RI można sobie darować.

    jak zabraknie, jak w kablu jest tylko 8 linii sygnalowych + masa (; masy na szczescie nie trzeba konwertowac <;



    Zabraknie... Niestety do pełni szczęścia potrzebny jest konwerter 3x5 a nie 4x4. W tym przypadku chyba nie warto oszczędzać, potem okaże się że jakiś programator korzysta z sygnału RI i będzie problem.
  • #17
    elektryk
    Level 42  
    marekos wrote:
    Mam taką propozycję co do RS232, żeby zastosować dwie sztuki MAX232. Przez jednego puścić Tx,Rx,RTS,CTS
    Ja bym sobie w ogóle darował handshaking, 99% sprzętu i tak z tego nie korzystac. 3 piny i jakieś solidne gniazdko typu molex z zatrzaskiem by wystarczyło. Mam za to inną propozycję, rs232 (tx, rx) w standardzie (LV)TTL. Można wykorzystać układy "jednobramkowe" z funkcją wysokiej impedancji, zasilane z 3v3 są kompatybilne nawet z 5V.
  • #18
    Freddie Chopin
    MCUs specialist
    no wlasnie, ile ludzi tyle pomyslow [;

    ogolnie - aby wszyscy byli zadowoleni - wolalbym czesc od RS-232 zostawic pelna, bo w koncu jak jest mozliwosc miec taki ukladzik za kilka zl (transceiver [ostatnio kolo 7zl] + 5 kondensatorow), to szkoda nie skorzystac - wiadomo ze przez wiekszosc czasu sie tego nie wykorzystuje, ale jak zajdzie potrzeba, to jest gotowe. wbrew pozorom ukladow ktore wykorzystuja wiecej niz 2 linie z RS-232 jest calkiem sporo - modemy GSM, programatory, ...

    zas co do standardu TTL, wczesniej planowalem wykorzystac funkcjonalnosc ukladu FT2232 - ma on wbudowane bufory wyjsciowe z konwersja napiec. problem jest tylko taki, ze wtedy trzeba by doprowadzic napiecie z targeta do gniazda od UARTa.

    mozna zrobic tak jak sugeruje elektryk i nawet wykorzystac te same uklady ktore bylyby przy JTAGu, czyli 74lvc1g125 (lub *2g*). zas co do wysokiej impedancji - sugerujesz, zeby sterowac przy uzyciu wejsc OE (czyli tak jakby open-drain)? podrzuc wiecej szczegolow swojego pomyslu

    co do linii uzywanych przez UART (TTL), to sprawa jest otwarta, jednak czasem handshaking by sie chyba przydal [;

    co do napiecia - na sztywno w standardzie 3.3V powinien dzialac taki USART? bo jesli napiecie byloby na sztywno i zalozy sie, ze sygnaly wejsciowe nie beda go przekraczac, to najprosciej wykorzystac wlasnie funkcjonalnosc ft2232. jesli przydatna bylaby tolerancja na wyzsze napiecia, to juz niestety samo ft2232 nie wystarczy.

    4\/3!!
  • #19
    elektryk
    Level 42  
    Freddie Chopin wrote:
    mozna zrobic tak jak sugeruje elektryk i nawet wykorzystac te same uklady ktore bylyby przy JTAGu, czyli 74lvc1g125 (lub *2g*). zas co do wysokiej impedancji - sugerujesz, zeby sterowac przy uzyciu wejsc OE (czyli tak jakby open-drain)? podrzuc wiecej szczegolow swojego pomyslu
    Może za duży skrót myślowy:
    1. jeśli chcesz zrobić TTL rs232 to z linią Tx nie ma problemu, po prostu się ją rozgałęzia, natomiast linię Rx trzeba multiplexować (do tego myślałem użyć układów z OE). No chyba że któryś z tych MAXów do RS232 ma opcje wysokiej impedancji na linia TTL po wejściu w stan shutdown. Sterowanie może być zworką albo dip-switchem.
    2. popatrz w specyfikację układów 1G/2G, albo najpierw poszukaj dostawców, bo możesz się ździwić że wybór jest dość ograniczony. Jeśli znajdziesz układy 5V-tolerant to byłoby sporo lepiej.
  • #20
    Freddie Chopin
    MCUs specialist
    1. max3243 ma mozliwosc przejscia w tryb shutdown, kiedy to jego linie sa Hi-Z, wiec z tym problemu nie ma.
    2. uklady 74lvc1g125 (ktore mozna kupic w farnellu) sa odporne na 5V przy dowolnym zasilaniu.
    ___________________________

    temat troche ucichl, a sprawa UARTa w TTLu jest bardzo ciekawa. czy poziom napiec w takim uarcie powinien byc ustalony na sztywno? jesli tak to na jaka wartosc? jesli nie na sztywno to jak - wybor zworka, czy wymagane doprowadzenie napiecia zasilania ukladu docelowego? ostatnia opcja jest jednoczesnie najbardziej uniwersalna (bo obsluzy wszystkie poziomy napiec bez problemow), ale i najmniej uniwersalna (bo poza sygnalami RX i TX trzeba dostarczyc jeszcze owe napiecie odniesienia). przy okazji jest tez najdrozsza, bo trzeba dolozyc bufory i transceiver (do odbierania - podwyzszania napiecia) [;

    co wy o tym sadzicie? anyone?

    4\/3!!
  • #21
    elektryk
    Level 42  
    Freddie Chopin wrote:
    temat troche ucichl, a sprawa UARTa w TTLu jest bardzo ciekawa. czy poziom napiec w takim uarcie powinien byc ustalony na sztywno? jesli tak to na jaka wartosc? jesli nie na sztywno to jak - wybor zworka, czy wymagane doprowadzenie napiecia zasilania ukladu docelowego? ostatnia opcja jest jednoczesnie najbardziej uniwersalna (bo obsluzy wszystkie poziomy napiec bez problemow), ale i najmniej uniwersalna (bo poza sygnalami RX i TX trzeba dostarczyc jeszcze owe napiecie odniesienia). przy okazji jest tez najdrozsza, bo trzeba dolozyc bufory i transceiver (do odbierania - podwyzszania napiecia) [;
    Ja bym nie szczypał się w jakieś specjalne konwersje napięcia. Jak dasz układy zasilane z 3.3V i jednocześnie 5V compliant, to praktycznie można używać nawet z układami 2.5V.
  • #22
    Freddie Chopin
    MCUs specialist
    ale juz nie z zasilanymi z 5V, bo one nie zlapia takiego poziomu, a w zalozeniu mialo to byc maxymalnie uniwersalne

    pozatym - jesli juz dawac takie uklady, to rownie dobrze mozna je chyba zasilac z targeta i wtedy juz jest compliant-wszystko - dodac zworke, zeby dolaczyc ewentualnie standardowe napiecie (np. 3.3V) i chyba byloby uniwersalnie?

    4\/3!!
  • #23
    tomj7
    Level 19  
    W ARM na rdzeniu Cortex pojawił się nowy interfejs do debugowania SWD - Serial Wire Debug. Można pomyśleć o obsłudze tego interejsu.
  • #24
    Freddie Chopin
    MCUs specialist
    slucham, jak chcesz o nim pomyslec? <: nikt sie nie obrazi jesli napiszesz support dla SWD dla OpenOCD...

    no panie i panowie - jakie pomysly z tym calym UARTem? dodatkowe konwertery zasilane zewnetrznie + ew zworka zeby zasilac je z JTAGa? moze zamiast konwerterow wykorzystac to co ma uklad FT2232, rowniez zasilane zewnetrznie / zworka? tyle ze to nie jest odporne na wyzsze napiecia niz zasilajace... dodatkowe bufory (2g125 i 2t45) to dodatkowe koszty, niewielkie, ale jednak...

    4\/3!!
  • #25
    przemek20
    Level 20  
    Moim zdaniem jeżeli będzie możliwość wyboru zasilania buforków JTAGa internal/external to do UARTa warto by zastosować taki sam bufor podłączony do tego samego zasilania. Zasilanie to mogłoby być brane ze zworki/dipswitcha do wyboru wewnętrznego zasilania 3V3 lub zasilania z targeta. Pominięcie buforka nie jest dobrym pomysłem ze względu na tolerancje na 5V. Zworka mogłaby po prostu zwierać wewnętrzne zasilanie 3V3 do połączonych ze sobą zasilań wszystkich buforków i pinu zasilającego na złączy jtaga. Pytanie co wtedy jeśli podłączymy JTAGA z zwartą zworką do targeta z własnym zasilaniem np. 2V.
    Jednocześnie chciałbym się zapisać na listę chętnych ;)
    Interesowało by mnie wszystko z listy poza "drobnicą".
    Pozdrawiam.
  • #26
    elektryk
    Level 42  
    Freddie Chopin wrote:
    ale juz nie z zasilanymi z 5V, bo one nie zlapia takiego poziomu, a w zalozeniu mialo to byc maxymalnie uniwersalne
    A dlaczego miałyby nie złapać? Układy zasilane z 3.3V dają na wyjściu "prawie" 3.3V i nawet jak się je obciąży kilka mA to nadal jest to więcej niż 2V (próg jedynki TTL). Oczywiście typowe CD4000 mogą nie załapać poziomu wysokiego, ale kto będzie robić na nich coś z RSem? Jak już ktoś się uprze na klasyczne CMOS to może dodać szeregową diodę i rezystor pull-up do +5V.
  • #27
    Freddie Chopin
    MCUs specialist
    elektryk wrote:
    A dlaczego miałyby nie złapać? Układy zasilane z 3.3V dają na wyjściu "prawie" 3.3V i nawet jak się je obciąży kilka mA to nadal jest to więcej niż 2V (próg jedynki TTL). Oczywiście typowe CD4000 mogą nie załapać poziomu wysokiego, ale kto będzie robić na nich coś z RSem? Jak już ktoś się uprze na klasyczne CMOS to może dodać szeregową diodę i rezystor pull-up do +5V.

    prog sobie, zycie sobie - dla Atmegi zasilanej z 5V prog jedynki wynosi 3V (0.6 Vcc), dla PICa 16 na niektorych pinach (akurat tych na ktorych jest USART), prog ten wynosi 4V (0.8 Vcc).

    4\/3!!
  • #28
    gregory_82
    Level 10  
    Witam
    Widzę ze temat UART-a jest bardzo aktywny.

    Jeśli UART ma być aż tak uniwersalny to może dodatkowo wrzucić RS485, lub wyprowadzić z FTDI potrzebne linie do podłączenia konwertera RS485 4-liniowego. ;>



    Pozdrawiam
  • #29
    Freddie Chopin
    MCUs specialist
    no nie przesadzajmy juz - UART ma byc uniwersalny na tyle, zeby dalo sie podlaczyc kazdy mikrokontroler (glownie do celow debuggowania i testow), RS-485 to juz troche przesada, zeby montowac to na plytce [;

    anyway - ja osobiscie widze w owym uarcie 4 sygnaly (rx, tx, rts, cts), jesli uwazacie, ze tak duzo to bez sensu, to nic nie stoi na przeszkodzie, zeby bylo mniej. tak czy siak - transceiver 2g45 ma 2 kanaly, wiec mozna by ich uzyc [; jak juz mowilem - jestem otwarty na propozycje.

    4\/3!!
  • #30
    tomj7
    Level 19  
    Freddie Chopin wrote:
    slucham, jak chcesz o nim pomyslec? <: nikt sie nie obrazi jesli napiszesz support dla SWD dla OpenOCD...


    wyprowadzić dedykowane złącze dla SWD. na liście Openocd-development już wpominają o implementacji tego interfejsu: "SWD is definitely a post-1.0 priority"