a interface serial e o padrão rs-232 - lee.eng.uerj.brgil/filas/padrao rs-232.pdf · gil pinheiro...
TRANSCRIPT
GIL PINHEIRO REDES DE COMUNICAÇÃO1R
ev. 1
1/10
/201
1
A Interface Serial e o Padrão RS-232
Prof. GIL PINHEIRO
UNIVERSIDADE DO ESTADO DO RIO DE JANEIROFEN-DETEL - DEPARTAMENTO DE ELETRÔNICA E TELECOMUNIC AÇÕES
GIL PINHEIRO REDES DE COMUNICAÇÃO2R
ev. 1
1/10
/201
1A 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
GIL PINHEIRO REDES DE COMUNICAÇÃO3R
ev. 1
1/10
/201
1Interface Serial e o
Padrão RS-232• A Interface Serial • O padrão RS-232• Exemplos / Laboratório
GIL PINHEIRO REDES DE COMUNICAÇÃO4R
ev. 1
1/10
/201
1
A Interface Serial
GIL PINHEIRO REDES DE COMUNICAÇÃO5R
ev. 1
1/10
/201
1
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 AsyncronousReceiver Transmitter) para conversão serial / paralela. Hátambém as USART (Universal Synchronous AsyncronousReceiver Transmitter), capazes de comunicação síncrona
01011100
0 1 0 1 1 1 0 001011100
UART
PCCLP
UART
UART
UART
UART
GIL PINHEIRO REDES DE COMUNICAÇÃO6R
ev. 1
1/10
/201
1
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
GIL PINHEIRO REDES DE COMUNICAÇÃO7R
ev. 1
1/10
/201
1
Arquitetura de um Microcontrolador
• Em destaque– UART– Timer /
Counter– EEPROM– I/O– Comparador
analógico– PWM
GIL PINHEIRO REDES DE COMUNICAÇÃO8R
ev. 1
1/10
/201
1
A Interface Serial Assíncrona
GIL PINHEIRO REDES DE COMUNICAÇÃO9R
ev. 1
1/10
/201
1
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
GIL PINHEIRO REDES DE COMUNICAÇÃO10R
ev. 1
1/10
/201
1
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– Embutido junto com os dados
GIL PINHEIRO REDES DE COMUNICAÇÃO11R
ev. 1
1/10
/201
1
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)– Capaz de lidar com frames de milhares de bits sem erros
GIL PINHEIRO REDES DE COMUNICAÇÃO12R
ev. 1
1/10
/201
1
O Padrão RS-232
GIL PINHEIRO REDES DE COMUNICAÇÃO13R
ev. 1
1/10
/201
1
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
GIL PINHEIRO REDES DE COMUNICAÇÃO14R
ev. 1
1/10
/201
1
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
GIL PINHEIRO REDES DE COMUNICAÇÃO15R
ev. 1
1/10
/201
1
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)
DCEDTE Cabo RS-232
GIL PINHEIRO REDES DE COMUNICAÇÃO16R
ev. 1
1/10
/201
1Especificaçõ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.
Tensão (Volts)-15 -3
1
OFF
Marca
+3 +15
0
ON
Espaço
INDEFINIDO
Nível Lógico
Nível de Controle
Nome RS-232
GIL PINHEIRO REDES DE COMUNICAÇÃO17R
ev. 1
1/10
/201
1
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)
GIL PINHEIRO REDES DE COMUNICAÇÃO18R
ev. 1
1/10
/201
1
Especificações Mecânicas
Conector DB-25 Macho (DTE)
ShieldTransmitted DataReceived DataRequest to SendClear to SendData Set ReadySignal GroundReceived Line Signal DetectorReserved (Modem Test)Reserved (Modem Test)UnassignedSecondary RX Line Sig. Det.Secondary Clear to Send
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -
141516171819202122232425
Secondary Transmitted Data -Tx. Sig. Elem. Timing – DCE Source -
Secondary Received Data -Rx. Sig. Elem. Timing – DCE Source -
Local Loopback -Secondary RTS -
Data Terminal Ready -Remote Loopback -
Ring Indicator -Data Signal Rate Selector -
Tx. Sig. Elem. Timing – DCE Source -Test Mode -
• 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)
GIL PINHEIRO REDES DE COMUNICAÇÃO19R
ev. 1
1/10
/201
1
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 DTEConector DB-9
Macho (DTE)
Received Line Signal DetectorReceived DataTransmitted DataData Terminal ReadySignal Ground
1 -2 -3 -4 -5 -
6789
Data Set Ready -Request to Send -
Clear to Send -Ring Indicator -
GIL PINHEIRO REDES DE COMUNICAÇÃO20R
ev. 1
1/10
/201
1
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
- Protective Ground- Signal Ground
17
Circuitos de Aterramento
- Transmitted Data- Received Data- Secondary Transmitted Data- Secondary Received Data
231416
Circuitos de Dados
- 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
456202282123191312
Circuitos de Controle
- Rx. Signal Elem. Timing (DTE)- Tx. Signal Elem. Timing (DCE)- Tx. Signal Elem. Timing (DTE)
151724
Circuitos de Temporização
GIL PINHEIRO REDES DE COMUNICAÇÃO21R
ev. 1
1/10
/201
1Exemplo: 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 groundsas 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 implemented1. Request to Send 2. Clear to Send3. Data Set Ready 4. Data Terminal Rea dy
GIL PINHEIRO REDES DE COMUNICAÇÃO22R
ev. 1
1/10
/201
1
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(DB25)
PINOS (DB9)
SINAL DESCRIÇÃO
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)
8 1 CD Carrier Detect (Detecção de Portadora)
20 4 DTR Data Terminal Ready (Terminal de Dados Pronto)
22 9 RI Ring Indicator (Indicador de Chamada - Campainha)
GIL PINHEIRO REDES DE COMUNICAÇÃO23R
ev. 1
1/10
/201
1
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
transmite ao enlace de comunicação
GIL PINHEIRO REDES DE COMUNICAÇÃO24R
ev. 1
1/10
/201
1
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, DS R 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 porta nto, 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
GIL PINHEIRO REDES DE COMUNICAÇÃO25R
ev. 1
1/10
/201
1
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
DTE
DTE
Cabo Direto (com controle de fluxo) DCE
GIL PINHEIRO REDES DE COMUNICAÇÃO26R
ev. 1
1/10
/201
1
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
DTE
Cabo Modem Nulo (com controle de fluxo)
DTE
GIL PINHEIRO REDES DE COMUNICAÇÃO27R
ev. 1
1/10
/201
1
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)
DTE
Cabo Modem Nulo (sem controle de fluxo) DTE
GIL PINHEIRO REDES DE COMUNICAÇÃO28R
ev. 1
1/10
/201
1
Resolução de Problemas RS-2321. Determinar se cada dispositivo é
um DTE ou DCE� DTE x DCE – Cabo Direto� DTE x DTE ou DCE x DCE – Cabo
Cruzado2. Determinar se é necessário
controle de fluxo� Sim – interligar pinos 7, 8 e 5 entre
conectores de acordo com item 1� Não – juntar pinos 1-6-4 e pinos 7-8
em cada conector3. Utilizar Break-Out Box ou um
testador RS-232 para monitorar sinais e verificar inversões
Break-Out Box
Testador RS-232
GIL PINHEIRO REDES DE COMUNICAÇÃO29R
ev. 1
1/10
/201
1
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
Conector Loopback
GIL PINHEIRO REDES DE COMUNICAÇÃO30R
ev. 1
1/10
/201
1
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
Potencial Diferença de Aterramentos
Sinal TTL
Sinal TTL
GIL PINHEIRO REDES DE COMUNICAÇÃO31R
ev. 1
1/10
/201
1
Programando a Porta Serial
• Uma porta serial requer as seguintes etapas na programação:
1. Criar a porta (criar o objeto)2. Parametrizar a porta3. Abrir a porta4. Enviar e/ou receber dados5. Fechar a porta
GIL PINHEIRO REDES DE COMUNICAÇÃO32R
ev. 1
1/10
/201
1
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 UART no formato binário
GIL PINHEIRO REDES DE COMUNICAÇÃO33R
ev. 1
1/10
/201
1
Programando a Porta Serial
Programa Aplicativo (Python)
Biblioteca Serial (Python)
Sistema Operacional (Windows, Linux)
Porta RS-232 (Física ou Virtual)
2
1
7
Camadas do ProgramaCamada do
Modelo ISO/OSI
GIL PINHEIRO REDES DE COMUNICAÇÃO34R
ev. 1
1/10
/201
1
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 programaport = serial.Serial()port.port = 'COM7'port.baudrate = 115000port.bytesize = serial.EIGHTBITSport.parity = serial.PARITY_NONEport.stopbits = serial.STOPBITS_ONEport.timeout = 10 # Tempo máximo, em segundos, para receber respostaport.xonxoff = 0port.rtscts = 0
# 2 - Inicializa a porta serialtry:
port.open()except serial.SerialException:
pass
# Inicializou a porta serial sem errosprint('Abriu porta RS232: %s' % port.portstr)
GIL PINHEIRO REDES DE COMUNICAÇÃO35R
ev. 1
1/10
/201
1
# 3 - Cria mensagem a ser enviada, textotexto = '01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ'
# 4 - Codifica a mensagem em bytessnd_msg = texto.encode()
# 5 - Envia a mensagem pela porta serial RS232port.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 recebidaprint('Recebeu frame: ', m.decode() )
# Compara a mensagem recebida com a enviadaif m.decode() == texto:
print( 'Mensagem recebida sem erros' )
# 8 - Encerra a porta serialport.close()
Etapas do Programa Loopback
GIL PINHEIRO REDES DE COMUNICAÇÃO36R
ev. 1
1/10
/201
1
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
conexões ponto a ponto
GIL PINHEIRO REDES DE COMUNICAÇÃO37R
ev. 1
1/10
/201
1
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...)
• Pinos GND (5) conectados