Comunicação Serial Usando o Protocolo RS232 (TEL213)

Este artigo é de 2003, mas ainda é atual, pois existem diversas instalações industriais que usam este protocolo na comunicação de suas máquinas. Veja neste artigo como funciona a RS232 na indústria.

Os equipamentos usados na Indústria e em automação estão cada vez mais “inteligentes”,utilizando recursos da informática tanto para controle quanto para informar uma central sobre o andamento da produção.

Uma das formas mais empregadas para enviar dados de uma máquina a um computador, e vice-versa, é através de uma linha de comunicação serial sendo a mais conhecida á RS-232. Veja, nesse artigo, como funcionam as comunicações RS-232 e o que elas podem fazer por seus equipamentos.

Os modos de comunicação entre os elementos são divididos normalmente em duas categorias: terminação simples e diferencial. O protocolo RS-232 foi estabelecido em 1962 e era chamado EIA232.

Ele foi criado para ser usado com as antigas máquinas de teletipo, mas devido a sua simplicidade e versatilidade tornou-se um padrão que até hoje é adotado em aplicações de curta distância, principalmente as que envolvem a comunicação entre as máquinas (sensores e efetores) e os computadores que as controlam.

O interfaceamento RS-232 pressupõe um aterramento entre os dois dispositivos envolvidos na comunicação de dados chamados DTE e DCE.

DTE significa Data Terminal Equipment e normalmente consiste de um PC. DCE quer dizer Data Circuit-terminating Equipment e consiste no elemento que irá receber (ou enviar) os sinais de controle ao PC.

Na figura 1 mostramos o modo como os dois dispositivos são interligados em um sistema básico de comunicação usando o protocolo RS-232 (definido pela norma EIA232).

 

Interligação de dois dispositivos utilizando o protocolo RS-232.
Interligação de dois dispositivos utilizando o protocolo RS-232.

 

 

OS TIPOS DE SINAÍS

Os sinais enviados estão na forma serial conforme já explicamos, o que significa que os bits são enviados sequencialmente, um a um, através de uma linha única de comunicações.

Eles são representados por níveis de tensão e a comunicação é bilateral, ou seja, “full-duplex”, que inicialmente tinha uma velocidade relativamente baixa de 20 Kb/s com um alcance também pequeno.

No protocolo RS-232, as tensões na faixa de +3 a +15 volts são reconhecidas como níveis baixos, enquanto que as tensões de -3 a -15 volts são reconhecidas como níveis altos. Observe que a lógica negativa aplicada ao caso visa a obtenção de maior segurança na transmissão dos dados. Em determinadas documentações técnicas essa tensão pode ser encontrada com valores até -25 V e +25 V.

Na figura 2 temos um gráfico em que as faixas de sinais são representadas.

 

Faixas de sinais
Faixas de sinais

 

 

Note que a faixa entre -3 V e +3 V consiste numa região “indeterminada” em que não na reconhecimento de nível lógico, da mesma forma que acontece com os circuitos lógicos digitais comuns em que também temos essa faixa.

É interessante observar que algumas variações ocorrem para essa faixa. Assim, para o padrão V.10, a faixa morta está entre +0,3 V e - 0,3 V, ao passo que existem dispositivos que podem trabalhar com níveis de tensão menores que 1 V.

Devemos ainda lembrar que muitos computadores modernos aceitam a tensão 0 V como nível alto. Com isso, circuitos alimentados por 5 V podem excitar diretamente dispositivos RS-232 sem a necessidade de gerar tensões negativas.

É claro que esse estreitamento da faixa faz com que tenhamos certas limitações na velocidade e distância em que as comunicações podem ser feitas.

O uso de tensões positivas e negativas leva ao sistema a denominação “diferencial”. O emprego de sinais diferenciais tem por finalidade minimizar os efeitos de ruídos, ou ainda da própria influência de aterramentos.

A faixa ampla de valores de tensão possibilita, inclusive, que os sinais sejam transmitidos por longos percursos sem que haja uma atenuação considerável que reduza sua amplitude tendo efeitos sobre sua integridade.

É importante notar que a inserção de um instrumento ou circuito de prova que tenha uma impedância relativamente baixa como, por exemplo, um LED em um circuito RS-232 para verificação de funcionamento, faz com que as tensões caiam para valores bem próximos dos mínimos da faixa indicada.

Também há exemplos de periféricos cujos circuitos são alimentados diretamente por estas tensões (não possuem fontes de tensão próprias), caso em que a queda de tensão que acontece na linha pode ser muito importante para seu funcionamento.

Nessas situações, é preciso manter os cabos mais curtos do que nas aplicações convencionais.

As portas RS-232 são projetadas para suportar a condição de circuito aberto, caso em que a tensão atinge o valor máximo e a condição de curto-circuito no cabo, sem o perigo de danos aos componentes.

