Laboratório de Sistemas Processadores e Periféricos Porta Serial Prática 14

Documentos relacionados
Universal Asynchronous Receiver Transmitter 8250/14550/16550/16550A

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

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

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

Plano de Aula. 1 o semestre. Aula número 012 Periféricos Comunicação Serial. Conhecer os princípios de comunicação serial

Controladores do IBM-PC. Gustavo G. Parma

PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca

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

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

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

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

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

Controlador de DMA. Gustavo G. Parma

Periféricos e Interfaces Ano lectivo 2003/2004 Docente: Ana Paula Costa. Aula Teórica 17

Acetatos de apoio às aulas teóricas

Acesso Directo aos Recursos do Hardware

Barramento. Prof. Leonardo Barreto Campos 1

Capítulo 14. Expandindo as portas de comunicação 8031 com a PPI Interface PPI 8255

Manual de cabeamento para console e portas AUX

Interface Serial. Prof. Adilson Gonzaga

Cerne Tecnologia e Treinamento

Módulo de Conversão Serial-Ethernet

Organização e Arquitetura de Computadores I

Notas da Aula 14 - Fundamentos de Sistemas Operacionais

Porta de Impressora IEEE Walter Fetter Lages.

Comunicação Serial. Comunicação Serial

Interrupções 8051 Porta Serial

Manual de cabeamento para console e portas AUX

Sistema de entrada e saída (E/S)- Módulos de E/S; tipos de operações de E/S

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

Microcontroladores. Interface Serial e RTC. Prof. Guilherme Peron Prof. Heitor S. Lopes Prof. Ronnier Rohrich Prof. Rubão

Microcontroladores 2 EL08D Turma M12

Redes Industriais. Carlos Roberto da Silva Filho, M. Eng.

Organização e Arquitetura de Computadores I

CS-Ethernet. Conversor Serial Ethernet RS232/RS485. Observe Pense Solucione. Manual de Utilização. Ethernet TCP/IP - MODBUS Serial RS232 Serial RS485

Microcontrolador 8051

MANUAL DO PROTOCOLO MODBUS PLC1, PLC2 E POS2. Idioma: Português P/1

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Modelo de Comunicação

CAPÍTULO 5. Interfaces I 2 C e SPI. Interface I 2 C. Interfaces e Periféricos 37

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

Conceitos Básicos sobre Comunicação Serial

Sistemas Operacionais. Entrada/Saída

Barramentos. Alguns sistemas reutilizam linhas de barramento para múltiplas funções; Dados Endereços Controle

Interface Comutadora USB para Microterminais RS-485

LINEAR EQUIPAMENTOS RUA SÃO JORGE, 267/269 - TELEFONE: (11) SÃO CAETANO DO SUL - SP - CEP:

Microprocessadores I. Aula 6 Arquitetura do Microprocessador Pinagem e Diagrama de Temporização

Entrada e Saída e Dispositivos

Introdução ao Uso do LCD Inteligente (Versão Preliminar) Por Gilson Yukio Sato. Introdução

Transmissão serial de sinais

Interface Comutadora Serial para Microterminais RS-485

Fundamentos de Sistemas Operacionais

Manual do usuário - Kit 4EA2SA v2.0. Kit 4EA2SA v2.0 Manual do usuário. Copyright VW Soluções

SSC0611 Arquitetura de Computadores

Guia Rápido Edge 50 AutoID V2

Transmissão serial de sinais

Escola de Educação Profissional SENAI Visconde de Mauá

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

ET53C - SISTEMAS DIGITAIS

Comunicação Serial II. Prof. Clayrton Henrique Microprocessadores Aula 31 Rev.03

Marcio Marcos Machado Junior. Professor orientador: Sérgio Stringari

Módulo Conversor RS-232/RS-485

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

4.3 - DMA & Chipset. CEFET-RS Curso de Eletrônica. Profs. Roberta Nobre & Sandro Silva. e

BARRAMENTO DO SISTEMA. Adão de Melo Neto

COMUNICAÇÃO DE DADOS INTERFACES DIGITAIS

Infra-Estrutura de Software

Periféricos e Interfaces Ano lectivo 2003/2004 Docente: Ana Paula Costa. Aula Teórica 19

Manual SISTEMA GERENCIADOR DE SENHAS Versão SERVIDOR

