È davvero una cattiva idea lasciare mobile un pin di input MCU?


28

Ho sentito che lasciare un pin fluttuante su un MCU quando configurato come input (rispetto all'output predefinito) è dannoso per il pin e può eventualmente causare un guasto prematuro. È vero? NB nel mio caso il pin fluttua da qualche parte tra 0,3 V e 1,3 V a causa di un segnale video in ingresso. Questo a volte cade nella zona di nessuno di 0,8 V - 2,0 V quando funziona da 3,3 V.


1
Hai controllato la scheda tecnica e la documentazione della famiglia MCU? Dovrebbero avere delle risposte piuttosto precise e puoi vedere come i pin sono implementati internamente.
XTL,

@XTL, li ho scansionati, ma non ho trovato riferimenti ad esso. Dicono che i perni mobili possono entrare in stati indefiniti ma non menzionano se potrebbe causare problemi.
Thomas O,

C'è una differenza tra un ingresso digitale mobile e un ingresso definito come analogico. Sembra che questo sia un ingresso analogico.
Martin,

@Martin Non riesco a rendere il pin un ingresso analogico. Ho un intervallo di tempo di ~ 125 ns per ogni pixel del video (clock di istruzioni 25 ns), quindi non posso spendere un singolo nanosecondo in più.
Thomas O

2
Quale MCU stai utilizzando per impostazione predefinita tutti i pin per l' output ? Sembra una ricetta per il disastro.
Connor Wolf

Risposte:


31

Problema:
lasciare un pin configurato come input flottante è pericoloso semplicemente perché non si può essere sicuri dello stato del pin. Come hai detto, a causa del tuo circuito, il tuo pin a volte era BASSO o talvolta nella terra di nessuno o talvolta poteva andare in ALTO.

Risultato:
essenzialmente, l'ingresso fluttuante determinerà sicuramente un funzionamento irregolare del chip o un comportamento imprevedibile. Ho notato che alcuni chip si sono congelati semplicemente avvicinando la mia mano alla scheda (non indossavo un cinturino da polso ESD) o alcuni avrebbero avuto un comportamento di avvio diverso ogni volta che la scheda si accendeva.

Perché:
questo accade semplicemente perché se si verifica un rumore esterno su quel pin, il pin oscillerebbe, il che consumerebbe energia quando le porte logiche CMOS consumano energia quando cambiano stato.

Soluzione: la
maggior parte dei micro ha anche pullup interni, in modo da evitare che si verifichi questo comportamento. Un'altra opzione sarebbe quella di configurare il pin come output in modo che non influisca sugli interni.


3
Se lo si utilizza come input, causerà sicuramente input irregolari, ma influisce davvero su altre parti del chip e causa problemi di avvio?
endolito il

3
Se ignoro il pin e non lo uso per nessuna periferica, causerebbe comunque problemi?
Thomas O

@endolith e Thomas - Penso che mikeselectricstuff ti abbia risposto! Potrebbe causare problemi semplicemente introducendo rumore in altre parti del sistema. So che era a causa del pin mobile, perché non appena l'ho configurato su un output, i problemi sono scomparsi!
IntelliChick,

2
Non capisco come un pezzo di metallo fluttuante possa introdurre rumore in altre parti del sistema. Raccoglie rumore, certamente, ma se non stai prestando attenzione all'ingresso, non dovrebbe importare. I problemi con le mani che si agitano nelle vicinanze sono realmente correlati agli ingressi fluttuanti non utilizzati ?
endolith

I perni flottanti TIL non sono innocui. Grazie IntelliChick e @Yann!
Nick Johnson,

13

È un po 'peggio del solo essere in uno stato sconosciuto o alternare inutilmente. I circuiti digitali al giorno d'oggi sono per lo più di tipo CMOS, con transistor che commutano i lati alto e basso; quando abbiamo chiari 1 e 0, sono o off o saturi, i due stati più efficienti per i transistor in cui trovarsi. In mezzo, tuttavia, c'è una regione di funzionamento lineare; è usato per amplificatori analogici, ma non è così efficiente come gli estremi - il che significa che una maggiore potenza viene sprecata come il calore nel transistor. Nel peggiore dei casi, entrambi i transistor lato alto e basso perdono così (perché il pin non è né alto né basso), e possono quindi combinarsi per causare una notevole corrente all'interno del chip mentre provano a guidare lo stato interno sia alto e basso - probabilmente facendo lo stesso con il gate successivo in una reazione a catena. Il calore potrebbe diventare un problema anche se non lo è. Le soluzioni di IntelliChick sono ancora valide.

Per i pin collegati anche agli ADC, alcuni microcontrollori offrono la funzione di disabilitare il buffer di ingresso digitale, per prevenire sia questo problema sia una perdita che distorcono il segnale.


Gli ingressi non hanno isteresi?
endolito il

3
Gli ingressi trigger di Schmitt lo fanno, ma generalmente no.
Yann Vernier,

6

In pratica, l'effetto principale è un aumento del consumo energetico. Se un pin fluttua invece di essere collegato a una sorgente di tensione indeterminata, è possibile che si verifichino oscillazioni che, oltre ad aumentare l'assorbimento di potenza, possono introdurre rumore in altre parti del sistema. Qualsiasi pin che ha la possibilità di essere utilizzato per un ingresso ADC o comparatore avrà la possibilità di disconnettere il buffer di ingresso digitale per evitare questo problema. (DIDR su AVR, ADCON1 / ANSEL su PIC)


Cosa oscillerebbe esattamente e perché?
endolith

@endolith - Il buffer di input sul pin. Pensa a un buffer di inversione con un condensatore tra l'ingresso e l'uscita.
Connor Wolf,

@FakeName: ma dov'è l'inverter? Dov'è l'output che sta rispondendo all'input?
endolith

3
Fondamentalmente, tutti i pin IO IO passano attraverso un buffer (spesso un inverter) sull'IC Die . Poiché il buffer avrà fili per l'ingresso e l'uscita, è possibile accoppiare in modo capacitivo tra l'ingresso e l'uscita. Pertanto, se l'ingresso ha un'impedenza sufficientemente elevata, una transizione sull'uscita dell'inverter può causare la modifica dell'ingresso dell'inverter, causando nuovamente la modifica dell'uscita, ecc.
Connor Wolf

4

Generalmente è una cattiva idea lasciare il pin di input mobile come questo potrebbe causare:

a) Problemi funzionali: stato di input sconosciuto, attivazione / disattivazione (ad esempio può causare l'interruzione con ISR indefinito che bloccherebbe il processore)

b) Aumento del consumo energetico - molto probabilmente il gate di ingresso è simile all'inverter CMOS. Con questa struttura quando l'ingresso è abbastanza lontano da entrambe le rotaie (ad esempio a metà alimentazione), una corrente di attraversamento significativa scorrerà costantemente.

