Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Adapter programatorów JTAG/SWD z regulacją napięcia i UART

ADI-mistrzu 19 May 2022 21:42 2199 8
Computer Controls
  • Adapter programatorów JTAG/SWD z regulacją napięcia i UART
    Witam was,

    Zbyt często nie publikuję swoich urządzeń, lecz ostatnio postanowiłem może pokazać kilka. (te których mnie nie wiążą jakieś umowy)
    Dziś zacznę od naprawdę prostego i w sumie nie wiem czy komuś to się przyda bądź spodoba, ale dla mnie jest to obecnie przydatny dodatek.

    Jest to adapter programatorów JTAG/SWD z możliwością regulacji napięcia wyjściowego zasilającego układ docelowy z wbudowanym translatorem napięć.
    Daje mi to możliwość podłączania się pod układy zasilane napięciem w zakresie 1.2V do 5.2V bez potrzeby posiadania zewnętrznego zasilacza (do mocy około 5W).

    Schemat nie jest zbyt skomplikowany:
    Adapter programatorów JTAG/SWD z regulacją napięcia i UART
    Złącze Z3 (dolny lewy róg) to wejście z programatora (takie jak ST-LINK czy JLINK) zgodne z ARM Standard JTAG.
    Uwaga odnośnie ST-LINK V2 (nie wiem jak inne wersje), pin 1 to pin referencyjny napięcia dla buforów wewnętrznych programatora czy sprawdzania napięcia na procesorze. W ST-LINK z jakiegoś powodu podczas inicjacji komunikacji jest ten pin ustawiony jako ADC-IN a następnie jako GPIO PUSH-PULL w stanie PULL-UP. Powoduje to pojawienie się napięcia zasilania programatora na linii wyjściowej zasilającej do mikrokontrolera który programujemy, z tego tez powodu umieściłem w szeregu z tym pinem rezystor 120k który niestety powoduje przekłamanie mierzonego napięcia.

    Pozostałe złącza (Z1, Z2, Z4 i Z5) to złącza wyjściowe na różnego rodzaju złącza programowania w tym TC2030 czy TC2050.

    Na pokładzie znajduje się także przetwornica typu buck MPS MPM3804 z zintegrowaną indukcyjnością (miałem mało miejsca).
    Jej napięcie wyjściowe regulowane jest potencjometrem bądź ustawiane na stałe na 3.3V przy pomocy przełącznika.
    Drugi przełącznik służy do odłączenia zasilania od programowanego elementu.
    Zasilanie pobierane jest ze złącza programatora bądź dodatkowego złącza USB.

    Umieściłem także interfejs UART aby nie bawić się w podłączanie dodatkowych urządzeń, dzięki temu jednym przewodem mam zapewnione JTAG/SWD oraz złącze debug po UART.

    Jeśli chodzi o samą translację napięć na interfejsie komunikacyjnym, to robię to przy pomocy dwóch NEXPERIA LSF0108.
    Układy te mogą pracować prawidłowo tylko w przypadku, gdy napięcie na Vref_B > Vref_A co było problemem gdy programator wystawia napięcie 3.3V.
    Obecnie rozwiązałem ten problem po przez translację sygnałów z 3.3V na 5V (układ U6) a następnie obniżanie poziomów z 5V na niższe (U4) zgodne z napięciem zasilania układu programowanego.
    Z tego powodu musiałem umieścić dodatkową pompę ładunkową ONSEMI CAT3200-5 z wbudowanym LDO aby mieć na wyjściu referencyjne 5V pomiędzy układami LSF0108.

    Dodatkowo mogę go używać jako interfejs USB-UART z regulacją napięcia wyjściowego bez potrzeby stosowania programatora (dodatkowe złącze 4pin)

    Całość przetestowana przy częstotliwości 4MHz pracuje prawidłowo z pełnym zakresie napięć.
    Samo PCB zostało wykonane w jednej z Polskich firmy produkujących PCB, montażu dokonałem sam.
    Niestety nie zrobiłem zdjęcia przed zamknięciem w obudowie dlatego wrzucam screen z 3D:
    Adapter programatorów JTAG/SWD z regulacją napięcia i UART

    Płytkę zamknąłem w obudowie wykonanej przy pomocy druku 3D w technice SLA.
    Adapter programatorów JTAG/SWD z regulacją napięcia i UART Adapter programatorów JTAG/SWD z regulacją napięcia i UART Adapter programatorów JTAG/SWD z regulacją napięcia i UART Adapter programatorów JTAG/SWD z regulacją napięcia i UART
    Miałem problemy z wgłębieniami na napisy, z racji dobrania złego kąta wydruku część z nich się zlała.
    Napisy wypełniłem lakierem utwardzanym UV pod mikroskopem przy pomocy kawałka drucika.
    Adapter programatorów JTAG/SWD z regulacją napięcia i UART Adapter programatorów JTAG/SWD z regulacją napięcia i UART Adapter programatorów JTAG/SWD z regulacją napięcia i UART
    Adapter programatorów JTAG/SWD z regulacją napięcia i UART Adapter programatorów JTAG/SWD z regulacją napięcia i UART Adapter programatorów JTAG/SWD z regulacją napięcia i UART Adapter programatorów JTAG/SWD z regulacją napięcia i UART

    Nie wyszła obudowa idealnie ale na moje potrzeby jest wystarczająca.
    Adapter programatorów JTAG/SWD z regulacją napięcia i UART Adapter programatorów JTAG/SWD z regulacją napięcia i UART Adapter programatorów JTAG/SWD z regulacją napięcia i UART

    Gdyby były jakieś dodatkowe pytania, można pytać śmiało.

    Cool? Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    ADI-mistrzu
    Level 30  
    Offline 
    Has specialization in: przemysł kosmiczny, układy low power
    ADI-mistrzu wrote 2133 posts with rating 256, helped 36 times. Live in city Legionowo. Been with us since 2004 year.
  • Computer Controls
  • #2
    ADI-mistrzu
    Level 30  
    Dorzucam pliki gerber oraz layout w PDF.
    Tylko proszę mi się nie wygłupiać i nie robić z tego masowej produkcji :)
  • Computer Controls
  • #3
    prosiak_wej
    Level 38  
    ADI-mistrzu wrote:
    nie robić z tego masowej produkcji


    Już tej jesieni na Aliexpress :lol:
  • #4
    totekd5
    Level 2  
    Jaki są koszta takich płytek w Polsce?
  • #6
    Ondo
    Level 11  
    Może wyjdę na marudę, ale w czym to się przydaje? ST-LINKv2 sam w sobie ma szeroki zakres napięcia sygnałów.
  • #7
    ADI-mistrzu
    Level 30  
    Jak chcesz podłączyć MCU zasilany z wyższego bądź niższego napięcia.
    Z racji że ma wbudowane zasilanie to możesz nim zasilacz płytkę docelową i regulować napięcie wyjściowe symulując np. zasilanie z baterii.
    Z racji przetwornicy ma także większą wydajność prądową niż zwykłe USB+LDO

    Dodatkowo bez programatora działa jak adapter USB-USART także z regulacją poziomów napięć wyjściowych i zasilania, co oznacza że można podłączyć np. do MPU z domeną 1.8V.
    Po wyłączeniu zasilania przez przełącznik ustala napięcie REF sygnałów wyjściowych zgodnie z pinem zasilania który wtedy powinien być podłączony do źródła napięcia na płytce docelowej.

    Po za tym stanowi dla mnie to adapter do różnego rodzaju złącz programowania w tym takie które mają dodatkowe linie z USART.
  • #8
    Ondo
    Level 11  
    ADI-mistrzu wrote:
    Jak chcesz podłączyć MCU zasilany z wyższego bądź niższego napięcia.
    Co to znaczy wyższego? Nie pamiętam dokładnych danych katalogowych, ale jakie procesory są zasilanie wyższym napięciem niż 5V i niższym niż 1.6V? Ja używam takie multiadaptera z ST-LINK V2.
    Adapter programatorów JTAG/SWD z regulacją napięcia i UART
  • #9
    ADI-mistrzu
    Level 30  
    Wyższe niż 3.3V dostępne np. z ST-LINK, czyli do 5.2V.
    Napięcie niższe niż 1.6V akceptuje np. ONSEMI RSL15.
    Adapter programatorów JTAG/SWD z regulacją napięcia i UART

    Odnośnie adaptera który pokazałeś to można go użyć, lecz potrzebujesz dodatkowo jeszcze jednego urządzenia USB-USART a jeśli chcesz zasilić z napięcia np. 2.5V to jeszcze zasilacza regulowanego/LDO/itp.
    W tym przypadku jest to zamknięte w jednej obudowie.