O que é SPI? SPI é uma tecnologia de protocolo de comunicação serial de dados realizado com dispositivos periféricos, de forma rápida e em tempo real. SPI é a abreviação do Inglês serial peripheral interface, ou em bom português, Serial Protocolo de Interface Periférica.
O SPI tem como aplicações a comunicação com sensores, cartões , telas, etc. A primeira empresa a usar a tecnologia SPI em seus equipamentos foi a Motorola no final de 1970, ela conectou um MCU com funções periféricas, mais tarde o SPI foi adotado por outras empresas do setor.
SPI – Serial Protocolo de Interface Periférica
SPI se consolidou como um protocolo eficiente principalmente com a evolução dos sistemas embarcados microprocessadores e microcontroladores como o AVR, PIC, Arduino, Pi Raspberry, etc.
Fisicamente o SPI é uma interface de comunicação simples de 4 fios, outra característica do SPI é que não existe o conceito de transferência de propriedade da “barra de dados” ou seja não existe um endereço especifico para o master e ou slave.
O SPI opera em modo full duplex , isto significa que os dados são transferidos em ambas as direções e ao mesmo tempo e isso faz com que sua velocidade de troca de dados seja bem mais rápida, superior a 10 Mhz em comparação com outros sistemas.
O uso do SPI atualmente é bem amplo, como falamos acima, inclui na comunicação de diversos sensores, de temperatura, de pressão, ADC , as telas sensíveis ao toque, os controles de videogame, dispositivos de controle de codecs de áudio, potenciômetros digitais, DAC, controle de lentes de câmera EF, comunicações Ethernet , USB , USART , CAN , IEEE 802.15.4 , do IEEE 802.11 , jogos de vídeo games portáteis, Memória Flash e EEPROM, relógios em tempo real, LCD , gerenciamento de dados de imagem, etc.
O barramento SPI
SCLK : Clock Serial (saída do master)
MOSI : Saída de Master, entrada slave (saída do master).
MISO : Entrada Mestre, Slave de saída (saída do slave).
SS : Seleção do Slave ( ativo baixo , a saída do master).
Vantagem do SPI
Abaixo algumas das características que permitem SPI amplamente utilizado:
Comunicação full duplex
Maior rendimento do que I²C ou SMBus
Não se limitando a 8 bits no caso de transferência de bits
Hardware simples
O Slave usa o clock do master