Índice:

BÁSICOS DO PROTOCOLO DE COMUNICAÇÃO SPI: 13 etapas
BÁSICOS DO PROTOCOLO DE COMUNICAÇÃO SPI: 13 etapas

Vídeo: BÁSICOS DO PROTOCOLO DE COMUNICAÇÃO SPI: 13 etapas

Vídeo: BÁSICOS DO PROTOCOLO DE COMUNICAÇÃO SPI: 13 etapas
Vídeo: Veja como funcionam os protocolos de comunicações UART, I2C e SPI. (PARTE 1 UART) 2024, Julho
Anonim
BÁSICOS DO PROTOCOLO DE COMUNICAÇÃO SPI
BÁSICOS DO PROTOCOLO DE COMUNICAÇÃO SPI

Ao conectar um microcontrolador a um sensor, monitor ou outro módulo, você já pensou em como os dois dispositivos se comunicam? O que exatamente eles estão dizendo? Como eles conseguem se entender?

A comunicação entre dispositivos eletrônicos é como a comunicação entre humanos. Ambos os lados precisam falar a mesma língua. Em eletrônica, essas linguagens são chamadas de protocolos de comunicação. Felizmente para nós, existem apenas alguns protocolos de comunicação que precisamos conhecer ao construir a maioria dos projetos eletrônicos DIY. Nesta série de artigos, discutiremos os fundamentos dos três protocolos mais comuns: Interface Periférica Serial (SPI), Circuito Inter-Integrado (I2C) e comunicação dirigida por Receptor / Transmissor Assíncrono Universal (UART). Primeiro, começaremos com alguns conceitos básicos sobre comunicação eletrônica e, em seguida, explicaremos em detalhes como o SPI funciona. No próximo artigo, discutiremos a comunicação orientada pelo UART e, no terceiro artigo, mergulharemos no I2C. SPI, I2C e UART são um pouco mais lentos do que protocolos como USB, ethernet, Bluetooth e WiFi, mas são muito mais simples e usam menos recursos de hardware e sistema. SPI, I2C e UART são ideais para comunicação entre microcontroladores e entre microcontroladores e sensores onde grandes quantidades de dados de alta velocidade não precisam ser transferidos.

Etapa 1: SERIAL VS. COMUNICAÇÃO PARALELA

SERIAL VS. COMUNICAÇÃO PARALELA
SERIAL VS. COMUNICAÇÃO PARALELA

Os dispositivos eletrônicos se comunicam enviando bits de dados por meio de fios fisicamente conectados entre os dispositivos. Um bit é como uma letra em uma palavra, exceto que em vez das 26 letras (no alfabeto inglês), um bit é binário e só pode ser 1 ou 0. Os bits são transferidos de um dispositivo para outro por mudanças rápidas na voltagem. Em um sistema operando a 5 V, um bit 0 é comunicado como um pulso curto de 0 V e um bit 1 é comunicado por um pulso curto de 5 V.

Os bits de dados podem ser transmitidos de forma paralela ou serial. Na comunicação paralela, os bits de dados são enviados todos ao mesmo tempo, cada um por meio de um fio separado. O diagrama a seguir mostra a transmissão paralela da letra “C” em binário (01000011):

Passo 2:

Na comunicação serial, os bits são enviados um a um por meio de um único fio. O diagrama a seguir mostra a transmissão serial da letra “C” em binário (01000011):

Etapa 3:

Imagem
Imagem

Etapa 4: INTRODUÇÃO À COMUNICAÇÃO SPI

INTRODUÇÃO À COMUNICAÇÃO SPI
INTRODUÇÃO À COMUNICAÇÃO SPI

SPI é um protocolo de comunicação comum usado por muitos dispositivos diferentes. Por exemplo, módulos de cartão SD, módulos de leitor de cartão RFID e transmissores / receptores sem fio de 2,4 GHz usam SPI para se comunicar com microcontroladores.

Um benefício exclusivo do SPI é o fato de que os dados podem ser transferidos sem interrupção. Qualquer número de bits pode ser enviado ou recebido em um fluxo contínuo. Com I2C e UART, os dados são enviados em pacotes, limitados a um número específico de bits. As condições de início e parada definem o início e o fim de cada pacote, de modo que os dados são interrompidos durante a transmissão. Dispositivos que se comunicam via SPI estão em uma relação mestre-escravo. O mestre é o dispositivo de controle (geralmente um microcontrolador), enquanto o escravo (geralmente um sensor, display ou chip de memória) recebe instruções do mestre. A configuração mais simples do SPI é um único mestre, sistema único escravo, mas um mestre pode controlar mais de um escravo (mais sobre isso a seguir).

Etapa 5:

Imagem
Imagem

Etapa 6:

MOSI (Master Output / Slave Input) - Linha para o mestre enviar dados ao escravo.

MISO (Master Input / Slave Output) - Linha para o escravo enviar dados ao mestre.

SCLK (Clock) - Linha para o sinal de clock.

SS / CS (Slave Select / Chip Select) - Linha para o mestre selecionar para qual escravo enviar os dados

Etapa 7:

Imagem
Imagem

* Na prática, o número de escravos é limitado pela capacitância de carga do sistema, o que reduz a capacidade do mestre de alternar com precisão entre os níveis de tensão.

Etapa 8: COMO O SPI FUNCIONA

