RS-232 (também conhecido por EIA RS-232C ou V.24)
é um padrão para troca serial de dados binários entre um DTE (terminal de dados, de Data Terminal equipment) e um DCE (comunicador de dados, de Data Communication equipment).
É comumente usado nas portas seriais dos PCs.
HISTÓRIA
Este padrão foi
originalmente usado para conectar um teletipo (equipamento eletromecânico de
comunicação assíncrona que usava código ASCII)
a um modem. Quando terminais
eletrônicos (burros ou não) começaram a ser usados, eram projetados para serem
intercambiáveis com as teletypewriters,
e também suportavam RS-232. A terceira revisão deste padrão (chamada de
RS-232C) fora publicada em 1969,
em parte para adequar-se às características elétricas destes dispositivos.
Deste modo, fora utilizado em diversos tipos de comunicação remota,
especialmente por modems. Posteriormente PCs (e outros equipamentos) começaram a
utilizar este padrão para comunicação com equipamentos já existentes. Quando a IBM lançou
computadores com uma porta RS-232, esta interface tornou-se realmente
onipresente. Por muitos anos o padrão para comunicação serial em quase todos os
computadores era algum tipo de porta RS-232. Continuou sendo utilizado em
grande escala até o fim dos anos 90. Durante este tempo esta foi a maneira
padrão para a conexão de modems.
Uma exceção eram
os mainframes, que geralmente não
se comunicavam diretamente com dispositivos terminais. Estes costumavam ter
processadores especializados em I/O conectados a eles, por exemplo, alguns
mainframes da IBM possuíam uma unidade de controle de telecomunicação (TCU - Telecommunication Control Unit,
Unidade de Controle de Telecomunicação) anexados a seus canais multiplexadores. O TCU deveria
suportar múltiplos terminais, às vezes centenas. Vários desses TCUs suportavam
RS-232 quando necessário, assim como outras interfaces seriais.
Há alguma confusão
sobre o que a EIA (Eletronics Industries Alliance) padronizou no RS-232.
Este padrão apenas especifica características elétricas dos circuitos e a
numeração dos pinos. Outras características como o conector em forma de
"D", o uso de código ASCII, formato dos dados e comunicação
assíncrona não são parte do RS-232, a palavra "padrão", porém, é
utilizada geralmente quando todos estas características aparecem juntas, de
modo a tornarem-se efetivamente obrigatórias. Foram construídas em torno de
100.000 teletypewriters (33-ASR) e milhares de PCs feitos toda
semana, todos eles podem atuar como teletypewriters virtuais. Uma única característica que
era utilizada em teletypewriters e que fora abandonada é que uma teletypewriter real requer dois bits de parada para trabalhar de modo satisfatório, deste modo um caractere ocupava 11
bits. Por isso teletypewriters de 100 palavras por minuto transmitiam
a 110 bauds. Hoje em dia
utiliza-se apenas um bit de parada. Sendo que trataremos aqui uma simulação de
um 33-ASR, não o documento RS-232.
A IBM favoreceu o
uso do código EBCDIC de oito bits ao invés do ASCII com
sete bits, favoreceu também um formato de transmissão "big endian" ao
invés do formato "little endian" do ASCII. A IBM ofereceu suporte a
esses outros formatos de modo que, para transmitir caracteres "little
endian", o mainframe precisaria somente inverter cada caractere usando uma
instrução para tradução de bloco. Os primeiros teletypewriters tinham três linhas de teclas e
suportavam somente letras maiúsculas. Elas utilizavam o código Baudot e, geralmente, trabalhavam a taxas de
60 palavras por minuto. Os equipamentos com teclados de quatro linhas, código
ASCII e letras maiúsculas e minúsculas começaram a aparecer quando computadores
pessoais se popularizaram. Os circuitos integrados de comunicação serial UART, introduzidos no início dos anos
70, continuam sendo emulados por muitos chipsets e ainda suportam os primeiros
formatos, incluindo 1,5 bits de parada. Contudo tais recursos são raramente
utilizados. Algumas tecnologias utilizam muito esse protocolo. A importância de
portas seriais começou a decrescer gradualmente quando redes de alta velocidade
tornaram-se disponíveis para comunicação PC com PC. Hoje é comum utilizar
conexões Ethernet Base 10, 100 ou 1000. Num futuro próximo,
velocidades ainda maiores serão comuns.
ABRANGENCIA DO PADRÃO
A Eletronics Industries Association (EIA),
que padronizou o RS-232-C em 1969 define:
·
Características
elétricas como níveis de tensão, taxa de sinalização, taxa de rotação dos
sinais, nível máximo de tensão, comportamento de curto-circuito e carga máxima
da capacitância.
·
Características
mecânicas da interface, conectores "plugáveis" e identificação dos
pinos.
·
Funções
de cada circuito no conector da interface
·
Subconjuntos
padrões de circuitos de interface para aplicações selecionadas de
telecomunicação
O padrão não define elementos como:
·
Codificação
de caracteres (por exemplo, ASCII, código Baudot ou EBCDIC)
·
Enquadramento
dos caracteres no fluxo de dados (bits por caractere, bits de início e parada,
paridade)
·
Protocolos
para detecção de erros ou algoritmos para compressão de dados
·
Taxas
de bit para transmissão, apesar de o padrão dizer ser destinado para taxas de
bits menores que 20.000 bits por segundo. Muitos dispositivos modernos suportam
velocidade de 115.200 bit/s
·
Fornecimento
de energia para dispositivos externos
Detalhes do padrão
No protocolo de
comunicação RS-232, caracteres são enviados um a um como um conjunto de bits. A
codificação mais comumente usada é o "start-stop assíncrono" que usa
um bit de início, seguido por sete ou oito bits de dados, possivelmente um bit de paridade, e um, 1,5 ou dois
bits de paragem sendo então necessários pelo menos 10 bits para enviar um único
caractere. Tal facto acarreta a necessidade em dividir por um fator de dez a
taxa de transmissão para obter a velocidade de transmissão. A alternativa mais
comum ao "start-stop assíncrono" é o HDLC. O padrão define os níveis
elétricos correspondentes aos níveis lógicos um e zero, a velocidade de
transmissão padrão e os tipos de conectores.
CONECTORES
O padrão
especifica 20 diferentes sinais de conexão, e um conector em forma de D é
comumente usado. São utilizados conectores machos e fêmeas - geralmente os
conectores dos cabos são machos e os conectores de dispositivos são fêmeas - e
estão disponíveis adaptadores m-m e f-f. Há também os chamados "null
modems" para conectar unidades utilizando-se ambas como terminais de dados
(ou modems). Para
configuração e diagnóstico de problemas com cabos RS-232 pode-se utilizar uma
"breakout box". Este dispositivo possui um conector macho e um
conector fêmea e deve ser anexado em linha. Além disso, possui luzes para cada
pino e meios de interconectar os pinos com diferentes configurações.
A maioria dos
pinos são inutilizados pela maioria dos dispositivos sendo, então, comum que
máquinas economizem espaço e dinheiro, utilizando conexões menores. A segunda
geração dos IBM PC AT foi disponibilizada com um conector em forma de D com
apenas 9 pinos, tornando-se o padrão. Grande parte dos dispositivos utilizam
conectores de 25 pinos. Consequentemente, cabos com 9 pinos em uma extremidade
e 25 em outra são comuns. O Apple
Macintosh utilizava um sistema
similar, mas posteriormente mudou para um novo conector com apenas 8 pinos, menos
que o necessário para um modem.
Os cabos para
RS-232 podem ser construídos com conectores disponíveis em qualquer loja de
eletrônicos. Os cabos podem ter de 3 a 25 pinos. Cabos "Flat RJ"
(cabos de telefone) podem ser usados com conectores RJ-RS232 e são os de mais
fácil configuração. A razão pela qual é possível criar uma interface mínima com
apenas três fios é que todo sinal RS-232 utiliza o mesmo fio terra para
referência. O uso de circuitos desbalanceados deixa o RS-232 altamente
suscetível a problemas devido a diferenças de potencial entre os sinais de
terra dos dois circuitos. Este padrão também tem um pobre controle dos tempos
de picos e descidas do sinal, levando a potenciais problemas de comunicação.
O RS-232 é
recomendado para conexões curtas (quinze metros ou menos). Os sinais variam de
3 a 15 volts positivos ou negativos, valores próximos de zero não são sinais
válidos. O nível lógico um é definido por ser voltagem negativa, a condição de
sinal é chamada marca e tem significado funcional de OFF (desligado). O nível
lógico zero é positivo, a condição de sinal é espaço, e a função é ON (ligado).
Níveis de sinal +-5, +-10, +- 12 e +-15 são vistos comumente, dependendo da
fonte elétrica disponível.
Marca e espaço são
termos herdados das teletypewriters.
O modo de comunicação nativo destas eram simples séries de circuitos de corrente contínua que são interrompidos, muito similar
aos telefones que possuíam as "rodas de discagem" que interrompiam o
sinal telefônico. A condição de marca é quando o circuito está fechado e a
condição de espaço, quando o circuito está aberto. O início de um caractere é
sinalizado por um espaço e os bits de parada são marcas. Quando a linha é
interrompida, a teletypewriter entra num ciclo contínuo mas nada é
impresso porque tudo o que é recebido são zeros, o caractere NULL.
Três são os sinais
carregados por esses fios: terra, transmissão/recepção e "handshake".
Existem códigos para estes sinais, por exemplo:
Sinal
|
Significado
|
SG ou GND
|
Terra
|
TD ou TX
|
Transmissão de dados
|
RD ou RX
|
Recepção de dados
|
DTR
|
Terminal de dados pronto
|
DSR
|
Conjunto de dados pronto
|
RTS
|
Pronto para enviar(computador)
|
CTS
|
Envie os dados (modem)
|
DCD
|
Portadora detectada
|
RI
|
Indicador de telefone tocando
|
FG
|
(Frame Ground)
|
Os dispositivos
RS-232 podem ser classificados em DTE e DCE. Essa classificação permite definir
quais fios irão mandar e/ou enviar sinais de dados. De qualquer modo, estas
definições nem sempre seguidas. Normalmente é necessário consultar a
documentação ou testar as conexões com uma "breakout box" para
determinar os sinais necessários.
O sinal de terra
tem a função de aterrar as outras conexões e é necessário. Se os equipamentos
estiverem muito longe, com diferentes fontes de eletricidade, o terra se
degradará entre os dois dispositivos e a comunicação irá falhar, sendo esta uma
condição difícil de traçar. Em conectores de 25 pinos, o pino 7 geralmente é o
terra (pino 1 e terra do chassis são raramente usados). Neste mesmo conector,
os pinos 2 e 3 são os pinos de transmissão e recepção, um dispositivo deve
enviar no 2 e receber no 3; o outro deve ser o contrário (se não, essa inversão
deve ser feita no fim do cabo, como num cabo para null modem, também chamado crossover). No caso de
desenvolver cabos para uma conexão, pode-se testá-lo com uma breakout box qual pino está transmitindo.
Estritamente falando, apenas um dispositivo precisa estar transmitindo (se não
for necessária comunicação duplex ou um handshake),
por exemplo uma impressora simples que não responde seu estado para o
computador. Necessariamente, deve-se utilizar tanto o pino TX quanto o pino RX.
Outros handshakes podem ser necessários por um ou por
outro dispositivo. Por exemplo, o pino 20 é comumente usado para indicar
"dispositivo pronto". Os pinos também podem ser curto-circuitados. Por exemplo, um
pino que pergunte "você está pronto?" que parte do dispositivo A pode
ser ligado diretamente no pino referente a resposta "estou pronto" no
dispositivo A se o dispositivo A não transmitir tal sinal. Os pinos normalmente
utilizados para handshake são os pinos 20, 8, 4 e 6.
Nenhum comentário:
Postar um comentário