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

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

Lógica de Seleção e Mapeamento de Memória

ELE Microprocessadores I

Memórias Parte 1. SEL-0415 Introdução à Organização de Computadores. Aula 4. Prof. Dr. Marcelo Andrade da Costa Vieira

Organização Básica III

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

ELE Microprocessadores I. AULA 12 Arquitetura do Microprocessador Interface com as memórias

Organização de Computadores Prof. Alex Vidigal Bastos

Microcontrolador 8051

SEL-433 Aplicação de Microprocessadores I. Prof: Adilson Gonzaga

Trabalho Prático Nº3 Porta Paralela

UCP 8051 (parte 02) Professor Adão de Melo Neto

Aula 4. Engenharia de Sistemas Embarcados. Prof. Abel Guilhermino Tópico: Arquitetura de um microcontrolador 8051

Endereçamento de Memórias e Lógica de Seleção

DESCRIÇÃO DA PORTA PARALELA DA IMPRESSORA

O protocolo SPI. 1 - Introdução. 2 Ligação física

9/3/2009. Aula 4. Engenharia de Sistemas Embarcados. Cenário: Sistema de Controle de LEDs

ELD - Eletrônica Digital Aula 11 Introdução à Lógica Programável. Prof. Antonio Heronaldo de Sousa

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

Totem Pole, Coletor Aberto e Tristate

Aula 10 Microcontrolador Intel 8051 Parte 1

Organização e Arquitetura de Computadores I

Microcontrolador 8051:

FACULDADE LEÃO SAMPAIO

Latch SR (Set/Reset)

SEL-614 MICROPROCESSADORES E APLICAÇÕES. Adilson Gonzaga

SEL-0415 Introdução à Organização de Computadores Aula 2 Prof. Dr. Marcelo Andrade da Costa Vieira

CPU DE 8 BITS primeiro microprocessador evolução rápida, com a consolidação dos processadores de 8 bits

Barramento. Prof. Leonardo Barreto Campos 1

Memórias. Memórias: Utilização:

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

COMPUTADOR. Adão de Melo Neto

Interrupções Externas

Circuitos Sequenciais

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação

Entrada e Saída e Dispositivos

Prof. Adilson Gonzaga

SISTEMAS DE MULTIPLEXAÇÃO E DEMULTIPLEXAÇÃO ANÁLISE DOS CIs COMERCIAIS 74LS153 e 74LS155

Interface com Teclas, Leds e Teclados Matriciais. Prof. Adilson Gonzaga

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

Técnicas de Interface com Microcontroladores (8051)

Microprocessadores e Microcontroladores

Prof. Adilson Gonzaga. Técnicas de Interface

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

Universidade Federal do ABC

Porta de Impressora IEEE Walter Fetter Lages.

Organização de Computadores

Memórias. SEL-415 Introdução à Organização dos Computadores. Parte 1. Aula 4. Profa. Luiza Maria Romeiro Codá

Módulo de Cristal Líquido LCD

Hardware. 5- Faça o fluxograma para efectuar o debounced de uma tecla por temporização(20ms). Implemente uma rotina para a leitura da tecla.

Capítulo13 Arquiteturas de Dispositivos Lógicos Programáveis Pearson. Todos os direitos reservados.

CURSO DE ELETRÔNICA DIGITAL OS FLIP-FLOPS E FUNÇÕES LÓGICAS EM CIRCUITOS INTEGRADOS

Fundamentos de hardware. David Déharbe DIMAp UFRN

CAPÍTULO XI TEMPORIZAÇÃO DO SISTEMA

14/3/2016. Prof. Evandro L. L. Rodrigues

Jadsonlee da Silva Sá

Prof. Adilson Gonzaga

Estrutura Básica de um Computador

Entrada/Saída. Capítulo 5. Sistemas Operacionais João Bosco Junior -

Painel Luminoso com LEDs

Introdução aos microcontroladores Microcontroladores e microprocessadores Tecnologia em Manutenção Industrial

High Performance Programmable DMA Controller 8237A, 82237

Painel Luminoso com LEDs

ci212 E/S (i): interface com CPU e SO Entrada e Saída

Sistemas Digitais II DISPOSITIVOS DE MEMÓRIA. Prof. Marlon Henrique Teixeira julho/2014

INTRODUÇÃO: MICROCONTROLADORES

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

SSC0112 Organização de Computadores Digitais I

Memórias. EL68E Sistemas Embarcados. Tecnologias de Memórias. Conceitos. Profs. Douglas Renaux e Hugo Vieira Neto

Dispositivo Lógico Programável(PLD)

Dispositivos de Entrada e Saída

Endereçamento. UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

MEMÓRIAS. Sistemas Digitais II Prof. Marcelo Wendling Nov/18

Problemas com Entrada e Saída

ROM

Manual do Usuário. Placa de Desenvolvimento para Controlador BL1800 Jackrabbit

Aula 12: Memória: Barramentos e Registradores

Os textos nestas caixas foram adicionados pelo Prof. Joubert

Parte I Multiprocessamento

Barramento ISA. Placas ISA de 8 bits: usam apenas 62 pinos

Eletrônica Digital. Prof. Gilson Yukio Sato sato[at]utfpr[dot]edu[dot]br

MINISTÉRIO DA EDUCAÇÃO CEFET/SC - Unidade de São José. Curso Técnico em Telecomunicações REGISTRADORES. Marcos Moecke. São José - SC,

Arduino Lab 08 Banco de teste para memória RAM HM6116 de 16k

Circuitos Lógicos. Profa. Grace S. Deaecto. Faculdade de Engenharia Mecânica / UNICAMP , Campinas, SP, Brasil.

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

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

X Y Z A B C D

Capítulo 7 - Interfaces de Entrada e Saída. Conceito

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Disciplina de Organização de Computadores I

Memória SRAM 64x8 bits

18/10/2010. Unidade de Controle Controle. UC Microprogramada

Curso de Microcontroladores PIC 16F84A

Dispositivos de Entrada e Saída

MICROCOMPUTADORES. Professor Adão de Melo Neto

Transcrição:

Capítulo 14 Expandindo as portas de comunicação 8031 com a PPI 8255 Como discutido ao longo do livro, o 8031 deixa 8 bits para controle genérico de dispositivos. Em situações nas quais se necessita um número muito maior de bits, pode-se lançar mão de dispositivos auxiliares como a PPI 8255 para multiplicar por 3 esse número. 14.1 Interface PPI 8255 8255 é o código comercial de uma interface programável de periféricos (Peripheral Programmable Interface - PPI 8255) apresentada num circuito integrado (CI) de 40 pinos. O chip (parte interna do CI) é fabricado usando a tecnologia de portas canal-n de silício e funciona como uma interface paralela de entrada e saída (E/S). A configuração funcional do 8255 é composta por três portas de comunicação com o ambiente externo e é programada por software não requerendo nenhuma lógica externa para interfacear dispositivos periféricos. 148 Os três modos básicos de operação, selecionados por software são: Modo 0: o 8255 tem operações de entrada e saída simples para três portas de 8 bits cada. Os dados são lidos e escritos na porta especificada (Porta A, B ou C) sem o uso do sinal de handshaking ; Modo 1: a PPI habilita a transferência de dados de entrada e saída nas portas de 8 bits A e B, em conjunto com o sinal de handshaking.

