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

12

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 necesitamos.

    
pregunta user929404

2 respuestas

15

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

Las funciones 'Alternativas' se referirán a otras funciones, que pueden incluir I 2 C, SPI, USART, CCP, PWM, Reloj, ADC, etc. ¿Cómo 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 (¡es no siempre GPIO!), y puede encontrarlo en la hoja de datos correspondiente. La mayoría de las veces, puede seleccionar la función que desea utilizar sobre la marcha, para que pueda alternar entre los periféricos.

Al usar un pin para varios periféricos, puedes hacer microcontroladores con muchas características. Sin embargo, dado que la mayoría de las veces desea que ese periférico esté en ese pin todo el tiempo (y no desea 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 todas formas.

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

Vea la respuesta de Connor para una descripción más detallada (y hágale votos para esto).

    
respondido por el Keelan
5

Además de la respuesta de @CamilStaps, hay otro contexto donde "función pin alterna" es un término comúnmente usado.

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 tengan sus funciones asignadas al mismo conjunto de pines.

En general, hay un control-registro que determina a qué conjunto de pines se asignan los distintos 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: Encontrado: está disponible en muchas de las partes PIC24 y dsPIC:

Lollaman"Selección de pin periférico", pero es básicamente un mecanismo para configurar las funciones de pin alternativo.

    
respondido por el Connor Wolf

Lea otras preguntas en las etiquetas