¿Qué es una función de pin alternativa en un microcontrolador?

15

Me gustaría saber a qué se refiere la "Función alternativa" en el contexto de los puertos IO de un microcontrolador.

No necesito saber cómo activarlo cuando me conecto a un periférico, pero me gustaría saber qué es exactamente y por qué lo necesitaríamos.

usuario929404
fuente

Respuestas:

18

Muchos pines de su microcontrolador tienen diferentes funciones. La función 'normal' se referiría a GPIO, Entrada / Salida de propósito general . En ese caso, puede usar estos pines directamente escribiendo y leyendo desde los registros relevantes.

Las funciones 'alternativas' se referirían a otras funciones, que pueden incluir I 2 C, SPI, USART, CCP, PWM, Clock, ADC, etc. La forma en que controla los pines cuando está en una función alternativa depende del periférico, pero generalmente se reduce a escribir y leer desde registros de funciones especiales (SFR); el periférico se encarga del resto.

La función que es estándar después de un RESET depende ( no siempre es GPIO), y puede encontrarla en la hoja de datos correspondiente. La mayoría de las veces, puede seleccionar la función que desea usar sobre la marcha, para que pueda cambiar entre periféricos.

Al usar un pin para varios periféricos, puede hacer microcontroladores con muchas funciones. Sin embargo, debido a que la mayoría de las veces quiere ese periférico en ese pin todo el tiempo (y no quiere cambiar las funciones sobre la marcha), no puede usar todos los periféricos en un programa, o al menos no al mismo tiempo hora. Por otro lado, eso no es realmente necesario de todos modos.


Como señala Connor , la 'función alternativa' también puede referirse a otra cosa, en un contexto ligeramente diferente: aquí no se trata de qué función pones en un pin, sino de qué pin usas para una función. Esto se llama Peripheral Pin Select, y básicamente significa que puede seleccionar qué pin está usando su periférico. Podría, por ejemplo, hacer RS232 sobre RA1 y RA2 o sobre RB1 y RB2.

Ver la respuesta de Connor para una descripción más detallada (y votarlo por esto).

Comunidad
fuente
5

Además de la respuesta @CamilStaps, hay otro contexto en el que "función de pin alternativa" es un término de uso común.

Algunos microcontroladores tienen la opción de cambiar sus periféricos internos entre varios conjuntos de líneas IO. De esta manera, puede evitar problemas si desea utilizar módulos internos (SPI, I2C, etc.) que tienen sus funciones asignadas al mismo conjunto de pines.

Generalmente hay un registro de control que determina a qué conjunto de pines se asignan los diversos periféricos.


Sé que he trabajado con un microcontrolador que tenía esta instalación, pero me condenarán si puedo recordar el número de pieza específico.

Editar: Lo encontré: está disponible en muchas de las partes PIC24 y dsPIC: ingrese la descripción de la imagen aquí

Lo llaman "Peripheral Pin Select", pero es básicamente un mecanismo para configurar las funciones alternativas del pin.

Connor Wolf
fuente