Mi pregunta es para los microcontroladores en general. ¿Se puede implementar SPI con 3 pines de E/S diferentes concedidos, uno es una señal de reloj? ¿Hay algo especial con ciertos pines que una hoja de datos especifica como entrada maestra, salida esclava o selección esclava? Cualquier cosa especial que se refiera a algo único sobre el hardware en ese pin en lugar de un pin de E/S general.
Algunas de las otras respuestas han sugerido el uso de golpes de bits para resolver el problema de asignar un periférico SPI a cualquier pin arbitrario. El problema con esto es la velocidad; algunos periféricos SPI pueden funcionar con una velocidad de reloj de 40 MHz o superior, y no hay forma de hacer bits con el firmware a esa velocidad.
Una alternativa es utilizar una arquitectura de hardware que proporcione pines periféricos para ser asignados a cualquier pin arbitrario. Uno de esos microcontroladores que hace esto es la familia 8051 de Silicon Labs. Utiliza un interruptor de barra transversal de E/S para permitir que los periféricos se asignen a casi cualquier pin de puerto, como se muestra a continuación:
Entonces, por ejemplo, SCK puede asignarse a cualquier pin de P0-0 a P3-0, MISO de P0-1 a P3-1 y así sucesivamente.
La familia PIC24F de Microchip también permite asignar casi cualquier periférico a cualquier número de pines de E/S en el microcontrolador, utilizando una función llamada Selección de pines periféricos. Está disponible para periféricos como UART y módulos SPI, pero no para aquellos que requieren hardware especial como I2C y USB.
La siguiente imagen muestra un diagrama de bloques del circuito de un pin de E/S típico, con un multiplexor en la parte superior para seleccionar la salida de uno de varios periféricos al pin de salida, y en la parte inferior, otro multiplexor que selecciona una de varias entradas. pines a la entrada de un periférico.
La serie PIC24F de 16 bits puede tener hasta cuatro puertos SPI, con cualquiera asignado a los 39 pines reasignables en un microcontrolador de 100 pines.
Sí, puedes morderlo . Por lo general, no será tan rápido como si hubiera un hardware dedicado.
No olvide la selección de chip (así que cuatro pines para comunicación bidireccional). Por lo general, necesita una selección de chip para que funcione correctamente.
No. Todas las salidas son salidas push-pull normales y todas las entradas son entradas flotantes normales. Aporrear.
mate joven
turbo j