microcontrollori

Ciao a tutti, i pin non utilizzati di un microcontrollore devono essere collegati a qualcosa o si possono lasciare flottanti?

Reply to
Foley
Loading thread data ...

Foley:

Gli input CMOS flottanti sono sempre una pessima idea.

Se i pin hanno delle resistenze di pull-up interne le puoi abilitare e metterli in input, oppure puoi aggiungere dei pull-up esterni.

Altrimenti vanno messi in output (ma è pericoloso per eventuali corti), oppure collegati a massa (ancor più pericoloso perché il corto lo puoi fare via software).

Reply to
F. Bertolazzi

Foley ha scritto:

di solito al reset il micro mette in input le porte di i/o; se esternamente li hai collegati ad un potenziale noto sei a posto, basta fare attenzione a non mettere poi quei pin in output da firmware;

altrimenti lasciali flottanti esternamente e mettili in output da firmware subito all'avvio avendo accortezza che eventuali pullup interni siano disabilitati altrimenti sprechi corrente a vuoto

alcuni compilatori ti danno la possibilità di settare con una direttiva la direzione di ogni pin e questa non sarà più modificabile; tipo set_tris_B(0); // tutti i pin come output se fai input_B() la direzione dei pin resta OUT e non leggi il valore reale del pin ma il latch relativo

-ice-

Reply to
ice

ice:

Con quale vantaggio?

Se il pin è in input il consumo di corrente dei pullup è nullo. Se è in output e a livello basso e si sta usando un controller stupido che non permette di abilitarli pin per pin, il consumo è nell'ordine degli 0,1 mA. Vale la pena correre rischi per 0,1 mA?

Questa sarebbe una "direttiva" del compilatore? Cosa ti vieta di chiamarla nuovamente per cambiare direzione ai pin?

Questo chiarimento mi sembra pleonastico. Come tutto il tuo post. No, non tutto. Una parte è fuorviante.

Reply to
F. Bertolazzi

Un bel giorno Foley digitò:

Se il micro ha i pull-up interni puoi lasciare i pin scollegati. Altrimenti la maggior parte dei costruttori consiglia di configurarli come output e forzarli a zero.

Nei grossi micro e nelle FPGA consigliano invece di configurarli come input e collegarli a massa, per una questione di signal integrity (hai più "path" che vanno a massa).

--
emboliaschizoide.splinder.com
Reply to
dalai lamah

F. Bertolazzi ha scritto:

- non servono pull-up esterni aggiuntivi

- non hai commutazioni random come quando li lasci floating ma settati come input

trascurabile

non è il micro stupido... se ha quella caratteristica che non puoi accettare cambia micro, punto

il consumo è nell'ordine degli 0,1

vale la pena se hai sotto un micro che supporta la sofisticatissima tecnologia nanoWatt

no, questa non lo è... mi riferivo alla #use fast_io(B) a cui far seguire la set_tris_B(0);

la coerenza con il firmware che scrivi; in vari casi se hai organizzato bene i pin del micro potresti anche non necessitare di una seconda tris nel codice

per te magari si; per altri magari no

Come tutto il tuo post.

magari sono i commenti come questi ad essere fuorvianti

-ice-

Reply to
ice

Il 24/06/2010 15.25, ice ha scritto:

quali uC mettono gli I/O in output senza disabilitare automaticamente i pullup/pulldown eventualmente presenti ?

--
saluti
  lowcost
Reply to
lowcost

Foley ha scritto:

se sei sicuro che non prendano potenziali pericolosi che potrebbero distruggere il uC li puoi lasciare aperti.....se non hai problemi di pcb puoi mettere delle R=10K a massa o al positivo, e quindi se gli I/O sono IN o OUT sono ad un potenziale fisso!

Reply to
emilio

lowcost ha scritto:

non ne ho presenti, su questo mi sono espresso male; grazie per la correzione

-ice-

Reply to
ice

dalai lamah ha scritto:

ut

=BD "path"

Non penso proprio che in questo caso i pin vadano configurati come input. Nei grossi micro non so, ma nelle FPGA ci sono opzioni per dichiarare "as output driving ground" i pin non usati e poi collegarli esternamente fisicamente a massa. Comunque la regola generale e' non lasciare mai flottanti gli ingressi. Nel migliore dei casi hai una inutile dissipazione di potenza, nel peggiore hai la distruzione del chip a causa di un latch-up.

Reply to
Dimonio Caron

Mi sembra di aver capito che una possibile soluzione possa essere quella di mettere tutto in output facendo attenzione ad eventuali cortocircuiti? Grazie mille a tutti Ciao ciao

Reply to
Foley

