Você está na página 1de 37

UNIVERSIDADE DO ESTADO DO RIO DE JANEIRO

FEN-DETEL - DEPARTAMENTO DE ELETRNICA E TELECOMUNICAES

A Interface Serial
e o Padro RS-232

Rev. 11/10/2011

Prof. GIL PINHEIRO

GIL PINHEIRO

REDES DE COMUNICAO

A Interface Serial
e o Padro RS-232

Rev. 11/10/2011

Objetivo: apresentar a comunicao


serial assncrona e o padro de interface
fsica RS-232

GIL PINHEIRO

REDES DE COMUNICAO

Interface Serial e o
Padro RS-232

Rev. 11/10/2011

A Interface Serial
O padro RS-232
Exemplos / Laboratrio

GIL PINHEIRO

REDES DE COMUNICAO

Rev. 11/10/2011

A Interface Serial

GIL PINHEIRO

REDES DE COMUNICAO

Interface Paralela/Serial
Os PCs e a maioria dos dispositivos possui um barramento
paralelo interno que interliga a CPU aos outros perifricos
internos (RAM, ULA, Registradores, EEPROM,...)
A comunicao serial predominante nos padres de
interface (LANs, RS-232, 485, wireless, etc)
Os dispositivos utilizam uma UART (Universal Asyncronous
Receiver Transmitter) para converso serial / paralela. H
tambm as USART (Universal Synchronous Asyncronous
Receiver Transmitter), capazes de comunicao sncrona
CLP

Rev. 11/10/2011

PC
0
1
0
1
1
1
GIL PINHEIRO
0
0

0 1 0 1 1 1 0 0
UART

UART REDES DE COMUNICAO

UART

UART
UART

0
1
0
1
1
1
0
0 5

Arquitetura de uma UART

Rev. 11/10/2011

Uma UART implementa a Camada Fsica e algumas


funes da Camada de Enlace da comunicao
A mais famosa UART em uso em PCs era o Chip 8250,
que, foi melhorado, com acrscimo 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

GIL PINHEIRO

REDES DE COMUNICAO

Arquitetura de um Microcontrolador
Em destaque

Rev. 11/10/2011

UART
Timer /
Counter
EEPROM
I/O
Comparador
analgico
PWM

GIL PINHEIRO

REDES DE COMUNICAO

Rev. 11/10/2011

A Interface Serial Assncrona

GIL PINHEIRO

REDES DE COMUNICAO

A Interface Serial Assncrona


Parmetros

Rev. 11/10/2011

Data bits: 7 ou 8
Paridade: No, Par ou Impar
Stop Bits: 1 ou 2
Velocidade (Baud Rate): 110, 300, 600,
1200, 4800, 9600, 19200, 38400 bits/s

GIL PINHEIRO

REDES DE COMUNICAO

A Interface Serial Sncrona

Sincronismo a cada bit enviado


Dois sinais:
DATA: dados enviados
CLOCK: sincronismo de relgio

Rev. 11/10/2011

Sinal de relgio pode ser enviado como:


Sinal a parte
Embutido junto com os dados
GIL PINHEIRO

REDES DE COMUNICAO

10

Diferenas Assncrona x Sncrona


Assncrona
Baixo custo
Baixo rendimento (< 80%)
Baixa taxas de transmisso (da ordem de 105 bits por
segundo)
Para seqncias pequenas de bits (at 8 bits por frame da
UART)

Rev. 11/10/2011

Sncrona
Mais cara
Alto rendimento (> 90%)
Altas taxas de transmisso (da ordem de 108 bits por
segundo)
Capaz de lidar com frames de milhares de bits sem erros
GIL PINHEIRO

REDES DE COMUNICAO

11

Rev. 11/10/2011

O Padro RS-232

GIL PINHEIRO

REDES DE COMUNICAO

12

O Padro RS-232

Rev. 11/10/2011

Padro de Camada Fsica (modelo ISO/OSI)


Interface serial, ponto a ponto (2 ns), de baixa
velocidade (at 115 kbps)
Criado no final dos anos 1950, para interligar
modems terminais de mainframes
O padro suporta os modos sncrono e assncrono.
Porm, o modo sncrono raramente utilizado
Para atender ao modo sncrono, h sinais de relgio
previstos na interface

GIL PINHEIRO

REDES DE COMUNICAO

13

O Padro RS-232
O padro RS-232 define
Especificaes Eltricas
Interface Mecnica (conectores)

Rev. 11/10/2011

Descrio Funcional

A EIA responsvel pelo padro RS232 e emite periodicamente novas


revises, atualmente est na reviso E
O equivalente europeu ao RS-232 so
os padres CCITT (ITU) V.24 e V.28
GIL PINHEIRO

REDES DE COMUNICAO

14

DTE x DCE

Rev. 11/10/2011

DTE (Data Terminal Equipment) Equipamento de


Terminao de Dados, dispositivo gerador ou
consumidor de dados (ex.: PC, servidor, terminal, etc)
DCE (Data Communication Equipment) Quaisquer
Equipamentos de Comunicao de Dados, dispositivos
componentes de uma rede (modem, repetidor, switch,
roteador, etc)

DTE

GIL PINHEIRO

Cabo RS-232

REDES DE COMUNICAO

DCE

15

Especificaes Eltricas
do RS-232
Os nveis lgicos so representados por tenses:
-3 V a -15V como Marca = 1 = OFF
+3V a +15V como Espao = 0 = ON (Pronto)

Tenses entre -3 V e +3 V so indefinidas


O circuitos RS-232 so robustos (por norma),
podendo ser curto-circuitados, invertidos, deixados
abertos, etc.

Rev. 11/10/2011

OFF

-15

ON

INDEFINIDO

Nvel de Controle

Espao

Marca
GIL PINHEIRO

Nvel Lgico

-3

REDES DE COMUNICAO

+3

+15

Nome RS-232
Tenso (Volts)

16

Especificaes Mecnicas
A especificao mecnica da norma RS-232
muito vaga:

Rev. 11/10/2011

O conector deve ser de 25 pinos (o tipo de


conector no especificado)
Porm, por default so usados os conectores DB9 e o DB-25

A distncia mxima no definida, mas, a


capacitncia do cabo deve ser menor que
2500 pF. Para cabos de 50 pF/p, isso
equivale a cabo de 50 ps (15 m)
GIL PINHEIRO

REDES DE COMUNICAO

17

Especificaes Mecnicas

Rev. 11/10/2011

A cada circuito atribudo um nome e


sentido do sinal
Sublinhado: sada do DTE (entrada do
DTE)
No sublinhado: entrada do DTE (sada
do DCE)
Secondary Transmitted Data - 14
Tx. Sig. Elem. Timing DCE Source - 15
Secondary Received Data - 16
Rx. Sig. Elem. Timing DCE Source - 17
Local Loopback - 18
Secondary RTS - 19
Conector DB-25
Data Terminal Ready - 20
Macho (DTE)
Remote Loopback - 21
Ring Indicator - 22
Data Signal Rate Selector- 23
Tx. Sig. Elem. Timing DCE Source - 24
Test Mode - 25

GIL PINHEIRO

REDES DE COMUNICAO

1 - Shield
2 - Transmitted Data
3 - Received Data
4 - Request to Send
5 - Clear to Send
6 - Data Set Ready
7 - Signal Ground
8 - Received Line Signal Detector
9 - Reserved (Modem Test)
10 - Reserved (Modem Test)
11 - Unassigned
12 - Secondary RX Line Sig. Det.
13 - Secondary Clear to Send

18

Especificaes Mecnicas
Na maioria das aplicaes, quase todos os 25
pinos so desnecessrios ento o conector
DB-9 se tornou um padro de fato
Sublinhado: sada do DTE (entrada do DCE)
No sublinhado: entrada do DTE
Conector DB-9

Rev. 11/10/2011

Macho (DTE)

Data Set Ready Request to Send Clear to Send Ring Indicator -

GIL PINHEIRO

6
7
8
9

REDES DE COMUNICAO

1 - Received Line Signal Detector


2 - Received Data
3 - Transmitted Data
4 - Data Terminal Ready
5 - Signal Ground

19

Especificaes Funcionais
Os sinais RS-232 so divididos em quatro categorias
de circuitos. As caractersticas funcionais de cada
sinal (circuito) tambm so definidas na norma
Circuitos de Aterramento
1 - Protective Ground
7 - Signal Ground
Circuitos de Dados

Rev. 11/10/2011

2 - Transmitted Data
3 - Received Data
14 - Secondary Transmitted Data
16 - Secondary Received Data
Circuitos de Temporizao

Circuitos de Controle
4
5
6
20
22
8
21
23
19
13
12

- Request to Send
- Clear to Send
- Data Set Ready
- Data Terminal Ready
- Ring Indicator
- Received Line Signal Detector
- Signal Quality Detector
- Data Signal Rate Selector
- Secondary Request to Send
- Secondary Clear to Send
- Sec. Tx. Sig. Rcvd Line Detector

15 - Rx. Signal Elem. Timing (DTE)


17 - Tx. Signal Elem. Timing (DCE)
GIL PINHEIRO
REDES DE COMUNICAO
24 - Tx. Signal Elem. Timing (DTE)

20

Exemplo: Especificao
Funcional