c) Se la corrente di crossover scorrerà, i fenomeni noti come iniezione del portatore caldo possono effettivamente ridurre la durata del dispositivo. La porta di ingresso può essere progettata solo per la normale commutazione e non per la conduzione continua, quindi il dispositivo potrebbe guastarsi catastroficamente. Si noti tuttavia che sarebbe necessario posizionare il dispositivo in tali condizioni per molte centinaia di ore a temperatura elevata affinché ciò accada.

Si noti che a) eb) sono problemi reali che uno probabilmente incontrerà. Per quanto riguarda c) è meno probabile che si verifichi un problema, ma perché rischiare?


3

L'ingresso commuta tra 0 e 1 in base a qualsiasi EMI. Non sono sicuro se ciò causerà un errore nell'input, ma causerà più potenza perché le transizioni da 0 a 1 a 0.

Impostalo su un output ed eseguilo.


1
Se lo imposto su un'uscita, 0 o 1, interromperà il segnale video e causerà una perdita di video.
Thomas O

Puoi abilitare un pull-up interno e farcela?
endolith

Abilitare il pull-up interno dovrebbe essere buono. Il punto è metterlo in uno stato noto e lasciarlo lì.
Robert,

2

Alcuni dispositivi CMOS ad alta velocità possono essere distrutti se un ingresso viene lasciato flottante, ma il problema più comune che si osserva è l'aumento del consumo di corrente. Sui microcontrollori della serie PIC, la corrente aggiuntiva è dell'ordine di centinaia di microampere per perno flottante. Non abbastanza per causare danni al dispositivo, ma abbastanza per influire gravemente sulla durata della batteria in un'applicazione che altrimenti assorbirebbe 5uA. Alcuni chip hanno opzioni per disabilitare un ingresso digitale; se un input è disabilitato, può essere lasciato liberamente flottante.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.