Skip to content. Skip to navigation

Eletronica.org

Sections
Personal tools
You are here: Home Artigos Eletrônica Digital e Sistemas Embarcados Padrão Serial RS-232

Document Actions

Padrão Serial RS-232

by Roberto Alcântara Filho — last modified 05/05/2008 01:00

Também conhecido por EIA RS-232C ou V.24, o RS-232 é um padrão bastante antigo mas que continua sendo bem utilizado por sua simplicidade e confiabilidade.


Como Funciona

Como qualquer dispositivo de transmissão serial, os bit são enviados um à um, sequencialmente, e normalmente com bit menos significante primeiro (LSB). Por ser um protocolo assíncrono isto é, sem uma linha de relógio (clock), é responsabilidade do transmissor e do receptor efetuarem controles de tempo para saber quando cada bit inicia e finaliza.

Na sua forma padrão o RS-232 utiliza dois sinais de controle, o RTS (ready to send)  e o CTS (clear to send) para efetuar o controle de fluxo via hardware. Basicamente, quando o transmissor deseja começar um envio ele sinaliza através do pino RTS. O receptor, ao perceber que o transmissor deseja enviar algum dado, prepara-se para recebe-lo e seta o pino CTS. Apenas depois de receber o sinal CTS o transmissor pode começar a transmissão.

Para cada byte existem bit de start e stop; o mais comum é utilizar-se 1 bit de início (start bit) e 1 bit de parada (stop bit), mas é possível encontrar aplicações que utilizam 1,5 ou 2 bit de início/parada. A figura abaixo mostra como a transmissão de um byte ocorre:


Transmissão Byte Serial RS-232


Como já citado anteriormente, esta transmissão é assíncrona. Tendo a velocidade de comunicação ajustada nos dois dispositivos inicialmente, cada um deles sabe quanto tempo um bit demora para ser transmitido, e é com base nisto que a identificação dos bit é possível.

No transmissor o envio basicamente resume-se à enviar um bit de início, aguardar um tempo, e enviar os próximos 8 bit + bit de parada, com o mesmo intervalo de tempo entre eles.

No receptor, após a primeira borda de descida (nível lógico de "1" para "0") (start bit) o receptor sabe que uma sequencia de mais 8 bit de dados + bit de parada chegará. Ele também conhece a velocidade de transmissão, então tudo que ele precisa fazer é aguardar o tempo de transmissão entre cada bit e efetuar a leitura. Após receber o bit de parada, a recepção encerra-se e ele volta à aguardar o próximo start bit.

Nos microcontroladores modernos todo este trabalho normalmente é efetuado por uma UART (Universal Asynchronous Receiver Transmitter). Este periférico encarrega-se de efetuar todo o controle e apenas gerar interrupções quando um byte é recebido. No entanto, algumas vezes o microcontrolador utilizado não possui uma UART, ou mesmo ela está sendo utilizada. Nestes casos é possível implementar uma interface serial através de software, tratando a seqüência de transmissão e recepção descrita anteriormente.

Na interface RS232 o nível lógico "1" corresponde à uma tensão entre -3V e -12V e o nível lógico "0" à uma tensão entre 3V e 12V. Valores de tensão entre -3V e +3V são indefinidos e precisam ser evitados. O estado idle da linha é 1 lógico (-V).

Porém a grande maioria dos periféricos que trabalham com portas seriais não utilizam o padrão RS232 para níveis elétricos diretamente. Portanto é sempre necessário um circuito de conversão de nívels TTL/RS232. O circuito integrado mais comum para efetuar esta conversão, de baixo custo, é o MAX232 que possui alimentação TTL.


Abaixo você pode ver os dois conectores mais utilizados no padrão RS-232, o DB9 e o DB25, com seus respectivos pinos:

RS232 DB9 DB25
CTS Clear To Send [DCE –> DTE]
DCD Data Carrier Detected (Tone from a modem) [DCE –> DTE]
DCE Data Communications Equipment eg. modem
DSR Data Set Ready [DCE –> DTE]
DSRS Data Signal Rate Selector [DCE –> DTE] (Not commonly used)
DTE Data Terminal Equipment eg. computer, printer
DTR Data Terminal Ready [DTE –> DCE]
FG Frame Ground (screen or chassis)
NC No Connection
RCk Receiver (external) Clock input
RI Ring Indicator (ringing tone detected)
RTS Ready To Send [DTE –> DCE]
RxD Received Data [DCE –> DTE]
SG Signal Ground
SCTS Secondary Clear To Send [DCE –> DTE]
SDCD Secondary Data Carrier Detected (Tone from a modem)[DCE –> DTE]
SRTS Secondary Ready To Send [DTE –> DCE]
SRxD Secondary Received Data [DCE –> DTE]
STxD Secondary Transmitted Data [DTE –> DTE]
TxD Transmitted Data [DTE –> DTE]


Grande parte da confiabilidade do padrão deve-se à sua boa imunidade à ruídos, por ter níveis elétricos diferenciais em suas linhas. Mesmo assim, o padrão RS-232 é destinado à aplicações de curto alcance. Outras interfaces, como RS-485 são mais recomendadas quando grandes distâncias são necessárias.


Roberto Alcântara
roberto@eletronica.org





Acesso rápido: Lista Completa de Projetos | Diretório de Artigos | Apostilas & E-Books | Política de Privacidade

Publicidade

 
Assine o informativo Eletronica.org Grupos de Usuários O'Reilly

Log in


Forgot your password?
New user?
Recent Changes
All recent changes…
Conheça Também
Sites em Português
  - Neoradix
  - DQSoft
  - Gabiarra
  - SafiraTec
  - Feira de Ciências
  - RoboFEI
  - Transistor548
  - Rogercom.com
  - Pise na Grama
  - Electronics.com.br
  - Tecnocientista.info

Listas em Português
  - PicListBrasil
  - SisEembarcados

Sites em Inglês
  - Embedded.com
  - Hack a Day
  - Electr. Design
  - Arch Embedded!



[O que é isso?]
 

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: