Eletronica Digital

217
FACULDADE DE ENGENHARIA DE SOROCABA ELETRÔNICA II Prof. Sidney José Montebeller

Transcript of Eletronica Digital

Page 1: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 1/217

 

FACULDADE DE ENGENHARIA DE SOROCABA

ELETRÔNICA II

Prof. Sidney José Montebeller

Page 2: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 2/217

 

Referências Bibliográficas e Internet

Referências Bibliográficas

1- TOCCI, R. J.; WIDMER, N.S.; Sistemas Digitais: Princípios eAplicações. Rio de Janeiro: LTC, 2000.

2- MALVINO, A. P.; LEACH, D. P.; Eletrônica Digital: Princípios e

Aplicações. São Paulo: McGraw-Hill, 1987.

3- TAUB, H.; Circuitos Digitais e Microprocessadores. São Paulo:McGraw-Hill, 1984.

4- LOURENÇO, A. C.; Circuitos Digitais. São Paulo: Érica.

5- CAPUANO, F. G.; IDOETA, I. V.; Elementos de Eletrônica Digital. SãoPaulo: Érica.

6- MELO, M.; Eletrônica Digital. São Paulo: Makron Books.

7- TOKHEIM, R. L.; Princípios Digitais. São Paulo: McGraw-Hill.

Internet

1- ALTERA – http://www.altera.com/ - Dispositivos de Lógica Programável

2- XILINX –  http://www.xilinx.com/ - Dispositivos de Lógica Programável

3- ATMEL – http://www.atmel.com/ - Microcontroladores (AVR) eComponentes Discretos

4- MICROCHIP – http://www.microchip.com/ - Microcontroladores (PIC) eComponentes Discretos

5- NATIONAL – http://www.national.com/ - Microcontroladores (COP8) eComponentes Discretos

6- TEXAS INSTRUMENTS – http://www.ti.com/ - Microcontroladores(MSP430) e Componentes Discretos

7- BURR-BROWN – http://www.burrbrown.com/ - Conversores A/D e D/A eAmplificadores Operacionais

8- INTEL – http://www.intel.com/  - Microcontroladores (8051) eComponentes Discretos

9- ANALOG DEVICES – http://www.analog.com/ - Conversores A/D e D/Ae Componentes Discretos

10- MOTOROLA – http://e-www.motorola.com/ - Microcontroladores(M68HC) e Componentes Discretos

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  I

Page 3: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 3/217

 

Sumário

1. Revisão de Circuitos Combinatórios ............................................... 1

1.1- Conceitos Introdutórios ........................................................................... 11.2- Representação de Quantidades Binárias................................................ 21.3- Circuitos Digitais/Circuitos Lógicos ......................................................... 31.4- Sistemas de Numeração e Códigos........................................................ 3

1.5- Portas Lógicas e Álgebra Booleana ........................................................ 51.6- Teoremas da Álgebra de Boole............................................................... 81.7- Universalidade das Portas NAND e NOR ............................................... 91.8- Simplificação de Circuitos Lógicos.......................................................... 91.9- Projetando Circuitos Lógicos ................................................................ 101.10- Método do Mapa de Karnaugh para Simplificação Circuitos Lógicos ... 111.11- Outras Portas Lógicas........................................................................... 111.12- Circuitos Integrados Lógicos ................................................................. 12

2. Famílias Lógicas de Circuitos Integrados.................................... 14

2.1- Introdução ............................................................................................. 142.2- Terminologia de Circuitos Integrados Digitais ....................................... 142.3- Família Lógica TTL ............................................................................... 182.4- Características da Série TTL Padrão .................................................... 192.5- Séries TTL Aperfeiçoadas..................................................................... 202.6- Fan-Out e Carregamento para TTL....................................................... 222.7- Outras Características TTL ................................................................... 232.8- Conectando Saídas TTL Juntas............................................................ 242.9- Tristate (Terceiro Estado) para o TTL .................................................. 26

2.10- Circuitos Integrados Digitais MOS ........................................................ 272.11- O MOSFET ........................................................................................... 27

2.12- Circuitos Digitais com MOSFETs .......................................................... 272.13- Características da Lógica MOS............................................................. 292.14- Lógica MOS Complementar .................................................................. 302.15- Características da Série CMOS ............................................................ 312.16- Tecnologia de Baixa Tensão................................................................. 352.17- Saídas CMOS de Dreno Aberto e Tristate ............................................ 362.18- Interfaceamento de Circuitos Integrados .............................................. 372.19- TTL Acionando CMOS .......................................................................... 372.20- CMOS Acionando TTL .......................................................................... 38

3. Dispositivos de Lógica Programável (PLDs) .............................. 40

3.1- Introdução ............................................................................................. 403.2- Conceito Básico .................................................................................... 413.3- Simbologia ............................................................................................ 423.4- Arquitetura de um PLD.......................................................................... 423.5- Outros Recursos Disponíveis................................................................ 443.6- Outros Tipos de PLDs ........................................................................... 443.7- Programação......................................................................................... 453.8- PLDs Programáveis .............................................................................. 45

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  II

Page 4: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 4/217

 

Sumário

4. Flip-Flops ................................................................................................. 46

4.1- Introdução ............................................................................................. 464.2- Flip-Flop R-S (Reset – Set) ................................................................... 464.3- Flip-Flops com Clock............................................................................. 474.4- Flip-Flop R-S com Clock ....................................................................... 48

4.5- Flip-Flop J-K.......................................................................................... 494.6- Flip-Flop D ............................................................................................ 504.7- Latch D.................................................................................................. 504.8- Entradas Assíncronas ........................................................................... 514.9- Características de Temporizações dos Flip-Flops ................................ 514.10- Circuitos Integrados de Flip-Flops......................................................... 534.11- Problemas de Temporização em Flip-Flops.......................................... 534.12- Flip-Flops Mestre/Escravo .................................................................... 544.13- Dispositivos Schmitt-Trigger.................................................................. 544.14- Circuitos Geradores de Clock ............................................................... 55

5. Contadores.............................................................................................. 57

5.1- Introdução ............................................................................................. 575.2- Contadores Assíncronos ....................................................................... 575.3- Contadores de Módulo < 2N .................................................................. 595.4- Diagrama de Transição de Estados ...................................................... 605.5- Contadores de Década ......................................................................... 605.6- Circuitos Integrados de Contadores Assíncronos ................................. 605.7- Contador Assíncrono Decrescente ....................................................... 615.8- Atrasos de Propagação de Contadores Assíncronos............................ 625.9- Contadores Síncronos .......................................................................... 63

5.10- Circuitos Integrados de Contadores Síncronos..................................... 645.11- Contadores Síncronos Decrescentes.................................................... 645.12- Contadores com Carga Paralela ........................................................... 645.13- Utilizando Contadores BCD .................................................................. 655.14- Projeto de Contadores Síncronos ......................................................... 665.15- O Flip-Flop J-K ...................................................................................... 665.16- Procedimento para Construção de Contadores Síncronos ................... 67

6. Registradores......................................................................................... 70

6.1- Introdução ............................................................................................. 70

6.2- Registradores de Deslocamento ........................................................... 706.3- Transferência Paralela de Dados entre Registradores ......................... 716.4- Transferência Serial de Dados entre Registradores ............................. 716.5- Comparação entre a Transferência Paralela e a Transferência Serial.. 726.6- Contadores com Registradores de Deslocamento................................ 726.7- Circuitos Integrados de Registradores .................................................. 74

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  III

Page 5: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 5/217

 

Sumário

7. Decodificadores, Codificadores, Multiplexadores eDemultiplexadores................................................................................. 75

7.1- Decodificadores .................................................................................... 757.2- Codificadores ........................................................................................ 777.3- Multiplexadores ..................................................................................... 78

7.4- Demultiplexadores ................................................................................ 81

8. Aritmética Digital................................................................................... 83

8.1- Introdução ............................................................................................. 838.2- Adição Binária ....................................................................................... 838.3- Representação de Números com Sinal................................................. 838.4- Representação de Números com Sinal Usando Complemento a 2 ...... 858.5- Multiplicação de Números Binários ....................................................... 888.6- Divisão de Números Binários ................................................................ 88

8.7- Adição de Números BCD ...................................................................... 898.8- Aritmética Hexadecimal ........................................................................ 898.9- Circuitos Aritméticos ............................................................................. 908.10- Somador Paralelo Integrado ................................................................. 958.11- Ligação em Cascata de Somadores Paralelos ..................................... 958.12- Circuito Integrados de ULAs ................................................................. 95

9. Conversão Digital-Analógica ............................................................ 97

9.1- Interface com o Mundo Analógico ........................................................... 979.2- Sistema Digital Interfaceando com Grandezas Analógicas ..................... 97

9.3- Conversão Digital Analógica (D/A) .......................................................... 989.4- Código de Entrada BCD ........................................................................ 1009.5- Conversor D/A com Amplificador Operacional ...................................... 1009.6- Fatores Importantes na Precisão da Conversão ................................... 1029.7- Conversores D/A com Saída em Corrente ............................................ 1039.8- Rede R/2R............................................................................................. 1049.9- Especificações de Conversores D/A ..................................................... 1049.10- Circuito Integrado de Conversão D/A – AD7524 ................................... 1059.11- Aplicações de Conversores D/A ............................................................ 105

10. Conversão Analógico-Digital........................................................ 107

10.1- Introdução ......................................................................................... 10710.2- Conversor A/D de Rampa Digital ...................................................... 10810.3- Precisão e Resolução de Conversores A/D ...................................... 10810.4- Aquisição de Dados .......................................................................... 10910.5- Reconstrução de Sinais Digitalizados ............................................... 11010.6- Conversor A/D de Aproximações Sucessivas ................................... 11110.7- ADC0804 – Conversor A/D de Aproximações Sucessivas ............... 112

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  IV

Page 6: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 6/217

 

Sumário

10.8- Conversor A/D Flash ......................................................................... 11410.9- Outros Métodos de Conversão A/D .................................................. 115

11. Memórias ............................................................................................. 117

11.1- Introdução ......................................................................................... 11711.2- Definição de Termos Básicos............................................................ 11711.3- Princípios de Operação das Memórias ............................................. 11911.4- Conexões da Memória com a CPU................................................... 120

12. Memórias Somente de Leitura (ROM)........................................ 122

12.1- Introdução ......................................................................................... 12212.2- Diagrama em Blocos de uma ROM................................................... 12212.3- Arquitetura de uma ROM .................................................................. 12312.4- Temporização de uma ROM ............................................................. 12412.5- Tipos de ROM ................................................................................... 12412.6- Aplicações de ROMs......................................................................... 125

13. Memórias de Acesso Aleatório (RAM) ...................................... 126

13.1- Introdução ......................................................................................... 12613.2- Arquitetura de uma RAM................................................................... 12613.3- RAM Estática (SRAM)....................................................................... 12813.4- RAM Dinâmica (DRAM) .................................................................... 130

14. Expansão do Tamanho da Palavra e da Capacidade........... 133

14.1- Introdução ......................................................................................... 13314.2- Expansão do Tamanho da Palavra ................................................... 13314.3- Expansão da Capacidade ................................................................. 134

15. Microcontrolador AT90S8515 ....................................................... 136

15.1- Introdução ......................................................................................... 136

15.2- Características do Microcontrolador AT90S8515.............................. 13715.3- Encapsulamento ............................................................................... 13715.4- Descrição Geral ................................................................................ 13815.5- Diagrama em Blocos ......................................................................... 13915.6- Descrição dos Pinos ......................................................................... 14015.7- Oscilador ........................................................................................... 14115.8- Arquitetura ........................................................................................ 14115.9- Temporizadores/Contadores............................................................. 15715.10- Watchdog Timer.............................................................................. 166

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  V

Page 7: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 7/217

 

SUMÁRIO

15.11- Acesso para Leitura/Escrita na EEPROM ....................................... 16815.12- UART .............................................................................................. 17115.13- Comparador Analógico ................................................................... 17615.14- Interface com SRAM Externa.......................................................... 17815.15- Portas de Entrada/Saída ................................................................. 179

16. Guia para Uso do Assembler AVR.............................................. 188

16.1- Introdução ......................................................................................... 18816.2- Código Fonte do Assembler.............................................................. 18816.3- Registradores da Memória de I/O do AT90S8515 ............................ 18916.4- Tabela de Instruções......................................................................... 19016.5- Diretivas no Assembler ..................................................................... 19616.6- Expressões ....................................................................................... 204

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  VI

Page 8: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 8/217

 

Revisão de Circuitos Combinatórios

1. Revisão de Circuitos Combinatórios

1.1- Conceitos Introdutórios

Grandezas Analógicas e Digitais

Grandezas analógicas são aquelas que podem variar em um intervalocontínuo de valores. Por exemplo, a velocidade de um veículo pode assumirqualquer valor de 0 a 200 Km/h.

Grandezas digitais são aquelas que variam em passos discretos. Porexemplo, o tempo varia continuamente mas a sua medição através de umrelógio digital é feita a cada minuto.

Sistemas Analógicos e Digitais

Um sistema analógico contém dispositivos que podem manipularquantidades físicas analógicas. Por exemplo, a saída de um amplificador podevariar continuamente dentro de um certo intervalo.

Um sistema digital contém dispositivos capazes de manipularinformações lógicas (representadas na forma digital). Um exemplo seria umcomputador.

As vantagens das técnicas digitais são várias:- Sistemas digitais são mais fáceis de projetar;- Fácil armazenamento de informação;- Maior exatidão e precisão;- A operação do sistema pode ser programada;- Circuitos digitais são menos afetados pelo ruído;

- Um maior número de circuitos digitais pode ser colocado em um circuitointegrado.

Sistemas de Numeração Digital

- Sistema decimal – contém 10 algarismos (0 a 9).Representação:273,4110 = (2 x 102) + (7 x 101) + (3 x 100) + (4 x 10-1) + (1 x 10-2)

Pesos 102 101 100 10-1 10-2

2 7 3 4 1

- Sistema binário – contém 2 algarismos (0 e 1).Representação:101,012 = (1 x 22) + (0 x 21) + (1 x 20) + (0 x 2-1) + (1 x 2-2) = 5,2510

Pesos 22 21 20 2-1 2-2

1 0 1 0 1

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  1

Page 9: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 9/217

 

Revisão de Circuitos Combinatórios

- Sistema octal – contém 8 algarismos (0 a 7).Representação:157,28 = (1 x 82) + (5 x 81) + (7 x 80) + (2 x 8-1) = 111,2510

Pesos 82 81 80 8-1

1 5 7 2

- Sistema hexadecimal – contém 16 algarismos (0 a F).Representação:15A,216 = (1 x 162) + (5 x 161) + (10 x 160) + (2 x 16-1) = 346,12510

Pesos 162 161 160 16-1

1 5 10 2

1.2- Representação de Quantidades Binárias

Em sistemas digitais, a informação geralmente apresenta a forma

binária. Essas quantidades binárias podem ser representadas por qualquerdispositivo que apresente dois estados de operação.Uma chave, por exemplo, pode estar aberta ou fechada. Podemos dizer

que a chave aberta corresponde ao dígito binário “0” e a chave fechadacorresponde ao dígito binário “1”. Outros exemplos: uma lâmpada (acesa ouapagada), um diodo (conduzindo ou não), um transistor (conduzindo ou não)etc.

Em sistemas digitais eletrônicos, a informação binária é representadapor níveis de tensão (ou correntes). Por exemplo, zero volts poderiarepresentar o valor binário “0” e +5 volts poderia representar o valor binário“1”. Mas, devido a variações nos circuitos, os valores binários sãorepresentados por intervalos de tensões: o “0” digital corresponde a uma

tensão entre 0 e 0,8 volts enquanto o “1” digital corresponde a uma tensãoentre 2 e 5 volts.Com isso percebemos uma diferença significativa entre um sistema

analógico e um sistema digital. Nos sistemas digitais, o valor exato da tensãonão é importante.

Fig. 1-1: Intervalos típicos de tensão para os binários 0 e 1.

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  2

Page 10: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 10/217

 

Revisão de Circuitos Combinatórios

1.3- Circuitos Digitais/Circuitos Lógicos

Circuitos digitais são projetados para produzir tensões de saída eresponder a tensões de entrada que estejam dentro do intervalo determinadopara os binários 0 e 1. A fig. 1-2 mostra isso:

Fig. 1-2: Resposta de um circuito digital

Praticamente todos os circuitos digitais existentes são circuitosintegrados (CIs), o que tornou possível a construção de sistemas digitaiscomplexos menores e mais confiáveis do que aqueles construídos comcircuitos lógicos discretos.

1.4- Sistemas de Numeração e Códigos

O sistema binário de numeração é o mais importante em sistemasdigitais. O sistema decimal também é importante porque é usado por todos nóspara representar quantidades. Já os sistemas octal e hexadecimal são usadospara representar números binários grandes de maneira eficiente.

- Conversões Binário-Decimal – Cada dígito tem um peso correspondenteà sua posição.

110112 = (1 x 24) + (1 x 23) + (0 x 22) + (1 x 21) + (1 x 20) = 2710

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  3

Page 11: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 11/217

 

Revisão de Circuitos Combinatórios

- Conversões Decimal-Binário – O método usado é o das divisõessucessivas:

- Conversão Octal-Decimal – Cada dígito tem um peso correspondente àsua posição.

3728 = (3 x 82) + (7 x 81) + (2 x 80) = 25010

- Conversão Decimal-Octal – O método usado é o das divisões sucessivas:

- Conversão Octal-Binário – Cada dígito octal é convertido para o seucorrespondente em binário.

Dígito Octal 0 1 2 3 4 5 6 7Equivalente Binário 000 001 010 011 100 101 110 111

4728 = (100) (111) (010) = 1001110102

- Conversão Binário-Octal – O número binário é dividido em grupos de 3dígitos iniciando-se a partir do dígito de menor peso. Cada grupo éconvertido no seu correspondente octal.

1001110102 = (100) (111) (010) = 4728

- Conversão Hexadecimal-Decimal – Cada dígito tem um pesocorrespondente à sua posição.

2AF16 = (2 x 162) + (10 x 161) + (15 x 160) = 68710

- Conversão Decimal-Hexadecimal – O método usado é o das divisõessucessivas:

- Conversão Hexadecimal-Binário – Cada dígito hexadecimal é convertido

para o seu correspondente em binário.9F216 = (1001) (1111) (0010) = 1001111100102

- Conversão Binário-Hexadecimal – O número binário é dividido em gruposde 4 dígitos iniciando-se a partir do dígito de menor peso. Cada grupo éconvertido no seu correspondente hexadecimal.

11101001102 = (0011) (1010) (0110) = 3A616

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  4

Page 12: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 12/217

 

Revisão de Circuitos Combinatórios

- Código BCD – O código BCD não constitui um sistema de numeração. Eleapenas relaciona cada dígito do sistema decimal com um grupo de 4 dígitosdo sistema binário.

87410 = (1000) (0111) (0100) = 100001110100 (BCD)

Relacionando as Representações

Tabela 1-1Decimal Binário Octal Hexadecimal BCD

0 0 0 0 00001 1 1 1 00012 10 2 2 00103 11 3 3 00114 100 4 4 01005 101 5 5 01016 110 6 6 01107 111 7 7 01118 1000 10 8 10009 1001 11 9 100110 1010 12 A 0001 000011 1011 13 B 0001 000112 1100 14 C 0001 001013 1101 15 D 0001 001114 1110 16 E 0001 010015 1111 17 F 0001 0101

1.5- Portas Lógicas e Álgebra Booleana

A álgebra booleana é a ferramenta fundamental para descrever arelação entre as saídas de um circuito lógico e suas entradas através de umaequação (expressão booleana). Existem três operações básicas: OR (OU),AND (E) e NOT (NÃO).

Operação Lógica OR (OU)

Fig. 1-3: Porta OR (OU)

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  5

Page 13: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 13/217

 

Revisão de Circuitos Combinatórios

Operação Lógica AND (E)

Fig. 1-4: Porta AND (E)

Operação Lógica NOT (INVERSORA)

Fig. 1-5: Porta NOT (INVERSORA)

Descrevendo Circuitos Lógicos Algebricamente

Qualquer circuito lógico pode ser descrito usando as portas AND, OR eNOT. Essas três portas são os blocos básicos na construção de qualquersistema digital.

Fig. 1-6: Circuito Lógico e sua Expressão Lógica

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  6

Page 14: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 14/217

 

Revisão de Circuitos Combinatórios

Implementando Circuitos Lógicos a partir de Expressões Booleanas

Podemos usar a expressão booleana para gerar o circuito lógico. Porexemplo:

Fig. 1-7: Expressão Lógica e seu Circuito Lógico

Portas NOR e NAND

Outros tipos de portas lógicas existentes são as portas NOR e NAND,que na verdade são combinações das portas OR, AND e NOT.

Fig. 1-8: Portas NOR e NAND

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  7

Page 15: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 15/217

 

Revisão de Circuitos Combinatórios

1.6- Teoremas da Álgebra de Boole

Esses teoremas, aplicados na prática, visam simplificar as expressõesbooleanas e consequentemente os circuitos gerados por estas expressões.

Teoremas Booleanos

Teoremas de DeMorgan

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  8

Page 16: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 16/217

 

Revisão de Circuitos Combinatórios

1.7- Universalidade das Portas NAND e NOR

Qualquer expressão lógica pode ser implementada usando apenasportas NAND ou portas NOR. Isso porque podemos representar portas OR,AND ou NOT usando apenas portas NAND ou NOR.

Fig. 1-9: Uso de PORTAS NAND para implementar outras funções booleanas.

1.8- Simplificação de Circuitos Lógicos

Depois de encontrada a expressão de um circuito lógico, podemosreduzi-la para uma forma mais simples. A intenção é diminuir o número devariáveis nessa expressão, o que significa diminuir o número de portas lógicase conexões em um circuito lógico.

Simplificação Algébrica

A simplificação algébrica é feita com o uso dos teoremas da álgebrabooleana e de DeMorgan. Exemplo:

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  9

Page 17: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 17/217

 

Revisão de Circuitos Combinatórios

1.9- Projetando Circuitos Lógicos

Passos para o projeto completo de um circuito lógico:

a) Montar a tabela-verdade:

A B C x0 0 0 00 0 1 00 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

b) Analisar a saída:

Quando qualquer entrada de uma porta OR for “1” então a saída será “1”.Então podemos deduzir que a saída x é uma operação OR de todos os casosem que a saída x é “1”. Cada caso corresponde a uma operação lógica ANDcom todas as variáveis de entrada.

c) Simplificar a expressão lógica obtida:

A expressão pode ser reduzida a um número menor de termos seaplicarmos os teoremas booleanos e de DeMorgan.

d) Implementar o circuito através da expressão lógico:

Fig. 1-10: Circuito lógico final

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  10

Page 18: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 18/217

 

Revisão de Circuitos Combinatórios

1.10- Método do Mapa de Karnaugh para SimplificaçãoCircuitos Lógicos

Vamos usar a tabela anterior como exemplo.

1.11- Outras Portas Lógicas

Circuito XOR

Fig. 1-11: Porta XOR (OU-Exclusivo)

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  11

Page 19: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 19/217

 

Revisão de Circuitos Combinatórios

Circuito XNOR

Fig. 1-12: Porta XNOR (NOU-Exclusivo)

1.12- Circuitos Integrados Lógicos

Exemplos de circuitos integrados lógicos:

Fig. 1-13: Circuito integrado 74LS08 (4 portas AND de 2 entradas)

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  12

Page 20: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 20/217

 

Revisão de Circuitos Combinatórios

Fig. 1-14: Circuito integrado 74LS04 (6 portas inversoras)

Fig. 1-15: Circuito integrado 74LS32 (4 portas OR de 2 entradas)

Outros:- 7400 – Quatro portas NAND- 7402 – Quatro portas NOR- 7486 – Quatro portas XOR- 74266 – Quatro portas XNOR

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  13

Page 21: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 21/217

 

Famílias Lógicas de Circuitos Integrados

2. Famílias Lógicas de Circuitos Integrados

2.1- Introdução

Circuitos integrados são amplamente usados na construção de sistemas

digitais. Isso porque eles têm muito mais circuitos em um pequenoencapsulamento e são mais confiáveis.

2.2- Terminologia de Circuitos Integrados Digitais

Os fabricantes de circuitos integrados digitais seguem praticamente omesmo padrão de nomenclatura e terminologia:

a) Tensão e Corrente:

- VIH(min) – Mínima Tensão de Entrada em Nível Alto.- VIL(max) – Máxima Tensão de Entrada em Nível Baixo.- VOH(min) – Mínima Tensão de Saída em Nível Alto.- VOL(max) – Máxima Tensão de Saída em Nível Baixo.

- IIH – Corrente de Entrada em Nível Alto.- IIL – Corrente de Entrada em Nível Baixo.- IOH – Corrente de Saída em Nível Alto.- IOL – Corrente de Saída em Nível Baixo.

Fig. 2-1: Tensões e correntes em nível lógico 1 e 0

b) Fan-Out

O Fan-Out corresponde ao número máximo de entradas lógicas queuma saída de um circuito lógico pode acionar. Se esse número for excedido, osníveis de tensão e corrente não serão garantidos.

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  14

Page 22: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 22/217

 

Famílias Lógicas de Circuitos Integrados

c) Atrasos de Propagação

Um sinal lógico, ao atravessar um circuito, sofre um atraso. Existem doistipos de atraso:

- tPLH – Tempo de atraso do estado lógico “0” para o “1”.

- tPHL – Tempo de atraso do estado lógico “1” para o “0”.

Fig. 2-2: Atrasos de propagação

Os valores dos tempos de atrasos de propagação são usados paramedição de velocidade em circuitos lógicos.

d) Potência

Como todo circuito elétrico, um circuito lógico consome uma certaquantidade de potência. Essa potência é fornecida por fontes de alimentação eesse consumo deve ser levado em consideração em um sistema digital.

Se um circuito integrado consome menos potência poderemos ter umafonte de menor capacidade e com isso reduziremos os custos do projeto.

e) Velocidade x Potência

Um circuito digital ideal é aquele que possui o menor consumo depotência e o menor atraso de propagação. Em outras palavras, o produto develocidade e potência deve ser o menor possível.

f) Imunidade ao Ruído

Ruídos são sinais indesejáveis gerados por campos eletromagnéticospodem afetar o funcionamento de um circuito lógico. Esses sinais podem fazercom que a tensão de entrada de um circuito lógico caia abaixo de V IH(min) ouaumente além de VIL(max), gerando falsos sinais.

A imunidade ao ruído se refere à capacidade de um circuito lógico derejeitar esse ruído.

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  15

Page 23: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 23/217

 

Famílias Lógicas de Circuitos Integrados

Fig. 2-3: Margens de ruído

g) Níveis de Tensão Inválidos

Circuitos lógicos só trabalharão confiavelmente com níveis de tensãoespecificados pelos fabricantes, ou seja, as tensões devem ser menores queVIL(max) e maiores que VIH(min) – fora da faixa de indeterminação – e comalimentação adequada.

h) Fornecimento de Corrente e de Absorção de Corrente

O fornecimento de corrente é mostrado na fig. 2-4. Quando a saída daporta lógica 1 está em ALTO, ela fornece uma corrente I IH para a entrada daporta lógica 2.

Fig. 2-4: Porta de acionamento fornecendo corrente para a porta de carga

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  16

Page 24: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 24/217

 

Famílias Lógicas de Circuitos Integrados

A absorção de corrente é mostrada na fig. 2-5. Quando a saída da portalógica 1 está em BAIXO, ela absorve uma corrente IIL para a entrada da portalógica 2.

Fig. 2-5: Porta de acionamento absorvendo corrente da porta de carga

i) Encapsulamentos de Circuitos Integrados

Alguns tipos de encapsulamentos de circuitos integrados são mostrados nafig. 2-6.

Fig. 2-6: Encapsulamentos mais comuns de circuitos integrados

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  17

Page 25: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 25/217

 

Famílias Lógicas de Circuitos Integrados

2.3- Família Lógica TTL

Um circuito básico utilizado na lógica-transistor-transistor é mostrado nafig. 2-7:

Fig. 2-7: Porta NAND básica TTL e equivalente a diodo para Q1

Esse circuito representa uma porta NAND TTL. Uma das principaiscaracterísticas desse circuito são os dois emissores do transistor Q1. Namesma figura está o circuito equivalente a diodo de Q1.

Outra característica construtiva importante desse circuito é sua saídatotem-pole, que impede que os dois transistores (Q3 e Q4) conduzam aomesmo tempo.

- Operação do Circuito – Saída em Nível Baixo

A saída em nível baixo é conseqüência de entradas A e B em nível alto(+ 5 V). Nesse caso, Q1 ficará cortado e Q2 conduzirá (ver circuitoequivalente). A corrente fluirá do emissor de Q2 para a base de Q4 e o fazconduzir.

A tensão no coletor de Q2 é insuficiente para Q3 conduzir. Essa tensãoestá em torno de 0,8 V (0,7 V da junção B-E de Q4 + 0,1 V de Vce (sat) de Q2).Para o transistor Q3 conduzir é necessário que sua junção B-E e o diodo D1esteja diretamente polarizado.

Com Q4 conduzindo, a tensão de saída é muito baixa (< 0,4 V), ou nívelbaixo (“0”).

- Operação do Circuito – Saída em Nível Alto

Para que a saída de uma porta NAND fique em alto, pelo menos umadas entradas A ou B deverá ser zero. Nessa condição haverá condução de Q1por um de seus emissores, ou pelos dois (ver circuito equivalente ), fazendocom que Q2 fique cortado.

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  18

Page 26: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 26/217

 

Famílias Lógicas de Circuitos Integrados

Com Q2 cortado não haverá corrente na base de Q4 e ele ficará cortadotambém. Sem corrente no coletor de Q2, a tensão na base de Q3 é suficientepara que ele entre em condução.

Com Q3 conduzindo, a tensão na saída ficará em torno de 3,4 V a 3,8 V(sem carga), devido às quedas na junção B-E de Q3 e ao diodo D1. Com cargaessa tensão deverá diminuir.

- Absorção de Corrente

Uma saída TTL em nível baixo age como um absorvedor de correntepois ela recebe a corrente da entrada da porta que está acionando.

- Fornecimento de Corrente

Uma saída TTL em nível alto age como fornecedora de corrente. Naverdade essa corrente tem um valor muito baixo, causada pela fuga de

polarização reversa do “diodo” (junção B-E) de Q1.

- Outras Portas TTL

Praticamente todas as outras portas lógicas possuem o mesmo circuitobásico da porta NAND TTL. Outros circuitos internos são colocados apenaspara implementar a lógica desejada.

2.4- Características da Série TTL Padrão

- Faixas de Tensão de Alimentação e de Temperatura

Existem duas séries de TTL padrão diferenciadas pela faixa de tensãode alimentação e temperatura: a série 74 e a série 54.

A série 74 utiliza alimentação entre 4,75 V e 5,25 V e opera entre 0º a70º C. A série 54 utiliza alimentação entre 4,5 V e 5,5 V e opera entre -55º a125º C.

- Níveis de TensãoVIL(max) – 0,8 VVOL(max) – 0,4 V

Existe uma margem de segurança de uma saída para a entrada,chamada de margem de ruído, de 0,4 V (0,8 V – 0,4 V).

VIH(min) – 2,0 VVOH(min) – 2,4 V

A margem de ruído também é de 0,4 V (2,4 V – 2,0 V).

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  19

Page 27: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 27/217

 

Famílias Lógicas de Circuitos Integrados

- Faixas Máximas de Tensão

As tensões máximas de trabalho de um TTL padrão não devemultrapassar 5,5 V. Uma tensão maior de 5,5 V aplicada a um emissor deentrada pode causar dano na junção B-E de Q1. Tensões menores que –0,5 V

também podem danificar o componente.

- Dissipação de Potência

Uma porta NAND TTL padrão consome, em média, 10 mW.

- Atrasos de Propagação

A porta AND TTL padrão tem atrasos de propagação típicos detPLH = 11 ns e tPHL = 7 ns, resultando num atraso de propagação médio tPD(med)de 9 ns.

- Fan-Out

Uma saída TTL padrão pode acionar 10 entradas TTL padrão.

2.5- Séries TTL Aperfeiçoadas

- Séries 74L e 74H

Estas séries são versões TTL para baixa potência (74L) e altavelocidade (74H). A primeira consumia 1 mW e tinha um tempo de atraso depropagação de 33 ns e a segunda consumia 23 mW, com um tempo de atrasode propagação de 6 ns.

Não são mais fabricadas atualmente.

- TTL Schottky, Série 74S

Esta série utiliza diodos Schottky entre a base e o coletor dos seustransistores, evitando que eles trabalhem saturados. Com isso o tempo deresposta do circuito é mais rápido. Por exemplo, a porta NAND 74S00 tem umatraso médio de 3 ns, mas um consumo de potência de 20 mW.

- TTL Schottky de Baixa Potência, Série 74LS (LS-TTL)

A série 74LS é uma versão de menor potência e menor velocidade dasérie 74S. Ela utiliza a combinação transistor/diodo Schottky, mas com valoresmaiores de resistores de polarização, o que diminui o consumo.

Uma porta NAND 74LS tem um atraso típico de propagação de 9,5 ns edissipação média de potência de 2 mW.

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  20

Page 28: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 28/217

 

Famílias Lógicas de Circuitos Integrados

- TTL Schottky Avançada, Série 74AS (AS-TTL)

A série 74AS surgiu como uma melhoria da série 74S. Possui velocidadee fan-out maiores e um menor consumo se comparado com a série 74S.

- TTL Schottky Avançada de Baixa Potência, Série 74ALS

Esta série surgiu como uma melhoria da série 74SL.

- TTL Fast – 74F

Esta é a série TTL mais nova. Ela utiliza uma técnica de fabricação decircuitos integrados que reduz as capacitâncias entre os dispositivos internosvisando reduzir os atrasos de propagação.

- Comparação das Características das Séries TTL

Tabela 2-1:Índices de performance 74 74S 74LS 74AS 74ALS 74FAtraso de propagação (ns) 9 3 9,5 1,7 4 3Dissipação de potência (mW) 10 20 2 8 1,2 6Produto velocidade-potência (pJ) 90 60 19 13,6 4,8 18Taxa máxima de clock (MHz) 35 125 45 200 70 100Fan-out (mesma série) 10 20 20 40 20 33

Tabela 2-2:Parâmetros de tensão 74 74S 74LS 74AS 74ALS 74FVOH (min) 2,4 2,7 2,7 2,5 2,5 2,5VOL (max) 0,4 0,5 0,5 0,5 0,4 0,5VIH (min) 2,0 2,0 2,0 2,0 2,0 2,0VIL (max) 0,8 0,8 0,8 0,8 0,8 0,8

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  21

Page 29: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 29/217

 

Famílias Lógicas de Circuitos Integrados

2.6- Fan-Out e Carregamento para TTL

O fan-Out corresponde ao número máximo de entradas lógicas que umasaída de um circuito lógico pode acionar. Esse número máximo estádiretamente ligado à capacidade do circuito integrado de absorver ou fornecercorrente.

Fig. 2-8: Saída TTL padrão no estado BAIXO acionando várias entradas

Do circuito vemos que IOL é a soma das correntes IIL de cada entrada.Essa corrente causa uma queda de tensão VOL, que não deve ser maior queVOL(max). Isso limita a corrente IOL e o número de cargas que podem seracionadas.

Fig. 2-9: Saída TTL padrão no estado ALTO acionando várias entradas

Nas fig. 2-8 e fig. 2-9, vemos que IOH é a soma das correntes IIH de cadaentrada. Se cargas em excesso estiverem sendo acionadas, a corrente IOL

aumentará de tal forma que o nível VOH caia para valores menores queVOH(min). Esse fato também limita o número de cargas acionadas e a correnteIOH.

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  22

Page 30: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 30/217

 

Famílias Lógicas de Circuitos Integrados

- Determinando o Fan-Out

Por exemplo, a série 74 possui:IIL (max) = 1,6 mAIOL (max) = 16 mA

OL

IIL16 mA = 101,6 mA

IIH (max) = 40 ∝AIOH (max) = 400 ∝A

OH 400 A = 10Fan-out (ALTO) = I =

IIH

40 A

O fan-out é 10 para ambos os casos. Se os valores de fan-out foremdiferentes, o fan-out será o menor deles.

Importante:- A soma das correntes IIH de todas as entradas conectadas em uma saída

deve ser menor do que a especificação do IOH da saída;- A soma das correntes IIL de todas as entradas conectadas em uma saída

deve ser menor do que a especificação do IOL da saída;

2.7- Outras Características TTL

- Entradas Desconectadas (Flutuando)

Entradas desconectadas (abertas) em circuitos TTL se comportam comose o nível lógico “1” fosse aplicado à essa entrada. Embora a lógica estejacorreta, entradas desconectadas se comportam como captadoras de ruídos,fazendo com que o circuito lógico não trabalhe corretamente.

- Entradas Não-Usadas

Fig. 2-10: Três maneiras de tratar entradas lógicas não usadas

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  23

Page 31: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 31/217

 

Famílias Lógicas de Circuitos Integrados

- Transientes de Corrente

A configuração totem-pole usada nas saídas dos circuitos TTL tem uminconveniente: durante a transição da saída de BAIXO para ALTO ocorre umpico de corrente porque ambos os transistores de saída estão conduzindo.Esse pico pode chegar a 50 mA, corrente que é drenada da fonte que alimenta

o circuito.Em um sistema digital existem vários saídas TTL trocando de estado aomesmo tempo e drenando da fonte picos de corrente. Esse efeito causa umavariação na tensão da fonte e se não for devidamente filtrado pode causarsérios problemas ao sistema.

É usual a colocação de capacitores cerâmicos de 10 nF a 100 nF entreos terminais Vcc e GND – alimentação e terra – dos circuitos integrados.

2.8- Conectando Saídas TTL Juntas

Existem situações nas quais é vantajoso conectar as saídas de dois oumais portas lógicas ou circuitos. Entretanto, configuração totem-pole não nospermite conectar saídas TTL juntas. Para fazermos isso existem outros tipos deestrutura de saída.

- Saídas Coletor Aberto

Os circuitos TTL com saídas em coletor aberto só possuem um transistorde saída. Quando esse transistor estiver acionado, a saída terá nível BAIXO.Caso contrário, a saída estará flutuando. Para se obter o nível ALTO na saídaum resistor externo de pull-up é conectado.

Fig. 2-11: Circuito TTL coletor aberto com resistor de pull-up externo

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  24

Page 32: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 32/217

 

Famílias Lógicas de Circuitos Integrados

- Conexão Wired-AND

Dispositivos com saídas em coletor aberto podem ter suas saídasconectadas juntas de maneira segura. Uma situação onde esse tipo deconexão é usada é mostrada na fig. 2-12:

Fig. 2-12: Conexão wired-AND utilizando portas com coletor aberto

Esse tipo de conexão é chamado de conexão wired-AND porque éequivalente à operação lógica AND. Esta configuração elimina a necessidadede uma porta AND real.

- Buffers/Drivers de Coletor Aberto

Todo circuito lógico que é chamado buffer, driver ou buffer/driver éprojetado para suportar uma corrente e/ou uma capacidade de tensão maior doque um circuito lógico comum.

Por exemplo, o 7406 com saída em coletor aberto pode acionar cargasde 24 V a 25 mA.

- Simbologia para Saídas em Coletor Aberto

Fig. 2-13: Simbologia de portas lógicas com coletor aberto

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  25

Page 33: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 33/217

 

Famílias Lógicas de Circuitos Integrados

2.9- Tristate (Terceiro Estado) para o TTL

O terceiro estado, ou tristate, ocorre quando a saída de um dispositivoTTL apresenta alta impedância. Nessa condição, os dois transistores de saídado dispositivo estarão cortados e o terminal de saída não terá nível alto nembaixo (saída fica praticamente aberta). Para que o dispositivo lógico entre nesta

condição, uma entrada chamada Habilitação (Enable) é acionada.

Fig. 2-14: Simbologia de um inversor TTL tristate

- CIs Tristate

Existem vários circuitos integrados lógicos tristate. Por exemplo, o74LS125 e o 74LS126, que são buffers tristate. Os circuitos lógicos tristate sãobastante usados em sistemas que utilizam barramento de dados.

Fig. 2-15: Buffers tristates usados para conectar diversos sinais em umbarramento comum

- Simbologia para as Saídas Tristate

Fig. 2-16: Simbologia de um buffer com saída tristate

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  26

Page 34: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 34/217

 

Famílias Lógicas de Circuitos Integrados

2.10- Circuitos Integrados Digitais MOS

A maioria dos circuitos digitais MOS (metal oxide semiconductor –semicondutor com óxido metálico) é constituída de transistores de efeito decampo (MOSFET). Eles são menores, consomem pouco e são mais fáceis defabricar.

Dispositivos MOS podem conter um número maior de elementos decircuitos em um único encapsulamento do que os circuitos integradosbipolares. A grande desvantagem dessa tecnologia é sua susceptibilidade adanos provocados por eletricidade estática.

2.11- O MOSFET

Fig. 2-17: Estados de comutação do MOSFET canal-N

2.12- Circuitos Digitais com MOSFETs

Os circuitos digitais que utilizam MOSFETs podem ser divididos em trêscategorias: P-MOS, que utiliza MOSFETs com canal-P; N-MOS, que utilizaMOSFETs com canal-N; e CMOS (MOS Complementar) que utiliza ambos. Oscircuitos P-MOS não são mais encontrados.

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  27

Page 35: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 35/217

 

Famílias Lógicas de Circuitos Integrados

- Inversor N-MOS

A fig. 2-18 mostra um circuito básico de um INVERSOR N-MOS:

Fig. 2-18: Inversor N-MOS

O circuito acima mostra dois MOSFETs canal-N. O transistor Q1 échamado MOSFET de carga e Q2 é chamado de MOSFET de comutação. Otransistor Q1 está sempre conduzindo e funciona como se fosse um resistor decarga.

- NAND N-MOS e NOR N-MOS

A fig. 2-19 mostra os circuitos básicos das portas NAND N-MOS e NORN-MOS:

Fig. 2-19: Portas NAND N-MOS e NOR N-MOS

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  28

Page 36: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 36/217

 

Famílias Lógicas de Circuitos Integrados

2.13- Características da Lógica MOS

Se comparadas com famílias lógicas bipolares, as famílias lógicas N-MOS e P-MOS têm velocidade de operação menor, necessitam de menorpotência, têm uma margem de ruído melhor, possuem uma faixa maior para atensão de alimentação, um fan-out maior e menos espaço de área no chip.

- Velocidade de Operação

O atraso de propagação típico de uma porta NAND N-MOS é de 50 ns.A resistência de saída alta no estado ALTO e capacitâncias parasitas deentrada contribuem para aumentar esse atraso.

- Margem de Ruído

Para VDD = 5 V, as margens de ruído para a família N-MOS é deaproximadamente 1,5 V. A margem de ruído aumenta proporcionalmente paravalores maiores de VDD.

- Fan-Out

Devido à alta resistência de entrada do MOSFET, o fan-out da famíliaMOS é muito alto. O fan-out é limitado apenas pelas capacitâncias de entradada porta que, em altas freqüências, pode deteriorar o sinal digital. Mesmoassim, o fan-out chega a 50 para a família MOS.

- Consumo de Potência

Por usar altas resistências, os circuitos lógicos MOS consomempequenas quantidades de potência.

- Complexidade do Processo de Fabricação

A família lógica MOS possui um processo de fabricação bem maissimples do que a família TTL porque utiliza apenas MOSFETs.

- Sensibilidade à Eletricidade Estática

A família lógica MOS é bastante susceptíveis a danos causados poreletricidade estática. Uma descarga eletrostática supera a capacidade deisolamento elétrico da camada de óxido danificando permanentemente odispositivo.

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  29

Page 37: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 37/217

 

Famílias Lógicas de Circuitos Integrados

Recomendações:- Conecte todos os equipamentos que for manusear no terra da rede;- Conecte-se ao terra com o uso de uma pulseira especial;- Evite tocar os pinos dos circuitos integrados. Coloque-os imediatamente no

circuito;- Mantenha os circuitos integrados em suas embalagens protetoras (espumas

condutoras). Não deixe-os fora de suas embalagens.

Todas essas recomendações também valem para placas de circuitoimpresso (computadores, equipamentos etc).

2.14- Lógica MOS Complementar

A família lógica MOS Complementar (CMOS) utiliza MOSFETs tanto decanal-P quanto de canal-N. Isso torna o CMOS mais rápido e com menorconsumo de potência em comparação com as outras famílias MOS. Emcontrapartida, os circuitos integrados CMOS têm maior grau de complexidade

para a fabricação e menor densidade de integração (ocupam maior área dechip).

- Inversor CMOS

O circuito básico do INVERSOR CMOS é mostrado na fig. 2-20:

Fig. 2-20: Inversor C-MOS

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  30

Page 38: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 38/217

 

Famílias Lógicas de Circuitos Integrados

- NAND CMOS e NOR CMOS

A fig. 2-21 mostra o circuito básico das portas NAND CMOS e NORCMOS:

Fig. 2-21: Portas NAND CMOS e NOR CMOS

2.15- Características da Série CMOS

- Série 4000/14000

A série 4000 e a série 14000 são equivalentes. Os circuitos integradosdessas duas séries têm um consumo muito baixo e podem operar de 3 a 15 V.São muito lentos quando comparados com TTL e possuem corrente de saídamuito baixa.

- Série 74C

Série CMOS compatível pino a pino e funcionalmente equivalente acomponentes TTL. Quanto à performance, a série 74C possui quase todas ascaracterísticas da série 4000.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  31

Page 39: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 39/217

 

Famílias Lógicas de Circuitos Integrados

- 74HC/HCT (High Speed CMOS – CMOS de Alta Velocidade)

Versão aperfeiçoada da série 74C. Possui maior velocidade e maiorcapacidade de corrente. Componentes das séries 74HC e 74HCT sãocompatíveis pino a pino com componentes da série TTL. A série 74HC não éeletricamente compatível com TTL.

- 74AC/ACT (CMOS Avançado)

Esta série apresenta uma melhoria no que se refere a imunidade a ruído,atraso de propagação e máxima freqüência de clock. Não são compatíveis pinoa pino com TTL. A série 74AC não é compatível eletricamente com TTL.

- 74AHC (Advanced High-Speed CMOS – CMOS Avançado de AltaVelocidade)

Esta é a mais recente série utilizada em aplicações de alta velocidade,baixo consumo e baixa capacidade de acionamento.

- Tensão de Alimentação

As séries 4000/14000 e 74C podem operar com VDD de 3 a 15 V. Asséries 74HC/HCT e 74AC/ACT podem operar com VDD de 2 a 6 V.

- Níveis de Tensão Lógicos

Tabela 2-3:ParâmetroVIH(min) VIL(max) VOH(min) VOL(max) VNH VNL

CMOS

TTL

4000B 3,5 1,5 4,95 0,05 1,45 1,4574HC 3,5 1,0 4,9 0,1 1,4 0,9

74HCT 2,0 0,8 4,9 0,1 2,9 0,774AC 3,5 1,5 4,9 0,1 1,4 1,4

74ACT 2,0 0,8 4,9 0,1 2,9 0,774AHC 3,85 1,65 4,4 0,44 0,55 1,21

74AHCT 2,0 0,8 3,15 0,1 1,15 0,774 2,0 0,8 2,4 0,4 0,4 0,4

74LS 2,0 0,8 2,7 0,5 0,7 0,374AS 2,0 0,8 2,7 0,5 0,7 0,374ALS 2,0 0,8 2,7 0,4 0,7 0,4

Níveis de tensão (em volts) de entrada/saída com VDD = VCC = +5 V.

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  32

Page 40: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 40/217

 

Famílias Lógicas de Circuitos Integrados

- Margens de Ruído

De um modo geral, os dispositivos CMOS têm margens de ruído maiorque os TTL (tabela anterior). As margens de ruído são calculadas a partir dafórmula:

VNH = VOH(min) - VIH(min)VNL = VOL(max) - VIL(max)

- Dissipação de Potência

Quando o circuito lógico CMOS está estático (não está comutando), suadissipação de potência é muito baixa. Para VDD = +5 V, a dissipação típica depotência DC é de 2,5 nW. Para VDD = +10 V, este valor aumenta para apenas10 nW.

- Dissipação de Potência Aumenta com a Freqüência

A dissipação de potência em um circuito lógico CMOS aumenta com afreqüência de comutação de sua saída.

Quando uma saída CMOS comuta de BAIXO para ALTO, uma correntetransiente deve ser fornecida para a capacitância de carga. Essa capacitânciacorresponde a todas as capacitâncias parasitas das entradas das portaslógicas que são acionadas por esta saída.

Fig. 2-22: Pulsos de corrente devido à capacitância parasitaA fig. 2-22 mostra o efeito da capacitância de carga no momento da

transição da saída de um circuito CMOS.Um outro fator é que durante as transições, por um curto período de

tempo os dois transistores de saída estarão conduzindo juntos. Esse efeitotambém contribui para o aumento da dissipação de potência.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  33

Page 41: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 41/217

 

Famílias Lógicas de Circuitos Integrados

- Fan-Out

O número de entradas CMOS que uma saída CMOS pode acionar élimitado pela capacitância de entrada. Quanto maior for o número de entradasCMOS, maior é a capacitância de carga vista pela saída CMOS e maior será oseu tempo de comutação. Para freqüências menores que 1 MHz, o fan-out está

limitado a 50.

- Velocidade de Comutação

Os dispositivos CMOS têm maior velocidade de comutação em relaçãoaos circuitos N-MOS e P-MOS. Isso porque a saída CMOS têm resistênciamenor que as saídas N-MOS e P-MOS.

Uma porta NAND da série 4000 terá tipicamente um tpd de 50 ns comVDD = 5 V, e 25 ns com VDD = 10 V.

Uma porta NAND da série 74HC/HCT tem um tpd médio em torno de 8 nsquando VDD = 5 V. Uma porta NAND 74AC/ACT tem um tpd médio em torno de

4,7 ns. Uma porta NAND 74AHC tem um tpd médio em torno de 4,3 ns.

- Entradas Não-Utilizadas

Entrada CMOS nunca devem ficar desconectadas. Elas devem serconectadas a um nível lógico ou alguma outra entrada.

Uma entrada CMOS não conectada é susceptível a ruído e a eletricidadeestática, que poderiam polarizar os MOSFETs para um estado de condução,resultando no aumento de dissipação de potência e em possívelsuperaquecimento.

- Sensibilidade à Eletricidade Estática

A grande resistência das entradas CMOS as torna especialmentesensíveis ao acúmulo de cargas estáticas, que podem produzir tensõessuficientemente grandes para danificar os MOSFETs internos. A maioria doscircuitos integrados CMOS possui diodos de proteção, que limitam a tensão deentrada.

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  34

Page 42: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 42/217

 

Famílias Lógicas de Circuitos Integrados

- Comparação entre as Séries CMOS e TTL

Tabela 2-4:Dissipação de

potência por porta(mW)

Estática A 100 kHz

Atraso depropagação

(ns)

Velocidade-potência (a

100 kHz)

(pJ)

Freqüênciamáxima declock (MHz)

Margemde ruídono pior

caso (V)4000B 1 x 10-3 0,1 50 5 12 1,574HC/HCT 2,5 x 10-3 0,17 8 1,4 40 0,974AC/ACT 5,0 x 10-3 0,08 4,7 0,37 100 0,774AHC/T 9,0 x 10-5 6,0 x 10-3 3,7 0,02 130 0,55

74 10 10 9 90 35 0,474LS 2 2 9,5 19 45 0,374AS 8 8 1,7 13,6 200 0,374ALS 1,2 1,2 4 4,8 70 0,4

Todos os valores são para VDD = 5 V.

2.16- Tecnologia de Baixa Tensão

O aumento do número de componentes dentro dos circuitos integradosacarreta em um aumento de sua potência consumida e em problemas nomaterial isolante entre os seus componentes internos.

Para solucionar estes problemas surgiram os circuitos integrados queutilizam a tecnologia de baixa tensão, ou seja, a tensão é menor que os 5 V:

Série 74LVC (Low-Voltage CMOS – CMOS de Baixa Tensão) – Utilizalógica de 3,3 V mas pode aceitar níveis lógicos de 5 V em suas entradas.

Série 74ALVC(Advanced Low-Voltage CMOS – CMOS de Baixa Tensão

Avançado) – Oferece melhor performance e trabalha apenas com lógica de3,3 V.Série 74LV (Low-Voltage – Baixa Tensão) – Utiliza tecnologia CMOS masopera somente com dispositivos de 3,3 V.Série 74LVT(Low-Voltage BiCMOS Technology – Tecnologia BiCMOSde Baixa Tensão) – Oferece as mesmas características da série 74LVC (asentradas aceitam níveis lógicos de 5 V) e são eletricamente compatíveiscom TTL.

Tabela 2-5:LVC ALVC LV LVT

Vcc (recomendado) 2,0 a 3,6 2,3 a 3,6 2,7 a 3,6 2,7 a 3,6tPD (ns) 6,5 3 18 4Intervalo para VIH (V) 2,0 a 6,5 2,0 a 4,6 2,0 a Vcc + 0,5 2,0 a 7

VIL (max) (V) 0,8 0,8 0,8 0,8IOH (mA) 24 12 6 32IOL (mA) 24 12 6 64

FACENS   ELETRÔNICA II   Prof. Sidney José M ontebeller  35

Page 43: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 43/217

 

Famílias Lógicas de Circuitos Integrados

2.17- Saídas CMOS de Dreno Aberto e Tristate

Saídas CMOS convencionais nunca devem ser conectadas juntas.Quando as saídas CMOS convencionais são colocadas em curto, o valor datensão no terminal de saída comum será de aproximadamente Vcc / 2 se assaídas estiverem em níveis diferentes.

- Saídas em Dreno Aberto

Dispositivos com dreno aberto são os correspondentes CMOS às saídasem coletor aberto TTL.

- Saídas Tristate

Dispositivos com saídas tristate têm operação similar à das saídastristate TTL.

Fig. 2-23: Portas CMOS com dreno aberto em conexão wire-AND e saídasCMOS tristate conectadas em um barramento

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  36

Page 44: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 44/217

 

Famílias Lógicas de Circuitos Integrados

2.18- Interfaceamento de Circuitos Integrados

Quando utilizamos circuitos integrados de diferentes tecnologias quasesempre necessitamos de um circuito de interface. O circuito de interface estáconectado entre a saída do circuito acionador e a entrada do circuito de carga.Sua função é condicionar o sinal vindo do acionador e condicioná-lo de modo a

torná-lo compatível com os requisitos da carga.

Tabela 2-6:Parâmetros

V IH

(min)V IL

(max)V OH

(min)VOL

(max)IIH

(max)IIL

(max)IOH

(max)IOL

(max)

CMOS

TTL

4000B 3,5 V 1,5 V 4,95 V 0,05 V 1 ∝A 1 ∝A 0,4 mA 0,4 mA74HC 3,5 V 1,0 V 4,9 V 0,1 V 1 ∝A 1 ∝A 4 mA 4 mA

74HCT 2,0 V 0,8 V 4,9 V 0,1 V 1 ∝A 1 ∝A 4 mA 4 mA74AC 3,5 V 1,5 V 4,9 V 0,1 V 1 ∝A 1 ∝A 24 mA 24 mA

74ACT 2,0 V 0,8 V 4,9 V 0,1 V 1 ∝A 1 ∝A 24 mA 24 mA74AHC 3,85 V 1,65 V 4,4 V 0,44 V 1 ∝A 1 ∝A 8 mA 8 mA

74AHC T 2,0 V 0,8 V 3,15 V 0,1 V 1 ∝A 1 ∝A 8 mA 8 mA74 2,0 V 0,8 V 2,4 V 0,4 V 40 ∝A 1,6 mA 0,4 mA 16 mA

74LS 2,0 V 0,8 V 2,7 V 0,5 V 20 ∝A 0,4 mA 0,4 mA 8 mA74AS 2,0 V 0,8 V 2,7 V 0,5 V 20 ∝A 0,5 mA 2 mA 20 mA

74ALS 2,0 V 0,8 V 2,7 V 0,4 V 20 ∝A 0,1 mA 0,4 mA 8 mA74F 2,0 V 0,8 V 2,5 V 0,5 V 20 ∝A 0,6 mA 1 mA 20 mA

Níveis de tensão e corrente de entrada/saída com VDD = VCC = +5 V.

2.19- TTL Acionando CMOSQuando interfaceamos diferentes tipos de circuitos integrados, devemos

verificar se o dispositivo acionador pode satisfazer os parâmetros de corrente etensão do dispositivo de carga.

No caso de um TTL acionar uma carga CMOS, a corrente de saída TTLé capaz de satisfazer o requisito de entrada da entrada CMOS. Com relação àtensão, os parâmetros VOH(min) de todas as séries TTL são muito baixosquando comparados com VIH(min) das séries 4000B, 74HC, 74AC e 74AHC.

A solução é aumentar a tensão VOH(min) do acionador TTL. Isso é feitoatravés de um resistor de pull-up.

FACENS   ELETRÔNICA II   Prof. Sidney José M ontebeller  37

Page 45: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 45/217

 

Famílias Lógicas de Circuitos Integrados

Fig. 2-24: O resistor de pull-up externo aumenta a tensão de saída paraaproximadamente 5 V no estado ALTO.

- TTL Acionando CMOS com Tensão de Alimentação Alta

Os circuitos integrados TTL não podem operar com tensões maiores doque 5 V. Quando o dispositivo CMOS estiver operando com alimentação maiorde 5 V, o resistor de pull-up não poderá ser utilizado.

A solução é utilizar um buffer coletor aberto (7407) conforme a fig. 2-25:

Fig. 2-25: O buffer 7407 é usado para interfacear dispositivos TTL que acionamcargas CMOS com alimentação maior do que 5 V.

2.20- CMOS Acionando TTL

- CMOS Acionando TTL no Estado ALTO

As saídas CMOS podem fornecer tensão suficiente (VOH) para satisfazeros requisitos de uma entrada TTL no estado ALTO (VIH). As saídas CMOStambém podem fornecer corrente suficiente para satisfazer os requisitos decorrente de entrada (IIH).

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  38

Page 46: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 46/217

 

Famílias Lógicas de Circuitos Integrados

- CMOS Acionando TTL no Estado BAIXO

Nesta situação, as séries 74HC e 74HCT podem acionar apenas umacarga TTL. A série 4000B não consegue acionar nenhuma carga TTL.

A solução é utilizar um buffer tristate (74LS125). Este circuito deinterface possui corrente de entrada baixa e corrente alta de saída.

Fig. 2-26: Um buffer é usado para interfacear componentes CMOS de baixacapacidade de corrente com entradas 74LS

- CMOS com Tensão de Alimentação Alta Acionando TTL

Neste caso é necessário utilizar um circuito de interface que possaconverter uma entrada de alta tensão para uma saída de 5 V. Um buffer(4050B) é utilizado para essa interface.

Fig. 2-27: Um buffer 4050 pode ser usado como um conversor de nível entreum componente TTL e um outro CMOS com fonte de alimentação de valormais alto

FACENS   ELETRÔNICA II   Prof. Sidney José Mont ebeller  39

Page 47: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 47/217

 

Dispositivos de Lógica Programável

3. Dispositivos de Lógica Programável (PLDs)

3.1- Introdução

A maioria dos circuitos lógicos utilizados são padronizados e possuemdiversas funções. Além disso, são fabricados por várias indústrias com umcusto muito baixo. Por essas razões esses circuitos integrados são usados emuma grande quantidade de circuitos e sistemas.

Entretanto, existem problemas com circuitos que utilizam circuitosintegrados padronizados. Alguns sistemas podem necessitar de centenas oumilhares de circuitos integrados. Essa quantidade enorme de componentesnecessita de um espaço considerável em uma placa e uma grande quantidadede tempo para soldar ou testar esses circuitos integrados.

Reduzindo o número de circuitos integrados na placa podemos ter:- menor espaço em placa: com placa menores os gabinetes seriam menores

também;

- menor consumo de potência;- processos de fabricação mais rápidos e baratos;- maior confiabilidade: existem menos circuitos integrados e menos

conexões sujeitas a falhas;- facilidade de manutenção.

Os dispositivos de lógica programável (PLDs) tem todas estascaracterísticas permitindo assim substituir um grande número de circuitosintegrados padronizados por um único componente.

Um PLD é um circuito integrado que contém um grande número deportas lógicas, flip-flops e registradores que são interconectados no chip. A“programação” do componente pode ser feita queimando-se ou não fusíveis

que constituem as ligações internas entre os blocos lógicos de acordo com anecessidade do usuário.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  40

Page 48: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 48/217

 

Dispositivos de Lógica Programável

3.2- Conceito Básico

A fig. 3-1 mostra a idéia básica utilizada pelos PLDs.

Fig. 3-1: Exemplo de um dispositivo de lógica programável

Cada entrada (A e B) é aplicada em um buffer inversor e um nãoinversor que seguem para as portas AND. As saídas das portas AND sãolevadas às entradas de portas OR por meio de fusíveis, que podem gerarqualquer combinação com as entradas. Para se obter, por exemplo:

O1=

BA

+ AB

é só queimarmos os fusíveis 1 e 4 da porta OR 1.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  41

Page 49: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 49/217

 

Dispositivos de Lógica Programável

3.3- Simbologia

A simbologia de um PLD é mostrada na fig. 3-2:

Fig. 3-2: Simbologia usada em PLDs

3.4- Arquitetura de um PLD

- PROM – A PROM é constituída conforme a fig. 3-3:

Fig. 3-3: Arquitetura de uma PROM

A PROM pode gerar qualquer função lógica possível das variáveis deentrada.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  42

Page 50: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 50/217

 

Dispositivos de Lógica Programável

- Arranjo de Lógica Programável (PAL) – A PAL pode ser vista conformea fig. 3-4:

Fig. 3-4: Arquitetura típica de uma PAL

A PAL é utilizada em aplicações onde não se necessita que todas ascombinações sejam programadas. No caso da figura acima, cada saída estáconectada a apenas quatro saídas das portas AND.

Fusível de Polaridade

O fusível de polaridade é um recurso usado em muitos PLDs parainverter qualquer saída do dispositivo. Isso é mostrado na figura a seguir:

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  43

Page 51: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 51/217

 

Dispositivos de Lógica Programável

Fig. 3-5: Uso do fusível de polaridade para inversão da saída

3.5- Outros Recursos Disponíveis

Em circuitos de PLDs ainda podemos encontrar diversos recursos.Esses recursos seriam: flip-flops, latches, registradores de entrada eregistradores de saída.

3.6- Outros Tipos de PLDs

FPLA (Field Programmable Logic Array) – O arranjo de lógica programávelusava uma matriz AND e uma matriz OR, ambas programáveis. Embora aFPLA seja mais flexível do que a PAL, ela não foi bem aceita pelos projetistas.

CPLDs (PLDs Complexos) – são dispositivos que combinam vários circuitosPAL em um mesmo chip.

FPGAs (Field Programmable Gate Arrays) – Os arranjos de portasprogramáveis em campo oferecem um número de blocos lógicos configuráveis

que contém lógica combinacional programável e registradores para circuitosseqüenciais. Possuem blocos de entrada/saída que podem ser configuradoscomo entradas, saídas e bidirecionais.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  44

Page 52: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 52/217

 

Dispositivos de Lógica Programável

3.7- Programação

Quando os PLDs apareceram, a programação deles era feitaqueimando-se ou não os fusíveis para se gerar o circuito lógico. Atualmente,existem softwares que geram o mapa das conexões internas dos PLDs e aindatestam a lógica do circuito. Existem também programadores universais onde o

PLD é colocado e pode ser programado a partir de um software.

3.8- PLDs Programáveis

A programação de um PLD é feita queimando-se um fusível. Uma vezqueimado o fusível, ele não pode ser recuperado. Tendo em vista estadificuldade, desenvolveu-se, então, um tipo de PLD apagável e reprogramável(usando a mesma tecnologia das EEPROMs), que são bastante utilizados emdesenvolvimento de protótipos de circuitos digitais.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  45

Page 53: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 53/217

 

Flip-Flops

4. Flip-Flops

4.1- Introdução

Os circuitos combinacionais são aqueles onde as saídas dependem

apenas dos níveis lógicos colocados nas entradas. A mesma combinação deentrada sempre produzirá o mesmo resultado na saída, porque circuitoscombinacionais não possuem memória.

A maioria dos sistemas digitais é composta tanto por circuitoscombinacionais como de elementos de memória. O elemento de memória maisimportante é o flip-flop.

4.2- Flip-Flop R-S (Reset – Set)

O circuito básico do flip-flop R-S é mostrado na fig. 4-1:

Fig. 4-1: Circuito lógico do flip-flop R-S

O circuito acima mostra que o estado futuro das saídas Q e Qdependem R e S e também do estado atual dessas saídas. Isso é mostrado natabela 4-1.

Tabela 4-1:Caso S R Qatual Qfuturo futuroQ

0 0 0 0 0 11 0 0 1 1 02 0 1 0 0 13 0 1 1 0 1

4 1 0 0 1 05 1 0 1 1 06 1 1 0 1 17 1 1 1 1 1

Nos casos 0 e 1, com S = 0 e R = 0, as saídas Q e Q permaneceraminalteradas (memória). Nos casos 2 e 3, com S = 0 e R = 1, a saída Q foi para0 e Q foi para 1. Nos casos 4 e 5, com S = 1 e R = 0, a saída Q foi para 1 e Q

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  46

Page 54: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 54/217

 

Flip-Flops

foi para 0. Nos casos 6 e 7, com S = 1 e R = 1, as saídas Q e Q foram para 1,ocasionando um problema, já que as saídas Q e Q devem sercomplementares.

Uma tabela simplificada e o símbolo do flip-flop R-S são mostrados nafig. 4-2:

Fig. 4-2: Tabela verdade e simbologia do flip-flop R-S

NOR.O circuito do flip-flop R-S também pode ser implementado usando portas

4.3- Flip-Flops com Clock

Circuitos que utilizam clock são chamados de circuitos síncronos. Muitosflip-flops utilizam um sinal de clock para determinar o momento em que suassaídas mudarão de estado. O sinal de clock é comum para todas as partes docircuito.

Normalmente, o sinal de clock é uma onda quadrada e durante umatransição positiva (nível 0 para nível 1) ou transição negativa (nível 1 para nível0) a saída poderá mudar de estado.

Fig. 4-3: Simbologia de flip-flops com clock na transição de subida e descida

Tempos de Setup e Hold

Os tempos de setup e hold são parâmetros que devem ser observadospara que o flip-flop possa trabalhar de modo confiável. O tempo de setup, tS,corresponde ao intervalo no qual as entradas devem permanecer estáveisantes da transição do clock. O tempo de hold, tH, corresponde ao intervalo noqual as entradas devem permanecer estáveis depois da transição do clock.

Os tempos de setup e hold mínimos devem ser respeitados para ofuncionamento confiável do flip-flop.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  47

Page 55: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 55/217

 

Flip-Flops

Fig. 4-4: Tempos de setup e hold

4.4- Flip-Flop R-S com Clock

O símbolo do flip-flop R-S com clock é mostrado na fig. 4-5:

Fig. 4-5: Flip-flop R-S com clock

O circuito interno é mostrado na fig. 4-6:

Fig. 4-6: Circuito lógico interno do flip-flop R-S com clock

O detector de transição é um circuito que habilitará, por alguns instantes,as entradas SET e RESET, durante a transição de CLOCK. O circuito típico deum detector de transição é mostrado na fig. 4-7:

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  48

Page 56: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 56/217

 

Flip-Flops

Fig. 4-7: Circuitos detectores de transição positiva e negativa

Os tempos dos pulsos de CLK* correspondem aos tempos de atraso daporta NOT, em torno de 5 ns.

4.5- Flip-Flop J-K

O símbolo do flip-flop J-K é mostrado na fig. 4-8:

Fig. 4-8: Flip-flop J-K

A operação do flip-flop J-K é semelhante à do flip-flop R-S. A diferença éque o flip-flop J-K não possui a condição proibida, ou seja, J = K = 1. Nessasituação, a saída será complementada (valor anterior será invertido).

O circuito interno do flip-flop J-K é mostrado na fig. 4-9:

Fig. 4-9: Circuito lógico interno do flip-flop J-K

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  49

Page 57: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 57/217

 

Flip-Flops

4.6- Flip-Flop D

O símbolo do flip-flop D é mostrado na fig. 4-10:

Fig. 4-10: Flip-flop D

O circuito interno do flip-flop D é mostrado na fig. 4-11:

Fig. 4-11: Circuito lógico interno do flip-flop D

4.7- Latch D

O símbolo lógico do latch D é mostrado na fig. 4-12. Diferentemente doflip-flop D, o latch D possui uma entrada EN. Quando esta entrada estiverhabilitada, a saída é a cópia da entrada. Se ela estiver desabilitada, a saídanão mudará.

Fig. 4-12: Latch D

O circuito interno é mostrado na fig. 4-13:

Fig. 4-13: Circuito interno do latch D

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  50

Page 58: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 58/217

 

Flip-Flops

4.8- Entradas Assíncronas

Todas as entradas dos flip-flops até agora vistos dependem do sinal declock. Estas entradas são chamadas entradas síncronas. Em muitos flip-flopsexistem outras entradas que são chamadas entradas assíncronas, ou seja, não

dependem do sinal de clock para atuarem.Essas entradas são usadas para colocar o flip-flop no estado “0” ou “1”,a qualquer instante. A tabela 4-2 mostra as entradas assíncronas:

Tabela 4-2:

PRESET CLEAR Resposta do Flip-Flop1 1 Operação normal0 1 Q = 11 0 Q = 00 0 Não usada

Para a operação normal do flip-flop, as entradas PRESET e CLEARdevem estar em “1”. A qualquer momento podemos forçar a saída Q a ser “0”ou “1”. A última combinação não pode ser usada, já que é contraditória.

A fig. 4-14 mostra as entradas assíncronas de um flip-flop J-K:

Fig. 4-14: Simbologia do flip-flop J-K com as entradas assíncronas

4.9- Características de Temporizações dos Flip-Flops

As seguintes características de tempo devem ser respeitadas para ofuncionamento correto dos flip-flops.

- Tempos de Setup e Hold – Correspondem aos intervalos de tempo que a

entrada deve permanecer estável antes e depois da transição do clock.

- Atrasos de Propagação – Na mudança de estado da saída, semprehaverá um atraso entre a aplicação de um sinal na entrada e o momentoque a saída muda.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  51

Page 59: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 59/217

 

Flip-Flops

Fig. 4-15: Atrasos de propagação

- Freqüência Máxima de Clock, fMAX – Esta é a freqüência mais alta quepode ser aplicada no flip-flop de modo a dispará-lo confiavelmente.