Circuit AA Protective Ground

Circuit BA Transmitted Data (to DCE)

Rev. 11/10/2011

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
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
1. Request to Send
3. Data Set Ready

GIL PINHEIRO

2. Clear to Send
4. Data Terminal Ready

REDES DE COMUNICAO

21

Principais Sinais do RS-232


A maioria dos sinais do padro no so utilizados.
Aplicaes industriais usam no mximo 9 ou 10 pinos
PINOS
(DB25)

PINOS
(DB9)

SINAL

DESCRIO

Rev. 11/10/2011

Sublinhado - sada do DTE


2

TD

Transmit Data (Dados Transmitidos)

RD

Receive Data (Dados Recebidos)

RTS

Request To Send (Requisio para Enviar)

CTS

Clear To Send (Pronto para Enviar)

DSR

Data Set Ready (Dispositivo de Dados Pronto)

SG

Signal Ground (Terra de Sinal)

CD

Carrier Detect (Deteco de Portadora)

DTR
Data Terminal Ready (Terminal de Dados Pronto)
REDES DE COMUNICAO
RI
Ring Indicator (Indicador de Chamada - Campainha) 22

20
GIL PINHEIRO
22

Request To Send (RTS)

Rev. 11/10/2011

Nome do Circuito (Padro RS): CA


Direo: DTE -> DCE
Nome do Circuito (ANSI/ISO): 105
Habilita os circuitos de transmisso
O DTE utiliza este sinal quando deseja
enviar para o DCE
Um nvel lgico 0 neste sinal mantm o
DCE em transmisso
O DCE recebe os dados do DTE e
transmite ao enlace de comunicao
GIL PINHEIRO

REDES DE COMUNICAO

23

Clear To Send (CTS)

Rev. 11/10/2011

Nome do Circuito (padro RS): CB


Direo: DTE <- DCE
Nome do Circuito (padro ANSI/ISO): 106
Sinal de resposta ao DTE
Quando este sinal est ativo (ON), o DCE avisa ao DTE que
pode iniciar a transmisso neste instante (no circuito
Transmitted Data). Quando este sinal est "On" e RTS, DSR
e DTR esto todos "On", o DTE est assegurado que os
dados sero enviados ao elnlace de comunicao. Quando
"Off", indica ao DTE que o DCE no est pronto, e portanto,
os dados no podem ser enviados
Quando os sinais DSR e DTR no so utilizados, numa
conexo local, quando no necessria uma conexo
telefnica, os sinais CTS e RTS so suficientes para efetuar
o controle de fluxo

GIL PINHEIRO

REDES DE COMUNICAO

24

Conexo DTE x DCE


Quando o segundo DTE foi configurado como um
DCE, a conexo segue o padro RS-232, como a
ligao de um DTE a um modem (DCE)
Como o cabo no possui cruzamentos tambm
chamado de Cabo Direto ou sem cruzamentos
Abaixo uma conexo DTE-DCE com controle de
fluxo
Cabo Direto (com controle de fluxo)

DCE

Rev. 11/10/2011

DTE

DTE
GIL PINHEIRO

REDES DE COMUNICAO

25

Conexes DTE x DTE


A conexes de dois DTE feita de modo que um DTE pense
estar falando com um DCE
Utiliza-se uma conexo chamada Cabo Modem Nulo, pois no
existem modems envolvidos.
O Cabo Modem Nulo tambm chamado de Cabo Cruzado
devido ao cruzamento dos circuitos de dados e de controle
Abaixo uma conexo DTE-DTE com controle de fluxo. Como
no existem modems envolvidos so utilizados apenas os
sinais de controle RTS e CTS

Rev. 11/10/2011

Cabo Modem Nulo (com controle de fluxo)

DTE

GIL PINHEIRO

REDES DE COMUNICAO

DTE
26

Conexes DTE x DTE


Outra opo de conexo (com menos fios)
Nesse caso, o controle de fluxo deve ser
realizado por software (Camada de
Enlace)

Rev. 11/10/2011

Cabo Modem Nulo (sem controle de fluxo)

DTE
GIL
PINHEIRO

REDES DE COMUNICAO

DTE

27

Resoluo de Problemas RS-232


1.

Determinar se cada dispositivo


um DTE ou DCE



2.

Determinar se necessrio
controle de fluxo



Rev. 11/10/2011

3.

DTE x DCE Cabo Direto


DTE x DTE ou DCE x DCE Cabo
Cruzado

Sim interligar pinos 7, 8 e 5 entre


conectores de acordo com item 1
No juntar pinos 1-6-4 e pinos 7-8
em cada conector

Break-Out Box

Utilizar Break-Out Box ou um


testador RS-232 para monitorar
sinais e verificar inverses

GIL PINHEIRO

REDES DE COMUNICAO

Testador RS-232
28

Rev. 11/10/2011

Resoluo de Problemas RS-232


Outra facilidade de diagnstico o Loopback,
que consiste na interligao dos circuitos de
dados de um DTE ou DCE para verificar
basicamente a integridade de um enlace
fsico (Camada Fsica)
Necessita de um conector especial chamado
Conector Loopback
O conector consiste na interligao dos sinais
dos circuitos de dados e de controle: TD-RD,
CTS-RTS, CD-DSR-DTR
Conector
Loopback
GIL PINHEIRO

REDES DE COMUNICAO

29

Limitaes do RS-232
A velocidade est limitada a 115 kbps em distncias pequenas
A distncia limitada pela capacitncia do cabo (Cuidado: cabo
mais grosso possui R menor e C maior)
RS-232 uma interface no balanceada (todos os sinais tem o
mesmo Signal Ground), mais susceptvel a rudos, que os
padres RS-422 e RS-485
necessrio que o potencial de terra dos sistemas interligados
seja o mesmo. Solues: isoladores ticos, fibra ptica

Rev. 11/10/2011

Driver RS-232

Receptor RS-232

Sinal
TTL
GIL PINHEIRO

Sinal
TTL
REDES DE COMUNICAO

Potencial Diferena de Aterramentos

30

Programando a Porta Serial

Uma porta serial requer as seguintes


etapas na programao:

Rev. 11/10/2011

1.
2.
3.
4.
5.

GIL PINHEIRO

Criar a porta (criar o objeto)


Parametrizar a porta
Abrir a porta
Enviar e/ou receber dados
Fechar a porta

REDES DE COMUNICAO

31

Programando a Porta Serial


No uso contnuo, a etapa 4 pode ser repetida
sem necessidade de fechar a porta serial
As etapas 1 e 2 podem ser feitas
conjuntamente
A recepo pode ser feita at que:

Rev. 11/10/2011

uma quantidade pr-definida de bytes seja


recebida, ou
um tempo mximo de espera seja excedido

A mensagem enviada e recebida pela


UART no formato binrio
GIL PINHEIRO

REDES DE COMUNICAO

32

Programando a Porta Serial


Camadas do Programa

Programa Aplicativo
(Python)

Camada do
Modelo
ISO/OSI
7

Rev. 11/10/2011

Biblioteca Serial (Python)

GIL PINHEIRO

Sistema Operacional
(Windows, Linux)

Porta RS-232 (Fsica ou


Virtual)

REDES DE COMUNICAO

33

Etapas do Programa Loopback


#------------------------------------------------------------------------------------------------------------# Universidade do Estado do Rio de Janeiro
# FEN/DETEL - Departamento de Engenharia Eletrnica e Telecomunicaes
# Disciplina: Redes de Comunicao
#-----------------------------------------------------------------------------------------------------------# Programa: loopback_serial.py
# Objetivo: Teste de comunicao utilizando a porta serial RS232
# Autor: Prof. Gil Pinheiro
# Data: Setembro/2009
#-----------------------------------------------------------------------------------------------------------# Biblioteca de acesso a porta serial
import serial

Rev. 11/10/2011

# 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 mximo, em segundos, para receber resposta
port.xonxoff = 0
port.rtscts = 0
# 2 - Inicializa a porta serial
try:
port.open()
except serial.SerialException:
pass
# Inicializou a porta serial sem erros
print('Abriu porta RS232: %s' % port.portstr)

GIL PINHEIRO

REDES DE COMUNICAO

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 no chegou' )
else:

Rev. 11/10/2011

# Mostra a mensagem recebida


print('Recebeu frame: ', m.decode() )
# Compara a mensagem recebida com a enviada
if m.decode() == texto:
print( 'Mensagem recebida sem erros' )
# 8 - Encerra a porta serial
port.close()

GIL PINHEIRO

REDES DE COMUNICAO

35

Topologias Alternativas

Rev. 11/10/2011

O padro RS-232 foi feito para


conexes tipo ponto a ponto
No usual, mas podem ser realizadas
outras topologias usando o RS-232:
Anel: compondo vrias conexes ponto a
ponto
Estrela: compondo um hub e vrias
conexes ponto a ponto
GIL PINHEIRO

REDES DE COMUNICAO

36

Rev. 11/10/2011

Rede em Anel com RS-232

Rede em anel de 4 ns (computadores)


Pino Tx (3) de um n conectado ao Rx (2) do
prximo n (seqncia: A-B-C-D-A...)
Pinos GND (5) conectados
GIL PINHEIRO

REDES DE COMUNICAO

37