Słyszałem, że pozostawienie pinu unoszącego się na MCU, gdy jest skonfigurowane jako wejście (w porównaniu z domyślnym wyjściem), jest złe dla pinu i może ostatecznie spowodować jego przedwczesne uszkodzenie. Czy to prawda? NB w moim przypadku pin pływa gdzieś pomiędzy 0,3 V a 1,3 V z powodu przychodzącego sygnału wideo. Czasami spada to w strefie niczyją od 0,8 V do 2,0 V podczas pracy z 3,3 V.
microcontroller
pins
Thomas O
źródło
źródło
Odpowiedzi:
Problem:
Pozostawienie pinu skonfigurowanego jako pływające wejście jest niebezpieczne tylko dlatego, że nie możesz być pewien stanu pinu. Jak już wspomniałeś, z powodu twojego obwodu twój pin był czasem NISKI, a czasem na ziemi niczyjej lub czasami mógł przejść do WYSOKIEJ.
Wynik:
Zasadniczo, zmiennoprzecinkowe wejście zdecydowanie spowoduje nieprawidłowe działanie układu lub nieprzewidziane zachowanie. Zauważyłem, że niektóre żetony zamarzły, po prostu przesuwając rękę bliżej tablicy (nie miałem na sobie opaski na rękę ESD), a niektóre zachowywałyby się inaczej przy każdym uruchomieniu płyty.
Dlaczego:
Dzieje się tak po prostu dlatego, że jeśli na tym pinie występuje szum zewnętrzny, pin oscylowałby, co zużywałoby energię, ponieważ bramki logiczne CMOS pobierają energię po przełączeniu stanów.
Rozwiązanie:
Większość dzisiejszych mikrosów ma również wewnętrzne podciągnięcia, co może zapobiec występowaniu takiego zachowania. Inną opcją byłoby skonfigurowanie pinu jako wyjścia, aby nie miało to wpływu na elementy wewnętrzne.
źródło
Jest to trochę gorsze niż bycie w nieznanym stanie lub niepotrzebne przełączanie. Obwody cyfrowe są obecnie głównie typu CMOS, z tranzystorami przełączającymi zarówno wysokie, jak i niskie strony; kiedy mamy wyraźne 1 i 0, są one wyłączone lub nasycone, dwa najbardziej efektywne stany dla tranzystorów, które mają być w środku. Jednak pomiędzy nimi znajduje się obszar działania liniowego; jest stosowany do wzmacniaczy analogowych, ale nie jest tak wydajny jak ekstremalne - co oznacza, że więcej energii marnuje się niż ciepło w tranzystorze. W najgorszym przypadku zarówno tranzystory po stronie wysokiej, jak i niskiej przeciekają w ten sposób (ponieważ pin nie jest w rzeczywistości ani wysoki, ani niski), a następnie mogą się łączyć, powodując zauważalny prąd w układzie, próbując doprowadzić zarówno stan wewnętrzny, jak i wysoki i niski - prawdopodobnie robiąc to samo do następnej bramki w reakcji łańcuchowej. Ciepło może stać się problemem, nawet jeśli nie ma prądu. Rozwiązania IntelliChick nadal obowiązują.
W przypadku pinów podłączonych również do ADC niektóre mikrokontrolery oferują funkcję wyłączania bufora wejściowego cyfrowego, aby zapobiec zarówno temu problemowi, jak i wyciekom zniekształcającym sygnał.
źródło
W praktyce głównym efektem jest zwiększone zużycie energii. Jeśli szpilka faktycznie unosi się w przeciwieństwie do podłączenia do jakiegoś nieokreślonego źródła napięcia, może wystąpić oscylacja, która wraz ze wzrostem poboru mocy może powodować hałas w innych częściach systemu. Każdy pin, który może być użyty do wejścia ADC lub komparatora, będzie miał możliwość odłączenia bufora wejścia cyfrowego, aby uniknąć tego problemu. (DIDR na AVR, ADCON1 / ANSEL na PIC)
źródło
Ogólnie złym pomysłem jest pozostawienie pinu wejściowego tak swobodnego, ponieważ może to spowodować:
a) Problemy funkcjonalne - nieznany stan wejściowy, przełączanie (na przykład może wywołać przerwanie z nieokreślonym ISR, który zawiesiłby procesor)
b) Zwiększony pobór mocy - najprawdopodobniej bramka wejściowa jest podobna do falownika CMOS. W tej strukturze, gdy wejście jest wystarczająco daleko od którejkolwiek z szyn (na przykład przy połowie zasilania), znaczny prąd krzyżowy będzie płynął stale.
c) Jeśli przepłynie prąd łączący, zjawisko znane jako wstrzyknięcie gorącego nośnika może faktycznie skrócić żywotność urządzenia. Bramka wejściowa może być zaprojektowana tylko do normalnego przełączania, a nie ciągłego przewodzenia, więc urządzenie może ulec katastroficznej awarii. Należy jednak pamiętać, że aby tak się stało, trzeba ustawić urządzenie w takim stanie na wiele setek godzin w podwyższonej temperaturze.
Zauważ, że a) ib) są prawdziwymi problemami, z którymi najprawdopodobniej się zetkniesz. Co do c) prawdopodobieństwo wystąpienia problemu jest mniej prawdopodobne, ale po co ryzykować?
źródło
Dane wejściowe będą przełączane między 0 a 1 w zależności od dowolnego EMI. Nie jestem pewien, czy spowoduje to awarię wejścia, ale spowoduje użycie większej mocy, ponieważ przejścia od 0 do 1 do 0.
Ustaw na wyjście i gotowe.
źródło
Niektóre szybkie urządzenia CMOS mogą zostać zniszczone, jeśli wejście pozostanie zmiennoprzecinkowe, ale najczęstszym problemem, jaki można zaobserwować, jest zwiększone zużycie prądu. W mikrokontrolerach z serii PIC dodatkowy prąd jest rzędu setek mikroamperów na pin pływający. Nie wystarczy, aby spowodować uszkodzenie urządzenia, ale wystarcza, aby poważnie wpłynąć na żywotność baterii w aplikacji, która w przeciwnym razie pobierałaby 5uA. Niektóre układy mają opcje wyłączenia wejścia cyfrowego; jeśli wejście jest wyłączone, może być swobodnie zmienne.
źródło