¿Qué sucede en el STM32 cuando dos pines están configurados para tener la misma función alternativa?

10

Leyendo el manual STM32F051, parece que es posible configurar la misma función alternativa en dos pines; por ejemplo, podría tener varios pines USART1_TX al mismo tiempo. O por ejemplo, el caso más problemático de dos pines USART_RX. El manual guarda silencio sobre este caso. ¿Es esto legal / seguro? ¿Esto es útil?

    
pregunta joeforker

2 respuestas

4

En los procesadores que utilizan registros por pin para seleccionar funciones de E / S, generalmente es posible enrutar una función de salida a varios pines sin conflicto; Todos los pines harán eco de la misma salida. El efecto de tener múltiples pines conectados a una entrada a menudo no se especifica; si por ejemplo un UART tenía pines de E / S 3 y 4 conectados a un UART, podría comportarse como si el UART estuviera conectado a una puerta "AND" que tomaba los pines 3 y 4 como entradas, o podría comportarse como si estuviera conectado a uno conecte e ignore al otro, o podría conectar ambos a la memoria intermedia de entrada del UART a través de transistores que tenían una resistencia moderada, o podría generar una corriente adicional cuando el pin 3 sea alto y 4 sea bajo o viceversa, o podría hacerlo Casi cualquier otra cosa imaginable. No recuerdo haber visto ninguna garantía particular de que cualquiera de los chips de la familia STM32 que miré favorecería cualquier enfoque particular sobre cualquier otro.

Un enfoque de diseño algo más agradable, que se utiliza en algunas partes de Microchip (quizás también en algunas partes de STM) es hacer que cada función de E / S incluya un multiplexor para seleccionar de qué pin debe aceptar la entrada, y hacer que el pin incluya un multiplexor Indica la función de E / S desde la que debe generar datos. Tal diseño hace posible que un pin alimente múltiples funciones de E / S, mientras elimina simultáneamente cualquier ambigüedad planteada por configuraciones en conflicto.

    
respondido por el supercat
2

Básicamente, los pines son GPIO que pueden asignarse a funciones alternativas, por ejemplo. UART_RX. Cada función alternativa tiene su pin predeterminado y los pines alternativos a los que se puede volver a asignar la función. Si consulta el manual de referencia del STM32F103 en la sección 9.1. 5, dicen:

  

Para optimizar el número de funciones de E / S periféricas para diferentes paquetes de dispositivos, es   Es posible reasignar algunas funciones alternativas a algunos otros pines. Esto se logra por   software, mediante la programación de los registros correspondientes (consulte los registros de AFIO en la página 177).   En ese caso, las funciones alternativas ya no se asignan a sus asignaciones originales .

    
respondido por el Manu3l0us

Lea otras preguntas en las etiquetas