- Tempos de Duração do Clock em ALTO e BAIXO – O tempo de duraçãodo clock em nível ALTO, tw(H) e o tempo de duração em nível BAIXO, tw(L)são mostrados na figura abaixo.

Fig. 4-16: Tempos de duração de clock em ALTO e BAIXO

- Largura dos Pulsos Assíncronos – Assim como foram definidos largurasmínimas de pulsos para o clock, as entradas assíncronas PRESET e

CLEAR também possuem larguras mínimas de pulsos para uma operaçãocorreta.

Fig. 4-17: Larguras mínimas de pulsos assíncronos

- Tempos de Transição do Clock – Para garantir o funcionamento corretodo flip-flop, o tempo transição do clock deve ser o menor possível. Paradispositivos TTL esse tempo é δ 50 ns e para dispositivos CMOS, δ 200 ns.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  52

Page 60: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 60/217

 

Flip-Flops

4.10- Circuitos Integrados de Flip-Flops

Alguns circuitos integrados de flip-flops são mostrados abaixo:- 7474 – Duplo flip-flop D disparado por borda (TTL);- 74LS112 – Duplo flip-flop J-K disparado pela borda (TTL);- 74C74 – Duplo flip-flop D disparado pela borda (CMOS);

- 74HC112 – Duplo flip-flop J-K disparado pela borda (CMOS).

Tabela 4-3:

Parâmetro de TemporizaçãoTTL CMOS

7474 74LS112 74C74 74HC112

tS (ns) 20 20 60 25

tH (ns) 5 0 0 0

tPHL (ns) de CLK para Q 40 24 200 31

tPLH (ns) de CLK para Q 25 16 200 31

tPHL (ns) de CLR para Q 40 24 225 41

tPLH (ns) de PRE para Q 25 16 255 41tW(L) (ns) tempo em BAIXO para CLK 37 15 100 25

tW(H) (ns) tempo em ALTO para CLK 30 20 100 25

tW(L) (ns) para CLR ou PRE 30 15 60 25

fMAX (MHz) 15 30 5 20

4.11- Problemas de Temporização em Flip-Flops

Um problema de temporização que poderá ocorrer em sistemas queutilizam flip-flops é mostrado na fig. 4-18:

Fig. 4-18: Problemas de temporização em flip-flops

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  53

Page 61: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 61/217

 

Flip-Flops

Como o clock é o mesmo para os dois flip-flops, para que o circuitofuncione adequadamente, o tempo de hold de Q2, tH, deve ser menor que oatraso de propagação de Q1.

4.12- Flip-Flops Mestre/Escravo

Antes do desenvolvimento de flip-flops com tempo de hold muitopequeno, os problemas de temporização vistos anteriormente eramsolucionados utilizando-se flip-flops mestre/escravo.

Os flip-flops mestre/escravo são constituídos de dois flip-flops, umdisparado na transição de subida do clock (mestre) e o outro na descida doclock (escravo). Na borda de subida do clock, os níveis presentes nas entradasdo flip-flop determinam a saída do mestre. Na borda de descida do clock osníveis das saídas do mestre são passados para o escravo, ou para a saída doflip-flop.

4.13- Dispositivos Schmitt-Trigger

A principal característica de um circuito Schmitt-Trigger é mostrada nafig. 4-19:

Fig. 4-19: Comparação entre um inversor comum e um inversor Schmitt-Trigger

A fig. 4-19 mostra um inversor comum sendo acionado por um sinal comtempo de transição longo. Em circuitos comuns, a saída pode oscilar à medida

que o sinal de entrada passa pela faixa de transição.Ainda na fig. 4-19, vemos que em um circuito com entrada Schmitt-Trigger a saída não produzirá oscilações. Esse circuito funciona da seguinteforma: a entrada está em nível BAIXO resultando nível ALTO na saída. A saídasó irá para nível BAIXO quando a entrada ultrapassar o valor VT+ (tensão delimiar superior). Nessas condições, se quisermos que a saída volte a ser ALTO,devemos aplicar uma tensão de entrada menor do que VT- (tensão de limiarinferior).

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  54

Page 62: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 62/217

 

Flip-Flops

Dispositivos Schmitt-Trigger são especialmente usados em circuitosonde os sinais de entrada variam lentamente (ondas senoidais, sinais desensores, etc). As especificações de VT+ e VT- dependem do tipo decomponente, mas VT- é sempre menor do que VT+.

4.14- Circuitos Geradores de ClockA maioria dos sistemas digitais utiliza algum circuito gerador de clock.

Dentre essas aplicações podemos ter algumas que utilizam um sinal de clocksem a exigência de precisão. Outras, porém, a precisão é fundamental.

Existem vários tipos de osciladores que podem gerar pulsos de clockpara sistemas digitais. Os menos precisos e menos estáveis (dependendo daaplicação) utilizam resistores e capacitores. Os mais precisos e estáveisutilizam cristais de quartzo e com freqüências muito maiores do que os circuitosque utilizam resistores e capacitores como geradores de clock.

Oscilador Schmitt-Trigger

Um típico gerador de clock usando dispositivos Schmitt-Trigger émostrado na figura abaixo:

Fig. 4-20: Circuito de um oscilador utilizando inversor Schmitt-Trigger

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  55

Page 63: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 63/217

 

Flip-Flops

Temporizador 555 como Oscilador

O circuito integrado 555 também pode ser usado como gerador de clock.A figura abaixo mostra isso:

Fig. 4-21: Circuito de um oscilador utilizando o temporizador 555

Osciladores a Cristal de Quartzo

A principal característica dos osciladores a cristal de quartzo é suaestabilidade e precisão quanto à freqüência de oscilação. A figura seguintemostra circuitos osciladores que utilizam cristais de quartzo.

Fig. 4-22: Circuitos de osciladores a cristal

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  56

Page 64: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 64/217

 

Contadores

5. Contadores

5.1- Introdução

Os flip-flops têm funções ilimitadas em sistemas digitais. Podemosassociá-los e utilizá-los como contadores, registradores e muitos outroscircuitos.

Os contadores podem ser assíncronos ou síncronos. Basicamente, aprincipal diferença entre eles é que o síncrono utiliza um sinal de clock comuma todos os flip-flops e o assíncrono possui um sinal de clock que é dividido atéo último flip-flop.

Os registradores também são arranjos de flip-flops, mas com o objetivode armazenar, manipular e transferir dados entre outros registradores oucircuitos.

5.2- Contadores AssíncronosOs contadores assíncronos também são chamados de contadores por

pulsação (ripple counter). Um circuito típico de um contador assíncrono émostrado na fig. 5-1:

Fig. 5-1: Contador assíncrono utilizando flip-flops J-K

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  57

Page 65: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 65/217

 

Contadores

Tabela 5-1:Estado D C B A Decimal

0 0 0 0 0 01 0 0 0 1 12 0 0 1 0 23 0 0 1 1 3

4 0 1 0 0 45 0 1 0 1 56 0 1 1 0 67 0 1 1 1 78 1 0 0 0 89 1 0 0 1 9

10 1 0 1 0 1011 1 0 1 1 1112 1 1 0 0 1213 1 1 0 1 1314 1 1 1 0 14

15 1 1 1 1 15Reinicia a contagem 16 0 0 0 0 017 0 0 0 1 118 0 0 1 0 2

A tabela 5-1 mostra os estados de contagem deste contador assíncronode quatro bits.

Podemos perceber que a cada 16 estados esse contador reinicia suacontagem. Então ele é um contador assíncrono módulo 16, ou seja, tem 16estados (0000 até 1111) distintos. Equacionando:

Módulo = 2N

onde N é o número de flip-flops conectados (número de bits).

Nos contadores assíncronos, a freqüência do clock é dividida por 2 emcada flip-flop, ou seja: na saída A teremos Clock / 2, na saída B teremos Clock / 4, na saída C teremos Clock / 8 e na saída D teremos Clock / 16. Concluindo,os contadores assíncronos são divisores de freqüência e no último flip-flopteremos a freqüência de clock dividida pelo módulo desse contador.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  58

Page 66: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 66/217

 

Contadores

5.3- Contadores de Módulo < 2N

Um contador assíncrono com N flip-flops terá, no máximo, módulo 2N. Seprecisarmos de um contador com módulo menor do que 2N será necessárioutilizar um circuito adicional, conforme mostrado na fig. 5-2:

Fig. 5-2: Contador assíncrono com módulo < 2N

A fig. 5-2 mostra um contador módulo 6. Se não houvesse a porta NANDligada nas entradas CLEAR dos flip-flops, o módulo seria 8. A seqüência decontagem é mostrada na tabela 5-2:

Tabela 5-2:Estado C B A Decimal

0 0 0 0 01 0 0 1 12 0 1 0 23 0 1 1 34 1 0 0 45 1 0 1 5

Estado temporárionecessário apenas para

6 1 1 0 67 0 0 0 0

reiniciar a contagem 8 0 0 1 1

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  59

Page 67: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 67/217

 

Contadores

5.4- Diagrama de Transição de Estados

O diagrama de transição de estados é mostrado na fig. 5-3:

Fig. 5-3: Diagrama de transição de estados de um contador módulo 6

Neste diagrama, as linhas contínuas correspondem aos estados estáveise as linhas tracejadas indicam o estado temporário.

O procedimento para a construção de um contador módulo X é:- Determinar o menor número de flip-flops tal que 2N

δ X. Se 2N = X, não énecessário conectar a porta NAND na entrada assíncrona CLEAR;

- Conectar a porta NAND nas entradas assíncronas CLEAR de todos os flip-flops;

- Determinar quais saídas estarão em ALTO na contagem X. Então é só

conectar essas saídas nas entradas da porta NAND.

5.5- Contadores de Década

Contadores de década ou decádicos são contadores que possuem 10estados distintos, não importando a seqüência. Quando um contador decádicoconta em seqüência de 0000 a 1001 (0 a 9), ele é chamado de contador BCD.

5.6- Circuitos Integrados de Contadores Assíncronos

Existem vários circuitos integrados de contadores assíncronos, tantoTTL como CMOS.

O circuito integrado TTL 74LS293 é um contador com quatro flip-flops J-K. Vários circuitos TTL têm suas versões CMOS. O circuito integrado CMOS74HC4024 é um contador com sete flip-flops que não possui correspondenteTTL.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  60

Page 68: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 68/217

 

Contadores

5.7- Contador Assíncrono Decrescente

Os contadores que contam progressivamente a partir do zero sãodenominados contadores crescentes. Já os contadores decrescentes contamdo valor máximo até zero.

Um contador decrescente pode ser construído conforme mostrado na fig.

5-4:

Fig. 5-4: Contador assíncrono decrescente

Nesse circuito vemos que o clock de cada flip-flop é acionado com asaída invertida do flip-flop anterior. Com isso a saída é invertida, ou seja,conforme a tabela abaixo:

Tabela 5-3:Estado C B A Decimal

0 0 0 0 01 1 1 1 72 1 1 0 63 1 0 1 54 1 0 0 45 0 1 1 36 0 1 0 2

7 0 0 1 18 0 0 0 09 1 1 1 7

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  61

Page 69: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 69/217

 

Contadores

O diagrama de transição de estados do contador decrescente módulo 8é mostrado na fig. 5-5:

Fig. 5-5: Diagrama de transição de estados do contador decrescente módulo 8

5.8- Atrasos de Propagação de Contadores Assíncronos

Cada flip-flop de um contador assíncrono é disparado pela saída de umflip-flop anterior. Essa característica traz uma desvantagem: o tempo de atrasode propagação. Isso pode ser visto na fig. 5-6:

Fig. 5-6: Atrasos de propagação em contadores assíncronos

Ao passar por um flip-flop, o sinal de clock sofre um atraso depropagação tPD e esse efeito é somado até o último flip-flop, gerando um atrasototal de N x tPD, onde N é o número de flip-flops.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  62

Page 70: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 70/217

 

Contadores

Para que um contador assíncrono funcione de modo confiável énecessário que o atraso total de propagação seja menor que o período de clockusado, ou seja:

T εclock

xN tPD

ou ainda, em termos de freqüência máxima:

=f 1max xN t

PD

5.9- Contadores Síncronos

Como vimos, o atraso de propagação dos flip-flops dos contadoresassíncronos limitam a freqüência máxima de trabalho destes componentes.

Esse problema pode ser resolvido se os flip-flops mudassem de estadosuas saídas no momento em que houvesse a transição de clock. Essaconfiguração pode ser vista na fig. 5-7:

Fig. 5-7: Contador síncrono módulo 16

Tabela 5-4:Estado D C B A Decimal

0 0 0 0 0 01 0 0 0 1 12 0 0 1 0 23 0 0 1 1 34 0 1 0 0 45 0 1 0 1 56 0 1 1 0 67 0 1 1 1 78 1 0 0 0 8

9 1 0 0 1 910 1 0 1 0 1011 1 0 1 1 1112 1 1 0 0 1213 1 1 0 1 1314 1 1 1 0 1415 1 1 1 1 15

Reinicia a contagem 16 0 0 0 0 0

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  63

Page 71: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 71/217

 

Contadores

Na fig. 5-7, o sinal de clock é comum a todos os flip-flops. Com isso, oatraso de propagação será o atraso de um flip-flop somado com o atraso daporta NAND:

atraso total = t (flip flop) + tPD PD

( )NAND

Ainda analisando a fig. 5-7 vemos que o contador síncrono é mais

complexo do que o contador assíncrono. Entretanto, com um atraso depropagação menor, ele pode trabalhar com freqüências maiores.

5.10- Circuitos Integrados de Contadores Síncronos

Podemos encontrar diversos circuitos integrados no mercado, tanto dafamília TTL como CMOS. Dentre eles estão:- 74LS160 / 162, 74HC160 / 162 – contadores síncronos decádicos.- 74LS161 / 163, 74HC161 / 163 – contadores síncronos módulo 16.

5.11- Contadores Síncronos Decrescentes

Do mesmo modo que os contadores assíncronos, os contadoressíncronos podem contar decrescentemente. Para isso devemos conectar assaídas A , B e C em vez das saídas A, B e C.

5.12- Contadores com Carga Paralela

Contadores síncronos podem contar a partir de um valor pré-determinado pelo usuário. Isso é conhecido como carga paralela. A fig. 5-8mostra um flip-flop com circuito carga de inicialização:

Fig. 5-8: Contador com carga paralela

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  64

Page 72: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 72/217

 

Contadores

Quando LOAD é BAIXO, o flip-flop funcionará normalmente. QuandoLOAD é ALTO, o valor de D é colocado na saída do flip-flop usando asentradas assíncronas (não depende do clock).

Se fizermos isso para cada flip-flop do contador poderemos pré-determinar o valor inicial a ser incrementado. Um exemplo prático de umcontador síncrono crescente/decrescente de módulo 16 com carga paralela é o

74LS193/74HC193.

5.13- Utilizando Contadores BCD

Contadores BCD são bastante usados em circuitos onde pulsos devemser contados e mostrados num display, por exemplo. A fig. 5-9 mostra umarranjo de contadores BCD com contagem de 000 a 999:

Fig. 5-9: Contador BCD com contagem de 000 a 999

Inicialmente todos os contadores estão em 0 e, no display, é mostrado000. A cada borda de descida do sinal de clock, o contador de unidades éincrementado e o valor é mostrado no display. Quando o valor é 009 (1001), opróximo pulso fará com que o contador BCD de unidades vá a 0.

Nesse momento também ocorrerá uma transição de 1 para 0 (borda dedescida) da saída D que está ligada ao clock do contador BCD de dezenas. Eagora o display mostrará o valor 010.

Isso continua até 999 quando, no próximo pulso, os contadores irão para000, iniciando novamente a contagem.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  65

Page 73: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 73/217

 

Contadores

5.14- Projeto de Contadores Síncronos

A fig. 5-10 mostra um diagrama genérico de um contador síncrono:

Fig. 5-10: Diagrama genérico de um contador síncrono

O circuito lógico de estado futuro define qual o próximo estado docontador através do estado atual. Dessa maneira podemos implementar

contadores com qualquer seqüência de contagem.Apesar usarmos flip-flops J-K em nossos projetos de contadoressíncronos, nada nos impede de usarmos flip-flops D, como na fig. 5-10.

5.15- O Flip-Flop J-K

A tabela 5-5 mostra o funcionamento do flip-flop J-K:

Tabela 5-5:J K Qatual Qfuturo

0 0 0 00 0 1 10 1 0 00 1 1 01 0 0 11 0 1 11 1 0 11 1 1 0

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  66

Page 74: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 74/217

 

Contadores

A tabela 5-5 relaciona as entradas J e K e a saída Qatual de modo a gerarum Qfuturo. Na verdade, na construção de contadores síncronos, nós jásabemos Qatual e Qfuturo (valores da contagem), mas precisamos saber quaissão os valores das entradas J e K que gerarão Q futuro. Desse modo nossatabela deverá ser:

Tabela 5-6: Qatual Qfuturo J K0 0 0 x0 1 1 x1 0 x 11 1 x 0

Onde x = irrelevante.

A tabela 5-6 relaciona os estados atual e futuro da saída Q com relaçãoàs entradas J e K.

5.16- Procedimento para Construção de Contadores Síncronos

Projetaremos um contador síncrono usando a seqüência de contagemda tabela 5-7:

Tabela 5-7:C B A0 0 00 0 10 1 0

0 1 11 0 00 0 0

Os passos são os seguintes:

- Definir o número de flip-flops (bits) do contador e a seqüência de contagem;

- Mostrar o diagrama de transição de estados indicando todos os estadospossíveis, incluindo os estados que não fazem parte da seqüência. Odiagrama é mostrado na fig. 5-11:

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  67

Page 75: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 75/217

 

Contadores

Fig. 5-11: Diagrama de transição de estados

A fig. 5-12 mostra o circuito de geração do estado futuro a ser projetado.Podemos notar que as saídas A, B e C, na verdade, são as entradas dessecircuito e que as entradas J e K são as saídas.

Fig. 5-12: Diagrama do contador a ser projetado

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  68

Page 76: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 76/217

 

Contadores

- Gerar a tabela de transição de estados (estados atual e futuro):

Tabela 5-8:Atual Futuro

C B A C B AJC KC JB KB JA KA

0 0 0 0 0 1 0 x 0 X 1 x

0 0 1 0 1 0 0 x 1 X x 10 1 0 0 1 1 0 x x 0 1 x0 1 1 1 0 0 1 x x 1 x 11 0 0 0 0 0 x 1 0 X 0 x1 0 1 0 0 0 x 1 0 X x 11 1 0 0 0 0 x 1 x 1 0 x1 1 1 0 0 0 x 1 x 1 x 1

Onde x = irrelevante.

- Encontrar as expressões lógicas que relacionam as saídas J e K com as

entradas A, B e C, usando o mapa de Karnaugh. Depois da simplificaçãochegamos às seguintes expressões:

JA = C JB = A C. JC = A.BKA = 1 KB = A + C KC = 1

O circuito final é mostrado na fig. 5-13.

Fig. 5-13: Circuito lógico final do contador

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  69

Page 77: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 77/217

 

Registradores

6. Registradores

6.1- Introdução

A utilização mais comum dos flip-flops é no armazenamento etransferência de informações. Essas informações são armazenadas em gruposde flip-flops chamados registradores.

Além de armazenar informações, os registradores têm a capacidade detransferir essas informações para outros registradores. Isso é bastanteinteressante, já que o armazenamento e a transferência de dados são asprincipais características dos sistemas digitais.

6.2- Registradores de Deslocamento

A fig. 6-1 mostra um registrador de deslocamento de 4 bits e suasformas de onda.

Fig. 6-1: Registrador de deslocamento de 4 bits e formas de onda

A cada pulso de clock, o valor contido nas entradas J e K dos flip-flops étransferido para a saída. Essa saída está conectada na entrada do próximo flip-flop e no final de 4 pulsos de clock, o valor da entrada DADOS, que foitransferido serialmente, estará armazenado no registrador.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  70

Page 78: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 78/217

 

Registradores

6.3- Transferência Paralela de Dados entre Registradores

A fig. 6-2 mostra a transferência paralela de dados entre doisregistradores:

Fig. 6-2: Transferência paralela de dados entre registradores

As saídas dos flip-flops que constituem o registrador X estão conectadasnas entradas dos flip-flops que constituem o registrador Y. Depois do pulsoTRANFER, o conteúdo armazenado no registrador X é transferido para oregistrador Y.

6.4- Transferência Serial de Dados entre Registradores

A fig. 6-3 mostra a transferência serial de dados entre dois registradores.

Fig. 6-3: Transferência serial de dados entre registradores

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  71

Page 79: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 79/217

 

Registradores

6.5- Comparação entre a Transferência Paralela e aTransferência Serial

Na transferência paralela, os dados são transmitidos simultaneamentena ocorrência de um único pulso de transferência. Na transferência serial, cadabit é transmitido a cada pulso de transferência.

Com relação à velocidade de transmissão, a transferência paralela émais rápida do que a serial. Em compensação, a transferência paralelanecessita de um número maior de conexões entre os registradores.

6.6- Contadores com Registradores de Deslocamento

Registradores de deslocamento também podem ser usados comocontadores:

- Contador em Anel – O contador em anel é mostrado na fig. 6-4:

Fig. 6-4: Contador em anel

No contador em anel, um das saídas dos flip-flops está em 1 e as outrasestá em 0. Por ser um registrador de deslocamento, esse 1 é transferido para opróximo flip-flop e assim sucessivamente. A tabela 5-1 mostra a seqüência da

contagem.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  72

Page 80: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 80/217

 

Registradores

Tabela 5-1:Pulso de Clock Q3 Q2 Q1 Q0

0 1 0 0 01 0 1 0 02 0 0 1 03 0 0 0 1

4 1 0 0 05 0 1 0 06 0 0 1 07 0 0 0 1

Para o perfeito funcionamento deste tipo de contador, um dos flip-flopsdeve ter inicialmente o valor 1 e os outros 0. Isso pode ser feito através dasentradas assíncronas PRESET e CLEAR.

- Contador Johnson – O contador Johnson é mostrado na fig. 6-5:

Fig. 6-5: Contador Johnson

A tabela 5-2 mostra a seqüência de contagem do contador Johnson:

Tabela 5-2:Pulso de Clock Q2 Q1 Q0

0 0 0 01 1 0 02 1 1 03 1 1 14 0 1 15 0 0 16 0 0 07 1 0 0

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  73

Page 81: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 81/217

 

Registradores

6.7- Circuitos Integrados de Registradores

Os registradores podem ser classificados da forma com a qual seusdados são transferidos:- Entrada paralela / saída paralela – 74174, 74LS174, 74HC174;- Entrada serial / saída serial – 4731B;- Entrada paralela / saída serial – 74165, 74LS165, 74HC165;- Entrada serial / saída paralela – 74164, 74LS164, 74HC164.

Existem outras versões de registradores como, por exemplo:- 74194, 74LS194, 74HC194 – registrador de deslocamento bidirecional

universal de quatro bits com entrada paralela e saída paralela.- 74373, 74LS373, 74HC373, 74HCT373 – registrador de oito bits de entrada

paralela e saída paralela que contém oito latches tipo D com saídas emtristate.

- 74374, 74LS374, 74HC374, 74HCT374 – registrador de oito bits de entradaparalela e saída paralela que contém oito flip-flops tipo D com saídas emtristate.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  74

Page 82: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 82/217

 

Decodificadores, Codificadores, Multiplexadores e Demultiplexadores

7. Decodificadores, Codificadores, Multiplexadores eDemultiplexadores

7.1- Decodificadores

Decodificador é um circuito lógico que recebe em suas entradas umcódigo que representa um número binário e ativa a saída correspondente aesse número binário. Os decodificadores são circuitos combinacionais semmemória mas são bastante usados em sistemas digitais.

A fig. 7-1 mostra o diagrama de um decodificador de 3 linhas para 8linhas:

Fig. 7-1: Decodificador 3 para 8

A tabela 7-1 mostra a tabela verdade para o decodificador 3 para 8.

Tabela 7-1:C B A O0 O1 O2 O3 O4 O5 O6 O7

0 0 0 1 0 0 0 0 0 0 00 0 1 0 1 0 0 0 0 0 0

0 1 0 0 0 1 0 0 0 0 00 1 1 0 0 0 1 0 0 0 01 0 0 0 0 0 0 1 0 0 01 0 1 0 0 0 0 0 1 0 01 1 0 0 0 0 0 0 0 1 01 1 1 0 0 0 0 0 0 0 1

Através da tabela verdade vemos que apenas uma saída é acionada,dependendo apenas do código de entrada. As entradas E1 e E2 são asentradas de habilitação do componente. Quando elas estiverem acionadas, ouseja, E1 = 0 e E2 = 1, o componente responderá às entradas A, B e C.

Um exemplo de decodificador é o circuito integrado 74LS138/HC138. Eleé um decodificador de 3 linhas para 8 linhas.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  75

Page 83: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 83/217

 

Decodificadores, Codificadores, Multiplexadores e Demultiplexadores

Decodificadores BCD para Decimal

Um exemplo de decodificador BCD para decimal é o circuito integrado7442/LS42/HC42. Esses decodificadores também são denominados dedecodificadores 4 para 10.

Decodificadores/Driver BCD para Decimal

O circuito integrado 7445 é um decodificador/driver BCD para decimal. Otermo driver é usado porque este componente possui saídas com coletoraberto que podem operar com tensões e correntes maiores que uma saída TTLnormal.

Decodificadores/Driver BCD para 7 Segmentos

Muitas aplicações que envolvem medições é necessário que o valor

binário em um registrador ou contador seja mostrado em um display. Oscircuitos integrados 7446 e 7447 são decodificadores BCD para 7 segmentos.

O diagrama de um decodificador BCD para 7 segmentos é mostrado nafig. 7-2:

Fig. 7-2: Decodificador BCD para 7 segmentos

Como os displays usados são formados com LEDs, cada segmento dodisplay necessita de uma corrente alta para acender. Circuitos TTL e CMOSnão tem capacidade de fornecer corrente suficiente e por isso não são usadospara acionar diretamente os displays. Os decodificadores/driver BCD para 7segmentos podem acionar diretamente displays de LEDs.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  76

Page 84: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 84/217

 

Decodificadores, Codificadores, Multiplexadores e Demultiplexadores

7.2- Codificadores

Os codificadores executam a função contrária dos decodificadores. Noscodificadores apenas uma linha da entrada é acionada por vez e a saída terá ocódigo da linha acionada.

Fig. 7-3: Codificador 8 para 3

Note que não existe a entrada A0, já que se nenhuma entrada estiveracionada o código de saída é 000.

A tabela 7-2 mostra a tabela verdade:

Tabela 7-2:A0 A1 A2 A3 A4 A5 A6 A7 C B Ax 0 0 0 0 0 0 0 0 0 0x 1 0 0 0 0 0 0 0 0 1x 0 1 0 0 0 0 0 0 1 0x 0 0 1 0 0 0 0 0 1 1x 0 0 0 1 0 0 0 1 0 0

x 0 0 0 0 1 0 0 1 0 1x 0 0 0 0 0 1 0 1 1 0x 0 0 0 0 0 0 1 1 1 1

O circuito integrado 74147 é um codificador de prioridade decimal paraBCD. O codificador de prioridade inclui uma lógica para garantir que, quandoduas ou mais entradas estiverem acionadas, o código de saída corresponderáà entrada com número mais alto. Por exemplo, se as entradas A3 e A5estiverem acionadas, o código na saída será 101 (5).

O símbolo lógico do 74147 e sua tabela verdade são mostrados na fig.7-4.

Fig. 7-4: Codificador decimal para BCD

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  77

Page 85: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 85/217

 

Decodificadores, Codificadores, Multiplexadores e Demultiplexadores

A tabela 7-3 mostra a tabela verdade.

Tabela 7-3:AA A

21 3

AA A A A A O O O O54 6 7 8 9 3 2 1 0

1 1 1 1 1 1 1 1 1 1 1 1 10 1 1 1 1 1 1 1 1 1 1 1 0x 0 1 1 1 1 1 1 1 1 1 0 1x x 0 1 1 1 1 1 1 1 1 0 0x x X 0 1 1 1 1 1 1 0 1 1x x X x 0 1 1 1 1 1 0 1 0x x X x x 0 1 1 1 1 0 0 1x x X x x x 0 1 1 1 0 0 0x x X x x x x 0 1 0 1 1 1x x X x x x x x 0 0 1 1 0

x = irrelevante

A tabela 7-3 mostra o código BCD invertido. Os valores x indicam aprioridade do maior valor.

7.3- Multiplexadores

Multiplexador ou seletor de dados (MUX) é um circuito lógico que recebevários dados digitais de entrada e, por um determinado instante, envia essedado para uma saída. As entradas de seleção determinam qual sinal deentrada deve ser enviado para a saída.

Fig. 7-5: Multiplexador de 2 entradas

A fig. 7-5 mostra um multiplexador de duas entradas. A entrada Seleçãocontrola qual dado de entrada (I0 ou I1) será enviado para a Saída.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  78

Page 86: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 86/217

 

Decodificadores, Codificadores, Multiplexadores e Demultiplexadores

A fig. 7-6 mostra o diagrama de um multiplexador com 8 entradas, o74151 (74LS151, 74HC151):

Fig. 7-6: Multiplexador de 8 entradas

A tabela 7-4 mostra a tabela verdade.

Tabela 7-4:

E S S S2 1 0 Z ZH X X X H L

L L L L

L L L H

L L H L

L L H H

L H L L

L H L H

L H H L

L H H H

I 0I0

I 1I1

I 2I2

I 3I3

I 4I4

I 5I5

I 6I6

I 7I7

Já o circuito integrado 74157 (74LS157, 74HC157) contém quatromultiplexadores de duas entradas.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  79

Page 87: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 87/217

 

Decodificadores, Codificadores, Multiplexadores e Demultiplexadores

Aplicações de Multiplexadores

As aplicações que utilizam multiplexadores são várias: seleção de dadosde entrada, roteamento de dados, seqüenciamento de operações etc. A fig. 7-7mostra um exemplo de uso de multiplexadores.

Fig. 7-7: Exemplo de aplicação de multiplexador: o contador selecionado pelaentrada Seleciona é mostrado no display

A entrada Seleciona Contador do MUX (74LS157) determina qual doscontadores será mostrado no display.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  80

Page 88: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 88/217

 

Decodificadores, Codificadores, Multiplexadores e Demultiplexadores

7.4- Demultiplexadores

Demultiplexadores ou distribuidores de dados (DEMUX) executam afunção inversa dos multiplexadores, ou seja, o DEMUX recebe uma únicaentrada e a distribui para a saída determinada pelas entradas de seleção.

A fig. 7-8 mostra um demultiplexador de duas saídas:

Fig. 7-8: Demultiplexador de 2 saídas

Quando a entrada Seleção estiver em “0”, os dados da entrada I serãolevados à saída O0. Se a entrada Seleção estiver em “1”, os dados da entrada Iserão levados à saída O1.

O circuito integrados 74LS138 (decodificador 3 para 8) também pode serutilizado como demultiplexador, conforme a figura e a tabela abaixo:

Fig.7-9: Demultiplexador de 8 saídas utilizando o 74LS138

A tabela 7-5 mostra a tabela verdade.

Tabela 7-5:OO O O O O O O

A2 A1 A0 7 6 5 34 2 1 00 0 0 1 1 1 1 1 1 1 I0 0 1 1 1 1 1 1 1 I 10 1 0 1 1 1 1 1 I 1 10 1 1 1 1 1 1 I 1 1 11 0 0 1 1 1 I 1 1 1 11 0 1 1 1 I 1 1 1 1 11 1 0 1 I 1 1 1 1 1 11 1 1 I 1 1 1 1 1 1 1

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  81

Page 89: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 89/217

 

Decodificadores, Codificadores, Multiplexadores e Demultiplexadores

Aplicações de Demultiplexadores

Um exemplo simples de aplicação de demultiplexadores pode ser vistona fig. 7-10.

Fig. 7-10: Exemplo de uso de demultiplexador

Um sinal de clock é usado por contador, registrador e outros

dispositivos. O dispositivo que irá receber o sinal de clock é selecionadoatravés das entradas de seleção A2, A1 e A0.Além de aplicações de distribuição de dados podemos usar

demultiplexadores em sistemas de monitoração, transmissão de dados, etc.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  82

Page 90: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 90/217

 

Aritmética Digital

8. Aritmética Digital

8.1- Introdução

Uma máquina digital (computadores e calculadoras) manipula e

armazena dados na forma binária. Dessa forma, as operações aritméticastambém serão realizadas sobre os números na forma binária.

A aritmética digital não é muito diferente da aritmética tradicional (base10). As operações de adição, subtração, multiplicação e divisão sãopraticamente as mesmas, a não ser pelo número de algarismos usados nessasoperações: 2.

8.2- Adição Binária

A adição decimal é mostrada a seguir:

3 7 64+ 6 1

8 3 7

A adição é feita a partir do algarismo menos significativo. Quando aadição resulta em um valor maior que 9 ocorre um carry (vai um) para apróxima posição.

Na adição binária podemos encontrar apenas quatro possibilidades:

0 + 0 = 0

0 + 1 = 11 + 0 = 11 + 1 = 10 (0 + carry 1 para a próxima posição)

Por exemplo:

+011110

1001

+11,01110,110

110,001

8.3- Representação de Números com Sinal

Em sistemas digitais, os números binários são armazenados emanipulados em conjuntos de flip-flops, os registradores. Um registrador com 6flip-flops pode armazenar números binários de 000000 a 111111 (0 a 6310),representando a magnitude do número.

Como os computadores e calculadoras podem operar com númerospositivos e negativos, uma maneira de representar números positivos enegativos é mostrada na fig. 8-1.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  83

Page 91: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 91/217

 

Aritmética Digital

A6 A5 A4 A3 A2 A1 A00 1 1 0 1 0 0 = +5210

Bit de Sinal (+) Magnitude = 5210

A6 A5 A4 A3 A2 A1 A0

1 1 1 0 1 0 0 = -5210

Bit de Sinal (-) Magnitude = 5210

Fig. 8-1: Representação de números positivos e negativos

O bit A6 é chamado bit de sinal, ou seja, ele determina qual o sinal donúmero. Esse número possui magnitude de 6 bits mais um bit de sinal.

Embora esse sistema seja direto, computadores e calculadoras não outilizam normalmente porque a implementação do circuito é mais complexa. Osistema de representação de números binários com sinal mais utilizado é o

sistema de complemento a 2.

Forma do Complemento a 1

O complemento a 1 de um número binário é obtido substituindo-se cada0 por 1 e cada 1 por 0. Isso pode ser visto a seguir:

1 0 1 1 0 1

0 1 0 0 1 0

Forma do Complemento a 2

O complemento a 2 de um número binário é obtido tomando-se ocomplemento a 1 do número e adicionando-se 1 na posição do bit menossignificativo. Por exemplo:

1 0 1 1 0 1 Equivalente binário de 4510

0 1 0 0 1 0 Complemento a 1+ 1 Adiciona-se 1

0 1 0 0 1 1 Complemento a 2 do número binário original

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  84

Page 92: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 92/217

 

Aritmética Digital

8.4- Representação de Números com Sinal UsandoComplemento a 2

O sistema de complemento a 2 para representar números com sinalfunciona do seguinte modo:- Se o número é positivo, a magnitude é mostrada na sua forma binária direta

e um bit de sinal 0 é colocado na frente do bit mais significativo (MSB).- Se o número é negativo, a magnitude é representada na sua forma de

complemento a 2 e um bit de sinal 1 é colocado na frente do bit maissignificativo (MSB).

A6 A5 A4 A3 A2 A1 A00 1 0 1 1 0 1 = +4510