No entanto, é preciso tomar cuidado no que se refere à indutância do cabo. Se for elevada, poderá fazer com que, na comutação, sejam geradas tensões maiores do que 25 V ou que o máximo recomendado pelo fabricante do dispositivo. Essas tensões podem causar danos aos circuitos.

 

LIMITES DE CORRENTE E TENSÃO

Uma porta RS-232 pode fornecer uma corrente limitada a um dispositivo remoto. O número de linhas de saída, o tipo de Cl de interface e o estado das linhas de saída devem ser considerados quando se projeta um sistema.

Os tipos de Cls drivers usados na porta serial podem ser divididos em três categorias:

- Drivers que precisam de alimentação simétrica como os da série 1488. A maioria dos PCs emprega esse tipo;

- Drivers de baixa potência que exigem fontes simples de +5 V. Esse tipo de driver possui um conversor DC/DC interno para conversão de tensão. Muitos tipos de microcontroladores para uso industrial o utilizam;

- Drivers de baixa potência para 3,3 V que operam de acordo com o padrão EIA562 encontrados em notebooks, laptops e microcontroladores.

O circuito equivalente a um sistema de comunicação RS.-232 é ilustrado na figura 3.

 

Circuito equivalente a um sistema de comunicação RS-232
Circuito equivalente a um sistema de comunicação RS-232

 

 

São definidos 25 sinais, mas na prática são usados menos de 10. São eles:

Pino 2 - Transmissão de dados de DTE para DCE;

Pino 3 - Transmissão de dados de DCE para DTE;

Pino 20 - DTR, o equipamento DTE está operando (também indicado por DTE Ready);

Pino 6 - DSR - o equipamento DCE está operando;

Pino 4 - RTS - pedido de DTE para iniciar o envio;

Pino 5 - CTS - DCE está pronto para receber;

Pino 8 - DCD - o DCE detecta a portadora;

Pino 7 - Massa;

Pino 1 - Terra de proteção.

Os sinais menos usados são:

Pinos 15, 17, 24 - Clock empregado apenas nas comunicações síncronas.

 

Conexões

As conexões entre os dispositivos DTE e DCE de um sistema RS-232 usam diversos tipos de conectores cujas pinagens são padronizadas.

Na figura 4 vemos a pinagem de um conector DB-9, definida pela norma EIA-574, encontrada nas portas de comunicações do PC e que e usada na comunicação assíncrona de dados (RS-232/V.24).

 

Pinagem do conector DB9
Pinagem do conector DB9

 

Para aplicações assíncronas também encontramos um conector modular cuja pinagem é definida pela norma EIA-561. Esse conector é mostrado na figura 5, onde também são vistos os sinais encontrados em cada uma das oito linhas.

 

Conector modular
Conector modular

 

Para o conector DB25, que use dados binários seriais, temos a pinagem ilustrada na figura 6.

 

 Conector DB25
Conector DB25

 

 

Especificações:

- Modo de operação: terminal simples;

- Total de drivers e receptores numa linha: 1 drivere 1 receptor;

- Comprimento máximo de cabo: 50 pés (15 metros);

- Máxima velocidade de transmissão de dados: 20 kb/s;

- Tensão máxima de saída: +/- 25 V;

- Sinal de saída do driver (carregado): +/- 5 V a +/- 15 V;

- Impedância de carga do driver. 3 a 7 kΩ;

- Taxa de crescimento (máx): 30 V/ps;

- Resistência de entrada do receptor: 3 k a 7 kΩ.

A maioria das 22 linhas de sinais do padrão EIA232 pertencem a conexões em que o DCE é um modem, caso em que se usa um protocolo que exige todas elas.

Para aplicações industriais em que o dispositivo remoto ligado ao PC não é um modem, ou ainda onde dois dispositivos DTE são interligados, um número menor de linhas é necessário.

Assim, as ligações dos pinos 15, 17 e 24 são utilizadas somente se o protocolo exigir uma transmissão síncrona.

É interessante observar que em muitos casos, como a norma e usada para interligação direta, as características de equipamentos de fabricantes diferentes podem não casar, e isso pode acarretar problemas de funcionamento.

 

A TRANSMISSÃO

Na figura 7 mostramos a forma como um caractere típico ASCII é transmitido.

O modo mais comum de transmissão de sinais e o assíncrono (em que não há necessidade do transmissor estar sincronizado com o receptor, pois ele é informado quando cada “pacote de dados” começa e termina) dispondo de bits de start e stop.

Assim, o sinal é formado por bits individuais que são enviados (um a um) em um “pacote” de tamanho definido no formato ASCII.

A quantidade de bits de cada pacote pode variar de 5 a 8, os quais são enviados depois de um sinal de start que é reconhecido quando a linha, que está normalmente no nível 1 (negativa), passa para o nível 0 (positiva).

No flanco descendente do sinal (passagem de 1 para 0) há o reconhecimento do aviso de início de transmissão de mensagem.

