Cosa fare con gli ingressi analogici inutilizzati?


10

Sto lavorando su un'applicazione che utilizza il microcontrollore atmel ATmega328p. Ho iniziato con la versione 28 PDIP, ma ora voglio usare il 32 TQFP, che ho notato ha 2 input extra dopo aver compilato il mio progetto Altium.

Questi ingressi sono ADC7: 6 che "fungono da ingressi analogici al convertitore A / D. Questi pin sono alimentati dall'alimentazione analogica e fungono da canali ADC a 10 bit", secondo la scheda tecnica.

Ho letto online che alcune persone hanno ottenuto risultati sconosciuti quando usano l'ADC e hanno input mobili. Quello che ho letto che hanno fatto è attivare i resistori pull-down, ma non vedo come configurarli (poiché non appartengono a una porta I / O). Inoltre, la mia applicazione non utilizza nemmeno il convertitore A / D.

Quali sono le migliori pratiche? Devo collegare una resistenza di pull-down esterna? Ignora errore Altium?

Risposte:


8

ADC6 e ADC7 sono un caso speciale. Non hanno alcun buffer di input o output digitale collegato a loro, quindi non creeranno rumore né assorbiranno corrente in eccesso come gli altri pin sul chip potrebbero non essere distribuiti in modo appropriato. In altre parole, puoi lasciarli fluttuanti e non dovrebbero influenzare in modo anomalo il tuo design.

Inoltre non hanno alcun pull up o pull down interno, quindi se hai intenzione di legarli su o giù, dovrai farlo esternamente.

Dal momento che non possono mai essere uscite, tuttavia, non vi è ulteriore sicurezza o protezione nell'uso di un resister rispetto al collegamento diretto a VCC o GND. Se sei ancora preoccupato per gli ingressi analogici flottanti, puoi semplicemente collegare ADC7 al pin GND adiacente ad esso e ADC6 a AVCC (o AREF se preferisci).

Il condensatore di campionamento e mantenimento è minuscolo, quindi se decidi di seguire la raccomandazione di spurgo , puoi utilizzare ADC7 per campionare: il condensatore si scaricherà molto rapidamente a terra e otterrai i vantaggi descritti.


Ero preoccupato che avessero altre funzionalità come il resto dei pin I / O, ma hai ragione, dato che non lo sono, dovrei scegliere di lasciarli fluttuanti. Inoltre, poiché sto progettando la versione finale dell'applicazione e so che l'ADC non verrà mai utilizzato.
esal26,

Dove hai scoperto che ADC6 e 7 sono "speciali"? Non riesco a verificare dalla scheda tecnica che tali input siano diversi dagli altri.
Rev.1.0

@ Rev1.0 Ci sono molti punti nel foglio dati che mostrano questo. Probabilmente la più ovvia è l'ultima frase in 24.9.5: "Notare che i pin ADC ADC7 e ADC6 non hanno buffer di ingresso digitale e quindi non richiedono bit di disabilitazione dell'ingresso digitale". Nota anche lo schema a blocchi in 2.1cui mostra ADC [6..7] che va direttamente all'ADC, mentre le altre 6 porte ADC sono condivise con PORTC e i pinout in Fig 1-1show ADC6 e ADC7 non hanno funzioni condivise.
Adam Davis,

Oh, colpa mia, stavo guardando il foglio dati 324/644. Questo è il primo controller Atmel in cui vedo questa "specialità".
Rev.1.0

12

Un resistore pull-down è buono, sì. Non solo stabilizza gli ingressi e previene l'assorbimento di corrente in eccesso, ma ha il vantaggio nascosto di poterli utilizzare come dispositivo di spurgo del condensatore Sample and Hold. Se leggi un valore analogico da uno di questi ingressi extra tra le letture degli altri tuoi ingressi, puoi rendere le tue letture un po 'più stabili poiché il condensatore di campionamento e mantenimento inizierà sempre dallo stesso livello.

Più piccolo è il resistore, più veloce si scarica il condensatore, ma maggiore è la corrente di picco. Qualcosa intorno a 470Ω è buono. Protegge anche dal pin mai configurato come output e guidato in alto.


1
Aspetta così se lo faccio 1) Leggi l'effettivo valore analogico 2) Leggi l'analogo abbattuto, il mio valore analogico effettivo sarà meno rumoroso o qualcosa del genere?
Funkyguy,

1
Sarà meno influenzato dalle letture di altri canali. Leggi il canale 1, leggi il canale di riserva, leggi il canale 2, leggi il canale di riserva, ecc.
Majenko,

Whoaa, è così dolce!
Funkyguy,

3
Esempio estremo con input flottanti: forum.arduino.cc/index.php?topic=182446.0
Majenko

Vedo, anche se non ho familiarità con il campione e hold cap, ha senso scaricarlo completamente e iniziare a campionare ogni volta dallo stesso punto di riferimento. Grande idea.
Sherrellbc,
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.