Muitos Protocolos de Comunicação Serial estão disponíveis para a transferência de dados entre dispositivos eletrônicos, seja um microcontrolador lendo dados de um sensor ou enviando dados para um dispositivo de armazenamento. Este é um de uma série de artigos que cobrirá alguns dos protocolos mais populares em uso comum. Concluiremos a série com uma comparação das vantagens e desvantagens de cada um.
Meu objetivo é que a série se prove ser uma referência útil na próxima vez que você se encontrar procurando implementar um barramento de comunicação serial, para que você possa escolher a melhor opção para sua aplicação específica.
Neste artigo, estaremos olhando para o popular protocolo 1-Wire.
1-Wire é um barramento de comunicação de baixa velocidade desenvolvido pela Dallas Semiconductor Corp. (agora Maxim Integrated) que usa uma linha de dados de sinal excluindo o terra. É um sistema de comunicação mestre-escravo onde um dispositivo mestre ou host é conectado por uma única linha de dados a um ou mais dispositivos escravos. Cada dispositivo escravo 1-Wire terá um número de identificação (ID) único de 64 bits programado de fábrica, que é o endereço desse dispositivo.
Dispositivos 1-Wire são geralmente produzidos apenas pela Maxim Integrated e estão disponíveis em vários tipos de encapsulamento, como o transistor TO-92 típico, bem como diferentes circuitos integrados. Um dispositivo de comunicação 1-Wire muito popular é o iButton (também conhecido como Dallas Key). O iButton é um dispositivo modular pequeno usado para aplicações como registradores de dados, sensores de temperatura e umidade, LEDs, dispositivos de memória, adaptadores, etc. Embora o iButton tenha sido historicamente uma implementação muito popular do 1-Wire, hoje existem muitos sensores disponíveis da Maxim Integrated que implementam o protocolo 1-Wire.
Em princípio, um iButton é um microchip muito semelhante àqueles usados em cartões inteligentes. A diferença é que o microchip é alojado em um botão de aço inoxidável redondo e é projetado para uso em ambientes árduos e exigentes. Eles dependem de contatos físicos para conexão com o barramento 1-Wire.
As faixas de tensão 1-Wire típicas sobre as quais o dispositivo opera incluem:
Uma das características mais interessantes do barramento 1-Wire é que a energia pode ser aplicada pela linha de comunicação, em vez de necessitar de uma fonte de alimentação externa. Isso permite que sensores externos, como sensores de temperatura, sejam conectados apenas com fios de dados e terra, sendo alimentados através de energia parasita do barramento de dados. Isso pode economizar uma complexidade e fiação consideráveis em comparação com outros protocolos de comunicação em série que investigamos nesta série.
Uma conexão típica de dispositivo de barramento 1-Wire pode ser vista no seguinte diagrama de circuito:
No exemplo acima, um dispositivo mestre está controlando vários dispositivos escravos.
A maioria dos dispositivos 1-Wire requer energia extremamente baixa e não necessita de pinos de fornecimento de energia. Esses dispositivos extraem a energia de que precisam para operar da linha de dados 1-Wire, conhecida como fornecimento de energia parasita.
Uma configuração típica de alimentação parasita de um dispositivo 1-Wire pode ser vista no seguinte diagrama de circuito:
Existem vários dispositivos 1-Wire, que podem ser usados para aplicações incluindo sensação de temperatura, identificação, registro de tempo, EEPROM ou EPROM (programável uma única vez), autenticação segura, etc., permitindo a criação de dispositivos com aplicações variando desde identificação, autenticação de consumíveis, acessórios de PCB e computador, proteção de IP, controle de acesso aos sistemas de ronda de guarda, dinheiro eletrônico, tempo e presença, monitoramento de temperatura de alimentos ou segurança farmacêutica.
O valor do resistor de pull-up necessário para a conexão 1-Wire deve ser baixo o suficiente para fornecer corrente suficiente para alimentar o dispositivo, mas não tão baixo a ponto de os dispositivos escravos não conseguirem puxar a linha de dados para o nível lógico 0 com sucesso.
Os valores típicos de resistores de pull-up para uma conexão 1-Wire estão entre 1 kΩ e 4.7 kΩ. Isso estabelece a corrente de uma fonte de alimentação de 5 V entre 5 mA e 1.06 mA. Como exemplo, o dispositivo DS2480B requer um valor de corrente entre 1.5 mA e 5 mA para operar, tipicamente 3 mA.
No barramento 1-Wire, sempre há um mestre no controle geral, que pode ser um computador pessoal ou um microcontrolador. O mestre sempre inicia a atividade no barramento para evitar quaisquer colisões de transmissão. O dispositivo mestre é responsável por detectar e gerenciar quaisquer colisões provenientes da transmissão simultânea por múltiplos dispositivos escravos.
Os dispositivos transmitem usando pulsos baixos curtos e longos para representar os dados. Um pulso baixo de 1–15 µs equivale a um nível lógico 1, enquanto um pulso baixo de 60 µs equivale a um nível lógico 0. A borda de descida (negativa) do pulso é usada pelos dispositivos escravos para escutar a largura do pulso. Eles medem sua duração usando um multivibrador monostável muito básico. O mestre inicia as comunicações enviando um pulso de reset seguido por um comando de 8 bits, e então os dados são enviados ou recebidos em grupos de 8 bits. A detecção de erro é implementada usando uma simples verificação de redundância cíclica (CRC) de 8 bits.
Este artigo examinou algumas características do popular protocolo 1-Wire e discutiu algumas de suas vantagens e detalhes de implementação. Nos outros artigos desta série, vamos olhar para alguns dos protocolos de comunicação serial alternativos disponíveis.
Gostaria de saber mais sobre como o Altium Designer® pode ajudá-lo com o seu próximo projeto de PCB? Fale com um especialista na Altium.