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

Linia nRST w STM32F107RC. Stan niski na pinie nRST po włączeniu zasilania.

03 Cze 2011 13:44 1746 2
  • Poziom 9  
    Po złożeniu układu z STM32F107RC był problem z uruchomieniem systemu. Załadowanie programu po RS-232 i przez JTAG było nie możliwe. Zostały sprawdzone jeszcze raz wszystkie napięcia zasilające procesor oraz stan linii nRST. Okazało się, że na tej linii był poziom napięcia około 0,4V. Dopiero połączenie na stałe pinu nRST z Vdd (+3,3V) spowodowało, że zaprogramowanie procesora stało się możliwe. Sprawdziłem prąd wpływający do końcówki nRST.
    To jest 4,4 mA, sporo. Połączenie pinu nRST z Vdd(+3,3V) przez rezystor 10k tak jak jest to robione w większości płytek ewaluacyjnych nie pomaga. Z rysunku wynika, że pin nRST jest dwukierunkowy. Wewnątrz jest rezystor Pup i klucz dzięki któremu procestor może się sam zresterować (np. WDGT) ale i również peryferia podłączone do pinu nRST.

    W jaki sposób wyjaśnić utrzymujący się stan niski na pinie nRST po włączeniu zasilania ? Czy utrzymanie stanu niskiego na pinie nRST jest związane z uszkodzeniem procesora, czy jest to sprawa programowa ? Mam tutaj 2 takie egzemplarze i zachowują się podobnie.

    Pozdrawiam,
    M
  • Poziom 35  
    Stan niski ogólnie nie powinien tam występować. Nie miałem nigdy takich problemów z stm32... Miałem, fakt, parę takich procków z uwalonym resetem na stałę i porządnie zwartym do masy ;]
    Obstawiam lekkie uszkodzenie obwodów wejsciowych na pinie twojego procesora. Skoro procesor chodzi z resetem podłączonym do plusa na stałę, no to tak moze chodzić... Ale na pewno nie jest to zgodne ze sztuką.
    Również, jak zauważyłeś, procesor w resecie nie daje sie programować przez JTAG/SW, i nie jest to nic dziwnego.

    Sprawdź czy jest to sprawa programowa. Zaprogramuj procesor kodem który ustawia wszystkie piny na wejscia podciągane do plusa. Wtedy sobie zmierzysz co jest na resecie i sprawa będzie jasna...
  • Poziom 9  
    Tym razem temat można zamknąć szczęśliwie. Na my.st.com zasugerowali, żeby zbadać pojemność tłumiącą drgania styków, którą zaleca się łączyć między nóżkę NRST i masę.

    Dla 100% pewności wylutowałem ten element i okazało się, że był tam wlutowany do góry brzuszkiem rezystor 1k1 (i udawał kondensator) i tworzył się dzielnik napięcia stałego między moim 100 om do Vdd. Kiedy rezystor 100 om był zastąpiony rezystorem 10k pin NRST był na stanie logicznym 0, bo i jak inaczej mogło być ... Okazało się, że tym razem nie był to procesor. Czyli wlutowanie powiodło się, nie dostał elektrostatyką. W sumie te STM32 są bardzo przyjazne i ergonomiczne, szczególnie, że mają tę swoją bibliotekę i nie trzeba czytać/pamiętać który bit w którym słowie do czego.

    To też wyjaśnia czemu 2 egzemplarze procesora zachowywały się tak samo. No super, mamy sprawę wyjaśnioną. Powiem szczerze, że ta pojemność byłaby ostatnim miejscem gdzie szukałbym przyczyny, a jednak ... Kiedy wylutowałem pierwszy egzemplarz STM32 sprawdzałem elementy multimetrem, też badałem pojemności. Unit UT50D mierzy pojemności i indukcyjności. I ten rezystor udawał kondenstator - miernik pokazuje 96 nF, nawet w myślach dziwiłem się jakie teraz to dokładne są te element SMD. (to z głębszych przemyśleń)

    Dziękuję.