Comunicação Serial. Comunicação Serial

Documentos relacionados
Interface Serial. Prof. Adilson Gonzaga

17/04/2017. Comunicação Serial. Comunicação Serial. Comunicação de Dados em Microprocessadores. . Comunicação Paralela. Comunicação Serial

SEL 337 Aplicação de Microprocessadores II

COMUNICAÇÃO SERIAL. Prof. Clayrton Henrique Microprocessadores Aula 30 Rev.02

Porta Série SÉRIE x PARALELO PORTA SÉRIE. Comunicação série SÉRIE PARALELA

2.4 Temporização da CPU

Laboratório de Microprocessadores e Microcontroladores

Laboratório de Microprocessadores e Microcontroladores

Acetatos de apoio às aulas teóricas

Interrupções 8051 Porta Serial

Modelo de Comunicação

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 (Tema: Microcontrolador 8051) Resposta Esperada

EIA232. Introdução. Comunicação de Dados 3º EEA 2004/2005

Temporizadores e Contadores

Temporizadores e Contadores (Timer/Counter)

Lista de Exercícios 2

Temporização da CPU SEL-433 APLICAÇÕES DE MICROPROCESSADORES I. Ciclos de Máquina. Ciclos de Máquina. Temporização Interrupções Rotinas de Atraso

MICROPROCESSADORES E MICROCONTROLADORES. Prova 1 Resposta Esperada

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 UMA SOLUCAO POSSÍVEL

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 Resposta Esperada

Microcontroladores 8051

Transmissão serial de sinais

07/06/2015. Outras características importantes em Microprocessadores/Microcontroladores SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

EXPERIÊNCIA 6: COMUNICAÇÃO SERIAL. Prof. Dr. André Riyuiti Hirakawa e Prof. Dr. Paulo Sérgio Cugnasca

Organização de Memórias

Lista de Exercícios 1

Nome Endereço IRQ COM1 3F8 4 COM2 2F8 3 COM3 3E8 4 COM4 2E UART - Universal Asynchronous Receiver/Transmitter. descrição

Comunicação Serial RS-232. Walter Fetter Lages

Microcontrolador 8051

UTFPR Departamento Acadêmico de Eletrônica Curso Técnico em Eletrônica Microcontroladores 1 - Prof. Cion nov/2010 (atualizado em jul 2015)

Tópicos. Introdução. Padrões de Interfaceamento

Conceitos Básicos sobre Comunicação Serial

Prof. Adilson Gonzaga

Métodos de Transmissão. Padrões RS

SEMINÁRIO ASSEMBLY: Arquitetura 8051

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 UMA SOLUÇÃO POSSÍVEL. Obs.: Todas as questões têm valor 2,0. Boa prova e Feliz Natal e Ano Novo!!!!

CAPÍTULO 3 Interfaces Seriais RS-232 e RS-485

Conceitos de Comunicação Serial Assíncrona

Comunicação de Dados. Comunicação de Dados

Interrupção. Prof. Adilson Gonzaga

Comunicação Serial PIC16F877A. Leandro Resende Mattioli. Centro Federal de Educação Tecnológica de Minas Gerais Unidade Araxá

Prof. Adilson Gonzaga

Padrões de Comunicação Serial

Conexão de um Terminal à Porta de Console dos Switches Catalyst

Objetivo da Transmissão Serial

COMUNICAÇÃO DE DADOS INTERFACES DIGITAIS

Pretende-se neste trabalho familiarizar o aluno com a interface RS-232 e a sua aplicação em aquisição de dados num ambiente laboratorial

Microprocessadores. Organização de Memória

MICROCONTROLADOR 8051

Aula 10 Microcontrolador Intel 8051 Parte 2

Temporização Interrupções. Prof: Evandro L. L. Rodrigues. Rotinas de Atraso

Aplicações de Microprocessadores I. Prof. Adilson Gonzaga

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 (Tema: Microcontrolador 8051)

Aula 8. Multiplexadores. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira

Microcontroladores 2 EL08D Turma M12

8051 Estudo de Caso. Prof. Carlos E. Capovilla - CECS/UFABC 1

Lista de Exercícios 1

Camada Física. Professor Ivan Pires. Introdução. Licenciatura Plena em Computação

Memória de Dados Interna. Memória de Dados Interna

Comunicação Serial. Comunicação Serial RS232

COMUNICAÇÃO SERIAL ENTRE EQUIPAMENTOS

Transmissão serial de sinais

EXERCÍCIOS 2 Prof. Adilson Gonzaga

Prof. Adilson Gonzaga

Interrupções Externas

REDES DE COMPUTADORES E A CAMADA FÍSICA

O microcontrolador Quatro partes importantes

Microprocessadores e Microcontroladores. Prova Substitutiva Uma Solução

Aula. Princípios de Comunicação

208 = D0 h TMOD. MOV TMOD,#20h ;TMOD = Timer 1 no ;Modo 2, controle por software SCON. ;Canal Serial

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 - RESPOSTA ESPERADA

Microcontrolador 8051:

µcontroladores da Família 51

Módulo Conversor RS-232/RS-485

Disciplina: Teleprocessamento

DIAGRAMA DE BLOCOS DE UM MICROCONTROLADOR

Prof. Samuel Henrique Bucke Brito

Laboratório de Microprocessadores e Microcontroladores

Comunicação Serial Assíncrona

Transcrição:

RECEPÇÃO TRANSMISSÃO D7 D6 D5 D4 D3 D2 D1 D0 DESLOCAMENTO DESLOCAMENTO D7 D6 D5 D4 D3 D2 D1 D0 D0 D0 D7 D6 D5 D4 D3 D2 D1 D1 D0 D1 D7 D6 D5 D4 D3 D2 D2 D0 D1 D2 D7 D6 D5 D4 D3 D3 D0 D1 D2 D3 D7 D6 D5 D4 D4 D0 D1 D2 D3 D4 D7 D6 D5 D5 D0 D1 D2 D3 D4 D5 D7 D6 D6 D0 D1 D2 D3 D4 D5 D6 D7 D7 D0 D1 D2 D3 D4 D5 D6 D7 Canal de transmissão Comunicação Serial Comunicação Serial

a) SIMPLEX Comunicação Serial Direção da Transferência dos Dados TRANSM. FLUXO DE DADOS RECEP. b) HALF-DUPLEX TRANSM. RECEP. FLUXO DE DADOS TRANSM. RECEP. c) FULL-DUPLEX TRANSM. RECEP. FLUXO DE DADOS TRANSM. RECEP.

Comunicação Serial Tipos de Comunicação Serial Síncrona: um sinal de clock em separado é associado com o dado. Assíncrona: não existe sincronismo entre transmissor e receptor - a re-sincronização é feita caractere por caractere.

Comunicação Serial Assíncrona a. Formato do Caractere bits de repouso 5 a 8 bits de dados 1, 1e 1/2 ou 2 stop bits repouso próximo caracter 1 0 1/0 1/0 1/0 1/0 1/0 1/0 1 1 1 1 1/0 start bit bit de paridade start bit b. Sincronismo O sincronismo é feito a cada caractere, através de um clock localizado no receptor, cujo período é K vezes menor do que o período de duração do bit. TB = K.Tc TB - tempo de duração do bit Tc - período do clock de sincronismo do caractere

Comunicação Serial Assíncrona c. Detecção do Start Bit (K=16) TB= 16.Tc 1 0 0/1 1 0 0 0 0 0 0 0 0 Após a amostragem de 8 zeros, garante-se o START bit, ou seja, o início do caractere. Tc d. Temporização na Recepção do caractere ( K=16). start bit bit de paridade TB D 0 D1 D2 D3 D4 D5 D6 D7 1 0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0. stop bit 8 Tc 16 Tc 16 Tc 16 Tc 16 Tc 16 Tc 16 Tc 16 Tc 16 Tc 16 Tc 16 Tc

Comunicação Serial Assíncrona e. Velocidade de Comunicação Considerando um caractere formado por 11 bits, como segue: 1 start bit 8 bits de dados 1 bit de paridade 1 stop bit Considerando por exemplo, uma velocidade de comunicação de 10 caracteres por segundo, tem-se: 11 bits/caractere x 10 caracteres/s = 110 bits/s Define-se: BAUD = bits/s BAUD RATE = Taxa de Comunicação

Comunicação Serial Assíncrona f. Taxas de Comunicação mais Comuns Taxa TB 110 Baud. 9.1 ms 150 Baud. 6.66 ms 300 Baud. 3.33 ms 600 Baud. 1.66 ms 1200 Baud 833 us 2400 Baud 416 us 4800 Baud 208 us 9600 Baud. 104 us 19200 Baud 52 us

Comunicação Serial RS 232 - C Padronizada pela EIA ( Electronic Industries Association - USA) RS : Recommended Standard 232 : número da norma C : número de revisões da norma Tipo de comunicação : Serial Assíncrona Características da Interface Taxa de Comunicação de 75 Baud a 19200 Baud Comprimento do cabo de ligação entre equipamentos: menor do que 15 metros, sem amplificação. Não existe isolação elétrica entre os equipamentos

Comunicação Serial RS 232 - C Um Protocolo de Comunicação de Dados estabelece regras para a comunicação entre um DTE e um DCE ou entre um DTE e um DTE. DTE : Data Terminal Equipment Equipamento que compreende a fonte de dados, a recepção de dados ou ambos DCE : Data Communication Equipment Equipamento que providencia as funções necessárias para manter uma conexão de dados, e realizar a conversão do sinal necessária à comunicação entre um DTE e o circuito de comunicação.

Comunicação Serial RS 232 - C Características Elétricas do Sinal Lógica Negativa STATUS nível lógico 1 0 nível de tensão - 25V a -3V + 3 V a + 25V função condição do sinal OFF MARK ON SPACE

Comunicação Serial RS 232 - C +25V +5V -5V -25V Transmissão - SPACE - NIVEL 0 - ON região de transição - MARK - NIVEL 1 - OFF 2V 2V MARGEM DE RUÍDO Recepção -SPACE - NÍVEL 0 - ON região de transição - MARK - NIVEL 1 - OFF +25V +3V -3V -25V

Comunicação Serial RS 232 - C Características Mecânicas da Interface - Conector de 25 pinos -DB 25 DB 25 P (macho) - DTE DB 25 S (fêmea) - DCE 13 1 Conjunto de Sinais para o DTE PINO NOME FUNÇÃO 1 GND Terra da carcaça 2 TXD Transmissão de dados 3 RXD Recepção de dados 4 RTS Request To Send 5 CTS Clear To Send 6 DSR Data Set Ready 7 GND Terra do sinal 8 DCD Data Carrier Detect 9/10 - reservado para testes no conjunto de dados 11 - Não usado 12 SDCD DCD secundário 25 14 PINO NOME FUNÇÃO 13 SCTS CTS secundário 14 STxD Transmissão secundário 15 TSET Transmit Signal Element Timing 16 SRxD Recepção secundário 17 RSET Receive Signal Element Timing 18 - Não usado 19 SRTS RTS secundário 20 DTR Data Terminal Ready 21 SQD Signal Quality Detector 22 RI Ring Indicator 23 DSRS Data Signal Rate Select 24 TSET Transmit signal Element Timing 25 - Não usado

Comunicação Serial RS 232 - C Características Funcionais do Circuito Transmissão de Dados (TxD) DTE TxD DCE Esta linha permanece em nível lógico 1 (tensão negativa), enquanto não tiver dados. Recepção de Dados (TxD) DTE RxD DCE Esta linha permanece em nível lógico 1 (tensão negativa), enquanto não tiver dados.

Comunicação Serial RS 232 - C Comunicação Serial com Handshaking TxD DTE RTS CTS DCE RTS Request to Send CTS Clear to Send RTS CTS TxD DADO SERIAL

Comunicação Serial RS 232 - C Implementação em Microcomputadores DTE 2 3 4 5 6 7 8 20 22 TXD RXD RTS CTS DSR DCD DTR RI GND 2 3 4 5 DCE 6 7 8 20 22 DTE 2 3 7 TXD RXD GND 2 3 7 DCE Full Duplex Padrão Três Fios

Comunicação Serial RS 232 - C Modem Nulo Três Fios com Loop de Luxo DTE 2 3 7 TXD RXD GND 2 3 7 DTE DTE 2 3 4 5 6 7 8 20 TXD RXD GND 2 3 4 5 6 DCE 7 8 20 pino 4: RTS pino 5: CTS pino 6: DSR pino 8: DCD pino 20: DTR

Interface Serial no no Microcontrolador 8051 A porta serial é full-duplex Para Transmitir um Dado Serialmente Escrever no no SBUF Para Receber um Dado Serialmente Ler do do SBUF F8 F0 E8 E0 D8 D0 C8 C0 B8 B0 A8 A0 98 90 88 80 B ACC PSW T2CON IP P3 1E P2 SCON P1 TCON P0 T2MOD SBUF TMOD SP RCAP2L TL0 DPL RCAP2H TL1 DPH TH0 TH1 Os registradores SBUF de recepção e de transmissão são fisicamente separados. TL2 TH2 PCON

Interface Serial no no Microcontrolador 8051 F8 F0 B E8 E0 ACC D8 D0 PSW C8 T2CON T2MOD RCAP2L RCAP2H TL2 TH2 C0 B8 IP SCON SCON Usado Usado para para programar a Interface Serial Serial B0 A8 A0 98 P3 1E P2 SCON SBUF Endereçável a Bit 90 88 P1 TCON TMOD TL0 TL1 TH0 TH1 80 P0 SP DPL DPH PCON PCON PCON Possui Possui um um bit bit (SMOD) que que permite dobrar dobrar Baud BaudRate Não endereçável a Bit

Interface Serial no no Microcontrolador 8051 A porta serial pode operar em 4 Modos Modo 0 Modo Síncrono: O dado serial (de 8 Bits com LSB primeiro) é transmitido e recebido através de RxD. O TxD envia o clock. A Taxa de Comunicação ( baud rate ) é fixa em 1/12 da freqüência do oscilador. Modo 1 Modo Assíncrono: 10 Bits são transmitidos (via TxD) ou recebidos (via RxD) : 1 StartBit, 8 Bits de dados com LSB primeiro e um StopBit. O baud rate é variável. Modo 2 Modo Assíncrono: 11 Bits são transmitidos (via TxD) ou recebidos (via RxD) : 1 StartBit, 8 Bits de dados com LSB primeiro, um nono Bit programável, e um StopBit. O baud rate é programável para 1/32 ou 1/64 da freqüência do oscilador. Modo 3 Modo Assíncrono: 11 Bits são transmitidos (via TxD) ou recebidos (via RxD) : 1 StartBit, 8 Bits de dados com LSB primeiro, um nono Bit programável, e um StopBit. O baud rate é variável.

Programação dos Modos de Operação da Interface Serial Registrador de Controle da Porta Serial - SCON Endereçável a Bit SCON SM0 SM1 SM2 REN TB8 RB8 TI RI SM0 SM1 Modo de Funcionamento Taxa de Transmissão 0 0 0 Fclock / 12 0 1 1 Variável (10 bits) 1 0 2 Fclock / 32 ou Fclock / 64 1 1 3 Variável (11 bits) SM2 - Habilita a comunicação em multiprocessadores nos modos 2 e 3. No modo 0, SM2 deve ser igual a zero.

Programação dos Modos de Operação da Interface Serial SCON SM0 SM1 SM2 REN TB8 RB8 TI RI REN - Habilita a recepção serial 1 Habilita a recepção Serial 0 Desabilita a recepção Serial TB8 - É o nono bit de dados que será transmitido nos modos 2 e 3. Setado ou zerado por Software. RB8 - É o nono bit de dado que foi recebido nos modos 2 e 3. No Modo 1, se SM2=0 RB8 é o StopBit recebido. No Modo 0 RB8 não é usado. TI - Flag de Interrupção da Transmissão. Setado por Hardware no fim do oitavo bit no Modo 0, ou no começo do StopBit nos outros Modos. RI - Flag de Interrupção da Recepção. Setado por Hardware no fim do oitavo bit no Modo 0, ou na metade do tempo do StopBit, nos outros Modos.

(Baud Rates) Taxas de de comunicação Modo 0 : Baud Rate fixo. = Freqüência do oscilador / 12 Modo 2 : Baud Rate fixo. = Freqüência do oscilador / 32 ou 64 Modo 1 ou Modo 3 : Baud Rate variável. Pode ser gerado tanto pelo Timer 1 ou Timer 2 (8052) O T1 é usado no Modo 2 (Auto Reload) como Timer (C/T = 0) BaudRate = K ( Freqüência do Oscilador) 32 12 [ 256 ( TH1) ] Se SMOD = 0 então K=1 (default) Se SMOD = 1 então K=2 Presente apenas nas versões CHMOS Presente em todas as versões PCON SMOD bit 7 -- -- -- GF1 GF2 PD IDL bit 0

(Baud Rates) Taxas de de comunicação Logo, deve-se calcular o valor de TH1 (Byte mais significativo do Contador 1, que no Modo 2 é carregado em TL1 no fim de cada contagem) TH1 é um valor inteiro de 8 Bits (de 00 a 255) TH1 = 256 K ( Freqüência do Oscilador ) 384 ( Baud Rate) Arredonda-se TH1 para o inteiro mais próximo. Como o arredondamento pode não produzir o Baud Rate desejado, deve-se escolher uma outra freqüência para o cristal adotando-se o valor arredondado de TH1.

Exemplo: Gerar a Taxa de Comunicação de 19,2 KBPS (19.200 BPS) sendo a freqüência do cristal de 12 MHz. TH1 = 256 K ( Freqüência do Oscilador ) 384 ( Baud Rate) Fazendo SMOD = 1 então K = 2 6 2 12 10 TH1 = 256 = 252,74 253 0FDh 384 19200 Como TH1 deve ser inteiro, deve-se ajustar a freqüência do cristal : Freqüência do Oscilador = ( 256 TH1) BaudRate 384 K Freqüência do Oscilador = 19200 384 2 ( 256 253) = 11059200 Hz = 11.059 MHz

Operação no Modo1: Comunicação serial Assíncrona. (10 Bits) Transmissão : 1. A transmissão começa escrevendo-se o dado em SBUF MOV SBUF,#dado 2. Quando o MSB for transmitido, o bit TI de SCON é setado.

Operação no Modo1: Comunicação serial Assíncrona. (10 Bits) Recepção : 1. Iniciada quando uma transição de 1 para 0 é detectada em RxD. A linha é amostrada 16 vezes. O valor é aceito após 2 ou 3 amostras para evitar ruído (falso StartBit) 2. O dado recebido é deslocado por um Shift Register e ao final carregado em SBUF, o StopBit em RB8 e RI é setado. 3. Isto só ocorre se a seguinte condição existir no final da última recepção a) Ri =0 b) SM2 ou StopBit recebido = 1 Se estas condições não ocorrerem, o dado foi perdido

Exemplo: Transmitir o código ASCII da letra A pelo canal serial a um taxa de 1200 BPS. Considerar o cristal da CPU de 11,0592 MHz. ORG 0 MOV TMOD,#20h ;TMOD = 00100000 Timer 1 no ;Modo 2, controle por software K ( Freqüência do Oscilador ) TH1 = 256 384 ( Baud Rate) MOV TH1,#232 ;valor 232 em TH1 e TL1 para ;gerar a Taxa de Comunicação de MOV TL1,#232 SETB TR1 MOV SCON,#40h GATE Timer 1 C / T M1 M0 GATE ;1200 BPS com fc=11,0592 MHz e ; K=1(default) ;Dispara Temporizador C / T Timer 0 ;SCON = 01000000 modo 1 do ;Canal Serial M1 M0 SM0 SM1 SM2 REN TB8 RB8 TI RI MOV SBUF, # A JNB TI,$ CLR TI SJMP $ ; Transmite o caractere ASCII A ; Espera terminar a transmissão ; Prepara para nova transmissão ; Pára

Exemplo: Receber um código ASCII pelo canal serial a um taxa de 1200 BPS. Considerar o cristal da CPU de 11,0592 MHz. ORG 0 SCON SM0 SM1 SM2 REN TB8 RB8 TI RI MOV TMOD,#20h ;TMOD = 00100000 Timer 1 no ;Modo 2, controle por software MOV TH1,#232 MOV TL1,#232 SETB TR1 MOV SCON,#40h SETB REN JNB RI,$ MOV A, SBUF CLR RI SJMP $ ;valor 232 em TH1 e TL1 para ;gerar a Taxa de Comunicação de ;1200 BPS com fc=11,0592 MHz e ; K=1(default) ;Dispara Temporizador ;SCON = 01000000 modo 1 do ;Canal Serial ; Habilita a Recepção ;Espera terminar a recepção ; Lê o dado recebido serialmente ; Prepara para nova recepção ; Pára

Exemplo: Receber e Transmitir qualquer caractere ASCII pelo canal serial a um taxa de 1200 BPS, utilizando a Interrupção. Considerar o cristal da CPU de 11,0592 MHz..

Exercício: Construir um programa que seja capaz de enviar pela porta serial uma frase armazenada na memória de programa do microcontrolador, toda vez que o número 50h (código ASCII da letra P ) for recebido pela porta serial. Utilizar Baud Rate de 9600. Construir em duas versões: 1 - sem o uso da interrupção serial; 2 utilizando interrupção serial.