Capítulo 14 Expandindo as portas de comunicação 8031 com a PPI 8255 149 As portas A e B neste modo, usam as linhas da porta C para gerar ou aceitar o sinal de handshaking com o dispositivo periférico; Modo 2: ele habilita a comunicação com dispositivos periféricos por via de um barramento bidirecional de 8 bits (Porta A). Os sinais de handshaking, são preparados sobrepondo as linhas da Porta C (a porta B, neste modo, não é utilizada). Características físicas: Alimentação: 0 e 5 Volts Fonte de saída: 1mA e 1,5 Volts Apresentação: pastilha de 40 pinos 24 pinos para portas de entrada e saída programáveis Capacidade de bit de set/reset direto Compatível com os níveis TTL 14.1.1 Sistema de conexões Do lado esquerdo da Figura 14.1, observa-se os sinais que serão conectados ao barramento interno do computador, ou seja, os sinais de controle (RD, WR, Reset, CS), de endereçamento (A0, A1) e os oito pinos de entrada e saída de dados (D7-D0) através dos quais se efetuará a comunicação com a CPU. Do lado direito da Figura 14.1 pode-se observar os 24 pinos que compõem as portas de entrada e saída (PA, PB, PC) a serem conectadas com os periféricos do ambiente externo.

150 Sistemas Automáticos com Microcontroladores 8031/8051 controle do grupo A grupo A porta A A0 A1 RD WR buffer do barramento de dados Reset CS lógica de controle leitura e escrita controle do grupo B barramento interno de 8 bits 8255 grupo A porta C grupo B porta C grupo B porta B p e r i f é r i c o s barramento de dados barramento de endereço barramento de controle Figura 14.1 Diagrama em blocos do 8255. 14.1.2 Definição funcional dos pinos de entrada e saída A distribuição física dos pinos presente no circuito integrado é mostrada na Figura 14.2. PA3 PA2 PA1 PA0 RD CS Terra A1 A0 PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 PB0 PB1 PB2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 8255 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 PA4 PA5 PA6 PA7 WR RST D0 D1 D2 D3 D4 D5 D6 D7 Vcc PB7 PB6 PB5 PB4 PB3 Figura 14.2 Pinagem da Interface paralela 8255.

Capítulo 14 Expandindo as portas de comunicação 8031 com a PPI 8255 151 14.1.3 Sinais de entrada Esta interface possui pinos que dão fluxo à entrada e saída de dados, endereços e controle. O primeiro grupo a ser estudado admite apenas a entrada de sinais de controle e endereço. Chip select (-CS), pino 6 Quando baixo, o chip é selecionado. Isto habilita a comunicação entre 8255 e o microprocessador. Read (-RD), pino 5 Quando baixo, permite à CPU ler dados ou informações de estado a partir do 8255. Write (-WR), pino 36 Quando baixo, permite à CPU escrever dados ou palavras de controle no 8255. Port Select (A0, A1), pinos 9 e 8 Estas duas entradas são normalmente conectadas aos bits menos significativos (LSB) do barramento de endereços do sistema, como exemplificado na Figura 14.3. São utilizadas para selecionar um entre quatro registradores: porta A, B, C ou registrador da palavra interna de controle como indicado na Tabela 14.1. A1 A0 barramento de endereços Figura 14.3 Ligação entre os pinos de seleção das portas e o barramento do computador. Tabela 14.1 Endereços das portas e registrador de controle A1 A0 Selecionado 0 0 Porta A 0 1 Porta B 1 0 Porta C 1 1 Registrador da palavra de controle Reset, pino 35 - Quando alto, limpa todos os registradores internos do chip e ajusta as portas A, B e C para o modo de entrada para alta impedância, conhecido como terceiro estado (tri-state). Esta técnica é utilizada para prevenir a destruição de circuitos eletrônicos conectados às portas, pois, em geral, dispositivos periféricos utilizam o mesmo método. Assim, poderia haver uma ligação de porta de saída após um Reset e isto poderia danificar um deles ou ambos (computador e periférico). Ground, PINO 7-0 Volts de referência.

