A comunicação entre dois dispositivos pode ocorrer de diversas formas distintas. Entretanto, nem todas são robustas ao ruído, que é um grande problema nas comunicações de dados sensíveis. Portanto, vamos aprender sobre o padrão RS-485 que é confiável até em ambientes ruidosos.
Recomendo a leitura do post sobre comunicação serial assíncrona. Além disto, eis alguns posts complementares ao conteúdo: I2C, SPI, Modbus RTU.
Diferença entre comunicação e protocolo
Antes de explicar sobre a comunicação RS-485, vale diferenciar o conceito de comunicação e protocolo. Não há informações muitos claras a respeito do conceito de comunicação (neste contexto), então coloquei o conceito conforme usualmente é utilizado.
Simplificadamente, o protocolo é uma regra que age sobre os dados transmitidos/recebidos e a comunicação pode significar tanto um protocolo (ex: comunicação serial assíncrona, comunicação OneWrire…), quanto uma regra que atua sobre a parte física da transferência de dados (ex: RS485, RS232…).
Protocolo
Ou seja, o protocolo define como os 1’s e 0’s são interpretados. Vejamos o exemplo da comunicação serial assíncrona (protocolo): ela define que o modelo padrão de mensagem tem: um bit de início, 8 bits de dados, 1 bit de paridade e 1 bit de parada. Veja a imagem abaixo para entender

Além da comunicação assíncrona, existem outros protocolos, como I2C, SPI, OneWire…
Comunicação (meio físico)
Enquanto isso, a comunicação (um dos significados) define como dois dispositivos vão enviar ou receber dados fisicamente.
Por exemplo, na utilização física mais simples da comunicação serial (que é um protocolo), é necessário utilizar apenas dois fios ligados entre os dispositivo. Sendo que um fio serve para enviar os dados e o outro para receber. Veja esta implementação física na imagem abaixo:

Este conceito de comunicação pode ser bastante confuso, pois ele pode significar mais de uma coisa. A própria comunicação OneWire define tanto um protocolo quanto um meio físico (apenas 1 fio para fazer toda a transmissão/recepção dos dados).
O que é
A comunicação RS-485 é um padrão que define como dois dispositivos se comunicam fisicamente. Conforme o que foi discutido acima, ela não define nenhum protocolo, apenas descreve a parte física da comunicação.
É comum de usar ela com o protocolo da comunicação serial assíncrona. Ou seja, por padrão, são enviados 8 bits de dados, com um bit de parada e um bit de paridade para verificar erros.
Além disso, o padrão RS-485 define que a ligação física deve ser constituída por um par de fios trançados. Um dos fios recebe o nome de ‘A’ e o outro de ‘B’. E eles são utilizados para determinar o nível lógico do sinal recebido (0 ou 1).
De acordo com o padrão, é possível conectar até 32 dispositivos nestes dois barramentos (A e B). Sendo assim, é necessário ter um mestre (coordena a comunicação) e um escravo (responde ao mestre) conectados aos fios. Veja a imagem abaixo para entender.

O padrão RS-485 também define resistores de terminação que devem ser ligados na saída do barramento de cada dispositivo. Entretanto, não demonstrei eles na imagem acima. Para mais detalhes, recomendo ler este documento.
Funcionamento
O funcionamento da comunicação RS-485 é relativamente simples: A tensão do barramento ‘B’ é comparada com a do barramento ‘A’. Se a tensão em ‘B’ for maior que em ‘A’, o sinal recebido é 1. E, se a tensão em ‘A’ for maior, o sinal recebido é 0. Essa lógica pode ser invertida dependendo do caso. Há uma margem de tensão de +-0,2V.
A imagem abaixo ilustra o nível lógico do sinal conforme o estado de ‘A’ e ‘B’. Ela pode ser confusa a princípio, mas basta analisar com calma para entender.