No final do pacote de bits de dados é enviado também um bit de paridade que serve para verificar se a informação chegou correta, e depois um bit de stop.

Se este foi o último pacote, O nível da linha se mantém alto (1); mas se um novo pacote deve ser enviado, temos nova transição do nível 1 para o zero, que é reconhecida como start, e o processo se repete.

Observe que o sincronismo deste modo de transmissão é feito com base no bit de start de cada pacote.

No entanto, este processo de transmissão traz alguns problemas quando se pretende uma velocidade muito alta.

Para altas velocidades, o formato usado é aquele que apresentamos na figura 7 onde temos um ou dois bytes de sincronismo.

 

 

Forma como um caracter típico ACSII é transmitido.
Forma como um caracter típico ACSII é transmitido.

 

 

No caso do código ASCII, este byte é 0 0010110, seguindo-se então dois bytes de dados. Como a transmissão deve ser contínua, bytes de sincronismo devem ser intercalados quando necessário.

 

PROTOCOLOS

Há duas técnicas de protocolos de comunicação: a de protocolo por sinais e de protocolo por códigos.

No “protocolo por sinais” são empregados alguns dos sinais da própria norma EIA232 para que os dispositivos conectados possam (ou não) receber as informações. Podem ser empregados dois pares de sinais para esta finalidade como o DTR/DSR ou ainda o RTS/CTS.

No primeiro caso, o sinal DTR ou RTS indica que o dispositivo DTE está conectado e pronto, enquanto que o sinal DSR ou CTS indica que é o dispositivo DCE que está pronto.

No protocolo por códigos há diversas técnicas possíveis todas baseadas em códigos. Uma delas é a que utiliza os códigos, XON (caractere DCS no ASCII) e XOFF (caractere DC1 em ASCII) para que o receptor possa avisar se está ou não em condições de receber as informações.

O funcionamento deste protocolo pode ser descrito em detalhes da seguinte maneira: inicialmente partimos da condição em que o receptor está pronto para receber informações, quando, então, o transmissor começa seu envio.

No momento em que a memória do receptor se aproxima do ponto de saturação, o receptor envia ao transmissor um sinal XOFF para que ele pare de enviar as informações. Quando a memória esvazia, à medida que o receptor vai usando as informações, e chega a um nível que pode receber mais, um sinal XON é enviado ao transmissor.

É possível também encontrar em algumas aplicações o protocolo que usa os caracteres ASCII ETX e ACK. O funcionamento deste protocolo é o seguinte: partindo do momento em que o transmissor pode receber sinais, ele envia uma série de pacotes que finaliza com o código ETX.

Assim que o receptor termina de assimilar a informação enviada e está pronto para receber mais, ele envia ao transmissor o sinal ACK. Os pacotes de informação adotados por este protocolo variam em tamanho de 80 a 132 bytes.

 

Considerações Sobre Cabos

É possível enviar sinais com segurança em uma linha a distâncias maiores que os 15 metros especificados como limite, mas isso depende de diversos fatores.

Evidentemente, não é possível blindar ou evitar de modo efetivo ruídos em um par trançado. Mesmo que seja feita a blindagem, podemos evitar os ruídos externos, mas não os problemas gerados internamente no próprio cabo.

A medida que a velocidade aumenta, os problemas de velocidade se tornam cada vez mais acentuados pelo efeito da capacitância do próprio cabo. Blindando cada fio do par, ou ainda usando fios de baixa capacitância, esse inconveniente problema pode ser eliminado.

Ao escolhermos um cabo para uma interface RS-232, deveremos estar atentos a algo mais do que o número de condutores do cabo e sua “bitola”. Precisaremos ainda estar atentos à:

a) Impedância característica (Ω) - essa especificação é baseada nas características físicas do cabo e representa a impedância que um fio de comprimento infinito apresenta. Se essa impedância for igual à da terminação, o circuito do outro lado “vê” esse cabo como se ele não tivesse carga e fosse dotado de um comprimento infinito, evitando assim a ocorrência de reflexões dos sinais capazes de trazer problemas.

b) Capacitância Shunt (pF por metro ou pé) - e' a capacitância apresentada pelo fio por unidade de comprimento adotada. Deve ser a menor possível.

c) Velocidade de propagação - (indicada em porcentagem da velocidade da luz).

 

Conclusão

Não basta interligar um computador a uma ou mais máquinas para se usar eficientemente o protocolo RS-232. Conhecendo o modo como ele funciona, podemos evitar problemas simples como, por exemplo, os causados pelos cabos.

Artigo publicado originalmente em 2003

 


Localizador de Datasheets


N° do componente 

(Como usar este quadro de busca)

Opinião

Mudanças realizadas (OP206)

Nas últimas semanas nosso site e mesmo nossa empresa passaram por diversas modificações, atualizações e lançamentos. Assim, muitos podem ter percebidos alguns problemas de instabilidade do site em certos momentos nas semanas passadas.

Leia mais...