152 Sistemas Automáticos com Microcontroladores 8031/8051 14.1.4 Sinais de entrada e saída Este grupo de pinos do chip admite entrada e saída de dados, não sendo utilizado para controle ou endereçamento. Data (D7-D0), pinos 27 a 34 Este barramento é composto de 8 linhas de entrada e saída em tri-state. O barramento possui comunicação bidirecional entre o 8255 e a CPU. Os dados são movimentados para (ou do) buffer de barramento de dados, logo após a execução da instrução OUT ou IN, respectivamente, pela CPU. As palavras de controle e informações de estado também são transferidas via buffer do barramento de dados. Port A (PA7-PA0), pinos 37 a 40, 1 a 4 Estas portas de entrada e saída de 8 bits formam um latch/buffer de saída de dados de 8 bits e/ou um latch de entrada de dados de 8 bits. Port B (PB7-PB0), pinos de 18 a 25 Esta porta de entrada e saída de 8 bits forma um latch/buffer de saída de dados de 8 bits ou um buffer de entrada de 8 bits. Port C (PC7-PC0), pinos 10 a 17 Esta porta de entrada e saída de 8 bits forma um latch/buffer de saída de dados de 8 bits ou um buffer de entrada de 8 bits. Esta última porta pode ser dividida em duas portas de 4 bits através do registrador de controle de modo. Cada uma destas portas de 4 bits possuem um latch de 4 bits que podem ser usados para sinais de controle e de estado, que por sua vez trabalham em conjunto com as portas A e B. Através de software pode-se incluir uma palavra de controle de set/reset para ligar ou desligar qualquer um dos 8 bits da porta C. 14.2 Formatos das palavras de controle Como mostra a Figura 14.4, a palavra de controle pode ter dois sentidos: O primeiro, quando o bit 7 é alto (MSB = 1), utilizado para definir o modo de operação das portas de entrada e saída desta PPI. Sempre que o modo é trocado, todas as saídas dos registradores (e flip/flops) são ajustadas para zero (desligadas). O segundo, quando o bit 7 é baixo (MSB = 0), utilizado para ligar ou desligar um bit da porta C, ou quando se quer habilitar os sinais de interrupção (saída) para transferência de dados para handshaking.

Capítulo 14 Expandindo as portas de comunicação 8031 com a PPI 8255 153 7 6 5 4 3 2 1 0 0 = set/reset dos bits da porta C 1 = definição de modo Figura 14.4 Destaque do bit 7 da palavra de controle e exemplo de programação. Como a palavra que controla a programação da PPI depende do bit 7, as Figuras 14.5 e 14.6, mostram as possíveis composições do conjunto de bits que definem o modo de operação das portas. D7 D6 D5 D4 D3 D2 D1 D0 Grupo A Grupo B Figura 14.5 Formato da palavra de controle e definição de modo. D7 D6 D5 D4 D3 D2 D1 D0 0 = set / reset não utilizados bits de seleção 000 = 0 001 = 1 010 = 2 011 = 3 100 = 4 101 = 5 110 = 6 111 = 7 bit de set / reset ajusta o valor no bit selecionado Figura 14.6 Formato da palavra de controle para ajustar (set/reset) os bits da porta C. 14.3 Modos de operação O 8255 possui 3 modos de operação que podem utilizar sincronização dos dados através de handshaking ou leitura e escrita não sincronizada.