MANUAL DE INSTALAÇÃO E OPERAÇÃO DO CONVERSOR SERIAL / ETHERNET SE1F

Sistemas de Entrada e Saída

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

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

MANUAL PARA INSTALAÇÃO

Prof. Adilson Gonzaga

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

Trabalho Prático Nº3 Porta Paralela

Padrões de Comunicação Serial

Curso de Microcontroladores PIC 16F84A

Multimedidores Inteligentes ETE30 Modo de uso do software IBIS_BE_cnf. ABB Automação. Hartmann & Braun

Interligação de Terminais com Modem

SISTEMAS DE E/S PORTAS SERIAL E PARALELA Aula 09 Arquitetura de Computadores Gil Eduardo de Andrade

Organização de Computadores

NTP-001. Acessando o Master ou Master Expander com Cabos Serial-Serial ou Cabos Serial-Serial e USB-Serial PATCHVIEW V2.0

MICROCOMPUTADORES. Professor Adão de Melo Neto

Gerência de Dispositivos. Adão de Melo Neto

Entrada e saída do ARC Prof. Luís Caldas Aula 08 pág.125 a 126

CONFIGURAÇÃO DO MICROTERMINAL BEMATECH FIT LIGHT

MODEM GPRS. Manual de utilização V1.5 junho de Conversor GPRS para RS232/RS485. Principais características

Organização de Computadores

Barramentos e interfaces de comunicação Arquitetura e Organização de Computadores Curso de Análise e Desenvolvimento de Sistemas

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR

DESCRIÇÃO DA PORTA PARALELA DA IMPRESSORA

MANUAL DO USUÁRIO SISTEMA GERENCIADOR DE SENHAS VERSÃO SERVIDOR

SEL 337 Aplicação de Microprocessadores II

CAPÍTULO 2. Características comuns das Interfaces. 2.1 Comunicação Serial x Comunicação Paralela. Interfaces e Periféricos 12

Transcrição:

Laboratório de Sistemas Processadores e Periféricos Porta Serial Prática 14 Gustavo G. Parma Assunto: Interface Serial Objetivos: O aluno deverá ser capaz de utilizar e conhecer os fundamentos da porta serial do microcomputador 1 Introdução Teórica O computador pode se comunicar paralelamente ou serialmente com os periféricos. A classificação entre serial ou paralelo é feita em função da forma como os bits de dados são transmitidos. Se os dados são transmitidos de uma única vez, ou em grupos, a comunicação é paralela. Se os dados são transmitidos um após o outro, a comunicação é serial. A porta paralela do computador foi desenvolvida devido a então baixa velocidade de transmissão da porta serial. Entretanto, observa-se hoje que a taxa de transmissão de dados seriais tem aumentado cada vez mais, alcançando patamares acima de 56 Kbps (bits por segundo). É importante ressaltar que uma comunicação serial envolve não somente os bits de dados, mas também bits de sinalização (start bit, stop bit, bit de paridade, e outros). Desta forma, uma comunicação de 56Kbps não significa que são transmitidos 56K bytes/s. 8 A comunicação serial do computar é feita através da UART (Universal Asynchorouns Receiver Trasmitter) 8250, a qual está conectada com uma RS232, que, por sua vez, é a responsável por conectar eletricamente o computador ao periférico. A conexão serial envolve alguns parâmetros que devem ser configurados antes de se haver a comunicação propriamente dita. São estes os principais parâmetros a serem configurados: 1. (a) velocidade de comunicação; (b) stop bits; (c) tamanho da palavra a ser transmitida; (d) paridade. Portanto, antes de se utilizar o 8250, deve-se configurá-lo corretamente. Por configurar a porta serial, entende-se configurar tanto o emissor quanto o receptor. Por se tratar de uma comunicação assíncrona, não existe um sinal de clock responsável pelo sincronismo entre emissor e receptor. Se o emissor estiver configurado de forma diferente do receptor, um erro do tipo framing será gerado pelo controlador. Antes de se transmitir um dado, deve-se, também, verificar se o 8250 está pronto para transmití-lo, ou se o controlador ainda está transmitindo um dado anterior. Quando a porta serial recebe algum dado, a UART pode informar à CPU que este dado foi recebido através do sistema de interrupção (IRQ3 para COM2 ou IRQ4 para COM1) ou através de um dos seus bits de status. Se o processador não retirar este dado do controlador e ele receber um novo dado, um erro do tipo overrun será gerado. A RS232, utilizada para conectar a UART ao mundo externo, pode ser utilizada apenas quando a distância entre o processador e o periférico for pequena. Caso contrário, deve ser utilizado um modem. A RS232 utiliza duas linhas, não balanceadas, para a comunicação, uma para a transmissão de dados