O RELÓGIO

O sinal de clock sincroniza a saída de bits de dados do mestre para a amostragem de bits pelo escravo. Um bit de dados é transferido em cada ciclo de clock, de modo que a velocidade da transferência de dados é determinada pela frequência do sinal de clock. A comunicação SPI é sempre iniciada pelo mestre, uma vez que o mestre configura e gera o sinal de clock.

Qualquer protocolo de comunicação em que os dispositivos compartilham um sinal de clock é conhecido como síncrono. SPI é um protocolo de comunicação síncrona. Também existem métodos assíncronos que não usam um sinal de relógio. Por exemplo, na comunicação UART, ambos os lados são configurados para uma taxa de transmissão pré-configurada que determina a velocidade e o tempo de transmissão de dados.

O sinal do relógio no SPI pode ser modificado usando as propriedades da polaridade do relógio e da fase do relógio. Essas duas propriedades funcionam juntas para definir quando os bits são produzidos e quando são amostrados. A polaridade do clock pode ser definida pelo mestre para permitir que os bits sejam emitidos e amostrados na borda ascendente ou descendente do ciclo do clock. A fase do clock pode ser configurada para que a saída e a amostragem ocorram na primeira ou na segunda borda do ciclo do clock, independentemente de estar aumentando ou diminuindo.

SLAVE SELECT

O mestre pode escolher com qual escravo deseja falar, definindo a linha CS / SS do escravo para um nível de baixa tensão. No estado inativo, sem transmissão, a linha de seleção de escravo é mantida em um nível de alta tensão. Vários pinos CS / SS podem estar disponíveis no mestre, o que permite que vários escravos sejam conectados em paralelo. Se apenas um pino CS / SS estiver presente, vários escravos podem ser conectados ao mestre por encadeamento.

MULTIPLE SLAVES SPI

pode ser configurado para operar com um único mestre e um único escravo, e pode ser configurado com vários escravos controlados por um único mestre. Existem duas maneiras de conectar vários escravos ao mestre. Se o mestre tiver vários pinos de seleção de escravos, os escravos podem ser conectados em paralelo como este:

Etapa 9:

Imagem
Imagem

Etapa 10:

MOSI E MISO

O mestre envia dados ao escravo bit a bit, em série, através da linha MOSI. O escravo recebe os dados enviados do mestre no pino MOSI. Os dados enviados do mestre para o escravo geralmente são enviados com o bit mais significativo primeiro. O escravo também pode enviar dados de volta ao mestre por meio da linha MISO em série. Os dados enviados do escravo de volta ao mestre geralmente são enviados com o bit menos significativo primeiro. ETAPAS DA TRANSMISSÃO DE DADOS SPI 1. O mestre emite o sinal de relógio:

Etapa 11:

Imagem
Imagem

Se apenas um pino de seleção de escravo estiver disponível, os escravos podem ser encadeados assim:

Etapa 12:

Imagem
Imagem
Imagem
Imagem
Imagem
Imagem
Imagem
Imagem

MOSI E MISO

O mestre envia dados ao escravo bit a bit, em série, através da linha MOSI. O escravo recebe os dados enviados do mestre no pino MOSI. Os dados enviados do mestre para o escravo geralmente são enviados com o bit mais significativo primeiro.

O escravo também pode enviar dados de volta ao mestre por meio da linha MISO em série. Os dados enviados do escravo de volta ao mestre geralmente são enviados com o bit menos significativo primeiro.

ETAPAS DE TRANSMISSÃO DE DADOS SPI

* Nota As imagens são listadas Oboé que você pode distinguir facilmente

1. O mestre emite o sinal do relógio:

2. O mestre muda o pino SS / CS para um estado de baixa tensão, que ativa o escravo:

3. O mestre envia os dados um bit por vez para o escravo ao longo da linha MOSI. O escravo lê os bits à medida que são recebidos:

4. Se uma resposta for necessária, o escravo retorna os dados um bit por vez ao mestre ao longo da linha MISO. O mestre lê os bits à medida que são recebidos:

Etapa 13: VANTAGENS E DESVANTAGENS DO SPI

Existem algumas vantagens e desvantagens em usar o SPI e, se puder escolher entre diferentes protocolos de comunicação, você deve saber quando usar o SPI de acordo com os requisitos do seu projeto:

VANTAGENS

Sem bits de início e fim, então os dados podem ser transmitidos continuamente sem interrupção Nenhum sistema de endereçamento escravo complicado como I2C Taxa de transferência de dados mais alta do que I2C (quase duas vezes mais rápido) Linhas MISO e MOSI separadas, para que os dados possam ser enviados e recebidos ao mesmo tempo Tempo

DESVANTAGENS

Usa quatro fios (I2C e UARTs usam dois) Nenhuma confirmação de que os dados foram recebidos com sucesso (I2C tem isso) Nenhuma forma de verificação de erro como o bit de paridade no UART permite apenas um único mestre Espero que este artigo tenha lhe dado um melhor entendimento do SPI. Continue na parte dois desta série para aprender sobre a comunicação conduzida por UART ou na parte três, onde discutimos o protocolo I2C.

Se você tiver alguma dúvida, fique à vontade para perguntar na seção de comentários, estamos aqui para ajudar. E certifique-se de seguir

Atenciosamente: M. Junaid

Recomendado: