Você está na página 1de 37

UNIVERSIDADE DO ESTADO DO RIO DE JANEIRO

FEN-DETEL - DEPARTAMENTO DE ELETRÔNICA E TELECOMUNICAÇÕES

A Interface Serial
e o Padrão RS-232

Prof. GIL PINHEIRO


Rev. 11/10/2011

GIL PINHEIRO REDES DE COMUNICAÇÃO


1
A Interface Serial
e o Padrão RS-232
• Objetivo: apresentar a comunicação
serial assíncrona e o padrão de interface
física RS-232
Rev. 11/10/2011

GIL PINHEIRO REDES DE COMUNICAÇÃO


2
Interface Serial e o
Padrão RS-232
• A Interface Serial
• O padrão RS-232
• Exemplos / Laboratório
Rev. 11/10/2011

GIL PINHEIRO REDES DE COMUNICAÇÃO


3
A Interface Serial
Rev. 11/10/2011

GIL PINHEIRO REDES DE COMUNICAÇÃO


4
Interface Paralela/Serial
• Os PCs e a maioria dos dispositivos possui um barramento
paralelo interno que interliga a CPU aos outros periféricos
internos (RAM, ULA, Registradores, EEPROM,...)
• A comunicação serial é predominante nos padrões de
interface (LANs, RS-232, 485, wireless, etc)
• Os dispositivos utilizam uma UART (Universal Asyncronous
Receiver Transmitter) para conversão serial / paralela. Há
também as USART (Universal Synchronous Asyncronous
Receiver Transmitter), capazes de comunicação síncrona
CLP
PC
0 0 1 0 1 1 1 0 0 0
1 1
0 UART UART 0
Rev. 11/10/2011

1 1
1 1
1 1
GIL PINHEIRO
0 UART REDES DE COMUNICAÇÃO UART
UART 0
0 0 5
Arquitetura de uma UART
• Uma UART implementa a Camada Física e algumas
funções da Camada de Enlace da comunicação
• A mais famosa UART em uso em PCs era o Chip 8250,
que, foi melhorado, com acréscimo de buffers e outras
facilidades resultando na UART 16550, que é embutida
nem chipsets usada em PCs
• Atualmente, existem conversores USB/RS232 e
Ethernet/RS232

UART
Rev. 11/10/2011

GIL PINHEIRO REDES DE COMUNICAÇÃO


6
Arquitetura de um Microcontrolador
• Em destaque
– UART
– Timer /
Counter
– EEPROM
– I/O
– Comparador
analógico
– PWM
Rev. 11/10/2011

GIL PINHEIRO REDES DE COMUNICAÇÃO


7
A Interface Serial Assíncrona
Rev. 11/10/2011

GIL PINHEIRO REDES DE COMUNICAÇÃO


8
A Interface Serial Assíncrona
• Parâmetros
– Data bits: 7 ou 8
– Paridade: Não, Par ou Impar
– Stop Bits: 1 ou 2
– Velocidade (Baud Rate): 110, 300, 600,
1200, 4800, 9600, 19200, 38400 bits/s
Rev. 11/10/2011

GIL PINHEIRO REDES DE COMUNICAÇÃO


9
A Interface Serial Síncrona

• Sincronismo a cada bit enviado


• Dois sinais:
– DATA: dados enviados
– CLOCK: sincronismo de relógio
• Sinal de relógio pode ser enviado como:
– Sinal a parte
Rev. 11/10/2011

– Embutido junto com os dados

GIL PINHEIRO REDES DE COMUNICAÇÃO


10
Diferenças Assíncrona x Síncrona

• Assíncrona
– Baixo custo
– Baixo rendimento (< 80%)
– Baixa taxas de transmissão (da ordem de 105 bits por
segundo)
– Para seqüências pequenas de bits (até 8 bits por frame da
UART)
• Síncrona
– Mais cara
– Alto rendimento (> 90%)
– Altas taxas de transmissão (da ordem de 108 bits por
segundo)
Rev. 11/10/2011

– Capaz de lidar com frames de milhares de bits sem erros

GIL PINHEIRO REDES DE COMUNICAÇÃO


11
O Padrão RS-232
Rev. 11/10/2011

GIL PINHEIRO REDES DE COMUNICAÇÃO


12
O Padrão RS-232
• Padrão de Camada Física (modelo ISO/OSI)
• Interface serial, ponto a ponto (2 nós), de baixa
velocidade (até 115 kbps)
• Criado no final dos anos 1950, para interligar
modems à terminais de mainframes
• O padrão suporta os modos síncrono e assíncrono.
Porém, o modo síncrono raramente é utilizado
• Para atender ao modo síncrono, há sinais de relógio
previstos na interface
Rev. 11/10/2011

GIL PINHEIRO REDES DE COMUNICAÇÃO


13
O Padrão RS-232
• O padrão RS-232 define
– Especificações Elétricas
– Interface Mecânica (conectores)
– Descrição Funcional
• A EIA é responsável pelo padrão RS-
232 e emite periodicamente novas
revisões, atualmente está na revisão E
• O equivalente europeu ao RS-232 são
os padrões CCITT (ITU) V.24 e V.28
Rev. 11/10/2011

GIL PINHEIRO REDES DE COMUNICAÇÃO


14
DTE x DCE
• DTE (Data Terminal Equipment) – Equipamento de
Terminação de Dados, dispositivo gerador ou
consumidor de dados (ex.: PC, servidor, terminal, etc)
• DCE (Data Communication Equipment) – Quaisquer
Equipamentos de Comunicação de Dados, dispositivos
componentes de uma rede (modem, repetidor, switch,
roteador, etc)

Cabo RS-232
DTE DCE
Rev. 11/10/2011

GIL PINHEIRO REDES DE COMUNICAÇÃO


15
Especificações Elétricas
do RS-232
• Os níveis lógicos são representados por tensões:
– -3 V a -15V como Marca = 1 = OFF
– +3V a +15V como Espaço = 0 = ON (Pronto)
• Tensões entre -3 V e +3 V são indefinidas
• O circuitos RS-232 são robustos (por norma),
podendo ser curto-circuitados, invertidos, deixados
abertos, etc.

1 0 Nível Lógico

OFF INDEFINIDO ON Nível de Controle


Rev. 11/10/2011

Marca Espaço Nome RS-232

GIL PINHEIRO REDES DE COMUNICAÇÃO


-15 -3 +3 +15 Tensão (Volts) 16
Especificações Mecânicas
• A especificação mecânica da norma RS-232
é muito vaga:
– O conector deve ser de 25 pinos (o tipo de
conector não é especificado)
– Porém, por default são usados os conectores DB-
9 e o DB-25
• A distância máxima não é definida, mas, a
capacitância do cabo deve ser menor que
2500 pF. Para cabos de 50 pF/pé, isso
equivale a cabo de 50 pés (15 m)
Rev. 11/10/2011

GIL PINHEIRO REDES DE COMUNICAÇÃO


17
Especificações Mecânicas
• A cada circuito é atribuído um nome e
sentido do sinal
• Sublinhado: saída do DTE (entrada do
DTE)
• Não sublinhado: entrada do DTE (saída
do DCE)
1 - Shield
Secondary Transmitted Data - 14
2 - Transmitted Data
Tx. Sig. Elem. Timing – DCE Source - 15
3 - Received Data
Secondary Received Data - 16
4 - Request to Send
Rx. Sig. Elem. Timing – DCE Source - 17 5 - Clear to Send
Local Loopback - 18 6 - Data Set Ready
Conector DB-25 Secondary RTS - 19
7 - Signal Ground
Data Terminal Ready - 20 8 - Received Line Signal Detector
Macho (DTE) Remote Loopback - 21
9 - Reserved (Modem Test)
Ring Indicator - 22 10 - Reserved (Modem Test)
Data Signal Rate Selector- 23
11 - Unassigned
Tx. Sig. Elem. Timing – DCE Source - 24
Rev. 11/10/2011

12 - Secondary RX Line Sig. Det.


Test Mode - 25
13 - Secondary Clear to Send

GIL PINHEIRO REDES DE COMUNICAÇÃO


18
Especificações Mecânicas
• Na maioria das aplicações, quase todos os 25
pinos são desnecessários então o conector
DB-9 se tornou um “padrão de fato”
• Sublinhado: saída do DTE (entrada do DCE)
• Não sublinhado: entrada do DTE Conector DB-9
Macho (DTE)

1 - Received Line Signal Detector


Data Set Ready - 6
2 - Received Data
Request to Send - 7
3 - Transmitted Data
Clear to Send - 8
Rev. 11/10/2011

4 - Data Terminal Ready


Ring Indicator - 9
5 - Signal Ground

GIL PINHEIRO REDES DE COMUNICAÇÃO


19
Especificações Funcionais
• Os sinais RS-232 são divididos em quatro categorias
de circuitos. As características funcionais de cada
sinal (circuito) também são definidas na norma
Circuitos de Aterramento Circuitos de Controle
1 - Protective Ground 4 - Request to Send
7 - Signal Ground 5 - Clear to Send
6 - Data Set Ready
Circuitos de Dados
20 - Data Terminal Ready
2 - Transmitted Data
22 - Ring Indicator
3 - Received Data
8 - Received Line Signal Detector
14 - Secondary Transmitted Data
21 - Signal Quality Detector
16 - Secondary Received Data
23 - Data Signal Rate Selector
Rev. 11/10/2011

Circuitos de Temporização 19 - Secondary Request to Send


15 - Rx. Signal Elem. Timing (DTE) 13 - Secondary Clear to Send
17 - Tx. Signal Elem. Timing (DCE) 12 - Sec. Tx. Sig. Rcvd Line Detector
GIL PINHEIRO REDES DE COMUNICAÇÃO
24 - Tx. Signal Elem. Timing (DTE) 20
Exemplo: Especificação
Funcional
• Circuit AA – Protective Ground
– This conductor shall be electrically bonded to the machine or
equipment frame. It may be further connected to external grounds
as required by applicable regulations
• Circuit BA – Transmitted Data (to DCE)
– Signals on this circuit are generated by the DTE and are
transferred to the local transmitting signal converter for
transmission of data to remote data equipment
– The DTE shall hold Transmitted Data in marking condition during
intervals between characters or words, and all times when no
data are being transmitted
– In all conditions DTE shall not transmit data unless an ON
condition is present on all of the following four circuits, where
implemented
Rev. 11/10/2011

1. Request to Send 2. Clear to Send


3. Data Set Ready 4. Data Terminal Ready

GIL PINHEIRO REDES DE COMUNICAÇÃO


21
Principais Sinais do RS-232
• A maioria dos sinais do padrão não são utilizados.
• Aplicações industriais usam no máximo 9 ou 10 pinos

PINOS PINOS SINAL DESCRIÇÃO


(DB25) (DB9)
Sublinhado - saída do DTE

2 3 TD Transmit Data (Dados Transmitidos)


3 2 RD Receive Data (Dados Recebidos)
4 7 RTS Request To Send (Requisição para Enviar)
5 8 CTS Clear To Send (Pronto para Enviar)
6 6 DSR Data Set Ready (Dispositivo de Dados Pronto)
7 5 SG Signal Ground (Terra de Sinal)
Rev. 11/10/2011

8 1 CD Carrier Detect (Detecção de Portadora)


20 4 DTR Data Terminal Ready (Terminal de Dados Pronto)
GIL PINHEIRO REDES DE COMUNICAÇÃO
22 9 RI Ring Indicator (Indicador de Chamada - Campainha) 22
Request To Send (RTS)
• Nome do Circuito (Padrão RS): CA
• Direção: DTE -> DCE
• Nome do Circuito (ANSI/ISO): 105
• Habilita os circuitos de transmissão
• O DTE utiliza este sinal quando deseja
enviar para o DCE
• Um nível lógico 0 neste sinal mantém o
DCE em transmissão
• O DCE recebe os dados do DTE e
Rev. 11/10/2011

transmite ao enlace de comunicação


GIL PINHEIRO REDES DE COMUNICAÇÃO
23
Clear To Send (CTS)
• Nome do Circuito (padrão RS): CB
• Direção: DTE <- DCE
• Nome do Circuito (padrão ANSI/ISO): 106
• Sinal de resposta ao DTE
• Quando este sinal está ativo (ON), o DCE avisa ao DTE que
pode iniciar a transmissão neste instante (no circuito
Transmitted Data). Quando este sinal está "On" e RTS, DSR
e DTR estão todos "On", o DTE está assegurado que os
dados serão enviados ao elnlace de comunicação. Quando
"Off", indica ao DTE que o DCE não está pronto, e portanto,
os dados não podem ser enviados
• Quando os sinais DSR e DTR não são utilizados, numa
conexão local, quando não é necessária uma conexão
telefônica, os sinais CTS e RTS são suficientes para efetuar
o controle de fluxo
Rev. 11/10/2011

GIL PINHEIRO REDES DE COMUNICAÇÃO


24
Conexão DTE x DCE
• Quando o segundo DTE foi configurado como um
DCE, a conexão segue o padrão RS-232, como a
ligação de um DTE a um modem (DCE)
• Como o cabo não possui cruzamentos também é
chamado de Cabo Direto ou sem cruzamentos
• Abaixo uma conexão DTE-DCE com controle de
fluxo

Cabo Direto (com controle de fluxo) DCE


DTE
Rev. 11/10/2011

DTE
GIL PINHEIRO REDES DE COMUNICAÇÃO
25
Conexões DTE x DTE
• A conexões de dois DTE é feita de modo que um DTE “pense”
estar falando com um DCE
• Utiliza-se uma conexão chamada Cabo Modem Nulo, pois não
existem modems envolvidos.
• O Cabo Modem Nulo também é chamado de Cabo Cruzado
devido ao cruzamento dos circuitos de dados e de controle
• Abaixo uma conexão DTE-DTE com controle de fluxo. Como
não existem modems envolvidos são utilizados apenas os
sinais de controle RTS e CTS

Cabo Modem Nulo (com controle de fluxo)


Rev. 11/10/2011

DTE DTE
GIL PINHEIRO REDES DE COMUNICAÇÃO
26
Conexões DTE x DTE
• Outra opção de conexão (com menos fios)
• Nesse caso, o controle de fluxo deve ser
realizado por software (Camada de
Enlace)

Cabo Modem Nulo (sem controle de fluxo) DTE


Rev. 11/10/2011

DTE
GIL PINHEIRO REDES DE COMUNICAÇÃO
27
Resolução de Problemas RS-232
1. Determinar se cada dispositivo é
um DTE ou DCE
 DTE x DCE – Cabo Direto
 DTE x DTE ou DCE x DCE – Cabo
Cruzado
2. Determinar se é necessário
controle de fluxo
 Sim – interligar pinos 7, 8 e 5 entre
conectores de acordo com item 1 Break-Out Box
 Não – juntar pinos 1-6-4 e pinos 7-8
em cada conector
3. Utilizar Break-Out Box ou um
testador RS-232 para monitorar
Rev. 11/10/2011

sinais e verificar inversões

GIL PINHEIRO REDES DE COMUNICAÇÃO Testador RS-232


28
Resolução de Problemas RS-232
• Outra facilidade de diagnóstico é o Loopback,
que consiste na interligação dos circuitos de
dados de um DTE ou DCE para verificar
basicamente a integridade de um enlace
físico (Camada Física)
• Necessita de um conector especial chamado
Conector Loopback
• O conector consiste na interligação dos sinais
dos circuitos de dados e de controle: TD-RD,
CTS-RTS, CD-DSR-DTR
Rev. 11/10/2011

Conector
Loopback
GIL PINHEIRO REDES DE COMUNICAÇÃO
29
Limitações do RS-232
• A velocidade está limitada a 115 kbps em distâncias pequenas
• A distância é limitada pela capacitância do cabo (Cuidado: cabo
mais grosso possui R menor e C maior)
• RS-232 é uma interface não balanceada (todos os sinais tem o
mesmo Signal Ground), é mais susceptível a ruídos, que os
padrões RS-422 e RS-485
• É necessário que o potencial de terra dos sistemas interligados
seja o mesmo. Soluções: isoladores óticos, fibra óptica

Driver RS-232 Receptor RS-232


Rev. 11/10/2011

Sinal Sinal
TTL TTL
GIL PINHEIRO REDES DE COMUNICAÇÃO
30
Potencial Diferença de Aterramentos
Programando a Porta Serial
• Uma porta serial requer as seguintes
etapas na programação:
1. Criar a porta (criar o objeto)
2. Parametrizar a porta
3. Abrir a porta
4. Enviar e/ou receber dados
5. Fechar a porta
Rev. 11/10/2011

