Protocolos de Comunicação Serial - Introdução

Mark Harris
|  Criada: Abril 13, 2021
Protocolos de Comunicação Serial - Introdução

Nesta série de artigos, estaremos analisando alguns dos diferentes tipos de Protocolos de Comunicação Serial disponíveis para transferir informações entre microcontroladores, periféricos produtores e processadores de dados, e outros dispositivos inteligentes. Os artigos que seguem esta introdução às comunicações seriais cobrirão alguns dos protocolos mais populares em uso comum. Ao final desta série, resumiremos as vantagens e desvantagens de cada um. Esperamos que este recurso se prove valioso na próxima vez que você se encontrar na necessidade de implementar um barramento de comunicação serial, ajudando-o a escolher a melhor opção para as suas circunstâncias particulares.

Hoje em dia, a eletrônica digital tornou-se a parte mais significativa da maioria dos dispositivos eletrônicos no mercado. Muitos chips diferentes estão em uso, onde suas operações complexas dependem de informações enviadas e recebidas de outros componentes digitais similares. Padrões de protocolo comuns foram criados para possibilitar a comunicação entre eles. Imagine se cada CI ou dispositivo se comunicasse usando seu próprio protocolo único. Seria o mesmo que se cada humano falasse usando sua própria língua única. Seria um caos, pois seria quase impossível para qualquer um de nós entender o outro.

Atualmente, temos diferentes memórias ICs, sensores digitais, dispositivos de proteção, fontes de alimentação programáveis, potenciômetros digitais, ICs de frequência de rádio, etc. Todos precisam se comunicar entre si ou com microcontroladores, microprocessadores, FPGA ou ASIC. O propósito dessas comunicações entre dispositivos pode variar bastante. Pode ser para programação para extrair informações, fornecendo um sinal para iniciar a execução de uma ação.

Além disso, alguns protocolos nos dão a capacidade, enquanto humanos, de interagir com os ICs por meio de microcontroladores. Você pode enviar um sinal a um microcontrolador que está programado para enviar um sinal a um IC através de um desses protocolos. Alternativamente, você pode conectar uma das ferramentas de depuração disponíveis.

Um dos problemas com as comunicações seriais é a dificuldade de encontrar e depurar seu circuito se algo der errado. Suponha que os dados não estejam sendo transmitidos de um dispositivo para outro. Nesse caso, o defeito pode existir em um ou mais dos seguintes locais: na lógica do dispositivo transmissor, em seu design de circuito, em como ele codificou as comunicações seriais, no barramento de comunicações, na decodificação pelo receptor, no design de circuito do receptor ou finalmente na lógica do receptor. Colocar uma sonda de osciloscópio nas comunicações seriais pode permitir que você veja se há alguma atividade, mas dirá pouco sobre sua validade. Para ver completamente o que está acontecendo, você precisará de um osciloscópio com função de decodificação ou de um analisador lógico. Isso permitirá que você conheça os pulsos de tensão que viajam pelo pulso para encontrar falhas nos níveis de tensão, identificar quaisquer problemas de ruído e procurar problemas com as taxas de subida e descida do sinal.

No entanto, para depurar completamente as comunicações seriais, você precisará de uma ferramenta que possa decodificar os dados no barramento para verificar se estão corretos ou se foram corrompidos ou afetados por colisões. Um número considerável de ferramentas de depuração foi criado especificamente para depurar comunicações entre dispositivos ou CI's. Um dos analisadores de lógica padrão da indústria é a série Saleae Logic de analisadores de lógica, com o modelo Pro oferecendo velocidade suficiente para analisar todos os protocolos mais populares.

Muitos analisadores de lógica de baixo custo são muito lentos para lidar com protocolos de alta velocidade, como SPI. O LA2016 Logic Analyser oferece taxas de amostragem entre o Saleae Logic 8 e Logic 8 Pro por um custo muito baixo; Eu tenho um e o usei com muito sucesso para analisar protocolos.

Além disso, a consideração dos protocolos de comunicação é crucial tanto para o design de firmware quanto de hardware. Do lado do hardware, você deve sempre examinar cuidadosamente o datasheet do microcontrolador escolhido. MCUs só podem se comunicar com protocolos predefinidos usando pinos dedicados. O designer precisará decidir quais CI's serão usados e quais protocolos eles exigirão antes de selecionar seu MCU.

Por exemplo, o dispositivo STMicroelectronics STM32F103C8T6 montado na popular placa de desenvolvimento STM32 Blue Pill inclui 2 x I2C, 3 x USART, 2 x SPI e 1 x interfaces de comunicação CAN. No entanto, alguns dos pinos para esses protocolos de comunicação são compartilhados. Por exemplo, se olharmos para o pino 14 do dispositivo, que é rotulado como PA4. Este pino possui funções tanto de USART quanto de SPI. Isso significa que você não pode usar todas as interfaces SPI e USART listadas para o seu design simultaneamente. Você precisa escolher quais delas precisa quando e planejar de acordo ou procurar outro microcontrolador que suporte mais interfaces de comunicação. Claro, o pino PA4 pode ser usado para ambos os protocolos de comunicação, alterando sua configuração em operação. No entanto, você ainda precisa considerar cuidadosamente em quais momentos ele será usado para funcionar porque eles não podem ser usados simultaneamente. Isso aumentará tanto a complexidade do design de hardware quanto de firmware.

Serial Communication

Os pinos de comunicação serial em microcontroladores podem se sobrepor, então leia os datasheets com atenção. Você precisa baixar e usar o módulo de biblioteca de comunicação IC apropriado com base nos protocolos que o dispositivo usará para comunicações do lado do firmware.

Embora existam muitos protocolos de comunicação, os mais populares são SPI e I2C. Cada um dos protocolos tem suas aplicações, velocidades de comunicação, considerações de design, vantagens e desvantagens. Vamos passar por cada um deles nesta série de artigos.

Resumo

No próximo artigo desta série, estaremos olhando para o popular dispositivo UART e discutir algumas de suas vantagens e detalhes de implementação. Vamos terminar a série comparando os diferentes protocolos, destacando suas principais vantagens e desvantagens.

Tem mais perguntas? Ligue para um especialista na Altium e descubra como podemos ajudá-lo com o seu próximo design de PCB.

Sobre o autor

Sobre o autor

Mark Harris is an engineer's engineer, with over 16 years of diverse experience within the electronics industry, varying from aerospace and defense contracts to small product startups, hobbies and everything in between. Before moving to the United Kingdom, Mark was employed by one of the largest research organizations in Canada; every day brought a different project or challenge involving electronics, mechanics, and software. He also publishes the most extensive open source database library of components for Altium Designer called the Celestial Database Library. Mark has an affinity for open-source hardware and software and the innovative problem-solving required for the day-to-day challenges such projects offer. Electronics are passion; watching a product go from an idea to reality and start interacting with the world is a never-ending source of enjoyment. 

You can contact Mark directly at: mark@originalcircuit.com

Recursos relacionados

Retornar a página inicial
Thank you, you are now subscribed to updates.