Leyendo el manual STM32F051, parece que es posible configurar la misma función alternativa en dos pines; por ejemplo, podría tener múltiples pines USART1_TX al mismo tiempo. O, por ejemplo, el caso más problemático de dos pines USART_RX. El manual no dice nada sobre este caso. ¿Es esto legal / seguro? ¿Esto es útil?
10
Respuestas:
En los procesadores que usan registros por pin para seleccionar funciones de E / S, generalmente es posible enrutar una función de salida a múltiples pines sin conflicto; Todos los pines harán eco en 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 los pines de E / S 3 y 4 conectados a un UART, podría comportarse como si el UART estuviera conectado a una puerta "Y" que tomaba los pines 3 y 4 como entradas, o podría comportarse como si estuviera conectado a un pin e ignorar el otro, o podría conectar ambos pines al búfer de entrada del UART a través de transistores que tenían una cantidad moderada de resistencia, o podría extraer corriente adicional cuando el pin 3 es alto y 4 es bajo o viceversa, o podría hacer casi cualquier otra cosa imaginable. Yo no'
Un enfoque de diseño algo más agradable, utilizado en algunas partes de Microchip (quizás también 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 que el pin incluya un multiplexor para indicar el I / O función desde la que debe generar datos. Tal diseño hace posible que un pin alimente múltiples funciones de E / S, al mismo tiempo que elimina cualquier ambigüedad planteada por configuraciones en conflicto.
fuente
Sí, es útil. Resultado del experimento en STM32F407VGT6: Ambos pines AF se pueden usar como AF simultáneamente, al menos si se usan estos pines como entradas AF. El experimento fue activar TIM1 en el borde ascendente del activador externo - señal "TIM1_ETR". La señal "TIM1_ETR" se puede asignar a los pines PE7 y / o PA12 del paquete MCU.
El experimento: Inicialice ambos pines PE7 y PA12 como AF "TIM1_ETR" para TIM1:
El resultado: TIM1 se inicia con un flanco ascendente en cualquiera de los pines PE7 o PA12.
Esto revela el camino a los pines AF MUX (cambio) en tiempo de ejecución:
Esto puede ser útil, entonces se necesitan dos fuentes diferentes para la activación del temporizador, esto puede salvarnos fuera de MUX IC :). Ambas entradas se pueden usar simultáneamente, si se inicializan como se muestra al comienzo de la publicación. Las entradas no están conectadas entre sí, es decir, la señal en PA12 no se transfiere a PE7 y viceversa (porque los GPIO se configuran como entradas).
El código es generado por "STM32CubeF4 v5.3" + "Paquete de firmware V1.24.0 / 08-febrero-2019".
fuente
Básicamente, los pines son GPIO que se pueden asignar a funciones alternativas, por ejemplo, UART_RX. Cada función alternativa tiene su pin predeterminado y pines alternativos a los que se puede reasignar la función. Si consulta el manual de referencia del STM32F103 en la sección 9.1.5, dicen:
fuente