GIL PINHEIRO REDES DE COMUNICAÇÃO


31
Programando a Porta Serial
• No uso contínuo, a etapa 4 pode ser repetida
sem necessidade de fechar a porta serial
• As etapas 1 e 2 podem ser feitas
conjuntamente
• A recepção pode ser feita até que:
– uma quantidade pré-definida de bytes seja
recebida, ou
– um tempo máximo de espera seja excedido
• A mensagem é enviada e recebida pela
Rev. 11/10/2011

UART no formato binário


GIL PINHEIRO REDES DE COMUNICAÇÃO
32
Programando a Porta Serial

Camada do
Camadas do Programa Modelo
ISO/OSI

Programa Aplicativo 7
(Python)
Biblioteca Serial (Python)
Sistema Operacional 2
(Windows, Linux)
Porta RS-232 (Física ou 1
Virtual)
Rev. 11/10/2011

GIL PINHEIRO REDES DE COMUNICAÇÃO


33
Etapas do Programa Loopback
#-------------------------------------------------------------------------------------------------------------
# Universidade do Estado do Rio de Janeiro
# FEN/DETEL - Departamento de Engenharia Eletrônica e Telecomunicações
# Disciplina: Redes de Comunicação
#------------------------------------------------------------------------------------------------------------
# Programa: loopback_serial.py
# Objetivo: Teste de comunicação utilizando a porta serial RS232
# Autor: Prof. Gil Pinheiro
# Data: Setembro/2009
#------------------------------------------------------------------------------------------------------------

# Biblioteca de acesso a porta serial


import serial

# 1 - Cria e parametriza uma porta serial para uso do programa


port = serial.Serial()
port.port = 'COM7'
port.baudrate = 115000
port.bytesize = serial.EIGHTBITS
port.parity = serial.PARITY_NONE
port.stopbits = serial.STOPBITS_ONE
port.timeout = 10 # Tempo máximo, em segundos, para receber resposta
port.xonxoff = 0
port.rtscts = 0

# 2 - Inicializa a porta serial


try:
port.open()
except serial.SerialException:
Rev. 11/10/2011

pass

# Inicializou a porta serial sem erros


print('Abriu porta RS232: %s' % port.portstr)

GIL PINHEIRO REDES DE COMUNICAÇÃO


34
Etapas do Programa Loopback
# 3 - Cria mensagem a ser enviada, texto
texto = '01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ'

# 4 - Codifica a mensagem em bytes


snd_msg = texto.encode()

# 5 - Envia a mensagem pela porta serial RS232


port.write( snd_msg )

# 6 - Aguarda e recebe a mensagem de resposta (loopback)


buf_size = len( snd_msg )
m = port.read( buf_size )

# 7 - Testa se foi recebido caractere estranho, quando há time-out)


if not m.isalnum():

print( 'Tempo expirado - Mensagem não chegou' )

else:

# Mostra a mensagem recebida


print('Recebeu frame: ', m.decode() )

# Compara a mensagem recebida com a enviada


if m.decode() == texto:
Rev. 11/10/2011

print( 'Mensagem recebida sem erros' )

# 8 - Encerra a porta serial


port.close()

GIL PINHEIRO REDES DE COMUNICAÇÃO


35
Topologias Alternativas
• O padrão RS-232 foi feito para
conexões tipo ponto a ponto
• Não é usual, mas podem ser realizadas
outras topologias usando o RS-232:
– Anel: compondo várias conexões ponto a
ponto
– Estrela: compondo um hub e várias
Rev. 11/10/2011

conexões ponto a ponto


GIL PINHEIRO REDES DE COMUNICAÇÃO
36
Rede em Anel com RS-232

• Rede em anel de 4 nós (computadores)


• Pino Tx (3) de um nó conectado ao Rx (2) do
próximo nó (seqüência: A-B-C-D-A...)
Rev. 11/10/2011

• Pinos GND (5) conectados


GIL PINHEIRO REDES DE COMUNICAÇÃO
37

Você também pode gostar