Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Tecnologia industrial

SPI I2C UART-  Protocolos e usos de comunicação


O desenvolvimento de microcontroladores é um processo fundamental na montagem de eletrônicos. Mas a entrada de protocolos seriais e interfaces de comunicação facilitam essa tarefa. Neste artigo, pretendemos explorar exaustivamente protocolos de comunicação serial como a interface SPI I2C UART e UART. Analisaremos os recursos, vantagens, desvantagens e exemplos dos protocolos seriais.

1. Interface UART

O que é UART?


Figura 1:um protocolo UART no Arduino 

Recepção e transmissão assíncrona universal ( UART ) é um protocolo de comunicação serial que facilita a comunicação do host com dispositivos auxiliares. Principalmente, permite a transmissão de dados em série. Além disso, é capaz de comunicação assíncrona e transmissão bidirecional.

O protocolo simples também possui duas linhas de dados:transmissão de tratamento (Tx) e recepção de outro sinal (Rx). Normalmente, a transmissão do sinal é feita pelo pino digital 0, enquanto a recepção é feita pelo pino digital 1.

Além disso, ajuda a sincronizar o gerenciamento de um computador e dispositivos seriais externos.

Como funciona?


Figura 2:uma placa UART USB eletrônica DIY

Essencialmente, o UART gerencia a comunicação de sinal entre dois dispositivos através dos seguintes meios:

Simplex envolve transmissão de dados unidirecional, enquanto half-duplex significa comunicação não simultânea entre dois dispositivos em qualquer direção. Por fim, um full duplex envolve a transferência simultânea de dados em qualquer direção.

Geralmente, após a conexão, há transferência de dados da linha de dados da UART transmissora para a UART receptora. Isso acontece através do seguinte princípio;
  1. Primeiro, o UART de transmissão converterá os dados paralelos de um dispositivo mestre em um formato serial para transferência para o UART de recebimento. Da mesma forma, o UART receptor altera os dados seriais para dados paralelos para uso pelo dispositivo receptor conectado.
  2. Como o UART envolve comunicação assíncrona, ele não possui relógios. Assim, a UART irá gerar bits de início e fim para indicar o início e o fim de uma mensagem.
  3. Os dois UARTs devem funcionar na mesma taxa BAUD ou velocidade de transmissão de dados UART. Idealmente, isso é para garantir o tempo preciso dos bits de dados, pois uma diferença de mais de 10% torna os dados inúteis.

Protocolo de trabalho UART

Transmissão e recebimento de dados

  1. Para transmissão, o UART de transmissão requer receber dados de um barramento de dados, como uma CPU.
  2. Em seguida, ele adiciona os três bits, ou seja, o bit de início, o bit de paridade e o bit de parada. Os três formarão um pacote de dados transmitido ao UART receptor através do pino TX.
  3. A transmissão de dados é interrompida após o esgotamento dos dados no UART de transmissão.

Controle de interrupção


As interrupções de dados são úteis no envio automático de conteúdo do buffer. Você pode solicitar um controle de interrupção no caso dos seguintes cenários:

Operação FIFO


Fig 3. Uma interface UART no Arduino

Os módulos UART da família Stellaris apresentam dois FIFOs de 16 bytes, um para recepção de dados e outro para transmissão. Além disso, você pode configurá-los em várias profundidades para fornecer interrupções diferentes. Por exemplo, você pode ter 1/8 de profundidade, 1/4 de profundidade, 1/2 de profundidade, etc.

Processo de trabalho de transmissão FIFO

  1. Primeiramente, a transmissão de dados começa após a entrada de dados. Além disso, como é demorado, a entrada de dados é contínua até que o FIFO de transmissão esteja cheio.
  2. Depois de cheio, você deve interromper a entrada de dados para não perder todos os novos dados.
  3. Em seguida, o FIFO transmissor envia os dados bit a bit até que esteja vazio. Finalmente, o FIFO de transmissão criará um slot extra.

Processo de trabalho de recebimento de FIFO

  1. Após receber os dados da etapa acima, o hardware os armazena no FIFO de recebimento. Idealmente, receber e apagar dados pelo programa FIFO receptor é um processo automático. Assim, deve haver espaço suficiente na FIFO receptora.
  2. Também possui um FIFO transceptor que é essencial para resolver problemas de ineficiência da CPU. Além disso, ajuda a resolver o problema de interrupções frequentes do transceptor UART.
  3. Por último, o FIFO não tem perda de dados, pois sela todas as vias de perda prováveis ​​de antemão.

Retorno


A UART possui um loopback interno para depuração e diagnóstico de onde a entrada RX receberá os dados enviados.

Protocolo infravermelho serial


O UART possui um infravermelho serial IrDA (SIR) operando como um módulo codificador/decodificador. É útil na tradução de uma interface SIR serial half-duplex e um fluxo de dados UART assíncrono.

Além disso, o protocolo de comunicação serial fornece uma entrada decodificada e uma saída codificada digitalmente para o UART.

Vantagens de usar UART

  1. O protocolo de comunicação simples é um módulo bem documentado que também é fácil de usar.
  2. Em segundo lugar, não requer uma linha de relógio serial.
  3. Em terceiro lugar, ele tem um bit de paridade que permite a verificação de erros.

Desvantagens do uso do UART

  1. A interface UART tem uma limitação de tamanho de quadro de dados de 9 bits e velocidades de transferência lentas.
  2. Além disso, é incapaz de usar muitos sistemas mestre e dispositivos escravos.
  3. Além disso, tem uma taxa de transmissão obrigatória de 10% como proteção contra perda de dados.
  4. Quarto, geralmente tem velocidades mais lentas durante a transferência de dados entre dispositivos.

Exemplos de UART em microcontroladores

2. Interface I2C

O que é I2C?


Figura 4:um sensor de pressão diferencial usa I2C

O circuito interintegrado (I2C) protocolo de comunicação se assemelha ao UART. Mas, enquanto o UART é designado para comunicação PC-dispositivo, o I2C é útil em sensores e aplicações de módulos.

Além disso, o barramento serial síncrono de dois fios bidirecional pode conectar vários dispositivos sem comprometer o caminho de comunicação. É graças ao seu barramento compartilhado e propriedade do sistema de endereços.

Mas esse recurso tem o custo de ter uma comunicação relativamente lenta entre dispositivos em comparação com um SPI. Sua velocidade depende do ruído externo, qualidade do fio e velocidade dos dados.

Por fim, a interface de dois fios permite a conexão a dispositivos de baixa velocidade, como EEPROMs, conversores analógicos/digitais e microcontroladores.

Como funciona?


Um protocolo I2C possui duas linhas:a porta de aceitação de linha de dados serial (SDA) e uma linha de relógio serial (SCL). O SCL facilita a sincronização de transmissão enquanto o SDA representa a linha de dados para enviar e receber bits de dados.

Durante a transferência, o dispositivo mestre solicita a transmissão de dados do barramento. Simultaneamente, gera um relógio que abre o dispositivo de transferência. Neste cenário, o dispositivo endereçado na transmissão é um dispositivo escravo.

Vale ressaltar que o dispositivo mestre e o dispositivo escravo não possuem uma taxa de transmissão de dados constante. Em vez disso, seu relacionamento depende da direção da transferência de dados no momento da transmissão.

Além disso, o único dispositivo mestre deve informar o dispositivo de seleção escravo antes de iniciar uma transmissão de dados. Da mesma forma, ele precisa informar o escravo antes de receber os dados do escravo.

Também é importante conectar um resistor pull-up à fonte de alimentação I2C para um funcionamento ideal.

Protocolo de trabalho I2C


Figura 5:um pino de 0,96 polegadas OLED 128X64 OLED Display Module IIC I2C

Método de transmissão de dados


O procedimento de conexão é o seguinte:
  1. A saída mestre enviará um sinal de transmissão para os escravos conectados, principalmente alternando a linha SDA do nível de alta tensão para baixo. Em seguida, ele mudará a linha SCL do nível de alta tensão para baixo.
  2. Em seguida, o mestre envia endereços de 7 ou 10 bits e lê/escreve bits para cada um dos escravos.
  3. Em terceiro lugar, os escravos comparam o endereço com o seu. Se corresponder, retornará um bit ACK, alternando a linha SDA para baixa. No entanto, se não corresponderem, o escravo deixará a linha SDA em alta.
  4. Em seguida, o mestre envia o quadro de dados ou o recebe (dependendo dos endereços correspondentes). Então, após a transmissão de dados completa, o componente receptor retorna um bit ACK para o remetente de dados. É reconhecer uma transmissão completa.
  5. Finalmente, o mestre alterna o SCL para alto e depois o SDA para comunicar o fim da comunicação.

Sincronização de relógio


Todo mestre deve gerar seu sinal de clock na linha SCL para transmissão de dados. Além disso, é somente durante o período alto do clock que os dados permanecem válidos em uma transmissão I2C.

Modos de transmissão


Ele transmite principalmente através de dois meios, a saber:

Modo rápido


Dispositivos em modo rápido recebem e transmitem dados a uma taxa de 400kbit/s. Além disso, um barramento I2C de modo rápido pode suprimir significativamente as falhas, e sua saída possui uma função de controle de inclinação.

Modo de alta velocidade


Um barramento I2C em modo de alta velocidade transmitirá dados/receberá a uma taxa de bits de 3,4 Mbit/s. Assim, apresenta taxas de transmissão de dados mais rápidas do que o antigo modo rápido.

Vantagens do I2C

  1. Ele apresenta um número significativamente limitado de pinos/sinais, mesmo quando você conectou vários dispositivos no mestre.
  2. Em segundo lugar, um dispositivo I2C oferece flexibilidade graças à sua capacidade multi-mestre e multi-escravo.
  3. Além disso, é simples de usar, pois você só precisa de dois fios bidirecionais para fazer uma conexão com vários dispositivos.
  4. Além disso, oferece ampla adaptabilidade e também pode suportar vários mestres.

Desvantagens do I2C

  1. Tem uma velocidade relativamente lenta e deve usar resistores pull-up, ao contrário do SPI, que só precisa de resistores push-pull. Além disso, seu design de dreno aberto reduz sua velocidade.
  2. Além disso, os resistores ocupam espaço que é de imensa essência na montagem de PCB.
  3. Não é fácil de usar quando você conectou vários dispositivos.

Exemplos de I2C em microcontroladores

3. Interface SPI

O que é SPI?


Figura 6:uma interface SPI é útil em módulos de exibição.

A interface periférica serial (SPI) é designado para uso em microcontroladores. Além disso, por funcionar em full duplex, permite a transmissão e recepção simultânea de dados.

O SPI é relativamente mais rápido que o I2C, com uma taxa de transmissão de dados de pelo menos 8 bits. Principalmente, o protocolo simples deste módulo permite taxas de dados mais rápidas. Assim, é importante em aplicações que exigem velocidade, como módulos de exibição e cartões SD.

Também é essencial em aplicações que envolvem uma mudança repentina de informações, por exemplo, termômetros.

Como funciona?


Fig 7:Cartões SD utilizam SPI

Uma forma de dispositivo SPI operará em uma das duas maneiras a seguir:

Você pode conectar quantos dispositivos quiser em uma interface SPI. No entanto, na maioria dos casos, você será limitado pelas linhas de seleção de hardware disponíveis. Por fim, durante a comunicação ponto a ponto, o módulo não precisa endereçar operações.

Protocolo de trabalho SPI


O SPI funciona através de quatro portas, a saber:
  1. Saída de dados mestre, entrada de dados escravo (MOSI)
  2. Entrada de dados mestre, saída de dados escravo (MISO)
  3. Um sinal de relógio (SCLK)
  4. Sinal habilitado para escravo (NSS)

Ao usar um sistema multi-escravo, cada escravo respectivo exige um sinal de habilitação exclusivo. Este requisito complica o requisito de hardware em comparação com uma comunicação I2C.

Além disso, a interface SPI possui dois registradores de deslocamento. Ele permite a transmissão síncrona de dados seriais entre um único dispositivo mestre, como uma CPU, para dispositivos periféricos.

Vantagens de usar SPI

  1. É simples de usar, pois, ao contrário de um I2C, não possui um sistema de endereçamento escravo complexo.
  2. Em segundo lugar, é o protocolo mais rápido de todas as interfaces seriais que abordamos (mais rápido que UART e I2C).
  3. Não tem bits de início e fim como na comunicação UART. Assim, permite a transmissão contínua de dados sem interrupções.
  4. Por último, possui linhas MISO e MOSI separadas que permitem o envio e recebimento simultâneo de dados.

Desvantagens de usar SPI

  1. A maioria das portas Pin estão ocupadas, o que limita o número de dispositivos que você pode conectar.
  2. Além disso, falta um controle de fluxo especificado e, diferentemente do I2C, não há mecanismo para confirmar que os dados foram enviados/recebidos.
  3. Requer o uso de 4 linhas, como destacamos acima, e ao contrário do UART, não possui um mecanismo de verificação de erros.
  4. Quarto, também possui um único mestre.

Exemplos de SPI em microcontroladores

Comparando UART, I2C e SPI

Qual ​​desses periféricos de comunicação é o “melhor”? UART, SPI ou I2C?


Não há periféricos de comunicação superiores dos três, pois cada um tem suas principais vantagens e desvantagens. Assim, escolha o protocolo de melhor ajuste dependendo do seu projeto. Por exemplo, o SPI servirá melhor se você estiver procurando por velocidade.

Mas se você deseja conectar vários dispositivos sem ter uma matriz complexa, opte pelo I2C.

Conclusão


Apresentamos todos os principais insights que você precisa saber sobre as interfaces de comunicação UART, I2C e SPI e suas várias taxas de transferência. Além disso, estamos aqui para responder a quaisquer perguntas sobre os protocolos de comunicação. Entre em contato conosco e iremos ajudá-lo imediatamente.

Tecnologia industrial

  1. MQTT e DDS:Comunicação de máquina para máquina em IoT
  2. Protocolos de rede
  3. Termos e conceitos de memória digital
  4. Placas - Divida o Pi - I2C, UART, GPIO e mais
  5. 14 Usos não familiares da nanotecnologia | Benefícios e aplicativos
  6. O que é brasagem de prata? - Processo, haste e usos
  7. Manufatura orientada a dados:benefícios, desafios e estratégias
  8. Automatize a ingestão de dados e otimize a tomada de decisões
  9. Tipos de madeira e seus usos
  10. Tungstênio usa então e agora