154 Sistemas Automáticos com Microcontroladores 8031/8051 14.3.1 Modo 0 Entrada e saída básicas Neste modo (Tabela 14.2) existem operações de entrada e saída simples para cada uma das três portas. O sinal de handshaking não é utilizado; os dados são simplesmente lidos ou escritos na porta especificada. Tabela 14.2 Definição das portas no Modo 0. n o D7 D6 D5 D4 D3 D2 D1 D0 A C(HI) B C(LO) 0 1 0 0 0 0 0 0 0 saída saída saída saída 1 1 0 0 0 0 0 0 1 saída saída saída entrada 2 1 0 0 0 0 0 1 0 saída saída entrada saída 3 1 0 0 0 0 0 1 1 saída saída entrada entrada 4 1 0 0 0 1 0 0 0 saída entrada saída saída 5 1 0 0 0 1 0 0 1 saída entrada saída entrada 6 1 0 0 0 1 0 1 0 saída entrada entrada saída 7 1 0 0 0 1 0 1 1 saída entrada entrada entrada 8 1 0 0 1 0 0 0 0 entrada saída saída saída 9 1 0 0 1 0 0 0 1 entrada saída saída entrada 10 1 0 0 1 0 0 1 0 entrada saída entrada saída 11 1 0 0 1 0 0 1 1 entrada saída entrada entrada 12 1 0 0 1 1 0 0 0 entrada entrada saída saída 13 1 0 0 1 1 0 0 1 entrada entrada saída entrada 14 1 0 0 1 1 0 1 0 entrada entrada entrada saída 15 1 0 0 1 1 0 1 1 entrada entrada entrada entrada 14.3.2 Modo 1 Entrada e saída com strobe Este modo possui o recurso de transferência de dados de entrada e saída para ou de uma porta especificada, em conjunto com os sinais de strobe ou handshaking. As portas A e B são linhas de dados que utilizam as linhas da porta C para gerar ou aceitar os sinais de handshaking. O programa pode, por exemplo, ler o conteúdo da porta C para testar ou verificar o estado de cada dispositivo periférico. A seguir, dois exemplos (Figuras 14.7 e 14.8) baseados nos sinais de handshaking da porta C.

Capítulo 14 Expandindo as portas de comunicação 8031 com a PPI 8255 155 8255 dispositivo externo dado -OBF -ACK INTR CPU Figura 14.7 Saída de dados com handshaking. Saída: O 8255 disponibiliza o dado no barramento e, logo após, envia um sinal OBF (output buffer full) baixo, para avisar o dispositivo que o dado está disponível. Este, por sua vez, retorna-lhe o sinal ACK (ackowledge) baixo, reconhecendo o protocolo e avisando que já pegou o dado. Logo após, o 8255 pode disparar um sinal para a CPU através da linha de interrupção, com o intuito de executar uma rotina específica, por exemplo, gerar novos dados. 8255 dado IBF -STB INTR dispositivo externo CPU Figura 14.8 Entrada de dados com handshaking. Entrada: O dispositivo disponibiliza o dado no barramento e, logo após, envia um sinal IBF (input buffer full) para avisar o 8255 que o dado está disponível. Este, por sua vez, retorna-lhe o sinal STB (strobe) baixo, reconhecendo o protocolo e avisando que já pegou o dado. Logo após, o 8255 pode disparar um sinal para a CPU através da linha de interrupção, com o intuito de executar uma rotina específica, por exemplo, para tratar os novos dados. 14.3.3 Modo 2 Entrada e saída em barramento bidirecional com strobe Este modo habilita a comunicação com os dispositivos periféricos, através de um único barramento de 8 bits, tanto para transmissão quanto para recepção de dados (barramento de dados bidirecional). Os sinais de handshaking são utilizados de forma parecida com o modo 1, descrito no item anterior.

156 Sistemas Automáticos com Microcontroladores 8031/8051 A Tabela 14.3 apresenta um resumo de definição dos modos possíveis. Tabela 14.3 Descrição dos sinais em cada modo Modo 0 Modo 1 Modo 2 Bits das portas Entrada Saída Entrada Saída Entrada/Saída PA0 entrada saída entrada saída Bidirecional PA1 entrada saída entrada saída Bidirecional PA2 entrada saída entrada saída Bidirecional PA3 entrada saída entrada saída Bidirecional PA4 entrada saída entrada saída Bidirecional PA5 entrada saída entrada saída Bidirecional PA6 entrada saída entrada saída Bidirecional PA7 entrada saída entrada saída Bidirecional PB0 entrada saída entrada saída PB1 entrada saída entrada saída PB2 entrada saída entrada saída PB3 entrada saída entrada saída PB4 entrada saída entrada saída PB5 entrada saída entrada saída PB6 entrada saída entrada saída PB7 entrada saída entrada saída Somente no Modo 0 ou Modo 1 PC0 entrada saída INTR B INTR B E/S PC1 entrada saída IBF B -OBF B E/S PC2 entrada saída -STB B -ACK B E/S PC3 entrada saída INTR A INTR A INTR A PC4 entrada saída -STB A E/S -STB A PC5 entrada saída -IBF A E/S -IBF A PC6 entrada saída E/S -ACK A -ACK A PC7 entrada saída E/S -OBF A -OBF A