Un bel giorno Dimonio Caron digitò:

Ovviamente ho sbagliato a scrivere, intendevo output. Anche se in realtà l'effetto esiste parzialmente anche configurandoli come input, mi pare che ne parlino in una app note Xilinx.

--
emboliaschizoide.splinder.com
Reply to
dalai lamah

dalai lamah ha scritto:

=E0

e

Non capisco che giro dovrebbe fare la corrente, visto che un input ha un'altissima impedenza. A meno che non attraversi il diodo tra input e Vss, ma questo e' il percorso per attivare il latch-up. Potresti darmi un riferimento?

Reply to
Dimonio Caron

ice:

No, nullo.

E chi t'ha detto sia questo il caso? Una "tecnologia sofisticatissima", secondo te, lascia i pull-up abilitati?

Altra cazzata che dimostra che non hai idea di cosa stai blaterando.

Infatti non è pleonastico: è errato. Su controller decenti, tipo gli AVR, leggi *sempre* il pin.

Tu conosci, male, un controller e vuoi pontificare su tutti gli altri. Chètati.

Ricapitolando: raccomandi di disabilitare i pull-up per non consumare, quando, se ci sono, sono la soluzione migliore.

Confondi funzioni di libreria con direttive al compilatore

Inanelli una serie impressionante di castronerie, non ne hai imbroccata mezza eppure continui a rispondere. Evvabbé, contento te...

Reply to
F. Bertolazzi

Ciao, il datasheet non lo riporta esplicitamente, ma tutto lascia pensare che i TMS320F28xx abbiano i pullup inseribili anche quando il pin è configurato come output. Però ho storto il naso anch'io quando l'ho visto.

Saluti, Alessandro.

Reply to
AlessandroDallai

AlessandroDallai ha scritto:

=BD

ho

Non mi sembra del tutto inutile. Puo' servire quando l'output e' in tri-state, o quando si emula un'uscita open collector.

Reply to
Dimonio Caron

Dimonio Caron:

Come fai a mettere i pin in tri-state (che è poi la cosa che si fa per simulare un open collector)?

Li metti in input, no?

Evidentemente le farneticazioni di ice sono infettive.

Reply to
F. Bertolazzi

F. Bertolazzi ha scritto:

In generale, mettere un pin in tri-state e metterlo in input non sono la stessa cosa. Chiedo scusa se erroneamente ho replicato ad un post in cui si faceva riferimento al TMS320F28xx. Non conoscendolo, do per scontato che tu abbia ragione.

Mah... forse e' colpa del caldo...

Reply to
Dimonio Caron

Il 26/06/2010 17.41, AlessandroDallai ha scritto:

ho letto, e ho storto il naso anch' io, quando ho visto che hai ragione.

--=20 saluti lowcost

Reply to
lowcost

Secondo me hai dedotto bene!

Eventuali corti circuiti presenti possono essere:

- PERSISTENTI: dovuti a difettosità del processo di assemblaggio elettronico (errori nel posizionamento del componente, saldatura non corretta, ecc.). Sarà poi cura del progettista e di chi si occupa del manufacturing, risalire alle cause che hanno condotto al fault del processo di assemblaggio, le quali potrebbero essere molteplici.

- NON PERSISTENTI: ad esempio, accidentalmente una net del circuito può entrare in contatto con un'altra, ad esempio per colpa della mano non ferma di chi stava tenendo la sonda dell'oscilloscopio durante una sessione di HW/FW debug! O in seguito alla dilatazioni meccaniche di una parte di circuito che si é surriscaldata per qualche motivo, ecc.

In ogni caso si tratta di anomalie che per definizione non devono essere presenti nel prodotto che ha superato la fase di test (che quindi deve essere immesso su un ipotetico mercato).

Mettere i digital I/O del uC come output, magari "bassi", vuole anche dire migliorare l'immunità/suscettività ai disturbi del uC stesso (vedi EMI compliance test e normative varie), in quanto é molto più probabile che un disturbo con determinate caratteristiche (e magari contemplato dai test che per taluni prodotti sono mandatori) venga veicolato verso il potenziale di riferimento GND che non nelle regioni interne del chip, preservandone l'integrità funzionale. Sarà poi cura del designer creare, qualora possibile, opportuni percorsi di equipotenziali (schermi) su cui convogliare talii segnali disturbanti per condurli verso terra (se la connessione di sicurezza é prevista per la tipologia di apparrato).

Riassumendo: NC --> Output = 0

Spero di essere stato di aiuto, Ciao

--- news://freenews.netfront.net/ - complaints: snipped-for-privacy@netfront.net ---

Reply to
R&D

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.