Tutorial Spinterface.

el bus de interfaz SPI(Serial Peripheral Interface)es un protocolo de comunicaciones serie de 3 hilos de alta velocidad (4 si incluye SSn, consulte a continuación). Su propósito principal es reducir el enrutamiento de cables en PCB reemplazando el bus paralelo tradicional con una interfaz serie. (Solo puede administrar un bus de 8 bits enrutándolo a través de una PCB de varias capas, pero cuando llega a 16, 32 bits y más, se vuelve mucho más difícil).,

Las conexiones son:

  • MOSI (Master Out Slave In) .
  • MISO (Master in Slave Out).
  • SCK (reloj esclavo).
  • SS_n (Slave Select).

– denota Nomenclatura PIC

Nota: La última señal SS o slave select está separada del Protocolo y generalmente se implementa como un pin de control habilitante del microcontrolador. Se incluye aquí para completar.

la interfaz SPI PIC permite la conexión de periféricos utilizando una interfaz serie de alta velocidad. SPI FlashMemory y SPI SRAM se pueden agregar fácilmente a cualquier sistema., Otros tipos de dispositivos incluyen:

  • ADC.
  • DAC.
  • Flash.
  • EEPROM.
  • Accellerometers.
  • LCDs.
  • Temperatura & sensores de Humedad.
  • …y muchos más.

solo otra competencia real es el bus I2C, por lo que a menudo ves estas interfaces disponibles tanto en procesadores como en microcontroladores.

La interfaz SPI fue diseñada en la década de 1970 por Motorola, que la usó en su procesador 68000, y fue rápidamente adoptada por muchos otros fabricantes como un estándar de facto.,

está destinado a la transmisión de datos desde un dispositivo maestro a uno o más dispositivos esclavos en distancias cortas y a altas velocidades (MHz).

cómo funciona

funciona transfiriendo datos un bit a la vez entre dos dispositivos con el dispositivo maestro enviando la señal de reloj (SCK). El reloj controla la sincronización de la transferencia de datos.

Los datos (MOSI) se envían desde un registro de cambios en el dispositivo SPI maestro junto con una señal de reloj (SCK) mientras que al mismo tiempo otro registro de cambios recibe datos del esclavo (MISO,).,

El Maestro siempre está en control e inicia la transferencia de datos utilizando la señal de reloj. Los dispositivos esclavos se seleccionan utilizando una señal de selección de esclavos separada que está controlada por software, es decir, esas señales están separadas del módulo de hardware SPI.

Nota: El número de bits no está definido por el Protocolo, por lo que no está limitado a usar solo 8, puede ser cualquier número de bits. Esto es útil cuando se encadenan esclavos SPI, ya que necesita establecer el número de bits a la suma de todos los bits requeridos por cada dispositivo.,

Nota: SPI define un único sistema principal.

el protocolo alternativo, IIC, permite la operación maestra de bus múltiple.

definición del reloj de la interfaz SPI

El reloj SPI no está definido en absoluto, lo que significa que diferentes dispositivos esclavos pueden asumir diferentes operaciones de reloj; un esclavo puede requerir un reloj inactivo que sea alto, mientras que otro puede requerir un estado inactivo de bajo. ¡Otros reaccionarán al borde ascendente mientras que otros reaccionarán al borde descendente!,

la interfaz SPI protocl hace frente a esto permitiéndole programar estos detalles en el módulo de hardware SPI.

la siguiente imagen muestra la interfaz PIC para SPI (todos los módulos de hardware SPI en otros microcontroladores permitirán la misma operación usando diferentes registros).,

SPI Interface pic signals (extract from Pic datasheet DS39582B)

depende de usted configurar el reloj correcto para su dispositivo cuando se activa por una señal de selección de esclavo (o en el caso de un solo esclavo siempre se selecciona para que no haya señal de selección de esclavo).

Arduino SPI Connection