Bit de Sinal (+) Binário direto

A6 A5 A4 A3 A2 A1 A0

1 0 1 0 0 1 1 = -4510Bit de Sinal (-) Complemento a 2

Fig. 8-2: Representação de números positivos e negativos usandocomplemento a 2

Negação

A negação é a operação que converte um número positivo no seunegativo equivalente ou um número negativo no seu positivo equivalente. Porexemplo:

0 1 0 0 1 = +9 (número binário original)1 0 1 1 1 = -9 (complemento a 2, negar)0 1 0 0 1 = +9 (negar novamente)

Faixa de Representação do Complemento a 2

A faixa completa de valores que pode ser representada no sistema decomplemento a 2 que tem N bits de magnitude é:

-2N a +(2N-1)

Por exemplo, com N = 3 bits, a faixa de números sinalizados é mostradana tabela 8-1.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  85

Page 93: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 93/217

 

Aritmética Digital

Tabela 8-1:Valor Decimal Complemento a 2

+7 = 23 – 1 0111+6 0110+5 0101+4 0100

+3 0011+2 0010+1 00010 0000-1 1111-2 1110-3 1101-4 1100-5 1011-6 1010-7 1001

-8 = -23

1000

fica:Por exemplo, com N = 7 bits, mais um bit de sinal, a faixa de valores

100000002 = -27 = -12810

011111112 = 28 = +12710

Adição no Sistema de Complemento a 2

Vamos analisar vários casos de adição:

I) Dois números positivos: A adição de dois números positivos é direta.

+9 0 1001+4 0 0100+13 0 1101

II) Um número positivo e um outro menor e negativo: O número negativodeve estar na forma de complemento a 2.

+9 0 1001-4 1 1100+5 1 0 0101

A soma é feita sobre todos os bits, inclusive os bits de sinal. O carry (vaium) gerado na última posição (MSB) é sempre descartado.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  86

Page 94: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 94/217

 

Aritmética Digital

III) Um número positivo e um outro maior e negativo:

-9 1 0111+4 0 0100-5 1 1011

IV) Dois números negativos:

-9 1 0111-4 1 1100-13 1 1 0011

V) Dois números iguais em magnitude mas de sinais contrários:

+9 0 1001-9 1 01110 1 0 0000

Subtração no Sistema de Complemento a 2

A operação de subtração no sistema de complemento a 2, na verdade,envolve uma operação de adição. Quando subtraímos um número binário (osubtraendo) de outro número binário (minuendo), usamos o seguinteprocedimento:- Negar o subtraendo.- Adicionar o número obtido ao minuendo.

Por exemplo, +9 – (+4) = +5

+9 0 1001+4 0 0100

+9 0 1001-4 1 1100+5 1 0 0101

Overflow Aritmético

e +8:O overflow aritmético ocorre quando temos, por exemplo, a adição de +9

+9 0 1001+8 0 1000

1 0001

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  87

Page 95: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 95/217

 

Aritmética Digital

O resultado esperado seria +17 mas a resposta tem um sinal negativo euma magnitude incorreta. A representação do 17 precisa de mais de quatrobits, ocasionando um erro de overflow.

O overflow pode ocorrer sempre que dois números positivos ou doisnúmeros negativos estão sendo somados.

8.5- Multiplicação de Números Binários

A multiplicação de números binários é mostrada abaixo:

1001 = 910

1011 = 1110

10011001

000010011100011 = 9910

Na multiplicação acima os bits de sinais não foram usados. Observe queo primeiro multiplicando (1001) é deslocado para a esquerda com relação aosegundo multiplicando (1011). Depois disso, os resultados parciais sãosomados para obter o produto final.

Multiplicação no Complemento a Dois

A multiplicação no complemento a dois é feita do mesmo modo descritoanteriormente, desde que os dois multiplicandos estejam na forma bináriaverdadeira.

Se os números a serem multiplicados forem positivos a multiplicação éfeita conforme mostrado anteriormente e o bit de sinal é 0. Se os númerosforem negativos, eles devem ser convertidos para a forma binária verdadeira eo resultado será positivo (bit de sinal igual a 0).

Quando os números a serem multiplicados tiverem sinais opostos, onúmero negativo deve ser convertido para a forma binário verdadeira atravésdo complemento a dois. Como resultado esperado é negativo, deve seraplicado o complemento a dois e o bit de sinal será 1.

8.6- Divisão de Números Binários

A divisão binária é mostrada a seguir:

1001 11011 110011

110

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  88

Page 96: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 96/217

 

Aritmética Digital

A divisão binária é igual à divisão decimal. A divisão de números comsinal é feita de maneira idêntica à multiplicação, onde os números negativossão transformados em positivos através do complemento a dois.

8.7- Adição de Números BCD

Muitos computadores e calculadoras usam o código BCD pararepresentar números decimais. Na operação de adição usando númerosrepresentados pelo código BCD devem ser levadas em consideração duaspossibilidades:

- Soma menor ou igual a 9 – Por exemplo, 5 + 4:

5 0101+4 +01009 1001

Outro exemplo, 45 + 33:

45 0100 0101+33 +0011 +0011

78 0111 1000

A soma de cada dígito não gerou nenhum vai-um (carry).- Soma maior do que 9 – Por exemplo, 6 + 7:

6 0110+7 +0111

13 1101O resultado da soma não é um código BCD, já que o resultado é um

número maior do que 9. O resultado esperado seria 0001 0011 (13 BCD) epara corrigir isso devemos somar ao resultado o código 0110 (6 BCD), ou seja:

0110 6 (BCD)+0111 7 (BCD)

1101 soma > 90110 soma 6

0001 0011 13 (BCD)

8.8- Aritmética Hexadecimal

Números hexadecimais são amplamente utilizados na programação decomputadores em linguagem de máquina e na especificação de endereços dememória de computadores.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  89

Page 97: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 97/217

 

Aritmética Digital

Adição em Hexadecimal

O procedimento para a adição em hexadecimal é o seguinte:- Some os dois dígitos hexadecimais em decimal, inserindo mentalmente o

decimal equivalente para os dígitos maiores do que 9;- Se a soma é menor ou igual a 15, ele pode ser expresso por um dígito

hexadecimal;- Se a soma é maior ou igual a 16, subtraia 16 e coloque um carry na próximaposição.

Por exemplo:58

+4BA3

Subtração em Hexadecimal

Um modo eficiente de representar números binários é através dosnúmeros hexadecimais. A subtração hexadecimal utiliza o mesmo método dosnúmeros binários: o complemento a dois do subtraendo é somado ao minuendoe qualquer carry da posição MSD deverá ser descartado.

O complemento a dois de um número hexadecimal é mostrado a seguir:

73A Número hexadecimal0111 0011 1010 Converte para binário1000 1100 0110 Complemento a 2

8C6 Converte para hexadecimal

Um outro método é mostrado a seguir:

F F F–7 –3 –A8 C 5

+18 C 6

8.9- Circuitos Aritméticos

A função essencial de computadores e calculadoras é a realização deoperações aritméticas. Um bloco chamado Unidade Lógica e Aritmética (ULA)é responsável pelas operações aritméticas em um computador.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  90

Page 98: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 98/217

 

Aritmética Digital

Unidade Lógica e Aritmética

O principal objetivo de uma ULA é aceitar dados binários armazenadosna memória e executar as operações lógicas e aritméticas sobre estes dadosde acordo com as instruções da unidade de controle.

A fig. 8-3 mostra os principais blocos funcionais de uma ULA:

Fig. 8-3: Blocos funcionais de uma ULA

A ULA é constituída de, pelo menos, dois registradores: o registrador B eo registrador acumulador. Ela também possui lógica combinacional que realizaas operações lógicas e aritméticas sobre os números binários armazenados nosregistradores B e acumulador.

Por exemplo, os passos para a execução de uma operação de adiçãosão mostrados a seguir:- A unidade de controle recebe uma instrução da unidade de memória

especificando que um número armazenado em uma posição particular dememória deve ser adicionado ao número que está armazenado naacumulador;

- O número a ser adicionado é transferido da memória para o registrador B;- O número no registrador B e o número no acumulador são somados nos

circuitos lógicos (ao comando da unidade de controle). O resultado éenviado para o acumulador para ser armazenado.

Somador Binário Paralelo

Vamos analisar a seguinte operação de adição de dois númerosbinários:

1 1 1 Carry1 0 1 0 1 Acumulador

+ 0 0 1 1 1 Registrador B1 1 1 0 0 Soma

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  91

Page 99: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 99/217

 

Aritmética Digital

Podemos ver que cada bit das parcelas é somado para gerar um bit noresultado da adição. No caso de um carry (vai-um), esse também é somado,ou seja:

C4 C3 C2 C1 C0 CarryA4 A3 A2 A1 A0 Registrador A

+ B4 B3 B2 B1 B0 Registrador BS4 S3 S2 S1 S0 Soma

8-4.O diagrama de blocos de um somador binário paralelo é mostrado na fig.

Fig. 8-3: Diagrama em blocos de um somador binário paralelo

O bloco SC #0 é chamado somador completo porque soma bits A0 e B0

das parcelas e ainda um possível bit C0 de carry.

Projeto de um Somador Completo

O bloco do somador completo possui três entradas (A, B e CIN) e duassaídas (S e COUT). As entradas A e B são os bits a serem adicionados e CIN é ocarry do bit anterior. A saída S é o resultado da adição e COUT é a saída decarry, indicando um vai-um.

A tabela 8-2 relaciona todos os possíveis casos de uma adição.

Fig. 8-4: Bloco lógico do somador completo de 1 bit

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  92

Page 100: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 100/217

 

Aritmética Digital

Tabela 8-2:Bit de Bit de Bit de Bit de Bit de

entrada da1ª parcela

entrada da2ª parcela

entrada docarry

saída dasoma

saída docarry

A B CIN S COUT

0 0 0 0 0

0 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1

Pelo método do Mapa de Karnaugh podemos encontrar a expressãopara S e COUT:

=S .A.CB

IN +

.B.A

INC A.B.C+ BA.IN + C. IN = A []B

CIN

COU T

A.C=IN + B.CIN A.B+

A fig. 8-5 mostra o circuito de um somador completo (SC).

Fig. 8-5: Circuito lógico do somador completo de 1 bit

Page 101: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 101/217

 

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  93

Page 102: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 102/217

 

Aritmética Digital

A fig. 8-6 mostra um circuito de um somador paralelo completo de 4 bitscom registrador.

Fig. 8-6: Circuito lógico do somador paralelo completo de 4 bits

O procedimento para um operação de adição é o seguinte:

- Pulsar CLEAR para fazer registrador A = 0000;- Colocar a primeira parcela a ser somada nas entradas D3D2D1D0 (esse

dado pode estar vindo de uma memória). Pulsar LOAD para que asentradas sejam transferidas para o registrador B;

- Pulsar TRANSFER para a realização da operação de adição do conteúdodo registrador A com o conteúdo do registrador B. Nesse caso, o valor de Bé transferido para A, resultando A = B;

- Colocar a segunda parcela a ser somada nas entradas D3D2D1D0. Pulsar

LOAD para que as entradas sejam transferidas para o registrador B;- Pulsar TRANSFER para a realização da operação de adição do conteúdodo registrador A com o conteúdo do registrador B. O resultado da adiçãoestá no registrador A (saídas).

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  94

Page 103: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 103/217

 

Aritmética Digital

8.10- Somador Paralelo Integrado

Os circuitos integrados 7483A, 74LS83A, 74283 e 74LS283 sãosomadores paralelos de quatro bits.

8.11- Ligação em Cascata de Somadores Paralelos

Blocos de somadores podem ser associados em cascata de forma aefetuar adições de números binários maiores. Por exemplo, se dois somadoresde quatro bits forem associados em cascata podemos efetuar adições denúmeros com oito bits.

8.12- Circuito Integrados de ULAs

As ULAs são circuitos capazes de realizar diversas operações lógicas earitméticas sobre os dados binários de entrada. Dentre essas operaçõespodemos citar:- Operação Clear;- Operação Soma;- Operação Subtração;- Operação EX-OR;- Operação OR;- Operação AND;- Operação PRESET.

Os circuitos integrados 74LS382 e 74HC382 são ULAs que possuem as

características acima citadas.O 74LS181/HC181 é uma ULA de quatro bits e tem até 16 operaçõesdiferentes. O 74LS881/HC881 é similar ao circuito integrado 181, mas tem acapacidade de realizar algumas operações lógicas adicionais.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  95

Page 104: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 104/217

 

Aritmética Digital

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  96

Page 105: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 105/217

 

Conversão Digital-Analógica

9. Conversão Digital-Analógica

9.1- Interface com o Mundo Analógico

- Quantidade Digital – Valor especificado entre duas possibilidades (0 ou 1),

alto ou baixo, verdadeiro ou falso. Para a lógica TTL:0 V a 0,8 V = 0 Lógico2 V a 5 V = 1 Lógico

- Quantidade Analógica – Assume qualquer valor dentro de uma faixacontínua de valores e, mais importante, seu valor exato é significativo.

9.2- Sistema Digital Interfaceando com Grandezas Analógicas

Fig. 9-1: Sistema digital interfaceando com grandezas analógicas

Elementos:1- Transdutor2- Conversor A/D3- Sistema Digital (Controlador/Computador, etc...)4- Conversor D/A5- Atuador

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  97

Page 106: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 106/217

 

Conversão Digital-Analógica

9.3- Conversão Digital Analógica (D/A)

Processo pelo qual um valor representado digitalmente é convertido parauma tensão ou corrente, que é proporcional ao valor digital.

Fig. 9-2: Conversor digital-analógico de 4 bits

Tabela 9-1:

D C B A VOUT (V)0 0 0 0 00 0 0 1 10 0 1 0 20 0 1 1 30 1 0 0 40 1 0 1 50 1 1 0 60 1 1 1 71 0 0 0 8

1 0 0 1 9Pesos da Entrada 1 0 1 0 10

D C B A VOUT (V) 1 0 1 1 110 0 0 1 1 1 1 0 0 120 0 1 0 2 1 1 0 1 130 1 0 0 4 1 1 1 0 141 0 0 0 8 1 1 1 1 15

VREF é utilizada para determinar a “saída de fundo de escala” ou omáximo valor que o conversor D/A pode produzir. Equacionando temos:

Saída Analógica = K * Entrada Digital

onde K = fator de proporcionalidade, normalmente é constante para umconversor D/A em particular conectado a uma tensão de referência fixa. Para oexemplo acima:

K =AnalógicaSaída

 

=V15

= V1Entrada Digital 15

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  98

Page 107: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 107/217

 

Conversão Digital-Analógica

Resolução (Tamanho do Degrau)

É a menor alteração que pode ocorrer na saída analógica comoresultado de uma mudança na entrada digital. Para o exemplo anterior, aresolução é igual a 1V.

Fig. 9-3: Resolução do conversor digital-analógico de 4 bits

Resolução = K =AFSN2 1

onde:AFS = Saída de fundo de escala

N = número de bits

Resolução Percentual

A resolução percentual é a porcentagem da saída de fundo de escala:

Resolução(%) =Tamanho do degrau * 100

Fundo de escala

Resolução(%) =V1 * 100 = 6,67 %

V15

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  99

Page 108: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 108/217

 

Conversão Digital-Analógica

9.4- Código de Entrada BCD

Fig. 9-4: Conversor digital-analógico BCD de 8 bits

Tabela 9-2:MSD LSD

D1 C1 B1 A1 D0 C0 B0 A08,0 4,0 2,0 1,0 0,8 0,4 0,2 0,1

Cada grupo de código de quatro bits pode variar de 0000 a 1001,representando de 00 até 99.

9.5- Conversor D/A com Amplificador Operacional

Fig. 9-5: Amplificador inversor com operacional

Ganho G =

V-ROUT

= 0R

VIN 1R

V =0 * V

OUT R IN1

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  100

Page 109: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 109/217

 

Conversão Digital-Analógica

Somador

Fig. 9-6: Somador com amplificador operacional

       

V R0   R0 R0   ... R

0  * V  

=OUT R  

* V +

 

* V +

 

* V + +

  n  

  1

1 R2

2 R3  

3 R

n  

Na fig. 9-7 temos um conversor D/A de quatro bits. As entradas A, B, C,D possuem valores de 0 ou 5 V.

Fig. 9-7: Conversor digital-analógico de 4 bits usando amplificador operacional

Equação :V V  

=

V V +

C+

B+

VA   

OUT D 2 84  

Por exemplo, VD = VB = 5 V e VC = VA = 0 V.

 V = 5 +

0+

5+

0  = 6,25VOUT 2 4 8  

Page 110: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 110/217

 

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  101

Page 111: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 111/217

 

Conversão Digital-Analógica

- Resolução = peso do LSB = 5 / 8 = 0,625Vou Afs / (2N –1) = 9,375 / 15 = 0,625V

- Peso de cada bit:A = 0,625 VB = 1,25 V

C = 2,5 VD = 5,0 V

Para Rf = 500&, a saída do fundo de escala é reduzida por um fator 2 ecada peso de entrada será 2 vezes menor que os valores originais. Sendoassim, a saída de fundo de escala = -9,375 / 2 = -4,688 V.

9.6- Fatores Importantes na Precisão da Conversão

1) Precisão dos resistores de entrada e de realimentação (podem serfacilmente encontrados);

2) Precisão dos níveis de tensão das entradas (consegue-se com circuitosauxiliares).

Fig. 9-8: Conversor D/A com fonte de referência de precisão

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  102

Page 112: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 112/217

 

Conversão Digital-Analógica

9.7- Conversores D/A com Saída em Corrente

Fig. 9-9: Conversor D/A com saída em corrente

Admitindo-se Vref = 10V, R = 10 K&e RL muito menor do que R, temos:IOUT = VREF / R = 1 mA -> peso do MSB (comandado pelo bit B3). Logo:B2 -> I = 0,5 mAB1 -> I = 0,25 mAB0 -> I = 0,125 mA -> resolução do D/A

Saída de fundo de escala => Iout = 1 + 0,5 + 0,25 + 0,125 = 1,875 mA.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  103

Page 113: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 113/217

 

Conversão Digital-Analógica

9.8- Rede R/2R

Os conversores D/A que utilizam resistores ponderados tem algumaslimitações na prática: os resistores dos bits mais e menos significativos temgrande diferença de valores e muitas vezes não existem resistores de precisãonas razões escolhidas.

A rede R/2R é arranjada utilizando apenas 2 valores de resistores.

Fig. 9-10: Conversor D/A com rede R/2R

Se analisarmos o circuito veremos que o valor Vout de saída será:

Vout = -(Vref / 8) * B

onde B é o valor binário (0 a 15 decimal).

9.9- Especificações de Conversores D/A

- Resolução - Depende apenas do número de bits (10 bits tem maiorresolução do que 8 bits).

- Precisão - Definida a partir dos erros de fundo de escala e linearidade. Oerro de fundo de escala é máximo desvio da saída do conversor D/A emrelação ao valor esperado. O erro de linearidade é máximo desvio emtamanho do degrau do tamanho de degrau ideal. Para um conversor D/Acom degrau 0,625 V e erro de linearidade de 0,01% F.S. o tamanho do

degrau real poderia estar até 0,9375 mV do esperado.- Erro de Offset - Em condições ideais, a saída do conversor D/A será zero

volts quando a entrada binária for zero. Na prática, pode existir uma tensãomuito pequena que será somada à tensão de saída, ocasionando o erro deoffset. Muitos conversores D/A possuem um ajuste externo de offset quenos permite zerar o offset.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  104

Page 114: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 114/217

 

Conversão Digital-Analógica

- Tempo de Estabilização - Tempo necessário para a saída do conversorD/A ir de zero até o fundo de escala quando a entrada binária muda todosos bits de 0 para 1. Tempos de estabilização variam de 50 ns a 10 ∝s.Saídas em corrente são mais rápidas do que em tensão.

- Monotonicidade - Um conversor D/A é monotônico se sua saída aumenta

conforme a entrada binária é incrementada de um valor para o próximo.

9.10- Circuito Integrado de Conversão D/A – AD7524

Fig. 9-11: Conversor D/A AD7524

Características:- 8 bits- rede R/2R- saída em corrente/tensão- tempo de estabilização de 100 ns- precisão de fundo de escala de ±0,2% F.S.- Vref varia de 0 a +25V ou 0 a -25V

9.11- Aplicações de Conversores D/A

- Controle - A saída digital de um computador pode ser convertida em umsinal de controle analógico para ajustar a velocidade de um motor ou atemperatura de um forno, ou controlar quase qualquer variável física.

- Teste Automático - Sinais analógicos podem ser gerados porcomputadores para testes de circuitos analógicos, cuja resposta seráconvertida para um valor digital e será levada a um computador onde seráarmazenada e analisada.

- Reconstrução de Sinais - Em várias aplicações um sinal analógico édigitalizado (conversão A/D) e armazenado. Um conversor D/A pode serusado para converter dados digitalizados em sinais analógicos novamente.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  105

Page 115: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 115/217

 

Conversão Digital-Analógica

- Conversão A/D - Muitos conversores A/D utilizam conversores D/A emseus circuitos.

- Conversores D/A Seriais - Muitas destas aplicações envolvemmicroprocessadores, que enviam serialmente um conjunto de bits quedefine qual dos conversores D/A serão usados e qual o sinal a ser

convertido.

Fig. 9-12: Conversor D/A serial com várias saídas

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  106

Page 116: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 116/217

 

Conversão Analógico-Digital

10. Conversão Analógico-Digital

10.1- Introdução

Um conversor A/D recebe uma tensão analógica de entrada e depois deum certo tempo produz um código digital de saída que representa a entradaanalógica. Muitos tipos importantes de conversores A/D possuem um conversorD/A como parte de seus circuitos. A fig. 10-1 mostra o esquema básico de umtipo de conversor A/D.

Fig. 10-1: Diagrama em blocos de um conversor analógico-digital

Funcionamento:

1) Um pulso START inicia a operação;2) Numa taxa determinada pelo CLOCK, a unidade de controle modifica o

valor armazenado no registrador;3) O valor binário armazenado no registrador é convertido para uma tensão

analógica, Vax, pelo conversor D/A;4) O amplificador operacional compara Vax com a entrada analógica Va. Se

Vax < Va, a saída do comparador fica em ALTO. Quando Vax > Va (por, nomínimo, uma tensão limiar Vt), a saída do comparador vai para BAIXO epára o processo de modificar o número no registrador. Neste ponto Vax Ε 

Va, dentro da resolução e precisão do sistema;5) A lógica de controle sinaliza o fim da conversão (EOC).

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  107

Page 117: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 117/217

 

Conversão Analógico-Digital

10.2- Conversor A/D de Rampa Digital

O conversor A/D de rampa digital utiliza um contador como registrador eum sinal de clock incrementa esse contador até que Vax ε Va. A figura seguintemostra o funcionamento desse tipo de conversor A/D:

Fig. 10-2: Conversor analógico-digital tipo rampa digital

10.3- Precisão e Resolução de Conversores A/D

Uma fonte de erro no método da rampa digital é que o tamanho do

degrau ou resolução do conversor D/A interno é a menor unidade de medida.Mesmo tornando o tamanho do degrau menor sempre haverá uma diferençaentre a quantidade analógica (real) e o valor digital associado a ela. Isto échamado erro de quantização.

Esse erro pode ser minimizado aumentando-se o número de bits docontador e do conversor D/A.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  108

Page 118: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 118/217

 

Conversão Analógico-Digital

Tempo de Conversão tc

O tempo de conversão corresponde ao intervalo de tempo entre o fim dopulso START e a ativação da saída EOC . O tempo máximo de conversão é:

tc (max) = (2N-1) * Período de Clock

A desvantagem do método de rampa digital é que o tempo de conversãoaumenta com o número de bits.

10.4- Aquisição de Dados

Em muitas aplicações, dados analógicos devem ser digitalizados etransferidos para o microcomputador. Este processo é chamado aquisição dedados.

Numa aplicação de armazenamento (por exemplo, áudio) os dados sãotransferidos para a memória do computador e depois podem ser convertidosnovamente em sinais analógicos. Em aplicações de controle, esses dadosconstituem informações e, através delas, o computador irá acionar ou não suassaídas de controle.

Fig. 10-3: Sistema digital utilizando um conversor A/D para aquisição de dados

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  109

Page 119: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 119/217

 

Conversão Analógico-Digital

10.5- Reconstrução de Sinais Digitalizados

Sinais digitalizados podem ser “recuperados” usando-se conversoresD/A e filtros RC passa-baixa. Para sinais em baixa freqüência isso é suficiente.

Fig. 10-4: Sinal analógico amostrado por um conversor A/D e sinalreconstruído por um conversor D/A e filtros passa-baixa

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  110

Page 120: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 120/217

 

Conversão Analógico-Digital

10.6- Conversor A/D de Aproximações Sucessivas

Este conversor é um dos tipos mais usados, principalmente porque otempo de conversão é muito menor que o tempo do conversor A/D de rampa.Além disso, esse tempo é fixo e não depende da entrada analógica.

Fig. 10-5: Conversor analógico-digital de aproximações sucessivas

A principal diferença desse conversor para o conversor A/D de rampa éque o conversor de aproximação sucessiva não usa contador e sim umregistrador onde cada bit é modificado até que o dado contido no registrador

seja o equivalente digital da entrada analógica.Como exemplo podemos considerar um conversor A/D de aproximaçõessucessivas de 4 bits com resolução de 1V e Va = 10,4V.

Seqüência

A lógica de controle limpa todos os bits no registrador (0000). Com isso,Vax = 0 e então a saída do comparador está em ALTO. O bit mais significativoé colocado em 1 pela lógica de controle (1000). Esse código produz Vax = 8V.

Como Vax < Va, então a saída do comparador continua em ALTO. Estenível alto informa para a lógica de controle que o ajuste desse bit (MSB) nãofez Vax exceder Va e portanto esse bit deve ser mantido em 1.

Agora o próximo bit é colocado em 1 (1100). Isso gera Vax = 12V e tornaVax > Va. A saída do comparador vai para BAIXO e esso sinaliza para a lógicade controle que o valor Vax é muito grande e então a lógica de controle colocaesse bit em 0. Assim o conteúdo do registrador volta a 1000 e Vax = 8V.

O próximo bit é colocado em 1 (1010) e Vax vai para 10V. Então Vax <Va, resultando nível ALTO na saída do comparador, sinalizando para a lógicade controle para manter esse bit em 1.

O último bit é colocado em 1 (1011) gerando Vax = 11V. Como Vax >Va, a lógica de controle coloca esse bit em 0. Nesse instante, todos os bits

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  111

Page 121: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 121/217

 

Conversão Analógico-Digital

foram testados e o resultado está no registrador. Esse conversor gera umequivalente digital igual a 10V, menor que a tensão analógica de entrada.

Fig. 10-6: A tensão Vax em função do tempo

Tempo de Conversão

Como a operação de conversão é executada bit a bit e o processamentode cada bit corresponde a um ciclo de clock, o tempo total de conversão é:

tc = N * (Período de clock)

Esse tempo é constante, não importando o valor de Va.

10.7- ADC0804 – Conversor A/D de Aproximações Sucessivas

Fig. 10-7: Conversor A/D ADC0804

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  112

Page 122: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 122/217

 

Conversão Analógico-Digital

Características:

- Tem duas entradas analógicas, Vin(+) e Vin(-), para permitir entradasdiferenciais. A entrada analógica real, Vin, é a diferença das tensõesaplicadas nestes pinos (Vin = Vin(+) - Vin(-)). Para medições comuns, Vin(-)é conectada ao terra e a entrada analógica é Vin(+). Esse conversor utiliza

Vcc = +5V como referência e entrada analógica de 0 a 5V.- A tensão analógica é convertida em uma saída digital de 8 bits. A saídadigital tem um buffer tristate. A resolução é 19,6 mV.

- Possui gerador de clock interno onde

componentes externos.

f =1 , onde R e C são

1,1.R.C

- Com uma freqüência de 606 kHz, o tempo de conversão é deaproximadamente 100 ∝s.

- Possui conexões de terra separadas para tensões digitais e analógicas. Oterra digital é muito ruidoso devido às rápidas mudanças de estado docircuito.

- CS (Chip Select - Seleção do Chip) - esta entrada deve estar em nívelBAIXO para que as entradas RD e WR tenham efeito. Com CS em ALTO,as saídas digitais ficarão em alta impedância.

- RD (Read - Leitura) - Sinal usado para habilitar os buffers da saída digital.Com CS = RD = 0, as saídas digitais conterão o resultado da últimaconversão.

- WR (Write - Escrita) - Um pulso para BAIXO neste pino inicia novaconversão.

- INTR (Interrupt - Interrupção) - Este sinal de saída vai para ALTO no inícioda conversão e para BAIXO no fim da conversão.

- Vref/2 - Usado para mudar a tensão de referência.

Tabela 10-1:Vref / 2 Faixa Analógica de Entrada (V) Resolução (mV)

Em aberto 0-5 19,62,25 0-4,5 17,62,0 0-4 15,71,5 0-3 11,8

- Clock Out - Um resistor é conectado neste pino para utilização do clockinterno.

- Clock In - Usado como entrada de clock externo ou conexão com capacitorquando se utiliza clock interno.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  113

Page 123: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 123/217

 

Conversão Analógico-Digital

10.8- Conversor A/D Flash

É o conversor A/D de maior velocidade mas requer um número muitomaior de circuitos. Por exemplo, um conversor A/D flash de 6 bits necessita de63 comparadores analógicos enquanto uma unidade com 8 bits necessita de255.

Fig. 10-8: Conversor A/D Flash

Os resistores formam um divisor de tensão que serão utilizadas comoreferência para os comparadores analógicos. Se a tensão analógica Va formaior que a tensão de referência dos comparadores, estes irão para nívelBAIXO e a lógica de prioridade gerará o código correspondente.

Para aumentar a resolução teríamos que aumentar o número deresistores e consequentemente dos comparadores e o tamnaho do codificadorde prioridade. De um modo geral, o conversor flash é o mais rápido porque aconversão é direta mas necessita de 2N-1 comparadores e 2N resistores, alémda lógica do codificador de prioridade aumentar.

Tempo de Conversão

O conversor flash não usa clock e por isso seu tempo de conversão sódepende do atraso do circuitos (comparadores e codificador). Esse tempo émenor que 20 ns.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  114

Page 124: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 124/217

 

Conversão Analógico-Digital

10.9- Outros Métodos de Conversão A/D

- Conversor A/D de rampa digital crescente/decrescente (conversor A/Drastreador)

Esse conversor utiliza um contador projetado para contarcrescentemente sempre que Vax < Va e contar decrescentemente se Vax > Va.Assim a saída do D/A (Vax) sempre irá convergir para Va. Quando houver umcruzamento das tensões o comparador muda de estado e a lógica de controleindica fim da conversão e o valor digital está no contador. Esse tipo deconversor é mais rápido que o conversor A/D de rampa mas o tempo deconversão ainda depende de Va.

- Conversor A/D de rampa dupla

O conversor A/D de rampa dupla possui um dos tempos de conversão

mais longos. A operação básica desse conversor envolve a carga e a descargalinear de um capacitor por meio de correntes constantes.

Fig. 10-9: Carga e descarga do capacitor em um conversor A/D de rampadupla

Inicialmente, o capacitor é carregado num intervalo de tempo fixo T1 poruma corrente constante derivada da tensão analógica de entrada, Va. No finaldesse tempo, a tensão do capacitor será proporcional a Va.

Agora o capacitor é descarregado linearmente por uma correnteconstante derivada de uma tensão de referência precisa, VREF. O tempo dedescarga T2 é medido por um contador e quando a descarga termina ocontador pára. O valor no contador é proporcional à tensão inicial do capacitor,

ou Va.As principais vantagens desse conversor A/D são: baixo custo e baixa

sensibilidade ao ruído e às variações dos componentes decorrentes àsmudanças de temperatura. Por ter um tempo de conversão relativamente alto,não são usados em aplicações de aquisição de dados. Esses conversorespodem ser encontrados em voltímetros ou multímetros digitais.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  115

Page 125: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 125/217

 

Conversão Analógico-Digital

- Conversor A/D de tensão-freqüência

O conversor A/D de tensão-freqüência é mais simples do que os outrosconversores A/D porque não utiliza um conversor D/A. Em vez disso, ele usaum oscilador controlado à tensão linear (VCO – voltage-controlled oscillator)que produz um freqüência de saída proporcional à sua tensão de entrada.

A tensão analógica a ser convertida é aplicada à entrada do VCO paragerar uma freqüência de saída. Essa freqüência é levada para um contadorpara ser contada por um intervalo de tempo fixo. O valor da contagem final éproporcional ao valor da tensão analógica.

A principal aplicação desse tipo de conversor A/D está em ambientesindustriais ruidosos onde pequenos sinais analógicos devem ser transmitidosde circuitos transdutores para um computador de controle.

- Conversor A/D sigma-delta (©- )

A fig. 10-10 mostra o circuito básico de um conversor A/D sigma-delta.

Fig. 10-10: Diagrama em blocos de um conversor A/D sigma-delta

A entrada analógica é comparada com uma amostra anterior e adiferença é integrada. A seqüência de valores digitais obtidos é processada porum filtro digital complexo e depois de várias amostragens o valor digital écolocado na saída.

Para se ter um valor na saída filtro digital, a freqüência de amostragemdesse conversor A/D deve ser bastante alta, normalmente centenas de vezes afreqüência máxima de entrada (oversampling). Tipicamente, uma amostradigital pode ter 24 bits de resolução.

Esse tipo de conversor A/D é bastante utilizado em instrumentação,aplicações de áudio e vídeo, aquisição de dados, processamento digital de

sinais (DSP), etc.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  116

Page 126: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 126/217

 

Memórias

11. Memórias

11.1- Introdução

A principal vantagem dos sistemas digitais sobre os analógicos é acapacidade de armazenar grandes quantidades de informações. Estacapacidade é que torna os sistemas digitais tão versáteis e adaptáveis àsdiversas situações.

Um dispositivo de memória conhecido é o flip-flop. Grupos de flip-flops,chamados registradores, são elementos de memória de alto desempenho quesão muito usados nas operações internas de um computador. Um outrodispositivo de memória pode ser um capacitor onde os dados sãoarmazenados como cargas.

Estes dois dispositivos são os principais elementos que formadores dasmemórias dos sistemas digitais atuais.

11.2- Definição de Termos Básicos

- Célula de memória – dispositivo ou circuito capaz de armazenar um bit.Por exemplo, um flip-flop, um capacitor, etc.

- Palavra de memória – grupo de bits (células) em uma memória querepresenta instruções ou dados.

- Byte – conjunto de 8 bits.

- Capacidade – número de bits que podem ser armazenados em um

dispositivo de memória.

a) Um certo chip de memória semicondutora é especificado como 2K x 8.Quantas palavras podem ser armazenadas neste chip? Qual é o tamanhoda palavra? Quantos bits esse chip pode armazenar no total?

R: A memória possui capacidade de 2K = 2 x 1024 = 2048 palavras. Cadapalavra tem 8 bits (um byte). O número total de bits é 2048 x 8 = 16384 bits.

b) Qual das memórias armazena mais bits: uma memória de 5M x 8 ou umamemória que armazena 1M palavras com um tamanho de palavra de 16 bits?

R:5M x 8 = 5 x 1048576 x 8 = 41943040 bits1M x 16 = 1048576 x 16 = 16777216 bits

A memória de 5M x 8 armazena mais bits.

- Densidade – termo relativo à capacidade. Se um dispositivo é mais densoque outro ele tem capacidade de armazenar mais bits no mesmo espaço.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  117

