Considerazioni sull'uso di resistori pull-up / down interni


11

Sto lavorando con i microcontroller STM32. Questi micro-controller hanno la possibilità di impostare il pin di input come pull up o pull down:

inserisci qui la descrizione dell'immagine

In precedenza fornivo resistenza di pull up o pull down esterna dove richiesto, ma ora mi chiedo se posso eliminare i componenti esterni e utilizzare la funzione pull down del microcontrollore stesso.

Sarà una buona cosa da fare?

Esiste un caso d'uso in cui dovrei prendere precauzioni extra o non utilizzare affatto questa funzione?


2
Uso il pu / pd interno ogni volta che posso e non ho avuto problemi sofar. Quindi, a meno che tu non abbia un motivo valido per non usare il pull-in incorporato su / giù, puoi semplicemente usarli. Un motivo per non fare affidamento sul pu / pd interno potrebbe essere che l'ingresso ha un filo lungo collegato ad esso che potrebbe accoppiarsi ad altre linee causando comportamenti imprevisti. Il pu / pd interno è abbastanza debole (per risparmiare corrente) ed è più facilmente disturbato rispetto ad esempio a un resistore da 10 kohm.
Bimpelrekkie,

22
Una piccola nota: potrebbe non funzionare come un pullup mentre il microcontrollore si sta ripristinando. Quindi, se c'è un circuito esterno a seconda che venga rimosso continuamente, potresti avere un problema all'avvio. Se viene appena letto dal micro, questo non è un problema.
pjc50,

1
@ pjc50 avresti dovuto postarlo come risposta, non ho notato il tuo commento fino a quando non ho pubblicato la mia risposta.
Jason S,

1
Se non puoi fidarti del resistore pull up in un microcontrollore, non puoi fidarti di nulla in quel controller. Quello che vuoi sapere è se è utile, però
Passerby,

1
@Whiskeyjack: dovresti considerare di cambiare il titolo delle domande. Forse "Considerazioni sull'uso di resistori pull-up / down interni" o qualcosa del genere.
Rev1.0

Risposte:


15

Sì ... Puoi ... È una funzionalità comprovata. Se vedi la struttura dei pin nel manuale di riferimento STM32, puoi vedere che ha richiesto componenti -

STM32 Struttura dei pin

Se questo soddisfa i tuoi requisiti, puoi eliminare i componenti esterni.

Modifica Ricorda che all'accensione i Pin verranno tristati. Se non ostacola l'applicazione, va bene! Ecco perché è buona norma iniziare prima la sezione IO e poi procedere con le altre periferiche.


1
Giusto, ma ancora durante il reset viene tristato giusto?
seetharaman,

1
Ho risposto alla domanda "Devo fidarmi della funzionalità pull down del microcontrollore?" e ora la domanda stessa è cambiata: - / E con una nuova domanda, la risposta di Bence Kaulics è più accurata!
Swanand,

Domanda: l'utilizzo di un gruppo di resistori pullup / down interni farà riscaldare il chip?
Caleb Reister,

16

In generale, è perfettamente corretto utilizzare le resistenze pull-up o pull-down interne.

Lo svantaggio è che puoi dimenticare di abilitarlo dal software, che può causare un po 'di mal di testa. I pull-up esterni saranno sempre lì. Quindi non dimenticare di abilitare quelli interni e salvare molta area PCB riducendo il numero dei componenti.

Le resistenze pull-up e pull-down interne dell'STM32 di solito hanno un valore compreso tra e . 50 k Ω30 kΩ50 kΩ

inserisci qui la descrizione dell'immagine

Prima di utilizzare i resistori interni, è necessario verificare sempre se l'applicazione richiede un determinato valore di resistenza pull-up o pull-down. Ad esempio , non usarli con I 2 C , poiché questi valori saranno troppo alti per quello.


12

A meno che le resistenze pullup e pulldown non siano attive durante il ripristino (sospetto che non lo siano, ma non ho familiarità con i dispositivi STM32), al ripristino esiste uno stato pin non definito. Questo è uno dei motivi principali per usare resistori pull-up o pull-down esterni.


10

Come altri hanno già detto, i pull-up e i pull-down interni vanno bene purché:

  • ti ricordi di configurarli,
  • sono abbastanza forti,
  • non finisci per combatterli con un tiro esterno, e
  • la tensione all'avvio e al ripristino non è importante.

All'ultimo punto, ricorda che gli ingressi CMOS a livello di media tensione possono causare una significativa corrente di sparo sulla loro coppia di ingressi. Ciò può causare un problema in un sistema a bassa potenza durante l'avvio.

In generale, i resistori di tiro esterni genereranno un design più conservativo.


1
Per quanto riguarda le correnti di sparo, potrebbe essere utile mettere le cose in prospettiva osservando che per la maggior parte dei microcontrollori i livelli sono generalmente molto al di sotto di qualsiasi cosa possa causare danni a un dispositivo, ma possono essere ordini di grandezza al di sopra dei migliori dispositivi - caso correnti di sonno. In alcuni casi, tali correnti non contano; in altri sono un assassino assoluto.
supercat

1
+1 per "la tensione all'avvio e al ripristino non è importante". Devi garantire che il resto del tuo circuito sia in uno stato sicuro e tranquillo mentre il micro si sta avviando. Questo è più difficile di quanto sembri, se si considera che un reset o un rapido ciclo di accensione possono lasciare il resto del circuito in uno stato indeterminato o lasciarlo acceso e in esecuzione senza che il micro lo tenga d'occhio.
Graham,

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.