el siguiente diagrama muestra la interfaz a las conexiones SPI que también pasa a ser el conector de programación (ICSP), en la placa Arduino, que permite la programación directa del ATmega328p.,p>

5 – Reset

6 – GND

Location of the SPI connector on Arduino Uno R3

Photo Credit : kenming_wang (mod shows ICSP)

Different SPI Interface operational Modes

There are three ways of using the SPI interface

  1. Single Master – Single Slave.,
  2. maestro único-esclavos múltiples-Chip seleccionado.
  3. maestro único-esclavos múltiples – dasiy encadenado.

Single Master-Single Slave.

Aquí está la configuración para una sola conexión de dispositivo SPI:

Nota: El chip select signal SS es opcional para un sistema de un solo dispositivo, ya que normalmente enlazará el SSinput en el slave low (si las otras líneas están dedicadas al uso de SPI).,

interfaz SIP: usando chip selects

con este esquema usted controla cada dispositivo esclavo usando su línea de selección de chip (normalmente activa baja-flechas rojas muestran controllines). Cuando está deshabilitado, la salida de datos del Slave entra en un estado de alta impedancia por lo que no interfiere con el esclavo actualmente seleccionado y la entrada de datos del esclavo se ignora (checkdatasheet).,la ventaja de este esquema es que puede considerar (controlar) cada dispositivo por separado cuando lo compara con el método de cadena margarita, lo que permite la conexión de dispositivos SPI que requieren diferentes esquemas de reloj.

Si tiene esclavos SPI que operan utilizando diferentes relojes (bordes/Estados inactivos), puede reprogramar el módulo de hardware SPI maestro antes de habilitar un CS específico para que cada esclavo tenga las señales correctas enviadas a él.

Si utiliza el método de cadena de Margarita, debe asegurarse de que todos los chips utilicen el mismo borde del reloj y el mismo estado de reloj inactivo.,

Spinterface :Daisy chaining

con este esquema, todos los datos enviados por el maestro se desplazan a todos los dispositivos y todos los datos enviados desde cada dispositivo se desplazan al siguiente (se muestra con una flecha de puntos rojos). Para que este esquema funcione, debe asegurarse de que cada esclavo use el reloj de la misma manera y debe obtener el número correcto de bits, por lo que hay más trabajo que hacer en el software.

Nota: La ventaja del método de conexión en cadena es que guarda una señal de selección de chip para cada dispositivo SPI esclavo.

Más información en Wikipedia.,

SPI interfaz Daisy Chain

SPI Daisy Chain ejemplo

Use varios chips HC595, enlazados en cadena, dando un fácil aumento en el número de salidas disponibles sin usar muchos pines de microcontrolador.

los límites de operación son la velocidad de HC, la velocidad de la salida SPI. También la consideración de diseño, por ejemplo, si se conduce un conjunto de LED que debe actualizarse cada 20 ms.

paralelo frente a SPI serie

el compromiso entre el uso de una interfaz paralela y la interfaz SPI es la velocidad, por ejemplo., si lee un ADC paralelo de 12 bits a 200ksps, entonces puede leer el dispositivo a una velocidad de 200 kHz, pero si desea obtener la misma velocidad de datos utilizando SPI, entonces necesita una velocidad serie de 200 kHz x 12 = 2.4 MHz. Así que el intercambio REAL es la velocidad y el ruido resultante introducido en el circuito.

resumen

la interfaz SPI define un protocolo muy popular que funciona a alta velocidad. El principal problema es que los dispositivos esclavos no están sujetos a ningún esquema de reloj en particular, por lo que pueden operar de manera diferente entre sí y eso puede dificultar el control de ellos., el reloj inactivo y el borde deben configurarse correctamente para cada dispositivo.

Ventajas:

  • Alta velocidad.
  • interfaz extremadamente simple que es fácil de replicar en el software.

desventajas:

  • Los chips esclavos son libres de adoptar cualquier esquema de reloj que requieran.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *