Escolar Documentos
Profissional Documentos
Cultura Documentos
Motivação
– Criado em 1969
– Implementações atuais não suportam o padrão original
completo.
– Os sinais implementados atualmente e sua forma de
utilização são muito pouco semelhantes à especificação
original.
– O estudo apenas do padrão, sem levar em conta a
“evolução” (darwiniana) das implementações, seria
infrutífero.
1
Comunicação Serial – RS232
UART (Universal Asynchronous Receiver Transmitter):
2
Comunicação Serial – Sincrona x Assincrona
• Comunicação Serial Assincrona:
– Transmissão de dados sem utilização de sinal de clock.
– Bits especiais são adicionados aos dados para sincronizar o
transmissor e o receptor:
• Start Bit: Adicionado ao início da “word” que será transmitida. Usado para
sincronizar clocks do receptor e do transmissor. (drift máximo entre clocks
de 10%).
• Bit de dados: os bits da word de dados são enviados, com o Bit menos
significativo antes (LSB). A sinalização de cada bit é realizada em período
constante, e o receptor lê (amostra) o meio físico no meio deste período.
– Ex: T =2s, receptor lê o sinal (0 ou 1), depois de 1 segundo e vai aguardar mais
2 segundo para realizar nova leitura.
• Bit de paridade: o transmissor adiciona este bit depois de enviar toda a
palavra de dados. O receptor pode utilizar este bit para verificar erros.
• Stop Bit: o transmissor envia pelo menos um bit de parada.
3
Comunicação Serial – RS 232 - Sinalização
• Sinalização por tensão:
4
Comunicação Serial – RS 232C – Pinagem DB9
Pinagem do conector serial DB-9 DTE:
Linha discada
Computador Computador
DTE DTE
5
Comunicação Serial – Cabo Null Modem
Pino Sinal
1 CD (Carrier Detect)
2 RD (Receive Data)
3 TD (Transmit Data)
4 DTR (Data Terminal Ready)
5 Signal Ground
6 DSR (Data Set Ready)
7 RTS (Request to Send)
8 CTS (Clear to Send)
9 RI (Ring Indicator)
Pino Sinal
1 CD (Carrier Detect)
2 RD (Receive Data)
3 TD (Transmit Data)
4 DTR (Data Terminal Ready)
5 Signal Ground
6 DSR (Data Set Ready)
7 RTS (Request to Send)
8 CTS (Clear to Send)
9 RI (Ring Indicator)
6
Comunicação Serial – Java
Pacote de Comunicação:
javax.comm
Metodos:
CommPort •Configuração de portas
•Obter streams para leitura e escrita de dados
SerialPort
7
Comunicação Serial – Java
Classe CommPortIdentifier
import java.util.Enumeration;
import javax.comm.CommPortIdentifier;
class PortLister{
public static void main(String args[]){
Enumeration ports = CommPortIdentifier.getPortIdentifiers();
while (ports.hasMoreElements()){
System.out.println(((CommPortIdentifier)(ports.nextElement())).getName());
}
}
}
SerialPort sp;
sp=(SerialPort)CommPortIdentifier.getCommPortIdentifier(“com1”.)open
(“App”,1000);
8
Comunicação Serial – Java
Configuração da Porta Serial (SerialPort)
Possui um método para configuração de:
– Baud rate: {1200,2400,...,9600,...,19200,...,38400,...,115200}
– Número de DataBits
SerialPort.{DATABITS_5,DATABITS_6,DATABITS_7,DATABITS_8}
– Número de StopBits
SerialPort.{STOPBITS_1,STOPBITS_1_5,STOPBITS_2}
– Tipo de paridade:
SerialPort.{PARITY_EVEN,PARITY_MARK,PARITY_NONE,PARITY_ODD,PARITY_SPACE}
9
Comunicação Serial – Java
Configuração da Porta Serial (SerialPort)
Controle de Fluxo: XON/XOFF
B A
Dados
Buffer de recepção
quase cheio
Envia caracter XOFF (0x13)
Para de
enviar dados Processa dados e esvazia
Envia caracter XON (0x11) buffer de recepção
Continua a
enviar dados
Dados
10
Comunicação Serial – Java
Configuração da Porta Serial (SerialPort)
Possui um método para configuração de Controle de Fluxo:
– Tipo de controle de fluxo:
SerialPort.{FLOWCONTROL_NONE,FLOWCONTROL_ RTSCTS_IN,FLOWCONTROL_
RTSCTS_OUT,FLOWCONTROL_ XONXOFF_IN,FLOWCONTROL_ XONXOFF_OUT}
11