logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Wariujący debuger STM32 - dziwne zakłócenia po dotknięciu miernikiem

rezontor 15 Sie 2015 20:52 1500 8
REKLAMA
  • #1 14923491
    rezontor
    Poziom 15  
    Posty: 210
    Pomógł: 1
    Ocena: 13
    Witam.

    Zaprojektowałem układ z mikrokontrolerem STM32F429. Mikrokontroler jest napędzany z częstotliwością 180MHz i ma wyprowadzone złącze programowania SWD.

    Całość w celach testowych dołączyłem do diody LED, pokazującej stan pracy urządzenia oraz do 4 przycisków. Przy mikrokontrolerze, zgodnie z zaleceniami, zamontowałem 12 kondensatorów 100nF przy każdym VDD, kondensator 2,2uF + 100nF przy VDDA, 2,2uF do VBAT, 2,2uF do CAP1 i CAP2. Z kwarcem również współpracują stosowne kondensatory i rezystory - ogólnie w tych sprawach wzorowałem się na schemacie zestawu uruchomieniowego STM32F429 DISCOVERY - schemat poniżej. Główny kondensator filtrujący na wejściu to 100uF.

    Wariujący debuger STM32 - dziwne zakłócenia po dotknięciu miernikiem

    Swoją płytkę podłączyłęm do wyprowadzeń programatora StLINK (SWD), zamontowanego na płytce DISCOVERY. Chciałem przetestować system przerwań zewnętrznych, skonfigurowałem je więc tak, że po wciśnięciu przycisku 1, 2 i 3 - dioda zapala się, a po wciśnięciu 4 przyc. - gaśnie.

    Uruchomiłem program. Wszystko pracuje OK, ale do momentu. Gdy sondą miernika dotknę do punktu GND lub VCC (wystarczy jedna sonda), debugger natychmiastowo traci połączenie z mikrokontrolerem i wyskakuje błąd (dzieje się to najczęściej przy punktach GND i VCC najbliżej uP). Wystarczy tez, że
    dotknę do jakiegoś wejścia tego chipa - ukłąd też czasami traci połączenie.


    Podobne, dziwne rzeczy dzieją się z przyciskami - dotknę sondą miernika wyprowadzenia przycisków (które idzie do UP) - układ rozpoznaje to jako fakt jego naciśnięcia. Nic nie pomagają dodatkowe, 600 omowe rezystory podciągające, kondensatory połączone równolegle z przyciskiem itd... Nadmienię, że ścieżka od mikrokontrolera do przycisków ma średnio ok. 6 cm i jest przykryta masą. Tutaj sytuacja wydaje się bardziej zrozumiała - dotknięciem miernikiem przycisku generuje szpilki, które pobudzają ukłąd wykrywania zbocza opadającego w uP - należy jeszcze chyba zastosować programową eliminację przekłamań, sprawdzając ponownie przycisk po ok. 20ms. Ale co może być w 1 przypadku, czyli dziwnym zachowaniu debuggera?


    PS
    Badanie zasilania oscyloskopem nie pokazuje mocnych zakłóceń. Widać jedynie, że na nastawie 5mV/div zakłócenia minimalnie zmieniają swój charakter po dotknięciu obudowy uP. Nadmienię, że mój układ jest zasilany z płytki DISCOVERY, podłączonej do portu USB laptopa.
  • REKLAMA
  • Pomocny post
    #2 14923846
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #3 14923861
    rezontor
    Poziom 15  
    Posty: 210
    Pomógł: 1
    Ocena: 13
    Dziękuję za odpowiedź.

    0. Układ jest prawidłowo przylutowany. Dotykam miernikiem (tylko 1 sondą!) do wyprowadzenia goldpin z napięciem zasilającym układ (+3V) - bardzo delikatnie, nieodczuwalnie - i debugger zgłasza błąd komunikacji z mikrokontrolerem (Cannot access target/Shutting down debug session). Przed momentem zrobiłem następujący test: dotknąłem lekko palcem do wyprowadzenia VCC na mojej PCB - układ działał bez bez błędów. Dotknąłem 24 cm śrubokrętem - debugger zgłosił błąd połączenia z uP.

    1. Różnica potencjałów to 20mV. Testy z pkt. 0 przeprowadziłem bez podłączonego oscyloskopu. Miernik był zasilany bateryjne (nie było żadnego fizycznego połączenia z układem); śrubokręt też nie był połączony - trzymałem go za plastikowy korpus. Wygląda na to, że te rzeczy działają jak anteny i jakimś dziwnym trafem zakłócenia wpływają na pracę urządzenia, co jest trochę dziwne, bo filtracja jest raczej ok i mają niewielką wartość.

    2. Około 160mA.

    3. Kondensatory to ceramiczne MLCC , X7R, 2,2uF, 16V : http://www.tme.eu/pl/details/1206yc225kat2a/kondensatory-mlcc-smd-1206/avx/

    Opisywałem fakt, że po dotknięciu śrubokrętem VCC układ resetuje się. Dzieje się tak gdy dotykam VCC na mojej płytce; gdy przechodzę na płytkę DISCOVERY, z której moja jest zasilana, i ponownie dotykam śrubokrętem VCC - wszystko jest ok, co mnie trochę dziwi...

    Gdy przed chwilą odłączyłem laptop od sieci i ponownie przeprowadziłem powyższe testy, problem nadal występował, tylko już z mniejszą częstotliwością. ..
  • Pomocny post
    #4 14923865
    tadzik85
    Poziom 38  
    Posty: 3404
    Pomógł: 415
    Ocena: 16
    W odpowiedniej paczce udostępniony jest szablon projektu....
  • #5 14923867
    rezontor
    Poziom 15  
    Posty: 210
    Pomógł: 1
    Ocena: 13
    tadzik85 napisał:
    W odpowiedniej paczce udostępniony jest szablon projektu....


    Program na UC jest banalny, kręci się cały czas w pętli. Dodałem jedynie pomocniczo reakcję na przerwania zewnętrzne, które zapalają diody.

    Nieużywane wyprowadzenia konfiguruję jako wyjścia.

    Płytka drukowana jest 4 warstwowa. Ponieważ wykorzystuję dużo komponentów, nie mogłem poświęcić całej warstwy na GND - masa jako POLYGON istnieje na 4 warstwach i jest łączona przelotkami. Oblewa prawie wszystko.

    Nie wiem też, czy mogło to mieć wpływ, ale czas lutowania STMa nieco się wydłużył i wynosił ok. 25 - 35 sekund w temperaturze 410 stopni C (temperatura przy wylocie powietrza w stacji HOTAIR).

    Zapomniałem wspomnieć o tym, że za moim oknem jest rozgłośnia radiowa, nadająca z mocą 0,35 kW. Odległość od anteny to ok. 30m
  • REKLAMA
  • Pomocny post
    #6 14923947
    pkorpas
    Specjalista od radiokomunikacji
    Posty: 8
    Pomógł: 2
    Ocena: 2
    1. Czy objawy wystepuja po odlaczeniu laptopa od sieci zasilajacej?
    2. Czy objawy znikaja po zasileniu Twojego ukladu z zewnetrznego zrodla (zasilacza badz baterii)?
    3. Jak dlugi jest kabel SWD?
    4. Czy w przypadku zasilania ukladu z plytki Discovery zapewnione jest polaczenie masy pomiedzy Twoim ukladem, Discovery oraz komputerem o niskiej indukcyjnosci (krotki i nie supercienki przewod)? Chodzi o polaczenie masy niezalezne od tego wystepujacego w przewodzie SWD.
  • REKLAMA
  • Pomocny post
    #7 14924496
    nsvinc
    Poziom 35  
    Posty: 2870
    Pomógł: 262
    Ocena: 88
    Skoro dotykasz palcem, i nic sie nie dzieje, a dotykasz srubokretem i masz reset, to znaczy że gdzies blisko ciebie jest bardzo silne zrodlo zaklocen...
    Na "nieumasionych" metalowych przedmiotach indukuje sie jakis dziwny potencjał względem masy układu, i dzieje sie to, co wspomniał Marek_Skalski - układ jest traktowany jakimś dużym ESD.

    Umaś miernik - najpierw podlacz jedna sonde do masy ukladu, potem drugą sondę wsadź w układ (gdzie chcesz) - jeśli moje przypuszczenia są prawdziwe, procek nie powinien sie wywalić
  • #8 14925983
    rezontor
    Poziom 15  
    Posty: 210
    Pomógł: 1
    Ocena: 13
    nsvinc napisał:
    1. Czy objawy wystepuja po odlaczeniu laptopa od sieci zasilajacej?
    - TAK
    pkorpas napisał:
    2. Czy objawy znikaja po zasileniu Twojego ukladu z zewnetrznego zrodla (zasilacza badz baterii)?
    - NIE
    pkorpas napisał:
    3. Jak dlugi jest kabel SWD?
    - ma 7 cm
    pkorpas napisał:
    4. Czy w przypadku zasilania ukladu z plytki Discovery zapewnione jest polaczenie masy pomiedzy Twoim ukladem, Discovery oraz komputerem o niskiej indukcyjnosci (krotki i nie supercienki przewod)? Chodzi o polaczenie masy niezalezne od tego wystepujacego w przewodzie SWD.
    Dodałem gruby, o niskiej rezystancji przewód - nic nie pomogło.

    nsvinc napisał:
    Umaś miernik - najpierw podlacz jedna sonde do masy ukladu, potem drugą sondę wsadź w układ (gdzie chcesz) - jeśli moje przypuszczenia są prawdziwe, procek nie powinien sie wywalić
    Sprawdzę. Przeprowadziłem dzisiaj test. Ten sam układ uruchomiłem w innym miejscu, z dala od tej anteny FM o której pisałem (nadaje z mocą 0,35 kW jest na dachu w odległości ok. 30 m od mojego pokoju). Okazało się, że problemy z debuggerem nie występują (czyli odłączanie się po dotknięciu metalowym przedmiotem dowolnego pola płytki - miernikiem etc.).

    Jeżeli chodzi o przyciski - napisałem
    rezontor napisał:
    Podobne, dziwne rzeczy dzieją się z przyciskami - dotknę sondą miernika wyprowadzenia przycisków (które idzie do UP) - układ rozpoznaje to jako fakt jego naciśnięcia. Nic nie pomagają dodatkowe, 600 omowe rezystory podciągające, kondensatory połączone równolegle z przyciskiem itd...
    W tym drugim miejscu przyciski zachowują się normalnie (muszę przyłożyć bardzo długą "antenę" w postaci np. sondy od miernika, aby błędnie zareagowały). Wynika chyba ztego, że w miejscu A są duże zakłócenia z jakiegoś źródła. Zastanawiam się teraz, co można zrobić, aby je wyeliminować?
  • Pomocny post
    #9 14926346
    Konto nie istnieje
    Poziom 1  

Podsumowanie tematu

✨ Użytkownik zaprojektował układ z mikrokontrolerem STM32F429, który działa na częstotliwości 180MHz. Po podłączeniu do programatora StLINK i testowaniu systemu przerwań, wystąpiły problemy z komunikacją debugera po dotknięciu miernikiem do wyprowadzeń zasilających. Użytkownik przeprowadził szereg testów, które wykazały, że zakłócenia mogą być spowodowane różnicą potencjałów masy oraz silnym źródłem zakłóceń radiowych z pobliskiej stacji nadawczej. Po przeniesieniu układu w inne miejsce problemy ustąpiły. Sugerowane rozwiązania obejmują ekranowanie urządzenia oraz użycie przewodów ekranowanych do połączeń.
Wygenerowane przez model językowy.
REKLAMA