Capítulo 14 Expandindo as portas de comunicação 8031 com a PPI 8255 157 14.4 Projetando o decodificador de endereços Como o 8255 tem duas linhas de endereço (A1 e A0) para selecionar seus quatro registradores e o chip select (-CS) para ativar a sua pastilha, este circuito foi projetado para utilizar os últimos endereços do barramento de endereços (A-BUS) de dezesseis linhas (A15 a A0). Um barramento deste tipo pode endereçar de 0000h até FFFFh, portanto os quatro últimos valores são: CFFF, DFFF, EFFF e FFFF. Repare na Tabela 14.4 que, nestes quatro números, os bits A15, A14, A11 até A0 são sempre altos (1) e as linhas A13 e A12 variam seqüencialmente. Tabela 14.4 Conexões do 8031 com o 8255 Lado do 8031 C-BUS Endereços (A-BUS) RST -RD -WR A15 A14 A13 A12 A11-A8 A7-A4 A3-A0 HEXA 0 0 0 0 1111 1111 1111 0FFF 0 0 0 1 1111 1111 1111 1FFF 0 0 1 0 1111 1111 1111 2FFF 0 0 1 1 1111 1111 1111 3FFF 0 1 0 0 1111 1111 1111 4FFF 0 1 0 1 1111 1111 1111 5FFF 0 1 1 0 1111 1111 1111 6FFF 0 1 1 1 1111 1111 1111 7FFF 1 0 0 0 1111 1111 1111 8FFF 1 0 0 1 1111 1111 1111 9FFF 1 0 1 0 1111 1111 1111 AFFF 1 0 1 1 1111 1111 1111 BFFF 1 1 0 0 1111 1111 1111 CFFF 1 1 0 1 1111 1111 1111 DFFF 1 1 1 0 1111 1111 1111 EFFF 1 1 1 1 1111 1111 1111 FFFF RST -RD -WR -CS A1 A0 -CS Lado do 8255 As linhas A15, A14, A11 a A0 serão combinadas por duas portas NÃO E e uma porta E, para gerar o sinal chip select ( CS) do 8255. A Figura 14.9 apresenta o circuito resultante dessa análise.

158 Sistemas Automáticos com Microcontroladores 8031/8051 P0 parte 8031 7430 3 8255 P1 P2 P0 parte P3 Vcc Vcc A15 A14 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 A12 A13 -RD -WR RST 1 2 3 4 5 6 11 12 1 2 3 4 5 6 11 12 7430 7430 8 8 1 2 CS A0 A1 -RD -WR RST D0-D7 P27 P26 P25 P24 P23 P22 P21 P20 P17 P16 P15 P14 P13 P12 P11 P10 P07 P06 P05 P04 P03 P02 P01 P00 barramento de dados Figura 14.9 Decodificador de endereços para o 8255. Outra forma de criar um decodificador de endereços para este chip é utilizar os endereços FFFF, FFFE, FFFD e FFFC para ativar o chip e endereçar seus quatro registradores. De forma semelhante, as linhas de endereço A13 até A0 devem compor o chip select e as linhas A15 e A14 são ligadas respectiva e diretamente aos pinos A1 e A0.