Page 127: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 127/217

 

Memórias

- Endereço – número que localiza a posição de uma palavra na memória.

Tabela 11-1:Endereço Conteúdo

000 Palavra 0001 Palavra 1

010 Palavra 2011 Palavra 3100 Palavra 4101 Palavra 5110 Palavra 6111 Palavra 7

Cada palavra tem um endereço binário específico

- Leitura ou busca – operação na qual uma palavra binária localizada numadeterminada posição (endereço) de memória é detectada e transferida paraoutro dispositivo.

- Escrita ou armazenamento – operação na qual uma nova palavra écolocada numa determinada posição de memória.

- Tempo de acesso – tempo necessário entre a memória receber uma novaentrada de endereço e os dados se tornarem disponíveis na saída damemória. Este parâmetro é usado para medição de desempenho damemória.

- Ciclo de Memória – intervalo mínimo entre dois acessos sucessivos àmemória.

-

Memória volátil – tipo de memória que necessita de aplicação de energiapara poder armazenar a informação.

- Memória de acesso aleatório (RAM) – memória onde o tempo de acessoé o mesmo para qualquer posição.

- Memória de acesso seqüencial (SAM) – memória onde, para se localizaruma determinada posição, é preciso passar por todos os endereços. Porexemplo, fitas magnéticas.

- Memória de leitura e escrita (RWM) – memória que pode ser tanto lidacomo escrita.

- Memória somente de leitura (ROM) – Memória onde as informaçõesarmazenadas só podem ser lidas.

- Memória estática – tipo de memória onde os dados permanecemarmazenados enquanto existir energia, sem a necessidade de atualizaçãoperiódica da informação.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  118

Page 128: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 128/217

 

Memórias

- Memória dinâmica – tipo de memória onde os dados permanecemarmazenados enquanto existir energia, mas com periódica atualização dainformação (Refresh).

11.3- Princípios de Operação das Memórias

Independente dos tipos de memórias existentes, o princípio básico deoperação é o mesmo:- Selecionar o endereço a ser acessado (leitura ou escrita);- Selecionar o tipo de operação: leitura ou escrita;- Se a operação for escrita, fornecer os dados de entrada;- Se a operação for leitura, os dados estarão disponíveis na saída;- Habilitar a memória para que a operação seja concluída e desabilitar a

memória para que ela não responda às entradas de endereço e aocomando de leitura/escrita.

Fig. 11-1: Diagrama de uma memória de 32 x 4

Entradas de Endereços

Usando a memória mostrada na fig. 11-1, podemos notar que ela possui5 entradas de endereço (A0 a A4). Logo existem 32 posições (2N, onde N é onº de bits) de armazenamento que podem ser ocupadas por palavras de 4 bits(D0 a D3).

A Entrada R / W

Esta entrada controla a operação que deve ser realizada na memória:

leitura (R – Read) ou escrita (W – Write). Quando esta entrada estiver em “1”ocorre a operação de leitura, quando em “0” ocorre a operação de escrita.Algumas memória usam os símbolos W (escrita) ou WE (habilitação de

escrita) para identificar esta entrada.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  119

Page 129: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 129/217

 

Memórias

Habilitação de Memória (ME)

A todo momento a memória possui níveis lógicos em suas entradas e opino de habilitação de memória impede que ela responda a estes níveislógicos, evitando assim um acesso errôneo nesta memória.

Esta entrada pode ser identificada como CE (chip enable) ou CS (chip

select).

Exemplo: Uma determinada memória tem uma capacidade de 4K x 8.Quantas linhas de entrada/saída de dados ela tem?R: Oito, pois o tamanho da palavra é oito bits.

Quantas linhas de endereço ela tem?R: A memória armazena 4K = 4 x 1024 = 4096 palavras. Tendo em vista que4096 = 212, logo a memória tem 12 bits (linhas) de endereço.

Qual é a sua capacidade em bytes?R: Um byte tem oito bits, então esta memória tem uma capacidade de 4096

bytes.

11.4- Conexões da Memória com a CPU

As memórias RAM e ROM são interfaceadas com a CPU através de trêsgrupos de linhas de sinais ou barramentos: barramentos de endereço,barramento de dados e barramento de controle.

Fig. 11-2: Conexões entre a CPU e as memórias

- Barramento de endereços – barramento unidirecional que leva o endereçoproveniente da CPU para a memória para selecionar uma posição de

memória.

- Barramento de dados – barramento bidirecional que transfere dados entrea CPU e a memória.

- Barramento de controle – barramento que leva sinais de controle da CPUpara a memória.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  120

Page 130: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 130/217

 

Memórias

Exemplo:

Operação de escrita:- A CPU coloca o endereço binário da posição de memória onde o dado deve

ser armazenado no barramento de endereços.- A CPU coloca o dado a ser armazenado no barramento de dados.

- A CPU ativa as linhas de controle para a operação de escrita.- A memória decodifica o endereço e localiza a posição onde o dado deve ser

armazenado.- O barramento de dados é transferido para a posição de memória.

Operação de leitura:- A CPU coloca o endereço binário da posição a ser lida da memória no

barramento de endereços.- A CPU ativa as linhas de controle para operação de leitura.- A memória decodifica o endereço e localiza a posição a ser lida.- A memória transfere o dado armazenado nesta posição para o barramento

de dados, onde a CPU vai buscá-los.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  121

Page 131: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 131/217

 

Memória Somente de Leitura (ROM)

12. Memória Somente de Leitura (ROM)

12.1- Introdução

A memória somente de leitura (ROM) é um tipo de memória onde osdados nela armazenados não são alterados ou não mudam com freqüência.

12.2- Diagrama em Blocos de uma ROM

O diagrama típico de uma ROM é mostrado na fig. 12-1.

Fig. 12-1: Diagrama de uma ROM

O sinal de controle CS (seleção do chip) habilita a operação de leiturada posição indicada no barramento de endereços. O dado é transferido para obarramento de dados. Quando CS está em ALTO, as saídas da ROM ficam

desabilitadas (alta impedância).

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  122

Page 132: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 132/217

 

Memória Somente de Leitura (ROM)

12.3- Arquitetura de uma ROM

Uma ROM é constituída conforme a fig. 12-2.

Fig. 12-2: Arquitetura interna de uma ROM (16 x 8)

- Matriz de registradores – onde os dados serão armazenados. Cadaregistrador contém um número de células de memória igual ao tamanho dapalavra utilizada. Cada registrador tem duas entradas de habilitação (E):ambas devem estar em ALTO para que os dados do registrador sejamcolocados no barramento de dados.

- Decodificadores de endereços – o barramento de endereço é separadoem duas vias: a primeira seleciona a linha e a segunda seleciona a colunaonde o registrador se localiza.

Exemplo: Qual o registrador que será habilitado pelo endereço 1101? Queendereço irá habilitar o registrador 7?

- Buffers de saída – o registrador que está habilitado pelas entradas deendereço coloca seu conteúdo no barramento de dados. Estes dados vãopara os buffers de saída, que colocarão os dados na saída de dados externa,desde que CS esteja em BAIXO. Se CS estiver em alto, os buffers de saídaficarão em alta impedância.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  123

Page 133: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 133/217

 

Memória Somente de Leitura (ROM)

12.4- Temporização de uma ROM

O atraso de propagação entre a aplicação dos sinais de entrada e oaparecimento dos dados na saída, durante a operação de leitura, é chamadotempo de acesso (tACC). Existe um outro parâmetro de temporização chamadotempo de habilitação da saída (tOE), que representa o atraso entre a entrada

CS e a saída de dados válidos.

Fig. 12-3: Temporização de uma ROM

12.5- Tipos de ROM

- ROM Programada por Máscara – este tipo de ROM tem suas posiçõesescritas (programadas) pelo fabricante de acordo com as especificações docliente. Uma máscara (tipo de negativo fotográfico) é usada para informaras conexões elétricas do chip. Este tipo de ROM é usado para armazenartabelas ou informações pré-programadas como códigos geradores decaracteres de terminais de vídeo.

- ROM Programável (PROM) – tipo de memória ROM onde a programação é

feita apenas uma única vez pelo usuário. Esta programação consiste naqueima ou não de um fusível que corresponde a um bit de informação porum equipamento chamado programador.

- ROM Programável e Apagável (EPROM) – tipo de memória ROM quepode ser programada e apagada pelo usuário várias vezes. O processo deprogramação consiste em aplicar certos níveis de tensões que provocam acondução permanente ou não condução de transistores MOS. Oapagamento da memória é feito pela exposição dos circuitos internos à luzultravioleta através de uma “janela”.

- PROM Apagável Eletricamente (EEPROM) – é uma melhoria em relaçãoàs EPROMs pois pode ser tanto programada como apagada eletricamente.Assim, elas podem ser programadas e apagadas no próprio circuito, sem anecessidade de luz ultravioleta ou um programador especial.

- CD ROM – tipo de armazenamento somente para leitura que utilizatecnologia laser. Os bits são definidos pela reflexão ou não de um feixelaser apontado para um ponto do disco.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  124

Page 134: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 134/217

 

Memória Somente de Leitura (ROM)

- Memória Flash – tipo de memória não-volátil, apagável eletricamente comoa EEPROM, mas com densidades e custos semelhantes aos da EPROM,com o mesmo tempo de acesso de ambas.

Fig. 12-4: Comparação entre tipos de ROM

12.6- Aplicações de ROMs

- Firmware – armazenamento de programas ou dados que devem estardisponíveis no processo de inicialização de sistemas microprocessados. Porexemplo, produtos como videocassetes, CD players, fornos microondas etc.

- Memória de Bootstrap – tipo de programa armazenado em uma ROM quetrata da inicialização do hardware de um computador. Após a inicialização,o programa de bootstrap chama o sistema operacional e o computadorcomeça a executar o sistema operacional.

- Tabela de Dados – as ROMs são bastante utilizadas para armazenartabelas de dados que não variam. Por exemplo, tabela trigonométricas,códigos ASCII, etc.

- Conversor de Códigos – este tipo de aplicação toma valores expressosem um determinado tipo de código e produz uma saída expressa em outrocódigo. Por exemplo, o código BCD pode ser convertido para 7 segmentospor uma ROM.

- Gerador de Funções – basicamente, um gerador de funções é um circuitoque produz formas de onda senóides, triangulares e quadradas. Uma ROMcom tabelas de valores armazenados e um conversor D/A podem serusados para gerar essas formas de onda.

- Armazenamento Auxiliar – dados podem ser armazenados em memóriasROM apagáveis (EPROM, EEPROM, FLASH), tornando essas memóriascomo alternativa aos discos magnéticos de armazenamento.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  125

Page 135: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 135/217

 

Memória de Acesso Aleatório (RAM)

13. Memória de Acesso Aleatório (RAM)

13.1- Introdução

A memória de acesso aleatório (RAM) semicondutora é um tipo dememória onde podemos tanto ler como escrever dados.A principal vantagem de uma RAM é o fato de ela poder ser escrita e lida

rapidamente com a mesma facilidade. Uma desvantagem seria o fato da RAMser volátil, isto é, se a alimentação for desligada ela perde a informação.

13.2- Arquitetura de uma RAM

A arquitetura típica de uma RAM é mostrada na fig. 13-1.

Fig. 13-1: Organização Interna de uma RAM de 64 x 4

A fig. 13-1 mostra uma RAM que armazena 64 palavras de quatro bits(memória 64 x 4). Estas palavras têm endereços que vão de 0 a 63. Paraselecionar uma das 64 posições para escrita ou leitura, um endereço binário éfornecido ao circuito decodificador. Cada endereço ativa uma saída dodecodificador, habilitando o seu registrador correspondente.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  126

Page 136: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 136/217

 

Memória de Acesso Aleatório (RAM)

Operação de Leitura

A operação de leitura do conteúdo de um registrador é feita da seguintemaneira:- Coloca-se o endereço da posição de memória a ser lida no barramento de

endereços;

- Indica-se a operação de leitura através da entrada / Rentrada em ALTO;

W , colocando essa

- Habilita-se o chip de memória para concluir a operação colocando a entradaCS em BAIXO.

Quando a memória está habilitada para leitura, os buffers de entradasão desabilitados e os buffers de saída são habilitados e o conteúdo daposição de memória selecionada é colocada nas quatro saídas de dados.

Operação de Escrita

A operação de escrita de um dado novo em um registrador selecionadoé feita do seguinte modo:- Coloca-se o endereço da posição de memória a ser escrita no barramento

de endereços;- Coloca-se o dado a ser escrito no barramento de dados;- Indica-se a operação de escrita através da entrada / R

entrada em BAIXO;

W , colocando essa

- Habilita-se o chip de memória para concluir a operação colocando a entradaCS em BAIXO.

Quando a memória está habilitada para escrita, os buffers de entradasão habilitados e os buffers de saída são desabilitados e o conteúdo daposição de memória selecionada é perdida com a escrita do novo dado.

Quando a entrada CS (chip select – seleção de chip) está em ALTO(memória desabilitada), tanto suas entradas como suas saídas estão em tri-state (alta impedância), evitando assim escrita ou leitura errônea neste chip.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  127

Page 137: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 137/217

 

Memória de Acesso Aleatório (RAM)

13.3- RAM Estática (SRAM)

Este tipo de memória armazena os dados enquanto for mantida aalimentação. Suas células são compostas de flip-flops, e por isso seu conteúdonão é perdido enquanto houver alimentação.

Temporização de uma RAM Estática

Um computador utiliza RAMs como memórias principais e essasmemórias devem ser rápidas o suficiente para responderem aos comandos deleitura e escrita que a CPU está constatemente realizando.

Ciclo de Leitura

O ciclo de leitura é mostrado na fig. 13-2.

Fig. 13-2: Ciclo de leitura de uma RAM estática

Onde:trc = intervalo de duração do ciclo de leitura;tacc = tempo de acesso à RAM;tco = tempo que a saída da RAM leva para sair de alta impedância e ter umdado válido;tod = tempo decorrido entre a desabilitação da RAM e o instante que as saídasda RAM vão para alta impedância.

Durante o ciclo de leitura, a CPU coloca um endereço no barramento deendereços ligado à RAM. Este endereço corresponde à posição de memóriaque deve ser lida.

A CPU sinaliza a operação de leitura através de um nível ALTO naentrada / R

W . A CPU habilita a memória colocando a entrada CS em nível

BAIXO. A RAM responde a isso colocando o conteúdo da posição endereçadanas saídas de dados. Depois disso a memória é desabilitada ( CS é ALTO) esuas saídas ficam em tri-state (alta impedância).

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  128

Page 138: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 138/217

 

Memória de Acesso Aleatório (RAM)

Ciclo de Escrita

O ciclo de escrita é mostrado na fig. 13-3.

Fig. 13-3: Ciclo de escrita de uma RAM estática

Onde:twc = intervalo de duração do ciclo de escrita;tas = tempo para estabilização do barramento de endereços, antes de habilitara RAM;tah = intervalo necessário para que o barramento de endereços permaneçaestável;tw = tempo de escrita, onde CS e / R

W ficam em BAIXO;

tds = tempo que os dados devem ser mantidos na entrada antes dadesabilitação de CS e / WR ;tdh = tempo que os dados devem ser mantidos na entrada depois dadesabilitação de CS e / WR .

No ciclo de escrita, a CPU coloca um endereço estável no barramentode endereços. Nesse endereço o dado deve ser escrito. Ela coloca o dado aser armazenado no barramento de dados.

A CPU sinaliza a operação de escrita, colocando nível BAIXO na entrada/R W . A CPU habilita a memória colocando a entrada CS em nível BAIXO. O

dado é transferido para a posição de memória indicada pelo endereço. Amemória é, então, desabilitada ( CS é ALTO) e suas saídas ficam em tri-state.

Exemplos de Memórias Estáticas

- 6264 – 8K x 8- 62256 – 32K x 8

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  129

Page 139: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 139/217

 

Memória de Acesso Aleatório (RAM)

13.4- RAM Dinâmica (DRAM)

Nesse tipo de memória a informação é armazenada em pequenoscapacitores. Como existe uma tendência normal dos capacitores sedescarregarem, há a necessidade de uma recarga (refresh – refrescamento)desses capacitores. De tempos em tempos (tipicamente de 2 a 8 ms) o bit

armazenado no capacitor é atualizado.Esse tipo de memória constitui a memória principal de um computadorpor causa de sua alta capacidade e baixo consumo. Em relação à velocidade,as RAM estáticas são mais rápidas.

A principal vantagem deste tipo de memória é a simplicidade na suaconstrução, alcançando, assim, alto grau de integração.

Estrutura e Operação da RAM Dinâmica

Simbolicamente uma célula de memória dinâmica é constituída conformea fig. 13-4.

Fig. 13-4: Representação simbólica de uma célula de memória dinâmica

Para escrever em uma célula, os sinais provenientes da decodificaçãode endereços e da lógica de leitura/escrita fecham as chaves SW1e SW2,mantendo SW3 e SW4 abertas. Isto conecta a entrada de dados a C. Um nívellógico 1 carrega C e um nível lógico 0 o descarrega. Depois disso todas aschaves são abertas, de modo que C fica desconectado do resto do circuito.Mesmo desconectado, existe uma corrente de fuga que causa a descargagradual do capacitor e por isso o capacitor deve ser “refrescado”.

Para ler uma célula, as chaves SW2, SW3 e SW4 são fechadas, e SW1

permanece aberta. Isso conecta a tensão armazenada no capacitor aoamplificador sensor. Assim, na saída do amplificador teremos o valorarmazenado no capacitor, que é atualizado via SW4 no momento da leitura.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  130

Page 140: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 140/217

 

Memória de Acesso Aleatório (RAM)

Multiplexação de Endereços

A multiplexação de endereços é uma técnica que visa diminuir aquantidade de entradas de endereços em uma DRAM. Isso permite queDRAMs com altas capacidades ocupem espaços menores em placas decomputadores.

Essa multiplexação consiste em colocar no barramento de endereços ametade superior do endereço (que localiza a linha) e colocar em BAIXO umsinal chamado RAS (strobe do endereço da linha). Depois é colocado nobarramento de endereços a metade inferior do endereço (que localiza a coluna)e colocar em BAIXO um sinal chamado CAS (strobe do endereço da coluna).Após esse procedimento, a posição de memória é localizada e as operaçõesde leitura ou escrita podem ser realizadas.

Fig. 13-5: Multiplexação de endereços em uma DRAM com 16 linhas deendereço.

Refrescamento da DRAM

O refrescamento de uma DRAM é feito por circuitos externos ou nopróprio chip de memória. Existem dois métodos:

Refresh em rajada – a operação normal da memória é suspensa e cada linha

da DRAM é refrescada em seqüencia até que todas tenham sido refrescadas;

Refresh distribuído – o refrescamento é intercalado com as operaçõesnormais da DRAM.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  131

Page 141: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 141/217

 

Memória de Acesso Aleatório (RAM)

Tecnologia de RAM Dinâmica Usada em Computadores

Os tipos de DRAM existentes variam em função da capacidade,velocidade, consumo, custo e versatilidade:

- SIMM (single-in-line memory module) e DIMM (dual-in-line memory

module) – são módulos de memória que permitem uma instalação rápida esão padrões de diversos tipos de DRAMs. Os módulos SIMM e DIMMdefinem apenas como a DRAM é “empacotada”.

- DRAM FPM (fast page module) – permite acesso mais rápido a qualquerposição de memória dentro da “página” corrente. Normalmente, a maioriados dados gravados na memória são seqüenciais. Nesse tipo de DRAM oendereço da linha (RAS) é enviado uma vez e o endereço da coluna (CAS)é incrementado.

- DRAM EDO (extended data output) – é uma melhoria em relação às FPM.Os dados são colocados na saída e a DRAM EDO já pode decodificar o

próximo endereço sem que esses dados tenham sido lidos;

- DRAM BEDO (burst EDO) – Possui uma arquitetura que permite alcançaralta velocidade ao se acessar dados seqüenciais;

- SDRAM (synchronous DRAM) – são organizadas em dois bancos que sãoacessados alternadamente utilizando um sinal de clock sincronizado com aCPU. Desse modo essas memórias alcançam altas taxas de transferências.

Memórias com Funções Especiais

- Armazenamento de Dados com o Sistema Desligado – muitosequipamentos armazenam seus dados em memórias RAM alimentadas combaterias de reserva (NVRAM – RAM não-volátil);

- Memória Cache – tipo de memória de alta velocidade e baixa capacidadede armazenamento que interage diretamente com a CPU. Na cache estãocontidos os dados mais requisitados pelo processador e isso evita umacesso desnecessário na RAM.

- Memória First-In, First-Out (FIFO) – também conhecidas como bufferspara armazenamento temporário. Por exemplo, os dados são transferidosem altas taxas do PC para a impressora. Como a impressão é mais lenta

que a transferência, esses dados devem ser armazenados em FIFOs e daípodem ser impressos.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  132

Page 142: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 142/217

 

Expansão do Tamanho da Palavra e da Capacidade

14. Expansão do Tamanho da Palavra e da Capacidade

14.1- Introdução

Em aplicações com memórias muitas vezes não dispomos de um chipque nos forneça o tamanho da palavra ou a capacidade necessária. Paraconseguir isso devemos associar os chips de memória a fim de fornecer otamanho da palavra ou a capacidade desejada.

14.2- Expansão do Tamanho da Palavra

Neste tipo de arranjo, as memórias são combinadas de forma a fornecero tamanho da palavra desejada. Por exemplo, se determinado projetonecessita de uma memória de 16 x 8 (16 palavras de 8 bits) e só possuímoschips de memória de 16 x 4 (16 palavras de 4 bits) podemos associar duas

dessas memórias para obter a memória desejada, conforme a fig. 14-1.

Fig. 14-1: Arranjo com duas RAM de 16 x 4 para fornecer um módulo de 16 x 8.

Cada memória da figura acima pode armazenar 16 palavras de 4 bits.Como queremos armazenar 16 palavras de 8 bits, cada chip armazena metadede cada palavra. Assim, a RAM0 armazena os 4 bits mais significativos de cadauma das 16 palavras e a RAM1 armazena os 4 bits menos significativos de

cada uma das 16 palavras.Podemos selecionar qualquer uma das 16 palavras aplicando-se oendereço da palavra no barramento de endereços. As duas memóriaslocalizarão ao mesmo tempo a mesma posição de memória.

Se a operação for leitura, a entrada / R

W deve estar em ALTO e CS em

BAIXO. A RAM0 coloca sua palavra de 4 bits na parte alta do barramento dedados e a RAM1 coloca sua palavra de 4 bits na parte baixa do barramento dedados. Desse modo o barramento de dados contém a palavra completa de 8bits.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  133

Page 143: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 143/217

 

Expansão do Tamanho da Palavra e da Capacidade

Se a operação for escrita, a entrada / R

W deve estar em BAIXO e CS

em BAIXO. Os 4 bits mais significativos do dado serão escritos na RAM0 e os 4menos significativos serão escritos na RAM1.

14.3- Expansão da Capacidade

Neste tipo de arranjo, as memórias são combinadas de forma quepossam armazenar mais palavras. Por exemplo, se precisamos de umamemória que possa armazenar 32 palavras de 4 bits e temos chips de 16palavras de 4 bits, podemos associá-las conforme a fig. 14-2.

Fig. 14-2: Arranjo de duas memórias de 16 x 4 para formar uma memória de 32x 4.

Cada chip de memória armazena 16 palavras de 4 bits, resultando em32 palavras de 4 bits. O barramento de dados é compartilhado entre as duasmemórias e por isso somente um chip de memória poderá ser habilitado decada vez.

Como a capacidade total é 32 x 4, devem existir 32 endereçosdiferentes. Isso requer 5 linhas de barramento de endereços. A linha deendereços mais significativa (A4) é usada para selecionar qual memória deveser acionada.

Tabela 14-1:A4 A3 A2 A1 A0 Memória selecionada Capacidade

0

...0 1

0...

1 1

0

...10...1

0

...10...1

0

...1 RAM0 16 palavras

0...

1 RAM1 16 palavras

Total = 32palavras

Mapa de memória e faixa de endereços usados por cada chip.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  134

Page 144: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 144/217

 

Expansão do Tamanho da Palavra e da Capacidade

Se desejarmos associar mais chips de memórias devemos tomar ocuidado de selecionar apenas uma das memórias, já que o barramento dedados é compartilhado. Para isso é usado um decodificador de endereços (porexemplo, 74LS138) que, através de uma combinação em suas entradas,seleciona apenas uma saída.

Por exemplo, se desejarmos associar 4 PROMs de 16 x 4 para gerar

uma capacidade de 64 x 4 devemos fazer conforme a fig. 14-3.

Fig. 14-3: Uso de 4 PROMs de 16 x 4 para obter uma capacidade de 64 x 4

Tabela 14-2:A5 A4 A3 A2 A1 A0 Memória selecionada

0 0 0 00 0 ... ... ... ... PROM-0

1 1 1 10 0 0 0

0 1 ... ... ... ... PROM-11 1 1 10 0 0 0

1 0 ... ... ... ... PROM-11 1 1 10 0 0 0

1 1 ... ... ... ... PROM-21 1 1 1

Faixa de endereços utilizada por cada PROM.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  135

Page 145: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 145/217

 

Microcontrolador AT90S8515

15. Microcontrolador AT90S8515

15.1- Introdução

Computadores, Microprocessadores e MicrocontroladoresO computador é qualquer sistema que contém CPU (Unidade Central de

Processamento), memória e unidades de entrada/saída.O microprocessador é um circuito integrado que contém uma CPU de

um computador genérico.O microcontrolador é um circuito integrado que contém CPU, memória,

unidades de entrada/saída e periféricos (conversores A/D, timers, portas decomunicação etc), com a finalidade de executar uma tarefa específica.

Fig. 15-1: Diagrama em Blocos de um Sistema Genérico com Microprocessador

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  136

Page 146: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 146/217

 

Microcontrolador AT90S8515

15.2- Características do Microcontrolador AT90S8515

a) Arquitetura AVR RISC:- Possui 118 instruções sendo que a maioria é executada em um ciclo de

clock;- Possui 32 registradores de uso geral de 8 bits;- Até 8 MIPS (milhões de instruções por segundo) a 8 MHz.

b) Memória de Programa e de Dados:- Possui 8 KBytes de Flash (memória de programa) que pode ser

programada no próprio circuito. Possui vida útil de 1000 ciclos deescrita/apagamento;

- Possui 512 Bytes de SRAM (memória de dados);- Possui 512 Bytes de EEPROM (memória de dados) que pode ser

programada no próprio circuito. Possui vida útil de 100000 ciclos deescrita/apagamento;

- Possui Lock Bits, que impedem que o programa da Flash e os dadosarmazenados na EEPROM possam ser acessados.

c) Periféricos:- Possui 1 Temporizador/Contador de 8 bits com prescaler (divisor de clock);- Possui 1 Temporizador/Contador de 16 bits com prescaler (divisor de clock),

com modos de comparação, captura e duplo PWM (modulação por largurade pulso) de 8, 9 ou 10 bits;

- Possui comparador analógico interno;- Possui Wathdog Timer programável com oscilador interno separado;- Possui serial UART (transceptor assíncrono universal) programável;- Possui interface serial Master/Slave SPI.

d) Características Especiais do Microcontrolador:- Modos Low-power Idle e Power Down;- Fontes de interrupções externas e internas.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  137

Page 147: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 147/217

 

Microcontrolador AT90S8515

15.3- Encapsulamento

Fig. 15-2: Disposição dos pinos nos encapsulamentos DIP e PLCC

15.4- Descrição Geral

O AT90S8515 é um microcontrolador CMOS de 8 bits de baixo consumobaseado na arquitetura AVR RISC. A execução de instruções simples em umciclo de clock (1 MIPS por MHz) permite que o projeto possa ser otimizadoquanto à velocidade ou quanto ao consumo (quanto maior a velocidade, maioré o consumo).

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  138

Page 148: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 148/217

 

Microcontrolador AT90S8515

15.5- Diagrama em Blocos

Fig. 15-3: Diagrama em blocos do AT90S8515

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  139

Page 149: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 149/217

 

Microcontrolador AT90S8515

15.6- Descrição dos Pinos

- VCC – Alimentação;

- GND – Terra;

- Port A (PA7..PA0) – Porta de entrada/saída (bidirecional) de 8 bits. Possuiresistores de pull-up internos (programável para cada bit). Podem forneceraté 20 mA de corrente. Na condição de reset, o Port A ficará em tri-state(alta impedância). Uma segunda função do Port A é como entrada/saída dobarramento multiplexado de endereços/dados usado no acesso à SRAMexterna;

- Port B (PB7..PB0) – Porta de entrada/saída (bidirecional) de 8 bits. Possuiresistores de pull-up internos (programável para cada bit). Podem forneceraté 20 mA de corrente. Na condição de reset, o Port B ficará em tri-state(alta impedância). Esse port possui várias funções especiais que serãovistas posteriormente;

- Port C (PC7..PC0) – Porta de entrada/saída (bidirecional) de 8 bits. Possuiresistores de pull-up internos (programável para cada bit). Podem forneceraté 20 mA de corrente. Na condição de reset, o Port C ficará em tri-state(alta impedância). Uma segunda função do Port C é como saída dobarramento de endereços usado no acesso à SRAM externa;

- Port D (PD7..PD0) – Porta de entrada/saída (bidirecional) de 8 bits. Possuiresistores de pull-up internos (programável para cada bit). Podem forneceraté 20 mA de corrente. Na condição de reset, o Port D ficará em tri-state(alta impedância). Esse port possui várias funções especiais que serãovistas posteriormente;

- RESET - Entrada de reset. Um nível baixo nesse pino reiniciará omicrocontrolador;

- XTAL1 - Entrada para o amplificador inversor do oscilador e entrada declock para o circuito;

- XTAL2 - Saída do amplificador inversor do oscilador;

- ICP - Entrada para a função Timer/Counter1 Input Capture;

-

OC1B - Saída para a função de Timer/Counter1 Output CompareB;- ALE - Adress Latch Enable - Saída usada quando uma memória externa

está conectada. Ao acessar externamente a memória, se ALE for alto, nobarramento AD0-7 teremos a parte baixa do endereço e isso habilita o latchpara o barramento de endereços. Quando ALE for baixo isso desabilitará olatch e o barramento AD0-7 será usado como barramento de dados;

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  140

Page 150: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 150/217

 

Microcontrolador AT90S8515

15.7- Oscilador

A entrada XTAL1 e a saída XTAL2 estão conectadas diretamente em umamplificador inversor usado como oscilador interno. Nesse caso, externamentedeve ser conectado um cristal de quartzo na freqüência de operação.

Um outro modo de gerar um sinal de clock é desconectar a saída XTAL2

e injetar um sinal de clock na entrada XTAL1.

15.8- Arquitetura

O AT90S8515 contém, internamente, 32 registradores uso geral de 8bits cada, que podem ser acessados em um único ciclo de clock.

Seis desses 32 registradores podem formar três registradores de 16 bits,que são usados como ponteiros para endereçamento indireto da memória dedados. Um destes ponteiros de endereços também é usado como ponteiro deendereço de tabelas de constantes na memória de programa. Estes registrosde 16 bits são chamados registro-X, registro-Y e registro-Z.

A ULA suporta funções aritméticas e lógicas entre registradores e entreconstantes e registradores.

Os 64 primeiros bytes de endereço da RAM interna são usados comoespaço de memória de entrada/saída (I/O Memory). É neste espaço dememória que estão localizados os registradores de controle, ostemporizadores/contadores e outros periféricos.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  141

Page 151: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 151/217

 

Microcontrolador AT90S8515

Fig. 15-3: Arquitetura interna do AT90S8515

A família AVR utiliza o conceito de arquitetura Harvard, que separa amemória e os barramentos de programa e dados. A memória de programa éexecutada em um "pipeline" com dois estágios. Enquanto uma instrução estásendo executada, a próxima está sendo trazida da memória de programa. Issopossibilita a execução de instruções em cada ciclo de clock. A memória deprograma é uma memória Flash programável no sistema. A SRAM internapossui 512 bytes.

Todas as interrupções possuem um vetor de interrupção separado e atabela de vetores de interrupção começa no início da memória de programa.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  142

Page 152: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 152/217

 

Microcontrolador AT90S8515

Fig. 15-4: Memória Flash e memória RAM do AT90S8515

Registradores de Uso Geral

Os 32 registradores de uso geral (R0-R31) estão localizados nosendereços 00H a 1FH da SRAM interna. Praticamente todas as instruções queacessam esses registradores são executadas em um ciclo de clock.

Os Registradores X, Y e ZOs registradores R26...R31 tem outras funções especiais. Esses

registradores são usados como ponteiros de endereços na memória de dados.(R27:R26 = X; R29:R28 = Y; R31:R30 = Z).

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  143

Page 153: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 153/217

 

Microcontrolador AT90S8515

ULA – Unidade Lógica e Aritmética

A ULA tem conexão direta com os 32 registradores de uso geral. Issopermite que instruções entre registradores sejam executadas em um ciclo declock. As operações da ULA podem ser divididas em três categorias:operações aritméticas, operações lógicas e operações de manipulação de bits.

Memória de Programa Flash Programável no Sistema

O AT90S8515 possui 8 Kbytes de memória de programa Flash internaprogramável no próprio sistema. A Flash é organizada como uma memória de 4K x 16, já que todas as instruções são de 16 ou 32 bits. A Flash possui mais de1000 ciclos de leitura/apagamento.

Memória de Dados SRAM Interna e Externa

Fig. 15-5: Organização da memória RAM interna e externa

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  144

Page 154: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 154/217

 

Microcontrolador AT90S8515

A SRAM interna compreende os endereços 00H até 25FH. Do endereço00H até 1FH estão localizados os registradores de uso geral (R0-R31). Doendereço 20H até 5FH estão os endereços de periféricos de entrada e saída.Do endereço 60H até 25FH está a memória de dados SRAM interna. A partirdo endereço 260H a SRAM externa é acessada, até o endereço FFFFH.

Se o endereço a ser acessado é maior que a SRAM interna, a SRAM

externa é acessada. Quando isso ocorre os sinais de RD e RW são ativadospara o acessoà SRAM.

Memória de Dados EEPROM

O AT90S8515 possui 512 bytes de memória de dados EEPROM. Cada bytepode ser lido ou escrito individualmente. Possui mais de 100000 ciclos deescrita/apagamento.

Tempos de Acesso à Memória e Execução de Instruções

A CPU dos microcontroladores AVR utiliza o Clock do Sistema Ø,diretamente gerado do cristal externo para o chip. Não é feita nenhuma divisãointerna desse Clock.

A fig. 15-6 mostra os ciclos de busca e execução de instruçãohabilitadas pela arquitetura Harvard e o conceito de registro de acesso rápido.Este é o conceito básico utilizado para se obter até 1 MIPS por MHz.

Fig. 15-6: Ciclos de busca e execução de instruções

A fig. 15-7 mostra a temporização interna para os registros. Em um únicociclo de Clock uma operação da ALU que usa dois registros como operandos é

executada e o resultado é armazenado no registro de destino.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  145

Page 155: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 155/217

 

Microcontrolador AT90S8515

Fig. 15-7: Temporização interna nos registros do AT90S8515

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  146

Page 156: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 156/217

 

Microcontrolador AT90S8515

Memória de Entrada/Saída (I/O)

Tabela 15-1:

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  147

Page 157: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 157/217

 

Microcontrolador AT90S8515

Todos os I/Os e periféricos do AT90S8515 estão localizados no espaçode I/O. Os endereços de I/O são acessados pelas instruções IN e OUT, quepodem transferir dados entre os 32 registros de uso geral e o espaço de I/O.

