O que é a interface periférica serial?
Uma interface periférica serial (SPI) é uma interface de fluxo de dados de comunicação serial síncrona full-duplex de baixo custo e quatro fios que opera em um relacionamento mestre-escravo. A transferência de dados em dispositivos seriais ocorre um bit por vez, tornando o SPI uma interface de baixa velocidade. É comumente usado como um link entre circuitos integrados com dispositivos periféricos lentos integrados que são acessados de forma intermitente. Ele compete com dispositivos de transmissão de dados paralelos, mas, à medida que o SPI aumenta em eficiência, a vantagem do primeiro é reduzida. O SPI às vezes é chamado de "microwire", embora seja considerado um protocolo de subconjunto do SPI.
As transferências de dados por uma interface periférica serial ocorrem via protocolo full-duplex. Os dados são transferidos e recebidos nas duas direções ao mesmo tempo. Os aplicativos que usam SPI ganham muita eficiência nesse modo; uma dessas aplicações é entre um codificador-decodificador (codec) e um Digital Signal Processor (DSP). Outras aplicações incluem sensores de temperatura e pressão, bem como memória flash.
Sempre que dois dispositivos de interface periférica serial se comunicam, um dispositivo é chamado de "mestre", enquanto o outro dispositivo é "escravo". O dispositivo mestre inicia todas as comunicações transmitindo sinais para o dispositivo escravo. Um barramento de interface periférico serial pode conectar vários dispositivos escravos a um único mestre.
Os dispositivos de interface periférica serial usam três registros - registro de controle (SPCR), registro de status (SPSR) e registro de dados (SPDR) - no envio de dados, juntamente com quatro sinais diferentes. O primeiro sinal é chamado de relógio serial (SCLK), que apenas o dispositivo mestre gera. Isso é seguido pela entrada mestre escrava (MOSI), saída mestre escrava (MISO) e seleção escravo (SSn), onde "n" é o número de dispositivos escravos aos quais o dispositivo mestre está conectado.
Em uma configuração típica de escravo único, um engenheiro que procura usar uma interface periférica serial conectaria o SCLK à entrada de um dispositivo escravo. O MOSI transporta dados do dispositivo mestre para o dispositivo escravo, enquanto o MISO transfere dados do escravo para o mestre. Para determinar qual dispositivo é mestre e qual é escravo, o primeiro conecta o Master SSn ao Slave SSn e gera um sinal discreto de entrada / saída de uso geral para o último.
Para conectar vários escravos a um mestre em uma interface periférica serial, sinais SSn separados são conectados a partir do dispositivo mestre para separar escravos. Por exemplo, o SS1 está conectado ao escravo 1, o SS2 está conectado ao escravo 2 e assim por diante. Semelhante à configuração de escravo único, o SCLK é conectado do dispositivo mestre aos vários escravos. MOSI de mestre para escravos estão conectados, assim como MISO de escravos para mestre.