Cosa significano queste modalità di input / output dei pin del microcontrollore?


9

Ho comprato uno stm32f103ret6 . Quando ho visto il manuale di riferimento, ho visto che ha diverse modalità I / O.

Per input: flottante, pull-up, pull-down
Per output: analogico, open-drain, push-pull

Ho già lavorato con MCU AVR che hanno tri-state e pull-up. Quindi posso capire pull-up e pull-down, ma non riesco a capire le modalità floating, analog, open-drain, push-pull. Cosa significano queste modalità e quando utilizzo quale?

Risposte:


9

Galleggiante: né pull-up né pull-down. Il tuo input va effettivamente direttamente al gate di un FET da qualche parte. Dovrebbe essere usato solo con driver esterno o pullup / down; non lasciarlo completamente mobile per raccogliere ESD.

Analogico (uscita): non abbastanza chiaro dal foglio dati, ma suppongo che questo sia stato l'output di un DAC da qualche parte e quindi può assumere una gamma di valori di tensione.

Open-drain: se impostato su "0", verrà attivato un FET per collegarlo a terra. Se impostato su "1", rimarrà mobile. Utilizzato per I2C e bus simili in cui sono presenti più driver open-drain e una singola resistenza pullup da qualche parte.

Push-pull: contiene transistor di uscita sia alti che bassi. Veloce, in grado di guidare effettivamente cose che richiedono una tensione positiva, ma non devono essere collegate ad altri driver. Se impostato su "1", collega la guida di alimentazione positiva all'uscita tramite un FET.


2
La differenza normale tra "floating" e "analog" è che il primo instraderà il pin in un buffer di input a livello logico, consentendo al codice (o altra logica) di vedere il suo stato, ma causando anche l'assorbimento di corrente extra se non lo fa non rappresenta un valore alto o basso valido; quest'ultimo disconnetterà il pin dal buffer di ingresso a livello logico, consentendo così alla tensione del pin di variare in qualsiasi punto tra le guide di alimentazione senza causare un assorbimento di corrente in eccesso.
supercat,
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.