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.

[STM32 itp.] - Wolne piny procesora

30 Lis 2014 14:18 1278 5
  • Poziom 27  
    Taki trochę dziwny temat, ale tak z nudów czytam sobie czasem różne tematy, przy okazji trafiłem na kilka, w których pytano co robić z wolnymi, nieużywanymi pinami procesorów. W zasadzie większość uważa, że absolutnie nie powinny pozostawać w stanie 'wolnym'. I to mnie trochę zdziwiło, bo:
    Domyślne ustawienia pinów GPIO po resecie, to floating input, dlaczego nie pull up/down?
    W przykładowych projektach jakie pamiętam (książki, przykłady dla płytek uruchomieniowych itp.) nieużywane GPIO są pomijane, nie są konfigurowane w żaden sposób, więc pozostają floating input.
    Więc jakie mogą być ujemne skutki pozostawienia portów 'wiszących' i dlaczego nikt się tym w zasadzie nie przejmuje? Takie przypadkowe przełączenia nieodczytywanego portu mogą np. nieznacznie zwiększyć pobór prądu?
  • Poziom 38  
    dziechu napisał:
    W zasadzie większość uważa, że absolutnie nie powinny pozostawać w stanie 'wolnym'.


    Prawda, objawia się to w aplikacjach low power, Zostaw je wiszące a masz nawet 200uA poboru.

    dziechu napisał:
    Domyślne ustawienia pinów GPIO po resecie, to floating input, dlaczego nie pull up/down?


    Wymagania dla klasy B.
  • Poziom 27  
    Ok, czyli w zasadzie zalecane, ale nie bezwzględnie wymagane, szczególnie przy układach próbnych. Dla końcowych projektów powinno się je chyba najlepiej ustawić na pull (up czy down nie ma znaczenia - dla np. układów gdzie decyduje o tym GPIOx->ODR, można ustawianie ODR sobie darować).
  • Poziom 38  
    dziechu napisał:
    Ok, czyli w zasadzie zalecane, ale nie bezwzględnie wymagane, szczególnie przy układach próbnych. Dla końcowych projektów powinno się je chyba najlepiej ustawić na pull (up czy down nie ma znaczenia - dla np. układów gdzie decyduje o tym GPIOx->ODR, można ustawianie ODR sobie darować).


    W normalnej aplikacji nie ma to znaczenia.

    W low power to masakra. Nawet podciąganie wewnętrzne niewiele daje. A sugestia np ST by ustawić je na analog tez nie do końca. Trzeba ustawić na wyjście. Wówczas pomiar prądu pobieranego przez procesor jest sensowny. Weź procek z serii L. wprowadź go w sleep. Mierz prąd i zbliżaj rękę do pinów.

    Mówiąc konkretniej. Pin zostawiony jako wolny i będący wejściem działa jak antena. A to powoduje ciągłe przełączanie układów wejściowych co powoduje znaczy pobór prądu. A 100uA z tego powodu dla procesora który przy taktowanie 1MHz pobiera mniej więcej tyle samo......