Serial Peripheral Interface

De Viquipèdia
Dreceres ràpides: navegació, cerca
Infotaula de llibreSPI
Tipus serial bus
Autor Motorola
Editor Motorola
Llengua Anglès
País Internacional
Gènere Protocol
Modifica dades a Wikidata

El bus SPI (de l'anglès Serial Peripheral Interfície, en català Interfície per a perifèrics sèrie) és un estàndard de comunicacions utilitzat principalment per a la transferència de dades entre circuits integrats en equips electrònics. El bus sèrie d'interfície de perifèrics, o bus SPI, és un estàndard per a controlar qualsevol dispositiu electrònic digital que accepti un flux de bits sèrie. [1][2]

Propietats[modifica | modifica el codi]

  • És un sistema de comunicació d'un IC mestre a un o més IC esclaus (veure Fig.1 ì 2)
  • Consta de 4 connexions : rellotge, dades entrada, dades sortida i selecció.
Fig.1 BusSPI : un mestre i unesclau

Mode de funcionament[modifica | modifica el codi]

El SPI és un protocol síncron. La sincronització i la transmissió de dades entre emissor i receptor (Màster/Slave) es realitza utilitzant aquests 4 senyals:[3]

  • SCLK (Clock): És el pols del rellotge que marca la sincronització. A cada pols d'aquest rellotge, es llegeix o s'envia un bit.
    Fig.2 SPI bus : un mestre i tres esclaus
  • MOSI (Màster Output Slave Input): Sortida de dades del Màster i entrada de dades al Slave.
  • MISO (Màster Input Slave Output): Sortida de dades del Slave i entrada al Màster.
  • SS/Select: Per seleccionar un Slave, o perquè el Màster li digui al Slave que s'activi.

La cadena de bits és enviada de manera síncrona amb els polsos del rellotge, és a dir amb cada pols, el Màster envia un bit. Perquè comenci la transmissió el Màster baixa senyal SS/Select a zero, amb això el Slave s'activa i comença la transmissió, amb un pols de rellotge al mateix temps que el primer bit és llegit. Els polsos de rellotge poden estar programats de manera que la transmissió del bit es realitzi de 4 maneres diferents, la qual cosa s'anomena polaritat i fase de la transmissió:

  • 1. Amb el flanc de pujada sense retard.
  • 2. Amb el flanc de pujada amb retard.
  • 3. Amb el flanc de baixada sense retard.
  • 4. Amb el flanc de baixada amb retard.

Avantatges sobre altres protocols de comunicació similars[modifica | modifica el codi]

  • Comunicació Full Dúplex. [4]
  • Major velocitat de transmissió que amb els busos I²C o SMBus.
  • Protocol flexible en què es pot tenir un control absolut sobre els bits transmesos:
    • No està limitat a la transferència de blocs de 8 bits.
    • Es pot escollir la grandària de la trama de bits, del seu significat i propòsit.
  • La seva implementació en maquinari és extremadament simple:
    • Consumeix menys energia que I²C o que SMBus perquè s'implementa amb menys circuits (incloent-hi les resistències pull-up) i aquests són més simples.
    • No cal arbitratge o mecanisme de resposta davant de fallides.
    • Els dispositius esclaus usen el rellotge que envia el mestre, i per tant, no necessiten el seu propi rellotge.
    • No és obligatori implementar un transceptor (emissor i receptor), un dispositiu connectat pot configurar-se perquè només envïi, només rebi o ambdues coses alhora.
  • Usa molts menys terminals en cada xip/connector que una interfície paral·lel equivalent.
  • Empra com a màxim un únic senyal específic per a cada esclau (senyal SS), els altres senyals poden ser compartits.

Desavantatges[modifica | modifica el codi]

  • Consumeix més terminals de connexió en cada xip que el bus I²C, fins i tot en la variant de 3 fils.
  • L'adreçament es fa per mitjà de la linia de connexió SS específica de cada IC, a diferència del que ocorre en I²C, que se selecciona cada xip per mitjà d’una adreça de 7 bits que s’envia per les mateixes línies del bus.
  • No hi ha control de flux, ni per línies de connexió ni per programari.
  • No hi ha senyal d’assentiment o reconeixement. El mestre podria estar enviant informació sense que estigués connectat cap esclau ja que no hi ha resposta.
  • No permet tenir diversos mestres connectats al bus d'una forma fàcil.
  • Només funciona en distàncies curtes a diferència dels busos RS-232, el RS-485, o el Bus CAN.

Aplicacions SPI[modifica | modifica el codi]

Vegeu també[modifica | modifica el codi]

Enllaços externs[modifica | modifica el codi]

A Wikimedia Commons hi ha contingut multimèdia relatiu a: Serial Peripheral Interface Modifica l'enllaç a Wikidata

Referències[modifica | modifica el codi]

  1. «SPI Interface in embedded systems» (en anglès). eeherald. [Consulta: 7 febrer 2017].
  2. «SPI Background» (en anglès). totalphase. [Consulta: 11 febrer 2017].
  3. «SPI Interface - Tutorial» (en anglès). corelis. [Consulta: 7 febrer 2017].
  4. «Introduction to I²C and SPI protocols – Byte Paradigm – Speed up embedded system verification» (en anglès). byteparadigm. [Consulta: 7 febrer 2017].