¿Qué es una conexión eléctrica spi?

Una "Interfaz periférica serie" es una línea serie síncrona de cuatro cables que se utiliza para conectar un microcontrolador a sensores, memoria y periféricos. Las tres líneas de señal contienen la señal de reloj (SCLK, generalmente alrededor de 10 MHz) y la línea de datos paralela contiene la señal "Master Out, Slave In (MOSI)" o "Master In, Slave Out (MISO)". Hay cuatro modos de reloj para el intercambio de datos, los más utilizados son el modo 0 y el modo 3. Los datos entran y salen en cada ciclo de reloj. Si no hay transferencia de datos, el reloj no realizará ciclos.

El maestro SPI utiliza la línea "selección de chip" para habilitar dispositivos esclavos SPI específicos, por lo que estas tres líneas de señal se pueden conectar a múltiples chips en paralelo. Todos los dispositivos esclavos SPI admiten selección de chip. Algunos dispositivos también tienen otras señales, que generalmente incluyen una señal de interrupción del dispositivo maestro.

A diferencia de las líneas seriales como USB y SMBUS, incluso el protocolo subyacente de las funciones del dispositivo esclavo SPI no es universal entre los fabricantes (a excepción de los chips de memoria SPI, etc.).

--SPI se puede utilizar como protocolo de dispositivo de solicitud/respuesta, como sensores de pantalla táctil y chips de memoria.

----También se puede utilizar para transmitir datos en ambas direcciones (half-duplex) o en ambas direcciones simultáneamente (full-duplex).

--- Algunos dispositivos pueden utilizar bytes de 8 bits. Otros dispositivos pueden utilizar diferentes longitudes de bytes, como 12 o 20 bits para muestras digitales.

Además, los dispositivos esclavos SPI básicamente no admiten ningún protocolo de enumeración/descubrimiento automático. Un dispositivo maestro SPI determinado puede obtener un árbol de dispositivos esclavos, que generalmente se construye manualmente a partir de una tabla de distribución.

SPI es solo un nombre para un protocolo de cuatro cables, y la mayoría de los controladores pueden manejar fácilmente "Microwire" (considérelo como SPI semidúplex como protocolo de solicitud/respuesta), SSP (Protocolo serie síncrono ), PSP (Protocolo serie programable) y otros protocolos relacionados.

Los microcontroladores suelen soportar tanto maestros como esclavos del protocolo SPI. Actualmente, este documento (Linux) solo admite maestros para la interacción SPI.

¿Quién lo utiliza? ¿En qué sistemas?

Los desarrolladores de Linux que utilizan SPI pueden escribir controladores de dispositivos para placas de sistema integradas. SPI se utiliza para controlar chips externos, también es un protocolo que puede controlar tarjetas de memoria MMC o SD (las tarjetas DataFlash más antiguas son las predecesoras de MMC, usan el mismo conector y factor de forma de tarjeta y solo admiten SPI). El código BIOS para algunos hardware de PC utiliza flash SPI.

Los dispositivos esclavos SPI incluyen convertidores digitales/analógicos para sensores analógicos, códecs, periféricos de controlador USB, adaptadores Ethernet, etc.

La mayoría de los sistemas utilizan SPI para conectar varios dispositivos en una única placa base. Algunos sistemas proporcionan conectividad SPI en un conector de expansión. Por ejemplo, los pines GPIO se pueden utilizar para generar adaptadores de "vibración de bits" de baja velocidad en ausencia de un controlador SPI específico. Muy pocos sistemas pueden intercambiar controladores SPI en caliente. Las principales razones para utilizar SPI son el bajo costo y la simplicidad de operación. Si la configuración dinámica es importante, USB es un bus periférico con bajo número de pines más adecuado.

Muchos microcontroladores son capaces de integrar una o más interfaces de E/S para ejecutar Linux en modo SPI y, debido a que admiten SPI, se pueden utilizar tarjetas MMC o SD sin necesidad de una tarjeta MMC/SD/ Controlador SDIO.

¿Cómo funcionan estas interfaces de programación de controladores?

El archivo de encabezado incluye la documentación del kernel y el código fuente principal y debe leerse. Esta es sólo una descripción general, por lo que es importante tener una impresión general antes de entrar en detalles.

SPI normalmente requiere acceso a colas de E/S. Un dispositivo SPI determinado debe ejecutarse en orden FIFO y luego completarse de forma asincrónica mediante una devolución de llamada de finalización. También existen algunas operaciones sincrónicas simples para completar estas llamadas, como el tipo común de procesamiento que implica escribir un comando y luego leer una respuesta.

Existen dos tipos de controladores SPI:

Controladores de controlador: suelen estar integrados en el procesador del sistema en chip y suelen admitir dispositivos tanto maestros como esclavos.

Controladores de Protocolo: Pasan información entre dispositivos maestro y esclavo a través del controlador del controlador en la conexión SPI.

Por ejemplo, el controlador de protocolo puede indicarle a la capa MTD que envíe datos a un sistema de archivos almacenado en una memoria flash SPI (como DataFlash). Otros controladores pueden controlar interfaces de audio, proporcionar sensores de pantalla táctil como interfaces de entrada o monitorear niveles de temperatura y voltaje en procesos industriales. También se pueden conducir utilizando el mismo controlador.

y>