Os endereços dos registros de I/O que vão de $00 até $1F sãodiretamente acessíveis bit a bit usando instruções SBI e CBI. Nestes registros,o valor de um único bit pode ser testado usando as instruções SBIS e SBIC. Seas instruções IN e OUT forem usadas, os endereços dos I/Os vão de $00 até$3F. Se os registros de I/O forem acessados como uma SRAM, os endereçosanteriores devem ser somados a $20 ($20 - $5F).

Alguns flags (indicadores) de estado são ZERADOS escrevendo UMlógico neles.

Registrador de Status – SREG

Bit 7 – I: Global Interrupt Enable – O bit de habilitação global deinterrupções deve ser setado (UM) para que as interrupções sejamhabilitadas. Se o bit de habilitação global é ZERADO, nenhuma dasinterrupções serão habilitadas.

Bit 6 – T: Bit Copy Storage – As instruções de cópia de bit BLD (Bit Load)

e BST (Bit Store) usam o bit T como fonte e destino para o bit manipulado.Um bit de um registro pode ser copiado para T pela instrução de BST, e umbit em T pode ser copiado para um bit em um registro pela instrução BLD.

Bit 5 – H: Half Carry Flag – O flag half carry H indica que um "half carry"ocorreu em alguma operação aritmética na ALU.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  148

Page 158: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 158/217

 

Microcontrolador AT90S8515

Bit 4 – S: Sign Bit, S = N V – O bit S sempre é um OU-EXCLUSIVOentre o flag de negativo N e o flag de overflow do complemento a dois V.

Bit 3 – V: Two’s Complement Overflow Flag – O flag de overflow nocomplemento a dois V é utilizado em operações aritméticas que manipulamnúmeros na representação complemento a dois.

Bit 2 – N: Negative Flag – O flag de negativo N indica que ocorreu umresultado negativo após a execução de uma subtração aritmética ou de umaoperação lógica.

Bit 1 – Z: Zero Flag – O flag de zero Z indica que o resultado ZEROocorreu depois de uma subtração aritmética ou de uma operação lógica.

Bit 0 – C: Carry Flag – O flag de carry C indica que um carry (vai-um)ocorreu em uma operação aritmética ou operação lógica.

Ponteiro de Pilha - SP

O Ponteiro de Pilha de 16-bits é constituído de dois registros de 8-bitslocalizados no espaço de I/O, nos endereços $3E ($5E) e $3D ($5D). Como oAT90S8515 suporta até 64 kB de SRAM externa, todos os 16-bits são usados.

Tratamento de Reset e Interrupções

O AT90S8515 possui 12 fontes de interrupção diferentes. Estasinterrupções e o RESET possuem um vetor reservado na memória deprograma. Todas as interrupções são individualmente habilitadas pelos bits decontrole juntamente com o bit I no registrador de status SREG.

Os vetores de RESET e Interrupções estão localizados no início da

memória de programa e podem ser vistos conforme a tabela 15-2. Esta listatambém determina os níveis de prioridade dos diferentes tipos de interrupções.O menor endereço possui o maior nível de prioridade: o RESET tem maiorprioridade, depois vem INT0 - Interrupção Externa 0, e assim por diante.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  149

Page 159: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 159/217

 

Microcontrolador AT90S8515

Tabela 15-2:

Fontes de Reset

O AT90S8515 tem três fontes de reset:

- Power-On Reset: A MCU é reiniciada quando a tensão de alimentação estáabaixo da tensão limiar de alimentação (VPOT);

- RESET Externo: A MCU é reiniciada quando um nível baixo é colocado nopino RESET por mais de 50 ns;

- Watchdog Reset: A MCU é reiniciada quando ocorre o overflow do

temporizador Watchdog (Cão de Guarda) e o Watchdog esta habilitado.

Durante o reset, todos os registros de I/O são forçados para seusvalores iniciais e o programa começa sua execução a partir do endereço $000.A instrução colocada no endereço $000 deve ser um RJMP – salto relativo –instrução para a rotina de reset.

Power-On Reset

Um circuito de Power-On Reset (POR) assegura que o dispositivo sejaresetado quando a alimentação for ligada. Um sinal vindo do oscilador internodo Watchdog Timer impede que a MCU comece durante um certo períododepois de VCC alcançou a tensão limiar de Power-On – VPOT.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  150

Page 160: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 160/217

 

Microcontrolador AT90S8515

Reset Externo

Um reset externo é gerado por um nível baixo pino RESET. Pulsos dereset maiores do que 50 ns gerarão um reset, até mesmo se o Clock estiverparado. Pulsos com duração menor não garantirão o reset.

Quando o pulso de reset ultrapassar a tensão limiar de reset – VRST – na

borda de subida, um temporizador contará um período tTOUT e ao fim dessetempo, a MCU irá iniciar a operação.

Reset por Watchdog

Quando o Watchdog expira, um pequeno pulso de reset com a duraçãode 1 ciclo de XTAL é gerado. Na transição de descida deste pulso, umtemporizador contará um período tTOUT e ao fim desse tempo, a MCU irá iniciara operação.

Tratamento de Interrupções

O AT90S8515 tem dois Registradores de Controle de Máscaras deInterrupções de 8-bits:

- GIMSK – (General Interrupt Mask register) – registrador de máscaras deinterrupções gerais.

- TIMSK – (Timer/Counter Interrupt Mask register) – registrador demáscaras de interrupções dos temporizadores/contadores.

Quando uma interrupção ocorre o bit I (Global Interruption Enable) éZERADO e todas as interrupções são desabilitadas. O bit I é setado quandouma instrução de Retorno de Interrupção – RETI – é executado.

Quando o Contador de Programa (PC) é carregado com o endereço dovetor de interrupção atual para executar a rotina de tratamento de interrupção,o hardware zera o flag correspondente que gerou essa interrupção.

Se uma ou mais interrupções ocorrerem enquanto o bit de habilitaçãoglobal de interrupções (I) estiver zerado, os flags de interrupçõescorrespondentes serão setados e assim permanecerão até que o bit dehabilitação global de interrupções (I) seja setado e as interrupções serãoexecutadas por ordem de prioridade.

Registrador de Máscaras de Interrupções Gerais – GIMSK

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  151

Page 161: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 161/217

 

Microcontrolador AT90S8515

Bit 7 – INT1: External Interrupt Request 1 Enable –O bit INT1 habilita interrupção externa 1 quando setado.

Bit 6 – INT0: External Interrupt Request 0 Enable –O bit INT0 habilita interrupção externa 0 quando setado.

Bits 5..0 – Res: Reserved bits –Esses bits são reservados no AT90S8515 e são sempre lidos como zero.

Registrador de Flags de Interrupções Gerais – GIFR

Bit 7 – INTF1: External Interrupt Flag1 –Quando um evento ocorre no pino INT1, um pedido de interrupção érequisitado e o bit INTF1 é setado.

Bit 6 – INTF0: External Interrupt Flag0 –Quando um evento ocorre no pino INT0, um pedido de interrupção érequisitado e o bit INTF0 é setado.

Bits 5..0 – Res: Reserved bits –Esses bits são reservados no AT90S8515 e são sempre lidos como zero.

Registrador de Máscaras de Interrupções dos

Temporizadores/Contadores – TIMSK

Bit 7 – TOIE1: Timer/Counter1 Overflow Interrupt Enable –O bit TOIE1 habilita interrupção por Overflow do Timer/Counter1 quandosetado.

Bit 6 - OCE1A: Timer/Counter1 Output CompareA Match InterruptEnable –O bit OCE1A habilita interrupção por comparação do valor A com o valor doTimer/Counter1 quando setado

Bit 5 – OCIE1B: Timer/Counter1 Output CompareB Match InterruptEnable –

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  152

Page 162: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 162/217

 

Microcontrolador AT90S8515

O bit OCIE1B habilita interrupção por comparação do valor B com o valor doTimer/Counter1 quando setado.

Bit 4 – Res: Reserved bit –Bit reservado no AT90S8515 e é sempre lido como zero.

Bit 3 - TICIE1: Timer/Counter1 Input Capture Interrupt Enable –O bit TICIE1 habilita interrupção por evento na entrada de captura doTimer/Counter1 quando setado.

Bit 2 – Res: Reserved bit –Bit reservado no AT90S8515 e é sempre lido como zero.

Bit 1 - TOIE0: Timer/Counter0 Overflow Interrupt Enable –O bit TOIE0 habilita interrupção por Overflow do Timer/Counter0 quandosetado.

Bit 0 – Res: Reserved bit –Bit reservado no AT90S8515 e é sempre lido como zero.

Registrador de Flags de Interrupções dos Temporizadores/Contadores –TIFR

Bit 7 - TOV1: Timer/Counter1 Overflow Flag –O flag TOV1 é setado quando um overflow ocorre no Timer/Counter1.

Bit 6 - OCF1A: Output Compare Flag 1A –O bit OCF1A é setado quando o valor do Timer/Counter1 e valor contido noOCR1A – Registrador de Comparação de Saída 1A.

Bit 5 - OCF1B: Output Compare Flag 1B –O bit OCF1B é setado quando o valor do Timer/Counter1 e valor contido noOCR1B – Registrador de Comparação de Saída 1B.

Bit 4 – Res: Reserved bit –Bit reservado no AT90S8515 e é sempre lido como zero.

Bit 3 – ICF1: Input Capture Flag 1 –O bit ICF1 é setado para sinalizar que um evento de captura ocorreu nopino ICP e que o valor do Timer/Counter1 foi transferido para o registradorde captura – ICR1.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  153

Page 163: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 163/217

 

Microcontrolador AT90S8515

Bit 2 – Res: Reserved bit –Bit reservado no AT90S8515 e é sempre lido como zero.

Bit 1 – TOV: Timer/Counter0 Overflow Flag –O bit TOV0 é setado quando ocorre um overflow do Timer/Counter0.

Bit 0 – Res: Reserved bit –Bit reservado no AT90S8515 e é sempre lido como zero.

Interrupções Externas

As interrupções externas são ativadas pelos pinos INT1 e INT0. Asinterrupções externas podem ser reconhecidas por uma borda de descida ousubida ou um nível baixo. Isso é configurado no Registrador de Controle daMCU – MCUCR.

Tempo de Resposta de Interrupções

O intervalo de execução para qualquer uma das interrupções doAT90S8515 habilitadas é de, no mínimo, 4 ciclos de clock. Quatro ciclos declock depois que o flag de interrupção foi setado, o endereço do vetor deinterrupção é executado.

Durante estes 4 ciclos de clock, o Contador de Programa – PC (2 bytes)é colocado na Pilha (Stack), e o Ponteiro de Pilha (SP) é decrementado de 2. Ovetor normalmente é um salto relativo à rotina de interrupção e este salto leva 2ciclos de clock. Se uma interrupção acontece durante execução de umainstrução de multi-ciclo, a instrução é completada antes da interrupção seratendida.

O retorno de uma rotina de tratamento de interrupção (ou mesmo umasub-rotina) leva 4 ciclos de clock. Durante estes 4 ciclos de relógio, o Contadorde Programa – PC (2 bytes) é trazido da Pilha (Stack), o Ponteiro de Pilha (SP)é incrementado de 2, e o bit I no SREG é setado. Quando o microcontroladorsai de uma interrupção, ele sempre voltará ao programa principal e executaráuma ou mais instruções antes que qualquer interrupção pendente ser atendida.

Registrador de Controle da Unidade Central Microprocessadora – MCUCR

O registrador de controle da MCU contém os bits de controle parafunções gerais da MCU.

Bit 7 – SRE: External SRAM Enable –

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  154

Page 164: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 164/217

 

Microcontrolador AT90S8515

Quando o bit SRE é setado, o acesso à memória de dados externa (SRAM)é habilitado e os pinos AD0-7 (Port A), A8-15 (Port C), RW e RD (Port D)são ativados.

Bit 6 – SRW: External SRAM Wait State –Quando o bit SRW é setado, um estado de espera é inserido no ciclo de

acesso à SRAM externa.

Bit 5 – SE: Sleep Enable –O bit SE deve ser setado para fazer a MCU entrar no modo Sleep quando ainstrução SLEEP for executada.

Bit 4 – SM: Sleep Mode –O bit SM seleciona os dois modos de Sleep disponíveis. Quando SM ézerado, o Modo Idle é selecionado como modo Sleep. Quando SM é setado,o Modo Power Down é selecionado como modo Sleep.

Bit 3, 2 – ISC11, ISC10: Interrupt Sense Control 1 bit 1 and bit 0 –Os bits ISC11 e ISC10 definem de que maneira a interrupção externa 1deverá ser reconhecida:

Tabela 15-3:

Bit 1, 0 – ISC01, ISC00: Interrupt Sense Control 0 bit 1 and bit 0 –Os bits ISC01 e ISC00 definem de que maneira a interrupção externa 0deverá ser reconhecida:

Tabela 15-4:

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  155

Page 165: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 165/217

 

Microcontrolador AT90S8515

Modos de Sleep

Para entrar nos modos Sleep, o bit SE no MCUCR deve ser setado euma instrução de SLEEP deve ser executada. Se uma interrupção ocorreenquanto a MCU está em um modo Sleep, o MCU acorda, executa a rotina deinterrupção, e retoma a execução da instrução depois de SLEEP. Os

conteúdos dos registros, da SRAM e da memória de I/O permaneceminalteradas. Se um Reset ocorre durante modo Sleep, a MCU acorda e executado vetor RESET.

Modo Idle

Se o bit de SM é zerado, a instrução SLEEP força a MCU para o ModoIdle, que pára a CPU mas permite que Timer/Counters, Watchdog eInterrupções continuem operando. Isto permite que a MCU possa acordar comuma interrupção externa ou overflow dos timers ou reset do Watchdog. Quandoo MCU acorda no modo Idle, a CPU inicia a execução do programaimediatamente.

Modo Power Down

Quando o bit SM é setado, a instrução de SLEEP força a MCU no modoPower Down. Neste modo, oscilador externo é desligado, enquanto asinterrupções externas e o Watchdog (se habilitado) continuam operando. Sóum Reset externo ou um Reset por Watchdog (se habilitado) ou umainterrupção externa por nível INT0 ou INT1 podem acordar a MCU. Se umainterrupção externa por nível é usada para acordar a MCU do modo PowerDown, o nível baixo deve ser mantido durante um tempo maior do que operíodo de timeout do reset (tOUT). Caso contrário, a MCU não acordará.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  156

Page 166: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 166/217

 

Microcontrolador AT90S8515

15.9- Temporizadores/Contadores

O AT90S8515 possui dois Timer/Counters – um temporizador/contadorde 8 bits e um temporizador/contador de 16 bits. Os temporizadores/contadorespossuem seleção individual de clock, que vem de um mesmo contador de 10bits (Prescaler). Ambos os Timer/Counters podem ser usados como

temporizadores com um clock interno como base de tempo ou como contadorutilizando o pino externo (T0 ou T1) como entrada de contagem.

Fig. 15-8: Circuito lógico dos temporizadores/contadores

Prescaler (Divisor) dos Temporizadores/Contadores

As quatro seleções de razões de clock (vindos do prescaler) são: CK/8,CK/64, CK/256 e CK/1024 onde CK é o clock do oscilador. As razões de clock,como CK ou uma fonte externa ou parado podem ser as fontes de clock paraos dois Timer/Counters.

Temporizador/Contador0 de 8 bits

As fontes de clock para o Timer/Counter0 (8 bits) podem ser o clock CK,o clock CK dividido (através do prescaler) ou pino externo. Além disso, oTimer/Counter0 pode ser parado. Isto pode ser configurado através doregistrador de Controle do Timer/Counter0 – TCCR0. O flag de overflowencontra-se no registrador de Flags de Interrupção do Timer/Counter – TIFR.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  157

Page 167: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 167/217

 

Microcontrolador AT90S8515

Os bits de controle encontram-se no registro de Controle doTimer/Counter0 – TCCR0. O bit de habilitação da interrupção por overflow doTimer/Counter0 encontra-se no registro de Máscaras de Interrupções dosTimer/Counters – TIMSK.

Registrador de Controle do Temporizador/Contador0 - TCCR0

Bits 7..3 – Res: Reserved bits –Esses bits são reservados no AT90S8515 e são sempre lidos como zero.

Bits 2,1,0 - CS02, CS01, CS00: Clock Select0, bit 2,1 and 0 –Os bits 2, 1 e 0 da Seleção de Clock definem a fonte de clock doTimer/Counter0, conforme a tabela 15-5.

Tabela 15-5:

A condição de Stop desabilita o Timer/Counter0. As razões de CK sãoobtidas diretamente do clock do oscilador. Se o pino externo é usado comentrada de clock do Timer/Counter0, transições em PB0/(T0) irão ser contadasmesmo que o pino seja configurado como saída.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  158

Page 168: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 168/217

 

Microcontrolador AT90S8515

Temporizador/Contador0 – TCNT0

O Timer/Counter0 é um registrador com acesso para leitura e escrita. Seo Timer/Counter0 é escrito e uma fonte de clock está presente, oTimer/Counter0 continua contando a partir do ciclo de clock seguinte àoperação de escrita.

Temporizador/Contador1 de 16 bits

As fontes de clock para o Timer/Counter1 (16 bits) podem ser o clock CK,o clock CK dividido (através do prescaler) ou pino externo. Além disso, oTimer/Counter1 pode ser parado. Isto pode ser configurado através do

registrador de Controle do Timer/Counter1 – TCCR1A e TCCR1B. Osdiferentes flags de status (overflow, comparação e captura de evento)encontram-se no registrador de Flags de Interrupção do Timer/Counter – TIFR.Os bits de controle encontram-se no registro de Controle do Timer/Counter1 –TCCR1A e TCCR1B. Os bits de habilitações de interrupções Timer/Counter1encontra-se no registro de Máscaras de Interrupções dos Timer/Counters –TIMSK.

O Timer/Counter1 possui dois funções de comparação que utilizam osregistradores de Saída de Comparação 1 A e B – OCR1A e OCR1B comofontes de dados para serem comparados com o valor do Timer/Counter1. Asfunções de Comparação incluem um opcional reinício do contador quando ovalor de comparação A for atingido e ações nos pinos de Saída de

Comparação para ambos os valores de comparação A e B.O Timer/Counter1 também pode ser usado como um Modulador porLargura de Pulso (PWM) de 8, 9 ou 10 bits. Neste modo, o contador e os

registradores OCR1A/OCR1B são utilizados para formarem um duplo PWM. Afunção de Captura de Eventos do Timer/Counter1 realiza a

transferência do conteúdo do Timer/Counter1 para o registrador de Captura –ICR1, ocasionado por um evento externo no pino de Entrada de Captura deEvento – ICP. Os bits que controlam esta funções estão localizados noregistrador de Controle do Timer/Counter1 – TCCR1B. Além disso, oComparador Analógico também pode ser usado para gerar um evento decaptura do Timer/Counter1.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  159

Page 169: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 169/217

 

Microcontrolador AT90S8515

Registrador A de Controle do Temporizador/Contador1 – TCCR1A

Bits 7,6 – COM1A1, COM1A0: Compare Output Mode1A, bits 1 and 0 –Os bits de controle COM1A1 e COM1A0 determinam qual a ação no pino desaída quando o valor do Timer/Counter1 for igual ao valor de comparação noregistrador de Saída de Comparação – OCR1A. Essa ação afetará opino OC1A – Saída de Comparação A.

Bits 5,4 - COM1B1, COM1B0: Compare Output Mode1B, bits 1 and 0 –Os bits de controle COM1B1 e COM1B0 determinam qual a ação no pino desaída quando o valor do Timer/Counter1 for igual ao valor de comparação noregistrador de Saída de Comparação – OCR1B. Essa ação afetará o

pino OC1B – Saída de Comparação B.

A tabela 15-6 mostra as configurações desses bits para o modo decomparação:

Tabela 15-6:

No modo PWM, estes bits tem funções diferentes.

Bits 3..2 – Res: Reserved bits –Esses bits são reservados no AT90S8515 e são sempre lidos como zero.

Bits 1..0 – PWM11,PWM10: Pulse Width Modulator Select Bits 1 and 0 –Esses bits selecionam o modo PWM, conforme a tabela 15-7.

Tabela 15-7:

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  160

Page 170: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 170/217

 

Microcontrolador AT90S8515

Registrador B de Controle do Temporizador/Contador1 – TCCR1B

Bit 7 – ICNC1: Input Capture1 Noise Canceler (4 CKs) –Quando o bit ICNC1 for ZERO, o eliminador de ruído da entrada de capturaé desabilitado. Uma transição de subida/descida no pino ICP causará acaptura do Timer/Counter1. Quando o bit ICNC1 for UM, quatro amostrassucessivas serão amostradas no ICP – pino de entrada de captura, e todasas amostras devem ser iguais conforme a configuração do bit ICES1.

Bit 6 – ICES1: Input Capture1 Edge Select –Se o bit ICES1 for zerado, o conteúdo do Timer/Counter1 é transferido parao registrador de Captura – ICR1 – na transição de descida no pino de

Captura – ICP.Se o bit ICES1 for setado, o conteúdo do Timer/Counter1 é transferido parao registrador de Captura – ICR1 – na transição de subida no pino deCaptura – ICP.

Bits 5, 4 – Res: Reserved bits –Esses bits são reservados no AT90S8515 e são sempre lidos como zero.

Bit 3 – CTC1: Clear Timer/Counter1 on Compare Match –Se o bit CTC1 for setado, o Timer/Counter1 é forçado a $0000 no ciclo declock após o Timer/Counter1 ser igual ao valor de comparação A. Se o bitCTC1 for zerado, o Timer/Counter1 continua contando e seu valor não é

alterado. Dependendo do divisor de clock utilizado, a função de comparaçãodo valor do Timer/Counter1 pode se comportar de maneira diferente. Se odivisor de clock for 1, e o registrador de comparação A for carregado com ovalor C, a contagem com CTC1 setado fica:

... | C-2 | C-1 | C | 0 | 1 | ...

Se o divisor for configurado para 8, a contagem será:

... | C-1, C-1, C-1, C-1, C-1, C-1, C-1, C-1 | C, 0, 0, 0, 0, 0, 0, 0 | ...

No modo PWM, este bit não tem função.

Bits 2,1,0 – CS12, CS11, CS10: Clock Select1, bit 2,1 and 0 –Os bits 2, 1 e 0 da Seleção de Clock definem a fonte de clock doTimer/Counter0, conforme a tabela 15-8.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  161

Page 171: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 171/217

 

Microcontrolador AT90S8515

Tabela 15-8:

A condição de Stop desabilita o Timer/Counter1. As razões de CK sãoobtidas diretamente do clock do oscilador. Se o pino externo é usado comentrada de clock do Timer/Counter1, transições em PB1/(T1) irão ser contadasmesmo que o pino seja configurado como saída.

Temporizador/Contador1 – TCNT1H e TCNT1L

Este registrador de 16 bits é o Timer/Counter1. Para assegurar que

ambos os bytes alto e baixo sejam lidos ou escritos simultaneamente pelaCPU, o acesso a esses registradores é feito através de um registradortemporário de 8 bits (TEMP).

Escrita no TCNT1 Timer/Counter1 – Quando a CPU escreve no byte altoTCNT1H, o dado a ser escrito é colocado no registrador TEMP. Depois,quando a CPU escreve o byte baixo TCNT1L, este byte é combinado com obyte do registrador TEMP e todos os 16 bits são escritos simultaneamenteno registrador TCNT1 Timer/Counter1. Dessa forma, o byte alto TCNT1Hdeve ser acessado primeiro para uma escrita completa de 16 bits.

Leitura do TCNT1 Timer/Counter1 – Quando a CPU lê o byte baixoTCNT1L, o dado do byte baixo TCNT1L é enviado para a CPU e o dado dobyte alto TCNT1H é colocado no registrador TEMP. Quando a CPU lê osdados do byte alto TCNT1H, a CPU recebe os dados do registrador TEMP.Dessa forma, o byte baixo TCNT1L deve ser acessado primeiro para umaleitura completa de 16 bits.

O Timer/Counter1 é um contador ascendente/descendente (no modoPWM) com acesso para leitura e escrita. Se o Timer/Counter1 é escrito e uma

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  162

Page 172: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 172/217

 

Microcontrolador AT90S8515

fonte de clock é selecionada, o Timer/Counter1 continua contando no ciclo declock posterior à escrita do valor.

Registrador de Saída de Comparação do Temporizador/Contador1 –OCR1AH e OCR1AL

Registrador de Saída de Comparação do Temporizador/Contador1 –OCR1BH e OCR1BL

Os registradores de comparação são todos de 16 bits com acessos paraleitura ou escrita. Os registradores de comparação do Timer/Counter1 contêm

os valores a serem comparados continuamente com o valor do Timer/Counter1.As ações que serão executadas quando o valor de comparação for igual aovalor do Timer/Counter1 estão especificadas no registrador de controle e statusdo Timer/Counter1.

O evento de igualdade irá setar o flag de interrupção de comparação nociclo de clock seguinte ao evento da comparação.

Os registradores de comparação – OCR1A e OCR1B – sãoregistradores de 16 bits. Para assegurar que ambos os bytes alto e baixo sejamlidos ou escritos simultaneamente pela CPU, o acesso a esses registradores éfeito através de um registrador temporário de 8 bits (TEMP).

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  163

Page 173: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 173/217

 

Microcontrolador AT90S8515

Registrador de Captura de Entrada do Temporizador/Contador1 – ICR1H eICR1L

O registrador de captura de entrada é um registrador de 16 bits comacesso somente de leitura.

Quando uma transição de subida ou descida (de acordo com aconfiguração de transição para captura – ICES1) ocorre no pino de captura(ICP), o valor do Timer/Counter1 é transferido para o registrador de captura –ICR1. Ao mesmo tempo, o flag de captura – ICF1 – é setado

O registrador de captura – ICR1 – é registrador de 16 bits. Paraassegurar que ambos os bytes alto e baixo sejam lidos simultaneamente pelaCPU, o acesso a esse registrador é feito através de um registrador temporáriode 8 bits (TEMP).

Temporizador/Contador1 no modo PWM

Quando o modo PWM é selecionado, o Timer/Counter1, o registrador decomparação 1A – OCR1A e o registrador de comparação 1B – OCR1B formamum duplo PWM de 8, 9 ou 10 bits com saídas nos pinos PD5 (OC1A) e OC1B.O Timer/Counter1 atua com um contador ascendente/descendente que conta

de $0000 até TOP e retorna de TOP até $0000, repetindo o ciclo.Quando o valor do Timer/Counter1 for igual ao conteúdo de 10 bits doregistrador OCR1A ou OCR1B, os pinos PD5 (OC1A) / OC1B serão setados ouzerados de acordo com as configurações dos bits COM1A1/COM1A0 ouCOM1B1/COM1B0 no registrador de Controle do Timer/Counter1 TCCR1A.

A tabela 15-9 mostra os valores de TOP (valores máximos) do timer e dafreqüência do PWM.

Tabela 15-9:

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  164

Page 174: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 174/217

 

Microcontrolador AT90S8515

A tabela 15-10 mostra os bits de controle usados no modo decomparação1 e no modo PWM.

Tabela 15-10:

Quando OCR1 contêm $0000 ou TOP, as saídas OCR1A/OCR1B sãoatualizadas para BAIXO ou ALTO na comparação seguinte, de acordo com asconfigurações dos bits COM1A1/COM1A0 ou COM1B1/COM1B0.

A tabela 15-11 mostra a qual a saída PWM para OCR1X = $0000 orTOP.

Tabela 15-11:

No modo PWM, o flag de overflow do Timer/Counter1, TOV1, é setadoquando o contador chega a $0000. A interrupção por overflow doTimer/Counter1 é executada quando o bit de overflow do Timer/Counter1

(TOV1) é setado e os bits de habilitação de interrupção por overflow doTimer/Counter1 e de interrupção global estejam setados. Isso também seaplica para os flags e interrupções de comparação do Timer/Counter1.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  165

Page 175: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 175/217

 

Microcontrolador AT90S8515

15.10- Watchdog Timer

O Watchdog Timer utiliza um sinal de clock vindo de um osciladorinterno separado de 1 MHz. Essa é a freqüência típica para uma tensão dealimentação (VCC) de 5 V. O tempo de reset do Watchdog Timer é configuradopor um prescaler. A instrução WDR – Watchdog Reset – reinicia o Watchdog

Timer. Até oito períodos diferentes de clock podem ser selecionados paradeterminar o período de reset do Watchdog Timer. Se esse período expira semque haja um reset do Watchdog, o AT90S8515 é resetado e o vetor de reset éexecutado.

Registrador de Controle do Watchdog Timer – WDTCR

• Bits 7..5 - Res: Reserved bits –Esses bits são reservados no AT90S8515 e sempre serão lidos como zero.

• Bit 4 - WDTOE: Watch Dog Turn-Off Enable –Esse bit deve ser setado quando o bit WDE for zerado. Caso contrário, owatchdog não será desabilitado. Uma vez setado, o hardware irá zerar esse bitdepois de quatro ciclos de clock. Esse bit é usado para se evitar a desabilitaçãoacidental do Watchdog Timer.

• Bit 3 - WDE: Watch Dog Enable –Quando o bit WDE for setado, o Watchdog Timer é habilitado, e se o bit WDEfor zerado, o Watchdog Timer é desabilitado. O bit WDE só pode ser zerado seo bit WDTOE for setado. O procedimento para desabilitar o Watchdog Timer émostrado a seguir:

1. Na mesma operação, escrever um UM lógico em WDTOE e WDE. O UMlógico deve ser escrito em WDE mesmo que o bit esteja setado para iniciara operação de desabilitação do Watchdog Timer.

2. Durante os próximos quatro ciclos de clock, escrever um ZERO lógico emWDE. Isso desabilita o Watchdog Timer.

Bits 2..0 - WDP2, WDP1, WDP0: Watch Dog Timer Prescaler 2, 1 and 0 –Os bits WDP2, WDP1 e WDP0 determinam qual a divisão de clock que seráusada quando o Watchdog Timer estiver habilitado. Os diferentes valores deprescaler e os períodos de tempo são mostrados na tabela 15-12:

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  166

Page 176: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 176/217

 

Microcontrolador AT90S8515

Tabela 15-12:

A instrução WDR – Watchdog Reset – sempre deve ser executada antesque o Watchdog Timer seja habilitado. Isso assegura que o período de resetesteja de acordo com o período que foi configurado. Se o Watchdog Timer forhabilitado sem um reset, ele pode não começar a contar do valor zero.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  167

Page 177: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 177/217

 

Microcontrolador AT90S8515

15.11- Acesso para Leitura/Escrita na EEPROM

Os registradores de acesso à EEPROM estão disponíveis na memóriade I/O. O tempo de acesso para escrita é de 2,5 a 4 ms, dependendo da tensãode alimentação (VCC). Se o programa contém dados que serão escrita naEEPROM, algumas precauções devem ser tomadas.

Em fontes de alimentação filtradas, a tensão de alimentação (VCC)demora um certo tempo para estabilizar. Isso pode fazer com que o dispositivopermaneça funcionando com tensão menores do que a tensão especificadacomo mínima para o clock usado. Nessas condições, a CPU pode executarsaltos (jumps) no programa e eventualmente executar uma rotina de escrita naEEPROM.

Para garantir a integridade da EEPROM, um circuito externo de reset(detector de sub-tensão) deve ser usado. Um procedimento específico deescrita na EEPROM deve ser seguido para prevenir escritas errôneas. Quandoa EEPROM é acessada para leitura ou escrita, a CPU é parada por dois ciclosde clock antes da próxima instrução ser executada.

Registrador de Endereços da EEPROM – EEARH e EEARL

Os registradores de endereços da EEPROM – EEARH e EEARLespecificam qual o endereço a ser acessado na EEPROM (o AT90S8515possui 512 bytes de EEPROM). Os 512 bytes são acessados de maneiralinear.

Registrador de Dados da EEPROM – EEDR

• Bits 7..0 - EEDR7..0: EEPROM Data –

Para operações de escrita na EEPROM, o registrador EEDR contém o dado aser escrito na EEPROM no endereço dado pelo registrador EEAR. Paraoperações de leitura, o registrador EEDR contém o dado lido da EEPROM noendereço dado pelo registrador EEAR.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  168

Page 178: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 178/217

 

Microcontrolador AT90S8515

Registrador de Controle da EEPROM – EECR –

• Bit 7..3 - Res: Reserved bits –Esses bits são reservados no AT90S8515 e sempre serão lidos como zero.

• Bit 2 - EEMWE: EEPROM Master Write Enable –Se bit EEMWE estiver setado, setando o bit EEWE uma escrita é executada naEEPROM no endereço selecionado. Se o bit EEMWE estiver zerado, setar o bitEEWE não terá nenhum efeito. Quando o bit EEMWE for setado por software, ohardware zera o bit depois de quatro ciclos de clock.

• Bit 1 - EEWE: EEPROM Write Enable –

O bit EEWE é um sinal de habilitação da escrita na EEPROM. Quando umendereço e um dado estão corretamente colocados, o bit EEWE deve sersetado para que o valor seja escrito na EEPROM. O bit EEMWE deve estarsetado quando o UM lógico for escrito em EEWE, caso contrário, a escrita naEEPROM não ocorrerá. O seguinte procedimento deve ser seguindo para aexecução de uma escrita na EEPROM:1. Esperar até que EEWE seja zero.2. Escrever o novo endereço da EEPROM nos registradores EEARL e

EEARH.3. Escrever o dado a ser escrito no registrador EEDR.4. Escrever UM lógico no bit EEMWE no registrador EECR.5. Durante os próximos quatro ciclos de clock depois de setar o bit EEMWE,

escrever UM lógico no bit EECR.

Passado o tempo de acesso à escrita (tipicamente 2,5 ms com VCC = 5V e 4ms com VCC = 2,7V), o bit EEWE é zerado pelo hardware. O software podeesperar este bit se tornar zero antes de escrever o próximo byte. Quando o bitEEWE for setado, a CPU é parada por dois ciclos antes da próxima instruçãoser executada.

Importante: Uma interrupção dos passos 4 e 5 gerará uma falha no ciclo deescrita. Se uma rotina de interrupção que acessa a EEPROM é interrompidapor outro acesso à EEPROM, os registradores EEAR e EEDR serãomodificados, causando uma falha no acesso que foi interrompido. É

recomendado zerar o bit I (Global Interrupt Flag – SREG) durante os quatroúltimos passos para evitar problemas no acesso.

• Bit 0 - EERE: EEPROM Read Enable –O bit EERE é um sinal de habilitação para leitura da EEPROM. Quando oendereço correto foi colocado no registrador EEAR, o bit EERE deve sersetado. Quando o bit EERE for zerado pelo hardware, o dado lido estádisponível no registrador EERE. O acesso para leitura da EEPROM é deapenas uma instrução e não é necessário verificar o bit EERE. Quando o bit

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  169

Page 179: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 179/217

 

Microcontrolador AT90S8515

EERE estiver setado, a CPU é parada por dois ciclos antes da execução dapróxima instrução. O software poderia verificar o bit EEWE antes de iniciar umaoperação de leitura. Se a operação de escrita estiver sendo executada quandoum novo dado ou endereço é escrito nos registradores de I/O da EEPROM, aoperação de escrita será interrompida e o resultado é imprevisível.

Prevenção de Perdas de Dados na EEPROM

Em condições de baixa tensão de alimentação (VCC), dados naEEPROM podem ser perdidos porque a tensão de alimentação é muito baixapara a CPU e para a EEPROM operarem de maneira correta.A perda de dados da EEPROM pode ocorrer de duas maneiras quando atensão está muito baixa.

