Comunicação Serial - Revisão



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

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

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

COMUNICAÇÃO SERIAL ENTRE EQUIPAMENTOS

Comunicação de dados. Introdução

Microprocessadores e Microcontroladores. Prova Substitutiva Uma Solução

Redes de Comunicações/Computadores I Secção de Redes de Comunicação de Dados

Copyright 2013 VW Soluções

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

Portas Paralelas e Seriais IEEE 1284, RS 232, USB e IEEE 1394 (Firewire) Porta Paralela no PC

Quadro de consulta (solicitação do mestre)

CAPÍTULO 5. INTERFACES PARA PERIFÉRICOS DE ARMAZENAMENTO INTERFACES DIVERSAS: FIREWIRE, SPI e I 2 C INTERFACES COM O MUNDO ANALÓGICO

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

Porta Série. Trabalhos Práticos AM 2007/2008. Porta Série. Objectivos

Comunicação Serial. Comunicação Serial

Comunicação Paralela Meio de transferência de dados onde a informação é transferida os 8 bits ao mesmo tempo.

RCO2. Introdução à camada física

Arquitetura de Computadores. Tipos de Instruções

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

SCD 912. Dispositivo de comunicação e armazenamento. Apresentação. Dados Técnicos. Conexões

5 Entrada e Saída de Dados:

Interface Serial. Prof. Adilson Gonzaga

Entradas/Saídas. Programação por espera activa Programação por interrupções

MANUAL DE INSTALAÇÃO E PROGRAMAÇÃO CONVERSOR - IP / USB / SERIAL RV1

Organização de Computadores 1

ABB Automação kV 119.4kA kV 121.3kA kV 120.2kA IDR 144 INDICADOR DIGITAL REMOTO MODO DE USO

Arquitetura de Computadores. Professor: Vilson Heck Junior

Serial Paralela USB FireWire(IEEE1394)

Aula 04 B. Interfaces. Prof. Ricardo Palma

Guia de Cabeamento para Portas de Console e AUX

Sistemas Operacionais

Dispositivos de Entrada e Saída

Universal Serial Bus USB

Sistemas Operacionais Entrada / Saída. Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br)

Módulo de Conversão RS232/RS485

Claudivan C. Lopes

MANUAL DE INSTRUÇÕES. Conversor USB P/ RS-232/422/485 Modelo D501 Revisão 2

Interrupções 8051 Porta Serial

INTRODUÇÃO BARRAMENTO PCI EXPRESS.

Prof. Marcelo Machado Cunha Parte 3

Manual. C2030sw - Placa PCI 8 portas seriais RS232 em conector RJ45 Slim

Arquitetura de Computadores Arquitetura de entrada e saída

Vitor Amadeu Souza.

Aula 04 A. Barramentos. Prof. Ricardo Palma

SEL 337 Aplicação de Microprocessadores II

Arquitetura CAN. José Sérgio da Rocha Neto

Organização e Arquitetura de Computadores

IEEE 1394 PORQUE OUTRO BARRAMENTO? Grande crescimento do número de conectores no PC. Equipamentos analógicos migrando para digital

Organização e arquitetura de computadores Protocolos de barramento

Conversor Ethernet Serial CES-0200-XXX-XX. Manual V3.9

MANUAL DO USUÁRIO. Software de Gerenciamento. Controlador de Fator de Potência. Self Control

Estrutura de um Computador

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Laboratório de Microprocessadores e Microcontroladores

Manual Técnico Interface Modbus

PROGRAMA DE GERENCIAMENTO DOS AMPLIFICADORES MR 4.50D-XT MR 6.50D-XT MR 6.80-XT Rev. 2.3 de 29/01/2014

TECLADO PAINEL OPERADOR USB COM DISPLAY GRÁFICO. Código : FT 023/09 REV: 02

NETALARM GATEWAY Manual Usuário

Introdução sobre à porta USB

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

2 Conceitos de transmissão de dados

USJT Universidade São Judas Tadeu ENGENHARIA ELÉTRICA - LAB. INTEGRADO. EXP4 : Interrupções do uc 8051

Prática 8: Comunicação SPI. 8.1 Introdução e objetivos. 8.2 Princípios básicos do protocolo SPI

Redes de Computadores II Prova 3 13/07/2012. Nome:

Barramentos e Interfaces

CAPÍTULO 1 INTRODUÇÃO

Entrada e Saída. Prof. Leonardo Barreto Campos 1

1. Os caracteres (p.ex: a, A, 8,!, +, etc) são representados no computador através da codificação ASCII (American Standard Code for

WATCHDOG ELITE NTC OPÇÃO DE COMUNICAÇÕES SERIAIS

O protocolo I2C. Fig. 1 Diagrama em blocos e pinos do circuito integrado PT2313.

Matriz seletora VGA/WXGA & Controle RS x 8 TRANSCORTEC STATUS OUTPUT 2

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA INF Redes de Computadores N

Manual da Comunicação Modbus-RTU

FAÇA FÁCIL: DRIVER IGS PARA COMUNICAÇÃO DE PROTOCOLOS PROPRIETÁRIOS INTRODUÇÃO

SISTEMA DE MONITORAMENTO DIGITAL

Prof. Wilton O. Ferreira Universidade Federal Rural de Pernambuco UFRPE 1º Semestre / 2012

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

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

O protocolo MODBUS define também o tipo diálogo entre os equipamentos, define por exemplo quem pode enviar dados e em que altura.

Prof. Daniel Gondim Informática

Módulo de Comunicação

Centro Tecnológico de Eletroeletrônica César Rodrigues. Atividade Avaliativa

R S Q Tabela 17 - Tabela verdade NOR

Redes Industriais ModBus RTU

ENTRADA E SAÍDA DE DADOS

Comunicação Serial com o AVR ATMEGA8

MICROPROCESSADORES E MICROCONTROLADORES PROVA 2 UMA SOLUCAO POSSÍVEL

ISOLADOR FOTOELÉTRICO INTERFACE EM SÉRIE RS-232

Por razões, é requerido um módulo de E/S, que deve desempenhar duas funções principais:

USB - Introdução. Meios Eletrônicos I 2011

Placa Acessório Modem Impacta

Placas Adaptadoras e montagem de Redes

CURSO OPERACIONAL TOPOLOGIA SISTEMA SIGMA 485-E

Laboratório de Microprocessadores e Microcontroladores

Barramentos 17/10/2011. Redes de Computadores. Arquitetura de Computadores FACULDADE PITÁGORAS DE TECNOLOGIA FACULDADE PITÁGORAS DE TECNOLOGIA.

Transcrição:

Comunicação Serial - Revisão Comunicação Serial no 80C51 PCS 2497-05/2006 Prof. Dr. C.E.Cugnasca Prof. Dr. A.R.Hirakawa

Comunicação Serial - Introdução Como conectar um microcomputador (ou equipamento microprocessado) a outros equipamentos? Através de Interfaces de comunicação: Paralelas Seriais

Comunicação Serial - Introdução Interface Paralela: Todos os bits de uma palavra são transmitidos simultaneamente Cada canal necessita de diversos fios Vantagens: - Maior rapidez - Maior simplicidade das interfaces Desvantagens: - Muitos fios > custo - Ruído, perda de sincronismo Menores distâncias

Comunicação Serial - Introdução Interface Paralela: Dados + controle Equipamento 1 Equipamento 2

Comunicação Serial - Introdução Interface Serial: Os bits de uma palavra são transmitidos seqüencialmente no tempo, em um único meio físico Vantagens: - Poucos fios - Distâncias grandes Desvantagens: - Menor velocidade - Maior complexidade das interfaces

Comunicação Serial - Introdução Interface Serial: Dados + controle Equipamento 1 Equipamento 2 Pode ser: Síncrona ou Assíncrona

Comunicação Serial - Introdução Tipos de Interfaces Seriais: Síncrona Transmissor e receptor utilizam o mesmo clock com mesma freqüência e fase Transferência de blocos Cada bloco: caracteres de sincronismo dados check de erro Pequeno overhead exemplo: para cada bloco: + 3 bytes (2 sincronismo, 1 checksum) bloco=1024 bytes + 3 bytes = 1027 bytes 0,3% de tempo extra!

Comunicação Serial - Introdução Tipos de Interfaces Seriais: Assíncrona Clocks do transmissor e do receptor podem estar ligeiramente diferentes ressincronismo a cada byte Transferência de bytes Para cada byte, mais 2 ou 3 bits: start bit bit de paridade stop bits (1 a 2) Grande overhead: para cada byte + 3 bits = 11 bits = 37,5% de tempo extra! = < velocidade Overhead = 100*3/11 = 27,27%

Comunicação Serial - Introdução Tipos de Interfaces Seriais: Isócrona Clock incluído ou incorporado ao dado ressincronismo a cada pacote Transferência de pacotes Contínuo e sem checagem dos dados Útil para aplicações de transferência de grande quantidade de dados e sem precisão Ex: Vídeo conferência

Comunicação Serial - Introdução Embora as interfaces seriais síncronas sejam mais rápidas, as interfaces seriais assíncronas são mais utilizadas, devido a: Facilidade de implementação Menor Custo Nesta aula, o assunto principal será comunicação serial assíncrona!

Comunicação Serial - Padrões Padrão Síncrono Assíncrono Isócrono RS-232 X X RS-422 RS-485 X X X X USB IEEE-1394 CAN Serial ATA X X X X X X

Comunicação Serial - Padrões Padrão Síncrono Assíncrono Isócrono ETHERNET SPI I 2 C SMbus Memory Stick Serial X X X X X

Comunicação Serial Assíncrona Código: Conjunto de regras pelas quais informações ou dados (ex: números, letras) podem ser convertidos a uma representação do código e vice-versa Para transmitir a informação através de uma interface é necessário que ela esteja codificada de alguma forma A unidade mais básica de informação para nós é o bit, que pode ter valores 0 ou 1. Toda informação utilizada pelos computadores é codificada de alguma forma em seqüências de bits

Comunicação Serial Assíncrona Código ASCII: Abreviação de: American Standard Code for Information Interchange. Código universal para intercâmbio de informações, concebido especialmente para utilização em transmissão, recepção e processamento de dados. ASCII para 7 bits: 2 7 = 128 caracteres podem ser representados. ASCII para 8 bits: 2 8 = 256 caracteres diferentes. ex.: o código ASCII 0100 0001 = 65D = 41H representa o caractere "A".

Comunicação Serial Assíncrona Paridade: Bit acrescentado ao dado, destinado à detecção de erros Paridade par: número par de bits no estado 1 Paridade ímpar: número ímpar de bits no estado 1 ex.: caracter "A em ASCII de 7 bits: 1 0 0 0 0 0 1 com paridade ímpar: como tem-se 2 bits no estado 1, o bit de paridade também será 1, de forma que no total tem-se 3 bits em 1 (ímpar) bit de paridade: 1 1 0 0 0 0 0 1

Comunicação Serial Assíncrona Paridade: Ex.: dado com bit de paridade: 1 1 0 0 0 0 0 1 Supondo-se que por um erro de transmissão, um dos bits 0 transformou-se em 1: 1 1 0 0 0 0 0 1 -------> 1 1 0 0 1 0 0 1 Ao verificar a paridade, o receptor perceberá que há um número par de 1, e indicará que houve algum erro na transmissão, e que esse byte é inválido E se houver um número par de mudanças?

Comunicação Serial Assíncrona Transmissão de um Caractere: Ex.: Transmissão do caractere A em ASCII com paridade ímpar e dois stop bits: 1 1 0 0 0 0 0 1 = b7 b6 b5 b4 b3 b2 b1 b0 Start b0 b1 b2 b3 b4 b5 b6 b7 Stop Stop

Comunicação Serial Assíncrona Transmissão de um Caractere: Quando não há dados sendo transmitidos, a linha fica em nível lógico 1. Paridade: par, ímpar ou sem paridade Normalmente se usa 1 ou 2 stop bits. Estes devem garantir que o receptor terá tempo de receber e armazenar o caracter, antes de receber o próximo. A quantidade de bits na informação transmitida também pode variar: de 5 a 8 bits Obs: Transmissor e receptor devem ter as mesmas configurações quanto a velocidade, tamanho da palavra, paridade e número de stop bits!

Comunicação Serial Assíncrona Transmissão de um Caractere: O receptor reconhece a borda de descida do start bit e sincroniza seu clock Após 1 ciclo e meio começa a fazer a leitura dos demais bits a cada clock Se as freqüências do transmissor e do receptor estiverem perfeitamente sincronizadas, as leituras serão efetuadas exatamente no meio de cada ciclo Tolerância a pequenas variações dos clocks de Tx e Rx. Start b0 b1 b2 b3 b4 b5 b6 b7 Stop Stop Sincroniza demais leituras

Comunicação Serial Assíncrona Bit Rate: Éo número de bits por segundo transmitidos através da interface serial Baud Rate: É o número de transições (ou eventos) por segundo Cada evento pode transmitir mais de 1 bit: ex.: modems, onde a variação de fase da portadora poderia representar dois ou mais bits. Quando cada evento representa apenas 1 bit, então o Bit Rate e o Baud Rate são iguais!

Comunicação Serial Assíncrona Padrões RS-232C: Padrão físico e elétrico. Conector DB25 (no caso dos computadores PC, usase normalmente um DB9, com os principais sinais). DB25 DB9 descrição do sinal. 2 3 Transmit Data - TXD. 3 2 Receive Data - RXD. 4 7 Request to Send - RTS. 5 8 Clear to Send - CTS. 6 6 Data Set Ready - DSR. 7 5 Signal Ground - GND. 8 1 Data Carrier Detect - DCD. 15 Transmit Clock - TXCk. 17 Receive Clock - RXCk. 20 4 Data Terminal Ready - DTR. 24 Auxiliary Clock. 22 9 Ring Indicator - RI.

Comunicação Serial Assíncrona Padrões RS-232C: Null Modems: Conector simplificado, usado para transferência de dados Hyperterminal : permite desabilitar sinais de controle de fluxo. DB25 DB9 2 3 TXD. 3 2 RXD. 4 7 RTS. 5 8 CTS. 6 6 DSR. 7 5 GND. 8 1 DCD. 15 TXCk. 17 RXCk. 20 4 DTR. 24 22 9 RI. DB25 DB9 3 2 RXD. 2 3 TXD. 4 7 RTS. 5 8 CTS. 6 6 DSR. 7 5 GND. 8 1 DCD. 15 TXCk. 17 RXCk. 20 4 DTR. 24 22 9 RI. Conector loopback : além das demais ligações, conectar TXD com RXD. Utilizado pata teste do canal serial.

Comunicação Serial Assíncrona Padrões RS-232C: Padrão físico e elétrico Opera com tensões referenciadas ao terra. Nível lógico 0 : tensão entre +3 e +15V Nível lógico 1: tensão entre -3 e -15V Faixas de tensão inválido + 15V nível lógico 0 +3V 0V inválido -3V nível lógico 1-15V inválido Valores típicos: + 12V e - 12V

Comunicação Serial Assíncrona Padrões RS-232C "Single ended": sinal referenciado à terra Tx Rx Terra = 0 V Problemas: Quedas de tensão ao longo do fio Susceptível a ruídos e diferenças de potencial de terras Limite de distância +/- 15m (depende da taxa e qualidade do cabo) Taxa máxima: 20Kbps

Comunicação Serial Assíncrona Padrões RS-232C: Exemplos de circuitos drivers e receivers utilizados em RS 232C: 1488 - quad line driver necessita de alimentação simétrica (+12V e 12V). 1489 - quad line receiver (só 0 e 5V), MAX232C: alimentação simples (0 e 5V), gera internamente tensões simétricas (+12V e 12V). Implementa dois drivers e dois receivers em um único chip.

Comunicação Serial Assíncrona - Circuitos 1488 1489 MAX232

Comunicação Serial Assíncrona Padrões RS-422: "Differencial Voltage Pairs": Sinal Diferencial Tx + Va - Vb < - 0.2V = 0 Tx - Va - Vb > +0,2V = 1 par trançado Vantagens: Mais imune a cross-talk Mais resistente a quedas de tensão Limite de distância: +/- 1200m (depende da taxa e cabo) Taxa máxima: 10Mbps Não define conector

Comunicação Serial Assíncrona Padrões RS-485: Semelhante ao RS-422, mas com drivers tri-state: Permite topologias de redes multiponto Rede do tipo mestre-escravo Até 64 dispositivos Componentes para RS 422 e RS 485: Am26LS32 driver Am26LS32 receiver MAX 481 / 483 / 485 / 487 / 1487 - transceivers

Comunicação Serial Assíncrona Padrões RS-485 Exemplo de topologia de rede com RS 485 Mestre End. 0 Tx Rx Rx Tx Rx Tx Escravos End. 1 End. n - 1

Comunicação Serial Assíncrona Padrões RS-485: Filosofia Mestre-Escravo: 1 mestre, n - 1 escravos, cada um com o seu endereço Mestre: toma a iniciativa da comunicação Escravos: só respondem às mensagens a eles endereçada TxD do mestre: Chega a todos RxD dos escravos TxD dos escravos: Em alta impedância, quando um escravo for responder, conecta seu transmissor Mestre: fica ciclicamente interrogando um por um os escravos, que respondem com seus dados, se possuírem Boa solução para sistemas com poucos dispositivos, baixo tráfego ou onde a velocidade não for crítica

UART: Comunicação Serial Componentes Universal Asynchronous Receiver / Transmiter Conversão paralela / serial Inserção / retirada automática do Start-bit e Parity bit Velocidades programáveis Interrupções para transmissão / recepção Indicação de erros Exemplos: 8251 e 82C51, da Intel 16550 (usado nos PCs)

Comunicação Serial 80C51 UART interna: Muitos microcontroladores possuem UARTs internas, como o 80C51 Existem modelos de 80C51 com duas UARTs, como o DS80C320 da DALLAS UART do 80C51: Pode-se facilmente escrever ou ler dados via interface serial Realiza todo o processo de serialização, adição de start bits e stop bit Permite transferência via interrupções ou wait for flag

Comunicação Serial 80C51 Estrutura da UART do 80C51

Comunicação Serial 80C51 Usando a UART: São necessários os seguintes passos para configurar corretamente a UART interna do 80C51: Definir a taxa de comunicação Definir a origem do clock de comunicação Programar o canal serial Habilitar / desabilitar interrupções, caso se deseje (a técnica de wait for flag também pode ser utilizada)

Comunicação Serial 80C51 Usando a UART: Modos de Operação: Modo 0: Shift Register de 8 bits dado: RXD clock: TXD = 1/12 clock do 80C51(fixo) Pode ser usado para expandir as portas de E/S, utilizando-se um shift register externo

Comunicação Serial 80C51 Usando a UART: Modos de Operação: Modo 1: UART de 8 bits com taxa de comunicação variável dado: TXD e RXD clock: ajustável através do Timer 1 (não pode ser o Timer 0) 10 bits: 1 start bit, 8 bits de dado, 1 stop bit paridade: opcional, por software

Comunicação Serial 80C51 Usando a UART: Modos de Operação: Modo 2: UART de 9 bits com taxa de comunicação fixa dado: TXD e RXD clock: 1/32 ou 1/64 clock do 80C51 (fixo) 11 bits: 1 start bit, 8 bits de dado, 9o. bit programável, 1 stop bit paridade: opcional, por software

Comunicação Serial 80C51 Usando a UART: Modos de Operação: Modo 3: UART de 9 bits com taxa de comunicação variável dado: TXD e RXD clock: ajustável através do Timer 1 (não pode ser o Timer 0). 11 bits: 1 start bit, 8 bits de dado, 9o. bit programável, 1 stop bit paridade: opcional, por software

Comunicação Serial 80C51 Usando a UART: Modos de Operação: Modo 2 e Modo 3: permitem comunicação multiprocessadores 1 mestre, n escravos, cada um com seu endereço 9o. bit: =1 indica que a mensagem do mestre é de endereço (todos a examinam, e o escravo selecionado passa a pegar as mensagens seguintes de dados, com o 9o. bit = 0; os demais as ignoram, até o 9o. bit voltar a ser 1) o escravo pode também transmitir mensagens ao mestre, após estabelecida a conexão, mas para tanto não deve setar o 9o. bit

Comunicação Serial 80C51 Usando a UART: Programar o Timer1 para gerar o "Baud Rate (Modo 1 e Modo 3)

Comunicação Serial 80C51 Programando o Timer Timer1 no modo 2 (auto-reload) Cálculo: Baud Rate = k x FreqOsc 32 x 12 x [256 - (TH1)] Ou seja: se SMOD = 0, k=1 SMOD = bit 7 de PCON se SMOD = 1, k=2 se SMOD = 0 TH1 = 256 - ((FreqOsc / 384) / Baud) se SMOD = 1 TH1 = 256 - ((FreqOsc / 192) / Baud)

Comunicação Serial 80C51 Programando o Timer - exemplo: Ex.: cristal de 11.0592 Mhz e deseja-se 19200bps Supondo SMOD = 0 TH1 = 256 - ((11059000 / 384) / 19200) TH1 = 256-1,5 = 254.5 Impossível! Se usarmos para 254 teremos 14.400bps, se setarmos para 255 teremos 28.800bps! O que fazer? Basta mudar SMOD para 1 TH1 = 256 - ((11059000 / 192) / 19200) TH1 = 256-3 = 253

Comunicação Serial 80C51 Programando o Timer: Timer/Counter mode: TMOD (89h) bit endereçável 7------T1------4 3-----T0--------0 Gate C/T M1 M0 1 0 (modo 2) contador out timer TH1 (8Dh) = valor de recarga em TL1 TCON (88h) byte endereçável ---T1--- ---T0---- ---T1---- ---T0---- TF1 TR1TF0 TR0 IE1 IT1 IE0 IT0 TF = overflow TR = liga /desliga IE = habilitação de interrupção Timer 1: sem interrupção: 0100 xxxx

Comunicação Serial 80C51 Programando o Canal Serial: Modo Serial: SCON (98h) bit endereçável. 7--------------------------------------0. SM0 SM1 SM2 REN TB8 RB8 TI RI 0 1 0 1 modo enable receive interrupt flags serial reception transmite interrupt flags (devem ser limpos por software) SM0 e SM1 definem o modo 0 0 modo 0 = 8 bit Shift Register = Oscillator / 12 0 1 modo 1 = 8 bit UART = Baud Rate set by Timer 1 1 0 modo 2 = 9 bit UART = Oscillator / 32 1 1 modo 3 = 9 bit UART = Set by Timer 1 SM2 = flag para "Multiprocessor comunication". Caso esteja setada, RI somete será setado caso o nono bit recebido seja 1. Nos usos mais comuns, SM2 = 0 REN = deve estar setado para que a recepção seja habilitada

Comunicação Serial 80C51 Programando o Canal Serial: Modo Serial continuação: SCON (98h) bit endereçável. 7--------------------------------------0. SM0 SM1 SM2 REN TB8 RB8 TI RI 0 1 0 1 modo enable receive interrupt flags serial reception transmite interrupt flags (devem ser limpos por software) TB8 é usado nos modos 2 e 3. O nono bit a ser transmitido é o nele contido RB8: idem a TB8 para recepção. O nono bit recebido será nele armazenado TI: Transmit Interrupt Quando TI está setado, o programa pode assumir que a porta serial está pronta para transmitir o próximo byte RI: Receive Interrupt Sempre que o 80C51 receber um byte completo, RI será setado, informando ao software que o byte precisa ser lido, antes que seja recebido um novo valor

Comunicação Serial 80C51 Programando o Canal Serial: Modo Serial continuação: PCON (87h) byte endereçável 7--------------------------------------0 SM0D X X X X X X X SMOD = 0: Modo 2: divide clock do 80C51 por 64 SMOD = 0: Modos 1 e 3: divide saída Timer 1 por 32 SMOD = 1: Modo 2: divide clock do 80C51 por 32 SMOD = 1: Modos 1 e 3: divide saída Timer 1 por 16

Comunicação Serial 80C51. Programando o Canal Serial: Interrupções. IE (A8h) bit endereçável 7----------------4----------------------0 EA ES ET1 EX1 ET0 EX0 enable todas enable serial interrupt Por que usar interrupções? Qual a alternativa? Um esquema do tipo: wait for flag, onde o programa fica em loop perguntando ao dispositivo: "- Já recebeu dado?, ou - Acabou de transmitir o último dado? No caso do wait for flag, o tempo de processamento gasto no pooling dos dispositivos é considerável: poderia ser usado no caso de programas pequenos e simples As interrupções são uma maneira mais simples e limpa de fazer o mesmo serviço.

Comunicação Serial 80C51 Programando o Canal Serial: Lendo e enviando dados: Os dados devem ser lidos ou escritos em SBUF (99h), por exemplo, se quisermos escrever o caracter "A" na porta serial, isso pode ser feito como a seguir: MOV SBUF,#'A' ou MOV SBUF, #41H

Comunicação Serial 80C51 Programando o Canal Serial: Exemplo de configuração sem interrupção: ; inicializacoes. MOV TMOD, #00100000 ; Timer 1 no modo 2 MOV TH1, #0FDH ; configura para 9600bps MOV TCON, #01000000 ; Ativa Timer 1 MOV PCON, #00000000 ; SMOD recebe 0 (Timer 1/32) MOV SCON, #01000000 ; canal serial no modo 1 MOV IE, #00000000 ; desabilita interrupções

Comunicação Serial 80C51 Usando o Canal Serial com wait for flag : Envio de caracteres - rotina CO (character output): CO: JNB TI, $ ; lê estado TI da serial CLR TI ; Se TI OK, limpa TI MOV SBUF, B ; escreve dado JNB TI, $ ; espera sua transmissão RET Recebimento de caracteres - CI (character input): CI: JNB RI, $ ; lê estado RI da serial CLR RI MOV B, SBUF ; lê dado RET ; Se RI OK dado está presente, ; limpa RI

Comunicação Serial 80C51 Usando o Canal Serial com wait for flag : Exemplo de rotina para imprimir uma mensagem (da ROM para a serial): PRINT: MOV A, #00h MOVC A, @A+DPTR JZ PFIM MOV B,A ACALL CO INC DPTR SJMP PRINT PFIM: RET

Comunicação Serial 80C51 Usando o Canal Serial com interrupções Recebimento de caracteres MOV TMOD, #00100000 ; Timer 1 no modo 2 MOV TH1, #0FDH ; configura para 9600bps MOV TCON, #01000000 ; Ativa Timer 1 MOV PCON, #00000000 ; SMOD recebe 0 (Timer 1/32) MOV SCON, #01010000 ; canal serial no modo 1, com interrupção MOV DPTR, #9000H ; ponteiro para dado recebido MOV IE, #10010000 ; habilita interrupções CLR C ; limpa carry JNC $ ; aguarda fim de string LJMP 0000H ; volta ao Programa Monitor... CIINT: JNB RI, FIM2 ; se for interrupção de transmissão, retorna MOV A, SBUF ; lê dado CJNE A,#0AH, FIM3 ; se dado <> de CR: SETB C ; se dado = de CR, indica fim de string e retorna AJMP FIM1 FIM3: MOVX @DPTR, A ; armazena-o INC DPTR ; incrementa ponteiro de dados FIM1: CLR RI ; limpa TI=pedido interrupção de recepção FIM2: CLR TI ; limpa RI=pedido interrupção de transmissão RETI

Interface Serial em Computadores IBM/PC

Serial PC - Introdução Características Vantagens Desvantagens Configuração Utilização

UART: Interface Serial em Computadores IBM/PC Código Característica 8250 Primeira UART da série. Não possui registrador de rascunho. 8250A Mais rápido que o 8250 na interface. 8250B Semelhante ao 8250A. 16450 Usado em AT's. Opera em 38.4KBPS. 16550 Primeira UART com BUFFER. Possui um BUFFER de 16 bytes. 16550A O mais comum. Efetivou a existência do BUFFER tipo FIFO. 16650 Bastante recente. Possui uma FIFO de 32 byte, protocolo X-On / X-Off e suporte de energia. 16750 Produzido pela Texas Instruments. Possui uma FIFO de 64 byte.

Serial PC - Endereço de Portas e Interrupções. Nome Endereço Interrupção COM 1 3F8 4 COM 2 2F8 3 COM 3 3E8 4 COM 4 2E8 3 Leitura de Endereço Base na BIOS. Endereço Base Função 0000:0400 Endereço Base COM 1 0000:0402 Endereço Base COM 2 0000:0404 Endereço Base COM 3 0000:0406 Endereço Base COM 4

Serial PC - Registradores. End. Base DLAB Read/Write Abr. Nome do Registrador =0 Write - Transmitter Holding Buffer + 0 =0 Read - Receiver Buffer =1 Read/Write - Divisor Latch Low Byte + 1 =0 Read/Write IER Interrupt Enable Register =1 Read/Write - Divisor Latch High Byte + 2 - Read IIR Interrupt Identification Register - Write FCR FIFO Control Register + 3 - Read/Write LCR Line Control Register + 4 - Read/Write MCR Modem Control Register + 5 - Read LSR Line Status Register + 6 - Read MSR Modem Status Register + 7 - Read/Write - Scratch Register

Serial PC Vetor de Interrupções Configuração do Vetor de Interrupções. Vetor de Interrupção no IBM-PC: Ou Software Interrupt 256 interrupções 4 bytes para o endereço do ISR

Serial PC Configurando a Interrupção A inicialização do PIC é realizada pela BIOS. Habilitando a IRQ4 sem alterar as outras: outportb(0x21,(inportb(0x21) & 0xEF); Sinalização de final de tratamento de Interrupção: outportb(0x20,0x20);

Serial PC Configurando a UART Desabilitar a interrupção da UART. Configurar a velocidade de comunicação: Configurar DLAB Configurar o valor do divisor.(h, L) Configurar o LCR: Acesso aos Buffers (Tx e Rx) e Int Ena Reg. Comprimento da palavra, Stop bits e paridade. Configurar e limpar FIFO Ativar DTR, RTS e OUT2. Habilitar a interrupção. FIM...

Descrição dos Padrões SPI Serial ATA Memory Stick Serial I2C SMBus CAN USB IEEE-1394 RS-232 RS-422 RS-485

Serial ATA: High Speed Serialized AT Attachment

Serial ATA - Overview Especificação v 1.0 (29/08/2001) Empresas: APT Technologies, Inc. Dell Computer Corporation IBM Corporation Intel Corporation Maxtor Corporation Seagate Technology

Serial ATA - Objetivos Comunicação inside box. Transparência em relação ao ATA. 2 pares de fios.(máximo 1m) Taxa de comunicação: ~ 150MB/s Pequeno Overhead. Comunicação Assíncrona. Arquitetura Mestre-Escravo simples. Centrado para dispositivos de armazenamento.

Serial ATA - Projeto Taxa de trans. estimada Data de Introdução Geração 1.2 1 Geração 2.4 2 Geração 4.8 3 Gbits/s Gbits/s Gbits/s 2002 2004 2007

Serial ATA Protocolo

Memory Stick Serial

Memory Stick Desenvolvido com o propósito de link para variados tipos de dispositivos. Mídia em Circuito Integrado de pequenas dimensões.

Memory Stick - Características Pequeno, leve e fino. Contato de 10 pinos, projetado para não permitir contato direto. Chave de proteção de escrita. Controlador interno para comunicação serial. Dimensões: 50 mm de comprimento 21.5 mm de largura 2.8 mm de altura

Memory Stick - Características Tecnologia de Memória Flash. Controlador interno: Controle de várias e diferentes memórias Flash. Correção de erro. Comunicação serial. Adota o sistema de arquivos FAT. Tamanhos variados: 4 MB ~ 1GB

Memory Stick Serial Arquitetura Hospedeiro e Cliente. Transmissão síncrona bi-direcional. Vias: Dado, Relógio e Estado da Via. Máxima freqüência de relógio: 20MHz

SMBus System Management Bus

SMBus - Introdução Comunicação Síncrona. Baseado no I 2 C. 2 vias. Originalmente implementado para comunicação entre bateria e o sistema. Aplicado para comunicação entre dispositivos, sensores, controladores, etc. Velocidade: 100KHz.

SMBus Diferenças com o I 2 C Velocidade de transmissão. Timeout e clock mínimo. Níveis Lógicos e de corrente.

USB

IEEE-1394

IEEE-1394 - Introdução Alta velocidade de transmissão de áudio, vídeo e dado. Introduzido pela Apple como Firewire em 1986. Conhecido como i.link pela Sony. Não requer um PC para operação. Plug and Play. Hot Swap. Pequeno tamanho do cabo.

IEEE-1394 - Características Versão original => 50 Mbits/s. Versão 1394a (2000) => 100 Mbits/s, 200 Mbits/s e 400 Mbits/s. Versão 1394b (2002*) => 3.2 Gbits/s. Até 63 dispositivos numa via. Endereçamento dinâmico a cada inicialização ou adição de dispositivo. Até 1203 subredes podem ser conectadas juntas.

IEEE-1394 - Características Transmissão assíncrona e isócrona. 2 especificações de cabos: 6 pinos inclui via de alimentação de até 60W. 4 pinos não inclui a via de alimentação e portanto é menor. Máximo comprimento de cabo: Para 200Mbits/s é de 4.5 m. Para 50Mbits/s é de 14 m.

IEEE-1394 para transmissão de dados Suporte Windows. Suporte Apple. Aplicação multimídia. Vantagem em relação ao USB: não precisa do PC. Mas é considerado como complementar às aplicações do USB.

Considerações Finais Comunicação Serial. Estrutura/Seqüência. Características dos Padrões. Aplicações/Seleção do Padrão. Exemplo de utilização. Tendências...