¿Qué hacer con las entradas analógicas no utilizadas?

Estoy trabajando en una aplicación que usa el microcontrolador ATmega328p atmel. Empecé con la versión 28 PDIP, pero ahora quiero usar la 32 TQFP, que noté que tiene 2 entradas adicionales después de compilar mi proyecto Altium.

Estas entradas son ADC7:6 que "sirven como entradas analógicas para el convertidor A/D. Estos pines se alimentan del suministro analógico y sirven como canales ADC de 10 bits", según la hoja de datos.

He leído en línea que algunas personas obtienen resultados desconocidos cuando usan el ADC y tienen entradas flotantes. Lo que leo que han hecho es activar resistencias pull-down, pero no veo como configurarlas (ya que no pertenecen a un puerto I/O). Además, mi aplicación ni siquiera usa el convertidor A/D.

¿Cuáles son las mejores prácticas? ¿Debo conectar una resistencia desplegable externa? ¿Ignorar el error de Altium?

Respuestas (2)

ADC6 y ADC7 son un caso especial. No tienen ningún búfer de entrada o salida digital conectado a ellos, por lo que no crearán ruido ni consumirán un exceso de corriente como lo harían los otros pines del chip si no se manejan adecuadamente. En otras palabras, puede dejarlos flotando y no deberían afectar anormalmente su diseño.

Tampoco tienen pull ups o pull downs internos, por lo que si planea atarlos hacia arriba o hacia abajo, tendrá que hacerlo externamente.

Sin embargo, dado que nunca pueden ser salidas, no hay seguridad o protección adicional en el uso de una resistencia en lugar de conectarlos directamente a VCC o GND. Si aún le preocupan las entradas analógicas flotantes, simplemente puede vincular ADC7 al pin GND adyacente y ADC6 a AVCC (o AREF, si lo prefiere).

El capacitor de muestra y retención es pequeño, por lo que si decide seguir la recomendación de purga , puede usar ADC7 para muestrear: el capacitor se drenará muy rápidamente a tierra y obtendrá los beneficios descritos.

Me preocupaba que tuvieran alguna otra funcionalidad como el resto de pines de E/S, pero tienes razón, como no la tienen, debería tomar la opción de dejarlos flotantes. Y también, porque estoy diseñando la versión final de la aplicación y sé que nunca se usará el ADC.
¿Dónde encontraste que ADC6 y 7 son "especiales"? No puedo verificar a partir de la hoja de datos que esas entradas sean diferentes de las demás.
@Rev1.0 Hay muchos lugares en la hoja de datos que muestran esto. Probablemente la más obvia es la última oración en 24.9.5: "Tenga en cuenta que los pines ADC ADC7 y ADC6 no tienen búfer de entrada digital y, por lo tanto, no requieren bits de desactivación de entrada digital". También tenga en cuenta el diagrama de bloques en 2.1el que se muestra ADC[6..7] yendo directamente al ADC, mientras que los otros 6 puertos ADC se comparten con PORTC, y los Fig 1-1pinouts que se muestran en ADC6 y ADC7 no tienen funciones compartidas.
Oh, mi culpa, estaba mirando la hoja de datos 324/644. Este es el primer controlador Atmel donde veo esta "especialidad".

Una resistencia desplegable es buena, sí. No solo estabiliza las entradas y evita cualquier exceso de consumo de corriente, sino que tiene el beneficio oculto de que puede utilizarlas como un dispositivo de purga de condensadores de muestreo y retención. Si lee un valor analógico de una de estas entradas adicionales entre lecturas de sus otras entradas, puede hacer que sus lecturas sean un poco más estables, ya que el capacitor de muestreo y retención siempre comenzará desde el mismo nivel.

Cuanto menor sea la resistencia, más rápido se descargará el condensador, pero mayor será la corriente de salida. Algo alrededor de 470Ω es bueno. También protege contra el pin que alguna vez se configura como una salida y se eleva.

Espere, así que si hago 1) Leer el valor analógico real 2) Leer el valor analógico desplegable, ¿mi valor analógico real será menos ruidoso o algo así?
Estará menos influenciado por las lecturas de otros canales. Leer canal 1, leer canal de repuesto, leer canal 2, leer canal de repuesto, etc.
Whoaa, eso es tan dulce!
Ejemplo extremo con entradas flotantes: forum.arduino.cc/index.php?topic=182446.0
Ya veo, aunque no estoy familiarizado con la muestra y la tapa de retención, tiene sentido descargarla por completo y comenzar a tomar muestras cada vez desde el mismo punto de referencia. Gran idea.
Normalmente usaría un valor superior a 470 ohmios. Si el pin se configura como una salida, consumiría 10 mA. Mi valor predeterminado para estas cosas es 10k, lo mismo que un pull-up para una señal digital típica (si no necesito que sea súper rápido). Me gusta la idea de medir cero para minimizar los errores relacionados con la histéresis; no estoy seguro de cuán real es esa preocupación (depende del tipo de capacitor: con solo 10 bits de precisión, es poco probable que sea un problema, pero use un capacitor de poliestireno para ser seguro, no una cerámica Ver, por ejemplo, analog.com/library/analogdialogue/anniversary/21.html .