Primeiro, a seqüência de escrita na EEPROM requer uma tensãomínima para trabalhar corretamente. Segundo, a CPU pode executarinstruções de maneira incorreta se a tensão de alimentação for muito baixa.

Algumas recomendações para se evitar a perda de dados da EEPROM:

1. Manter o RESET do AVR ativo (nível baixo) quando a tensão dealimentação estiver muito baixa. Isso pode ser feito com um circuito externode reset (Brown-Out Detector – BOD).

2. Manter o AVR em Power Down Mode quando a tensão de alimentaçãoestiver muito baixa. Isso evita que a CPU decodifique e execute instruções,protegendo efetivamente os registradores da EEPROM contra escritas.

3. Armazenar constantes na memória Flash se o software não precisar alteraresse dado. A memória Flash não pode ser modificada pela CPU e, por isso,o dado nunca será perdido.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  170

Page 180: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 180/217

 

Microcontrolador AT90S8515

15.12- UART

O AT90S8515 possui um Receptor e Transmissor Assíncrono Universal(UART) full duplex (com registradores de transmissão e recepção separados).As principais características são:

Gerador de baud rate (taxa de transmissão/recepção) pode gerar várias

taxas (bps).Altas taxas de baud com cristais de baixa freqüência.8 ou 9 bits de dados.Filtro contra ruído.Detecção de Overrun (perda de dado).Detecção de Framing Error (falha na detecção do STOP bit).Detecção de Falso START bit.Três interrupções separadas: TX Complete (transmissão completada), TXData Register Empty (registrador de dados vazio) e RX Complete (recepçãocompletada).

Transmissão de DadosA transmissão de dados é iniciada pela escrita do dado a ser transmitido

no registrador de dados da UART – UDR.Se o bit 10 (11) do registrador de deslocamento do transmissor tiver sido

transmitido, um novo dado é transferido do UDR para o registrador dedeslocamento. Nesse momento, o bit UDRE (registrador de dados da UARTvazio) no registrador de status da UART – USR, é setado.

Quando esse bit for UM, o UDR da UART está pronto para receber opróximo caracter. No momento que um dado é transferido do UDR para oregistrador de deslocamento de 10 (11) bits, o bit 0 do registrador dedeslocamento é zerado (bit START) e o bit 9 ou 10 é setado (bit STOP). Se o

dado possui 9 bits (o bit CHR9 no registrador de controle da UART, UCR, ésetado), o bit TXB8 no UCR é transferido para o bit 9 do registrador dedeslocamento do transmissor.

Depois da transferência do UDR para o registrador de deslocamento, obit START é transmitido na freqüência de clock do Baud Rate (taxa detransmissão) pelo pino TXD. Em seguida, o dado é transmitido bit a bit,começando pelo menos significativo (LSB). Depois do bit de STOP sertransmitido, o registrador de deslocamento é carregado se qualquer dado tenhasido escrito no UDR durante a transmissão. Durante a carga, o bit UDRE ésetado. Se não existir nenhum dado no UDR a ser enviado, o UDREpermanecerá em UM até que UDR contenha um novo dado. Se nenhum dadofoi escrito, e o bit de STOP está presente no pino TXD por um bit de largura, o

flag TX Complete, TXC, no USR é setado.O bit TXEN no UCR habilita o transmissor da UART quando estiversetado. Se esse bit for zerado, o pino PD1 pode ser usado com um pino de I/O.Quando o bit TXEN é setado, o transmissor da UART será conectada a PD1,que será forçada a ser saída independente da configuração do bit 1 doregistrador DDRD (registrador de direção do PORT D).

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  171

Page 181: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 181/217

 

Microcontrolador AT90S8515

Recepção de Dados

O circuito lógico do receptor amostra o pino RXD numa freqüência 16vezes maior do que a taxa de transmissão. Enquanto a linha é inativa, umaúnica amostra em nível ZERO é interpretada como sendo uma transição dedescida do bit START e a seqüência de detecção do bit START é iniciada.

Depois da transição de descida, o receptor amostra o pino RXD nas amostras8, 9 e 10. Se duas ou mais amostras tiverem nível lógico UM, o bit START éconsiderado um ruído e o receptor volta a esperar uma nova transição dedescida.

Entretanto, se um bit de START válido é detectado, a amostragem dosbits seguintes é feita também nas amostras 8, 9 e 10. O valor lógico encontradoem pelo menos duas das três amostras é considerado como o valor do bit.Todos os bits são deslocados para o registrador de deslocamento da maneiracomo eles são amostrados.

Fig. 15-9: Amostragem dos dados recebidos pela UART

Quando o bit STOP entra no receptor, a maioria de três amostras deveser UM para que o bit de STOP seja aceito. Se dois ou mais amostras sãoZERO, o flag Framing Error (FE) no registrador de Status da UART (USR) ésetado. Antes da leitura de UDR, o usuário deve verificar sempre o bit FE paradetectar o Framing Error.

Mesmo que o bit de STOP não tenha sido detectado no fim da recepçãode um dado, esse dado é transferido para o UDR e o flag RXC no USR é

setado. Na realidade, UDR corresponde fisicamente a dois registradores, umpara transmissão e outro para recepção de dados. Quando UDR é lido, oregistrador de recepção de dados é acessado e quando é escrito, o registradorde transmissão de dados é acessado.

Se a palavra de dados possui 9 bits (o bit CHR9 no registrador deControle da UART, UCR, é setado), o bit RXB8 no UCR é atualizado com o bit9 do registrador de deslocamento quando o dado é transferido para UDR.

Se UDR não foi lido e um novo dado foi recebido, o flag Overrun (OR) ésetado. Isso significa que o último dado deslocado para o registrador dedeslocamento não pôde ser transferido para UDR e será perdido. O bit OR émantido até que um dado válido no UDR seja lido

Quando o bit RXEN no registrador UCR é zerado, o receptor é

desabilitado. Isso significa que o pino PD0 pode ser usado como um pino deI/O. Quando o bit RXEN é setado, o receptor da UART é conectado a PD0, queé forçado a ser uma entrada, independente da configuração do bit 0 doregistrador DDRD (registrador de direção do PORT D). Se PD0 é forçado comoentrada pela UART, o bit 0 de PORTD pode ainda ser usado para controlar oresistor de pull-up no pino.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  172

Page 182: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 182/217

 

Microcontrolador AT90S8515

Se o bit CHR9 no registrador UCR é setado, os caracteres transmitidos erecebidos tem 9 bits mais os bits de START e STOP. O 9º bit a ser transmitidoé o bit TXB8 no registrador UCR. O 9º bit recebido é o bit RXB8 no registradorUCR.

Controle da UART

Registrador de Dados da UART – UDR

O registrador UDR fisicamente corresponde a dois registradoresseparados que compartilham o mesmo endereço de I/O. Ao escrever noregistrador, o registrador de transmissão da UART é escrito. Ao ler doregistrador, o registrador de recepção da UART é lida.

Registrador de Status da UART – USR

O USR é um registrador que contém informações de status da UART.

Bit 7 – RXC: UART Receive Complete –Esse bit é setado quando o dado recebido é transferido do registrador de

deslocamento para UDR. Esse bit é setado mesmo que ocorra um framingerror. Se o bit RXCIE no UCR estiver setado, a interrupção de recepçãocompleta da UART será executada se o bit RXC estiver setado. RXC ézerado com a leitura de UDR.

Bit 6 – TXC: UART Transmit Complete –Esse bit é setado quando um dado (incluindo o bit STOP) no registrador dedeslocamento foi transmitido e nenhum novo dado foi escrito no UDR.Quando o bit TXCIE no UCR é setado, se o bit TXC é setado, umainterrupção por transmissão completa na UART é executada. TXC é zeradopor hardware pela execução da rotina de tratamento da interrupção.

Bit 5 – UDRE: UART Data Register Empty –Esse bit é setado quando um dado escrito no UDR é transferido para oregistrador de deslocamento do transmissor. Isso indica que o transmissorestá pronto para receber um novo caracter para transmissão. Quando o bitUDRIE no UCR é setado, e o bit UDRE é setado, a interrupção por registrode dados da UART vazio será executada. Quando uma interrupção ocorre,a rotina de interrupção por registrador de dados da UART vazio deveescrever no UDR para zerar o bit UDRE, caso contrário, uma nova

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  173

Page 183: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 183/217

 

Microcontrolador AT90S8515

interrupção irá ocorrer quando a rotina de interrupção terminar. UDRE ésetado durante o reset para indicar que o transmissor está pronto.

Bit 4 – FE: Framing Error –Esse bit é setado quando um Framing Error é detectado, ou seja, um bit deSTOP foi amostrado como ZERO. O bit FE é zerado quando o bit de STOP

de um dado é recebido como UM.

Bit 3 – OR: Overrun –Esse bit é setado quando um Overrun é detectado, ou seja, quando o dadono UDR não foi lido antes do próximo dado ter sido recebido no registradorde deslocamento.O bit OR é mantido até que um dado válido no UDR seja lido. O bit OR ézerado quando um dado é recebido e transferido para UDR.

Bits 2..0 – Res: Reserved bits –Esses bits são reservados no AT90S8515 e são sempre lidos como zero.

Registrador de Controle da UART – UCR

Bit 7 – RXCIE: RX Complete Interrupt Enable –Quando esse bit é setado, se o bit RXC no USR é setado, a rotina deinterrupção por recepção completa será executada se as interrupções

estiverem habilitadas (bit I em SREG).

Bit 6 – TXCIE: TX Complete Interrupt Enable –Quando esse bit é setado, se o bit TXC no USR é setado, a rotina deinterrupção por transmissão completa será executada se as interrupçõesestiverem habilitadas (bit I em SREG).

Bit 5 – UDRIE: UART Data Register Empty Interrupt Enable –Quando esse bit é setado, se o bit UDRE no USR é setado, a rotina deinterrupção por registrador de dados da UART vazio será executada se asinterrupções estiverem habilitadas (bit I em SREG).

Bit 4 – RXEN: Receiver Enable –Quando setado, esse bit habilita o receptor da UART. Se o receptor estiverdesabilitado, os flags de status TXC, OR e FE não serão setados. Se essesflags estiverem setados, desabilitar o RXEN não irá zerar esses bits.

Bit 3 – TXEN: Transmitter Enable –Quando setado, esse bit habilita o transmissor da UART. Se o transmissor édesabilitado durante a transmissão de um dado, a transmissão não é

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  174

Page 184: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 184/217

 

Microcontrolador AT90S8515

desabilitada até que os dados no registrador de deslocamento e no UDRtenham sido completamente transmitidos.

Bit 2 – CHR9: 9-bit Characters –Quando CHR9 é setado, os dados transmitidos e recebidos possuem 9 bitsmais o bit de START e STOP. O 9º bit é lido e escrito nos bits RXB8 e TXB8

no UCR, respectivamente. O 9º bit de dado pode ser usado como um bit deSTOP extra ou um bit de Paridade.

Bit 1 – RXB8: Receive Data Bit 8 –Quando o bit CHR9 está setado, RXB8 é o 9º bit do dado recebido.

Bit 0 – TXB8: Transmit Data Bit 8 –Quando o bit CHR9 está setado, TXB8 é o 9º bit do dado a ser transmitido.

Gerador de BAUD Rate

O gerador de baud rate é um divisor de freqüência que gera taxas detransmissão de acordo com a seguinte equação:

Fig. 15-10: Equação que relaciona a freqüência do oscilador com o baud rate

Registrador de BAUD Rate da UART - UBRR

O registrador UBRR é um registrador de leitura/escrita que especifica obaud rate de acordo com a equação anterior.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  175

Page 185: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 185/217

 

Microcontrolador AT90S8515

15.13- Comparador Analógico

O comparador analógico compara tensões da entrada positiva PB2(AIN0) e da entrada negativa PB3 (AIN1). Quando a tensão na entrada positivaPB2 (AIN0) é maior do que a tensão na entrada negativa PB3 (AIN1), a saída

do comparador analógico, ACO, é setado. A saída do comparador pode serusada para disparar a função de entrada de captura do Timer/Counter1. Ocomparador também pode disparar uma interrupção separada, exclusiva para ocomparador analógico. O usuário pode selecionar a ocorrência da interrupçãona borda de subida, descida ou inversão da saída do comparador.

Registrador de Controle e Status do Comparador Analógico – ACSR

Bit 7 – ACD: Analog Comparator Disable –Quando esse bit é setado, o comparador analógico é desligado. Casocontrário, o comparador analógico ficará ligado.

Bit 6 – Res: Reserved bit –Esse bit é reservado no AT90S8515 e é sempre lido como zero.

Bit 5 – ACO: Analog Comparator Output –O bit ACO está diretamente conectado à saída do comparador analógico.

Bit 4 – ACI: Analog Comparator Interrupt Flag –Esse bit é setado quando um evento definido por ACIS1 e ACIS0 ocorre nasaída do comparador. A rotina de interrupção do comparador analógico éexecutada se o bit ACIE está setado e o bit I no SREG está setado.

Bit 3 – ACIE: Analog Comparator Interrupt Enable –Quando o bit ACIE é setado e o bit I no registrador de Status (SREG) estásetado, a interrupção do comparador analógico está ativada. Se for zerado,a interrupção será desabilitada.

Bit 2 – ACIC: Analog Comparator Input Capture Enable –Se esse bit for setado, isso habilita a função de captura do Timer/Counter1a ser disparada pelo comparador analógico. Neste caso, a saída docomparador é conectada diretamente na lógica da entrada de captura,fazendo com que o comparador utilize o redutor de ruído e ascaracterísticas de seleção de transição da interrupção de captura doTimer/Counter1. Se esse bit for zerado, a conexão entre o comparadoranalógico e a função de entrada de captura não será feita.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  176

Page 186: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 186/217

 

Microcontrolador AT90S8515

Bits 1,0 – ACIS1, ACIS0: Analog Comparator Interrupt Mode Select –Esses bits determinam qual evento no comparador irá disparar ainterrupção do comparador analógico. As configurações de ACIS1/ACIS0são mostradas na tabela 15-12.

Tabela 15-12:

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  177

Page 187: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 187/217

 

Microcontrolador AT90S8515

15.14- Interface com SRAM Externa

A interface com uma SRAM consiste:Port A: Barramento multiplexado entre a parte baixa do barramento deendereço e o barramento de dadosPort C: Parte alta do barramento de endereços

Pino ALE: Address latch enable – Habilitação do Latch de EndereçosPinos RD e W R : Sinais de controle de Leitura e Escrita

A SRAM de dados externa é habilitada quando o bit SRE – bit dehabilitação da SRAM externa no registrador de controle da MCU, o MCUCR – ésetado e as definições de direção do registrador DDRA serão anuladas.Quando o bit SRE é zerado, a SRAM externa é desabilitada e as configuraçõesde direção dos pinos podem ser usadas.

Quando ALE vai de ALTO para BAIXO, um endereço válido está no PortA. ALE se mantém em BAIXO durante a transferência de dados. RD e WR sãoativados apenas durante o acesso à SRAM externa. A figura abaixo mostra

como conectar uma SRAM externa usando um AVR e 8 latches que sãohabilitados com G em ALTO. Tipicamente, a SRAM externa é acessada emtrês ciclos. Se um estado de espera (WAIT STATE) for necessário, o bit SRWno registrador MCUCR deve ser setado.

Note que o PORTA só é um barramento de dados em um ciclo. Assimque o acesso aos dados termina, PORTA volta a ser o barramento baixo deendereços.

Fig. 15-11: Conexão de uma SRAM Externa com um AVR

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  178

Page 188: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 188/217

 

Microcontrolador AT90S8515

15.15- Portas de Entrada/Saída

Todos os ports tem a funcionalidade de Ler-Modificar-Escrever como umport digital I/O. Isso significa que a direção de um pino do port pode ser trocadasem que a direção de outro pino seja trocada com as instruções SBI e CBI. Omesmo se aplica para a troca do valor do drive (se configurado como saída) ou

habilitando/desabilitando o resistor de pull-up (se configurado como entrada).

Port A

O port A é um port bidirecional de 8 bits. Três endereços na memória deI/O são usados para alocar o Port A, um para o registrador de dados – PORTA,$1B($3B), registrador de direção dos dados – DDRA, $1A($3A) e os pinos deentrada do port A – PINA, $19($39). O endereço dos pinos de entrada do portA é apenas de leitura, enquanto o registrador de dados e de direção de dadossão de leitura/escrita.

Todos os pinos do port possuem resistores de pull-up individualmenteselecionáveis. Os buffers de saída do port A podem fornecer 20 mA e assim

acionar diretamente display de LED. Quando os pinos PA0 até PA7 são usadoscomo entradas e são externamente colocadas em ZERO, elas se tornarãofontes de corrente se o resistor de pull-up interno está ativado.

Os pinos do port A podem ser usados para o acesso à uma SRAM dedados externa. O port A pode ser configurado para ser um barramentomultiplexado entre a parte baixa dos endereços e dados durante o acesso àmemória de dados externa. Nesse modo, o port A possui resistores de pull-upinternos.

Quando o port A é usado para a acessar a SRAM externa pelo bit SRE –External SRAM Enable – no registrador MCUCR – registrador de controle daMCU, a configuração dos bits no registrador de direção de dados – DDRA – éanulada.

Registrador de Dados do Port A – PORTA

Registrador de Direção de Dados do Port A – DDRA

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  179

Page 189: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 189/217

 

Microcontrolador AT90S8515

Endereço dos Pinos de Entrada do Port A – PINA

O endereço dos pinos do port A – PINA – não é um registrador e esseendereço habilita o acesso ao valor físico em cada pino do port A. Ao ler oPORTA, o latch de dados do port A é lido e ao ler PINA, o valor lógico nospinos é lido.

Port A como Entrada/Saída Digital

PAn, pino de I/O: o bit DDAn no registrador DDRA seleciona a direçãodesse pino. Se DDAn for UM, PAn é configurado como um pino de saída. SeDDAn for ZERO, PAn é configurado como um pino de entrada. Se PORTAn forUM quando o pino foi configurado como uma entrada, o resistor de pull-upMOS é ativado. Para desligar o resistor de pull-up, o PORTAn deve ser zeradoou o pino deve ser configurado como uma saída. Os pinos do port A estarãoem tri-state quando um reset ocorre, sempre se o clock não está ativo.

A tabela 15-13 mostra a configuração de DDAn e PORTAn.

Tabela 15-13:

Port B

O port B é um port bidirecional de 8 bits. Três endereços na memória deI/O são usados para alocar o Port B, um para o registrador de dados – PORTB,$18($38), registrador de direção dos dados – DDRB, $17($37) e os pinos de

entrada do port B – PINB, $16($36). O endereço dos pinos de entrada do portB é apenas de leitura, enquanto o registrador de dados e de direção de dadossão de leitura/escrita.

Todos os pinos do port possuem resistores de pull-up individualmenteselecionáveis. Os buffers de saída do port B podem fornecer 20 mA e assimacionar diretamente display de LED. Quando os pinos PB0 até PB7 são usadoscomo entradas e são externamente colocadas em ZERO, elas se tornarãofontes de corrente se o resistor de pull-up interno está ativado.

A tabela 15-14 mostra as funções alternativas dos pinos do port B.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  180

Page 190: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 190/217

 

Microcontrolador AT90S8515

Tabela 15-14:

Quando os pinos são usados com outra função, os registradores DDRBe PORTB deverão ser configurados conforme a descrição da função.

Registrador de Dados do Port B – PORTB

Registrador de Direção de Dados do Port B – DDRB

Endereço dos Pinos de Entrada do Port B – PINB

O endereço dos pinos do port B – PINB – não é um registrador e esseendereço habilita o acesso ao valor físico em cada pino do port B. Ao ler oPORTB, o latch de dados do port B é lido e ao ler PINB, o valor lógico nospinos é lido.

Port B como Entrada/Saída Digital

PBn, pino de I/O: o bit DDBn no registrador DDRB seleciona a direçãodesse pino. Se DDBn for UM, PBn é configurado como um pino de saída. SeDDBn for ZERO, PBn é configurado como um pino de entrada. Se PORTBn for

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  181

Page 191: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 191/217

 

Microcontrolador AT90S8515

UM quando o pino foi configurado como uma entrada, o resistor de pull-upMOS é ativado. Para desligar o resistor de pull-up, o PORTBn deve ser zeradoou o pino deve ser configurado como uma saída. Os pinos do port B estarãoem tri-state quando um reset ocorre, sempre se o clock não está ativo.

A tabela 15-15 mostra a configuração de DDBn e PORTBn.

Tabela 15-15:

Outras Funções do Port B

As funções alternativas dos pinos do port B são as seguintes:

SCK – Port B, Bit 7 –SCK: pino de saída de clock no modo master, pino de entrada de clock nomodo slave da SPI. Quando a SPI é habilitada como slave, esse pino éconfigurado como uma entrada, anulando as definições de DDB7. Quando aSPI é habilitada como master, a direção dos dados desse pino é controladapor DDB7. Quando o pino é forçado a ser uma entrada, o resistor de pull-upé controlado pelo bit PORTB7.

MISO – Port B, Bit 6 –MISO: pino de entrada de dados no modo master, pino de saída de dados

no modo slave da SPI. Quando a SPI é habilitada como master, esse pino éconfigurado como entrada, anulando as definições de DDB6. Quando a SPIé habilitada como slave, a direção dos dados desse pino é controlada porDDB6. Quando o pino é forçado a ser uma entrada, o resistor de pull-up écontrolado pelo bit PORTB6.

MOSI – Port B, Bit 5 –]MOSI: pino de saída de dados no modo master, pino de entrada de dadosno modo slave da SPI. Quando a SPI é habilitada como slave, esse pino éconfigurado como uma entrada, anulando as definições de DDB5. Quando aSPI é habilitada com o master, a direção dos dados desse pino é controladapor DDB5. Quando o pino é forçado a ser uma entrada, o resistor de pull-up

é controlado pelo bit PORTB5.

SS – Port B, Bit 4 –SS : pino de entrada de seleção do slave. Quando a SPI é habilitada comoslave, esse pino é configurado como uma entrada, anulando as definiçõesde DDB4. Como slave, a SPI é habilitada quando esse pino é colocado emBAIXO. Quando a SPI for habilitada como master, a direção dos dados

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  182

Page 192: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 192/217

 

Microcontrolador AT90S8515

desse pino é controlada por DDB4. Quando o pino é forçado a ser umaentrada, o resistor de pull-up é controlado pelo bit PORTB4.

AIN1 – Port B, Bit 3 –AIN1: entrada negativa do comparador analógico. Quando esse pino éconfigurado como uma entrada (DDR3 é zerado) e com o resistor MOS de

pull-up desligado (PB3 é zerado), esse pino também é usado como aentrada negativa do comparador analógico.

AIN0 – Port B, Bit 2 –AIN0: entrada positiva do comparador analógico. Quando esse pino éconfigurado como uma entrada (DDR2 é zerado) e com o resistor MOS depull-up desligado (PB2 é zerado), esse pino também é usado como aentrada posiva do comparador analógico.

T1 – Port B, Bit 1 –T1: entrada da fonte de clock do Timer/Counter1.

T0 – Port B, Bit 0 –T0: entrada da fonte de clock do Timer/Counter0.

Port C

O port C é um port bidirecional de 8 bits. Três endereços na memória deI/O são usados para alocar o Port C, um para o registrador de dados – PORTC,$15($35), registrador de direção dos dados – DDRC, $14($34) e os pinos deentrada do port C – PINC, $13($33). O endereço dos pinos de entrada do portC é apenas de leitura, enquanto o registrador de dados e de direção de dadossão de leitura/escrita.

Todos os pinos do port possuem resistores de pull-up individualmenteselecionáveis. Os buffers de saída do port C podem fornecer 20 mA e assimacionar diretamente display de LED. Quando os pinos PC0 até PC7 sãousados como entradas e são externamente colocadas em ZERO, elas setornarão fontes de corrente se o resistor de pull-up interno está ativado.

Os pinos do port C podem ser usados para o acesso à uma SRAM dedados externa. O port C pode ser configurado para ser o barramento da partealta dos endereços durante o acesso à memória de dados externa.

Quando o port C é usado para a acessar a SRAM externa pelo bit SRE –External SRAM Enable – no registrador MCUCR – registrador de controle daMCU, a configuração dos bits no registrador de direção de dados – DDRC – éanulada.

Registrador de Dados do Port C – PORTC

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  183

Page 193: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 193/217

 

Microcontrolador AT90S8515

Registrador de Direção de Dados do Port C – DDRC

Endereço dos Pinos de Entrada do Port C – PINC

O endereço dos pinos do port C – PINC – não é um registrador e esseendereço habilita o acesso ao valor físico em cada pino do port C. Ao ler o

PORTC, o latch de dados do port C é lido e ao ler PINC, o valor lógico nospinos é lido.

Port C como Entrada/Saída Digital

PCn, pino de I/O: o bit DDCn no registrador DDRC seleciona a direçãodesse pino. Se DDCn for UM, PCn é configurado como um pino de saída. SeDDCn for ZERO, PCn é configurado como um pino de entrada. Se PORTCn forUM quando o pino foi configurado como uma entrada, o resistor de pull-upMOS é ativado. Para desligar o resistor de pull-up, o PORTCn deve ser zeradoou o pino deve ser configurado como uma saída. Os pinos do port C estarão

em tri-state quando um reset ocorre, sempre se o clock não está ativo.A tabela 15-16 mostra a configuração de DDCn e PORTCn.

Tabela 15-16:

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  184

Page 194: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 194/217

 

Microcontrolador AT90S8515

Port D

O port D é um port bidirecional de 8 bits. Três endereços na memória deI/O são usados para alocar o Port D, um para o registrador de dados – PORTD,$12($32), registrador de direção dos dados – DDRD, $11($31) e os pinos deentrada do port D – PIND, $10($30). O endereço dos pinos de entrada do port

D é apenas de leitura, enquanto o registrador de dados e de direção de dadossão de leitura/escrita.Todos os pinos do port possuem resistores de pull-up individualmente

selecionáveis. Os buffers de saída do port D podem fornecer 20 mA e assimacionar diretamente display de LED. Quando os pinos PD0 até PD7 sãousados como entradas e são externamente colocadas em ZERO, elas setornarão fontes de corrente se o resistor de pull-up interno está ativado.

A tabela 15-17 mostra as funções alternativas dos pinos do port D.

Tabela 15-17:

Registrador de Dados do Port D – PORTD

Registrador de Direção de Dados do Port D – DDRD

Endereço dos Pinos de Entrada do Port D – PIND

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  185

Page 195: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 195/217

 

Microcontrolador AT90S8515

O endereço dos pinos do port D – PIND – não é um registrador e esseendereço habilita o acesso ao valor físico em cada pino do port D. Ao ler oPORTD, o latch de dados do port D é lido e ao ler PIND, o valor lógico nospinos é lido.

Port D como Entrada/Saída Digital

PDn, pino de I/O: o bit DDDn no registrador DDRD seleciona a direçãodesse pino. Se DDDn for UM, PDn é configurado como um pino de saída. SeDDDn for ZERO, PDn é configurado como um pino de entrada. Se PORTDn forUM quando o pino foi configurado como uma entrada, o resistor de pull-upMOS é ativado. Para desligar o resistor de pull-up, o PORTDn deve ser zeradoou o pino deve ser configurado como uma saída. Os pinos do port D estarãoem tri-state quando um reset ocorre, sempre se o clock não está ativo.

A tabela 15-18 mostra a configuração de DDDn e PORTDn.

Tabela 15-18:

Outras Funções do Port D

RD – Port D, Bit 7 –RD é o sinal de controle para leitura da memória de dados externa.

WR – Port D, Bit 6 –WR é o sinal de controle para escrita da memória de dados externa.

OC1A – Port D, Bit 5 –OC1A, saída de comparação do Timer/Counter1: o pino PD5 pode serusado como uma saída externa quando o valor de comparação é igual aoTimer/Counter1. O pino PD5 deve ser configurado como uma saída (DDD5deve ser setado).

INT1 – Port D, Bit 3 –INT1, entrada de interrupção externa 1: o pino PD3 serve como entradapara a interrupção externa 1 para a MCU.

INT0 – Port D, Bit 2 –INT0, entrada de interrupção externa 0: o pino PD2 serve como entradapara a interrupção externa 0 para a MCU.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  186

Page 196: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 196/217

 

Microcontrolador AT90S8515

TXD – Port D, Bit 1 –Transmissão de dados (pino de saída de dados da UART). Quando otransmissor da UART está habilitado, esse pino é configurado como saída.

RXD – Port D, Bit 0 –Recepção de dados (pino de entrada de dados da UART). Quando o

receptor da UART está habilitado, esse pino é configurado como entrada.Quando a UART força esse pino ser uma entrada, um nível lógico UM emPORTD0 irá acionar o resistor de pull-up interno.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  187

Page 197: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 197/217

 

Guia para Uso do Assembler AVR

16. Guia para Uso do Assembler AVR

16.1- Introdução

O Assembler AVR converte um código fonte feito em assembly para umcódigo objeto que será utilizado em microcontroladores da família AT90S Atmel.Esse código objeto gerado pode ser usado em um simulador ou emulador (In-Circuit Emulator). O Assembler também gera um código objeto de programaçãoda memória de programa (FLASH) dos microcontroladores AVR.

16.2- Código Fonte do Assembler

O Assembler utiliza arquivos fonte que contém mnemônicos deinstruções, labels e diretivas. Os mnemônicos de instruções e as diretivasnecessitam de operados.

Cada linha de código é limitada em 120 caracteres. Cada linha pode terum label, que é uma seqûência de letras ou números terminada com “:”. Esseslabels são usados como “alvos” para instruções de pulo ou desvio ou comonome de variáveis na memória de Programa ou na RAM.

Uma linha do código fonte pode ter as seguintes formas:

1. [label:] diretiva [operandos] [Comentários]2. [label:] instruções [operandos] [Comentários]3. Comentários4. Linha em branco

Um comentário é feito da seguinte maneira:; [texto]

Os itens colocados em colchetes [] são opcionais. O texto colocado entreo delimitador de comentários (;) e o caracter fim de linha (EOL) é ignorado peloAssembler.

Exemplos:

label: .EQU var1=100 ; Faz var1 igual 100 (Diretiva).EQU var2=200 ; Faz var2 igual 200

test: rjmp test ; Loop Infinito (Instrução); Linha comentada; Outra linha comentada

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  188

Page 198: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 198/217

 

Guia para Uso do Assembler AVR

16.3- Registradores da Memória de I/O do AT90S8515

Tabela 16-1:Endereço Nome Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

$3F ($5F) SREG I T H S V N Z C$3E ($5E) SPH SP15 SP14 SP13 SP12 SP11 SP10 SP9 SP8

$3D ($5D) SPL SP7 SP6 SP5 SP4 SP3 SP2 SP1 SP0$3C ($5C) Reserved$3B ($5B) GIMSK INT1 INT0 - - - - - -

$3A ($5A) GSER INTF1 INTF0 - - - - - -$39 ($59) TIMSK TOIE1 OCIE1A OCIE1B - TICIE1 - TOIE0 -$38 ($58) TSER TOV1 OCF1A OCF1B - ICF1 - TOV0 -$37 ($57) Reserved

$36 ($56) Reserved$35 ($55) MCUCR SRE SRW SE SM ISC11 ISC10 ISC01 ISC00

$34 ($54) Reserved$33 ($53) TCCR0 - - - - - CS02 CS01 CS00$32 ($52) TCNT0 Timer/Counter0 (8 Bit)

... Reserved$2F ($4F) TCCR1A COM1A1 COM1A0 COM1B1 COM1B0 - - PWM11 PWM10$2E ($4E) TCCR1B ICNC1 ICES1 - - CTC1 CS12 CS11 CS10$2D ($4D) TCNT1H Timer/Counter1 - Counter Register High Byte$2C ($4C) TCNT1L Timer/Counter1 - Counter Register Low Byte$2B ($4B) OCR1AH Timer/Counter1 - Output Compare Register A High Byte$2A ($4A) OCR1AL Timer/Counter1 - Output Compare Register A Low Byte

$29 ($49) OCR1BH Timer/Counter1 - Output Compare Register B High Byte$28 ($48) OCR1BL Timer/Counter1 - Output Compare Register B Low Byte

... Reserved$25 ($45) ICR1H Timer/Counter1 - Input Capture Register High Byte$24 ($44) ICR1L Timer/Counter1 - Input Capture Register Low Byte

... Reserved

$21 ($41) WDTCR - - - WDTOE WDE WDP2 WDP1 WDP0

$20 ($40) Reserved$1F ($3F) EEARH - - - - - - - EEAR8

$1E ($3E) EEARL EEPROM Address Register Low Byte$1D ($3D) EEDR EEPROM Data Register$1C ($3C) EECR - - - - - EEMWE EEWE EERE

$1B ($3B) PORTA PORTA7 PORTA6 PORTA5 PORTA4 PORTA3 PORTA2 PORTA1 PORTA0

$1A ($3A) DDRA DDA7 DDA6 DDA5 DDA4 DDA3 DDA2 DDA1 DDA0$19 ($39) PINA PINA7 PINA6 PINA5 PINA4 PINA3 PINA2 PINA1 PINA0

$18 ($38) PORTB PORTB7 PORTB6 PORTB5 PORTB4 PORTB3 PORTB2 PORTB1 PORTB0$17 ($37) DDRB DDB7 DDB6 DDB5 DDB4 DDB3 DDB2 DDB1 DDB0$16 ($36) PINB PINB7 PINB6 PINB5 PINB4 PINB3 PINB2 PINB1 PINB0

$15 ($35) PORTC PORTC7 PORTC6 PORTC5 PORTC4 PORTC3 PORTC2 PORTC1 PORTC0$14 ($34) DDRC DDC7 DDC6 DDC5 DDC4 DDC3 DDC2 DDC1 DDC0$13 ($33) PINC PINC7 PINC6 PINC5 PINC4 PINC3 PINC2 PINC1 PINC0

$12 ($32) PORTD PORTD7 PORTD6 PORTD5 PORTD4 PORTD3 PORTD2 PORTD1 PORTD0$11 ($31) DDRD DDD7 DDD6 DDD5 DDD4 DDD3 DDD2 DDD1 DDD0$10 ($30) PIND PIND7 PIND6 PIND5 PIND4 PIND3 PIND2 PIND1 PIND0

$0F ($2F) SPDR SPI Data Register$0E ($2E) SPSR SPSE WCOL - - - - - -$0D ($2D) SPCR SPIE SPE DORD MSTR CPOL CPHA SPR1 SPR0

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  189

Page 199: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 199/217

 

Guia para Uso do Assembler AVR

$0C ($2C) UDR UART I/O Data Register$0B ($2B) USR RXC TXC UDRE FE OR - - -$0A ($2A) UCR RXCIE TXCIE UDRIE RXEN TXEN CHR9 RXB8 TXB8

$09 ($29) UBRR UART Baud Rate Register$08 ($28) ACSR ACD - ACO ACI ACIE ACIC ACIS1 ACIS0

… Reserved

$00 ($20) Reserved

Bits reservados devem ser escritos com zero, se forem acessados.Endereços de memória de I/O reservados nunca devem ser escritos. Algunsflags de status são zerados com a escrita do valor lógico UM neles.

As instruções CBI e SBI operarão em todos os bits dos registradores deI/O, escrevendo um UM lógico no flag lido como UM lógico e assim zerando oflag. As instruções CBI e SBI operam com os registradores de $00 a $1Fapenas.

