¿Cómo se diseña un pin para que sea analógico o digital en una placa Arduino/Raspberry Pi?

¿Cómo se diseña un pin para que sea analógico o digital en una placa Arduino/Raspberry Pi? No me refiero a cuál es la diferencia entre analógico o digital, o qué funciones necesito usar para escribir una señal analógica/digital. Quiero decir, en una de estas placas, ciertos pines se denominan pines "analógicos" y, a diferencia de los pines digitales, los pines analógicos pueden detectar más valores que solo "ENCENDIDO" y "APAGADO". ¿Cómo se implementa esta función en la placa de circuito (es decir, el hardware)? ¿Tiene algo que ver el chip de la placa? ¿Dónde puedo aprender más sobre esto?

Respuestas (1)

Esos pines analógicos tienen un ADC incrustado en ellos. Generalmente, un solo pin está conectado a muchos periféricos , el periférico GPIO (entrada y salida de propósito general) es responsable de dar una salida digital o lectura digital. La mayoría de los pines tienen GPIO MUXED. Otro ejemplo de periféricos son PWM, CAP, etc. Para lectura analógica, tenemos periféricos ADC. La cantidad de periféricos ADC es limitada, pero un solo ADC tiene múltiples canales, lo que significa que el ADC solo puede convertir un canal a la vez.

Puede conocerlos en sus respectivas Hojas de Datos y Referencias Técnicas.

Para aclarar, no está realmente incrustado en el pin, aunque el pad real es probablemente uno que admita la conducción GPIO y el paso analógico. El ADC es un bloque analógico separado en el dado dentro del paquete. Luego hay un enrutamiento interno que mezcla diferentes características, digamos un gpio o ADC a ese pin de salida. Lo mismo sucede cuando, por ejemplo, un pin está conectado a alguna otra función de hardware interno.