- No 1º e 4º bit do gráfico acima,
- B=5v e A=0v, então VBA = 5-0 = 5v: nível lógico 1.
- No 2º e 3º bit:
- B=0v e A = 5v, então Vba = 0-5 = -5v: nível lógico 0.
Características
Como os dois fios juntos geram o sinal de saída, não é possível enviar e receber dados ao mesmo tempo. Portanto, um dispositivo deve esperar os barramentos ficarem “desocupados” para enviar alguma informação.
Sendo assim, por padrão, ele é uma comunicação half-duplex. Para o caso de uma comunicação com envio e recebimento simultâneo, pode ser utilizado mais um par trançado, resultando em uma comunicação full-duplex. Nesta situação, um par é ligado ao TX e outro ao RX do dispositivo.
O benefício deste tipo de comunicação é que ele é robusto contra ruído. Isso porque as interferências magnéticas ou elétricas ocorrem em ambos os fios, pois os dois estão trançados e sujeitos à mesma interferência.
Dessa forma, quando ocorre uma interferência e a tensão de ambos os fios aumenta, por exemplo, 0,1v, não tem problema, pois a diferença de tensão entre os dois continua a mesma. Ex:
- Inicialmente:
- B = 5v, A = 0v, VBA = 5-0 = 5v: nível lógico 1.
- Depois da interferência:
- B = 5,1v, A = 0,1v, VBA = 5,1-0,1 = 5v: nível lógico 1.
Dispositivo para criar a comunicação
Agora que entendemos o funcionamento por trás da comunicação RS-485, resta saber como utilizá-la na prática. Para isso, temos duas possíveis soluções.
A primeira é utilizar um transceiver e a segunda é utilizar uma plaquinha conversora. O transceiver pode ser o MAX485 (ou MAX487) que está mostrado na imagem abaixo:

A plaquinha possui o CI MAX485, mas a diferença é que ela já vem com as ligações feitas e com os terminais indicados. Ela pode ser vista na imagem abaixo:

Portanto, no fim das contas, os dois casos são iguais, mas utilizar a plaquinha é mais fácil e intuitivo. Entretanto, no caso de fazer um circuito mais profissional, é recomendado utilizar o CI.
O papel do CI e da plaquinha é de converter dados da comunicação serial assíncrona para o padrão RS-485 ou vice-versa. Portanto:
- Comparam o sinal recebido nos barramentos ‘A’ e ‘B’ e convertem em sinais binários 0 (0v) ou 1 (5v).
- Pegam os sinais binários 0 ou 1 do barramento serial assíncrono e converte em sinais do padrão RS-485.
Para alcançar esse objetivo, existem pinos auxiliares que definem se o dispositivo está recebendo ou transmitindo. Portanto, desabilitam o pino RX ou o TX (ambos da comunicação serial assíncrona), para que eles não fiquem interligados ao mesmo tempo.
Pois, se ficarem interligados, o dispositivo pode erroneamente enviar mensagem a si mesmo ou a mensagem que vem do barramento pode acabar voltando e ficar duplicada.
Observações
Mais detalhes sobre o padrão RS-485 podem ser lidos neste documento. Ele inclui mais detalhes da parte física, como os resistores de terminação e as limitações de distância da comunicação.
Seu artigo é bom, mostra bem os conceitos, mas faz uma confusão de termos técnicos.
Por exemplo, quando você diz: “há outros tipos de comunicações que definem um protocolo e a parte física, como a I²C”. Você trocou os termos. Acho que por falta de uma referência do modelo de camadas OSI.
I²C é um protocolo, assim como MudBus também é um protocolo. Como qualquer protocolo, existe um documento (norma) que define em quais níveis da camada OSI eles operam. Um dos meios físicos que ambos os protocolos atuam (aqui chamados de comunicação) é o RS485 ou pode ser o RS232. Ambos são meios físicos de barramento serial assícronos. No modelo de camadas OSI o meio físico é a camada 0 (dentre 7 camadas) e faz parte da definição do protocolo (o protocolo contempla o meio físico) e não o contrário.
Muitíssimo obrigado pelo seu comentário, Patrick. Realmente, fiz confusão nos conceitos e agradeço pelo esclarecimento. E já corrigi o artigo. Eu não conhecia esta definição de camada OSI e com certeza é algo que estudarei para entender mais a fundo destes assuntos. Abraço!