16.4- Tabela de Instruções

Rd: Registrador de destino (e origem)Rr: Registrador de origemb: Constante (0-7), pode ser uma expressão constantes: Constante (0-7), pode ser uma expressão constanteP: Constante (0-31/63), pode ser uma expressão constantek: Constante, faixa de valores depende da instrução. Pode ser uma expressãoconstante

q: Constante (0-63), pode ser uma expressão constanteRdl: R24, R26, R28, R30. Usados nas instruções ADIW e SBIWX,Y,Z: Registradores para endereçamento indireto (X=R27:R26, Y=R29:R28,Z=R31:R30)

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  190

Page 200: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 200/217

 

Guia para Uso do Assembler AVR

Tabela 16-2:

INSTRUÇÕES ARITMÉTICAS E LÓGICAS

Mnemônicos Operandos Descrição Operação Flags Nº deClock

ADD Rd, Rr Soma dois registradores RdÅRd + Rr Z,C,N,V,H 1

ADC Rd, Rr Soma com Carry doisregistradores Rd ÅRd + Rr + C Z,C,N,V,H 1

ADIW Rdl,K Soma valor imediato a umapalavra Rdh:RdlÅRdh:Rdl + K Z,C,N,V,S 2

SUB Rd, Rr Subtrai dois registradore s RdÅRd – Rr Z,C,N,V,H 1

SUBI Rd, K Subtrai uma constante de umregistrador Rd ÅRd – K Z,C,N,V,H 1

SBC Rd, Rr Subtrai com Carry doisregistradores Rd ÅRd – Rr – C Z,C,N,V,H 1

SBCI Rd, K Subtrai com Carry constante deregistrador Rd ÅRd – K – C Z,C,N,V,H 1

SBIW Rdl,K Subtrai valor imediato de um apalavra Rdh:RdlÅRdh:Rdl – K Z,C,N,V,S 2

AND Rd, Rr E lógico entre registradores RdÅRd · Rr Z,N,V 1

ANDI Rd, K E lógico entre registrador econstante Rd ÅRd · K Z,N,V 1

OR Rd, Rr OU lógico entre registradores RdÅRd v Rr Z,N,V 1

ORI Rd, K OU lógico entre registrador econstante Rd ÅRd v K Z,N,V 1

EOR Rd, Rr OU Exclusivo entreregistradores Rd ÅRd Å Rr Z,N,V 1

COM Rd Complemento de um RdÅ$FF – Rd Z,C,N,V 1

NEG Rd Complemento de dois RdÅ$00 – Rd Z,C,N,V,H 1

SBR Rd,K Faz bit(s) no registrador = 1 RdÅRd v K Z,N,V 1

CBR Rd,K Faz bit(s) no registrador = 0 RdÅRd · ($FF – K) Z,N,V 1

INC Rd Incrementa RdÅRd + 1 Z,N,V 1

DEC Rd Decrementa RdÅRd – 1 Z,N,V 1

TST Rd Testa registrador por zero ou

negativo

Rd ÅRd · Rd Z,N,V 1

CLR Rd Faz registrador = $00 RdÅRd Å Rd Z,N,V 1

SER Rd Faz registrador = $FF RdÅ$FF None 1

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  191

Page 201: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 201/217

 

Guia para Uso do Assembler AVR

Tabela 16-3:

INSTRUÇÕES DE DESVIO

Mnemônicos Operandos Descrição Operação Flags Nº deClock

RJMP k Salto relativo PCÅPC + k + 1 None 2

IJMP Salto indireto a (Z) PCÅZ None 2

RCALL k Chamada relativa a sub-rotina PCÅPC + k + 1 None 3

ICALL Chamada indireta a (Z) PCÅZ None 3

RET Retorno de sub-rotina PCÅSTACK None 4

RETI Retorno de interrupção PCÅSTACK I 4

CPSE Rd,Rr Com para, salta instrução se for

igual

se (Rd = Rr) PCÅPC + 2

ou 3 None1 / 2 /

3

CP Rd,Rr Compara Rd – Rr Z, N,V,C,H 1

CPC Rd,Rr Compara com Carry Rd – Rr – C Z, N,V,C,H 1

CPI Rd,K Compara registrador com valorimediato Rd – K Z, N,V,C,H 1

SBRC Rr, b Salta instrução se bit no

registrador é zero

SBRS Rr, b Salta instrução se bit no

registrador é um

SBIC P, b Salta instrução se bit no reg. de

I/O é zeroSBIS P, b Salta instrução se bit no reg. de

I/O é um

se (Rr(b)=0) PCÅPC + 2

ou 3 Nonese (Rr(b)=1) PCÅPC + 2

ou 3 Nonese (P(b)=0) PC ÅPC + 2

ou 3 Nonese (P(b)=1) PC ÅPC + 2

ou 3 None

1 / 2 /3

1 / 2 /3

1 / 2 /3

1 / 2 /3

BRBS s, k Desvia se flag de status é um se (SREG(s)=1) então PCÅPC+ k + 1 None 1 / 2

BRBC s, k Desvia se flag de status é zero se (SREG(s)=0) então PCÅPC+ k + 1 None 1 / 2

BREQ k Desvia se igual se (Z = 1) então PC ÅPC+ k + 1 None 1 / 2

BRNE k Desvia se não igual se (Z = 0) então PC ÅPC

+ k + 1 None 1 / 2

BRCS k Desvia se Carry é u m se (C = 1) então PC ÅPC

+ k + 1 None 1 / 2

BRCC k Desvia se C arry é zero se (C = 0) então PC ÅPC+ k + 1 None 1 / 2

BRSH k Desvia se maior ou igual se (C = 0) então PC ÅPC

+ k + 1 None 1 / 2

BRLO k Desvia se menor se (C = 1) então PC ÅPC+ k + 1 None 1 / 2

BRMI k Desvia se negativo se (N = 1) então PCÅPC+ k + 1 None 1 / 2

BRP L k Desvia se positivo se (N = 0) então PCÅPC+ k + 1 None 1 / 2

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  192

Page 202: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 202/217

 

Guia para Uso do Assembler AVR

BRGE k Desvia se m aior ou igual,

sinalizado

BRLT k Desvia se menor do que zero,

sinalizado

se (N Å V = 0) então PCÅPC + k + 1 None 1 / 2

se (N Å V = 1) então PCÅPC + k + 1 None 1 / 2

BRHS k Desvia se Half Carry é um se (H = 1) então PC ÅPC

+ k + 1None 1 / 2

BRHC k Desvia se H alf C arry é zero se (H = 0) então PC ÅPC

+ k + 1 None 1 / 2

BRTS k Desvia se flag T é um se (T = 1) então PC ÅPC

+ k + 1 None 1 / 2

BRTC k Desvia se flag T é zero se (T = 0) então PC ÅPC

+ k + 1 None 1 / 2

BRVS k Desvia se flag de Overflow é um se (V = 1) então PCÅPC

+ k + 1 None 1 / 2

BRVC k Desvia se flag de O verflow é

zero

BRIE k Desvia se interrupções estão

habilitadasBRID k Desvia se interrupções estão

desabilitadas

se (V = 0) então PCÅPC

+ k + 1 None 1 / 2se ( I = 1) então PC ÅPC

+ k + 1 None 1 / 2

se ( I = 0) então PCÅ

PC+ k + 1 None 1 / 2

Tabela 16-4:

INSTRUÇÕES DE TRANSFERÊNCIA DE DADOS

Mnemônicos Operandos Descrição Operação Flags Nº deClock

MOV Rd, Rr Move conteúdo de registradorpara outro Rd ÅRr None 1

LDI Rd, K Carrega valor imediato RdÅK None 1

LD Rd, X Carrega valor indireto RdÅ(X) None 2

LD Rd, X+ Carrega valor indireto com pósincremento Rd Å(X), XÅX + 1 None 2

LD Rd, - X Carrega valor indireto com prédecremento XÅX – 1, RdÅ(X) None 2

LD Rd, Y Carrega valor indireto RdÅ(Y) None 2

LD Rd, Y+ Carrega valor indireto com pósincremento Rd Å(Y), YÅY + 1 None 2

LD Rd, - YCarrega valor indireto com préincremento YÅY – 1, Rd Å(Y) None 2

LDD Rd,Y + q Carrega valor indireto comdeslocamento Rd Å(Y + q) None 2

LD Rd, Z Carrega valor indireto RdÅ(Z) None 2

LD Rd, Z+ Carrega valor indireto com pósincremento Rd Å(Z), ZÅZ+1 None 2

LD Rd, -Z Carrega valor indireto com prédecremento ZÅZ – 1, RdÅ(Z) None 2

LDD Rd, Z+q Carrega valor indireto comdeslocamento Rd Å(Z + q) None 2

Page 203: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 203/217

 

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  193

Page 204: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 204/217

 

Guia para Uso do Assembler AVR

LDS Rd, k Carrega valor direto da SRAM RdÅ(k) None 2

ST X, Rr Armazena valor indireto (X)ÅRr None 2

ST X+, Rr Armazena valor indireto compós inc. (X )ÅRr, XÅX + 1 None 2

ST -X, Rr Armazena va lor indireto com prédec. XÅX – 1, (X)ÅRr None 2

ST Y, Rr Armazena valor indireto (Y)ÅRr None 2

ST Y+, Rr Armazena valor indireto compós inc. (Y)ÅRr, YÅY + 1 None 2

ST -Y, Rr Armazena va lor indireto com prédec. YÅY – 1, (Y)ÅRr None 2

STD Y + q, Rr Armazena valor indireto comdeslocamento (Y + q)ÅRr None 2

ST Z, Rr Armazena valor indireto (Z)ÅRr None 2

ST Z+, Rr Armazena valor indireto com

pós inc. (Z)Å

Rr, ZÅ

Z + 1 None 2ST -Z, Rr Armazena va lor indireto com pré

dec. ZÅZ – 1, (Z)ÅRr None 2

STD Z+q, Rr Armazena valor indireto comdeslocamento (Z + q)ÅRr None 2

STS k, Rr Armazena direto na SRAM (k)ÅRr None 2

LP M Carrega valor da memória deprograma R0 Å(Z) None 3

IN Rd, P Port de entrada RdÅP None 1

OUT P, Rr Port de saída PÅRr None 1

PUSH Rr Guarda valor na pilha STACK ÅRr None 2

POP Rd Busca valor da pilha para oregistrador Rd ÅSTACK None 2

Tabela 16-5:

INSTRUÇÕES DE TESTE BIT A BIT

SBI P,b Faz bit no registrador de I/O = 1 I/O(P,b)Å1 None 2

CBI P,b Faz bit no registrador de I/O = 0 I/O(P,b)Å0 None 2

LSL RdDeslocam ento lógico para a

esquerda

LSR Rd Deslocam ento lógico para da

direita

ROL Rd Rotação para a esquerda comCarry

ROR Rd Rotação para a direita comCarry

ASR Rd Deslocam ento aritmético para a

Rd(n+1)ÅRd(n), Rd(0)Å

0 Z,C,N,V 1Rd(n)ÅRd(n+1), Rd(7)Å

0 Z,C,N,V 1Rd(0)ÅC,Rd(n+1)ÅRd(n),CÅRd(7) Z,C,N,V 1

Rd(7)ÅC,Rd(n)ÅRd(n+1),CÅRd(0) Z,C,N,V 1

direita Rd(n)ÅRd(n+1), n=0..6 Z,C,N,V 1

FACENS  

ELETRÔNICA II  

Prof. Sidney José Montebeller  194

Page 205: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 205/217

 

Guia para Uso do Assembler AVR

SWAP Rd Troca nibbles Rd(3..0)ÅRd(7..4),Rd(7..4)ÅRd(3..0) None 1

BSET s Faz flag = 1 SREG(s)Å1 SREG(s) 1

BCLR s Faz flag = 0 SREG(s)Å0 SREG(s) 1

BST Rr, b Armazena bit do reg. no f lag T TÅRr(b) T 1

BLD Rd, b Carreg a bit no reg. com o flag T Rd(b)ÅT None 1

SEC Faz Carry = 1 CÅ1 C 1

CLC Faz Carry = 0 CÅ0 C 1

SEN Faz flag Negative = 1 NÅ1 N 1

CLN Faz flag Negative = 0 NÅ0 N 1

SEZ Faz flag Zero = 1 ZÅ1 Z 1

CLZ Faz flag Zero = 0 ZÅ0 Z 1

SEI Habilita interrupções IÅ1 I 1

CLI Desabilita interrupções IÅ0 I 1

SES Faz flag Signed Test = 1 SÅ1 S 1

CLS Faz flag Signed Test = 0 SÅ0 S 1

SEV Faz flag Two’s ComplementOverflow = 1 VÅ1 V 1

CL V Faz flag Two’s ComplementOverflow = 0 VÅ0 V 1

SET Faz flag T no SREG = 1 TÅ1 T 1

CLT Faz flag T no S REG = 0 TÅ0 T 1

SEH Faz flag Half Carry no SREG = 1 HÅ1 H 1

CLH Faz f lag Half Carry no SREG = 0 HÅ0 H 1

NOP Nenhuma operação None 1

SLEEP Sleep None 3

WDR Reinicia Watchdog None 1

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  195

Page 206: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 206/217

 

Guia para Uso do Assembler AVR

16.5- Diretivas no Assembler

As diretivas não são convertidas diretamente em opcodes (códigos deoperação). Elas são usadas para corrigir endereços do programa na memória,definir macros, inicializar memória, dentre outras funções. A tabela 16-6 mostraa lista de diretivas suportadas pelo Assembler.

Tabela 16-6:Diretiva Descrição

BYTE Reserva bytes para uma variávelCSEG Segmento de códigoDB Define constantes de um byteDEF Define um nome simbólico para um registradorDEVICE Define o componente para o AssemblerDSEG Segmento de dadosDW Define constantes de dois bytes (word)ENDMACRO Finaliza de uma macro

EQU Substitui uma expressão por um nome simbólicoESEG Segmento da EEPROMEXIT Sai do arquivoINCLUDE Le o fonte de outro arquivoLIST Habilita a criação de um arquivo de descrição (list file)LISTMAC Habilita a expansão de macroMACRO Inicia uma macroNOLIST Desabilita a criação de um arquivo de descrição (list file)ORG Posiciona o programa no endereço dadoSET Substitui uma expressão por um nome simbólico

Todas as diretivas devem ser precedidas por um ponto (.).

BYTE – Reserva bytes para uma variávelA diretiva BYTE reserva posições de memória na SRAM. A diretiva BYTE deveser precedida por um label (nome da variável). A diretiva recebe comoparâmetro o número de bytes a serem reservados para a variável na SRAM.Por isso, essa diretiva deve ser usada apenas dentro das definições dosegmento de dados (DSEG). Os bytes reservados não serão inicializados.

Sintaxe:LABEL: .BYTE expressão

Exemplo:.DSEGvar1: .BYTE 1 ; reserva 1 byte para var1table: .BYTE tab_size ; reserva tab_size bytes para table.CSEG

ldi r30,low(var1) ; Carrega o registrador BAIXO de Zldi r31,high(var1) ; Carrega o registrador ALTO de Z ldr1,Z ; Carrega VAR1 para o registrador 1

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  196

Page 207: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 207/217

 

Guia para Uso do Assembler AVR

CSEG – Segmento de códigoA diretiva CSEG define o início do Segmento de Código. Um arquivo podeconter vários segmentos de código, que serão concatenados em um únicosegmento de código quando o Assembler for executado. A diretiva BYTE nãopode ser usada dentro de um segmento de código. A diretiva ORG pode serusada para especificar endereços de códigos ou constantes na memória de

programa. Esta diretiva não requer nenhum parâmetro.

Sintaxe:.CSEG

Exemplo:.DSEG ; Início do segmento de dadosvartab: .BYTE 4 ; Reserva 4 bytes na SRAM para vartab

.CSEG ; Início do segmento de códigoconst: .DW 2 ; Escreve o valor 0x0002 (16 bits) na memória de

; programa

mov r1,r0 ; Faz qualquer coisa

DB – Define constantes de um byte na memória de programa ou naEEPROMA diretiva DB armazena bytes na memória de programa ou na EEPROM. Adiretiva DB deve ser precedida por um label (nome de uma constante). Adiretiva recebe como parâmetro um byte ou uma seqüência de bytes.A diretiva DB deve ser usada dentro do segmento de código ou segmento deEEPROM. Os bytes da lista devem ser separados por vírgulas (,). Cada valordeve ser um número entre –128 e 255. Se o valor for negativo, a representaçãocomplemento a dois de 8 bits do valor será armazenada na memória de

programa ou na EEPROM.Se a diretiva DB é usada no segmento de código e o número de valores émaior do que um, os dados são armazenados a cada dois bytes em cadaendereço da memória de programa.

Sintaxe:LABEL: .DB listadevalores

Exemplo:.CSEGconsts: .DB 0, 255, 0b01010101, -128, 0xaa.ESEGeeconst: .DB 0xff

DEF – Define um nome simbólico para um registradorA diretiva DEF permite que os registradores possam ser chamados por nomessimbólicos. Um nome definido é usado pelo programa para chamar umregistrador. Um registrador pode ter vários nomes associados a ele. Um nomepode ser redefinido mais tarde dentro do programa.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  197

Page 208: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 208/217

 

Guia para Uso do Assembler AVR

Sintaxe:.DEF Nome=Registrador

Exemplo:.DEF temp=R16

.DEF ior=R0.CSEGldi temp,0xf0 ; Carrega o valor 0xf0 no registrador tempin ior,0x3f ; Le SREG e o armazena no registrador ioreor temp,ior ; Ou Exclusivo entre temp e ior

DEVICE – Define qual componente será usado pelo programaA diretiva DEVICE indica para o Assembler qual componente que o código seráexecutado. Se esta diretiva é usada e o código possui uma instrução nãosuportada pelo componente, uma mensagem de aviso é mostrada deAssembler. Se o tamanho do segmento de código ou do segmento da

EEPROM é maior do que o suportado pelo componente especificado, um avisotambém ocorrerá. Se a diretiva DEVICE não for usada, o Assembler assumeque todas as instruções são suportadas e não há restrições de tamanho dememória.

Sintaxe:.DEVICE AT90S1200 | AT90S2313 | AT90S4414 | AT90S8515

Exemplo:.DEVICE AT90S1200 ; Especifica que o componente a ser usado é oAT90S1200.CSEG

push r30 ; Essa instrução irá gerar um mensagem de aviso, já que o; componente especificado não suporta esta instrução

DSEG – Segmento de dadosA diretiva DSEG define o início do segmento de dados. Um arquivo pode contervários segmentos de dados, que serão concatenados em um único segmentode dados quando o Assembler for executado. Um segmento de dados consistirá,basicamente, de diretivas BYTE (e labels). A diretiva ORG pode ser usada paraendereçar variáveis na SRAM. A diretiva não requer nenhum parâmetro.

Sintaxe:.DSEG

Exemplo:.DSEG ; Início do segmento de dadosvar1: .BYTE 1 ; reserva 1 byte para var1table: .BYTE tab_size ; reserva tab_size bytes

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  198

Page 209: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 209/217

 

Guia para Uso do Assembler AVR

.CSEGldi r30,low(var1) ; Carrega o registrador baixo de Zldi r31,high(var1) ; Carrega o registrador alto de Zld r1,Z ; Carrega var1 para registrador 1

DW – Define constantes de dois bytes (word) na memória de programa ouna EEPROMA diretiva DW reserva words memória de programa ou na EEPROM. A diretivaDW deve ser precedida por um label (nome de uma constante). A diretivarecebe como parâmetro uma word ou uma seqüência de words.A diretiva DW deve ser usada dentro do segmento de código ou segmento deEEPROM. As words da lista devem ser separadas por vírgulas (,). Cada valordeve ser um número entre –32768 e 65535. Se o valor for negativo, arepresentação complemento a dois de 16 bits do valor será armazenada namemória de programa ou na EEPROM.

Sintaxe:LABEL: .DW listadevalores

Exemplo:.CSEGvarlist: .DW 0,0xffff,0b1001110001010101,-32768,65535.ESEGeevar: .DW 0xffff

ENDMACRO – Finaliza uma macroA diretiva ENDMACRO indica o fim de uma definição de macro. Esta diretiva

não requer parâmetros.

Sintaxe:.ENDMACRO

Exemplo:.MACRO SUBI16 ; Inicia uma definição de macrosubi r16,low(@0) ; Subtrai o byte baixosbci r17,high(@0) ; Subtrai o byte alto.ENDMACRO ; Fim da definição de macro

EQU – Substitui uma expressão por um nome simbólicoA diretiva EQU associa um nome (label) a um valor. Esse nome pode serusado em expressões posteriores. Um nome associado a um valor pela diretivaEQU é uma constante e não pode ser mudado ou redefinido.

Sintaxe:.EQU label = expressão

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  199

Page 210: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 210/217

 

Guia para Uso do Assembler AVR

Exemplo:.EQU io_offset = 0x23.EQU porta = io_offset + 2.CSEG ; Início do segmento de códigoclr r2 ; Zera o registrador 2out porta,r2 ; Escreve o valor do registrador 2 no Port A

ESEG – Segmento de EEPROMA diretiva ESEG define o início do segmento de EEPROM. Um arquivo podeconter vários segmentos de EEPROM, que serão concatenados para um únicosegmento de EEPROM quando o Assembler for executado. A diretiva BYTEnão pode ser usada em um segmento de EEPROM. A diretiva ORG pode serusada para localizar constantes na EEPROM. Esta diretiva não requerparâmetros.

Sintaxe:.ESEG

Exemplo:.DSEG ; Inicia o segmento de dadosvartab: .BYTE 4 ; Reserva 4 bytes na SRAM.ESEGeevar: .DW 0xff0f ; Inicializa uma word na EEPROM.CSEG ; Inicia o segmento de códigoconst: .DW 2 ; Escreve o valor 0x0002 na memória de programamov r1,r0 ; Faz qualquer coisa

EXIT – Sai deste arquivo

A diretiva EXIT para a execução do Assembler. Normalmente, o Assembler éexecutado até encontrar o fim de arquivo (EOF). Se a diretiva EXIT aparece emum arquivo que foi incluído, o Assembler continua da linha seguinte da diretivaINCLUDE.

Sintaxe:.EXIT

Exemplo:.EXIT ; Sai deste arquivo

INCLUDE – Inclui outro arquivoA diretiva INCLUDE indica para o Assembler começar a leitura do arquivoespecificado. O Assembler então é executado até encontrar o fim de arquivo(EOF) ou uma diretiva EXIT. Um arquivo incluído pode conter também outrasdiretivas INCLUDE.

Sintaxe:.INCLUDE “nomedoarquivo”

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  200

Page 211: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 211/217

 

Guia para Uso do Assembler AVR

Exemplo:; iodefs.asm:.EQU sreg=0x3f ; Registrador de Status.EQU sphigh=0x3e ; Registrador Alto do Ponteiro de Pilha (Stack pointer).EQU splow=0x3d ; Registrador Baixo do Ponteiro de Pilha (Stack pointer)

; incdemo.asm.INCLUDE “iodefs.asm” ; Inclui definições de I/Oin r0,sreg ; Le registrador de status

LIST – Habilita a criação do arquivo de descrição (listfile)A diretiva LIST indica para o Assembler criar um arquivo de descrição (listfile).Esse arquivo é uma combinação do código fonte, endereços e opcodes(códigos de instruções). A criação deste arquivo, por default, está habilitada.Esta diretiva pode ser usada junto com a diretiva NOLIST para gerar um listfile 

de partes do programa fonte.

Sintaxe:.LIST

Exemplo:.NOLIST ; Desabilita a criação do listfile.INCLUDE “macro.inc” ; Os arquivos incluídos não serão mostrados o listfile.INCLUDE “const.def”.LIST ; Habilita novamente a criação do listfile

LISTMAC – Habilita expansão de macroA diretiva LISTMAC informa para o Assembler que, quando uma macro échamada, a expansão da macro deve ser mostrada no listfile  gerado peloAssembler. Por default, apenas as chamadas de macros com parâmetros sãomostradas no listfile .

Sintaxe:.LISTMAC

Exemplo:.MACRO MACX ; Define um exemplo de macroadd r0,@0 ; Faz qualquer coisaeor r1,@1 ; Faz qualquer coisa.ENDMACRO ; Fim da definição da macro.LISTMAC ; Habilita expansão da macroMACX r2,r1 ; Chama a macro, mostra a expansão

MACRO – Inicia uma macroA diretiva MACRO informa para o Assembler o início de uma macro. A diretivaMACRO usa o nome da macro como parâmetro. Quando o nome da macro éescrito posteriormente no programa, a definição da macro é expandida no local

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  201

Page 212: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 212/217

 

Guia para Uso do Assembler AVR

onde ela foi usada. Uma macro suporta até 10 parâmetros. Esses parâmetrossão chamados como @0-@9 dentro da definição da macro. Na chamada deuma macro, os parâmetros são passados em forma de lista, separados porvírgulas (,). Uma definição de macro é finalizada por uma diretiva ENDMACRO.Por default, apenas as chamadas a uma macro são mostradas no listfile geradopelo Assembler. Para incluir uma expansão de macro no listfile , a diretiva

LISTMAC deve ser usada. Uma macro é marcada com um + no campo doopcode no listfile .

Sintaxe:.MACRO nomedamacro

Exemplo:.MACRO SUBI16 ; Inicia uma definição de macrosubi @1,low(@0) ; Subtrai o byte baixosbci @2,high(@0) ; Subtrai o byte alto.ENDMACRO ; Fim da definição da macro.CSEG ; Início do segmento de código

SUBI16 0x1234,r16,r17 ; Subtrai 0x1234 de r17:r16

NOLIST – Desabilita a criação do arquivo de descrição (listfile)A diretiva NOLIST informa que o Assembler não deve criar o arquivo dedescrição listfile . Normalmente, o Assembler gera um listfile  que é umacombinação de código fonte, endereços e opcodes. Por default, a criação dolistfile  é habilitada, mas pode ser desabilitada usando a diretiva NOLIST. Estadiretiva pode ser usada junto com a diretiva LIST para gerar um listfile  departes do programa fonte.

Sintaxe:

.NOLIST ; Habilita a geração de listfile 

Exemplo:.NOLIST ; Desabilita a geração de listfile 

.INCLUDE “macro.inc” ; Os arquivos incluídos não serão mostrados no; listfile 

.INCLUDE “const.def” ;

.LIST ; Habilita novamente a geração de listfile 

ORG – Posiciona o programa no endereço dadoA diretiva ORG posiciona o programa no endereço dado. Se a diretiva ORG forusada no segmento de dados, um valor será armazenado a partir do endereçoespecificado. Se a diretiva ORG for usada no segmento de código, um valorserá armazenado a partir do endereço especificado. Se a diretiva OR for usadano segmento de EEPROM, um valor será armazenado a partir do endereçoespecificado. Se a diretiva for precedida por um label (na mesma linha docódigo fonte), o label será tomado como parâmetro. O valor default inicial dosendereços de memória de código e EEPROM é zero, enquanto para a SRAM é32 (a partir dos registradores R0-R31). O endereço da EEPROM e a SRAM é

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  202

Page 213: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 213/217

 

Guia para Uso do Assembler AVR

dado em bytes enquanto o endereço da memória de programa é dado emwords.

Sintaxe:.ORG expressão

Exemplo:.DSEG ; Inicia a memória de dados.ORG 0x67 ; Aponta para o endereço 0x67 da SRAMvariable:.BYTE 1 ; Reserva um byte no endereço 0x67 da SRAM.ESEG ; Inicia do segmento da EEPROM.ORG 0x20 ; Aponta para o endereço 0x20 da EEPROMeevar: .DW 0xfeff ; Inicializa uma word.CSEG.ORG 0x10 ; Aponta para o endereço 0x10 da memória de

; programamov r0,r1 ; Faz qualquer coisa

EQU – Substitui uma expressão por um nome simbólicoA diretiva EQU associa um nome (label) a um valor. Esse nome pode serusado em expressões posteriores. Um nome associado a um valor pela diretivaEQU é uma constante e não pode ser mudado ou redefinido.

SET – Substitui uma expressão por um nome simbólicoA diretiva SET associa um nome (label) a um valor. Esse nome poder ser usadoem expressões posteriores. Um nome associado a um valor pela diretiva SETpode ser alterado no programa.

Sintaxe:.SET label = expressão

Exemplo:.SET io_offset = 0x23.SET porta = io_offset + 2.CSEG ; Inicia o segmento de códigoclr r2 ; Zera o registrador 2out porta,r2 ; Escreve o conteúdo do registrador 2 no Port A

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  203

Page 214: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 214/217

 

Guia para Uso do Assembler AVR

16.6- Expressões

O Assembler pode manipular expressões. Expressões consistem deoperandos, operadores e funções. Todas as expressões, internamente, são de32 bits.

Operandos

Os seguintes operandos podem ser usados:- Labels definidos pelo usuário para um endereço da memória- Variáveis definidas pela diretiva SET- Variáveis definidas pela diretiva QUE- Constantes inteiras: constantes de vários tipos:

a) Decimal (default): 10, 255b) Hexadecimal (duas notações): 0x0a, $0a, 0xff, $ffc) Binário: 0b00001010, 0b11111111

- PC – o valor atual do contador de endereços da memória de programa

Funções

As seguintes funções são definidas:- LOW(expressão) retorna o primeiro byte de uma expressão- HIGH(expressão) retorna o segundo byte de uma expressão- BYTE2(expressão) tem a mesma função de HIGH- BYTE3(expressão) retorna o terceiro byte de uma expressão- BYTE4(expressão) retorna o quarto byte de uma expressão- LWRD(expressão) retorna os bits de 0 a 15 (low word) de uma expressão-

HWRD(expressão) retorna os bits de 16 a 31 (high word) de uma expressão- PAGE(expressão) retorna os bits de 16 a 21 de uma expressão- EXP2(expressão) retorna 2^expressão- LOG2(expressão) retorna a parte inteira de log2(expressão)

Operadores

O Assembler suporta vários operadores, onde o de maior precedênciapossui a maior prioridade.

Não Lógico

Símbolo: !Descrição: Operador unário que retorna 1 se a expressão for zero e retorna 0se a expressão for diferente de zero.Precedência: 14Exemplo: ldi r16,!0xf0 ; Carrega r16 com 0x00

Não bit a bitSímbolo: ~

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  204

Page 215: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 215/217

 

Guia para Uso do Assembler AVR

Descrição: Operador unário que retorna todos os bits invertidos de umaexpressão.Precedência: 14Exemplo: ldi r16,~0xf0 ; Carrega r16 com 0x0f

Negação

Símbolo: -Descrição: Operador unário que retorna a negação aritmética de umaexpressão.Precedência: 14Exemplo: ldi r16,-2 ; Carrega -2(0xfe) em r16

MultiplicaçãoSímbolo: *Descrição: Operador binário que retorna o produto de duas expressões.Precedência: 13Exemplo: ldi r30,label*2 ; Carrega r30 com label*2

DivisãoSímbolo: / Descrição: Operador binário que retorna o quociente inteiro da expressão daesquerda dividida pelo expressão da direita.Precedência: 13Exemplo: ldi r30,label/2 ; Carrega r30 com label/2

AdiçãoSímbolo: +Descrição: Operador binário que retorna a soma de duas expressõesPrecedência: 12Exemplo: ldi r30,c1+c2 ; Carrega r30 com c1+c2

SubtraçãoSímbolo: -Descrição: Operador binário que retorna a expressão da esquerda menos aexpressão da direita.Precedência: 12Exemplo: ldi r17,c1-c2 ; Carrega r17 com c1-c2

Deslocamento para a esquerdaSímbolo: <<Descrição: Operador binário que retorna a expressão da esquerda deslocada

para a esquerda um número de vezes igual à expressão da direita.Precedência: 11Exemplo: ldi r17,1<<bitmask ;Carrega r17 com 1 deslocado para a esquerdabitmask vezes

Deslocamento para a direitaSímbolo: >>Descrição: Operador binário que retorna a expressão da esquerda deslocadapara a direita um número de vezes igual à expressão da direita.

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  205

Page 216: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 216/217

 

Guia para Uso do Assembler AVR

Precedência: 11Exemplo: ldi r17,c1>>c2 ;Carrega r17 com c1 deslocado para a direita c2vezes

Menor do queSímbolo: <

Descrição: Operador binário que retorna 1 se a expressão sinalizada daesquerda for menor do que a expressão sinalizada da direita, caso contrário,retorna 0.Precedência: 10Exemplo: ori r18,bitmask*(c1<c2)+1 ; Ou entre r18 e uma expressão

Menor ou igualSímbolo: <=Descrição: Operador binário que retorna 1 se a expressão sinalizada daesquerda for menor ou igual à expressão da direita, caso contrário, retorna 0.Precedência: 10Exemplo: ori r18,bitmask*(c1<=c2)+1 ; Ou entre r18 e uma expressão

Maior do queSímbolo: >Descrição: Operador binário que retorna 1 se a expressão sinalizada daesquerda for maior do que a expressão da direita, caso contrário, retorna 0.Precedência: 10Exemplo: ori r18,bitmask*(c1>c2)+1 ; Ou entre r18 e uma expressão

Maior ou igualSímbolo: >=Descrição: Operador binário que retorna 1 se a expressão sinalizada daesquerda for maior ou igual à expressão da direita, caso contrário, retorna 0.

Precedência: 10Exemplo: ori r18,bitmask*(c1>=c2)+1 ; Ou entre r18 e uma expressão

IgualSímbolo: ==Descrição: Operador binário que retorna 1 se a expressão sinalizada daesquerda for igual à expressão da direita, caso contrário, retorna 0.Precedência: 9Exemplo: andi r19,bitmask*(c1==c2)+1 ; E entre r19 e uma expressão

DiferenteSímbolo: !=Descrição: Operador binário que retorna 1 se a expressão sinalizada daesquerda for diferente da expressão sinalizada da direita, caso contrário,retorna 0.Precedência: 9Exemplo: .SET flag=(c1!=c2) ; Faz flag igual a 1 ou 0

E bit a bitSímbolo: &

FACENS   ELETRÔNICA II   Prof. Sidney José Montebeller  206

Page 217: Eletronica Digital

5/13/2018 Eletronica Digital - slidepdf.com

http://slidepdf.com/reader/full/eletronica-digital-55a74c0c2cf37 217/217

 

Guia para Uso do Assembler AVR

Descrição: Operador binário que retorna a operação E bit a bit entre duasexpressões.Precedência: 8Exemplo: ldi r18,High(c1&c2) ; Carrega r18 com uma expressão

Ou Exclusivo bit a bit

Símbolo: ^Descrição: Operador binário que retorna a operação de Ou Exclusivo bit a bitentre duas expressões.Precedência: 7Exemplo: ldi r18,Low(c1^c2) ; Carrega r18 com uma expressão

Ou bit a bitSímbolo: |Descrição: Operador binário que retorna a operação Ou bit a bit entre duasexpressões.Precedência: 6Exemplo: ldi r18,Low(c1|c2) ; Carrega r18 com uma expressão

E lógicoSímbolo: &&Descrição: Operador binário que retorna 1 se a ambas expressões foremdiferentes de zero, caso contrário, retorna 0.Precedência: 5Exemplo: ldi r18,Low(c1&&c2) ; Carrega r18 com uma expressão

Ou lógicoSímbolo: ||Descrição: Operador binário que retorna 1 se uma ou ambas expressões foremdiferentes de zero, caso contrário, retorna 0.Precedência: 4Exemplo: ldi r18,Low(c1||c2) ; Carrega r18 com uma expressão