e outra para a recepção (a comunicação utilizando a RS485 utiliza linhas balanceadas). Para operar um modem, definiu-se uma norma mundial, chamada V24, na qual os pinos de controle necessários ao acionamento do modem são definidos. A RS232 pode estar disponível no computador através de dois conectores distintos, um DB9 ou um DB25. A tabela abaixo mostra as conexões dos pinos dos conectores com os sinais de controle da RS232. DB9 DB25 Nome Descrição - 1 GND Terra de proteção 3 2 TX Transmissão de dados 2 3 RX Recepção de dados 7 4 RTS Permissão para transmitir 8 5 CTS Permissão para transmissão concedida 6 6 DSR Modem pronto 5 7 GND Terra do sinal 1 8 DCD Portadora de dados detectada 4 20 DTR Terminal pronto 9 22 RI Indicador de chamada Pode-se utilizar as funções da bios (semelhante as funções do DOS) para o controle da UART. Entretanto, pode ser realizada uma configuração do UART utilizando diretamente os endereços dos doze registradores internos do controlador 8250, o qual está instalado no endereço base 03F 8h, para a COM1, (ou 02F 8h, para a COM2) e utiliza 8 endereços fisicos na arquitetura do computador pessoal, como mostra a tabela abaixo: Endereço base DLAB Acesso Abrev. Nome do Registrador +0 0 write THR Transmitter Holding Register +0 0 read RDR Receiver Data Register +0 1 r/w BDL Baud-Rate Divisor (Low) +1 1 r/w BDH Baud-Rate Divisor (high) +1 0 r/w IER Interrupt-Enable Register +2 - read IIR Interrupt-Identification +2 - write FCR Fifo Control Register +3 - r/w LCR Line-Control register +4 - r/w MCR Modem-control register +5 - read LSR Line-Status Register +6 - read MSR Modem-status Register +7 - r/w SR Scratch Pad Register Na tabela acima, DLAB se refere ao estado do bit 7 do registrador LCR. Os registradores mencionados são discriminados a seguir. 1. THR Registrador de escrita. Este é o registrador de envio de dados. Um dado escrito neste registrador será serializado e enviado pela RS232. 2. RDR Registrador de leitura. Este é o registrador de chegada de dados. Uma vez que a RS232 tenha recebido um dado e a UART tenha paralelizado-o adequadamente, ele estará disponível neste endereço. 3. BDL e BDH Registrador de leitura e escrita. Estes dois registradores serão responsáveis por determinar a taxa de transmissão (baud-rate) da conexão. Para acessar estes registradores é necessário que o DLAB (bit 7 de LCR) seja igual a 1. 2

O baud rate é determinado em função de uma palavra de 16 bits, sendo determinado através da seguinte equação: baud-rate = 115200. BDL se refere aos 8 bits menos significativos do divisor divisor e BDH se refere aos 8 bits mais significativos do divisor. Em função da equação mostrada, pode-se determinar as seguintes tabelas dos valores a serem escritos em BDL e BDH para um determinado baud-rate. Velocidade Parte alta (BDH) Parte baixa (BDL) 50 09h 00h 75 06h 00h 150 03h 00h 300 01h 80h 600 00h C0h 1200 00h 60h 2400 00h 30h 4800 00h 18h 9600 00h 0Ch 19200 00h 06h 38400 00h 03h 57600 00h 02h 115200 00h 01h 4. IER Registrador de leitura e escrita. Permite controlar quando e como a UART irá gerar alguma interrução. A tabela a seguir mostra o significado de cada bit deste registrador. Escrevendo 1 no bit, habilita-se a sua função, 0 desabilita a função. Os bits reservados devem ser mantidos em 0. Bit Significado 7 reservado 6 reservado 5 modo de baixa potência (somente para o CI 16750) 4 modo sleep (somente para o CI 16750) 3 interrupções de status do modem 2 interrupção de status da linha de recepção 1 interrupção de THR vazio 0 interrupção de RDR com dados A interrupção de RDR com dados talez seja a mais importante, pois mostra que existe um dado disponível na UART, o qual deve ser lido o quando antes para se evitar um erro de overrun. A interrupção de THR vazio sinaliza que o buffer de saída terminou de enviar tudo o que havia sido colocado nele. A interrupção de status da linha de recepção indica que algmia coisa no registrador LSR foi alterada. Geralmente sinaliza uma codição de erro. A interrupção de status do modem sinaliza quandl alguma coisa no modem externo conectado ao computador mudar, tal como o telefone tocando, uma conexão com sucesso ao outro modem ou uma desconexão. 5. IIR Registrador de Leitura. Utilizado para identificar as características funcionais da UART utilizada. Pode ser utilizado para identificar o motivo pelo qual a UART disparou uma interrupção ou para a identificação da UART. A tabela a seguir explica o significado de cada bit deste registrador. 3

Bit valor Significado 7 e 6 00 CI sem FIFO 01 FIFO existente mas não funcionando 10 condição reservada 11 FIFO habilitada 5 1 FIFO de 64 bytes habilitada (somente para o 16750) 4 - reservado 3, 2 e 1 000 Interrupção de status do modem 001 interrupção de THR vazio 010 interrupção de RDR com dados 011 interrupção de status da linha de recepção 100 reservado 101 reservado 110 FIFO time-out 111 reservado 0 1 não existência de interrupção pendente Uma vez detectada o motivo pelo qual a UART gerou a interrupção, é necessário eliminá-la, o que pode ser realizado utilizando-se a operação descrita na tabela abaixo. Motivo da interrução Interrupção de status do modem interrupção de THR vazio interrupção de RDR com dados interrupção de status da linha de recepção FIFO time-out 6. FCR Registrador de escrita. método de reset da interrupção ler MSR ler IIR ou escrever em THR ler RDR Ler LSR ler RDR Este registrador foi introduzido após o lançamento da UART 8250 original. Ele é utilizado para controlar como os buffers FIFO irão funcionar, sendo possível, também, ligar ou desligar o FIFO. A tabela abaixo explica o significado de cada bit deste registrador. Bit Significado Valor Nível do trigger (16 bytes) Nível do Trigger (64 bytes) 7 e 6 00 1 bytes 1 byte 01 4 bytes 16 bytes 10 8 bytes 32 bytes 11 14 bytes 56 bytes 5 Habilita a FIFO de 64 bytes (somente para o 16750) 4 reservado 3 Seleção de modo de DMA 2 Limpa a FIFO de transmissão 1 Limpa a FIFO de recepção 0 Habilita as FIFOS Escrever um 0 no bit 0 desabilita as FIFOs e a UART passa a funcionar como o 8250 original, fazendo com que os demais bits deste registrador percam suas funções. Os bits 1 e 2 são utilizados para zerar os buffers das FIFOs. Eles devem ser zerados no início de uma aplicação, para garantir que não exista nenhum dado restante de outra aplicação. Estes bits são automaticamente resetados, ou seja, após escrever 1 neles, não é necessário escrever 0. O bit 3 controla a forma pela qual o DMA irá acontecer e, do ponto de vista do programador não possui grande utilidade, podendo ser ignorado. O bit 5 permite que o CI 16750 expanda os buffers de 16 bytes para 64 bytes, controlando não apenas o tamanho do buffer mas também o tamanho do nível do trigger utilizado para gerar 4

uma interrução. Em CIs anteriores ao 16750 este bit é reservado e deve ser mantido em nível lógico 0. Os bits 6 e 7 descrevem o tamanho do nível de trigger utilizado para gerar uma interrução. Este é o número de caracters que deve ser armazanado na FIFO antes que uma interrupção seja gerada, avisando que o dado deve ser removido da FIFO. 7. LCR Registrador de escrita e leitura. Este é um dos principais registradores da UART. Ele é utilizado para setar o DLAB (Divisor Latch Access Bit), permitindo escrever nos registradores que controlam o baud-rate, e é utilizado para definir o quadro da comunicação (o protocolo que será utilizado). A tablea a seguir explica o significado de cada bit deste registrador. Bit Significado 7 DLAB, acesso ao divisor da baud-rate 6 habilita sinal Break valor seleção da paridade xx0 sem paridade 3, 4, 5 001 paridade ímpar 011 paridade par 101 marca (sempre 1) 111 espaço (sempre 0) valor quantidade de stop bits 2 0 um stop bit 1 1,5 stop bits ou 2 stop bits valor tamanho da palavra a ser transmitida 00 5 bits 0, 1 01 6 bits 10 7 bits 11 8 bits Os bits 0 e 1 controlam quantos bits de cada palavra de dados são enviados serialmente. O bit 2 controla quantos stop bits são transmitidos, caso sejam enviados 5 bits da palavra de dados, são enviados 1 ou 1,5 stop bits, caso contrário são enviados sempre 1 ou 2 stop bits. Os bits 3, 4 e 5 controlam como a paridade será criada. Quando o bit 5 valer 0, não será enviado o bit de paridade. Caso seja selecionada a paridade par ou ímpar, será adicionado um bit de tal forma que a quantidade de 1s transmitida seja par ou ímpar, respectivamente. Caso a paridade marca seja selecionada, o bit de paridade valerá sempre 1, independente da quantidade de 1s transmitida. Se a paridade espaço for selecionada, o bit de paridade valerá sempre 0. 8. MCR Registrador de escrita e leitura Este registrador permite fazer um controle de fluxo do hardware. Ele permite a manipulação direta de quatro pinos diferentes da UART (nem todos conectados ao DB-9 de saída do PC). É importante salientar que a maioria das UARTs requer que a saída auxiliar 2 seja colocada em nível lógico 1 para habilitar as interrupções. A tabela a seguir apresenta o significado de cada bit deste regitrador. Bit Significado 7 reservado 6 reservado 5 controle automático de fluxo habilitado (16750) 4 Modo de retorno 3 saída auxiliar 2 2 saída auxiliar 1 1 requisição para envio (RTS) 0 Terminal de dados pronto (DTR) 5

Destas saída em um PC, somente os sinais RTS e DTR são conectados à saída do conector DB-9. O modo de retorno é utilizado para testar a UART, verificando se os circuitos estão funcionando bem entre a CPU e a UART. Quando colocado em nível 1, qualquer caracter que chega ao registrador de envio será imediatamente encontrado no registrador de recebimento da UART. Os sinais RTS e DTS serão obtidos no resitrador de estatus do modem. Caso o CI utilizado seja o 16750, o bit 5 possibilita que a UART controle diretamente o estado de RTS e DTS, dependendo do estado atual da FIFO. Caso o CI utilizado não seja o 16750, este bit deve ser mantido em 0. 9. LSR Registrador de Leitura. Informa sobre possíveis condições de erros baseadas no dado que foi recebido. A tabela abaixo explica o significado de cada bit deste registrador. Bit Significado 7 erro na FIFO de recepção 6 serializador de bits vazio 5 buffer de transmissão vazio 4 sinal de break recebido 3 erro de framing 2 erro de paridade 1 erro de overrun 0 dado pronto O bit 7 se refere a erros que estão nos caracteres da FIFO. Se qualquer caractere que está na FIFOpossui um ou mais erros listados, este bit serve para lembrar que a FIFO precisa ser limpa que os dados não são confiávies e que possuem um ou mais erros. Os bits 5 e 6 se referem à condição dos circuitos de transmissão do caractere e auxiliam a identificar que a UART está pronta para receber outro caractere. O bit 6 é colocado em nível lógico 1 se todos oas caracteres tiverem sido transmitidos (incluindo a FIFO, se ativa). O bit 5 informa que a UART é capaz de receber mais caracteres (não necessariamente que os caracteres anteriormentes já foram transmitidos). O bit 4 recebe nível lógico 1 quando a linha de entrada de dados serial não tiver recebidno nenhum novo bit no período de tempo que for no mínimo igual a toda a palavra da dados serial, inclindo start bit, bits de dados, bit de paridade e stop bits (para um dado baud-rate). Um erro de framing ocorre quando o stop bit recebido é igual a nível lógico 0. Um erro de paridade ocorre quando a paridade do dado recebido não confere com o bit de paridade transmitido. Um erro de overrun é um sinal de que existem problemas no software que lida com a porta serial, ou que o sistema operacional não está fornecendo acesso adequado a UART. Este erro ocorre quando um caractere recebido está esperando para ser lido mas o registrador de deslocamento de entrada está tentando mover o conteúdo do novo caractere recebido para RDR. 10. MSR Registrador de Leitura. Possui informações sobre o estatus atual do modem. O modem acessado desta forma pode ser um modem externo ou um modem interno que utiliza a UART como interface com o computador. A tabela a seguir explica o significado de cada bit deste registrador. 6

Bit Significado 7 Portadora detectada 6 Indicador de chamada 5 Conjunto de dados pronto 4 pronto para enviar 3 variacão da portadora de dados 2 variação no indicador de chamada 1 variação no conjunto de dados pronto 0 variação no pronto para enviar O bit 7 permanecerá em 1 enquanto o modem estiver conectado a outro modem. O bit indicador de chamada (bit 6) é conectado diretamente ao pino RI (ring indicator) da RS-232. Este bit assume 1 quando é identificada uma chamada telefônica. Os bits 5 (conjunto de dados pronto -DSR) e 4 (pronto para enviar - CTS) são encontrados na RS-232 e conectados aos sinais RTS e DTR, transmitidos pelo MCR. OS demais bits que indicam variação (bits 3, 2, 1 e 0) serão iguais a 1 se o bit associado a eles tiver sofrido alguma alteração de estado desde a última vez que este registrador foi acessado. A única diferença está no bit 2 (variação no indicador de chamada), o qual será 1 se o bit indicador de chamada for do nível lógico 1 para nel lógico 0. 11. SR Registrador de leitura e escrita. Não possui função definida, podendo ser utilizado como memória extra. Normalmente um byte escrito neste registrador pode ser acessado posteriormente. 1.1 Breve resumo Para a correta inicialização da UART, os seguintes passos devem ser seguidos: 1. Determinar, previamente, quais serão os parâmetros da comunicação: (a) baud-rate (b) quantidade de bits de dados (c) quantidade de stop bits (d) tipo de paridade 2. Deve-se programar adequadamente o baud-rate da transmissão, observando, para isso, o valor de DLAB para o correto acesso a BDL e BDH. 3. Configurar o registrador FCR adequadamente, aproveitando para limpar as FIFOs. 4. Configurar o registrador LCR adequadamente, considerando os parâmetros da comunicação 5. Configurar IER adequadamente, habilitando ou desabilitando as possíveis fontes de geração de interrupção. 6. Se necessário, configurar MCR (principalmente o bit 3, caso seja optado por trabalhar com interrupção). Após estas configurações, a UART estará pronta para enviar ou receber dados. Antes do envio de um determinado dado, é importante verificar no registrador LSR, principalmente os bits 6 e 5. O envio ocorre escrevendo o dado em THR e, quando um dado for recebido, ele será disponibilizado em RDR. Pode-se, também, configurar a UART utilizando uma das funções da BIOS (basic Input output System). Ao contrário das funções do DOS, as quais estão todas concentradas na INT21h, as funções da BIOS são chamadas em função da interrupção. A interrupção responsável pelo gerenciamento das portas de comunicação serial é a INT14h (RS232 IO). 7

Figura 1: Algoritmo a ser implementado. 2 Parte Experimental : Desenvolver um programa que possibilite ao usuário programar (velocidade e quantidade de stop bits) e enviar continuamente um dado pela porta serial. O dado enviado será visto pelo osciloscópio. O usuário poderá configurar a porta serial para trabalhar com uma dentre três velocidades (1200, 2400 ou 4800 bps) e optar por enviar um ou dois stop bits. As demais configurações deverão ser mantidas sempre constantes: oito bits de dados e paridade do tipo marca. Estas configurações serão realizadas uma única vez, no começo do programa. Após a configuração o programa deverá solicitar do usuário um caractere e entrará, então, em um loop enviando sempre este mesmo caractere. Caso o usuário digite um novo caractere (sem que seja solicitado), o novo caractere deverá ser enviado. Somente quando a tecla ESC for pressionada o programa deverá ser finalizado. A figura 1 mostra o algoritmo a ser implementado. 3 Bibliografia 1. <http://en.wikibooks.org/wiki/serial Programming:8250 UART Programming>. Acessado em 03 de agosto de 2006. 2. <http://interface.centraltreasure.com/files/pdf/serial Port RS232 UART Programming pdf.pdf>. Acessado em 03 de agosto de 2006. 3. <http://www.mrl.nott.ac.uk/ cmg/srp/linux/serial.html>. Acessado em 03 de agosto de 2006. 8