Você está na página 1de 294

Cartões Digitais

. .

Revisão Principais Autores Descrição da Versão Término


A Alexandre Magalhães Integração das Documentações dos Módulos 24/09/2013
B Mário Augusto Mota Inclusão dos Esquema Elétricos 17/07/2015

c Copyright 2013 por Exsto Tecnologia Ltda.


Todos os direitos reservados

”Desenvolvido e produzido com orgulho no Brasil”

Exsto Tecnologia Ltda


Rua Dr. José Pinto Vilela 555 - Centro
Santa Rita do Sapucaı́ - MG
CEP: 37540-000
+55 35 3473 4050
www.exsto.com.br

2
Sumário

Lista de Figuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Lista de Tabelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Portas Lógicas 17
Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1 Introdução à Eletrônica Digital 19


1.1 Diferenciações entre analógico e digital . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.1.1 Rampa versus escada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.1.2 Voltı́metro analógico versus voltı́metro digital . . . . . . . . . . . . . . . . . 20
1.2 Vantagens da eletrônica digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2 Sistemas de numeração e conversões 22


2.1 Sistema de numeração binária . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2 Sistema de numeração binário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2.1 Conversão entre os sistemas binário e decimal . . . . . . . . . . . . . . . . . 24
2.3 Sistema de numeração hexadecimal . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3.1 Conversão entre os sistemas binário e hexadecimal . . . . . . . . . . . . . . 27
2.3.2 Conversão entre os sistemas hexadecimal e decimal . . . . . . . . . . . . . . 28

3 Algebra de Boole 29
3.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2 Nı́veis Lógicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.3 Elementos lógicos básicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.3.1 Função lógica NÃO (NOT) ou Inversora . . . . . . . . . . . . . . . . . . . . 31
3.3.2 Função lógica E (AND) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3.3 Função lógica OU (OR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3.4 Função NÃO-E (NAND) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3.5 Função NÃO-OU (NOR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.3.6 Função OU-EXCLUSIVO (XOR) . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3.7 Função NÃO-OU-EXCLUSIVO ou coincidência . . . . . . . . . . . . . . . . 37
3.4 Propriedades das funções lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.4.1 Representações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.4.2 Exemplos de simplificação das equações lógicas . . . . . . . . . . . . . . . . 39
3.4.3 Fazendo tudo com portas Não-E (NAND) . . . . . . . . . . . . . . . . . . . 41
3.5 Mapa de Karnaugh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.5.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.5.2 Endereçamento de um mapa de Karnaugh . . . . . . . . . . . . . . . . . . . 42
3.5.3 Mapa de Karnaugh de três variáveis . . . . . . . . . . . . . . . . . . . . . . 43
3.5.4 Mapa de Karnaugh de quatro variáveis . . . . . . . . . . . . . . . . . . . . . 45
3.6 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

3
Cartões Digitais

4 Famı́lia de circuitos lógicos digitais 48


4.1 Famı́lia RTL (Resistor-Transistor Logic) e DTL (Diode-transistor Logic) . . . . . . 49
4.1.1 O transistor como chave eletrônica . . . . . . . . . . . . . . . . . . . . . . . 49
4.1.2 Usando a famı́lia DTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.1.3 Melhor desempenho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.2 Famı́lia TTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.2.1 Algumas caracterı́sticas da famı́lia TTL . . . . . . . . . . . . . . . . . . . . 54
4.2.2 Circuitos integrados TTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.3 Famı́lia CMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.3.1 Aplicações digitais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.3.2 Algumas caracterı́sticas da famı́lia CMOS: . . . . . . . . . . . . . . . . . . . 65
4.3.3 Circuitos integrados CMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.3.4 A Função tri-state do 4048 . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.4 Interfaceamento entre as famı́lias TTL e CMOS . . . . . . . . . . . . . . . . . . . . 68
4.4.1 A saı́da TTL deve excitar a entrada CMOS . . . . . . . . . . . . . . . . . . 68
4.4.2 CMOS excitando uma entrada TTL . . . . . . . . . . . . . . . . . . . . . . 69

5 Circuitos lógicos combinatórios 70


5.1 Passos para montagem de um circuito combinacional . . . . . . . . . . . . . . . . . 71
5.1.1 Determinação das variáveis de entrada e saı́da: . . . . . . . . . . . . . . . . 71
5.1.2 Identificação do problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.1.3 Determinação das equações lógicas simplificadas . . . . . . . . . . . . . . . 72
5.1.4 Quais componentes comerciais podem ser utilizados . . . . . . . . . . . . . 76
5.1.5 Desenhar o circuito final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

6 Caderno de Experiências 83
6.1 Aula Teórica - Fundamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Aula teórica - Fundamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
6.2 Aula Prática - Portas lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Aula prática - Portas lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

7 Manual de Operação e Manutenção 89


Importante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
7.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Visão da placa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

8 Esquemas Elétricos 91
8.1 XD200M01.02.01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

Encoder e Decoder 94

9 Codificadores e Decodificadores 95
Codificadores e Decodificadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
9.1 Decodificador de n para 2n linhas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Decodificador de n para 2n linhas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
9.2 Decodificador BCD para sete segmentos . . . . . . . . . . . . . . . . . . . . . . . . 96
Decodificador BCD para sete segmentos . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
9.3 Codificador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Codificador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

4
Cartões Digitais

10 Caderno de Experiências 101


10.1 Aula Prática - Codificadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Aula prática - Codificadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
10.2 Aula Prática - Decodificadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Aula prática - Decodificadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

11 Manual de Operação e Manutenção 106


Importante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Visão da placa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

12 Esquemas Elétricos 109


12.1 XD200M02.02.01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

Registrador de Deslocamento e Decodificador BCD/7 Segmentos 111

13 Registradores de Deslocamento 112


Registradores de deslocamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
13.1 Tipos de registradores de deslocamento . . . . . . . . . . . . . . . . . . . . . . . . 113
Tipos de registradores de deslocamento . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
13.1.1 SISO - Serial-in/Serial-out: . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
13.1.2 PISO - Parallel-in/Serial-out . . . . . . . . . . . . . . . . . . . . . . . . . . 114
13.1.3 SIPO - Serial-In/Parallel-out . . . . . . . . . . . . . . . . . . . . . . . . . . 114
13.1.4 PIPO - Parallel-in/Parallel-out . . . . . . . . . . . . . . . . . . . . . . . . . 115

14 Caderno de Experiências 117


14.1 Aula Prática - Conversor BCD para 7 Segmentos . . . . . . . . . . . . . . . . . . . 117
Aula prática - Conversor BCD para 7 Segmentos . . . . . . . . . . . . . . . . . . . . . . 117
14.2 Aula Prática - Shift Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Aula prática - Shift Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

15 Manual de Operação e Manutenção 121


Importante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
15.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Visão da placa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

16 Esquemas Elétricos 124


16.1 XD200M03.02.01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

ALU/Comparador de Magnitude 127

17 Circuitos Aritméticos 128


Circuitos Aritméticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
17.1 Meio Somador (Half Adder) e Somador Completo (Full Adder) . . . . . . . . . . . 128
Meio Somador (Half Adder) e Somador Completo (Full Adder) . . . . . . . . . . . . . . 128
17.1.1 Somador Paralelo Tipo Ripple Carry . . . . . . . . . . . . . . . . . . . . . . 130
17.1.2 Somador/Subtrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
17.2 Comparador de Magnitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Comparador de magnitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
17.3 Unidade Lógica Aritmética . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Unidade lógica aritmética . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

5
Cartões Digitais

18 Caderno de Experiências 137


18.1 Aula Prática - Módulo ALU Comp. Magnitude . . . . . . . . . . . . . . . . . . . . 137
Aula prática - Módulo ALU Comp. Magnitude . . . . . . . . . . . . . . . . . . . . . . . 137

19 Manual de Operação e Manutenção 141


Importante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
19.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Visão da placa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

20 Esquemas Elétricos 144


20.1 XD200M04.02.01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

Contadores 146

21 Contadores 147
Contadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
21.1 Contador Assı́ncrono . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Contador assı́ncrono . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
21.2 Contagem Programada ou Contagem com Armadilha . . . . . . . . . . . . . . . . . 149
Contagem programada ou contagem com armadilha . . . . . . . . . . . . . . . . . . . . 149
21.3 Contadores Up/Down (Progressivos e Regressivos) . . . . . . . . . . . . . . . . . . 151
Contadores Up/Down (Progressivos e Regressivos) . . . . . . . . . . . . . . . . . . . . . 151
21.4 Contadores Sı́ncronos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Contadores sı́ncronos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

22 Caderno de Experiências 155


22.1 Aula Prática - Contadores Assı́ncronos com Flip-Flop . . . . . . . . . . . . . . . . 155
Aula prática - Contadores Assı́ncronos com Flip-Flop . . . . . . . . . . . . . . . . . . . 155
22.2 Aula Prática - Contador Assı́ncrono Integrado . . . . . . . . . . . . . . . . . . . . . 157
Aula prática - Contador Assı́ncrono Integrado . . . . . . . . . . . . . . . . . . . . . . . . 157

23 Manual de Operação e Manutenção 159


Importante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
23.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Visão da placa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

24 Esquemas Elétricos 161


24.1 XD200M05.02.01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

Buffer e Latch 164

25 Buffer´s, Latch´s e Barramentos 165


Buffer´s, latch´s e barramentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
25.1 Barramento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Barramento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
25.2 Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
25.3 Latch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Latch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

6
Cartões Digitais

26 Caderno de Experiências 168


26.1 Aula Prática - Barramento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Aula prática - Barramento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

27 Manual de Operação e Manutenção 171


Importante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
27.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Visão da placa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

28 Esquemas Elétricos 173


28.1 XD200M06.02.01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

Flip Flop’s 175

29 Circuitos Seqüenciais - Flip-flop’s 176


Circuitos Seqüenciais - Flip-flop’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
29.1 Flip-Flop RS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Flip-Flop RS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
29.2 Flip-Flop RS com Clock e Mestre-Escravo . . . . . . . . . . . . . . . . . . . . . . . 179
Flip-Flop RS com clock e mestre-escravo . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
29.3 O Flip-Flop JK Mestre-Escravo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
O flip-flop JK Mestre-Escravo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
29.4 O Flip-flop tipo D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
O Flip-flop tipo D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
29.5 O Flip-Flop tipo T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
O flip-flop tipo T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
29.6 Transformando Flip-Flop’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Transformando flip-flop’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
29.7 Flip-flop’s nos Computadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Flip-flop’s nos Computadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

30 Caderno de Experiências 189


30.1 Aula Prática - Flip-flop’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Aula prática - Flip-flop’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

31 Manual de Operação e Manutenção 193


Importante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
31.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Visão da placa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

32 Esquemas Elétricos 195


32.1 XD200M07.02.01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

Mux/Demux 197

33 Multiplexadores e Demultiplexadores 198


Multiplexadores e Demultiplexadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
33.1 Demultiplexador ou DEMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Demultiplexador ou DEMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
33.2 Multiplexadores ou MUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

7
Cartões Digitais

Multiplexadores ou MUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198


33.3 Multiplexadores e Demultiplexadores Analógicos . . . . . . . . . . . . . . . . . . . 200
Multiplexadores e demultiplexadores analógicos . . . . . . . . . . . . . . . . . . . . . . . 200

34 Caderno de Experiências 202


34.1 Aula Prática - Multiplex/Demultiplex . . . . . . . . . . . . . . . . . . . . . . . . . 202
Aula prática - Multiplex/Demultiplex . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

35 Manual de Operação e Manutenção 205


Importante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
35.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Visão da placa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206

36 Esquemas Elétricos 207


36.1 XD200M08.02.01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207

Conversores AD/DA 209

37 Conversores Analógico/Digital e Digital/Analógico 210


Conversores Analógico/Digital e Digital/Analógico . . . . . . . . . . . . . . . . . . . . . 210
37.1 Conversor D/A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Conversor D/A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
37.1.1 Conversor D/A Simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
37.1.2 Conversor D/A R-2R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
37.2 Conversor A/D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Conversor A/D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
37.2.1 Quantização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
37.2.2 Taxa de Amostragem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
37.2.3 Linearidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
37.2.4 Desenvolvimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
37.2.5 Aplicação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
37.2.6 Conversor A/D de Rampa Digital . . . . . . . . . . . . . . . . . . . . . . . 216
37.2.7 Conversor A/D por Aproximação Sucessiva . . . . . . . . . . . . . . . . . . 217
37.2.8 Conversor A/D Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218

38 Caderno de Experiências 221


38.1 Aula Prática - Conversor Digital Analógico (D/A) . . . . . . . . . . . . . . . . . . 221
Aula prática - Conversor Digital Analógico (D/A) . . . . . . . . . . . . . . . . . . . . . 221
38.2 Aula Prática - Conversor Analógico Digital (A/D) . . . . . . . . . . . . . . . . . . 223
Aula prática - Conversor Analógico Digital (A/D) . . . . . . . . . . . . . . . . . . . . . 223

39 Manual de Operação e Manutenção 227


Importante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
39.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Visão da placa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

40 Esquemas Elétricos 229


40.1 XD200M09.02.01.02.01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

8
Cartões Digitais

Memórias 231

41 Memórias 232
Memórias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
41.1 Memória Volátil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
41.1.1 Memória Volátil Dinâmica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
41.1.2 Memória Volátil Estática . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
41.2 Memória Não Volátil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
41.3 Estrutura e Endereçamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
41.3.1 Endereçamento Paralelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
41.3.2 Endereçamento Serial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
41.4 Memórias SRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
41.5 Memórias EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237

42 Aulas Práticas 242


42.1 Aula Prática I - Memória SRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
42.2 Aula Prática II - Memória EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . 243

43 Manual de Operação e Manutenção 245


43.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
43.2 XD200M10.01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Visão da placa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
43.3 XD200M10.02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Visão da placa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246

44 Esquemas Elétricos 247


44.1 XD200M10.02.01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
44.2 XD200M10.02.02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

Contador Gray 250

45 Introdução: 251

46 Caderno de Experiências 253


46.1 Aula Prática - Contador Gray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Aula prática - Contador Gray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253

47 Manual de Operação e Manutenção 256


Importante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
47.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Visão da placa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

48 Esquemas Elétricos 258


48.1 XD200M11.02.01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258

CPLD 261

49 Software 262
49.1 Criando o primeiro projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
49.2 Compilação do Projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
49.3 Gravação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265

9
Cartões Digitais

50 A linguagem VHDL 266


50.1 Histórico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
50.2 Vantagens de Uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
50.3 Introdução à Linguagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
50.3.1 Entidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
50.3.2 Corpo da Arquitetura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
50.3.3 Classe de objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
50.3.4 Operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271

51 Caderno de Experiências 273


51.1 Aula Prática - CPLD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Aula Prática - CPLD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
51.1.1 Questionário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
51.1.2 Exercı́cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
51.1.3 Exercı́cios propostos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275

52 Manual de Operação e Manutenção 277


52.1 Conteúdo do módulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Conteúdo do módulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
52.2 Conteúdo do CD em Pastas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Conteúdo do CD em pastas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
52.3 Instalações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Instalações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
52.4 Instalação do Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Instalação do Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
52.4.1 Instalação da Quartus II 7.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
52.5 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
52.6 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
52.6.1 Criando o Primeiro Projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
52.6.2 Compilação do Projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
52.6.3 Gravação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
52.7 Procedimento de Testes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Procedimento de testes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290

53 Esquemas Elétricos 291


53.1 XD200M12.02.01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

54 Resolvendo Problemas 293

Resolvendo Problemas 293


54.1 Suporte Técnico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Suporte Técnico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293

10
Lista de Figuras

1.1 Rampa versus escada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.1 Conversão binário-decimal inteiro através de divisões sucessivas. . . . . . . . . . . . 25


2.2 Conversão binário-decimal inteiro através de multiplicações sucessivas. . . . . . . . 25
2.3 Tabela de conversão decimal-binário-hexadecimal. . . . . . . . . . . . . . . . . . . . 26
2.4 conversão binário-hexadecimal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.5 Conversão hexadecimal-binário. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.6 Conversão decimal-hexadecimal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.1 Representação simbólica da porta lógica NOT. . . . . . . . . . . . . . . . . . . . . 31


3.2 Circuito exemplificando a função lógica NOT. . . . . . . . . . . . . . . . . . . . . . 32
3.3 Representação simbólica da porta lógica E. . . . . . . . . . . . . . . . . . . . . . . 33
3.4 Circuito exemplificando a função lógica E. . . . . . . . . . . . . . . . . . . . . . . . 33
3.5 Comparação entre a função E (AND) e o circuito da figura 3.4 . . . . . . . . . . . 33
3.6 Representação simbólica da porta lógica OU. . . . . . . . . . . . . . . . . . . . . . 34
3.7 Circuito exemplificando a função lógica OU. . . . . . . . . . . . . . . . . . . . . . . 34
3.8 Comparação entre a função OU (OR) e o circuito da figura 3.7 . . . . . . . . . . . 34
3.9 Representação simbólica da porta lógica NÃO-E. . . . . . . . . . . . . . . . . . . . 34
3.10 Circuito exemplificando a função lógica NÃO-E (NAND). . . . . . . . . . . . . . . 35
3.11 Comparação entre a função NÃO-E (NAND) e o circuito da figura 3.10 . . . . . . 35
3.12 Representação simbólica da porta lógica NÃO-OU. . . . . . . . . . . . . . . . . . . 35
3.13 Circuito exemplificando a função lógica NÃO-OU. . . . . . . . . . . . . . . . . . . 36
3.14 Representação simbólica da porta lógica XOR. . . . . . . . . . . . . . . . . . . . . 36
3.15 Representação de uma porta XOR usando portas lógicas simples. . . . . . . . . . . 37
3.16 Representação simbólica da porta lógica XNOR. . . . . . . . . . . . . . . . . . . . 37
3.17 Representação de uma porta XNOR usando portas lógicas simples . . . . . . . . . 38
3.18 Exemplos de portas inversoras com portas NÃO-E. . . . . . . . . . . . . . . . . . . 41
3.19 Exemplo de portas E com portas NÃO-E (NAND) . . . . . . . . . . . . . . . . . . 42
3.20 Exemplo de portas OU com portas NÃO-E (NAND) . . . . . . . . . . . . . . . . . 42
3.21 Exemplo do mapa de karnaugh de quatro variáveis . . . . . . . . . . . . . . . . . . 43
3.22 Disposições do mapa de Karnaugh . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.23 Exemplo de adjacência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.24 Representação do enlace de uma célula . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.25 Representação dos enlaces de duas células . . . . . . . . . . . . . . . . . . . . . . . 44
3.26 Representação dos enlaces de quatro células . . . . . . . . . . . . . . . . . . . . . . 45
3.27 Representação dos enlaces de oito células . . . . . . . . . . . . . . . . . . . . . . . 45
3.28 Mapa de Karnaugh para quatro variáveis . . . . . . . . . . . . . . . . . . . . . . . 45
3.29 Exemplo sobre a formação do mapa de karnaugh de quatro elementos . . . . . . . 46

4.1 Representação de uma inversora na famı́lia RTL . . . . . . . . . . . . . . . . . . . 49


4.2 Representação de uma porta NÃO-E na famı́lia RTL . . . . . . . . . . . . . . . . . 50
4.3 Representação de uma porta NÃO-OU na famı́lia RTL . . . . . . . . . . . . . . . . 50
4.4 Composição de uma porta E DTL. . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

11
Cartões Digitais

4.5 Composição de uma porta OU DTL. . . . . . . . . . . . . . . . . . . . . . . . . . . 51


4.6 Circuito Integrado contendo quatro portas NÃO-E . . . . . . . . . . . . . . . . . . 52
4.7 Caracterı́sticas tı́picas da famı́lia 54/74 SSI. . . . . . . . . . . . . . . . . . . . . . . 54
4.8 Diferenças entre correntes de saı́da dos nı́veis lógicos. . . . . . . . . . . . . . . . . . 55
4.9 Nı́veis de ruı́do TTL para entrada e saı́da. . . . . . . . . . . . . . . . . . . . . . . . 56
4.10 Efeito do nı́vel lógico baixo e alto num Totem Pole. . . . . . . . . . . . . . . . . . . 57
4.11 Configuração interna de uma porta Open-Collector. . . . . . . . . . . . . . . . . . 58
4.12 Porta lógica usando método ”Open Collector”. . . . . . . . . . . . . . . . . . . . . 58
4.13 Configuração externa simplificada de uma porta inversora tri-state. . . . . . . . . . 58
4.14 Ligação de duas portas lógicas ao mesmo barramento. . . . . . . . . . . . . . . . . 59
4.15 Buffer Tri-state. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.16 Formato DIP ou DIL da famı́lia TTL. . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.17 Ligação interna do componente integrado 7400. . . . . . . . . . . . . . . . . . . . . 60
4.18 Ligação interna do componente integrado 7402. . . . . . . . . . . . . . . . . . . . . 60
4.19 Ligação interna do componente integrado 7404. . . . . . . . . . . . . . . . . . . . . 61
4.20 Ligação interna do componente integrado 7408. . . . . . . . . . . . . . . . . . . . . 61
4.21 Ligação interna do componente integrado 7410. . . . . . . . . . . . . . . . . . . . . 61
4.22 Ligação interna do componente integrado 7420. . . . . . . . . . . . . . . . . . . . . 62
4.23 Ligação interna do componente integrado 7432. . . . . . . . . . . . . . . . . . . . . 62
4.24 Ligação interna do componente integrado 7486. . . . . . . . . . . . . . . . . . . . . 62
4.25 Diferenças entre transistores bipolares e MOS. . . . . . . . . . . . . . . . . . . . . . 63
4.26 Funcionamento de uma porta lógica CMOS . . . . . . . . . . . . . . . . . . . . . . 64
4.27 Ligação interna do componente integrado 4001. . . . . . . . . . . . . . . . . . . . . 66
4.28 Ligação interna do componente integrado 4011. . . . . . . . . . . . . . . . . . . . . 66
4.29 Ligação interna do componente integrado 4012. . . . . . . . . . . . . . . . . . . . . 67
4.30 Ligação interna do componente integrado 4023. . . . . . . . . . . . . . . . . . . . . 67
4.31 Ligação interna do componente integrado 4025. . . . . . . . . . . . . . . . . . . . . 67
4.32 Ligação interna do componente integrado 4048 . . . . . . . . . . . . . . . . . . . . 68
4.33 Interfaceamento TTL e CMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.34 Interfaceando TTL e CMOS com tensões diferentes . . . . . . . . . . . . . . . . . . 69
4.35 Interfaceando CMOS e TTL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

5.1 Porta E de três entradas a partir de duas com duas entradas. . . . . . . . . . . . . 70


5.2 Exemplo de circuito combinacional . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.3 Resumo das funções lógicas mais simples. . . . . . . . . . . . . . . . . . . . . . . . 72
5.4 Circuito combinacional dividido em expressões simples. . . . . . . . . . . . . . . . . 73
5.5 Circuito combinacional dividido em expressões simples. . . . . . . . . . . . . . . . . 74
5.6 Representação lógica da equação. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.7 Mapa de Karnaugh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.8 Representação lógica da equação. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.9 Circuito resultante da simplificação. . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.10 Circuito da figura 5.9 representado com portas NÃO-E. . . . . . . . . . . . . . . . 76
5.11 Circuito comercial da figura 5.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.12 Circuito comercial da figura 5.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

7.1 XD200M01.02.01 - Portas Lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

9.1 Decodificador com quatro saı́das a partir de dois bits de endereço. . . . . . . . . . 96


9.2 Display de sete segmentos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
9.3 Esquema de interligação BCD - Display de sete segmentos. . . . . . . . . . . . . . 97
9.4 Esquema elétrico do display de sete segmentos. . . . . . . . . . . . . . . . . . . . . 97
9.5 Funcionamento de um codificador. . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

12
Cartões Digitais

11.1 XD200M02.02.01 - Encoder e Decoder . . . . . . . . . . . . . . . . . . . . . . . . . 107

13.1 Exemplos de montagem de alguns registradores de deslocamento. . . . . . . . . . . 112


13.2 Registrador de deslocamento PISO. . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
13.3 Registrador de deslocamento SIPO. . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
13.4 Registrador de deslocamento PIPO. . . . . . . . . . . . . . . . . . . . . . . . . . . 115

15.1 XD200M03.02.01 - Registrador de deslocamento e decodificador BCD/7 segmentos 122

17.1 Disposição de entradas e saı́das de um meio somador. . . . . . . . . . . . . . . . . 128


17.2 Representação de um meio somador. . . . . . . . . . . . . . . . . . . . . . . . . . . 129
17.3 Adição de dois números binários de quatro dı́gitos. . . . . . . . . . . . . . . . . . . 129
17.4 Mapa K (Karnaugh) de um somador completo. . . . . . . . . . . . . . . . . . . . . 130
17.5 Esquema lógico de um somador completo. . . . . . . . . . . . . . . . . . . . . . . . 130
17.6 Diagrama lógico simplificado de um somador completo. . . . . . . . . . . . . . . . 130
17.7 Representação gráfica de um somador completo. . . . . . . . . . . . . . . . . . . . 131
17.8 Representação gráfica de um somador paralelo de 4 bits. . . . . . . . . . . . . . . . 131
17.9 Representação de um somador/subtrator de quatro bits. . . . . . . . . . . . . . . . 132
17.10Comparador de igualdade de palavras 4 bits . . . . . . . . . . . . . . . . . . . . . . 133
17.11Diagrama interno do integrado 74682. . . . . . . . . . . . . . . . . . . . . . . . . . 134

19.1 XD200M04.02.01 - ALU e Comparador de Magnitude . . . . . . . . . . . . . . . . 142

21.1 Contador assı́ncrono. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148


21.2 Contador assı́ncrono de módulo seis. . . . . . . . . . . . . . . . . . . . . . . . . . . 150
21.3 Contador assı́ncrono de modulo cinco. . . . . . . . . . . . . . . . . . . . . . . . . . 151
21.4 Contador Up/Down. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
21.5 Contador sı́ncrono. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
21.6 Contador RIPPLE CARRY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

23.1 XD200M05.02.01 - Contadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

25.1 Buffer Tri-state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165


25.2 Esquema de ligação do Latch tipo D . . . . . . . . . . . . . . . . . . . . . . . . . . 166

27.1 XD200M06.02.01 - Buffer e Latch . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

29.1 Circuito equivalente a um flip-flop RS. . . . . . . . . . . . . . . . . . . . . . . . . . 177


29.2 Flip-Flop RS com portas NÃO-E. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
29.3 Diagrama de tempo do flip-flop RS. . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
29.4 Representação do flip-flop RS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
29.5 Flip-flop RS controlado por clock com portas NÃO-E. . . . . . . . . . . . . . . . . 179
29.6 Diagrama de tempo do flip-flop RS com clock. . . . . . . . . . . . . . . . . . . . . . 180
29.7 Flip-flop RS mestre-escravo completo. . . . . . . . . . . . . . . . . . . . . . . . . . 180
29.8 Temporização no Flip-flop RS mestre-escravo. . . . . . . . . . . . . . . . . . . . . . 181
29.9 Ligação das entradas preset e clear. . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
29.10Flip-flop JK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
29.11Diagrama de tempo do flip-flop JK com preset e clear. . . . . . . . . . . . . . . . . 183
29.12Representação gráfica do flip-flop D. . . . . . . . . . . . . . . . . . . . . . . . . . . 184
29.13Representação gráfica do flip-flop T. . . . . . . . . . . . . . . . . . . . . . . . . . . 184
29.14Comportamento do flip-flop T com relação ao clock. . . . . . . . . . . . . . . . . . 184
29.15Flip-flop T como divisor de frequência. . . . . . . . . . . . . . . . . . . . . . . . . . 185
29.16Transformando Flip-flop’s RS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
29.17Transformando flip-flop’s JK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
29.18Transformando flip-flop D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

13
Cartões Digitais

31.1 XD200M07.02.01 - Flip Flop’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

33.1 Demultiplexador de quatro saı́das com enable. . . . . . . . . . . . . . . . . . . . . . 198


33.2 Circuito multiplexador de oito entradas. . . . . . . . . . . . . . . . . . . . . . . . . 199

35.1 XD200M08.02.01 - Mux/Demux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206

37.1 Converso D/A simples que utiliza um amplificador operacional. . . . . . . . . . . . 210


37.2 Conversor D/A do tipo R-2R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
37.3 Escala de Conversão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
37.4 Grau de Linearidade de Conversão . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
37.5 Diagrama em Blocos de Conversor A/D . . . . . . . . . . . . . . . . . . . . . . . . 214
37.6 Escala de Conversão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
37.7 Quantização em 4 Bits de Resolução . . . . . . . . . . . . . . . . . . . . . . . . . . 215
37.8 Quantização em 8 Bits de Resolução . . . . . . . . . . . . . . . . . . . . . . . . . . 215
37.9 Quantização em 12 Bits de Resolução . . . . . . . . . . . . . . . . . . . . . . . . . 215
37.10Representação gráfica do conversor A/D . . . . . . . . . . . . . . . . . . . . . . . . 216
37.11Representação gráfica do conversor A/D de rampa digital. . . . . . . . . . . . . . . 217
37.12Conversor A/D por aproximação sucessiva. . . . . . . . . . . . . . . . . . . . . . . 218
37.13Representação gráfica do conversor A/D Flash. . . . . . . . . . . . . . . . . . . . . 219

39.1 XD200M09.02.01 - Conversores A/D e D/A . . . . . . . . . . . . . . . . . . . . . . 228

41.1 Exemplo de memória RAM aplicada em Computadores . . . . . . . . . . . . . . . 233


41.2 Estrutura Interna da Memória SRAM UT62256. . . . . . . . . . . . . . . . . . . . 234
41.3 Nomenclatura dos Pinos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
41.4 Estrutura Interna da Memória EEPROM 24Cxx. . . . . . . . . . . . . . . . . . . . 235
41.5 Nomenclatura dos Pinos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
41.6 Processo de Escrita. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
41.7 Processo de Leitura. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
41.8 Processo de Escrita. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
41.9 Processo de Leitura. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239

43.1 XD200M10.01 - Memória RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245


43.2 XD200M10.02 - Memória EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . 246

47.1 XD200M11 - Contador Código Gray . . . . . . . . . . . . . . . . . . . . . . . . . . 257

52.1 Distribuição em árvore do conteúdo do CD . . . . . . . . . . . . . . . . . . . . . . 277


52.2 Pagina de apresentação da instalação . . . . . . . . . . . . . . . . . . . . . . . . . . 279
52.3 Confirmação de licença da Altera . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
52.4 Identificação de Usuário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
52.5 Determinando local de instalação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
52.6 Confirmação do nome da pasta do menu iniciar . . . . . . . . . . . . . . . . . . . . 281
52.7 Escolha do tipo de Instalação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
52.8 Confirmação das opções selecionadas . . . . . . . . . . . . . . . . . . . . . . . . . . 282
52.9 Página de instalação do Quartus II . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
52.10Instalação finalizada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
52.11Visão da placa XD200M12 - CPLD . . . . . . . . . . . . . . . . . . . . . . . . . . . 285

14
Lista de Tabelas

2.1 Indicação dos pesos de cada número. . . . . . . . . . . . . . . . . . . . . . . . . . . 23


2.2 Representação binária do número 18 . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.1 Tabela verdade da porta NOT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31


3.2 Tabela verdade da função não ou(NOR) . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3 Tabela verdade da função XOR para duas entradas. . . . . . . . . . . . . . . . . . 37
3.4 Tabela Verdade da função XNOR usando portas lógicas simples . . . . . . . . . . . 37
3.5 Tabela verdade de uma porta NÃO-E como inversora. . . . . . . . . . . . . . . . . 41
3.6 Tabela exemplo do jogo batalha naval. . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.1 Tabela verdade do Buffer Tri-State. . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5.1 Tabela verdade do circuito combinacional da figura 5.4 . . . . . . . . . . . . . . . . 73

9.1 Tabela verdade da figura 9.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96


9.2 Tabela dos leds do display de sete segmentos. . . . . . . . . . . . . . . . . . . . . . 98
9.3 Tabela verdade de um circuito codificador. . . . . . . . . . . . . . . . . . . . . . . . 98

13.1 Funcionamento do Shift-Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

17.1 Tabela verdade de um meio somador. . . . . . . . . . . . . . . . . . . . . . . . . . . 129


17.2 Tabela de funcionamento do somador/subtrator. . . . . . . . . . . . . . . . . . . . 132

21.1 Tabela verdade de um contador assı́ncrono. . . . . . . . . . . . . . . . . . . . . . . 148


21.2 Tabela verdade de um contador assı́ncrono decrescente. . . . . . . . . . . . . . . . 149
21.3 Tabela verdade de um contador módulo cinco. . . . . . . . . . . . . . . . . . . . . . 150
21.4 Tabela verdade de um contador de módulo usando preset. . . . . . . . . . . . . . . 151

25.1 Buffer Tri-state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166


25.2 Latch tipo D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

29.1 Tabela verdade do Flip-Flop RS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179


29.2 Tabela verdade do Flip-flop JK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
29.3 Tabela verdade do flip-flop D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

37.1 Tabela de conversão de um sinal digital para um sinal analógico. . . . . . . . . . . 211


37.2 Tabela de conversão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
37.3 Tabela do conversor A/D Flash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

15
Cartões Digitais
Cartões Digitais

Introdução

Uma caminhada de 200 km sempre começa com um simples passo.


(Provérbio chinês)
Procuremos acender uma vela em vez de amaldiçoar a escuridão.
(Provérbio chinês)

Parabéns! Você acaba de adquirir um produto de alta qualidade e tecnologia de ponta. Os


módulos de cartões digitais será de grande auxı́lio no aprendizado, na elaboração de cursos e
treinamentos que envolvam eletrônica básica, abrangendo desde conceitos de portas lógicas até
CPLD.
A Exsto Tecnologia é uma empresa situada em Santa Rita do Sapucaı́, Minas Gerais, cidade
conhecida como ”Vale da Eletrônica”por seu destaque na indústria eletroeletrônica e pela ex-
celência de suas instituições de ensino. Nossa missão é sempre fornecer as melhores ferramentas
para o desenvolvimento e aprendizado em eletrônica e desenvolvimento de software. Visite nosso
site www.exsto.com.br para conhecer outras soluções e produtos oferecidos.
Este documento contém as principais caracterı́sticas do conteúdo englobado no kit educacional
e visa ser o guia de instalação, testes e manutenção desse equipamento.
Os módulos visam facilitar o aprendizado e o desenvolvimento de técnicas empregadas na
utilização da teoria da eletrônica digital básica.
Este material didático tem como função guiar o aluno durante todo o seu aprendizado da
eletrônica. Mostrar todo o conhecimento necessário para entender o funcionamento, composição
interna e suas aplicações bem como guiá-lo também em todas as experiências de utilização
dos módulos desenvolvido pela Exsto Tecnologia (www.exsto.com.br). Esta apostila trata dos
exercı́cios necessários para a fixação do conteúdo teórico visto neste caderno.
Temos o propósito de explorar os conceitos abordados e imediatamente prover a integração
do aluno com o prazer da prática, tornado seu aprendizado mais interessante e consistente. Todo
o conteúdo aqui é abordado de forma a fomentar a vontade do aluno e aplicar o conhecimento de
forma imediata, permitindo que ele possa criar seus próprios circuitos a partir dos conhecimentos
adquiridos.
Cartões Digitais

Capı́tulo 1

Introdução à Eletrônica Digital

O campo da eletrônica atualmente se divide em diversas áreas de atuação como as áreas da


elétrica, de telecomunicações e aeroespaciais, por exemplo. Contudo, podemos ainda dividir a
eletrônica em duas grandes ideias que certamente quase todos, já ouviram falar:

1. Eletrônica Analógica;

2. Eletrônica Digital

O conteúdo desta apostila é estudar de forma concisa os conceitos de eletrônica digital, en-
tendendo ao longo do conteúdo quais são as capacidades destes conceitos e da implementação dos
mesmos para a resolução de problemas.

1.1 Diferenciações entre analógico e digital


Podemos começar a análise destas diferenciações através da seguinte pergunta: Quais são os
parâmetros utilizados para definir um equipamento com digital ou defini-lo como analógico? Nos
dias de hoje são encontrados diversos equipamentos com denominações Digital ou Analógico, mas
na maioria das vezes esta denominação é dada pelos próprios fabricantes, então como podemos
distinguir o que é analógico e o que é digital?
Para responder a primeira pergunta, temos que antes verificar as diferenciações, definir o que
é ANALÓGICO e o que é DIGITAL. Para isso vamos tomar alguns exemplos:

1.1.1 Rampa versus escada

Figura 1.1: Rampa versus escada.

Tomando por base a figura da esquerda, vemos que se um objeto estiver no meio da rampa e
este objeto ‘caminhar’para um ponto mais baixo ou para o ponto mais alto, ele poderá assumir
qualquer uma das infinitas posições de altura entre a posição central e o caminho tomado. Ao
analisarmos a escada podemos ver que o comportamento não é da mesma forma, pois o objeto só
Cartões Digitais

poderá estar em um dos degraus, tendo que, para alcançar os demais degraus terá uma variação
grande de altura. Sendo assim, podemos dizer, salvo os elementos rudimentares de comparação,
que a rampa está para o analógico, assim como a escada está para o digital.

1.1.2 Voltı́metro analógico versus voltı́metro digital


Semelhante ao exemplo anterior, podemos verificar que no voltı́metro analógico o valor indi-
cado pelo ponteiro pode ocupar infinitas posições entre o inicio e o fim da escala. Já no voltı́metro
digital os valores exibidos na tela são discretos, significando que existe um número finito de valores
entre o maior e o menor valor.
Analisando os dois exemplos, concluı́mos que a classificação analógica deve ser dada a qualquer
equipamento que apresentar infinitas saı́das entre dois pontos preestabelecidos, em contra partida,
todo equipamento que apresentar finitas saı́das será dito digital.
Considerando a primeira pergunta feita no inicio, poderı́amos dizer que cientificamente um
dispositivo é analógico quando sua saı́da é uma função com elementos contı́nuos e podemos dizer
que o equipamento é digital quando a saı́da for composta por uma função discreta.
Por exemplo, quando ajustamos à intensidade de uma lâmpada incandescente, usando o botão
giratório, você terá infinitas posições para escolher através do tempo que ficar girando o botão
entre o seu valor máximo e valor mı́nimo. Observa-se que esta entrada analógica gera uma saı́da
analógica, que é a intensidade de brilho da lâmpada incandescente. Contudo, quando pressionamos
um botão de um controle remoto, vemos a intensidade do áudio variar em pequenos saltos e, em
alguns modelos, aparece no vı́deo o valor selecionado, normalmente de 0 a 50. Podemos observar
que não é possı́vel estabelecer o valor de 23,8 para o volume da televisão via controle remoto, pois
os saltos de valores são de um em um. Afirmamos então que a televisão com controle remoto tem
no circuito de áudio uma entrada analógica, mas que o valor do volume na tela varia de forma
digital.
Podemos citar outro exemplo, como os dispositivos para reproduzir CD’s que têm entradas e
saı́das analógicas e processamento digital, onde o som original é analógico por natureza, a gravação
é feita de forma digital e na reprodução temos novamente o som analógico.
Analisando todas essas considerações podem afirmar com certeza que a eletrônica analógica
processa sinais com funções contı́nuas e a eletrônica digital processa sinais com funções discretas.

1.2 Vantagens da eletrônica digital


Como podemos analisar nos exemplos vistos acima, quando temos um equipamento que possui
uma saı́da digital, temos uma quantidade finita de valores, tornando o trabalho com esse tipo de
sinal mais fácil. Já um dispositivo analógico, que pode possuir infinitos valores, precisa de uma
análise muito detalhada e um tratamento muito mais elaborado para que o trabalho seja executado
sem que se percam partes do sinal.
Para simplificar ainda mais o processamento de sinais digitais, foi retomada uma técnica de
representação chamada numeração binária, que utiliza em seu sistema apenas dois sı́mbolos para
a representação de números. Como os sinais são discretos e, portanto as medições são obtidas
de forma fácil, se enumerarmos esses valores usando a numeração binária temos a representação
numérica de apenas dois elementos distintos para representarmos os sinais desejados. Podemos
Cartões Digitais

concluir então que em um sistema digital teremos o processamento de conjuntos finitos cujos
elementos se apresentam em apenas dois valores. Para cada elementos deste, é dado o nome de
bit. Podemos ter conjuntos de diferentes quantidades de bits, entretanto para o conjunto mais
usado dá-se o nome de bytes, que corresponde ao agrupamento de oito bits.
Aparentemente, seria melhor ter um sistema com infinitos pontos (analógico) do que ter um
sistema com finitos pontos (digital). Entretanto, vemos que é muito mais simples processar,
armazenar e transmitir informações discretas do que informações contı́nuas.
O nosso escopo se concentra em como os sinais digitais discretos podem ser usados na criação
de circuitos digitais complexos e como a determinação destes dois elementos numéricos distintos
podem ser usados para representação de outros grupos numéricos como o decimal e hexadecimal.
No próximo capitulo vamos concentrar nossos esforços para entender os diversos grupos numéricos
existentes e como fazer a sua conversão para o sistema binário.
Cartões Digitais

Capı́tulo 2

Sistemas de numeração e conversões

Todos nós, quando resolvemos tratar no cotidiano a palavra números, por instinto associamos
está palavra ao sistema decimal o qual usamos diariamente no número das casas, no dinheiro que
é gasto e na representação da quantidade de dedos nas mãos. Este sistema numérico está ligado
diretamente em certas regras e padrões que fundamentam qualquer outro modelo de representação
numérica. Vamos, portanto, estudar estas regras e aplicá-las aos outros sistemas de numeração
como a binária, octal e hexadecimal. Estes sistemas são utilizados em computadores digitais,
circuitos lógicos em geral e no processamento de informações dos mais variados tipos.
É importante notar que por mais que utilizamos o sistema de numeração binária ou qualquer
outro, sempre passaremos estes sistemas para o decimal, fazendo com que estes sejam compreen-
didos de forma fácil para nós.

2.1 Sistema de numeração binária


Apesar de sabermos que nossa cultura utiliza o sistema decimal, é fácil para você entender o
que isso significa? Para facilitar a compreensão, é só ver que um dı́gito no sistema decimal tem
na realidade dois significados. Um, é o valor propriamente dito do dı́gito e o outro é o que rela-
ciona este digito com a sua posição em relação ao número todo ou o seu peso no número inteiro.
Podemos citar, por exemplo, se usarmos o número 43, o dı́gito quatro no número representa 4 x
10, ou seja, 40, devido à posição ou peso que ele ocupa neste número e o 3 representa 3 x 100.
Esta metodologia é aplicável a qualquer sistema de numeração onde os dı́gitos possuem pesos
determinando sua posição. Sendo assim, um sistema de numeração genérico pode ser expresso da
seguinte maneira:

N = dn .B n + . . . + d3 .B 3 + d2 .B 2 + d1 .B 1 + d0 .B 0 + . . . + d−n .B −n (2.1)

Onde:

N = representação do número usando a base B;


dn = posição n do dı́gito;
B = base do sistema de numeração utilizado;
n = valor posicional do dı́gito.
Cartões Digitais

Por exemplo, o número 3456 no sistema decimal é representado como:

N = d3 .B 3 + d2 .B 2 + d1 .B 1 + d0 .B 0

3456 = 3.103 + 4.102 + 5.101 + 6.100

10 10 10 10
3 2 1 0
3 4 5 6

Tabela 2.1: Indicação dos pesos de cada número.

Como podemos ver, apesar do sistema de numeração decimal estar integrado ao nosso cotidi-
ano, para que possamos realmente entender como funciona é necessário saber que cada dı́gito de
cada número possui um peso especı́fico que o posiciona neste número. Temos ainda que definir
mais um elemento que é importante para o nosso entendimento deste sistema de numeração, a
base. A composição da base é dada pela quantidade de dı́gitos ou sı́mbolos que cada sistema
numérico possui, por exemplo, como estamos analisando o sistema numérico decimal, é correto
pensar em uma base composta de dez sı́mbolos, que são:

0,1,2,3,4,5,6,7,8 e 9

Portanto, para este sistema numérico temos dez sı́mbolos formando uma base decimal. Este
pensamento pode ser estendido para os outros sistemas de numeração através da mesma analogia.
Por exemplo, num sistema octal, a base é feita com oito sı́mbolos que são:

0,1,2,3,4,5,6 e 7

Onde cada número octal, é composto do posicionamento destes oito sı́mbolos no numero octal
mais o uso da base oito para representá-lo.
Nos próximos itens vamos ver como é formado os dois sistemas de numeração muito utilizados
na eletrônica, o binário e o hexadecimal.

2.2 Sistema de numeração binário


Como podemos ver anteriormente, o sistema decimal é composto de 10 dı́gitos ou sı́mbolos
que o representam. O sistema binário utiliza somente dois dı́gitos, ‘0’e ‘1’para representação da
sua numeração, assim sabemos que sua base é de valor dois. Usando este sistema de numeração
binário também podemos representar qualquer quantidade que seria representada no sistema de-
cimal. De acordo com a definição de um sistema de numeração qualquer, o número binário 10010
pode ser representado da seguinte forma:

10010 = 1.24 + 0.23 + 0.22 + 1.21 + 0.20

10010 = 16 + 0 + 0 + 2 + 0 = 18
Cartões Digitais

Observe que os números utilizando a numeração binária devem ser lidos da direita para a
esquerda, partindo do menos significativo (LSB - Less Significant Bit) ao mais significativo (MSB
- Most Significant Bit). Esta nomenclatura é dada ao dı́gito com a menor potencia associada a
uma base e ao dı́gito com a maior potencia associada a uma base respectivamente, seja isto na
parte inteira ou na parte fracionada do valor.

24 23 22 21 20
1 0 0 1 0
MSB LSB

Tabela 2.2: Representação binária do número 18

De acordo com este sistema de numeração, um número binário com N bits pode representar
um número decimal de 2n objetos, como: 23 = 8 objetos.
Veja que os ı́ndices foram especificados em notação decimal, o que possibilita a conversão
binário-decimal como descrito acima. Através do exemplo anterior, podemos notar que a quan-
tidade de dı́gitos necessários para representar um número qualquer no sistema binário, é muito
maior quando comparada ao sistema decimal. A representação binária é perfeitamente adequada
para utilização pelos computadores. No entanto, um número representado em binário apresenta
muitos bits, ficando longo e passı́vel de erros quando manipulado por seres humanos normais como,
por exemplo, os programadores, analistas e engenheiros de sistemas. Para facilitar a visualização
e manipulação por programadores de grandezas processadas em computadores, que utilizam o
sistema binário, são usualmente adotadas as representações octal (base oito) e principalmente
hexadecimal (base 16). Ressaltamos mais uma vez que o computador opera apenas na base dois
e as representações octal e hexadecimal não são usadas no computador, elas se destinam apenas
à manipulação de grandezas pelos profissionais que trabalham com eletrônica digital.

2.2.1 Conversão entre os sistemas binário e decimal


Dado um número binário qualquer, para expressá-lo em decimal, deve-se escrever cada número
que o compõe, multiplicado pela base do sistema. No caso do sistema binário o número dois ele-
vada à posição que ocupa. Uma posição à esquerda da vı́rgula representa uma potência positiva e
à direita uma potência negativa. A soma de cada multiplicação de cada dı́gito binário pelo valor
das potências resulta no número real representado.

Exemplo: 1011 (binário) = 1 × 23 + 0 × 22 + 1 × 21 + 1 × 20 = 11(decimal)

Agora para o processo inverso, dado um número decimal, para convertê-lo em binário, basta
usar o método de divisão repetida e o método de multiplicação repetida. Nota-se que um número
decimal pode ser inteiro ou não, com isso cada um dos métodos citados devem ser utilizados de
forma especı́fica. Esta conversão consiste em dividir o número decimal em duas partes, uma parte
inteira e a outra fracional. Desta forma, utilizamos o método de divisão repetida para a parte
inteira e a multiplicação repetida para a parte fracional. Por exemplo, se quisermos converter o
número 23,765 para binário fazemos:
Cartões Digitais

Figura 2.1: Conversão binário-decimal inteiro através de divisões sucessivas.

Com isso, podemos dizer que o número 23(10) é igual 10111(2) . Ou, usando a nomenclatura
correta, dizemos que: O número 23 na base 10 é igual ao número 10111 na base dois. Agora,
vamos analisar o método de multiplicação repetida para a parte fracionária. figura:

Figura 2.2: Conversão binário-decimal inteiro através de multiplicações sucessivas.

Como podemos ver na figura 2.2, foi adotada uma outra nomenclatura chamada carry ou ‘vai
- um’. Isto significa que para um número binário ter um carry é necessário que a capacidade de
representação de um determinado número binário com n bits tenha sido excedida, fazendo com
que seja necessário usar um peso alem da capacidade deste número com n bits. Por exemplo,
se temos o valor 3(10) , sua representação binária seria: 11(2) . Agora se quiséssemos representar
o número 4(10) só com esses dois bits não seria possı́vel, então temos que usar o ‘vai - um’para
Cartões Digitais

representá-lo fazendo com que o número 4(10) seja agora composto de três bits: 100(2) .
Com relação à conversão do número fracional decimal em binário, deve ser observado que o
procedimento de multiplicação repetida deve ser interrompido em duas situações: Quando a parte
fracional for zero ou quando for alcançada a precisão desejada. Contudo, na maioria dos casos, o
motivo de interrupção será quando a precisão for alcançada.

2.3 Sistema de numeração hexadecimal


A adoção do sistema hexadecimal veio da necessidade de se representar os números binários de
forma mais curta ou simples. Isso fica claro quando utilizamos o sistema decimal para representar
o valor nove. Para representarmos ele no sistema decimal é só usar o dı́gito 9(10) , mas se fossemos
representar o mesmo valor no sistema binário, terı́amos o seguinte número em binário: 1001(2)
usando quatro dı́gitos!
Vale notar que quando menor for a base, mais dı́gitos serão necessários para representar um
determinado valor, isso fica claro no exemplo dado acima. Uma base diferente foi então adotada
para que pudesse facilitar aos profissionais de eletrônica na representação dos números binários. A
base adotada foi a base 16 (base hexadecimal), por ser uma potencia inteira de dois que facilitará
a conversão entre o hexadecimal e o binário. Com um número hexadecimal formado por n dı́gitos
pode fazer a contagem de até 16n objetos, por exemplo, para n = 1 podemos contar 161 = 16
objetos. Isto pode ser mais bem demonstrado na figura 2.3 abaixo:

Figura 2.3: Tabela de conversão decimal-binário-hexadecimal.

Como pôde ser notado, o sistema de numeração hexadecimal utiliza os dı́gitos que correspon-
dem aos números do sistema decimal e também utilizada algarismos do alfabeto para representar
seus valores. Fazendo com que o conjunto de dı́gitos que represente este sistema seja:
Cartões Digitais

0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

Como em qualquer base numérica, o carry no sistema hexadecimal mostra que a capacidade de
representação numérica dos dı́gitos menos significativos foi excedida. Por exemplo, continuando
a contagem iniciada na tabela três teremos: 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 1C, 1D,
1E, 1F, 20, 21. . .

2.3.1 Conversão entre os sistemas binário e hexadecimal


Uma das principais vantagens do sistema hexadecimal é sua fácil conversão para o sistema
binário e vice-versa. De fato, é muito mais simples de conversão hexadecimal e binário do que
binário e hexadecimal.
Para fazer uma conversão entre o sistema binário e hexadecimal, começamos a isolar da direita
para a esquerda grupos de quatro bits, também chamado de nibble, fazendo a conversão direta
destes quatro bits para hexadecimal usando a tabela 3.2. Caso esta separação em grupos de
quatro bits seja feita e os últimos bits não cheguem a formar grupos de quatro é só adicionar
zeros conforme for necessário até o preenchimento de quatro bits. Por exemplo, vamos converter
o número 30(10) = 11110(2) para hexadecimal:

Figura 2.4: conversão binário-hexadecimal

Com o processo descrito acima, vemos que é muito fácil fazer a conversão de um número binário
em hexadecimal. Por isso a sua maior aplicabilidade em sistemas digitais do que o binário, pois
representa de forma simples o sistema numérico binário. Na figura 2.5, vemos que o número 30(10)
= 11110(2) = 1E(16) .
Para que possamos fazer a conversão do sistema hexadecimal para o binário é só executar o
processo inverso da figura 2.5. Ou seja, fazer com que cada dı́gito hexadecimal seja convertido
pelo nibble binário correspondente e depois reagrupado de novo.

Figura 2.5: Conversão hexadecimal-binário.

A conversão entre os sistemas de numeração binário e hexadecimal é simples e torna fácil o


trabalho tanto num sistema como no outro.
Cartões Digitais

2.3.2 Conversão entre os sistemas hexadecimal e decimal


A conversão entre os sistemas hexadecimal e decimal é feita através de procedimentos simples,
sendo que para a conversão do hexadecimal para o decimal pode ser adotada duas formas: Fa-
zendo a mudança do hexadecimal para binário e depois do binário para o decimal ou através da
substituição de acordo com a equação do sistema de numérico. Ao contrário, quando se vai fazer
a conversão de decimal para hexadecimal, a conversão é feita de forma direta, usando o método
da divisão repetida.
Tomando como exemplo o número hexadecimal 3C(16) teremos o seguinte número decimal
aplicando as duas formas:

1. Equação do sistema numérico:


3C = 3.161 + C.160 = 3.16 + 12.1 = 60(10)

2. Conversão hexadecimal para binária depois binária para decimal:


3C = 3(0011)eC(1100) = 00111100 = 111100111100 = 1.25 +1.24 +1.23 +1.22 +0.21 +0.20 =
32 + 16 + 8 + 4 = 60(10)

Como visto, a mudança de bases é bem simples se adotarmos sempre a equação do sistema
numérico utilizado. Agora vamos ver como se aplica a divisão repetida ao sistema hexadecimal
para obter o número decimal, para isso, vamos tomar o número 60(10) e passá-lo para hexadecimal.

Figura 2.6: Conversão decimal-hexadecimal.

Com isso vemos que a conversão entre as bases 16, 2 e 10 são fáceis de serem feitas. É
importante salientar que todo este processo de numeração tem que ser bem entendido pelo aluno
para que não ocorram problemas no andamento da apostila. No próximo capı́tulo, iremos ver
a álgebra dos sistemas digitais lógicos, as regras básicas de Boole que resultaram em alguns
postulados.
Cartões Digitais

Capı́tulo 3

Algebra de Boole

3.1 Introdução
O ponto de partida para o projeto de sistemas de processamento digital é a chamada Álgebra
de Boole, trabalho de um matemático inglês que, em um livro de 1854, propôs dar expressão as
leis fundamentais do raciocı́nio na linguagem simbólica do cálculo. Trata-se, portanto, de uma
formalização matemática da lógica em sua forma mais simples, conhecida como Lógica Proposi-
cional.
Esta era fundamentada por uma série de postulados mostrando como operações simples podem
ser usadas para resolver uma infinidade de problemas. Apesar da álgebra de Boole resolver
problemas práticos de controle e fabricação de produtos, na época em que ela foi idealizada, não
havia sistemas eletrônicos que pudessem usar toda a teoria.
A álgebra de Boole veio se tornar importante com o advento da Eletrônica, especificamente,
da eletrônica digital, que gerou os modernos computadores. Boole firma através da sua teoria
que para qualquer situação só existam duas possibilidades, condições ou estados, que possam ser
escolhidas e cada uma dessas possibilidades são inversas uma da outra. Assim, um forno só pode
estar quente ou frio, uma torneira só pode estar aberta ou fechada, um carro só pode estar parado
ou em movimento, uma fonte só pode ter ou não ter tensão na sua saı́da. Ou seja, cada pergunta
só pode ter como resposta verdadeira ou falsa.
Com isso, para facilitar a representação da lógica de Boole, utilizamos dois estados: zero ou
um, Verdadeiro ou Falso, Aberto ou Fechado, Alto ou Baixo (HI ou LO) ou Ligado ou Desligado.
Na base da eletrônica digital partimos exatamente do princı́pio que um determinado equipamento
pode ter seus componentes lógicos trabalhando com esses dois estados possı́veis, ou seja, encontra-
remos presença do sinal de tensão ou a ausência do sinal de tensão, o que se adapta perfeitamente
aos princı́pios da álgebra de Boole.
Tudo que um circuito lógico digital pode fazer está previsto pela álgebra de Boole. Desde
as mais simples operações ou decisões, como ligar uma chave ou acender um LED, quando dois
sensores são ativados de uma determinada maneira ou ainda ativar uma bomba de água quando
a terra estiver seca.
Cartões Digitais

3.2 Nı́veis Lógicos


Como visto, sabemos que os circuitos digitais só possuem dois estados para representar pre-
sença ou ausência de sinal. Contudo, ainda é necessário ter alguns parâmetros importantes para
fundamentar nosso entendimento.
Nos circuitos digitais a presença de eletricidade será indicada como um, lembrando que segundo
boole só existe duas possibilidades possı́veis, sendo cada uma elas aqui representadas por um
número binário. Ainda podemos chamar de nı́vel HI (de HIGH ou Alto) a presença de eletricidade
nos circuitos digitais. O estado oposto deve ser representado pela ausência de eletricidade, tendo
sua indicação feita pelo número binário zero representado pela nomenclatura LO (de LOW ou
baixo). O zero ou LO será sempre uma tensão nula, ou ausência de sinal num ponto do circuito,
mas o nı́vel lógico um ou HI pode variar de acordo com o circuito considerado.
Nos equipamentos eletrônicos, como o computador, a tensão usada para a alimentação de
quase todos os circuitos lógicos é de 5 V. Então, o nı́vel um ou HI de seus circuitos será sempre
uma tensão de 5V. Nos notebooks é usada uma tensão de alimentação menor, devido à necessidade
de um menor consumo por causa da bateria, da ordem de 3.2 V. Para tanto, nestes circuitos um
nı́vel um ou HI corresponderá sempre a uma tensão desse valor. Ainda temos os circuitos digitais
que utilizam componentes de tecnologia CMOS e que são alimentados tipicamente por tensões
entre 3 e 15 V. Nestes casos, um nı́vel lógico um ou HI poderá ter qualquer tensão entre 3 e 15
V, dependendo apenas da tensão de alimentação usada. Atualmente, cada vez mais são usadas
alimentações de baixa tensão como 4,2V, 1,8V, 2,5V e especialmente 3,3V.
Na verdade, a ideia de associar a presença de tensão ao nı́vel um e a ausência ao nı́vel zero,
é mera questão de convenção, porque o valor zero é facilmente associado a uma coisa nula ou
ausência de algo. Nada impede que se adote um critério oposto para isto e se faça os projetos
dos circuitos usando este tipo de simbologia, pois eles funcionarão perfeitamente. Por exemplo,
nas portas seriais dos computadores “1”é representado por -12V e “0”por +12V. Assim, quando
dizemos que ao nı́vel alto (1) associamos a presença de tensão e ao nı́vel baixo a ausência de
tensão (0), estamos usando lógica positiva, pois a transição do nı́vel baixo para o alto é feito
de forma positiva. Se associarmos o nı́vel baixo ou zero a presença de tensão e o nı́vel alto ou
um a ausência de tensão, estaremos falando de uma lógica oposta, portanto uma lógica negativa.
Durante o uso da nossa apostila, vamos tratar somente da lógica positiva, seja para aplicação da
teoria como para qualquer nı́vel de tensão usado nos exercı́cios, a não ser quando especificado o
contrário. Portanto, na nossa lógica, associaremos o número binário ”0”para falso, desligado, LO
ou desabilitado e o número binário ”1”para verdadeiro, ligado, HI ou habilitado.

3.3 Elementos lógicos básicos


Nós diariamente executamos diversas ações que dependem da lógica, por exemplo, decisões
como, “Se eu ficar rico eu compro um barco”. Então, temos uma condição, pois só acontecerá a
compra do barco se ele ficar rico, caso não fique não acontecerá a compra do barco. Visto isto,
sabe-se que executamos diariamente operações lógicas, sendo as mais comuns as que envolvem
números, ou seja, quantidades que podem variar ou variáveis, representando uma soma como: S
= A + B.
Podemos ver que o valor da variável S será dependente dos valores que A e B assumirão.
Cartões Digitais

Então, podemos dizer que as variáveis A e B são independentes e que S é dependente dos valores
de A e B. Porem existe operações mais simples que a soma, e que são simplesmente implantadas
considerando a álgebra booleana.
É interessante observar que com um pequeno número de operações lógicas podemos alcançar
a uma infinidade de operações mais complexas, como as utilizadas nos PC’s atuais e que, repeti-
das em grande quantidade ou levadas a um grau de complexidade muito grande, nos fazem até
acreditar que a máquina tenha algum nı́vel de inteligência. Isso na realidade é a associação de
vários circuitos simples levando ao um comportamento complexo de muitos circuitos digitais.
Estes circuitos simples são denominados blocos lógicos ou, mais comumente, portas lógicas
que são compostas de uma ou mais entradas e uma ou mais saı́das. O resultado proveniente
da(s) entrada(s) é executado pelo circuito lógico gerando uma saı́da depende da(s) entradas. Em
outras palavras, a resposta que cada circuito lógico dá para uma determinada entrada ou entradas
depende da “regra booleana”que este circuito segue. Com isso, vemos que para chegarmos a
entender como um computador funciona, com sua alta capacidade de resolução de problemas,
temos que começar entendendo como ele faz as operações elementares usando as portas lógicas e
quais são essas portas.
Por este motivo, depois de analisarmos o funcionamento das operações lógicas vamos associá-
las a álgebra de Boole, estudando cada uma das portas básicas.

3.3.1 Função lógica NÃO (NOT) ou Inversora


Esta função é a mais básica de todas as funções lógicas que possamos ver, ela pode ser também
nomeada como NOT, através da nomenclatura inglesa da função da porta. Sua função é negar
uma afirmação, ou seja, como na álgebra booleana só existem duas respostas possı́veis para uma
pergunta, esta função “inverte”a resposta, fazendo uma afirmação verdadeira ficar falsa e vice-
versa. O circuito lógico que realiza esta operação é denominado inversor.

Figura 3.1: Representação simbólica da porta lógica NOT.

Analisando o comportamento deste circuito lógico inversor, vemos que quando a saı́da é ver-
dadeira, a entrada é falsa, ou que apresenta nı́vel zero, quando a entrada é um e vice-versa.
Podemos associar a ele uma tabela que será muito útil para representar esta função lógica e esta
tabela será usada para todos os outros circuitos lógicos posteriores para estudarmos melhor seu
funcionamento.

Entrada Saı́da
0 1
1 0

Tabela 3.1: Tabela verdade da porta NOT.


Cartões Digitais

Esta tabela mostra o que ocorre com a saı́da da função quando colocamos na entrada todas as
combinações possı́veis de nı́veis lógicos. Dizemos que se trata de uma “tabela verdade”ou “Truth
Table”no inglês. O sı́mbolo adotado para representar esta função está na figura 3.1 Este circuito
lógico pode ter o seu funcionamento demonstrado através de um circuito eletrônico simples e de
rápida compreensão como o abaixo:

Figura 3.2: Circuito exemplificando a função lógica NOT.

Neste circuito temos uma lâmpada que, acesa, indica o nı́vel 1 na saı́da e apagada, indica o
nı́vel 0. Quando a chave estiver na posição A, a chave estará fechada (nı́vel um), mas a lâmpada
estará apagada (nı́vel 0), pois o fluxo de corrente não passará pela lâmpada, mas pelo curto
provocado pela chave. Contudo, quando a chave estiver aberta, ou seja, na posição B (nı́vel zero)
o fluxo de corrente passara todo pela lâmpada fazendo com que ela acenda. Esta maneira de
simular funções lógicas com lâmpadas indicando a saı́da e chaves indicando a entrada, é bastante
interessante pela facilidade com que vemos o funcionamento do circuito lógico. Então para verificar
o funcionamento, é só comparar as duas tabelas abaixo.

3.3.2 Função lógica E (AND)


A função lógica E também conhecida pelo seu nome em inglês AND, pode ser definida
como aquela em que a saı́da será um se, e somente se, todas as variáveis de entrada forem
um. Observe que as funções lógicas não se limitam a um número de entradas. Cada função
lógica pode ter infinitas entradas que correspondem as variáveis independentes, mas só possuem
uma saı́da, que demonstra do resultado lógico da função. Este tipo de função lógica pode ser
representada pelo sı́mbolo mostrado na figura 3.3, sendo que este corresponde a uma função
lógica E de duas entradas. As funções lógicas também são chamadas de ”portas”ou ”Gates”(no
inglês), pois correspondem a circuitos lógicos que podem controlar ou deixar passar os sinais da
entrada para saı́da seguindo determinadas condições.
Cartões Digitais

Figura 3.3: Representação simbólica da porta lógica E.

Tomando como exemplo uma porta lógica ou função lógica E de duas entradas (A e B), vamos
analisar como seu funcionamento é descrito através de um circuito discreto.

Figura 3.4: Circuito exemplificando a função lógica E.

Procedendo como no exemplo da porta NOT, vamos considerar que as chaves são as entradas
do circuito e que a lâmpada seja a saı́da. Então, como é fácil de notar, precisamos ter as chaves
A e B fechadas, para que lâmpada seja ativada. Considerando o funcionamento do circuito já
podemos ver que a tabela da verdade será como abaixo:

Figura 3.5: Comparação entre a função E (AND) e o circuito da figura 3.4

Observamos que para uma porta E com duas entradas temos quatro combinações possı́veis
para as entradas aplicadas. Para uma porta E de três entradas temos oito combinações possı́veis
para o sinal de entrada. Para uma porta de quatro entradas, teremos dezesseis e assim por diante,
fazendo com que o número de combinações cresça de forma exponencial.
Conforme o funcionamento deste circuito, independente de quantas entradas uma porta E
tem, verifica que a lâmpada só irá acender caso todas as chaves estejam fechadas, ou seja, se
todas as entradas estiverem em nı́vel lógico alto ou um.

3.3.3 Função lógica OU (OR)


A função lógica OU (OR do inglês) se define como aquela cuja saı́da estará com nı́vel lógico alto
ou um, se alguma das suas entradas também estiver com nı́vel lógico alto. Podemos representa
uma função lógica OU através da seguinte simbologia.
Cartões Digitais

Figura 3.6: Representação simbólica da porta lógica OU.

Agora, tomando como exemplo uma porta OU com três entradas podemos construir o seguinte
circuito discreto

Figura 3.7: Circuito exemplificando a função lógica OU.

Através da análise do circuito da figura 3.6, vemos que a saı́da estará no nı́vel um (lâmpada
acessa) se uma das entradas, A, B ou C estiverem no nı́vel um, ou seja, fechada. Quando uma
chave estiver fechada a lâmpada receberá corrente conforme desejarmos. Para mais de duas
variáveis podemos ter circuitos lógicos com mais de duas entradas. Para o caso de uma porta OU
de três entradas teremos a seguinte tabela verdade ou ”Truth Table”.

Figura 3.8: Comparação entre a função OU (OR) e o circuito da figura 3.7

3.3.4 Função NÃO-E (NAND)


As três funções lógicas vistas até agora E, OU e NÃO são à base de toda a álgebra booleana
e todas as demais funções lógicas podem ser consideradas como derivadas delas. Por exemplo,
uma função lógica importante que vem da combinação de algumas portas lógicas básicas é a porta
NÃO-E ou NAND. Esta função é obtida pela associação da função E com a NÃO, ou seja, a saı́da
invertida de uma função E. Sua representação é feita a partir do sı́mbolo abaixo:

Figura 3.9: Representação simbólica da porta lógica NÃO-E.


Cartões Digitais

A simbologia é muito semelhante de uma porta E, contudo devemos ressaltar a existência


de um pequeno cı́rculo na saı́da da porta para indicar a negação. Podemos dizer que na função
NÃO-E, a saı́da estará em nı́vel zero se todas as entradas estiverem em nı́vel um, pois será a
saı́da inversa da função E. A duas tabelas verdades para uma porta NÃO-E ou NAND e para um
circuito com o mesmo propósito de três entradas é a seguinte:

Figura 3.10: Circuito exemplificando a função lógica NÃO-E (NAND).

Figura 3.11: Comparação entre a função NÃO-E (NAND) e o circuito da figura 3.10

Observe que a lâmpada só apagará (saı́da zero ou LO) quando as três chaves estiverem fechadas
(nı́vel lógico um ou HI), colocando em curto a fonte de alimentação. O resistor é usado para limitar
a corrente da fonte, já que se não tivesse este resistor a resistência tenderia a zero fazendo com
que a corrente tendesse ao infinito segundo a lei de ohm, causando problemas na fonte. Também
neste caso podemos ter a função NAND com mais de três entradas, até mesmo só com duas.
É importante ressaltar que através da associação desta porta lógica, é possı́vel obter todas as
outras funções lógicas descritas aqui neste item.

3.3.5 Função NÃO-OU (NOR)


Semelhante a função lógica NAND, esta função lógica representa a inversão da porta OU. Esta
inversão e feita da associação da função OU com a função NÃO. Sendo seu sı́mbolo apresentado
abaixo juntamente com sua respectiva tabela verdade para uma porta de duas entradas.

Figura 3.12: Representação simbólica da porta lógica NÃO-OU.


Cartões Digitais

A B S
0 0 1
0 1 0
1 0 0
1 1 0

Tabela 3.2: Tabela verdade da função não ou(NOR)

O funcionamento desta porta lógica corresponde ao seguinte: se a saı́da tiver nı́vel lógico um,
significa que na sua entrada, teremos somente nı́vel lógico zero. Agora, para quaisquer outros
valores de entrada, a saı́da sempre será um, fazendo com que a afirmação de que esta porta
é o inverso da porta OU seja verdadeira. Abaixo poderemos verificar como o circuito discreto
equivalente abaixo corresponde exatamente ao funcionamento da porta lógica.

Figura 3.13: Circuito exemplificando a função lógica NÃO-OU.

Podemos analisar o funcionamento deste circuito através das posições de suas chaves, pois se a
chave A ou B estiver na posição fechada (nı́vel lógico 1) ou as duas estiverem fechadas, o circuito
fica curto-circuitado e faz com que a lâmpada fique desligada. Agora, caso as duas fiquem em
nı́vel lógico baixo (posição aberta) a corrente passa a circular pela lâmpada acendendo-a.

3.3.6 Função OU-EXCLUSIVO (XOR)


Uma função com relevada importância para o funcionamento dos circuitos lógicos digitais
e, mais especificamente, para os computadores é a denominada “OU-EXCLUSIVO”. Esta função
tem a capacidade de promover a soma entre valores binários ou ainda encontrar o que se denomina
“paridade”(o que será visto futuramente). Abaixo poderemos ver qual é o sı́mbolo que representa
esta função lógica.

Figura 3.14: Representação simbólica da porta lógica XOR.

Seu funcionamento pode ser definido da seguinte forma: a saı́da será um somente se as variáveis
de entrada forem diferentes. Com isso temos que, para uma porta OU-EXCLUSIVO de duas
Cartões Digitais

entradas, quando a entrada A assumir um a entrada B deverá ser zero ou vice-versa.

A B S
0 1 0
0 0 1
1 1 1
1 0 0

Tabela 3.3: Tabela verdade da função XOR para duas entradas.

Esta função lógica, como dita acima, também é derivada das funções lógicas básicas, sendo
possı́vel montá-la usando portas conhecidas. Assim, mesmo que esta função tenha seu próprio
sı́mbolo e possa ser considerado um ”bloco”independente nos projetos, podemos sempre imple-
mentá-la com um circuito equivalente como o ilustrado abaixo.

Figura 3.15: Representação de uma porta XOR usando portas lógicas simples.

3.3.7 Função NÃO-OU-EXCLUSIVO ou coincidência


Esta função lógica é como o inverso da função OU-EXCLUSIVO. Sua denominação em inglês
é exclusive XNOR sendo representada pela simbologia abaixo. Observe o cı́rculo na ponta do
sı́mbolo que indica a inversão da função anterior (XOR), entretanto essa terminologia não é
muito bem empregada nesta situação. Esta função pode ser definida como a apresentação de uma
saı́da igual a um se somente as variáveis de entrada forem iguais.

Figura 3.16: Representação simbólica da porta lógica XNOR.

Uma tabela verdade para esta função é dada adiante, e ainda igual a porta OU-EXCLUSIVO,
podemos implementar esta função utilizando portas lógicas básicas como abaixo.

A B S
0 1 1
0 0 0
1 1 0
1 0 1

Tabela 3.4: Tabela Verdade da função XNOR usando portas lógicas simples
Cartões Digitais

Figura 3.17: Representação de uma porta XNOR usando portas lógicas simples

3.4 Propriedades das funções lógicas


Os circuitos lógicos fazem operações utilizando os valores binários aplicados às suas entradas.
Assim, podemos representar estas operações por uma simbologia apropriada, facilitando o projeto
dos circuitos e permitindo visualizar melhor o que ocorre quando associamos muitas funções. No
entanto, para que possamos unir várias portas diferentes, fazendo com que sua função básica em
conjunto com outras possam desempenhar operações mais complexas, é preciso saber as proprie-
dades que as operações podem realizar.
Da mesma forma que acontece com os números decimais, as operações lógicas booleanas
baseiam-se numa série de regras, postulados e teoremas conforme já tı́nhamos visto antes no
inicio do capitulo. Os principais para o nosso curso são vistos aqui e sua validação não são
necessárias no momento, contanto que você acredite que as afirmações são corretas. Caso o aluno
queira se aprofundar no assunto, recomendamos alguma literatura relacionada a Boole.

3.4.1 Representações
As operações lógicas E, OU e NÃO são representadas matematicamente por sı́mbolos usa-
dos no equacionamento decimal, contudo, apesar dos sı́mbolos serem semelhantes, eles possuem
significados diferentes como se pode ver a seguir.

1. Operação E: A operação E tem como sı́mbolo o ponto final(.). Então para representar
matematicamente a função E com duas entradas A e B com saı́da igual a S, podemos fazer
sua representação com: S = A . B;

2. Operação OU: A operação OU é representada matematicamente o sinal (+). Com isso,


a representação da operação de uma porta OU com entradas A e B e saı́da S pode ser
representada como: A + B = S;

3. Operação NÃO: Esta operação é indicada por uma barra da seguinte forma: A = S ou S
= A’ (A barra igual a S ou S igual a A barrado).

4. Operação XOR: Esta operação é indicada por um sı́mbolo que tem funções diferentes na
L L
álgebra booleana, o sı́mbolo , sua representação é dada por S=A B.

5. Operação XNOR: Esta operação é indicada por um sı́mbolo que tem funções diferentes
J J
na álgebra booleana, o sı́mbolo , sua representação é dada por S=A B.
Cartões Digitais

Tendo em mente estas representações, podemos enumerar as seguintes propriedades das operações
lógicas:

1. Elemento Neutro: É aquele que, quando participa de uma operação com uma variável,
leva a um resultado igual a própria variável. No caso da operação E o elemento neutro é 1,
isto é, A.1 = A. Já para a operação OU o elemento neutro é 0, ou seja A+0 = A

2. Elemento Nulo: É aquele que quando participa de uma operação com uma variável, leva
sempre a um mesmo valor, independente de qual seja o valor da variável. Na operação E
o elemento nulo é 0, portanto A.0 = 0. Já para a operação OU o elemento nulo é 1, assim
A+1 = 1

3. Elemento Complementar: O resultado da operação de uma variável com seu comple-


mento (seu valor negado) é o elemento nulo da operação. Assim sendo, A + A = 1 e A . A
=0

4. Propriedade comutativa das operações E e OU:

A.B = B.A (3.1)

A+B =B+A (3.2)

5. Propriedade associativa das operações E e OU:

A.(B.C) = (A.B).C (3.3)

A + (B + C) = (A + B) + C (3.4)

6. Teorema da Involução: A negação da negação é a afirmação): A = A ou A”= A

7. A operação E é distributiva em relação à operação OU:

A.(B + C) = A.B + A.C (3.5)

8. Teoremas de ”De Morgan”: Aplicando a operação NÃO a uma operação E, a resultante


desta consistirá num resultado idêntico ao uma operação OU aplicada aos complementos da
variável de entrada. Ou seja:

A.B = A + B (3.6)

O mesmo teorema pode ser aplicado a operação NÃO a uma operação OU o resultado é
igual ao da operação E aplicada aos complementos das variáveis de entrada.

A + B = A.B (3.7)

3.4.2 Exemplos de simplificação das equações lógicas


• Exemplo 1: S = A’.B’+A’.B
Cartões Digitais

A’.(B’+B) Colocando A’ em evidência


A’ Identidade: A+A’ = 1

• Exemplo 2: S = A.B.C+A.C’+A.B’
A.(B.C+(B’+C’)) * Colocando A em evidência
A.(B.C+(B.C)’) * Pelo teorema de Morgan
A * Identidade: A+A’ = 1

• Exemplo 3: S = (A+B’+C)’.(A+B+C)
A’.B.C’.(A+B+C ) * Pelo teorema de Morgan
A.A’.B.C’+A’.B.B.C’+A’.B.C.C’ * Propriedade Distributiva
0+A’.B.B.C’+0 * Identidade: A.A’ = 0
A’.B.B.C’ * Identidade: A+0 = A
A’.B.C’ * Identidade: A.A = A

• Exemplo 4 : S = ((A.C)’+B+D)’+C.(A’+C’+D’)
(A.C).B’.D’+C.(A’+C’+D’) * Pelo teorema de Morgan
(A.C).B’.D’+C.A’+C.C’+C.D’ * Propriedade Distributiva
(A.C).B’.D’+C.A’+0+C.D’ * Identidade: A.A’ = 0
(A.C).B’.D’+C.A’+C.D’ * Identidade: A + 0 = A
C.D’.(A.B’+1)+C.A’ * Colocando C.D’ em evidência
C.D’.(1)+C.A’ * Identidade: A + 1 = 1
C.D’+C.A’ * Identidade: A . 1 = A
C.(D’+A’) * Colocando C em evidência
C.(A.D)’ * Pelo teorema de Morgan

• Exemplo 5: S = ((A+B).C )’+(D.(C+B))’


((A+B)’+C’)+(D.(C+B))’ * Pelo teorema de Morgan
((A+B)’+C’)+(D’+(C+B)’) * Pelo teorema de Morgan
(A+B)’+(C+B)’+C’+D’ * Propriedade Associativa
(A+B)’+(C’.B’)+C’+D’ * Pelo teorema de Morgan
(A+B)’+C’.(B’+1)+D’ * Colocando C’ em evidência
(A+B)’+C’.(1)+D’ * Identidade: A + 1 = 1
(A+B)’+C’+D’ * Identidade: A . 1 = A
(A+B)’+(C.D)’ * Pelo teorema de Morgan

• Exemplo 6: S = A’.B’.C’+A’.B.C+A’.B.C’+A.B’.C’+A.B.C’
C’.(A’.B’+A’.B+A.B’+A.B)+A’.B.C * Colocando C’ em evidência
Cartões Digitais

C’.(A’.(B’+B)+A.(B’+B))+A’.B.C * Colocando A’ e A em evidência


C’.(A’.(1)+A.(1))+A’.B.C * Identidade: A + A’ = 1
C’.(A’+A)+A’.B.C * Identidade: A . 1 = A
C’.(1)+A’.B.C * Identidade: A + A’ = 1
A’.B.C+C’ * Identidade: A . 1 = A
(A+B’+C’)’+C’ * Pelo teorema de Morgan
((A+B’+C’).C)’ * Pelo teorema de Morgan
(A.C+B’.C+C’.C)’ * Propriedade Distributiva
(A.C+B’.C+0)’ * Identidade: A . A’ = 0
(A.C+B’.C )’ * Identidade: A + 0 = A
(C.(A+B’))’ * Colocando C em evidência
C’+(A+B’)’ * Pelo teorema de Morgan
C’+A’.B * Pelo teorema de Morgan

3.4.3 Fazendo tudo com portas Não-E (NAND)


Como já comentado anteriormente, temos um tipo de porta que em associação entre elas,
podem gerar todas as outras portas devido as suas caracterı́sticas. Esta propriedade torna essas
portas elementos universais nos projetos de circuitos digitais já que, na forma de circuitos integra-
dos, as funções NÃO-E são fáceis de obter e baratas. Com isso, vamos ver de que forma podemos
implementar algumas portas lógicas através da porta NÃO-E.

• Inversora: Para obter uma inversora de uma porta NÃO-E basta unir suas entradas ou
colocar uma das entradas no nı́vel lógico um.

Figura 3.18: Exemplos de portas inversoras com portas NÃO-E.

A B(5V+) S
0 0 1
1 1 0

Tabela 3.5: Tabela verdade de uma porta NÃO-E como inversora.

• Uma porta E (AND) é feita através da junção entre uma porta NÃO-E (NAND) e uma
inversora em cada entrada. Pois, S= A.B = A.B .

• A função OU (OR) é obtida através da colocação de uma inversora na saı́da depois de


aplicá-la a uma porta NÃO-E. Fica fácil deduzir, pois,S= A.B e aplicando DeMorgan temos:
S=A + B = A + B.
Cartões Digitais

Figura 3.19: Exemplo de portas E com portas NÃO-E (NAND)

Figura 3.20: Exemplo de portas OU com portas NÃO-E (NAND)

3.5 Mapa de Karnaugh


3.5.1 Introdução
No item anterior vimos uma boa parte da álgebra de Boole, seus teoremas e propriedades
de forma simples. Agora vamos ver uma nova metodologia para que possamos fazer as mesmas
simplificações ou reduções das funções lógicas mais complexas. Esta nova metodologia foi criada
com o intuito de tornar simples o nosso trabalho na hora de construir os sistemas lógicos. Veitch
e Karnaugh foram dois estudiosos do século passado que tornaram possı́vel a simplificações de
funções lógicas por simples observação visual da tabela verdade, quando esta está transcrita em
mapas criados para este procedimento.

3.5.2 Endereçamento de um mapa de Karnaugh


O mapa de Karnaugh tem no seu significado uma mudança na forma com que a tabela verdade
é apresentada. Este mapa é composto por um número de células igual ao número de linhas da
tabela verdade e, portanto, tem 2n células, onde n é o número de variáveis que compõem a função.
Então, antes de começarmos a analisar este tipo de mapa, temos que saber como se transcreve uma
tabela verdade para um mapa de Karnaugh e também como é este mapa, isso é visto facilmente
pelo jogo batalha naval. Como:

A B C D E F
1
2 x x
3 x x
4 x x
5 x
6

Tabela 3.6: Tabela exemplo do jogo batalha naval.

Aqueles que conhecem batalha naval, provavelmente sabem que cada ponto assinalado na
ficha pertence a um elemento da esquadra inimiga, com isso, se quiser atingir um alvo temos que
utilizar os indicativos de linha e coluna para, exatamente, informar a localização do suposto alvo.
Para o mapa acima vemos que se tomarmos fileira vertical composta por quatro asteriscos tem os
Cartões Digitais

seguintes endereços: A2, A3, A4 e A5.


Por analogia, as fileiras compostas por três asteriscos e a fileira composta por dois asteriscos
na horizontal têm, respectivamente os seguintes endereços: C3, D3, E3 e E6 e F6.
Se entendermos esta forma de endereçamento pode-se verificar que num mapa de Karnaugh o
processo é muito parecido. Observe o exemplo de um Mapa K (Karnaugh) de quatro variáveis:

Figura 3.21: Exemplo do mapa de karnaugh de quatro variáveis

O endereço da célula F é: A = 0, B = 0, C = 0 e D = 1;


O endereço da célula H é: A = 0, B = 1, C = 1 e D = 1;
e, ainda, o endereço da célula J é: A = 1, B = 1, C = 0 e D = 0.
Observe a maneira particular que colocamos os valores em binário. Esta forma de organização
de utilização do sistema de numeração binária é chamada de código gray.
O código gray é um código digital com a propriedade que duas palavras-código consecutivas
diferem apenas de um bit. Ele se enquadra na classe dos códigos refletidos, devido ao algoritmo
de construção que ele utiliza. Com isso vemos que este código não mostra o código binário na
ordem que estamos acostumados a usá-lo e esta é justamente a maneira particular que caracteriza
o mapa de Karnaugh.
Para exemplificarmos o endereçamento de um mapa K fica mais fácil e mais claro iniciarmos
com um mapa de quatro variáveis, mas didaticamente vamos estudar primeiro o mapas de três
variáveis para então chegarmos ao de quatro variáveis.

3.5.3 Mapa de Karnaugh de três variáveis


Podemos analisar também funções de três variáveis através dos mapas K, e para isso basta
usarmos dois mapas de duas variáveis associados convenientemente. Temos então duas formas de
associá-los que são completamente equivalentes:

Figura 3.22: Disposições do mapa de Karnaugh


Cartões Digitais

Entretanto, antes de continuar nossa análise sobre estes mapas é necessário definir alguns
parâmetros. E eles são:

1. Adjacência: Vamos considerar duas células de um mapa de Karnaugh são adjacentes se


as variáveis que a endereçam apresentarem apenas uma mudança de valor. Exemplo:

Figura 3.23: Exemplo de adjacência

As células % e # são adjacentes, pois para % A = 0, B = 0 e C = 1 e para #, A = 1, B =


0 e C = 1. Percebemos então que apenas A apresentou mudança em seu valor. As células
% e @ não são adjacentes, pois para % A = 0, B = 0 e C = 1 e para @, A = 1, B = 0 e C
= 0. Percebemos então que A e C apresentaram mudanças em seus valores.

2. Enlace: Enlace é o agrupamento que fazemos no mapa K com o intuito de visualizarmos


as células adjacentes. Para cada agrupamento ou enlace, teremos uma expressão booleana
correspondente e estas nos darão o resultado do mapa em uma forma mais simplificada. Os
enlaces só podem ser feitos de forma que agrupem um número de células que seja igual a
uma potência de dois, ou seja, 1, 2, 4, 8, etc. Com isso, um mapa de Karnaugh de três
variáveis na sua forma horizontal pode ter apenas os seguintes enlaces:

Figura 3.24: Representação do enlace de uma célula

Figura 3.25: Representação dos enlaces de duas células


Cartões Digitais

Figura 3.26: Representação dos enlaces de quatro células

Figura 3.27: Representação dos enlaces de oito células

Observando acima podemos entender que cada enlace define uma região onde as variáveis de
endereçamento apresentam uma propriedade em comum. Portanto para resolvermos um mapa de
Karnaugh devemos seguir os seguintes passos:

1. Identificar as células cujos valores são ”um”;

2. Fazer os enlaces permitidos (observando as adjacências e o número de células do enlace);

3. Deduzirmos a expressão booleana para cada enlace e agruparmos essas expressões através
da função OU.

3.5.4 Mapa de Karnaugh de quatro variáveis


Utilizando o mesmo procedimento do mapa anterior, pode-se também analisar as funções de
quatro variáveis através dos mapas K, sendo que para tanto basta usarmos dois mapas de três
variáveis associados convenientemente.

Figura 3.28: Mapa de Karnaugh para quatro variáveis

As regras de adjacências e de enlaces para o mapa de Karnaugh de quatro variáveis continuam


sendo as mesmas, já que estas regras valem para mapas com qualquer número de células. Contudo,
devemos fazer algumas considerações úteis para facilitar a simplificação do mapa.
Primeiro, fazer os enlaces com maior número de células, pois se não proceder assim, possivel-
mente faremos agrupamentos que poderiam ser substituı́dos por um maior. Em segundo lugar,
verificar se em cada enlace existe pelo menos uma célula que pertença a apenas um enlace, pois
corremos o risco de fazermos enlaces redundantes e dispensáveis.
Cartões Digitais

Para uma melhor compreensão da forma com que deve ser feita a utilização do mapa, começaremos
citando um exemplo conforme a figura a seguir.

Figura 3.29: Exemplo sobre a formação do mapa de karnaugh de quatro elementos

Desejamos expressar esta tabela como a soma de produtos, o que significa que os valores ad-
jacentes que devemos procurar na tabela são os ”uns”. É importante notar que caso quiséssemos
considerar os ”zeros”da tabela, terı́amos que expressar a tabela como o produto de somas. Vol-
tando ao exemplo, nossa ideia é agrupar os termos adjacentes iguais, havendo para isso diversas
possibilidades, entretanto, devemos agrupar uma maior quantidade possı́vel de itens adjacentes,
pois isso criará um enlace maior. Assim teremos equações mais simplificadas.
Na hora que for obter as equações do mapa, é necessário entender que os ı́ndices deste mapa
determinam à condição lógica de cada variável. Então, como a tabela acima foi expressa através
da soma de produtos, quando o ı́ndice for ”zero”, a variável lógica correspondente tem seu nı́vel
barrado, ou invertido. O mesmo raciocı́nio serve para quando o ı́ndice for ”um”, indicando que a
variável não terá seu valor lógico alterado.
Cartões Digitais

3.6 Conclusão
Os circuitos lógicos digitais podem parecer algo confuso e de difı́cil compreensão, pois eles
utilizam muito da matemática e isso, às vezes, pode parecer monótono e desestimulante. Contudo,
esta teoria básica é necessária para que você possa entender de forma clara o funcionamento dos
capı́tulos que se seguem. Isto ainda é o começo, mas o esforço será recompensador a partir do
momento que o aluno começar a enxergar estes conceitos em todos os equipamentos que utilizam
algum tipo de circuito lógico. Afinal, estes princı́pios estão presentes em tudo que um computador
faz.
Nos capı́tulos que se seguem, estes conceitos já serão abordados de forma mais concreta e nas
lições práticas será mais fácil entendê-los. Nas próximas lições, o que foi estudado até agora ficará
mais claro quando encontrarmos sua aplicação prática.
Cartões Digitais

Capı́tulo 4

Famı́lia de circuitos lógicos digitais

Até 1955, os componentes eletrônicos disponı́veis para construir sistemas digitais eram os dio-
dos semicondutores e as válvulas a vácuo. Os diodos são relativamente pequenos, com dimensões
da ordem de milı́metros, e consomem relativamente pouca potência. As válvulas, por outro lado,
são grandes, tendo dimensões da ordem de vários centı́metros e consomem quantidades relativa-
mente grandes de potência, tipicamente da ordem de alguns watts. Embora em sua maioria as
portas pudessem ser construı́das com diodos e resistores, também era necessário usar válvulas em
grandes quantidades. Como resultado, qualquer sistema digital era grande, caro, e usava muita
potência. A situação melhorou consideravelmente com a invenção do transistor nos anos 50. Um
transistor, normalmente substituindo uma válvula, consome muito menos potência (da ordem
de dezenas de mW) e, como o diodo semicondutor, quando encapsulado individualmente, tem
dimensões da ordem de alguns milı́metros.
Portanto, com a evolução da tecnologia e a invenção do transistor, procurou-se padronizar os
sinais elétricos correspondentes aos nı́veis lógicos. Esta padronização favoreceu o surgimento das
famı́lias de componentes digitais com caracterı́sticas bastante distintas.
Os circuitos eletrônicos modernos não usam chaves e lâmpadas para representar nı́veis lógicos
na prática, mas sim, dispositivos muito rápidos que podem estabelecer os nı́veis lógicos nas entra-
das das funções com velocidades incrı́veis e isso lhes permite realizar milhões de operações muito
complexas a cada segundo. Aqui veremos que tipos de circuitos são usados e como são encon-
trados na prática, fazendo com que o seu uso em conjunto possa criar um circuito muito mais
complexo, como aqueles encontrados nos computadores atuais em blocos básicos. Estes blocos,
quando unidos, podem levar a elaboração de circuitos muito complexos como os encontrados nos
computadores de hoje.
As famı́lias lógicas diferem basicamente pelo componente principal utilizado por cada uma
em seus circuitos. Existem inúmeras famı́lias que possuem caracterı́sticas únicas, podemos citar
como algumas famı́lias existentes:

• RTL - Lógica resistor-transistor (obsoleta);

• DTL - Lógica diodo-transistor (obsoleta);

• DCTL - Lógica transistor acoplamento direto;

• TTL - Lógica transistor-transistor (mais popular);


Cartões Digitais

• ECL - Lógica emissor-acoplado;

• MOS - Metal Oxide Semiconductor:

• PMOS - Lógica MOSFETs de canal-p (obsoleta);

• NMOS - Lógica MOSFETs de canal-n

• CMOS - Lógica MOSFETs Complementares;

Entretanto, nosso objetivo aqui é analisar o funcionamento de três famı́lias em particular:


Famı́lia RTL, TTL (Transistor-Transistor Logic) e CMOS. A famı́lia RTL só por uma questão
didática, pois já é uma famı́lia obsoleta e as outras duas por serem as mais utilizadas atualmente.
No restante deste capı́tulo iremos analisar os parâmetros tı́picos de cada famı́lia, verificar como
é o funcionamento destas famı́lias e verificar se é possı́vel promover a interconexão entre elas.

4.1 Famı́lia RTL (Resistor-Transistor Logic) e DTL (Diode-transistor


Logic)
4.1.1 O transistor como chave eletrônica
O transistor opera em três modos diferentes. O primeiro é o funcionamento de corte, que
consiste na transformação elétrica do transistor numa chave aberta, impedindo a circulação de
corrente através de si. O segundo consiste no funcionamento do transistor como amplificador, que
consiste na amplificação de um sinal injetado na entrada. O terceiro é o modo do transistor no
estado de saturação, onde o transistor funciona eletricamente como uma chave fechada, fazendo
com que circule corrente por ele. Se considerarmos somente a primeira e a terceira forma de fun-
cionamento, verificamos que o transistor pode facilmente substituir uma chave, tornando possı́vel
a representação de um circuito lógico simples. Assim, na simulação dos circuitos que estudamos
e em que usamos chaves, é possı́vel utilizar transistores com uma série de vantagens.
Uma vantagem importante é que o transistor poderá operar com a tensão ou nı́vel lógico pro-
duzido por uma outra função e não necessariamente por uma pessoa que acione uma chave. Assim,
as funções lógicas implementadas com transistores têm a vantagem de poderem ser interligadas
umas nas outras, pois o sinal que aparece na saı́da de cada uma pode ser usado como entrada
para outra. Abaixo podemos ver um exemplo simples da utilização de um transistor para obter
uma porta inversora.

Figura 4.1: Representação de uma inversora na famı́lia RTL


Cartões Digitais

Aplicando o nı́vel um (5V) na base do transistor ele conduz até o ponto de saturar, fazendo
a tensão no seu coletor cair a zero. Por outro lado, na ausência de tensão na sua base, que
corresponde ao nı́vel zero de entrada, o transistor se mantém cortado e a tensão no seu coletor se
mantém alta, o que corresponde ao nı́vel um. Tomando este entendimento como base, podemos
conseguir outras portas lógicas simples através da combinação de transistores e resistores.

Figura 4.2: Representação de uma porta NÃO-E na famı́lia RTL

Figura 4.3: Representação de uma porta NÃO-OU na famı́lia RTL

Isso significa que a elaboração de um circuito lógico digital capaz de realizar operações com-
plexas usando transistores é algo que pode ser conseguido com relativa facilidade.

4.1.2 Usando a famı́lia DTL


Uma famı́lia que pode ter bastante uso na prática e a DTL (lógica diodo-transistor). Sua
principal vantagem e a facilidade de construção em situações onde não se justifica o uso de um
circuito integrado. Por exemplo, caso seja preciso usar uma porta E de três entradas podemos
optar pelo seguinte circuito:

Figura 4.4: Composição de uma porta E DTL.

Onde a saı́da S será um se, somente se, todas as entradas forem um. Também é possı́vel
Cartões Digitais

construir uma porta OU, conforme apresentado a seguir:

Figura 4.5: Composição de uma porta OU DTL.

Utilizando estas simples portas com diodos e ainda uma inversora com transistor é possı́vel
resolver facilmente alguns problemas de lógica no circuito. Vale ressaltar, porem, que ao op-
tar por um circuito mais simples deixamos de lado vantagens como padronização, velocidade,
interconectividade, etc.

4.1.3 Melhor desempenho


Entretanto, utilizar estes circuitos transistorizados que corresponde a uma maneira não padrão
pode trazer dificuldades na criação de sistemas lógicos mais complexos. Mesmo que antes, durante
o desenvolvimento da eletrônica digital, cada porta lógica fosse montada com seus transistores e
resistores para depois ser interligada com as outras, isto foi causando um desconforto por vários
motivos. Um desses motivos foi a alta complexidade que se tinha para montar um circuito com
várias funções lógicas. Outro motivo era a necessidade de ter um padrão de funcionamento para
cada circuito ou função. Isso era ideal para ter todos os circuitos operando com a mesma tensão
de alimentação, para que pudessem fornecer sinais que fossem reconhecidos e que fosse sensı́vel o
suficiente para reconhecer os sinais dos outros circuitos lógicos.
Para se solucionar este problema, foi desenvolvida a tecnologia dos circuitos integrados, per-
mitindo a colocação de diversos componentes já interligados dentro de um invólucro plástico, per-
mitindo o uso de várias funções lógicas simultâneas e em maior quantidade. Assim, foi possı́vel
diminuir o tamanho dos projetos, pois foi criada uma série de circuitos integrados que continham
numa única pastilha as funções lógicas digitais mais usadas.
Com isso elas passaram a ocupar menos área fı́sica e foram feitas de tal maneira que todas
eram compatı́veis entre si, operando com as mesmas tensões e reconheciam os mesmos sinais.
Estas séries de circuitos integrados formaram então as Famı́lias Lógicas, a partir das quais os
projetistas tiveram facilidade em encontrar todos os blocos para montar seus equipamentos digi-
tais. Então conforme as figuras abaixo, cada CI (Circuito Integrado) continham uma quantidade
de portas lógicas de um mesmo tipo.
Cartões Digitais

Figura 4.6: Circuito Integrado contendo quatro portas NÃO-E

Assim, se fosse necessário montar um circuito que usasse três portas E, o projetista teria
disponı́veis componentes compatı́veis entre si contendo estas funções e de tal forma que poderiam
ser interligadas das maneiras desejadas e num espaço fı́sico mı́nimo. O sucesso do advento dessa
tecnologia foi enorme, pois além do menor tamanho dos circuitos havia menor consumo de energia.
Apesar de a famı́lia RTL ser uma precursora da tecnologia digital, hoje era não é mais uti-
lizada devido às limitações impostas por ela, que já foram citadas. Nas próximas páginas, nos
limitaremos a estudar as duas famı́lias em maior destaque hoje, a famı́lia TTL e a CMOS.

4.2 Famı́lia TTL


A famı́lia TTL foi primeiramente desenvolvida pela Texas Instruments, contudo, devido a
enorme utilidade desta famı́lia, muitos fabricantes de semicondutores também produzem seus
componentes. Esta famı́lia é facilmente reconhecida durante o seu uso nos projetos principalmente
pelo fato de ter duas séries que começam pelos números 54 para o uso militar e 74 para o uso
comercial. Assim, a associação de qualquer componente que comece pelo número ”74”à famı́lia
TTL fica evidente. A caracterı́stica mais importante desta famı́lia está no fato de que ela trabalha
com uma tensão de alimentação de 5 V. Assim, para os componentes desta famı́lia, o nı́vel lógico
zero é sempre a ausência de tensão ou 0 V, enquanto que o nı́vel lógico um é sempre uma tensão de
+5 V. Para os nı́veis lógicos serem reconhecidos, eles devem estar dentro de faixas bem definidas,
pois na famı́lia TTL há uma faixa chamada faixa de ruı́do. Uma porta TTL reconhecerá como
nı́vel zero as tensões que estiverem entre 0 e 0,8 V e como nı́vel um as que estiverem numa outra
faixa, entre 2,4 e 5 V. Entre essas duas faixas existe uma região indefinida que deve ser evitada.
Hoje no mercado existem centenas de circuitos integrados TTL disponı́veis para a elaboração
de projetos eletrônicos. A maioria usa invólucros DIL de 14 e 16 pinos, conforme visto na fi-
gura 4.4. As funções mais simples das portas estão disponı́veis numa certa quantidade em cada
integrado. No entanto, à medida que novas tecnologias foram sendo desenvolvidas permitindo
a integração de uma grande quantidade de componentes, surgiu a possibilidade de colocar num
Cartões Digitais

integrado não apenas umas poucas portas e funções adicionais que serão estudadas futuramente
como flip-flop’s, decodificadores e outros mas, também interligá-los de diversas formas e utilizá-los
em aplicações especı́ficas. Com isso, fica fácil observar que os componentes que compõem quase
todos os equipamentos eletrônicos são compostos pelo conjunto de diversos componentes lógicos.
Para que isso fosse possı́vel, diversas etapas no aumento da integração foram obtidas e receberam
nomes que hoje são comuns quando falamos de equipamentos digitais e computadores em geral.
Temos as seguintes classificações para os graus de integração dos circuitos digitais:

• SSI - Small Scale Integration ou Integração em Pequena Escala: Que corresponde a


série normal dos primeiros TTL que contém de 1 a 12 portas lógicas num circuito integrado.

• MSI - Medium Scale Integration ou Integração de Média Escala: Em que temos


num único circuito integrado de 13 a 99 portas ou funções lógicas.

• LSI - Large Scale Integration ou Integração em Grande Escala: Que corresponde


a circuitos integrados contendo de 100 a 999 portas ou funções lógicas.

• VLSI - Very Large Scale Integration ou Integração em Escala Muito Grande:


Que corresponde aos circuitos integrados com mais de 1000 portas ou funções lógicas.

Em circuitos eletrônicos, na maioria dos casos é possı́vel melhorar a velocidade de operação


(isto é, fazer com que o circuito comute entre os nı́veis alto e baixo de forma mais rápida) sacri-
ficando a potência. Como maior potência não envolve somente maiores correntes mais também
maior consumo de energia e uma dissipação maior de calor, elas também afetam diretamente as
capacitâncias parasitas que existem nas junções dos semicondutores sendo carregadas e descarre-
gadas mais rapidamente.
Estas capacitâncias parasitas não são introduzidas deliberadamente no circuito, mas são os
resultados inevitáveis das dimensões e geometria do circuito. A disponibilidade de correntes
maiores torna possı́vel ligar e desligar os transistores mais rapidamente. Quando usamos mais
potência com a finalidade de obter maior velocidade, sempre é bom avaliar se este aumento de
velocidade compensa o acréscimo de potência utilizada. Uma figura de mérito útil para se fazer
esta avaliação é o produto velocidade-potência, que é o produto do atraso de propagação pela
dissipação de potência de uma porta.
Quando transistores bipolares comuns funcionam em circuitos digitais e são ligados de modo
a conduzir corrente, a operação geralmente se dá na região conhecida como saturação, como
nós já vimos anteriormente. Em virtude da saturação o transistor leva um tempo relativamente
longo para ser desligado. Consequentemente, os circuitos digitais padrão usando transistores
comuns sofrem uma desvantagem em relação à velocidade. Com uma despesa adicional pode-se,
todavia, fabricar um tipo especial de transistor denominado Schottky, que não satura, podendo,
consequentemente, operar em velocidades mais altas.
Devido ao balanço possı́vel entre velocidade e potência e devido à possibilidade de fabricar
transistores comuns do tipo Schottky, a famı́lia TTL existe em cinco séries distintas, que são
listadas, com suas caracterı́sticas. A razão da popularidade da série LS toma-se aparente, embora
outras séries possam ser escolhidas caso haja restrições quanto à velocidade, à dissipação possı́vel
ou ao custo.
Cartões Digitais

Figura 4.7: Caracterı́sticas tı́picas da famı́lia 54/74 SSI.

4.2.1 Algumas caracterı́sticas da famı́lia TTL


• Correntes de entrada: Quando uma entrada de uma função lógica TTL está no nı́vel 0, para
uma corrente da base para o emissor do transistor multi-emissor presente dentro do CI TTL
da ordem de 1,6 mA. Esta corrente deve ser levada em conta no projeto, pois, ela deve ser
suprida pelo circuito que excitará a porta. Quando a entrada de uma porta lógica TTL
está no nı́vel alto, flui uma corrente no sentido oposto da ordem de 40µA. Esta corrente vai
circular se tensão de entrada estiver com um valor superior a 2,0 V. Estas correntes também
são conhecidas pelas suas nomenclaturas abaixo:
IIH (mı́nimo) - Corrente de entrada correspondente ao nı́vel lógico alto. Valor da corrente
que circula na entrada de um circuito digital, quando um nı́vel lógico alto é aplicado em tal
entrada. Note que os valores de IIL são negativos, pois se convencionou que a corrente que
entra na porta tem sinal positivo; Estando a entrada em 0, a corrente sai da porta, portanto
o sinal “-”denota o sentido contrário.
IIL (máximo) - Corrente de entrada correspondente ao nı́vel lógico baixo. Valor da corrente
que circula na entrada de um circuito digital, quando um nı́vel lógico baixo é aplicado em
tal entrada.

• Corrente de saı́da
Quando temos a saı́da de um circuito TTL indo ao nı́vel zero (ou baixo), flui uma corrente
da ordem de 16 mA. Isso mostra que uma saı́da TTL no nı́vel zero ou nı́vel baixo pode
drenar de uma carga qualquer ligada a ela uma corrente máxima de 16 mA. Por outro
lado, quando a saı́da de uma função TTL está no nı́vel 1 ou alto, ela pode fornecer uma
corrente máxima de 400 µA. Veja então que podemos obter uma capacidade muito maior
de excitação de saı́da de uma porta TTL quando ela é levada ao nı́vel zero do que ao nı́vel
um. Isso justifica o fato de que em muitas funções indicadoras, em que ligamos um LED
na saı́da, fazemos com que ele seja aceso quando a saı́da vai ao nı́vel zero (e, portanto, a
corrente é maior) e não ao nı́vel um.
Cartões Digitais

Figura 4.8: Diferenças entre correntes de saı́da dos nı́veis lógicos.

Ainda, através de sua utilização, elas podem ser nomeadas como:


IOH (mı́nimo) - Corrente de saı́da correspondente ao nı́vel lógico alto. Valor da corrente
que circula na saı́da de um circuito digital, quando um nı́vel lógico alto é gerado em tal circuito,
respeitadas as limitações para carregamento da saı́da.
IOL (máximo) - Corrente de saı́da correspondente ao nı́vel lógico baixo. Valor da corrente
que circula na saı́da de um circuito digital, quando um nı́vel lógico baixo é gerado em tal circuito,
respeitadas as limitações para carregamento da saı́da. Novamente deve ser observado que o sentido
positivo é o de saı́da, portanto IOH é dado em valores positivos e IOL é dado em valores negativos
(corrente entra na porta).

• Capacidade de Saı́da (Fan-Out)


A fonte de um sinal digital aplicado à entrada de uma porta deve ser capaz de estabelecer
naquela entrada uma tensão correspondente a um ou outro nı́vel lógico (zero ou um). Em
qualquer um dos nı́veis a fonte deve satisfazer os requisitos de corrente da porta acionada,
ou seja, fornecer o nı́vel mı́nimo de corrente e tensão. Como a saı́da de uma porta lógica
é usada como fonte para a entrada de outra porta, é necessário conhecer a capacidade de
acionamento de uma porta, isto é, precisamos saber quantas entradas de portas a serem
acionadas podemos ligar à saı́da de uma porta acionadora. Este parâmetro é fornecido nos
manuais dos componentes, geralmente com o nome de FAN-OUT. No caso TTL, desde que
cada porta acione portas da mesma série, a capacidade de saı́da é de dez para portas das
séries 74 ou 54 padrão e de alta potência e para as séries de baixa potência o limite é de vinte.
Quando uma porta lógica aciona portas de outras séries, é necessário verificar a literatura
do fabricante para determinar a necessidade de corrente de entrada, a disponibilidade de
corrente de saı́da e ter certeza de que não há carga excessiva para a saı́da de uma porta.
Este fato será abordado com mais detalhes adiante.

• Margem de ruı́do
Como já visto, a famı́lia TTL opera com uma tensão de alimentação de 5V, todas as tensões
em um sistema TTL estão no intervalo de 0 a 5V. Quando uma porta lógica não estiver
carregada pela ligação a entradas de outras portas, sua tensão de corresponde ao nı́vel
lógico zero, onde o valor pode ser 0,1 V ou até menor para a série 54/74. A tensão alta,
correspondente ao nı́vel lógico um, fica em tomo de 3,4 V. Quando a saı́da for de nı́vel
lógico baixo, a porta acionadora deve permitir o fluxo de corrente da porta acionada para
si própria. A porta acionadora é descrita como absorvedora de corrente da carga. Quando
Cartões Digitais

a saı́da estiver no nı́vel alto, a porta acionadora servirá como fonte de corrente para a carga
e é descrita como fornecendo corrente. No nı́vel de saı́da de nı́vel lógico baixo, a corrente
drenada eleva a tensão de saı́da e no nı́vel de saı́da no nı́vel lógico alto a corrente suprimida
diminui a tensão de saı́da.
Para a série 54/74, o fabricante garante que, mesmo que uma porta esteja carregada até
sua capacidade máxima de saı́da, a tensão de saı́da baixa não sobe acima de 0,4 V e a
tensão de saı́da de nı́vel lógico alto não desce abaixo de 2,4 V. O fabricante também garante
que uma tensão igual ou menor que 0,8V sempre será interpretada por uma porta que está
sendo acionada como correspondendo a tensão baixa (nı́vel lógico zero) e que uma tensão
de entrada maior que 2V sempre será interpretada como tensão alta (nı́vel lógico um). As
duas tensões de saı́da e as duas tensões de entrada são representadas pelos sı́mbolos VOH,
VOL, VIH e VIL e são definidas como:
VOH: A tensão de saı́da mı́nima que uma porta fornece quando sua saı́da estiver no nı́vel
alto.
VOL: A tensão de saı́da máxima que uma porta fornece quando sua saı́da estiver no nı́vel
baixo.
VIH: A tensão mı́nima que pode ser aplicada à entrada de uma porta e reconhecida como
nı́vel alto.
VIL: A tensão máxima que pode ser aplicada à entrada de uma porta e reconhecida como
nı́vel baixo.
Para as séries 54 ou 74, estas tensões são as especificadas abaixo. Quando a tensão de
entrada VI estiver no intervalo de 0 a 0,8V ou no intervalo acima de 2,0 Volts, a saı́da VO é
constante e vale 2,4 ou 0,4 Volts, respectivamente. Para VI no intervalo de 0,8 a 2,0 Volts,
a saı́da varia de seu nı́vel alto de 2,4V até seu nı́vel baixo de 0,4V.

Figura 4.9: Nı́veis de ruı́do TTL para entrada e saı́da.

• Velocidade

Os circuitos eletrônicos possuem uma velocidade limitada de operação que depende de diversos
fatores. No caso dos circuitos TTL, temos ainda que considerar sua construção que pode apre-
Cartões Digitais

sentar indutâncias e capacitâncias parasitas que influem na sua velocidade de operação das suas
portas lógicas.
Assim, levando em conta a configuração tı́pica de uma porta, veremos que se for estabelecida
uma transição muito rápida da tensão de entrada, a tensão no circuito não subirá com a mesma
velocidade porque esta tensão terá que carregar capacitâncias parasitas existentes na porta. Isto
causará um aumento gradual da tensão de entrada, levando tempo que não deve ser desprezado.
Da mesma forma, à medida que o sinal vai passando pelas diversas etapas do circuito, temos
de considerar os tempos que os componentes demoram a comutar justamente em função das
capacitâncias e indutâncias parasitas existentes.
O resultado disso é que para os circuitos integrados TTL existe um retardo entre o instante em
que o sinal passa do nı́vel zero para um na entrada e o instante em que o sinal na saı́da responde
a este sinal. Da mesma forma, existe um retardo entre o instante em que o sinal de entrada passa
do nı́vel um para o zero e o instante em que o sinal de saı́da passa do nı́vel zero para o um, no caso
de um inversor. Observe que estes tempos são determinantes quando se trabalha com sistemas
de alta velocidade.

• Formas de ligação - Coletor aberto e Totem-Pole:


circuitos lógicos TTL que nós vimos até agora são denominados Totem-Pole, eles tem uma
configuração que um ou outro transistor da porta TTL conduz a corrente, conforme o nı́vel
estabelecido na saı́da seja zero ou um. Este tipo de circuito apresenta um inconveniente
caso nós ligarmos duas portas em paralelo. Se uma das portas tiver sua saı́da indo ao nı́vel
alto simultaneamente que outra vai ao nı́vel baixo (0), um curto-circuito é estabelecido na
saı́da e isso pode causar a queima da porta. Quer dizer que os circuitos integrados TTL com
esta configuração nunca podem ter suas saı́das interligadas da forma indicada na figura.

Figura 4.10: Efeito do nı́vel lógico baixo e alto num Totem Pole.

Todavia, existe uma possibilidade de elaborar circuitos em que as saı́das das portas sejam
ligadas entre si. Este método é obtido pela utilização do Open Collector ou coletor aberto. Os
circuitos TTL que tem esta configuração são indicados como ”open collector ”e quando são usados,
exigem a ligação de um resistor externo denominado ”pull-up”com aproximadamente 2000 ohms.
Este tipo de método significa que o transistor interno da porta lógica está com o ”coletor
aberto”(open collector), necessitando de um resistor de polarização. A vantagem desta confi-
guração está na possibilidade de interligarmos portas diferentes num mesmo ponto e a desvanta-
Cartões Digitais

Figura 4.11: Configuração interna de uma porta Open-Collector.

Figura 4.12: Porta lógica usando método ”Open Collector”.

gem está na diminuição de velocidade do circuito lógico, ficando mais lento com o uso do resistor,
pois ele influencia o circuito alterando sua impedância.

• Tri-State:

Tri-state, traduzindo do inglês, corresponde ao terceiro estado. Esta é uma configuração


encontrada em alguns integrados TTL, principalmente usados em micro informática, como os
computadores. Quando duas (ou mais) portas estiverem suas saı́das conectadas, deve ocorrer que
se uma porta estiver enviando seus nı́veis lógicos, a outra porta deve estar numa situação em
que na sua saı́da não tenhamos nem zero e nem um, então ela deve ficar num estado de circuito
desligado, circuito aberto ou terceiro estado.
Isso é conseguido através de uma entrada de controle denominada ”habilitação”ou ”Ena-
ble”sendo abreviada correntemente por EN. Assim, quando EN estiver em zero, o transistor da
porta lógica não conduz e nada acontece no circuito que funciona normalmente. No entanto, se
EN for levada ao nı́vel um, o transistor satura, levando ao corte, ou seja, os dois passam a se
comportar como circuitos abertos, independentemente dos sinais de entrada. Na saı́da teremos
então um estado de alta impedância.

Figura 4.13: Configuração externa simplificada de uma porta inversora tri-state.


Cartões Digitais

As funções tri-state são muito usadas nos circuitos de computadores denominados barramentos
de dados ou ”data bus”, onde diversos circuitos devem aplicar seus sinais ao mesmo ponto ou
devem dividir a mesma linha de transferência desses dados. O circuito que está funcionando deve
estar habilitado e os que não estão funcionando, devem ser levados sempre ao terceiro estado.

Figura 4.14: Ligação de duas portas lógicas ao mesmo barramento.

Em virtude da possibilidade da pasta assumir um terceiro estado de alta impedância. Foi


desenvolvido um tipo de porta muito útil, chamada buffer tri-state. Em eletrônica digital, um
buffer é um componente sem função lógica, isto é, apresenta na saı́da exatamente o mesmo sinal da
entrada. Quando este buffer é tri-state, a entrada de controle EN comanda se o sinal na entrada
deve ser apresentado na saı́da ou não.

Figura 4.15: Buffer Tri-state.

A EN S
X 0 Alta impedância
0 1 0
1 1 1

Tabela 4.1: Tabela verdade do Buffer Tri-State.

4.2.2 Circuitos integrados TTL


Devido ao grande desenvolvimento da tecnologia TTL, temos uma infinidade de componentes
integrados para os mais diversos fins. Serão citados alguns dos mais importantes, sendo que para
obter todas as informações possı́veis da famı́lia seria necessário ter um manual para consulta. No
fim da apostila, tem a lista e a funcionalidade da maioria dos membros da famı́lia TTL.
Seus componentes integrados mais simples são na maioria das vezes, encapsulados em um
invólucro (contêiner ou pastilha) DIP ou DIL, podendo ter diversas portas ou ”pernas”, possui o
formato retangular como abaixo.
Cartões Digitais

Figura 4.16: Formato DIP ou DIL da famı́lia TTL.

Abaixo segue a descrição de algumas portas mais comuns da famı́lia TTL, com uma breve
descrição do que elas são e seu consumo.

• 7400 - Quatro Portas NÃO-E de duas entradas:


Num invólucro DIL, o consumo médio por circuito integrado é da ordem de 12 mA.

Figura 4.17: Ligação interna do componente integrado 7400.

• 7402 - Quatro Portas NÃO-OU de duas entradas


Num invólucro DIL de 14 pinos, cada unidade exige uma corrente de 12 mA.

Figura 4.18: Ligação interna do componente integrado 7402.

• 7404 - Seis Inversores (NÃO)


Os seis inversores deste circuito integrado podem ser usados de forma independente.
Cartões Digitais

Figura 4.19: Ligação interna do componente integrado 7404.

• 7408 - Quatro Portas E de duas entradas


Este circuito integrado tem cada unidade exigindo uma corrente de 16 mA.

Figura 4.20: Ligação interna do componente integrado 7408.

• 7410 - Três portas NÃO-E de três entradas


Cada uma das três portas NAND deste circuito integrado pode ser usada de forma inde-
pendente. A corrente exigida pelo circuito é de 6 mA.

Figura 4.21: Ligação interna do componente integrado 7410.


Cartões Digitais

• 7420 - Duas portas NÃO-E de quatro entradas


Este circuito integrado contém duas portas E que podem ser usadas de forma independente.
O consumo por unidade é de aproximadamente 4 mA.

Figura 4.22: Ligação interna do componente integrado 7420.

• 7432 - Quatro portas OU de duas entradas


As portas OU deste circuito integrado podem ser usadas de modo independente e a corrente
total exigida é da ordem de 19 mA.

Figura 4.23: Ligação interna do componente integrado 7432.

• 7486 - Quatro Portas OU-Exclusivo


As portas OU-Exclusivo ou Exclusive OR deste circuito integrado podem ser usadas de
forma independente, sendo o seu consumo de 30 mA.

Figura 4.24: Ligação interna do componente integrado 7486.


Cartões Digitais

4.3 Famı́lia CMOS


Depois de termos visto como a famı́lia TTL é importante, agora vamos focar sobre uma
nova famı́lia, a CMOS. A sigla CMOS significa ”Complementary Metal- Oxide Semiconductor”se
referindo a utilização de transistores de efeito de campo ou Field Effect Transistor (FET) no
lugar dos transistores bipolares comuns (como nos circuitos TTL). Como em qualquer área da
eletrônica, o uso da famı́lia CMOS, possui vantagens e desvantagens no uso de transistores de
efeito de campo. Entretanto, os fabricantes desta famı́lia estão pouco a pouco eliminando essas
diferenças entre as duas famı́lias com o desenvolvimento de tecnologias de fabricação, aumentando
ainda a sua velocidade e reduzindo seu consumo.
De uma forma geral, podemos dizer que existem aplicações em que é mais vantajoso usar
um tipo, e aplicações em que o outro tipo é melhor. Os transistores de efeito de campo usados
nos circuitos integrados CMOS ou MOSFET’s têm sua composição elementar vista a seguir onde
também aparece seu sı́mbolo. Vemos que o ponto de controle é a comporta ou gate (g) onde se
aplica o sinal que deve ser amplificado ou usado para chavear o circuito. É aqui que teremos a
entrada da porta lógica. O transistor é polarizado de modo a haver uma tensão entre a fonte ou
source (s) e o dreno ou drain (d). Fazendo uma analogia com o transistor bipolar, podemos dizer
que a comporta do MOSFET equivale à base do transistor bipolar, enquanto que o dreno equivale
ao coletor e a fonte ao emissor.

Figura 4.25: Diferenças entre transistores bipolares e MOS.

4.3.1 Aplicações digitais


Semelhante ao uso que fazemos dos transistores bipolares, podemos fazer uso dos transistores
MOS. Alem de que as portas lógicas que utilizam tecnologia CMOS (Complementary MOS)
permitem com que dispositivos tenham caracterı́sticas excelentes para aplicações digitais. Alguns
dos parâmetros da famı́lia CMOS serão descritos a partir de agora.

• Consumo e velocidade:
Para que possamos analisar o consumo e velocidade desta famı́lia, vamos tomar um circuito
inversor como base para entendermos.
Cartões Digitais

Figura 4.26: Funcionamento de uma porta lógica CMOS

Podemos ver duas caracterı́sticas importantes. A primeira é que sempre um dos transistores
estará cortado, independente do sinal de entrada (alto ou baixo) fazendo com que praticamente
não circule corrente alguma entre o Vdd e o terra (0 V). A única corrente circulante será de um
circuito externo alimentado a saı́da lógica. Isso significa um consumo extremamente baixo para
este par de transistores em condições normais, já que na entrada a impedância é elevadı́ssima e
praticamente nenhuma corrente circula. Este consumo é da ordem de dez nanowatt.
Contudo, na prática temos alguns fatores que tornam este consumo maior, como por exemplo,
eventuais fugas ou a necessidade de outro componente que precise de uma maior corrente. Mas
como dito antes, ele não é só cheio de qualidades. Como problema podemos citar que, ao aplicar-
mos um sinal de controle a este circuito, a tensão não sobe imediatamente até o valor desejado,
precisando de certo tempo para carregar o ”capacitor”existente na composição do transistor.
Este atraso nada mais é do que a diferença de tempo entre o instante em que aplicamos o sinal
na entrada e o instante em que ele estará disponı́vel na saı́da. Nos circuitos integrados CMOS
tı́picos como os usados nas aplicações digitais, como um inversor, este atraso é da ordem de três
nanossegundos (3 ns). Isso pode parecer pouco nas aplicações comuns, mas se um sinal tiver
de passar por centenas de portas antes de chegar onde ele é necessário, podemos ter um atraso
acumulativo relativamente alto.
Entretanto, este problema pode ser contornado com a elevação de tensão de alimentação.
Assim, com mais tensão, a carga dos elementos capacitivos é mais rápida e isso nos leva a uma
caracterı́stica muito importante dos circuitos CMOS digitais que deve ser levada em conta em
qualquer aplicação: com maior tensão de alimentação, os circuitos integrados CMOS são mais
rápidos. E isso fica mais fácil de obter do que na famı́lia TTL porque eles trabalham num valor
de tensão fixo enquanto os circuitos CMOS trabalham numa faixa de tensão mais ampla.

• Sensibilidade ao manuseio

Devido à composição dos transistores usados na tecnologia CMOS, ele é extremamente sensı́vel
a descargas elétricas tornando-os dispositivos muito delicados. De fato, a própria carga elétrica
acumulada nas nossas ferramentas ou em nosso corpo quando caminhamos num tapete num
dia seco ou ainda atritamos objetos em nossa roupa pode ser suficiente para danificar de modo
irreversı́vel os componentes CMOS. Para que se possa ter uma ideia, caminhando num carpete
num dia seco, seu corpo pode acumular uma carga estática que atingem até 10000 V. Se você tocar
num objeto metálico aterrado, a descarga de seu corpo neste percurso de terra pode lhe causar
um forte choque. Ainda, da mesma forma, você tocar num terminal de um dispositivo CMOS,
Cartões Digitais

a carga do seu corpo que escoa por este dispositivo facilmente destruirá a finı́ssima camada de
óxido que separa o gate do substrato e o componente estará inutilizado. Em outras palavras, os
dispositivos que usam transistores CMOS são extremamente sensı́veis a descargas estáticas. De
qualquer forma, para evitar o problema, nunca toque com os dedos nos terminais de componentes
CMOS sejam eles circuitos integrados ou transistores.

4.3.2 Algumas caracterı́sticas da famı́lia CMOS:


• Tensão de saı́da

No nı́vel lógico baixo (zero) a tensão de saı́da se aproxima de 0 V sendo no máximo de 0,01
V para os tipos comuns com alimentação na faixa de 5 a 10 V. No nı́vel lógico alto, a tensão de
saı́da é praticamente a tensão de alimentação Vdd ou no máximo 0,01 V menor.

• Corrente de saı́da

Diferentemente dos circuitos integrados TTL em que temos uma capacidade maior de drenar
corrente na saı́da do que de fornecer, para os circuitos integrados CMOS a capacidade de drenar
e de fornecer corrente de saı́da é praticamente a mesma. Assim, para uma alimentação de 5 V as
saı́das podem fornecer (quando no nı́vel alto) ou drenar (quando no nı́vel baixo) uma corrente de
até 1mA e essa corrente sobe para 2,5 mA quando a alimentação é de 10 V. Estas correntes são
designadas por IOL e IOH nas folhas de especificações dos circuitos integrados CMOS.

• Corrente de fuga na entrada

Se bem que a comporta esteja isolada do circuito dreno-fonte, com uma resistência que teo-
ricamente seria infinita, na prática pode ocorrer uma pequena fuga. Esta, da ordem de 10 pA
(1 picoampère = 0,000 000 000 001 ampère) para uma alimentação de 10 V deve ser considerada
quando precisamos calcular a corrente de entrada de um circuito CMOS numa aplicação mais
crı́tica.

• Potência

Os circuitos integrados CMOS consomem muito menos energia que os circuitos integrados
TTL. Para os tipos comuns a corrente de alimentação Idd é normalmente da ordem de 1 nA
tipicamente com um máximo de 0,05 µA para alimentação de 5 V, o que corresponde a uma
dissipação de 5 nW em média para alimentação de 5 V e 10 nW para alimentação de 10 V.

• Velocidade

Os tipos comuns CMOS são muito mais lentos que os TTL, mas famı́lias especiais estão apa-
recendo com velocidades cada vez maiores e em muitos casos estas se aproximam dos mais rápidos
TTLs. As frequências máximas, conforme já explicamos, dependem das tensões de alimentação e
das funções, já que maior número de componentes para atravessar significa um atraso maior do
sinal. Assim, nos manuais encontramos a especificação de velocidade dada tanto em termos de
frequência quanto em termos de atraso do sinal. Para o caso do atraso do sinal, observamos que
ele pode estar especificado para uma transição do nı́vel alto para o nı́vel baixo ou vice-versa e em
alguns circuitos ou tensões de alimentação podem ocorrer diferenças.
Cartões Digitais

4.3.3 Circuitos integrados CMOS


Comparado a famı́lia TTL, também podemos contar com uma boa quantidade de circuitos
integrados CMOS contendo funções lógicas. Como no caso do TTL, não temos espaço para colocar
todas estas funções aqui, entretanto é recomendado recorrer a manual CMOS. Aqui estão as mais
usadas.

• 4001 - Quatro Portas NÃO-OU de duas entradas


Este circuito integrado contém quatro portas NÃO-OU em invólucro DIL de 14 pinos. O
consumo por circuito integrado é da ordem de 10 nW.

Figura 4.27: Ligação interna do componente integrado 4001.

• 4011 - Quatro portas NÃO-E de duas entradas


Em invólucro DIL de 14 pinos encontramos quatro portas NÃO-E de duas entradas de
funcionamento independente.

Figura 4.28: Ligação interna do componente integrado 4011.

• 4012 - Duas portas NÃO-E de quatro entradas


As duas portas NÃO-E de quatro entradas deste circuito integrado podem ser usadas de
forma independente.
Cartões Digitais

Figura 4.29: Ligação interna do componente integrado 4012.

• 4023 - Três portas NÃO-E de três entradas


As três portas NÃO-E deste circuito integrado podem ser usadas de maneira independente.

Figura 4.30: Ligação interna do componente integrado 4023.

• 4025 - Três portas NÃO-OU de três entradas


Encontramos neste circuito integrado três funções NÃO-OU que podem ser usados de forma
independente.

Figura 4.31: Ligação interna do componente integrado 4025.

4.3.4 A Função tri-state do 4048


O integrado 4048 tem caracterı́sticas muito interessantes para projetos CMOS envolvendo
funções lógicas. Com o que já vimos, sabemos que usando combinações apropriadas de funções
simples, é possı́vel simular qualquer outra função mais complexa. Este circuito possui 8 entradas,
uma saı́da e três entradas de ”programação”.
Dependendo dos nı́veis lógicos nas entradas de programação, o circuito se comporta como
funções NÃO-OU, OU, NÃO-E ou E com 8 entradas ou ainda de forma combinada, realizando ao
Cartões Digitais

mesmo tempo funções de portas OU e E em cada uma das quatro entradas. Então, se colocarmos
as três entradas de programação no nı́vel alto, o circuito comporta-se como duas portas E de
quatro entradas ligadas a uma porta OU de duas entradas.
É importante saber deste detalhe porque esta função pode ser facilitadora em muitos projetos,
pois consegue simular a operação de diversas combinações de outros circuitos integrados CMOS.
Internamente, o 4048 é bastante complexo contendo 32 funções independentes programadas, de-
finidos pelos nı́veis lógicos nas entradas correspondentes.

Figura 4.32: Ligação interna do componente integrado 4048

4.4 Interfaceamento entre as famı́lias TTL e CMOS


Conforme explicamos, mesmo tendo uma faixa de tensões ampla e caracterı́sticas diferentes
dos circuitos integrados TTL, existe a possibilidade de ”interfacear”circuitos dos dois tipos. Há
duas possibilidades de interfaceamento entre circuitos digitais TTL e circuitos digitais CMOS.

4.4.1 A saı́da TTL deve excitar a entrada CMOS


Se as duas famı́lias lógicas estiverem com uma tensão de alimentação de 5 V não há problema
e a interligação pode ser direta. Como as entradas CMOS têm uma impedância muito alta
(não exigindo praticamente corrente alguma) da saı́da TTL, não existe perigo do circuito CMOS
”carregar”a saı́da TTL. Entretanto, temos que considerar o seguinte problema: As entradas
CMOS só reconhecem como nı́vel lógico um algum valor de tensão de pelo menos 3.5 V, enquanto
que no nı́vel alto, a tensão mı́nima que o TTL pode fornecer nestas condições é de 3.3 V.
Isso significa que é necessário garantir que a entrada CMOS reconheça o nı́vel alto TTL, o
que é conseguido com a adição de um resistor externo de pull-up (conceito visto anteriormente),
observe a figura abaixo. Este resistor de 22KΩ é ligado ao positivo da alimentação de 5 V.

Figura 4.33: Interfaceamento TTL e CMOS


Cartões Digitais

Se o circuito CMOS a ser excitado por um TTL for alimentado com tensão maior que 5 V,
por exemplo 12 V, deve ser usado um circuito intermediário de casamento de caracterı́sticas. Este
circuito intermediário deve manter o sinal, ou seja, deve ser simplesmente um buffer não inversor,
como por exemplo, o de coletor aberto com um resistor de pull-up externo. O valor deste resistor
dependerá da tensão de alimentação.

Figura 4.34: Interfaceando TTL e CMOS com tensões diferentes

4.4.2 CMOS excitando uma entrada TTL


Neste caso, devemos considerar que uma saı́da CMOS no nı́vel baixo pode drenar uma corrente
de aproximadamente 0,5 mA e no estado alto, a mesma intensidade. No entanto, uma entrada
TTL fornece uma corrente de 1,6 mA no nı́vel baixo, o que não pode ser absorvido pela saı́da
CMOS. Isso significa que entre as duas devemos intercalar um buffer CMOS, como por exemplo,
os 4049 e 4050 que permitem a excitação de até duas entradas TTL a partir de uma saı́da CMOS.

Figura 4.35: Interfaceando CMOS e TTL.


Cartões Digitais

Capı́tulo 5

Circuitos lógicos combinatórios

Neste capı́tulo, estudaremos as funções lógicas de uma forma mais completa. Analisaremos
o que acontece quando associamos várias portas lógicas, prevendo o que teremos em suas saı́das
para cada uma das possı́veis combinações dos nı́veis de entrada. Os circuitos complexos, como
os usados nos computadores, por exemplo, se aproveitam das operações complicadas que muitas
portas lógicas podem realizar em conjunto.
Com isso, é muito importante que além de analisarmos o comportamento individual de cada
porta lógica, nós também consigamos analisar e construir circuitos mais elaborados a partir dela.
As portas E, OU e NÃO são exemplos de circuitos combinatórios simples. Uma restrição
importante dos circuitos combinatórios é que não precisam de nenhum retorno (feedback), isto é,
uma entrada para uma porta não pode ser um resultado de uma função que dependa da saı́da
desta mesma porta.
Isto significa que não é possı́vel obter loops em circuitos combinatórios. Um decodificador
(será visto com detalhes adiante) é um bom exemplo de um circuito combinatório. É um circuito
que produz uma saı́da especı́fica (geralmente zero) quando um valor especı́fico ou um conjunto de
valores especı́ficos aparece nas suas entradas.
Outro conjunto de circuitos combinatórios que deve ser citado são as portas E e OU de várias
entradas. Por exemplo, se quisermos calcular o E lógico de três entradas, podemos colocar duas
portas E em cascata conforme abaixo.

Figura 5.1: Porta E de três entradas a partir de duas com duas entradas.

De forma semelhante, podemos construir uma porta E de quatro entradas ou combinar três
portas E de duas entradas e assim por diante. As portas OU de várias entradas podem ser feitas
o mesmo princı́pio descrito acima. Como portas E e OU com mais de duas entradas são muito
comuns, usaremos um único sı́mbolo para representar portas de N entradas.
Cartões Digitais

5.1 Passos para montagem de um circuito combinacional


A montagem de um equipamento combinatório, apesar de ser muito simples, as vezes exige que
o projetista esteja ciente do problema como um todo. Em um circuito combinacional, nós temos
alguns passos que devem ser seguidos para que se possa montar claramente um circuito que atenda
a solução do problema analisado. Para estes circuitos, a construção inicia-se na especificação do
problema e diagrama do circuito (ou no conjunto de equações que o descrevem). Um procedimento
genérico para o projeto envolve os seguintes passos:

• Determinar as representações para cada variável de entrada e saı́da;

• Identificação do problema;

• Determinação das equações lógicas simplificadas;

• Verificar quais componentes comerciais podem ser utilizados;

• Desenhar o circuito final.

Estes passos serão descritos a seguir de forma sistêmica para que o aluno possa compreender
a importância de cada procedimento e possa adotar estes passos na sua rotina de laboratório.

5.1.1 Determinação das variáveis de entrada e saı́da:


A determinação de uma nomenclatura já vem sendo feita durante o conteúdo da apostila. Nós
adotaremos a nomenclatura que para cada entrada, teremos uma letra do alfabeto, por exemplo,
A, B, C e etc. Para a saı́da, sempre a indicaremos através do sı́mbolo S. Veja que S também
pertence ao alfabeto, mas neste caso S nunca poderá representar uma entrada.

5.1.2 Identificação do problema


Quando iniciamos o projeto de circuitos combinacionais, num primeiro momento somos levados
a pensar que o problema de saber o que acontece com a saı́da de um circuito quando suas entradas
recebem diversas combinações de sinais não é o mais importante. Na verdade, deve-se fazer o
contrário, que significa identificar que tipo de saı́da é desejado. Então na primeira etapa deve ser
definido o problema, estabelecendo-se exatamente qual a função a ser executada, ou seja, quais
as entradas e quais as saı́das.
Como já vimos no capitulo três, quando lidamos com um problema com várias entradas
possı́veis é claro que será necessária uma combinação de portas lógicas para que se obtenha uma
saı́da condizente com o resultado esperado.
Os diversos sinais de entrada aplicados a uma função lógica, com todas as suas combinações
possı́veis e a saı́da correspondente podem ser colocados numa tabela. Então, para que se possa
ter uma visão do problema como um todo, é necessário construir esta tabela, chamada de tabela
verdade com o objetivo de obter as equações pertinentes à solução do mesmo.
Para facilitar o aprendizado, vamos desenvolver um problema durante os passos para mostrar
melhor o raciocı́nio que deve ser feito para a obtenção da solução. Vamos partir de um exemplo
simples de lógica combinacional usando tabelas verdades para saber o que ocorre na sua saı́da,
com o circuito abaixo.
Cartões Digitais

Figura 5.2: Exemplo de circuito combinacional

5.1.3 Determinação das equações lógicas simplificadas


Antes de começarmos, é necessário fazer uma revisão de alguns conceitos já vistos até agora.
Esses elementos tem que estar na mente todo o tempo para que o andamento do aprendizado não
seja prejudicado.

Figura 5.3: Resumo das funções lógicas mais simples.

Revisando os itens anteriores, fica claro que as expressões lógicas vistas acima não são as únicas
e sim uma pequena parte. Existem vários outros equacionamentos que já foram descritos e que
podem ser vistos com mais detalhes nos capı́tulos anteriores. Se o aluno estiver com problemas
para recordar quais são, seria aconselhável que fizesse uma recapitulação, inclusive nos itens que
citam os mapas de karnaugh.
Continuando o processo de resolução do problema proposto, vamos executar dois procedi-
mentos distintos, o primeiro é a obtenção da tabela da verdade através do circuito proposto. O
segundo será fazer o circuito simplificado através da tabela da verdade e os mapas de karnaugh.
Iniciando o primeiro procedimento, vamos montar a tabela da verdade baseada na figura 5.2.
Podemos observar que esta figura possui quatro portas lógicas, uma porta E, uma porta OU e duas
portas inversoras ou portas NÃO. Para cada porta lógica desta, existe uma equação matemática
que representa seu funcionamento, por exemplo, a porta OU. Conforme revisamos acima, cada
porta tem seu operador algébrico e para começar, vamos indicar esses operadores para cada porta
lógica, indicando sua saı́da através de suas entradas.
Cartões Digitais

Figura 5.4: Circuito combinacional dividido em expressões simples.

Com essa decomposição do circuito combinacional em várias equações algébricas menores,


podemos facilmente obter o funcionamento do circuito através da colocação de todas as entradas
possı́veis na tabela verdade. Esta tabela corresponderá ao funcionamento lógico do circuito.

A B C S1 S2 S3 S
0 0 0 0 1 0 1
0 0 1 0 0 0 1
0 1 0 1 1 1 0
0 1 1 1 0 0 1
1 0 0 1 1 1 0
1 0 1 1 0 0 1
1 1 0 1 1 1 0
1 1 1 1 0 0 1

Tabela 5.1: Tabela verdade do circuito combinacional da figura 5.4

Para elaborar a tabela verdade para este circuito combinacional e com isso determinar todas
as saı́das possı́veis em função das entradas, deve levar em conta que ele é formado por três etapas.
Na primeira etapa temos a porta OU e a NÃO, na segunda etapa temos a porta E e na terceira
etapa temos mais um circuito inversor. Isso significa que as saı́das dos circuitos da primeira etapa,
que chamaremos S1 e S2 são à entrada da segunda etapa e que a entrada da terceira etapa, S3 é
a inversão da saı́da da segunda etapa.
Então temos que levar em consideração estas saı́das na elaboração da tabela verdade que terá
no seu topo todas as variáveis de entrada, as saı́das parciais e a saı́da final. Podemos identificar
as variáveis A,B e C como as entradas dos circuitos. S1, S2 e S3 são pontos intermediários do
circuito que precisam ser analisados para a obtenção de S, que é saı́da final do circuito.
Como falado anteriormente, começamos por colocar em A, B e C todas as suas condições
possı́veis de entrada, ou todas as combinações de nı́veis lógicos que podem ser aplicadas ao circuito.
O próximo passo foi colocar na tabela os valores possı́veis de S1 que corresponde ao resultado
algébrico da função OU. Assim através de todos os valores possı́veis de A e B, podemos saber
quais serão os valores de S1, simplesmente utilizando à equação S1=A+B. Este processo se repete
para a saı́da S2, que corresponde a inversão do valor colocado em C.
Depois de se ter todos os possı́veis valores de S1 e S2, temos o valor de S3 através da inserção
dos valores de S1 e S2 na porta E. O valor de S3 então estará definido pela equação algébrica
da porta E, sendo S3 = S1 . S2. Com isso, podemos completar a coluna S3 da tabela verdade,
Cartões Digitais

fazendo com que falte somente o valor realmente importante que é à saı́da do circuito. Esta
é obtida através da aplicação da inversora ao valor obtido de S3. Assim, podemos finalmente
terminar a construção da tabela verdade que corresponde ao circuito da figura 5.4 . Esta tabela
corresponde à tabela 5.1.
Veja que este exemplo não constituiu um exemplo de construção de circuitos combinacionais
mesmo porque ele já estava pronto, contudo é importante saber como é obtida a tabela verdade
a partir do circuito para que seja possı́vel analisar seu funcionamento.
Outro detalhe que deve ser considerado é que esta tabela verdade não é única. Podemos ter
várias outras combinações lógicas que representariam à mesma tabela. Ainda poderı́amos evitar
o uso de portas como a porta inversora ligada a S, se utilizasse uma porta NÃO E ao invés de
uma porta E. Note que o projeto de circuitos combinacionais tem uma série de formas de serem
feitas, contudo, para que o aluno não fique perdido entre qual forma adotar, seguiremos a regra
apresentada aqui.
Agora vamos atuar de forma reversa, sendo esta forma mais utilizada para criação de projetos
porque geralmente tem que se construir um equipamento dependendo das suas entradas e saı́das,
fazendo assim a expressão lógica e depois o circuito que a representa. Para exemplificar, a tabela
5.1 foi dada para se verificar qual é a equação lógica que corresponde a ela.
Primeiramente, temos que ver quais colunas serão usadas para criar esta tabela. Como o
que nos interessa são sempre as entradas e as saı́das, usaremos as colunas A, B, C e S. Depois
temos que verificar quais linhas geram saı́das com nı́vel lógico um, pois são elas necessárias para
a montagem da equação lógica. As saı́das com nı́vel um representam que as entradas geram um
valor um na saı́da, contudo, vemos que várias linhas causam também este tipo de saı́da. Isso quer
dizer que a figura 5.5 é o resultado da operação OU entre as tabelas que só possuem uma saı́da
com nı́vel um.

Figura 5.5: Circuito combinacional dividido em expressões simples.

Em segundo lugar, se nos interessa somente as linhas onde o nı́vel lógico da saı́da tem nı́vel
um e sabemos que quando a entrada tiver o número zero significa que a entrada é ”barrada”.
Temos a nomenclatura da entrada representada pelo inverso da entrada e quando tiver o número
um significa que a entrada é sem nenhuma modificação.
Então, continuando a análise do exemplo proposto, podemos retirar da tabela verdade a
seguinte equação:

A.B.C + A.B.C + A.B.C + A.B.C + A.B.C (5.1)

Esta equação representa na forma da simbologia lógica a tabela verdade acima, significa que
Cartões Digitais

se nesta equação tivermos o valor de entrada semelhante ao da tabela acima, sempre terá a saı́da
respectiva. Agora baseado nesta equação, nós terı́amos o seguinte circuito lógico equivalente:

Figura 5.6: Representação lógica da equação.

Conforme você já deve ter observado, este circuito não é nada parecido com a figura 5.2. Isto
ressalta duas afirmativas, a primeira é que uma tabela verdade pode ser representada por várias
combinações lógicas diferentes e a segunda é que este circuito combinatório pode ser simplificado
de forma a usar uma quantidade menor de portas lógicas ficando do tamanho do circuito da figura
5.2 ou até menor.
Para a segunda afirmativa, existe o método que permite simplificar as expressões lógicas
fazendo com que elas tenham equivalentes menores. Esta redução é obtida através do uso dos
mapas de Karnaugh já vistos aqui. Para se fazer a simplificação deste circuito, vamos transportar
as informações da tabela verdade para o mapa.

Figura 5.7: Mapa de Karnaugh

Conforme já vimos antes, quando montamos o mapa e vemos que alguma entrada nas áreas
selecionadas muda de ı́ndice, zero para um ou vice-versa, ela não influencia naquela saı́da. Com
isso, através do mapa obtemos a seguinte equação:

S = A.B.C (5.2)

Temos assim a seguinte representação lógica da equação acima:


Cartões Digitais

Figura 5.8: Representação lógica da equação.

Faça os testes, montando a tabela verdade deste circuito da forma que tı́nhamos visto antes,
você verá que, no final, você terá a mesma tabela da verdade.

5.1.4 Quais componentes comerciais podem ser utilizados


Depois de definido quais são as portas lógicas que representam à tabela verdade, devemos
definir também quais serão os componentes integrados que representarão este circuito. No mercado
existem vários fabricantes que disponibilizam toda a famı́lia TTL, geralmente utilizada para este
tipo de projeto. Podemos ver a nomenclatura e a composição de alguns membros desta famı́lia a
seguir ou consultando o apêndice B.
Atendo-nos somente ao nosso problema vemos que precisamos de pelo menos uma porta E
e uma porta OU, conforme nosso desenho. Entretanto, podemos ainda verificar que esta porta
E não tem um equivalente comercial, com suas entradas ”barradas”, pode precisar de um outro
sı́mbolo lógico bem conhecido. Este sı́mbolo seria a porta inversora, fazendo com que a montagem
real desta expressão lógica fosse:

Figura 5.9: Circuito resultante da simplificação.

Vemos que apesar da simplificação resultar uma mudança do equacionamento, a quantidade


de portas lógicas necessárias continua a mesma. Fazendo uso de três CI’s TTL (7404, 7408 e
7432), mas eles possuem várias portas lógicas que ficariam ociosas, causado desperdı́cio. Uma das
soluções que podem ser implementadas seria a substituição destas portas por suas equivalentes
usando NÃO-E (NAND), fazendo uma maior utilização dos componentes no circuito integrado
(CI).

Figura 5.10: Circuito da figura 5.9 representado com portas NÃO-E.


Cartões Digitais

5.1.5 Desenhar o circuito final


Intuitivamente, sabemos então que qualquer circuito pode ser feito de várias formas possı́veis
e utilizar diversas portas lógicas para representá-lo. Utilizando os componentes eletrônicos exis-
tentes no mercado, vamos ver como ficaria a representação dos circuitos da figura 5.9 e da figura
5.11.

Figura 5.11: Circuito comercial da figura 5.9

Nota-se claramente o desperdı́cio de componentes lógicos nesta montagem, pois temos somente
duas portas inversoras em uso de seis! A falta de uso, além de desperdı́cio, ocupa um espaço maior
na hora de confeccionar o circuito e gastam uma quantia maior na produção dos equipamentos.

Figura 5.12: Circuito comercial da figura 5.11

Vemos que na montagem da figura em 5.12, baseada no circuito da figura em 5.11, a quantidade
de componentes integrados foi diminuı́da a dois terços do circuito anterior e ainda utilizou-se um
maior número de portas lógicas por componente integrado, fazendo com que o projeto tivesse
uma menor utilização de espaço e reduzindo os custos de fabricação.
Devemos fazer algumas observações com relação ao uso real dos componentes, por exemplo,
devemos usar capacitores de desacoplamento na alimentação e ainda devemos ligar à terra todas
as entradas não usadas.
No nosso estudo vemos a partir de agora como essas associações são importantes para dar as
portas lógicas funções úteis que manipulam os bits conforme necessário.
Cartões Digitais

Glossário
Buffer/Driver: Circuito projetado para fornecer uma corrente de saı́da alta e/ou tensão
também alto se comparadas aos parâmetros normalmente associados aos circuitos lógicos comuns;
CIs bipolares: Circuitos Digitais integrados nos quais transistores PNP ou NPN são os
principais formadores do circuito;
CIs Unipolares: Circuitos Integrados digitais nos quais um transistor unipolar por efeito de
campo (MOSFET) é o principal elemento para a construção dos circuitos;
Dispositivo Lógico Programável (PLD): Circuito integrado que contém um grande número
de funções lógicas interconectadas. O usuário pode programar o CI para uma função especı́fica,
abrindo as conexões apropriadas;
Entrada flutuante ou em flutuação: Sinal em alta impedância, apresentado como entrada
de um circuito digital. Atua como se estivesse logicamente desconectado ao circuito;
Lógica absorvedora de corrente: Famı́lia lógica na qual a saı́da de um circuito lógico
drena corrente da entrada de um outro circuito lógico;
Lógica acoplada pelo emissor (ECL): Também conhecida como lógica em modo de cor-
rente;
Lógica fornecedora de corrente: Famı́lia lógica na qual a saı́da de um circuito lógico
fornece corrente para a entrada de um outro circuito lógico;
Saı́da a coletor aberto: Tipo de estrutura de saı́da de alguns circuitos TTL (Transistor-
Transistor Logic), no qual só é usado um transistor com seu coletor em flutuação;
Saı́da de três estados (tristate): Tipo de estrutura que permite que uma saı́da seja
colocada em um dos três estados: alto, baixo ou alta impedância;
Saı́da totem-pole: Termo usado para descrever a forma na qual dois transistores bipolares
são ligados na saı́da de alguns circuitos TTL;
Resistor de pull-up: Assegura em uma entrada (que pode ser compartilhada) de uma porta
lógica o nı́vel lógico 1;
Resistor de pull-down: Assegura em uma entrada (que pode ser compartilhada) de uma
porta lógica o nı́vel lógico 0;
Spike: Mudança momentânea e espúria em um nı́vel de tensão;
Strobing: Técnica utilizada para eliminação de spikes;
Substrato: Pedaço de material semicondutor, onde são colocados os componentes eletro-
eletrônicos de um circuito integrado;
Transientes de corrente: Picos de corrente gerados pela saı́da totem-pole de um circuito
TTL. Causados quando ambos os transistores conduzem simultaneamente;
”Unasserted”: Termo usado para descrever o estado de um sinal lógico, sinônimo de inativo;

Apêndice A
7400: Quatro portas NAND de duas entradas
7401: Quatro portas NAND de duas entradas com coletor aberto
7402: Quatro portas NOR de duas entradas
7403: Quatro portas NOR de duas entradas com coletor aberto
Cartões Digitais

7404: Seis inversores (porta NOT)


7405: Seis inversores (porta NOT de saı́das com coletor aberto)
7406: Seis Buffer/Driver inversores com saı́das de 30V com coletor aberto
7407: Seis Buffer/Driver com saı́das de 30V com coletor aberto
7408: Quatro portas AND de duas entradas
7409: Quatro portas AND de duas entradas com coletor aberto
7410: Três portas NAND de três entradas
7411: Três portas AND de três entradas
7412: Três portas NAND de três entradas com coletor aberto
7413: Duas portas NAND de quatro entradas Schmitt trigger
7414: Seis inversores Schmitt trigger
7415: Três portas AND de três entradas com coletor aberto
7416: Seis Buffer/Driver inversores com saı́das de 15V com coletor aberto
7417: Seis Buffer/Driver com saı́da de 15V com coletor aberto
7419: Seis inversores Schmitt trigger
7420: Duas portas NAND de quatro entradas
7421: Duas portas AND de quatro entradas
7422: Duas portas NAND de quatro entradas com coletor aberto
7423: Duas portas NOR de quatro entradas com strobe expansı́veis
7425: Duas portas NOR de quatro entradas com strobe
7426: Quatro portas NAND de duas entradas com saı́das de 15V com coletor aberto
7427: Três portas NOR de três entradas
7428: Quatro portas NOR de duas entradas
7430: Uma porta NAND de oito entradas
7431: Seis elementos de atraso
7432: Quatro portas OR de duas entradas
7433: Quatro portas NOR buffer de duas entradas com coletor aberto
7436: Quatros portas NOR de duas entradas (pinagem diferente do 7402)
7437: Quatro portas NAND de duas entradas
7438: Quatro portas NAND de duas entradas com coletor aberto
7439: Quatro portas NAND buffer de duas entradas
7440: Duas portas NAND buffer de quatro entradas
7441: Driver BCD para Decodificador Decimal/NIXIE Tube
7442: Decodificador BCD para Decimal
7443: Decodificador Excesso-3 para Decimal
7444: Decodificador Gray-Excesso-3 para Decimal
7445: Decodificador BCD para Decimal
7446: Decodificador BCD para 7 segmentos com saı́das de 30V com coletor aberto
7447: Decodificador BCD para 7 segmentos com saı́das de 15V com coletor aberto
7448: Decodificador BCD para 7 segmentos com parada
7449: Decodificador BCD para 7 segmentos com coletor aberto
7470: Flip-Flop J-K com Preset e Clear com porta AND ativado por borda de subida
74H71: Flip-flop JK mestre escravo com Preset com porta AND-OR
Cartões Digitais

74L71: Flip-flop RS mestre escravo com Preset e Clear com porta AND
7472: Flip-Flop JK mestre escravo com Preset e Clear com porta AND
7473: Dois Flip-Flops JK com Clear
7474: Dois Flip-Flops tipo D com Preset e Clear ativos por borda de subida
7475: Latch biestável de 4-bits 7476: Dois Flip-Flops JK com Preset e Clear
7477: Latch biestável de 4-bits
74H78, 74L78: Dois Flip-Flops JK com Preset, Clear comum e Clock comum
74LS78A: Dois flip-flops JK com Preset, Clear comum e clock comum ativos por borda de
descida
7479: Dois flip-flops D 7480: Somador completo com disparo
7482: Somador completo de 2 bits 7483: Somador completo de 4 bits
7484: Memória RAM de 16 bits
7485: Comparador de magnitude de 4 bits
7486: Quatro portas XOR (ou exclusivo) de duas entradas
7487: Elemento Verdadeiro/Complemento/Zero/Um de quatro bits
7488: Memória ROM de 256 bits
7489: Memória de leitura/escrita de 64 bits
7490: Contador de década (seções divide por 2 e divide por 5 separadas)
7491: Registrador de deslocamento de 8 bits com entrada serial, saı́da serial e entradas com
disparo
7492: Contador divisor por 12 (seções divide por 2 e divide por 6 separadas)
7493: Contador binário de 4 bits (seções divide por 2 e divide por 8 separadas)
7494: Registrador de deslocamento de 4 bits, dois Presets assı́ncronos
7495: Registrador de deslocamento de 4 bits, entrada paralela, saı́da paralela, bidirecional
7496: Registrador de deslocamento com entrada paralela, saı́da paralela e Preset assı́ncrono
7497: Multiplicador binário sı́ncrono de 6 bits
7498: Registrador de armazenamento/seleção de dados de 4 bits
7499: Registrador de deslocamento de 4 bits bidirecional universal
74100: Dois latch biestáveis de 4 bits
74101: Flip-Flop JK ativo por borda de descida com Preset e com disparo por porta AND-OR
74102: Flip-Flop JK ativo por borda de descida com Preset e Clear com disparo por porta
AND
74103: Dois Flip-Flops JK ativos por borda de descida com Clear
74104: Flip-Flop JK Mestre Escravo
74105: Flip-Flop JK Mestre Escravo
74106: Dois Flip-Flops JK ativos por borda de descida com Preset e Clear
74107: Dois Flip-Flops JK com Clear
74107A: Dois Flip-Flops JK ativos por borda de descida com Clear
74108: Fois Flip-Flops JK ativos por borda de descida com Preset, Clear comum e Clock
comum
74109: 8Dois Flip-Flops J-Not-K ativos por borda de subida com Preset e Clear
74110: Flip-Flop JK Mestre Escravo com disparo por porta AND com trava de dados
74111: Dois Flip-Flops JK Mestre Escravo com trava de dados
Cartões Digitais

74112: Dois Flip-Flops JK ativos por borda de descida com Clear e Preset
74113: Dois Flip-Flops JK ativos por borda de descida com Preset
74114: Fois Flip-Flops JK ativos por borda de descida com Preset, Clock comum e Clear
74116: Dois latches de 4 bits com Clear
74118: Seis Latches set/reset 74119: Seis Latches set/reset
74120: Dois Excitadores/Sincronizadores de pulso
74121: Multivibrador monoestável
74122: Multivibrador monoestável reativável com Clear
74123: Dois multivibradores monoestáveis reativáveis com Clear
74124: Dois osciladores controlados por tensão
74125: Quatro buffers com saı́das tristate, ativos por sinal negativo
74126: Quatro buffers com saı́da tristate, ativos por sinal positivo
74128: Quatro portas NOR de duas entradas esxitadores de linha
74130: Quatro portas AND de duas entrada buffers com saı́das de 30V com coletor aberto
74131: Quatro portas AND de duas entrada bubbers com saı́das de 15V com coletor aberto
74132: Quatro portas NAND de duas entradas com Schmitt Trigger
74133: Porta NAND de treze entradas
74134: Porta NAND de doze entradas com saı́da tristate
74135: Quatro portas NOR/XOR de duas entradas
74136: Quatrp portas XOR (ou exclusivo) de duas entradas com coletor aberto
74137: Decodificador/Demultiplexador de 3 para 8 linhas com Latch de endereço
74138: Decodificador/Demultiplexador de 3 para 8 linhas
74139: Dois Decodificadores/Demultiplexadores de 2 para 4 linhas
74140: Duas portas NAND de quatro entradas com excitador de linha
74141: Decodificador/Excitador de BCD para decimal
74142: Contador de década/Latch de 4 bits/Decodificador de 4 bits para 7 segmentos/Excitador
74143: Contador de década/latch/decodificador/ exctador com corrente de 15 mA constante
74144: Contador de década/latch/decodificador/ excitador com saı́da de 15V com coletor
aberto
74145: Decodificador BCD para decimal/Excitador
74147: Codificador de prioridade de 10 linhas para 4 linhas
74148: Codificador de prioridade de 8 linhas para 4 linhas
74150: Seletor de dados/Multiplexador de 16 linhas para 1 linha
74151: Seletor de dados/Multiplexador de 8 linhas para 1 linha
74152: Seletor de dados/Multiplexador de 8 linhas para 1 linha
74153: Dois Seletores de dados/Multiplaxadores de 4 linhas para 1 linhas
74154: Demultiplexador de 4 linhas para 16 linhas
74155: Dois demultiplexadores de 2 linhas para quatro linhas
74156: Dois demultiplaxadores de 2 linhas para quatro linhas com coletor aberto
74157: Dois multiplexadores/seletores de dados de 2 linhas para 1 linha sem inversão de saı́da
74158: Dois seletores de dados/multiplaxadores de 2 linhas para 1 linha com inversão de saı́da
74159: Demultiplaxador de 4 linhas para 16 linhas com coletor aberto
74160: Contador de década sı́ncrono de 4 bits com Clear assı́ncrono
Cartões Digitais

74161: Contador binário de 4 bits sı́ncrono com Clear assı́ncrono


74162: Contador de década sı́ncrono de 4 bits com Clear sı́ncrono
74163: Contador binário de 4 bits com clear sı́ncrono
74164: Registrador de deslocamento em série de 8 bits com saı́da paralela com clear assı́ncrono
74165: Registrador de deslocamento em série de 8 bits com cargas paralelas e saı́das comple-
mentadas
74166: Registrador de deslocamento de 8 bits
74167: Multiplicador de taxa de década sı́ncrono
74168: Contador de década de 4 bits ascendente/descendente sı́ncrono
74169: Contador binário de 4 bits ascendente/descendente sı́ncrono
74170: Banco de registradores 4 por 4 com saı́das com coletor aberto
74172: Banco de registradores com portar múltiplas de 16 bits com saı́das tristate
74173: Quatro flip-flops D com saı́das tristate
74174: Seis flip-flops D com clear comum
74175: Quatro flip-flops D ativos por borda com saı́das complementares e clear assı́ncrono
74176: Contador de década/Latch pré-ajustável
74177: Contador de década/Latch pré-ajustável
74178: Registrador de deslocamento de 4 bits com acesso paralelo
74179: Registrador de deslocamento de 4 bits com acesso paralelo, clear assı́ncrono e saı́das
complementares
74180: Gerador e verificador de paridade Par/Ímpar de 9 bits
74181: Unidade lógica aritmética e gerador de funções de 4 bits
74182: Gerador de carry futuro
74183: Somador completo com dois carry-save
74184: Decodificador de BCD para binário
74185: Decodificador de binário para BCD
74186: Memória ROM de 512 bits (64x8) com coletor aberto
74187: Memória ROM de 1024 bits (256x4) com coletor aberto
74188: Memória PROM de 256 bits (32x8) com coletor aberto
74189: Memória RAM de 64 bits (16x4) com saı́das tristate inversoras
74190: Contador de década ascendente/descendente sı́ncrono
Cartões Digitais

Capı́tulo 6

Caderno de Experiências

6.1 Aula Teórica - Fundamentos


Objetivos:

• Revisar os fundamentos de eletrônica digital

• Realizar exercı́cios envolvendo sistemas de numeração em base 10, 2, 16 e 8

• Estudar as principais caracterı́sticas fı́sicas das portas lógicas

Referências:

• Introdução a eletrônica digital

• Sistemas de Numeração e conversão

• Famı́lias de circuitos lógicos digitais

Material necessário
Não há
Questionário:
Introdução a eletrônica digital

1. O que caracteriza um sistema digital? E um sistema analógico?

2. Cite 3 vantagens do uso de sistema digitais sobre sistemas analógicos.


Sistemas de Numeração e conversão

3. Converta os seguintes valores de DECIMAL para BINÁRIO e HEXADECIMAL


Cartões Digitais

4. Converta os seguintes valores de BINÁRIO para DECIMAL e HEXADECIMAL

5. Converta os seguintes valores de HEXADECIMAL para BINÁRIO e DECIMAL

Famı́lias de circuitos lógicos digitais

6. Qual é a nomenclatura utilizada para classificar os circuitos integrados?

7. Cite as diferenças de alguns parâmetros de operação entre as famı́lias TTL 54LS/74LS,


54L/74L, 54S/74S, 54/74, 54H/74H.

8. De que componentes discretos podem ser formadas as portas lógicas TTL e CMOS?

9. Quais são as principais métricas de tensão e corrente medidos em uma porta lógica?

10. Quais são as margens de ruı́do tı́picas para a famı́lia TTL?

11. Qual é o parâmetro de Fan-out da famı́lia TTL?


Cartões Digitais

6.2 Aula Prática - Portas lógicas


Objetivos:

• Conhecer a álgebra de Boole

• Conhecer a variedade de portas lógicas disponı́veis e suas combinações

• Verificar os métodos de criação e simplificação da Tabela da verdade

Referências:

• Álgebra de Boole

Material Necessário:

• Módulo XD200M01.02.01

• Fios e cabos para conexões

Introdução:

George Boole foi um matemático inglês, desenvolveu uma teoria inovadora nos meados do
século XIX, baseada em uma série de postulados e simples operações para resolver inúmeros
problemas. A álgebra de Boole, nome dado a sua teoria, pode resolver problemas práticos de
controle e fabricação de produtos mesmo numa época que não havia Eletrônica e nem as máquinas
eram suficientemente avançadas para utilizar seus princı́pios.
Entretanto, as regras que Boole criou tornaram-se importantes com o advento da Eletrônica,
especificamente, da Eletrônica Digital, que gerou os atuais e cada vez mais potentes computado-
res. Boole estabelece em sua teoria que só existem duas condições possı́veis ou estados possı́veis
para qualquer coisa que se deseje analisar e estes dois estados são opostos.

Questionário:

1. Quais são as funções lógicas básicas da álgebra de Boole?

2. Quais são as propriedades das operações da álgebra de Boole?

3. Qual é a função lógica básica que pode representar todas as outras funções lógicas básicas?

• Monte no KIT o circuito abaixo, e determine sua expressão lógica, simplificando se


possı́vel:

Exercı́cios:

1. Utilizando o Kit, monte os seguintes circuitos digitais e monte suas respectivas tabelas da
verdade:
Obs:Utilize os manuais para uma montagem correta!
Cartões Digitais

2. Para cada circuito lógico acima, simplifique a expressão usando o mapa de Karnaugh, se
possı́vel.
Cartões Digitais

3. Desenhe e monte os circuitos das seguintes equações lógicas, usando as propriedades quando
possı́vel:

• A.B.C + A.D
• B.C.A + B.(A.D+A.D)
• (A+B).(C+E),(B.E).(A.D)
• (A+B).(C.D+C.D)+(A.D+AD)

Exercı́cios Propostos:

1. Monte todas as portas lógicas básicas a partir da porta ”NAND”, faça a tabela da verdade
para cada porta.

2. Monte o circuito no kit, confirme as seguintes igualdades:

• A + A.B=A
• A+A.B=A + B
• A + B=A.B
• A.B =A+B
Cartões Digitais
Cartões Digitais

Capı́tulo 7

Manual de Operação e Manutenção

Importante
• Para um completo entendimento do funcionamento do módulo, consulte seu esquema elétrico
e manual dos componentes, ambos presentes no CD que acompanha o kit.

7.1 Hardware
O módulo XD200M01.02.01 é uma ferramenta capaz de trabalhar as principais lógicas digitais
aplicadas na maioria dos circuitos eletrônicos.

Sua placa está disposta de 6 circuitos integrados que executam tais funções lógicas:

• 1 CI MM74HC00N - QUAD 2-INPUT NAND GATE

• 1 CI MM74HC02N - QUAD 2-INPUT NOR GATE

• 1 CI SN74HC08N - QUADRUPLE 2-INPUT POSITIVE-AND GATES

• 1 CI MM74HC32N - QUAD 2-INPUT OR GATE

• 1 CI SN74HC04N - HEX INVERTERS

• 1 CI DM74LS86N - QUAD 2-INPUT EXCLUSIVE-OR GATE

Utilizando o módulo XD200M01.02.01 ao circuito de sua escolha, você poderá trabalhar estas
principais lógicas digitais, ficando a cargo do usuário fazer as conexões e configurações necessárias
para cada experiência.
Cartões Digitais

Visão da placa

Figura 7.1: XD200M01.02.01 - Portas Lógicas


Capı́tulo 8

Esquemas Elétricos

8.1 XD200M01.02.01
Cartões Digitais
Cartões Digitais
Cartões Digitais

Capı́tulo 9

Codificadores e Decodificadores

Introdução
Depois de vermos os conceitos mais simples da lógica binária, suas portas lógicas básicas e
seus principais equacionamentos, estamos prontos para estudar a utilização prática da eletrônica
digital. Isto consiste na implementação destes componentes lógicos para executarem ações que
proporcionem utilidade prática.
Os circuitos combinacionais são os responsáveis pelas operações lógicas e aritméticas dentro
de um sistema digital. Então além das operações lógicas e aritméticas como adição, subtração
complementação, etc, existem outras funções necessárias para a realização de conexões entre os
diversos operadores. Dentre essas funções estão a multiplexação e a decodificação. Os elementos
que realizam essas últimas operações são denominados multiplexadores e decodificadores. Neste
módulo analisaremos os codificadores e decodificadores, e veremos como tais circuitos são cons-
tituı́dos.
As informações que os circuitos digitais produzem estão na forma binária ou em outras formas
que não são compreendidas facilmente pelo usuário, ou ainda que não possam ser utilizadas
pelos circuitos seguintes do equipamento. Isso implica na necessidade de se ter circuitos que
processem uma informação codificada de modo a transformá-la em outra que possam ser usada
por dispositivos ou circuitos.
Podemos ter, por exemplo, a necessidade de apresentar um valor numérico na forma decimal
a partir de um valor binário ou produzir um impulso em determinado endereço numa memória
a partir de uma informação binária deste endereço. Nas aplicações digitais encontramos diversos
tipos de circuitos decodificadores, que serão vistos agora.

9.1 Decodificador de n para 2n linhas


Aqui temos circuitos que decodificam um sinal binário de n dı́gitos para uma de 2n saı́das.
Com isso, para dois dı́gitos ou linhas de entrada, temos 2 x 2 linhas de saı́da. Para três linhas de
entrada, temos 2 x 2 x 2 linhas de saı́da ou 8, e assim por diante. Agora para compreender como
este tipo de decodificador funciona, vamos pegar sua configuração mais simples com duas linhas
de entrada e quatro de saı́da, usando quatro portas NÃO-E e dois inversores NÃO. Este circuito
aciona apenas uma das saı́das a partir das quatro combinações possı́veis do sinal de entrada.
Cartões Digitais

Figura 9.1: Decodificador com quatro saı́das a partir de dois bits de endereço.

A B S1 S2 S3 S4
0 0 0 1 1 1
0 1 1 0 1 1
1 0 1 1 0 1
1 1 1 1 1 0

Tabela 9.1: Tabela verdade da figura 9.1

Observe que no seu funcionamento segundo a tabela verdade, a saı́da ativada vai ao nı́vel
baixo quando o valor binário correspondente é aplicado à entrada. Quando estiver desenvolvendo
circuitos decodificadores na prática, não será preciso programar circuitos decodificadores como
este a partir de portas lógicas, pois existem circuitos integrados que já realizam estas funções.
Entretanto, o ideal é que observe o funcionamento de cada porta lógica e suas combinações,
pois isto facilitará a compreensão do funcionamento do circuito como um todo. Nunca devemos
esquecer de como são formados os componentes integrados que usamos para não fiquemos depen-
dentes de uma só implementação. Aplicações possı́veis para este circuito podem ser facilmente
imaginadas como, por exemplo, um circuito em que um contador binário é ligado a um destes
decodificadores de modo a fazer o acionamento sequencial de lâmpadas. Para determinar a velo-
cidade com que as lâmpadas acendem, é só modificar o tempo de clock, através da modificação
do circuito oscilador.

9.2 Decodificador BCD para sete segmentos


Um tipo de decodificador muito usado nos projetos que envolvem eletrônica digital é o que
faz a conversão dos sinais BCD (Decimais Codificados em Binário) para acionar um mostrador
de sete segmentos. Podemos formar qualquer algarismo de zero a nove usando uma combinação
de sete segmentos de um mostrador. Assim, se quisermos fazer surgir o algarismo cinco, bastará
”acender”os segmentos a, c, d, f, g. Como os sinais codificados em binário não servem para
alimentar diretamente os mostradores, é preciso contar com um circuito que faça a conversão.
Este tipo de circuito decodificador conta com quatro entradas, por onde entra a informação
BCD e sete saı́das que correspondem aos sete segmentos do display que mostrará o dı́gito corres-
pondente. A combinação de nı́veis lógicos aplicados às entradas produzirá nı́veis lógicos de saı́da
que, aplicados aos segmentos de um display fazem aparecer o dı́gito correspondente.
Um display é um dispositivo que apresenta uma informação numa forma que possa ser lida por
Cartões Digitais

Figura 9.2: Display de sete segmentos.

Figura 9.3: Esquema de interligação BCD - Display de sete segmentos.

uma pessoa usuária daquele equipamento. Podemos ter displays simples que operam na forma
digital como sequencias de LEDs, displays que apresentam números (numéricos) e displays que
apresentam também sı́mbolos gráficos (letras e sinais) denominados alfa-numérico. Alguns mais
sofisticados podem até apresentar imagens de objetos ou formas, como os usados em equipamentos
informatizados. O tipo mais comum de display usado nos projetos básicos de digital é o numérico
de sete segmentos, conforme o estudado a pouco.
A combinação do acionamento de sete segmentos possibilita o aparecimento dos algarismos
de zero a nove e também de alguns sı́mbolos gráficos. O tipo mais comum usado nos projetos
digitais é o mostrador de LEDs, onde cada segmento é um diodo emissor de luz. Os LEDs podem
ser ligados de modo a ter o anodo conectado ao mesmo ponto, caso em que dizemos que se trata
de um display de anodo comum, ou podem ter os catodos interligados, caso em que dizemos que
se trata de um display de catodo comum.

Figura 9.4: Esquema elétrico do display de sete segmentos.

As correntes nos segmentos variam tipicamente entre 10 e 50 mA conforme o tipo, o que nos
leva a concluir que o consumo máximo ocorre quando o dı́gito oito é projetado (todos os segmentos
acesos) e pode chegar a 400 mA por dı́gito. Outro tipo de display também utilizado com certa
frequência nos projetos é o de cristal lı́quido. Este display não ”acende”quando excitado.
Cartões Digitais

A B C D a b c d e f g
0 0 0 0 0 1 1 1 1 1 1 0
1 0 0 0 1 0 1 1 0 0 0 0
2 0 0 1 0 1 1 0 1 1 0 1
3 0 0 1 1 1 1 1 1 0 0 1
4 0 1 0 0 0 1 1 0 0 1 1
5 0 1 0 1 1 0 1 1 0 1 1
6 0 1 1 0 1 1 1 1 1 1 1
7 0 1 1 1 1 1 1 0 0 0 0
8 0 0 0 0 1 1 1 1 1 1 1
9 1 0 0 1 1 1 1 1 0 1 1

Tabela 9.2: Tabela dos leds do display de sete segmentos.

Eletrodos transparentes ao serem excitados eletricamente pelo sinal do circuito fazem com
que o lı́quido com que ele está em contato torne-se opaco, deixando assim de refletir a luz. Desta
forma, o fundo branco do material deixa de ser visto, aparecendo em seu lugar uma região preta.
As regiões formam os segmentos conforme sua combinação tem o aparecimento dos dı́gitos. No
entanto, é mais difı́cil trabalhar com estes mostradores, pois eles exigem circuitos de excitação
especiais que também são mais caros.
A principal vantagem do mostrador de cristal lı́quido (LCD) é seu consumo, que é centenas
de vezes menores do que o de um mostrador de LEDs. Para as aplicações em que o aparelho
deve ser alimentado através de pilhas ou ficar permanentemente ligado, é muito vantajoso usar o
mostrador LCD.

9.3 Codificador
Este circuito executa a função inversa do codificador, ou seja, produz um código diferente em
suas saı́das para cada entrada diferente ativada. Podemos analisar o projeto do circuito através
de uma tabela verdade construı́da a partir da sua definição.

I3 I2 I1 I0 A B
0 0 0 1 0 0
0 0 1 0 0 1
0 1 0 0 1 0
1 0 0 0 1 1

Tabela 9.3: Tabela verdade de um circuito codificador.

A tabela verdade pode parecer um pouco estranha, pois apesar de ter quatro variáveis de
entrada não tem a esperadas dezesseis linhas. O problema é que as quatro entradas só podem ser
ativadas uma de cada vez e com isso temos que eliminar todas as outras combinações possı́veis
para elas, mas para resolvermos o circuito através dos mapas de Karnaugh teremos que ter
todas as linhas. Vamos então introduzir o conceito de irrelevância: Em alguns casos de circuitos
combinacionais temos situações que nunca acontecem e, portanto não nos importaremos com os
valores das entradas destes casos. Dizemos então que são casos irrelevantes, ou seja, tanto faz as
entradas terem nı́vel lógico um ou nı́vel lógico zero. A grande vantagem desta situação é que para
resolvermos os mapas de Karnaugh destes circuitos podemos considerar os nı́veis lógicos como um
Cartões Digitais

ou como zero levando em consideração apenas nos for mais conveniente para conseguirmos um
maior enlace do mapa sem nos esquecer das regras que regem esses enlaces. Analise então como
fica o projeto deste codificador:

Figura 9.5: Funcionamento de um codificador.

Observe que a entrada I0 não é conectada no circuito propriamente dito e que pela lógica isto
está certo, pois quando esta estiver ativada devemos ter nas saı́das A = 0 e B = 0.
Um exemplo de aplicação para os codificadores e decodificadores são os teclados de computado-
res. Você já notou, durante o uso do seu computador que um teclado deste tipo tem normalmente
105 teclas, mas o fio que os conecta com o gabinete da CPU é muito fino para conter 105 fios. Na
verdade as teclas são codificadas através de um codificador para economizar fios.
Veja que um codificador com sete saı́das pode ter 128 entradas. Isso significa que podemos
transmitir por uma via de sete fios 128 valores diferentes, onde cada valor representa uma tecla.
O circuito responsável pela codificação de teclados dos computadores atuais é mais complexo que
este estudo, mas o princı́pio de funcionamento é o mesmo.
Cartões Digitais

Capı́tulo 10

Caderno de Experiências

10.1 Aula Prática - Codificadores


Objetivos

• Analisar o uso de circuitos codificadores

• Analisar o funcionamento de circuitos codificadores decimal BCD

Referências:

• Codificadores/decodificadores

Material Necessário:

• Módulo XD200M02.02.01

• Fios e cabos para conexões

Introdução

Um codificador é um circuito combinacional usado para converter códigos. É assumido que


cada componente possui um ı́ndice entre zero e m-1, representado por um endereço em binário.
Um codificador n:m (lê-se n por m ) possui n entradas e m saı́das, com n ? 2m. Se tivermos
um codificador 10:4, serão 4 saı́das, onde cada saı́da é tida como um endereço diferente. Para
ativar uma dentre 4 saı́das são necessárias 10 variáveis de entrada (daı́ 10:4). Cada combinação
de entrada seleciona uma combinação de dados referentes à informação aplicada em sua entrada,
de modo que cada combinação de saı́da somente será selecionada por uma das 10 possibilidades
de entrada. Desta forma, é útil que se associe a cada combinação de saı́da um ı́ndice decimal re-
presentando as possibilidades de entradas responsáveis pela sua ativação. Assumindo-se ativação
em lógica inversa, isto é, que uma entrada está ativada se ela vale zero.

Questionário:

1. Que tipo de decodificador apresenta um código BCD na sua saı́da a partir do acionamento
de apenas uma de nove entradas selecionadas?
Cartões Digitais

2. Cite alguns exemplos de uso de um codificador?

3. Qual tipo de decodificação o C.I. SN74LS147N realiza?

Exercı́cios:

1. Utilizando o módulo XD200M02.02.01 no Kit, implemente as conexões necessárias para a


operação do codificador utilizando as chaves lógicas e os leds de demonstração. Faça a
varredura necessária e obtenha a tabela da verdade.

2. Responda a qual código se refere às combinações obtidas.

Exercı́cio Propostos:

1. Monte o circuito decodificador estudado e faça a ligação entre o codificador e o decodificador.


Analise o resultado obtido quando se realiza a montagem do sistema não respeitando a ordem
dos dados intermediários.
Dica: como as saı́das do codificador trabalham com lógica invertida e as entradas
do decodificador, não é necessário usar portas inversoras, que estão presentes
no módulo XD200M01.
Cartões Digitais

10.2 Aula Prática - Decodificadores


Objetivos:

• Analisar o uso de circuitos decodificadores

• Analisar o funcionamento de decodificadores BCD para decimal

Referências:

• Codificadores/Decodificadores

Material Necessário:

• Módulo XD200M02.02.01

• Fios e cabos para conexões

Introdução:

Um decodificador é um circuito combinacional usado para ativar um entre m componentes. É


assumido que cada componente possui um ı́ndice entre zero e m-1, representado por um endereço
em binário. Um decodificador n:m (lê-se n por m ) possui n entradas e m saı́das, com m ≤ 2n.
Se tivermos um decodificador 4:10, serão 10 saı́das, onde cada saı́da é tida como um endereço
diferente. Para ativar uma dentre 10 saı́das são necessárias 4 variáveis de entrada (daı́ 4:10). Cada
combinação de entrada seleciona um e somente uma dentre as 10 saı́das, de modo que cada saı́da
somente será selecionada por uma das 10 combinações. Desta forma, é útil que se associe a cada
saı́da um ı́ndice decimal representando a combinação de entradas responsável pela sua ativação.
Assumindo-se ativação em lógica inversa, isto é, que uma saı́da está ativada se ela vale zero.

Questionário:

1. Como é denominado um circuito que joga o sinal de uma entrada em uma de quatro saı́das?

2. Que tipo de decodificador tem apenas uma de dez saı́das ativadas a partir de sinais BCD
de entrada?

3. Qual tipo de decodificação o C.I. SN74LS42N realiza?

Exercı́cios:

1. Utilizando o módulo XD200M02.02.01 no Kit, implemente as conexões necessárias para a


operação do decodificador utilizando as chaves BCD e os leds de demonstração. Utilizando
as chaves BCD faça a varredura necessária para a obtenção da tabela da verdade.

2. Altere as chaves BCD por chaves lógicas repita a operação acima e obtenha a tabela da
verdade.

3. Compare os resultados obtidos nas experiências anteriores.


Cartões Digitais

Exercı́cios Propostos:

1. Projete um sistema de controle de acionamento de cargas, onde um operador possa contro-


lar 8 equipamentos diferentes através de 3 chaves de controle. Esboce o circuito lógico e
apresente a tabela da verdade.
Cartões Digitais
Cartões Digitais

Capı́tulo 11

Manual de Operação e Manutenção

Importante
• Para um completo entendimento do funcionamento do módulo, consulte seu esquema elétrico
e manual dos componentes, ambos presentes no CD que acompanha o kit.

Hardware
O módulo XD200M02.02.01 é uma ferramenta capaz de trabalhar as funções de decodificações,
muito utilizadas na realização de conexão/informação entre diversos canais/operadores.

Sua placa está disposta de 2 circuitos integrados que executam tais funções:

• 1 CI 7442 - BCD TO DECIMAL DECODE

• 1 CI CD74HC147E - HIGH SPEED CMOS LOGIC 10-TO-4 LINE PRIORITY ENCODER

Utilizando o módulo XD200M02.02.01 ao circuito de sua escolha, você poderá trabalhar estas
principais funções digitais, ficando a cargo do usuário fazer as conexões e configurações necessárias
para cada experiência.
Cartões Digitais

Visão da placa

Figura 11.1: XD200M02.02.01 - Encoder e Decoder

ENCODER
Cartões Digitais

DECODER
Capı́tulo 12

Esquemas Elétricos

12.1 XD200M02.02.01
Cartões Digitais
Cartões Digitais

Capı́tulo 13

Registradores de Deslocamento

Um registrador de deslocamento ou ”shift-register ”no inglês, consiste num conjunto de flip-


flop’s que podem ser interligados de diversas formas, algumas delas são mostradas na figura a
seguir. Estes circuitos podem deslocar uma informação (bit) aplicada na entrada de uma posição
a cada pulso de clock.

Figura 13.1: Exemplos de montagem de alguns registradores de deslocamento.

Por exemplo, o bit um aplicado na entrada aparece na saı́da do primeiro flip-flop no primeiro
pulso de clock, depois se desloca, aparecendo na saı́da do segundo flip-flop no segundo pulso de
clock e assim por diante, até aparecer na saı́da do final da sequência.
Na configuração mostrada na figura 13.1, todos os flip-flop tipo D têm sua saı́da conectada à
entrada do flip-flop seguinte e todos eles são controlados pelo mesmo clock. Para entender como
funciona este circuito, vamos partir da situação inicial em que todos eles estejam desativados ou
com suas saı́das Q no nı́vel baixo. Inicialmente vamos aplicar à entrada de dados um nı́vel alto
(1).
Conforme podemos ver, esta entrada é feita pela entrada J do primeiro flip-flop (FF1). Com
a chegada do pulso de clock a este flip-flop, ele muda de estado e com isso ”armazena”o pulso
aplicado à entrada, o qual aparece em sua saı́da depois de um curto intervalo de tempo.
Veja que este sinal é armazenado com o flanco positivo do sinal de clock, quando então o
nı́vel alto deve estar presente na entrada do flip-flop. O intervalo de tempo que decorre entre
Cartões Digitais

a aplicação do sinal na entrada de dados e seu aparecimento na saı́da do flip-flop é da ordem


de alguns nanossegundos nos integrados das famı́lias lógicas comuns, mas é importante que em
muitas aplicações mais rápidas ele seja levado em conta.
No próximo pulso de clock, a entrada do primeiro flip-flop já não tem mais o nı́vel alto, e,
portanto FF1 não muda de estado. No entanto, na saı́da de FF1, temos nı́vel alto, e esta saı́da
está ligada à entrada do segundo flip-flop (FF2). Com isso, a chegada do segundo pulso de clock,
o nı́vel lógico a saı́da do primeiro se transfere para a saı́da do segundo depois de um pequeno
intervalo de tempo.
A sequência de bits aplicados à entrada aparece na saı́da depois de certo número de clock. Isso
significa que o bit um aplicado na entrada se ”deslocará”mais um pouco no circuito, passando
para a saı́da do segundo flip-flop. É claro que, se nessa segunda passagem, tivermos aplicado um
novo nı́vel um na entrada do circuito, ao mesmo tempo em que o primeiro se transfere para o
segundo flip-flop, o segundo se transfere para a saı́da do primeiro flip-flop.
Chegando agora um terceiro pulso de clock, teremos nova transferência e o nı́vel alto ou bit
um se transfere para a saı́da do flip-flop seguinte, ou seja, FF3. Em outras palavras, a cada pulso
de clock, os nı́veis existentes nas saı́das dos flip-flop’s, sejam eles zero ou um, se transferem para o
flip-flop seguinte. Assim, supondo que apliquemos em sequência, na entrada de um shift-register
como o indicado, os nı́veis 0101, teremos a seguinte sequência de condições de saı́da para um
shift-register que use quatro deles:

Clock Entrada FF1 FF2 FF3 FF4


Inı́cio 0 0 0 0 0
0 1 0 0 0 0
1 0 1 0 0 0
2 1 0 1 0 0
3 0 1 0 1 0
4 0 0 1 0 1

Tabela 13.1: Funcionamento do Shift-Register.

Veja então que no quinto pulso de clock, o primeiro pulso de clock, o primeiro nı́vel lógico,
aparece na saı́da do último flip-flop (FF4) e se lermos a saı́da dos flip-flop’s teremos registrado os
nı́veis aplicados na entrada: 0101(2) .
Com isso, vemos que aplicando um dado binário num shift-register, depois do número apro-
priado de pulsos de clock, ele pode armazenar este dado. Para retirar a dada em sequência, basta
continuar aplicando pulsos de clock ao circuito.
Veja então que para armazenar um dado de quatro bits num registrador devemos aplicar
quatro pulsos de clock e para ler em sequência, mais quatro pulsos de clock. Para ”apagar”os
dados registrados num shift-register, como o indicado, basta aplicar um pulso na entrada CLEAR.
Todos os flip-flop’s terão suas saı́das levadas ao nı́vel baixo ou zero.

13.1 Tipos de registradores de deslocamento


Dependendo da maneira como a informação entra e como ela pode ser obtida num registrador
de deslocamento, podemos ter diversas configurações que nos levam a muitos tipos de circuitos.
Cartões Digitais

Assim, existem circuitos em que temos uma entrada serial ou duas, e também podemos ter uma
ou duas linhas de saı́da. A seguir, veremos os principais tipos como suas denominações.

13.1.1 SISO - Serial-in/Serial-out:


Os dados foram aplicados à entrada do registrador na forma de nı́veis lógicos um atrás do
outro, acompanhando o sinal de clock. Dizemos que este registrador opera com a carga de dados
”serial”ou em série. Em outras palavras, este circuito tem entrada serial ou serial-in. Exatamente
como ocorre com a porta serial de um computador, o dado é ”enfileirado”e entram um após outro
e vão sendo armazenados em flip-flop’s. Este tipo de registrador de deslocamento já foi mostrado
na figura 13.1

13.1.2 PISO - Parallel-in/Serial-out


No entanto, existe uma segunda possibilidade de operação para os shift-registers, que é a de
operar com a entrada de dados em paralelo e sair com estes mesmos dados em série. Dizemos que
se trata de um shift-register com entrada paralela e saı́da serial.

Figura 13.2: Registrador de deslocamento PISO.

Analisemos como ele funciona: Os dados são colocados ao mesmo tempo na entrada, pois ela
opera em paralelo. Por exemplo, se vamos armazenar o dado 0110(2) , esses dados são aplicados
ao mesmo tempo nas entradas correspondentes (S) dos flip-flop’s. No primeiro pulso de clock, os
flip-flop’s ”armazenam”esses dados. Assim, os flip-flop’s que possuem nı́vel um em sua entrada S
passam esse nı́vel à saı́da (FFB, FFC). Por outro lado, os que possuem nı́vel zero na sua entrada,
mantêm este nı́vel na saı́da (FFA e FFD). Isso significa que, após o pulso de clock, as saı́das dos
flip-flop’s apresentarão os nı́veis 0110(2) .

13.1.3 SIPO - Serial-In/Parallel-out


Da mesma forma, podemos carregar os dados em série e fazer sua leitura em paralelo através
de Qa, Qb, Qc e Qd. Os registradores que operam desta forma podem ser também denominados
conversores série-paralela ou paralela-série, conforme o modo de funcionamento.
Cartões Digitais

Figura 13.3: Registrador de deslocamento SIPO.

13.1.4 PIPO - Parallel-in/Parallel-out


Estes são circuitos em que os dados são carregados ao mesmo tempo e depois lidos ao mesmo
tempo pelas saı́das dos flip-flop’s.

Figura 13.4: Registrador de deslocamento PIPO.

Os registradores de deslocamento podem ainda ser classificados quanto à direção em que os


dados podem ser deslocados. Dizemos que se trata do tipo shift-right, quando os dados são
deslocados para a direita e que se trata de um tipo shift-left, quando os dados são deslocados
somente para a esquerda. Existem ainda os tipos bidirecionais em que os dados podem ser
deslocados nas duas direções. Este é um registrador do tipo SISO.
Observa-se que o sentido de deslocamento é determinado por uma entrada que atua sobre
portas que modificam o ponto de aplicação dos sinais em todos os flip-flop’s, exatamente como
visto nos contadores up e down anteriores. Com a aplicação de um nı́vel lógico conveniente na
entrada LEFT/ RIGHT, podemos determinar o sentido de deslocamento dos dados no circuito.
Cartões Digitais

Capı́tulo 14

Caderno de Experiências

14.1 Aula Prática - Conversor BCD para 7 Segmentos


Objetivos:

• Analisar o funcionamento de decodificadores BCD para display de sete segmentos

Referências:

• Decodificador BCD para sete segmentos

Material Necessário:

• Módulo XD200M03.02.01

• Fios e cabos para conexões

Introdução:

Um decodificador é um circuito combinacional usado para ativar um entre m componentes. É


assumido que cada componente possui um ı́ndice entre zero e m-1, representado por um endereço
em binário. Um decodificador n:m (lê-se n por m ) possui n entradas e m saı́das, com m ≤ 2n . Se
tivermos um decodificador 3:8, serão 8 saı́das, onde cada saı́da é tida como um endereço diferente.
Para ativar uma dentre 8 saı́das são necessárias 3 variáveis de entrada (daı́ 3:8). Cada combinação
de entrada seleciona um e somente uma dentre as 8 saı́das, de modo que cada saı́da somente será
selecionada por uma das 8 combinações. Desta forma, é útil que se associe a cada saı́da um ı́ndice
decimal representando a combinação de entradas responsável pela sua ativação. Assumindo-se
ativação em lógica direta, isto é, que uma saı́da está ativada se ela vale um.

Questionário:

1. Qual a aplicação direta para o conversor BCD para 7 segmentos?

2. Qual a vantagem de usar um conversor BCD para 7 Segmentos integrado?


Cartões Digitais

Exercı́cios:

1. Implemente um display que visualize todas as combinações BCD utilizando o módulo XD200M03.02.01
do Kit (decodificador BCD - 7 segmentos). Verifique todas as saı́das para todas as entradas
possı́veis.

2. Ligue as saı́das da Chave BCD a entrada do conversor BCD para 7 segmentos do módulo
XD200M03.02.01, gere a tabela da verdade e explique porque estão limitados os dados a
apenas 10 algarismos.

Exercı́cios Propostos:

1. Explorar no conversor as 16 possibilidades de dados e apresentar a tabela da verdade.


Cartões Digitais

14.2 Aula Prática - Shift Register


Objetivos:

• Analisar o funcionamento dos registradores de deslocamento

• Montagem de conversores serial/paralelo e paralelo/serial

Referências:

• Registros de Deslocamento

Material Necessário:

• Módulo XD200M03.02.01

• Fios e cabos para conexões

Introdução:

Um registrador de deslocamento ou ”shift-register”, como também é chamado pelo termo em


inglês, consiste num conjunto de flip-flops que podem ser interligados de diversas formas. Estes
circuitos podem deslocar uma informação (bit) aplicada na entrada de uma posição a cada pulso
de clock. Por exemplo, o bit um aplicado na entrada aparece na saı́da do primeiro flip-flop no
primeiro pulso de clock, depois se desloca, aparecendo na saı́da do segundo flip-flop no segundo
pulso de clock e assim por diante, até aparecer na saı́da do final da seqüência. Um registrador
de deslocamento utiliza geralmente flip-flop do tipo D que tem sua saı́da conectada à entrada do
flip-flop D seguinte e todos eles são controlados pelo mesmo CLOCK. Veja então que para arma-
zenar um dado de quatro bits num registrador devemos aplicar quatro pulsos de clock e para ler
em seqüência, mais quatro pulsos de clock. Para ”apagar”os dados registrados num shift-register,
como o indicado, basta aplicar um pulso na entrada CLEAR, apagando todas as informações
armazenadas nos flip-flops.

Questionário:

1. Quais são os tipos de registradores de deslocamento mais utilizados?

2. Cite um exemplo prático de aplicação das propriedades do shift-register.

Exercı́cios:

1. Implemente no kit um shift-register SIPO de oito bits usando o módulo XD200M03.02.01.

2. Implemente no kit um shift-register SISO de oito bits usando o módulo XD200M03.02.01.

3. Implemente no kit um shift-register PISO de oito bits usando o módulo XD200M03.02.01.

Exercı́cios Propostos:

1. Projete um shift-register SIPO de quatro bits usando flip-flops.

2. Projete um shift-register SISO de quatro bits usando flip-flops.

3. Projete um shift-register PISO de quatro bits usando flip-flops.


Cartões Digitais
Cartões Digitais

Capı́tulo 15

Manual de Operação e Manutenção

Importante
• Para um completo entendimento do funcionamento do módulo, consulte seu esquema elétrico
e manual dos componentes, ambos presentes no CD que acompanha o kit.

15.1 Hardware
O módulo XD200M03.02.01 está apto a trabalhar as principais configurações de circuitos Shift
Registers. Dependendo da maneira como você queira, a informação pode ter diversas configurações
que nos levam a muitos tipos de circuitos. O módulo contém também um circuito decodificador
BCD/7 Segmentos.

Sua placa está disposta de 3 circuitos integrados e um display de 7 segmentos que


executam tais funções:

• 2 CI’s 74LS194 - BIDIRECTIONAL UNIVERSAL SHIFT REGISTER

• 1 CI 74HCT4511 - BCD TO 7SEG lATCH/DECODER/DRIVER

• 1 Display 7 SEG/CATODO COMUM

Utilizando o módulo XD200M03.02.01 ao circuito de sua escolha, você poderá trabalhar estas
principais funções digitais, ficando a cargo do usuário fazer as conexões e configurações necessárias
para cada experiência.
Cartões Digitais

Visão da placa

Figura 15.1: XD200M03.02.01 - Registrador de deslocamento e decodificador BCD/7 segmentos

Registros de Deslocamento:
Cartões Digitais

Decodificador BCD / 7 Segmentos


Capı́tulo 16

Esquemas Elétricos

16.1 XD200M03.02.01
Cartões Digitais
Cartões Digitais
Cartões Digitais

Capı́tulo 17

Circuitos Aritméticos

Um circuito combinacional aritmético executa operações aritméticas como adição, subtração,


multiplicação e divisão com números binários. A operação aritmética mais simples é a adição de
dois dı́gitos binários, que consiste de quatro possı́veis operações elementares. As três primeiras
operações produzem um dı́gito de soma. Entretanto, quando ambos os operandos são iguais a
1, são necessários dois dı́gitos para expressar seu resultado. Neste caso, o transporte (vai-um ou
carry, em inglês) é somado ao próximo par mais significativo de bits. Um circuito combinacional
que implementa a adição de dois bits é chamado meio-somador (half adder, em inglês). Um
circuito que implementa a adição de três bits (dois bits significativos e um carry) é chamado
de somador completo (full adder, em inglês). Estes nomes decorrem do fato de que com dois
meio-somadores pode-se implementar um somador completo. O somador completo é um circuito
aritmético básico a partir do qual todos os outros circuitos aritméticos são construı́dos.

17.1 Meio Somador (Half Adder) e Somador Completo (Full Ad-


der)
A operação aritmética mais simples é a adição de dois dı́gitos binários (bits), a qual pode
ser vista como a adição de dois números binários de um bit cada. Considerando-se todas as 4
combinações de valores que podem ocorrer, os resultados possı́veis dessa adição são: 0 + 0 = 0;
0 + 1 = 1; 1 + 0 = 1; 1 + 1 = 10.
Repare que no último caso acima, o resultado da adição é o valor dois, que em binário necessita
de dois dı́gitos para ser representado (10(2)). No caso, um circuito lógico aritmético para realizar
a adição de dois bits deve operar corretamente para qualquer combinação de valores de entrada.
Isso significa que o circuito para a adição de dois bits deve possuir duas entradas e duas saı́das,
conforme ilustrado na figura a seguir.

Figura 17.1: Disposição de entradas e saı́das de um meio somador.

Denomina-se meio-somador a operação de adição de dois bits. O circuito mostrado na figura


Cartões Digitais

17.1 é denominado meio somador (half adder, em inglês). As duas entradas, A e B, representam
os dois bits a serem adicionados. A saı́da S representa o dı́gito menos significativo do resultado,
enquanto que a saı́da S representa o dı́gito mais significativo do resultado, o qual também é
conhecido por transporte de saı́da (carry out, em inglês). Uma vez que ele assume valor um
somente quando o resultado da soma de A e B não pode ser representado num único dı́gito.
A fim de se projetar o circuito do meio somador, devemos montar uma tabela verdade para
as saı́das S e C utilizando-se os valores que resultam da adição de dois dı́gitos binários, da forma
a seguir:

A B S C
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1

Tabela 17.1: Tabela verdade de um meio somador.

Note que a saı́da S nada mais é do que uma operação OU - Exclusivo entre A e B. Já a saı́da C
é o E entre A e B. Então, um circuito para o meio somador usa apenas uma porta OU - Exclusivo
de duas entradas e uma porta E de duas entradas.

Figura 17.2: Representação de um meio somador.

Entretanto, quando ao somarmos dois números binários que possuem mais de um dı́gito cada
ocorrer transporte diferente de zero para a soma de um par de dı́gitos intermediários, a soma
do par seguinte deverá considerar esse transporte proveniente do par anterior, conforme ilustra o
exemplo a seguir.

Figura 17.3: Adição de dois números binários de quatro dı́gitos.

O circuito capaz de realizar a soma de três bits (A, B e Cn ), gerando o resultado em dois bits (S
e C) é denominado somador completo (full adder, em inglês). Apesar da entrada Cn normalmente
Cartões Digitais

receber o transporte proveniente da soma imediatamente anterior (carry in, em inglês), a rigor as
três entradas são absolutamente equivalentes sob o ponto de vista funcional. A tabela verdade
para a soma completa é mostrada a seguir, juntamente com o mapa de Karnaugh e as equações
mı́nimas resultantes para S e Cn+1 . A seguir temos um circuito para o somador completo.

Figura 17.4: Mapa K (Karnaugh) de um somador completo.

Figura 17.5: Esquema lógico de um somador completo.

Este circuito lógico representa um somador completo sendo representado por portas lógicas
simples. Esta soma é de somente dois bits, entretanto seria inviável se toda vez que fosse fazer
um circuito somador de 4 bits fosse necessário o uso de tantas portas lógicas. Com isso, depois
de aplicar a tabela verdade do circuito no mapa de karnaugh, podemos ver que o seu circuito fica
simplificado.

Figura 17.6: Diagrama lógico simplificado de um somador completo.

17.1.1 Somador Paralelo Tipo Ripple Carry


Utilizando-se n somadores completos, pode-se realizar um somador capaz de operar dois
números binários de n bits. Particularmente, o dı́gito de ordem i do resultado, Si, será ob-
Cartões Digitais

tido pela adição de Ai , Bi e Ci , onde Ci é o transporte proveniente do dı́gito anterior. O somador


de ı́ndice i recebe como entradas Ai , Bi e Ci , gerando a soma Si e o valor de transporte Ci+1 ,
o qual será entrada para o somador completo do dı́gito seguinte (i+1). Uma forma de facilitar
a visualização do somador seria colocá-lo representada da mesma forma como foi representado o
meio somador.

Figura 17.7: Representação gráfica de um somador completo.

Figura 17.8: Representação gráfica de um somador paralelo de 4 bits.

Repare que o somador completo mais a direita, podendo também ser chamado de FAD0
(Full Adder 0), também possui uma entrada Cin. Como inicialmente não existe um valor de
transporte a ser somado aos dı́gitos menos significativos, A0 e B0 , esta entrada deverá estar
constantemente ligada a zero, através do terra do circuito. Já a saı́da de transporte Cout do dı́gito
mais significativo, serve para indicar se o resultado da adição entre A e B pode ser representado
em quatro bits ou cinco bits. Caso o resultado não possa ser representado em quatro bits, Cout
irá exibir o valor 1; Essa situação é chamada de overflow.
Observe também que, uma vez que um novo par de valores A e B é fornecido ao circuito
somador, as últimas duas saı́das a se estabilizarem são S3 e o Cout mais a esquerda, uma vez
que estas dependem de Cout do anterior, sendo este dependente da estabilização de Cout do seu
anterior e assim por diante. Desta forma, pode-se aproximar o atraso deste somador como sendo
proporcional ao número de estágios (número de somadores completos em cascata). Com efeito, a
propagação do transporte ou carry ao longo da cadeia de somadores é o ponto fraco deste tipo de
somador. Existem outros tipos de somadores capazes de operar mais rapidamente, mas que não
serão abordados aqui.
A construção de um somador para operar dois números binários de n bits requer o uso de n so-
madores completos, conectados segundo a mesma topologia mostrada na figura 17.5 É importante
ressaltar que tal somador pode operar dois números inteiros quaisquer, positivos ou negativos,
desde que ambos estejam representados em complemento de 2.
Cartões Digitais

17.1.2 Somador/Subtrator
A subtração de dois números inteiros em binário pode ser feita utilizando-se a seguinte fórmula:

S =A−B =A+B+1 (17.1)

Onde todas as operações são aritméticas, exceto , que representa a complementação de B, bit
a bit. A figura a seguir mostra um circuito somador/subtrator de quatro bits. Esse circuito é
originado do somador paralelo de quatro bits, porém com a adição de portas ou-exclusivo nas
entradas associadas a B, de modo a permitir a negação individual de cada bit de B.

Figura 17.9: Representação de um somador/subtrator de quatro bits.

A tabela que segue mostra o funcionamento deste circuito, em função dos sinais de controle
seletor e Carry in A.

r Carry in A Operação Descrição


0 0 S= A + B + 0 Soma de A e B sem carry
1 1 S= A + B + 1 Subtrai A e B com carry

Tabela 17.2: Tabela de funcionamento do somador/subtrator.

O exemplo do que ocorre com o somador paralelo apresentado na seção anterior, também o
somador/subtrator pode operar dois números inteiros quaisquer, positivos ou negativos, desde
que tais números estejam representados em complemento de dois.
Caso os dois números a serem operados estivessem representados em sinal-magnitude, por
exemplo, seria necessário existir um circuito para testar o sinal de cada número e comparar as
magnitudes, para só então realizar a soma ou a subtração. Como isso representaria a necessidade
de um hardware mais complexo, e possivelmente mais caro e mais então, a representação em
complemento de dois é dominantemente utilizada nos computadores atuais.
O uso do complemento dois significa a soma do bit ”1”a uma palavra em complemento um.
E ainda a palavra em complemento um significa que ela tem seus bits invertidos, ou seja, se na
palavra original era ”1”com o complemento passará a ser ”0”.

17.2 Comparador de Magnitude


Existem circuitos capazes de comparar valores binários e apresentar informações sobre eles.
Esses circuitos são chamados somadores e apresentam em suas saı́das valores que indicam se dois
valores de entrada são iguais ou não e, não sendo, qual dos dois é maior.
Cartões Digitais

Em primeiro lugar, a verificação de que dois valores são iguais é feita usando a propriedades
da por ta não-ou-exclusiva. Conforme pode ser observado na tabela abaixo, quando os dois bits
de entrada são iguais, a saı́da é ’1’.

A B S
0 0 1
0 1 0
1 0 0
1 1 1

Assim sendo, para comparar dois valores basta aplicar os bits correspondentes das duas pa-
lavras em portas não-ou-exclusivas e aplicar o resultado de todas as portas em uma porta ”E”.
Abaixo temos um exemplo de circuito para comparar se dois valores de 4 bits (A e B) são iguais,
apresentando ’1’ na saı́da ”A=B”caso sejam.

Figura 17.10: Comparador de igualdade de palavras 4 bits

Já para identificar qual dentre dois valores A e B de 4 bits é maior, usa-se o seguinte raciocı́nio:

1. Se o bit mais significativo A.3 é 1 enquanto B.3 é 0, A > B;

2. Senão, se o bit A.2 é 1 enquanto B.2 é 0, A > B;

3. Senão, se o bit A.1 é 1 enquanto B.1 é 0, A > B;

4. Senão, se o bit A.0 é 1 enquanto B.0 é 0, A > B;

5. Senão, temos A = B ou A <B;

Esse mesmo raciocı́nio pode ser aplicado para quantos bits se queira comprar e pode ser
implementado através de circuitos combinacionais.
Um exemplo de circuito integrado para comparar valores de 8 bits é o 74682, cujo circuito
interno é apresentado a seguir.
Cartões Digitais

Figura 17.11: Diagrama interno do integrado 74682.

17.3 Unidade Lógica Aritmética


Como se pode observar, à medida que a complexidade das operações matemáticas é maior os
circuitos necessários aumentam. Isso ocorre também com o aumento do número de bits envolvidos
na operação. Para solucionar esses problemas foram desenvolvidos circuitos integrados capazes de
realizar diversas operações lógicas e aritméticas, envolvendo palavras de 4 ou 8 bits. Esse circuito
é chamado de ULA - Unidade Lógica Aritmética (em inglês ALU - Arithmetic Logic Unit). Por
esse nome também se designa o blocos interno responsável por operações lógicas e aritméticas em
processadores e microcontroladores.
Uma ULA tipicamente tem duas palavras de entrada (4 ou 8 bits) e uma palavra de saı́da
(4 ou 8 bits, respectivamente). A seleção da operação a ser realizada é feita através de entradas
com esses fins. Adicionalmente, podem ser encontradas saı́das que indicam se o resultado é igual
a zero, se ouve estouro da capacidade de representação, comparação se os valores de entrada são
iguais, qual o maior, etc...
Cartões Digitais

Quando se trata de operações aritméticas, as palavras de entradas são consideradas como


valores inteiros, isto é, internamente existe carry que o resultado de um bit influencie o resultado
do seguinte. No caso das operações lógicas, os bits são tratados individualmente, respeitando-se
apenas a posição dos bits nas duas palavras.
Como exemplo de circuito integrado ULA, temos a 74181, capaz de realizar operações de soma,
subtração, OU, E, OU-Exclusivo, complemento (inversão dos bits) com palavras de 4 bits. Além
disso, o componente também informa se as duas palavras de entrada são iguais, se houve estouro
da capacidade de representação e possui entrada e saı́da de carry (para ligação em cascata).
Cartões Digitais

Capı́tulo 18

Caderno de Experiências

18.1 Aula Prática - Módulo ALU Comp. Magnitude


Objetivos:

• Analisar a utilização prática do módulo ALU Comp. Magnitude

Referências:

• Circuitos Aritméticos

Material Necessário:

• Módulo XD200M04.02.01

• Fios e cabos para conexão

Introdução:

Como se pode observar, à medida que a complexidade das operações matemáticas é maior os
circuitos necessários aumentam. Isso ocorre também com o aumento do número de bits envolvidos
na operação. Para solucionar esses problemas foram desenvolvidos circuito integrados capazes de
realizar diversas operações lógicas e aritméticas, envolvendo palavras de 4 ou 8 bits. Esse circuito
é chamado de ULA - Unidade Lógica Aritmética (em inglês ALU - Arithmetic Logic Unit). Por
esse nome também se designa o blocos interno responsável por operações lógicas e aritméticas em
processadores e microcontroladores.
Uma ULA tipicamente tem duas palavras de entrada (4 ou 8 bits) e uma palavra de saı́da
(4 ou 8 bits, respectivamente). A seleção da operação a ser realizada é feita através de entradas
com esses fins. Adicionalmente, podem ser encontrados saı́das que indicam se o resultado é igual
a zero, se ouve estouro da capacidade de representação, comparação se os valores de entrada são
iguais, qual o maior, etc...
Quando se trata de operações aritméticas, as palavras de entradas são consideradas como
valores inteiros, isto é, internamente existe carry que o resultado de um bit influencie o resultado
do seguinte. No caso das operações lógicas, os bits são tratados individualmente, respeitando-se
apenas a posição dos bits nas duas palavras.
Cartões Digitais

Questionário:

1. Execute as seguintes operações (quando ocorrem valores negativos, utilize a notação com-
plemento 2):

(a) ABh + CAh


(b) BBh + AAh
(c) EAh + FBh
(d) ABh - CAh
(e) BBh - AAh
(f) EAh - FBh
(g) ABh and CAh
(h) BBh and AAh
(i) EAh and FBh
(j) ABh xor CAh
(k) BBh xor AAh
(l) EAh xor FBh

Exercı́cios

1. Utilizando o módulo XD200M04.02.01 realize as operações a seguir e anote os resultados.


Dicas:

• Leia com atenção o manual da ALU 74LS181. Em sua tabela da verdade, faça a análise
usando sempre lógica não-invertida (high)
• O módulo possui duas ALUs agrupadas. Para esse exercı́cio utilize apenas uma, apli-
cando os sinais de A0 a A3 e de B0 a B3

(a) Soma: A+B


i)2+3=
ii)8+8=
iii)=5+4=

(b) Subtração: A-B


i)3-2
ii)2-3
iii)7-7

(c) E: A and B
i) 2 + 3 =
ii) 8 + 8 =
iii)5 + 4 =
Cartões Digitais

(d) Ou-Exclusivo: A xor B


i) 3 - 2 =
ii) 2 - 3 =
iii) 7 - 7 =

2. Utilizando o comparador de magnitude do módulo XD200M04.02.01 (74LS82) realize a


comparação entre os valores a seguir, anotado o resultado de P>Q e P=Q e interpretando
se A>B, A<B ou A = B.

Exercı́cios Propostos

1. Utilizando o módulo XD200M04.02.01 realize as operações a seguir e anote os resultados.


Dica: o módulo possui duas ALUs agrupadas. Para esse exercı́cio utilize as duas
em conjunto. Para tanto a chave ”CN-CN+4”deve estar na posição ON.

2. Pesquise o comparador de magnitude 74LS85 e preencha a tabela abaixo conforme os resul-


tados que serial obtidos.
Cartões Digitais
Cartões Digitais

Capı́tulo 19

Manual de Operação e Manutenção

Importante
• Para um completo entendimento do funcionamento do módulo, consulte seu esquema elétrico
e manual dos componentes, ambos presentes no CD que acompanha o kit.

19.1 Hardware
O módulo XD200M04.02.01 será de grande utilidade na aplicação de circuitos combinacionais
de lógicas aritméticas. Composto por circuitos integrados capazes de realizar essas operações, ele
irá explorar a ALU (Unidade Lógica Aritmética).

Sua placa está disposta de 3 circuitos integrados com suas respectivas carac-
terı́sticas:

• 1 CI SN74LS682DW - 8 BIT MAGNITUDE COMPARATORS

• 2 CI’s SN74LS181DW - ARITHMETIC LOGIC UNITS/FUNCTION GENERATORS

Utilizando o módulo XD200M04.02.01 ao circuito de sua escolha, você poderá trabalhar estas
principais funções digitais, ficando a cargo do usuário fazer as conexões e configurações necessárias
para cada experiência.
Cartões Digitais

Visão da placa

Figura 19.1: XD200M04.02.01 - ALU e Comparador de Magnitude

Obs.: Os bits A de 0 a 3 e B de 0 a 3 estão ligados a U1 enquanto os bits A de 4 a 7 e B de 4


a 7 estão ligados a U2.
Cartões Digitais

Obs.: saı́das baixo ativas


Capı́tulo 20

Esquemas Elétricos

20.1 XD200M04.02.01

1 2 3 4

CARRY
Inputs A Inputs B
A0 B0 TP1

TP2 TP3
A
A1 B1 P G A
5V 5V
TP4 TP5 IC1 IC2

TP6

TP7
A2 B2 CN.1 7 24 CN.2 7 24
Cn VCC Cn VCC
12 12
GND GND
TP8 TP9 S0 6 16 CN+4.1100nF
C1 S0 6 16 100nF
C2
S0 Cn+4 S0 Cn+4
A3 B3 S1 5 S1 5
S1 S1
S2 4 GND S2 4 GND
S2 S2
TP10 TP11 S3 3 17 S3 3 17
S3 G S3 G
A4 B4 M1 8 15 M1 8 15
M P M P
14 5V 14 5V
A=B A=B
TP12 TP13 A0 2 A4 2
A0 A0
A5 B5 B0 1 9 R1 1K 5% B4 1 9 R2 1K 5%
B0 F0 B0 F0
A1 23 F0 A5 23 F4
A1 1K 5% A1
TP14 TP15 B1 22 10 R3 B5 22 10 R4 1K 5%
B1 F1 B1 F1
A6 B6 A2 21 F1 A6 21 F5
A2 1K 5% A2
B2 20 11 R5 B6 20 11 R6 1K 5%
B2 F2 B2 F2
TP16 TP17 A3 19 F2 A7 19 F6
A3 1K 5% A3
A7 B7 B3 18 13 R7 B7 18 13 R8 1K 5%
B3 F3 B3 F3
F3 F7
B B
TP18 TP19 74LS181 74LS181

IC3
B0 2
P0
B1 4
P1
B2 6
Alimentação P2
B3 8
P3 B=A
-12 B4 11 5V
P4
TP20 B5 13 19 CH1
P5 P=Q
F0 B6 15 1 8 S0 R9 1K 5%
P6
+12 B7 17 TP21 2 7 S1 R10 1K 5%
P7
TP23 TP22 3 6 S2 R11 1K 5%
F1 A0 3 4 5 S3 R12 1K 5%
Q0 B>A
+5 A1 5
Q1
TP25 TP24 A2 7 1
Q2 P>Q
F2 A3 9 5V GND
Q3
A4 12 TP26 CH2
C Q4 C
TP28 TP27 A5 14 20 1 8 M1 R13 1K 5%
Q5 VCC
F3 A6 16 10 2 7 CN.1 R14 1K 5%
Q6 GND
A7 18 3 6 CN.2 R15 1K 5%
100nF

Q7
TP29 CN+4.1 R16 100R 5% 4 5
C3

F4 74LS682
GND
TP30
F5
GND
TP31
F6 Espaçador
TP32
F7
TP33
TP34
Title:
TP35 ALU e COMP. MAGNITUDE
Size: Projeto: Rev.:
D D
XD200MB04.02.01.RevH.PrjPcb
TP36 A4 Approved by: G
Caroline M Monti
Date: Drawn By:
TP37 10/06/2015 Mário Augusto Mota
Filename: Sheet:
XD200MB04.02.01.RevH.SchDoc 1 of 1
1 2 3 4
Cartões Digitais
Cartões Digitais

Capı́tulo 21

Contadores

Quando usamos a eletrônica digital, devemos separar os circuitos lógicos sem sincronismo da-
queles que possuam algum tipo de sincronismo externo, ou seja, que usam um sinal de CLOCK.
Existem aplicações em que tudo o que importa para o circuito é fazer uma operação com de-
terminados nı́veis lógicos aplicados à sua entrada, quando eles estão presentes, não importando
quando isso ocorra. Tais circuitos não precisam de sincronismo algum e são mais simples de serem
utilizados.
No entanto, com circuitos muito complexos, como os utilizados em computadores, o instante
em que uma operação deve ser realizada é muito importante e isso implica em que os circuitos
devam ser habilitados no instante em que os nı́veis lógicos são aplicados em sua entrada. Isso
significa que tais circuitos devem ser sincronizados por algum tipo de sinal vindo de um circuito
externo. E este circuito nada mais é do que um oscilador que produz um sinal de clock ou relógio.
Os circuitos que operam com estes sinais são denominados circuitos com lógica sincronizada ou
contadores. Os contadores são dispositivos lógicos cuja função é realizar a contagem binária, seja
em ordem crescente ou decrescente. Para os contadores temos então diversas classificações que
levam em conta estes e outros fatores, por exemplo:

1. Classificação com relação ao sincronismo: Os contadores podem ser assı́ncronos,


quando existe o sinal de clock aplicado apenas ao primeiro estágio. Os estágios seguin-
tes utilizam como sinal de sincronismo a saı́da de cada estágio anterior. Estes contadores
também são denominados ”Ripple Counters”. Os contadores também podem ser sı́ncronos,
quando existe um sinal de clock único externo aplicado a todos os estágios ao mesmo tempo.

2. Classificação com relação ao modo de contagem: Os contadores podem ser progres-


sivos ou crescentes, quando contam numa sequência de números crescentes, ou seja, dos
valores mais baixos para os mais altos, como (1, 2, 3, 4...). São também chamados em inglês
de ”up-counters”. Os contadores podem ser regressivos ou decrescentes, quando a contagem
é feita dos valores mais altos para os mais baixos como (4, 3, 2, 1...), também chamados de
”down-counters”. Se bem que possamos fazer contadores usando funções lógicas comuns e
mesmo flip-flop’s discretos, podemos contar na prática com circuitos integrados em lógica
TTL ou CMOS que já possuam contadores completos implementados.
Cartões Digitais

21.1 Contador Assı́ncrono


Conforme explicamos, neste tipo de contador, o sinal de clock é aplicado apenas ao primeiro
estágio, ficando os demais sincronizados pelos estágios anteriores. Temos a estrutura básica de um
contador deste tipo usando flip-flop’s do tipo JK. Usamos três estágios ou três flip-flop’s ligados
de tal forma que a saı́da Q do primeiro serve de clock para o segundo, e a saı́da Q do segundo
serve de clock para o terceiro. Sabemos que os flip-flop’s ligados da forma indicada funcionam
como divisores de frequência. Assim, o sinal de clock aplicado ao primeiro tem sua frequência
dividida por dois.

Figura 21.1: Contador assı́ncrono.

A frequência estará dividida por quatro na saı́da do segundo e por oito na saı́da do terceiro.
Mas, se elaborarmos uma tabela verdade com os nı́veis lógicos obtidos na saı́da de cada um dos
flip-flop’s, a cada pulso do clock aplicado, a partir do instante em que todas as saı́das sejam zero,
teremos algo interessante a considerar:

Clock Qc Qb Qa
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1

Tabela 21.1: Tabela verdade de um contador assı́ncrono.

Veja que a seqüência de valores obtidos 000, 001, 010, 011, 100, 101, 110 e 111 corresponde
justamente à contagem em binário dos pulsos de zero até sete. Isso significa que este circuito
conta os pulsos de entrada e fornecem saı́das que é a representação binária desta contagem.
Veja também que ele faz a contagem crescente, ou seja, de zero até sete. Se, em lugar de três
flip-flops, usarmos quatro, teremos a contagem de 0000 a 1111, ou seja, uma contagem crescente
de zero a quinze pulsos. Oito desses flip-flops ligados em série podem contar até 256 pulsos e com
isso fornecer uma saı́da de 8 bits ou 1 byte.
Vamos supor agora que em lugar de usarmos como saı́das de contagem as saı́das Q de todos os
flip-flop, usássemos as saı́das complementares Q’. É fácil perceber que, partindo da situação em
Cartões Digitais

que todos os flip-flops estejam resetados, a tabela verdade obtida terá nas saı́das os complementos
da tabela anterior. Esta tabela será:

Clock Qa Qb Qc Valor Binário


0 1 1 1 7
1 1 1 0 6
2 1 0 1 5
3 1 0 0 4
4 0 1 1 3
5 0 1 0 2
6 0 0 1 1
7 0 0 0 0

Tabela 21.2: Tabela verdade de um contador assı́ncrono decrescente.

Portanto, este contador fornece em sua saı́da, valores binários que correspondem à contagem
decrescente dos pulsos de entrada, partindo de sete. Trata-se de um contador decrescente ou
DOWN COUNTER. Como no caso anterior, se tivermos mais flip-flop’s, podemos contar a partir
de valores mais altos. Com quatro flip-flop’s podemos partir a contagem de quinze e com oito
flip-flop’s, de 255. Veja que a quantidade máxima que podemos contar com um contador deste
tipo depende da quantidade de flip-flop’s usados.
Um problema que ocorre com este tipo de flip-flop é que cada um precisa de certo tempo
para mudar de estado. Isso significa que à medida que usamos mais flip-flop’s em seqüência
num contador, os tempos de mudança de estado são somados e o conjunto precisa cada vez de
mais tempo para chegar ao estado final desejado. Se aplicarmos um novo pulso de clock para
contagem à entrada do circuito, antes de ocorrer a mudança de estado do conjunto, pode ocorrer
um funcionamento errático. Assim, a freqüência máxima de operação de um contador é dada pelo
tempo necessário para cada estágio mudar de estado multiplicado pelo número de estágios usados
no contador.

21.2 Contagem Programada ou Contagem com Armadilha


Conforme vimos, os ciclos de contagem dos circuitos dados como exemplos no item anterior
são sempre potências de dois, ou seja, são circuitos que contam até 2, 4, 8, 16, 32 etc. O que fazer
se precisarmos de um circuito que tenha um ciclo de contagem diferente desses valores, que não
seja uma potência de 2? Podemos usar a entrada CLEAR para reiniciar a contagem, zerando-a,
quando chegar ao valor desejado. Por exemplo, podemos reiniciar a contagem depois do cinco
se quisermos um contador que conte de zero a cinco, ou seja, que tenha seis estados de saı́da,
conforme a tabela verdade dada a seguir:
Cartões Digitais

Clock Qc Qb Qa
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6(estado instável) 0 0 0

Tabela 21.3: Tabela verdade de um contador módulo cinco.

No sexto pulso que corresponde ao estado 110(2) , o circuito vai a um estado que ativa a entrada
clear e leva todos os flip-flop’s a serem resetados. Para este circuito a solução é simples. Veja que
a situação em que devemos ter a volta à zero da contagem e, portanto, a ativação da linha CLR
(clear) ocorre com uma única combinação de sinais: QC e QB no nı́vel alto. Se usarmos flip-flop’s
que tenham entradas ”clear”ativadas pelo nı́vel alto, basta usar uma porta AND de duas entradas
com as entradas ligadas nas saı́das QB e QC e a saı́da na linha comum de CLEAR de todos os
flip-flop’s, conforme abaixo.

Figura 21.2: Contador assı́ncrono de módulo seis.

Se os flip-flop’s usados tiverem um clear ativado no nı́vel baixo, basta usar uma porta NÃO-E
em lugar de E. Se quiséssemos um contador até quatro, por exemplo, o estado em que deveria
ocorrer a ativação da entrada clear ocorreria com a quinta combinação de saı́das, 101(2) , o que
significa QC=1 e QA=1. Bastaria então ligar as entradas da porta E nessas saı́das, conforme a
figura.
Seguindo a mesma analogia dos circuitos anteriores, observe que, quando as saı́das chegarem
ao estado 110(2) , que seria a contagem do sexto pulso no circuito da figura 21.3, um pulso de
reset de curta duração é produzido. Esta curta duração é dada justamente pelo tempo que os
flip-flop’s demoram a mudar de estado resetando, pois eles ”realimentam”as entradas da porta
E. Nos exemplos dados, fizemos a programação da contagem usando as entradas de clear de cada
flip-flop.
Uma outra maneira de projetarmos um contador consiste em usarmos as entradas ”preset”em
lugar de ”clear”. Para isso fazemos com que, no momento em que for atingida a contagem do
valor imediatamente anterior àquele em que deve ocorrer a volta a zero, ou seja, n-1, em lugar de
termos a comutação dos flip-flop’s, tenhamos a ativação das entradas de ”preset”. Desta forma,
Cartões Digitais

Figura 21.3: Contador assı́ncrono de modulo cinco.

no pulso seguinte de clock teremos a volta a zero (reset) do contador. Para um contador de seis
estados, que depois do quinto pulso reseta, teremos a seguinte tabela verdade.

Pulsos Qc Qb Qa
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
- x x x O Preset é acionado
6 0 0 0 Volta a Zero na transição de clock
7 0 0 1

Tabela 21.4: Tabela verdade de um contador de módulo usando preset.

Veja que a detecção da condição de produção do pulso de ”preset”deve ser reconhecida com os
nı́veis 101(2) nas saı́das dos estágios dos contadores e com o pulso indo ao nı́vel alto na entrada de
contagem. Para obtermos a configuração 1111(2) que nos permitiria usar uma porta E de quatro
entradas, basta levar em conta a saı́da QB’ em lugar de QB. Assim, basta usar a porta E e ligá-la
nas entradas de ”preset”dos flip-flop’s. Se as entradas forem ativadas no nı́vel baixo (PR’), basta
trocar a porta E por uma porta NÃO-E de quatro entradas.

21.3 Contadores Up/Down (Progressivos e Regressivos)


Usando alguns artifı́cios, como por exemplo, porta apropriada, é possı́vel programar um con-
tador de modo que ele tanto conte progressivamente como regressivamente. Usando 3 estágios,
podemos ter um contador UP/DOWN. Uma entrada (UP/DOWN) pode ser usada para determi-
nar o sentido da contagem. Trata-se de uma entrada seletora de dados ou DATA SELECTOR,
que pode ser usada para mudar o modo de funcionamento dos estágios deste circuito.

• Funcionamento: Se usarmos as saı́das Q dos flip-flop’s de um contador, a contagem será


crescente, mas se usarmos as saı́das Q’, a contagem será decrescente. Assim, o que fazemos
é colocar um circuito seletor nessas saı́das, de tal modo que ele coloque a saı́da Q de todos
os flip-flop’s na entrada de clock do seguinte, quando a contagem deve ser progressiva, e
coloque a saı́da Q’ na entrada do seguinte, quando na contagem decrescente. Três portas
NÃO-E para cada estágio podem fazer isso a partir do sinal de comando UP/DOWN.
Cartões Digitais

Figura 21.4: Contador Up/Down.

21.4 Contadores Sı́ncronos


Sincronizar a contagem por um clock único aplicado a todos os estágios não é apenas uma
necessidade dos circuitos mais complexos, principalmente, os usados em Informática e Instru-
mentação. O sincronismo de todos os estágios pelo mesmo clock tem ainda vantagens operacionais
importantes. Conforme vimos, nos contadores assı́ncronos, os tempos de comutação dos flip-flops
influem no funcionamento final do circuito, pois eles são cumulativos.
Em outras palavras, cada estágio precisa esperar o anterior completar a operação antes de
iniciar a sua. Usando lógica sincronizada, ou seja, um contador em que todos os estágios são
sincronizados por um clock único, este problema não existe e podemos ter contadores muito mais
rápidos, na verdade, contadores cuja velocidade independe do número de etapas.
Para mostrar como isso pode ser feito, vamos tomar como exemplo o circuito da figura 9.5.
Este circuito utiliza flip-flops tipo JK ligados de uma forma denominada PARALLEL CARRY.
Nesta forma de ligação, J e K do primeiro flip-flop são mantidas no nı́vel alto por meio de um
resistor ligado ao positivo da alimentação (Vcc). Assim, o primeiro flip-flop muda de estado a
cada pulso de clock. No entanto, J do segundo flip-flop está ligado à saı́da Q do primeiro.

Figura 21.5: Contador sı́ncrono.

Isso significa que o segundo flip-flop só mudará de estado quando o primeiro flip-flop for
resetado, ou seja, a cada dois pulsos de clock. Da mesma forma, com o uso de uma porta E, o
terceiro flip-flop só vai mudar de estado quando as saı́das Q do primeiro e segundo flip-flop forem
ao nı́vel um, ou seja, a cada quatro pulsos de clock.
Cartões Digitais

Para quatro bits, utilizando quatro estágios podemos ter um problema que ocorre com este
tipo de configuração, pois é que a partir de três estágios, a cada estágio que acrescentamos no
contador devemos adicionar uma porta E cujo número de entradas vai aumentando. Assim, para
quatro estágios, a porta deve ter três entradas, para cinco estágios, quatro entradas e assim por
diante. Uma maneira de não termos este problema consiste em usar uma configuração diferente
de contador apresentada abaixo e denominada RIPPLE CARRY.

Figura 21.6: Contador RIPPLE CARRY.

Neste circuito as portas usadas sempre precisam ter apenas duas entradas, o que é importante
para a implementação prática do contador. No entanto, como desvantagens deste circuito, têm
uma limitação da velocidade de operação, pois como o sinal para os estágios vem da porta anterior,
temos de considerar seu atraso.
Cartões Digitais

Capı́tulo 22

Caderno de Experiências

22.1 Aula Prática - Contadores Assı́ncronos com Flip-Flop


Objetivos:
• Observar os princı́pios de funcionamento dos contadores

• Analisar a utilização prática dos contadores

• Analisar a utilização prática dos flip-flop’s


Referências:

• Contadores

Material Necessário:
• Módulo XD200M05.02.01

• Fios e cabos para conexões


Introdução:

Os circuitos contadores são subsistemas sequenciais que fornecem em suas saı́das um conjunto
de nı́veis lógicos numa sequência predeterminada, correspondente a modos de contagem preesta-
belecidos. A este conjunto de nı́veis lógicos dá-se o nome de estados internos do contador. O
contador é formado basicamente por flip-flops e, portanto, a velocidade da sequência gerada é de-
terminada pela frequência dos pulsos de clock. Sua caracterı́stica assı́ncrona se deve ao fato de que
a saı́da do flip-flop anterior gera o clock de referência para o flip-flop seguinte, deste modo cada um
dos flip-flops envolvidos são acionados sequencialmente em tempos diferentes, caracterizando-se
assim a assincronia.

Questionário:
1. Explique qual fator caracteriza um contador como assı́ncrono.

2. Como podemos construir um divisor de frequência a partir de um contador?

3. Explique a necessidade de se utilizar circuitos de inicialização em aplicações com contadores


lógicos.
Cartões Digitais

Exercı́cios:

1. Utilizando o módulo XD200M05.02.01 no Kit, implemente as conexões necessárias para


obter um contador assı́ncrono de 4 bits que conte de 0 à 15 indefinidamente.

2. Utilizando o módulo XD200M05.02.01 no Kit, implemente as conexões necessárias para


obter um contador assı́ncrono de 4 bits que conte de 0 à 12 indefinidamente, estabelecendo
uma armadilha para reinı́cio da contagem.

Exercı́cios propostos:

1. Projete um contador assı́ncrono que conte de 2 até 7, repetindo essa contagem indefinida-
mente. Apresente o diagrama em blocos e a tabela da verdade

2. Utilizando o módulo XD200M05.02.01 no Kit, implemente as conexões necessárias para


obter um divisor de frequência 1:13. Apresente o diagrama em blocos e a tabela da verdade.
Cartões Digitais

22.2 Aula Prática - Contador Assı́ncrono Integrado


Objetivos:

• Analisar a utilização prática dos contadores

• Analisar a utilização de contadores integrados

Referências:

• Contadores

Material Necessário:

• Módulo XD200M05.02.01

• Fios e cabos para conexões

Introdução:

Contadores integrados são constituı́dos de flip-flops como qualquer outro contador, mas a pos-
sibilidade de ter esse mesmo dispositivo integrado em um só chio vem a simplificar o circuito, bem
como diminuir custos. Desse modo se torna importante entender à diferenciação destes dispositi-
vos bem como seu funcionamento, modos de associação em série e outras possibilidades.

Questionário:

1. Apresente o diagrama de associação em série de um contador de 4 bits para se obter um


contador de 8 bits.

2. Descreva o funcionamento da associação de contadores integrados.

Exercı́cios:

1. Utilizando o módulo XD200M05.02.01 no Kit, implemente as conexões necessárias para


obter um contador assı́ncrono de 4 bits que conte de 0 a 15 indefinidamente.

2. Utilizando o módulo XD200M05.02.01 no Kit, implemente as conexões necessárias para


obter um contador assı́ncrono de 4 bits que conte de 0 a 12 indefinidamente, estabelecendo
uma armadilha para reinı́cio da contagem.

Exercı́cios propostos:

1. Projete um contador assı́ncrono que conte de 0 até 7, repetindo essa contagem indefinida-
mente. Apresente o diagrama em blocos e a tabela da verdade

2. Utilizando o módulo XD200M05.02.01 no Kit, implemente as conexões necessárias para


obter um divisor de frequência 1:5. Apresente o diagrama em blocos e a tabela da verdade.
Cartões Digitais
Cartões Digitais

Capı́tulo 23

Manual de Operação e Manutenção

Importante
• Para um completo entendimento do funcionamento do módulo, consulte seu esquema elétrico
e manual dos componentes, ambos presentes no CD que acompanha o kit.

23.1 Hardware
Utilizando o módulo XD200M05.02.01, você estará disposto de uma ferramenta capacitada a
trabalhar os dispositivos lógicos, cuja função é realizar uma contagem binária. O módulo contém
os principais dispositivos utilizados como base para os contadores, que são os Flip Flops.

Sua placa está disposta de 6 circuitos integrados para trabalhar estas funções:

• 2 CI’s SN74LS73AN - DUAL J-K FLIP-FLOPS WITH CLEAR

• 2 CI’s SN74HC08N - QUADRUPLE 2-INPUT POSITIVE-AND GATES

• 1 CI SN74HC04N - HEX INVERTERS

• 1 CI SN74LS293N - DECADE COUNTER; 4-BIT BINARY COUNTER

Utilizando o módulo XD200M05.02.01 ao circuito de sua escolha, você poderá trabalhar estas
principais funções digitais, ficando a cargo do usuário fazer as conexões e configurações necessárias
para cada experiência.
Cartões Digitais

Visão da placa

Figura 23.1: XD200M05.02.01 - Contadores


Capı́tulo 24

Esquemas Elétricos

24.1 XD200M05.02.01
Cartões Digitais
Cartões Digitais
Cartões Digitais

Capı́tulo 25

Buffer´s, Latch´s e Barramentos

25.1 Barramento
Há situações onde se deseja conectar diversos dispositivos entre si, de forma que apenas dois
deles troquem informações por vez. Nestes casos, pode ocorrer de um dispositivo escrever em
vários outros, um dispositivo ler vários outros ou existir acesso bidirecional em vários dispositivos.
O meio de união geral por onde trafegam os dados de controle e informação é denominado de
Barramento.
O barramento é um meio comum de comunicação a todos os dispositivos de um sistema com-
binacional ou computacional. Mas devido a dificuldades de conexões elétricas esses dispositivos
não executam acesso direto ao meio, eles o fazem a partir de dois dispositivos que executam a
escrita e leitura de dados no barramento, são eles os Buffer’s Tri-state e os Latch’s.

25.2 Buffer
Como já foi visto, existem componentes com a função de buffer tri-state, isto é, o driver de
saı́da do dispositivo pode ser desligado por um pino de controle. Dessa maneira, o sinal presente
na entrada do buffer é transferido para a saı́da se o controle estiver ativo ou a saı́da permanece
em estado de alta impedância (Hi-Z) se controle se estiver desativado. Isso nos permite ligar
diversas saı́das entre si e acionar apenas uma por vez, por operar em estado de alta impedância
(Hi-Z) estão asseguradas as interconexões elétricas de vários dispositivos no mesmo barramento.
A figura abaixo demonstra essa ideia.

Figura 25.1: Buffer Tri-state


Cartões Digitais

En1 En2 Out


0 0 Hi-Z
0 1 I2
1 0 I1
1 1 Proibido

Tabela 25.1: Buffer Tri-state

25.3 Latch
Denomina-se latch o componente formado por flip-flop´s tipo D que retém em sua saı́da o
estado encontrado em sua entrada a partir da ultima atualização. Esse dispositivo é comumente
utilizado como meio de acesso controlado ao barramento, podendo ter suas entradas interligadas
a demais outros dispositivos, sendo que pode controlar-se o dispositivo a ser acionado, ressalta
ainda o efeito memória apresentado por esse dispositivo que manterá o ultimo valor assumido
até a próxima atualização. Sua aplicação no barramento é como porta de acesso ao meio de
comunicação, em outras palavras porta de leitura de dados.
Esquema de montagem de Latch-D usando portas lógicas Não-E:

E D OUT
0 X Qant
1 1 1
1 0 0

Tabela 25.2: Latch tipo D

Figura 25.2: Esquema de ligação do Latch tipo D


Cartões Digitais

Capı́tulo 26

Caderno de Experiências

26.1 Aula Prática - Barramento


Objetivos:

• Analisar a utilização prática do módulo BUS

Referências:

• Buffers, Latchs e Barramentos

Material Necessário:

• Módulo XD200M06.02.01

• Fios e cabos para conexões

Introdução:

Há situações onde se deseja conectar diversos dispositivos entre si, de forma que apenas dois
deles troquem informações por vez. Nestes casos, pode ocorrer de um dispositivo escrever em
vários outros, um dispositivo ler vários outros ou existir acesso bidirecional em vários dispositivos.
Nesta situação são criados barramentos com a ajuda de buffer´s tri-state e latch´s.
Como já foi visto, existem componentes com a função de buffer tri-state, isto é, o driver de
saı́da do dispositivo pode ser desligado por um pino de controle. Dessa maneira, o sinal presente
na entrada do buffer é transferido para a saı́da se o controle estiver ativo ou a saı́da permanece em
estado de alta impedância (Hi-Z) se controle se estiver desativado. Isso nos permite ligar diversas
saı́das entre si e acionar apenas uma por vez.

Questionário:

1. Qual a principal funcionalidade de um buffer´s tri-state?

2. Esboce o circuito de saı́da do módulo tri-state.


Cartões Digitais

Exercı́cios

1. Funcionamento do buffer tri-state 74LS244: conecte uma chave a entrada I1.0 e outra a
entrada de controle G1.1. Com um osciloscópio observe no sinal I/O.0 o funcionamento do
buffer tri-state, testando todas as opções de sua tabela da verdade.

2. Funcionamento do Lacth74LS573: conecte uma chave ao sinal I/O.0, outra a OC.1 e outra
em C.1. Meça com um osciloscópio o sinal em O1.0, realizando todas as combinações da
tabela da verdade do componente.

3. Analise o esquema elétrico do módulo XD200M06.02.01 e desenhe um diagrama em blocos


ilustrando seu funcionamento.

4. Realize as movimentações dadas abaixo, conectando o barramento (I/O [7..0] ) a LEDs e


observando seu comportamento. Preencha o quadro com os comandos necessários.
Cartões Digitais
Cartões Digitais

Capı́tulo 27

Manual de Operação e Manutenção

Importante
• Para um completo entendimento do funcionamento do módulo, consulte seu esquema elétrico
e manual dos componentes, ambos presentes no CD que acompanha o kit.

27.1 Hardware
Fazendo uso do módulo XD200M06.02.01, você estará disposto de uma ferramenta capacitada
a trabalhar as funções de Buffer e Latch. O módulo contém os principais dispositivos utilizados
como base para estas funções.

Sua placa está disposta de 4 circuitos integrados:

• 2 CI’s MM74HC573N - 3-STATE OCTAL D-TYPE LATCH

• 2 CI’s MM74HC244N - OCTAL 3-STATE BUFFER

Utilizando o módulo XD200M06.02.01 ao circuito de sua escolha, você poderá trabalhar estas
funções digitais, ficando a cargo do usuário fazer as conexões e configurações necessárias para
cada experiência.
Cartões Digitais

Visão da placa

Figura 27.1: XD200M06.02.01 - Buffer e Latch


Capı́tulo 28

Esquemas Elétricos

28.1 XD200M06.02.01
Cartões Digitais
Cartões Digitais

Capı́tulo 29

Circuitos Seqüenciais - Flip-flop’s

Os flip-flop’s são elementos lógicos que podem apresentar em seu funcionamento apenas dois
estados estáveis. Não existem estados intermediários entre estes dois estados. A aplicação de um
sinal de entrada pode mudar o dispositivo de um estado para outro e como a qualquer momento
podemos saber qual é o estado em que ele se encontra, é possı́vel considerar este circuito como
uma memória capaz de armazenar um bit. O flip-flop é o elemento básico das chamadas memórias
estáticas. Existem diversos tipos de flip-flop’s encontrados nos circuitos digitais e o analisaremos
adiante.

29.1 Flip-Flop RS
O Flip-Flop RS (de Reset e Set) tem sua configuração com transistores mostrada na figura a
seguir e funciona da seguinte maneira: Quando alimentamos o circuito, dada às poucas diferenças
que podem existir entre as caracterı́sticas dos dois transistores, um deles conduzirá mais do que
o outro. Supondo que este transistor seja Q1 , há uma queda de tensão no seu coletor que reduz
em consequência a corrente que polariza a base de Q2 via R2 . Nestas condições, a tensão do
coletor de Q2 se mantém alta, realimentando a base de Q1 via R3 e a situação final do circuito
é estabelecida: Q1 satura e Q2 fica no corte. O flip-flop encontra seu estado estável inicial. O
flip-flop R-S tem duas saı́das representadas por Q e Q , assim, na condição inicial estável, com
Q1 conduzindo, Q estará no nı́vel baixo (0) e Q estará no nı́vel alto (1).
O processo que leva o flip-flop a este estado inicial pronto para funcionar é muito rápido,
não demorando mais do que alguns microssegundos. Quando o flip-flop se encontra na situação
indicada, com Q=0 e Q , dizemos que ele se encontra ”setado”ou armado. A mudança de estado do
flip-flop pode ser obtida aplicando-se um sinal conveniente na entrada. Como usamos transistores
NPN para comutar o flip-flop, temos de fazer conduzir por um instante o transistor que está
cortado, ou seja, devemos aplicar um pulso positivo na entrada correspondente. Assim, estando
o flip-flop na condição indicada, se desejarmos mudar o estado, aplica-se o pulso na entrada SET.
O transistor Q2 conduz por um instante, realimentando via R3 a base de Q1 que é cortado.
Com o corte, a tensão na base de Q2 sobe via polarização de R2 e mesmo que o pulso de disparo
desapareça, o circuito se mantém no novo estado graças à realimentação. Sua saı́da Q vai ao nı́vel
(1) e a saı́da Q vai ao nı́vel (0). Para trocar novamente de estado o flip-flop R-S, aplicamos um
pulso positivo na entrada RESET, levando Q1 à saturação e Q2 ao corte, situação que se firma
mesmo depois de desaparecido o pulso graças à realimentação proporcionada pelos resistores.
Cartões Digitais

Figura 29.1: Circuito equivalente a um flip-flop RS.

Veja que um pulso aplicado à entrada SET, correspondendo a um bit 1, faz com que a saı́da Q
que estava em zero passe a um, armazenando este bit. O flip-flop funciona realmente como uma
memória para este bit.
Da mesma forma como utilizamos transistores bipolares NPN para obter um flip-flop, podemos
também empregar outros tipos de componentes em configurações semelhantes podemos elaborar
flip-flop’s usando transistores PNP, caso em que a polaridade dos sinais de disparo vai ser invertida.
Da mesma forma, podemos usar transistores de efeito de campo, tanto de canal N como canal
P (bipolares ou JFET’s) como também transistores de efeito de campo MOS com os dois tipos
de canal (N ou P). O que mudará em cada caso é o sentido de circulação das correntes e as
polaridades dos sinais aplicados.
Como observamos os flip-flop’s também podem ser feitos com válvulas e na realidade os pri-
meiros que existiram eram justamente montados com estes componentes. Naquela época não
existiam transistores e nem circuitos integrados. Os flip-flop’s podem ser elaborados com por-
tas lógicas e o RS que estudamos pode ser facilmente obtido a partir de duas portas E de duas
entradas.

Figura 29.2: Flip-Flop RS com portas NÃO-E.

Levando em conta as tabelas verdade das portas NÃO-E vemos que a saı́da da primeira porta
realimenta a segunda e vice-versa, garantindo assim a continuidade dos estados obtidos quando
o flip-flop comuta. No entanto, a comutação deste circuito ocorre quando as entradas passam do
nı́vel alto para o baixo, ou seja, de um para zero. Esta condição é indicada pelos sı́mbolos R’ e S’
nas entradas.
Cartões Digitais

Então, quando as entradas estão ambas no nı́vel baixo, o flip-flop se mantém no estado em que
foi colocado por ser ligado ou por uma comutação anterior. Por outro lado, se as entradas forem
levadas simultaneamente ao nı́vel alto, o flip-flop irá para um estado indeterminado que deve ser
evitado. Na prática, a aplicação de nı́veis altos nas duas entradas pode destruir o dispositivo.
O diagrama de tempos mostrados abaixo nos permite mostrar o que ocorre no funcionamento
de um flip-flop por etapas, sendo analisados da seguinte forma:

Figura 29.3: Diagrama de tempo do flip-flop RS.

• a. Flip-Flop resetado.

• b.S vai ao nı́vel 1 e o flip-flop é setado;

• c. S vai ao nı́vel 0 e o flip-flop permanece setado;

• d. R vai ao nı́vel 1 e o flip-flop é resetado;

• e. R volta ao nı́vel 0 e o flip-flop permanece resetado;

Tudo isso pode ser representado por uma tabela verdade, da mesma forma que fazemos com
as funções lógicas. Nesta tabela temos algumas nomenclaturas que devemos nos familiarizar e
que são amplamente usadas, a saber:

• Primeira possibilidade

Qn−1 = representa o estado da saı́da Q ANTES da aplicação dos sinais.Qn = representa o


estado da saı́da Q DEPOIS da aplicação dos sinais.

• Segunda possibilidade

Q = representa o estado da saı́da Q ANTES da aplicação dos sinais. Qn+1 = representa o


estado da saı́da Q DEPOIS da aplicação dos sinais.
Os dois tipos de representação são usados. Nas colunas e linhas em que são colocados os nı́veis
lógicos zero e um, quando aparece o termo Qn ou Qn significa que a saı́da vai para um estado
indeterminado.
Cartões Digitais

R S QN +1 Qn+1
0 0 Qn Qn
0 1 1 0
1 0 0 1
1 1 X X

Tabela 29.1: Tabela verdade do Flip-Flop RS.

Temos ainda que ver que a ultima condição não é aceita pois poderia danificar o equipamento.
Ainda, igualmente com o que fizemos na representação dos somadores, existe uma forma de
representar este tipo de circuito lógico através de uma figura simples.

Figura 29.4: Representação do flip-flop RS.

29.2 Flip-Flop RS com Clock e Mestre-Escravo


Estes circuitos chamados de flip-flop RS controlados por clock e mestre escravo encontram
uma gama de aplicações muito grande nos circuitos digitais mais complexos, já que estes são
sempre comandados por um clock, ou seja, são circuitos lógicos sincronizados.
O uso de um circuito de controle (mestre) que determina quando o flip-flop (escravo) muda
de estado é importante para permitir que as mudanças de estado do flip-flop só ocorram em
determinados instantes. Usando portas NÃO-E podemos implementar um flip-flop RS controlado
por clock (Master-Slave).

Figura 29.5: Flip-flop RS controlado por clock com portas NÃO-E.

Analisemos seu funcionamento: Partindo da situação em que a entrada de clock (relógio)


esteja no nı́vel baixo, as saı́das Q e Q permanecerão no estado inicial em que se encontravam
e insensı́veis a qualquer variação que ocorra nas entradas S e R. Quando a entrada de clock for
levada ao nı́vel 1, o circuito passa a responder aos sinais das entradas R e S. No entanto, conforme
o diagrama de tempos abaixo, este circuito tem um inconveniente.
Cartões Digitais

Figura 29.6: Diagrama de tempo do flip-flop RS com clock.

Como as saı́das acompanham as entradas, durante o tempo em que o clock as habilita, estas
saı́das podem mudar de estado mais de uma vez, voltando assim ao estado inicial, o que não é
desejado de forma alguma. Um modo de contornar este problema consiste na utilização de duas
etapas numa configuração mais complexa.

Figura 29.7: Flip-flop RS mestre-escravo completo.

Este circuito é denominado Flip-Flop RS Mestre-Escravo ou Flip-Flop RS Master-Slave e faz


uso de portas NÃO-E e de um inversor, cuja finalidade é inverter o pulso de clock. Neste caso,
quando a entrada de clock for ao nı́vel um, o flip-flop mestre mudará de estado, mas o flip-flop
escravo permanecerá insensı́vel, mantendo seu estado.
Quando a entrada de clock passar para o nı́vel lógico zero, a saı́da do flip-flop mestre será
levada para o escravo. Isso significa que o flip-flop em seu todo não é sensı́vel ao nı́vel do sinal
de clock, ou seja, se ele é zero ou um, mas sim à sua transição. As saı́das Q e Q só vão mudar
de estado no instante em que ocorrer a transição do sinal de clock do nı́vel alto para o nı́vel
baixo. Com esta configuração é possı́vel garantir que só vai ocorrer uma mudança de estado na
presença de um pulso de clock. Os flip-flop’s que funcionam desta forma são denominados ”Edge
Triggered”ou ”Disparados pela borda”.
Se a mudança de estado ou disparo (engatilhamento) ocorrer quando o sinal de clock passa de
zero para um, os flip-flop’s são denominados ”positive edge-triggered”, enquanto que, se o disparo
ocorre quando o clock vai do nı́vel um para zero, na queda do nı́vel lógico, os flip-flop’s chamam-se
”negative edge-triggered”.
Neste tipo de circuito é muito importante levar em conta, num projeto de maior velocidade, o
tempo gasto para todo o processo, porque temos que levar em consideração o tempo que o circuito
demora a sair de um nı́vel lógico e ir para outro. Assim, partindo do diagrama de tempos da
figura a seguir, vemos que a saı́da do flip-flop só completa sua mudança de estado depois de certo
tempo, do pulso de clock ter sido aplicado. Dois tempos são importantes neste tipo de circuito.
Cartões Digitais

Figura 29.8: Temporização no Flip-flop RS mestre-escravo.

• tH: Hold Time ou Tempo de Manutenção é o tempo em que a entrada deve permanecer
ainda no circuito para que seu nı́vel lógico seja reconhecido pelo flip-flop.

• tS: Setup Time ou tempo em que a entrada do flip-flop deve permanecer no estado desejado
antes da transição do clock que vai provocar a mudança de estado do circuito. Duas entradas
podem ser acrescentadas neste circuito, dotando-o de recursos importantes para aplicações
práticas.

Uma das entradas é denominada PRESET (PR’) ou pré-ajuste e tem por função levar imedi-
atamente as saı́das do circuito a um estado determinado (Q=1 e Q =0), independentemente do
que estejam acontecendo nas demais entradas. Sua ativação ocorre quando PR’ estiver em zero e
CLR’ em um, no caso apresentado, pois o sı́mbolo ’ sobre a identificação indica que ela está ativa
no nı́vel baixo.

Figura 29.9: Ligação das entradas preset e clear.

A outra entrada denominada CLEAR ou apagamento tem por função levar as saı́das aos
estados Q=0 e Q’=1, independentemente do que estiverem ocorrendo nas demais entradas. Como
as entradas PRESET e CLEAR produzem resultado independente do estado da entrada de clock,
estas são chamadas de entradas assı́ncronas; Em oposição, as entradas R e S que são sı́ncronas,
isto é, sincronizadas com o sinal de clock.
É importante observar que estas duas entradas não podem ser ativadas ao mesmo tempo, pois
isso levaria o circuito a um estado indeterminado que inclusive poderia causar problemas aos seus
componentes.
Ao construirmos a tabela verdade para este circuito, teremos três novos sı́mbolos que são
normalmente usados em representações de eletrônica digital. ”X”representa uma condição irrele-
vante qualquer que ela seja não haverá influência no que ocorre na saı́da. A seta para cima indica
a transição do nı́vel baixo para o nı́vel do sinal na entrada ou saı́da representadas. Já a seta apon-
tando para baixo indica uma transição do nı́vel baixo para o nı́vel alto do sinal correspondente.
Cartões Digitais

29.3 O Flip-Flop JK Mestre-Escravo


O flip-flop JK mestre-escravo ou ”master-slave”pode ser implementado por funções lógicas
comuns, adquirindo a configuração básica mostrada abaixo.

Figura 29.10: Flip-flop JK.

Um problema observado no flip-flop RS é que temos uma situação ”proibida”que ocorre quando
as entradas R e S vão ao nı́vel alto ao mesmo tempo e que pode levar o circuito a um estado
indeterminado. Esta situação acontece principalmente nas aplicações em computação, quando
uma parte do sinal de saı́da é usada para realimentar a entrada.
Nestas condições podem ocorrer as situações de conflito com a produção de oscilações inde-
sejadas. Esta situação pode ser contornada com a utilização de uma nova configuração, que é
justamente a do flip-flop JK utilizada nas aplicações práticas e que analisaremos a seguir. Pode-
mos ter quatro combinações possı́veis para os sinais aplicados nas entradas J e K e analisemos
cada uma das combinações:

• J=0 e K=0: Quando a entrada de clock (CLK) passa por uma transição negativa do sinal,
o flip-flop mantém sua condição original, ou seja, não muda de estado.

• J=1 e K=0: Quando a entrada de clock (CLK) passa por uma transição negativa, o
flip-flop é ”setado”. Se já estiver setado, ele permanece nesta condição.

• J=0 e K=1: Quando a entrada de clock (CLK) passa por uma transição negativa, o
flip-flop é ”resetado”. Se já estiver nesta condição, ele permanece.

• J=1 e K=1: Nesta condição, ao receber uma transição negativa na entrada de clock (CLK),
o flip-flop muda de estado (TOGGLE). Se estiver setado, ele reseta e se estiver resetado, ele
é setado.

Podemos elaborar a tabela verdade para indicar o que ocorre com este flip-flop. Observe o uso
das setas para indicar as transições de sinal na entrada de clock que comandam o funcionamento
deste tipo de circuito. Da mesma forma que nas outras configurações estudadas, podemos também
incluir as entradas de PRESET e CLEAR neste circuito.

CLK J K Qn+1 Qn0 +1


↓ 0 0 Qn Qn’ ← não muda
↓ 0 1 0 1 ← Reseta
↓ 1 0 1 0 ← Seta
↓ 1 1 Qn’ Qn ← Complemento (Toggle)

Tabela 29.2: Tabela verdade do Flip-flop JK.


Cartões Digitais

Uma maneira melhor de analisarmos o funcionamento deste circuito é através de um diagrama


de tempos, em que observamos as formas de onda nos diversos pontos de entrada e saı́da. Este
diagrama de tempos para o flip-flop J-K é mostrado abaixo.

Figura 29.11: Diagrama de tempo do flip-flop JK com preset e clear.

Analisemos alguns trechos importantes deste diagrama mostrando o que acontece:

• Neste instante CLR e PR estão no nı́vel baixo, Q e Q’ estão no nı́vel alto, que é uma condição
não permitida;

• Aplica-se então o sinal PR, que indo ao nı́vel alto, faz com que o flip-flop seja resetado;

• A aplicação de um pulso na entrada CLR que vai ao nı́vel alto, e a ida de PR ao nı́vel baixo
fazem agora com que o flip-flop seja setado;

• CLR e PR são mantidos no nı́vel alto a partir deste instante. Com J=0 neste trecho e K
indo ao nı́vel alto, o flip-flop será resetado na próxima transição negativa do sinal de clock;

• Ainda com CLR e PR no nı́vel alto (esta condição se manterá daqui por diante) e a saı́da
J=0 e k=1, o flip-flop permanecerá resetado;

• Com J=1 e K=0, o flip-flop é setado na transição seguinte do pulso de clock;

• Com J=1 e K=0, não ocorrem mudanças de estado;

• Com J=1 e K=1 na transição seguinte do pulso de clock, o flip-flop muda de estado (com-
plementa ou ”toggle”). Se estiver resetado, como neste caso, ele é setado;

• Mantendo J=1 e K=1 com nova transição do pulso de clock, o flip-flop muda de estado
outra vez, ou seja, complementa. Veja que quando as entradas J e K estão no nı́vel alto, o
circuito se comporta como um disparador, mudando de estado a cada transição negativa do
pulso de clock.
Cartões Digitais

29.4 O Flip-flop tipo D


Este é também um circuito de flip-flop muito usado, cujo sı́mbolo é mostrado a seguir. Este
flip-flop possui uma única entrada que comanda todo o circuito. Esta entrada é que lhe dá nome.
Denominada ”Data”(dados), é abreviada por D, daı́ o nome do dispositivo. Este flip-flop opera
de uma maneira muito simples: no pulso de clock, ele assume o estado da entrada, conforme
podemos ver pela sua tabela verdade:

A Qn+1
1 1
0 0

Tabela 29.3: Tabela verdade do flip-flop D.

Figura 29.12: Representação gráfica do flip-flop D.

O Flip-flop D é capaz de armazenar um bit, portanto é a base para a criação de um dispositivo


imprescindı́vel para os sistemas computacionais, a memória.

29.5 O Flip-Flop tipo T


O nome vem de ”Toggle”ou complementação, seu sı́mbolo é mostrado na figura a seguir. O
que este circuito faz pode ser entendido facilmente pelo diagrama de tempos mostrado na figura
29.14. Quando a entrada T deste circuito está no nı́vel baixo, o flip-flop se mantém em seu estado
anterior, mesmo com a aplicação do pulso de clock.

Figura 29.13: Representação gráfica do flip-flop T.

No entanto, quando a entrada T está no nı́vel alto, o flip-flop muda de estado. Se estiver
setado, ele reseta e se estava resetado, ele seta. Este comportamento significa na realidade a
divisão da frequência de clock por dois. Em outras palavras, este circuito se comporta como um
divisor de frequência, encontrando aplicações práticas bastante importantes em eletrônica digital.

Figura 29.14: Comportamento do flip-flop T com relação ao clock.


Cartões Digitais

Um exemplo de aplicação é dado quando associamos diversos flip-flop do tipo T em série,


de modo que passando através de cada um, a frequência do sinal de entrada é divida por dois.
Usando quatro flip-flop, podemos dividir a frequência por 2, 4, 8 e 16. Este tipo de divisor de
frequência é muito usado, existindo até circuitos integrados que possuem sequencias de mais de
dez flip-flop ligados desta forma. Na prática não temos os flip-flop tipo T como componentes
prontos para uso. Estes flip-flop’s podem ser obtidos a partir de outros.

Figura 29.15: Flip-flop T como divisor de frequência.

29.6 Transformando Flip-Flop’s


Da mesma maneira como podemos obter qualquer função lógica complexa a partir de funções
simples, o que foi visto em lições anteriores, também podemos ”brincar”com os flip-flop’s, obtendo
outros tipos a partir de um tipo básico. Assim, usando um flip-flop’s R-S ou J-K que são comuns
e algumas portas lógicas, podemos obter flip-flop’s de outros tipos.

Figura 29.16: Transformando Flip-flop’s RS.

Acima temos algumas conversões que podem ser feitas utilizando-se flip-flop’s do tipo RS.
O modo de funcionamento de cada um pode ser facilmente entendido se associarmos as tabelas
verdade dos flip-flop’s estudados às tabelas verdade das portas agregadas, considerando os sinais
de realimentação. De outra forma também podemos obter flip-flop’s tipo D e T a partir de
flip-flop’s do tipo JK. Veja que a simples conexão da entrada K ao J no flip-flop do tipo J-K
Cartões Digitais

o transforma em um flip-flop tipo T. Esta possibilidade é muito interessante, já que flip-flop’s
J-K são disponı́veis em tecnologia TTL e CMOS e podem ser usados em circuitos divisores de
frequência.

Figura 29.17: Transformando flip-flop’s JK.

E ainda, temos outras duas transformações importantes de flip-flop’s mostradas na figura a


seguir. No primeiro caso temos uma transformação de um flip-flop tipo D em flip-flop tipo T,
bastando para isso que a saı́da complementar Q’ seja ligada à entrada D, realimentando o circuito.
A segunda transformação, que leva um flip-flop tipo D a funcionar como tipo T exige o emprego
de uma porta E adicional na realimentação do sinal que é retirado da saı́da complementar Q’.

Figura 29.18: Transformando flip-flop D.

29.7 Flip-flop’s nos Computadores


Encontramos os flip-flop’s nos computadores como elementos fundamentais de muitos circuitos.
Uma aplicação é na própria divisão de frequência dos clock’s. Existem setores de um PC que devem
operar com velocidades menores que a fornecida pelo clock principal. É o caso dos barramentos
onde são ligados as placas de expansão, os modems e as saı́das de dados ,paralela e serial. Assim,
em lugar de usar um clock para cada frequência desejada, o que se faz é empregar um clock único
e dividir sua frequência conforme as exigências de frequências mais baixas, conforme na figura
29.15.
No caso dos computadores, tanto o próprio clock como a sequência de flip-flop’s divisores
podem ser obtidos num único circuito integrado. Um ponto importante que deve ser levado em
conta é a possibilidade de ligar os flip-flop’s em conjunto com outras funções, de modo que a
frequência possa ser dividida por qualquer número e não somente por potências de 2 (2, 4, 8, 16,
32, 64, etc.).
Outra aplicação importante é como célula de memória. Oito flip-flop’s ligados lado a lado
podem armazenar um byte inteiro. Todos os flip-flop armazenam um bit. Existem diversas
memórias internas de um PC que nada mais são do que flip-flop’s que podem ser habilitados
tanto para a leitura de dados como para introdução (gravação de dados).
Cartões Digitais

Capı́tulo 30

Caderno de Experiências

30.1 Aula Prática - Flip-flop’s


Objetivos:

• Observar os princı́pios de funcionamento dos tipos de Flip-flop’s

• Analisar a utilização prática dos flip-flop’s

Referências:

• Circuitos Sequenciais - Flip-Flop

Material Necessário:

• Módulo XD200M07.02.01

• Módulo XD200M01

• Cabos e fios para conexão

Introdução:

Vimos anteriormente o funcionamento de uma lógica combinacional, ou ainda, uma lógica para
a qual a saı́da é pré-determinada de forma unı́voca pelas entradas. Estes circuitos apresentam
um grave problema, que é a ausência de memória sobre os estados anteriores. Todo o desenvol-
vimento computacional e de comunicações digitais está suportado pela concepção de memória.
Este computador, por exemplo, depende da existência de contadores, osciladores, somadores e
toda uma lógica que depende, fundamentalmente, da existência de conhecimento sobre os estados
anteriores do sistema em função do tempo, ou seja, memória.
Existem distintos tipos de memória, porém, a lógica de todas elas está associada a circuitos
oscilantes, chamados de flip-flop, que podem alternar sua saı́da (estados flip ou flop, p.e.) em
função dos parâmetros de entrada e do tempo decorrido. O conceito de tempo está associado a
pulsos de um relógio (clock), que vai alternar estados entre zero e um, com uma frequência pré-
determinada, e será utilizado na propagação temporal da informação. O objetivo fundamental
desta aula é entender como podemos armazenar informação em uma estrutura eletrônica, e como
retransmitir esta informação em tempos (pulsos de clock) posteriores.
Cartões Digitais

Questionário:

1. Esboce o circuito elétrico de um Flip-flop do tipo RS.

Exercı́cios:

1. Usando as portas lógicas do XD200M01, montar um flip-flop RS e levantar a tabela da


verdade.

• Flip-flop RS Assı́ncrono :

• Flip-flip RS Sı́ncrono
– Flip-flop RS Assı́ncrono :

• Usando o módulo XD200M07.02.01, montar um flip-flop sı́ncrono com Preset e Clear


e levantar a tabela da verdade.
Cartões Digitais

• Montar um flip-flop Mestre escravo. Para tanto, utilize a montagem do exercı́cio 2


como mestre e a montagem do exercı́cio 1 como escravo, conforme a figura abaixo.
Levante a tabela da verdade desse flip-flop.

• Tomando como base o flip-flop Mestre-escravo do exercı́cio anterior, faça as conversões


para os demais tidos de flip-flop abaixo e levante sua tabela da verdade.
– Flip-Flop J-K

– Flip-Flop T

– Flip-Flop D
Cartões Digitais
Cartões Digitais

Capı́tulo 31

Manual de Operação e Manutenção

Importante
• Para um completo entendimento do funcionamento do módulo, consulte seu esquema elétrico
e manual dos componentes, ambos presentes no CD que acompanha o kit.

31.1 Hardware
O módulo XD200M07.02.01 apresenta ao usuário a possibilidade de trabalhar os circuitos Flip
Flop’s, muito utilizados como base para a construção de circuitos mais complexos como certos
tipos de memórias.

A placa contém 2 CI’s que desempenham as funções lógicas para a configuração


de Flip Flop’s:

• 1 CI MM74HC00N - QUAD 2-INPUT NAND GATE

• 1 CI SN74LS10N - TRIPLE 3-INPUT NAND GATE

Utilizando o módulo XD200M07.02.01 ao circuito de sua escolha, você poderá trabalhar estas
funções digitais, ficando a cargo do usuário fazer as conexões e configurações necessárias para
cada experiência.
Cartões Digitais

Visão da placa

Figura 31.1: XD200M07.02.01 - Flip Flop’s


Capı́tulo 32

Esquemas Elétricos

32.1 XD200M07.02.01
Cartões Digitais
Cartões Digitais

Capı́tulo 33

Multiplexadores e Demultiplexadores

33.1 Demultiplexador ou DEMUX


O fluxo de informações (tanto analógicas como digitais) aplicado a uma entrada pode ser
direcionado para qualquer uma das saı́das, conforme o comando aplicado à linha de seleção de
dados. Por exemplo, se na linha de seleção de dados ou controle for aplicado o valor 10(2), os
dados de entrada serão encaminhados para a terceira linha de saı́da. Na figura a seguir mostramos
um circuito deste tipo implementado com portas TTL e que, portanto, só funciona com dados
digitais. Neste DEMUX os dados aplicados na entrada DADOS (DATA) são encaminhados para
uma das saı́das (S1 a S4), conforme o ”endereço”aplicado nas entradas A e B. No entanto, os
dados só podem ”passar”no momento em que a entrada de habilitação EN (de enable) for levada
ao nı́vel alto.

Figura 33.1: Demultiplexador de quatro saı́das com enable.

Também é possı́vel encontrar diversos circuitos integrados em tecnologia CMOS ou TTL que
contêm estas funções, alguns operando até com sinais analógicos.

33.2 Multiplexadores ou MUX


O nome parece complicado, mas sua função é muito simples: Circuitos multiplexadores pos-
suem várias entradas, um controle e uma única saı́da, permitindo que o usuário mostre na saı́da
o valor de qualquer das variáveis de entrada dependendo do valor que introduzir no controle.
Parece complicado? Imagine uma central telefônica moderna, todas as informações que tra-
fegam por ela são compostas de bits zero e um. Algumas dessas centrais utilizam um forma de
multiplexação no tempo para que numa mesma saı́da (comumente chamado de canal), eu tenha os
Cartões Digitais

sinais de entrada cada um no seu tempo. Com isso, temos partes do tempo em que a saı́da ficará
com uma entrada, e depois com outra e outra, fazendo a multiplexação das entradas em uma só
saı́da. Circuitos multiplexadores são empregados nos circuitos digitais sempre que se deseja usar
o mesmo condutor elétrico (ou o mesmo barramento) para transportar, de cada vez, um dentre
diversos sinais possı́veis. Observe abaixo o seguinte circuito multiplexador

Figura 33.2: Circuito multiplexador de oito entradas.

Do lado esquerdo estão às entradas, E0 a E7. Acima, os três terminais do dispositivo de
controle, que podem receber valores (em binário) variando de zero (000) a sete (111). Os valores
de cada terminal de controle C0 ,C1 e C2 , assim como seus complementos (resultados da saı́da de
cada um deles submetido a uma porta NÃO) e os valores das entradas são encaminhados a oito
portas E cujas saı́das se juntam na entrada de uma porta OU.
Analise bem: a saı́da de uma porta E somente é VERDADEIRA se todas as entradas o forem.
Então, se qualquer entrada proveniente de um dos terminais de controle for FALSA, a saı́da da
porta E correspondente será obrigatoriamente falsa. Devido à combinação das conexões dos ter-
minais de controle e seus complementos com as portas E, somente uma delas (a que corresponder
ao número que se entrou no controle) receberá três entradas VERDADEIRAS provenientes do
controle.
Exemplificando: Se entrarmos, por exemplo, com o número 5 (101 em binário) no controle,
somente a porta E ligada à entrada E5 receberá três entradas VERDADEIRAS oriundas do
controle. Essa será a única porta E cuja saı́da poderá variar (pois as saı́das das demais serão
sempre FALSAS por receberem pelo menos um sinal FALSO). Se, no exemplo, a entrada E5 tiver
um valor VERDADEIRO, a saı́da da porta E correspondente também será VERDADEIRA, posto
que as outras três (do controle) serão igualmente VERDADEIRAS. Por outro lado, se a entrada
E5 contiver um sinal FALSO, a saı́da da porta E correspondente também será FALSA, pois a
combinação das três entradas VERDADEIRAS do controle com o valor FALSO de E5 resultará
em FALSO. Portanto, a saı́da da porta E ligada a E5 refletirá o estado de E5: VERDADEIRO
se E5 for VERDADEIRO, FALSO se E5 for FALSO.
Como os resultados de todas as portas E são combinados através de uma porta OU e como
todas as demais portas E terão a saı́da FALSA (devido a uma entrada FALSA proveniente do
Cartões Digitais

controle), quando se entra com o valor ”5”no controle, a saı́da do circuito multiplexador refletirá
o estado da entrada E5: VERDADEIRO se E5 for VERDADEIRO, FALSO se E5 for FALSO.
Uma situação análoga ocorrerá com qualquer outro valor que se entre no controle.

33.3 Multiplexadores e Demultiplexadores Analógicos


Diferente dos multiplexadores e demultiplexadores que nós vimos até a pouco, os multiplexa-
dores analógicos não são usados para propagar sinais digitais mais sinais analógicos. Para tanto,
as portas lógicas comumente utilizadas neste tipo de circuito não são portas E e sim transistores
que trabalham nas áreas de corte e saturação, permitindo que o sinal flua da entrada selecionada
para a saı́da. Por exemplo, imagine que você seja o responsável pela segurança de um prédio com
oito andares. Para melhor observar quem circula pelos corredores, instalou em cada andar uma
câmara de vı́deo. Mas, em vez de instalar oito monitores em sua sala, resolveu trabalhar com um
único monitor, que mostrará na tela a imagem de uma câmera de cada vez, dependendo de sua
escolha.
Para isso você instalou um circuito multiplexador com oito entradas (cada uma captando o
sinal de uma câmara), uma saı́da (que será encaminhada ao único monitor) e um controle no qual
você pode entrar com valores que variam de zero a sete, capaz de selecionar, portanto qualquer
uma das oito câmaras (não esqueça que o térreo é o pavimento ”zero”).
Digamos que você quer ver o que se passa no térreo: basta entrar com ”zero”no dispositivo
de controle que o circuito multiplexador enviará para o monitor o sinal da câmara de número
”0”, exibindo a imagem do corredor do andar térreo. Se desejar verificar o que se passa no sexto
andar, entre com ”6”no controle e o sinal da câmara instalada no sexto andar será encaminhado
ao monitor. E assim por diante.
Os flip-flop’s são elementos lógicos que podem apresentar em seu funcionamento apenas dois
estados estáveis. Não existem estados intermediários entre estes dois estados. A aplicação de um
sinal de entrada pode mudar o dispositivo de um estado para outro e como a qualquer momento
podemos saber qual é o estado em que ele se encontra, é possı́vel considerar este circuito como
uma memória capaz de armazenar um bit. O flip-flop é o elemento básico das chamadas memórias
estáticas. Existem diversos tipos de flip-flop’s encontrados nos circuitos digitais e o analisaremos
adiante.
Cartões Digitais
Cartões Digitais

Capı́tulo 34

Caderno de Experiências

34.1 Aula Prática - Multiplex/Demultiplex


Objetivos:

• Analisar o funcionamento dos Multiplexadores e Demultiplexadores

• Montagem de MUX/DEMUX

Referências:

• Multiplexadores/Demultiplexadores

Material Necessário:

• Utilizar Módulo XD200M08.02.01

• Fios e cabos para conexões

Introdução:

A ideia de multiplexadores e demultiplexadores é uma das mais importantes para compreensão


de circuitos eletrônicos. Existem diversas técnicas desenvolvimento em circuitos integrados para
fazer o que resumidamente poderı́amos definir como ”chavear caminhos”para os bits que vão
passar por esse circuito.
Os multiplexadores têm a funcionalidades, escolher quais das funções de entrada, ou quais dos
canais de informações devem ser ligados a saı́da.
Os demultiplexadores efetuam a função inversa dos multiplexadores, ou seja, enviam as in-
formações, vinda de um único canal, para vários canais.

Questionário:

1. Quais as vantagens de se utilizar a multiplexação?

2. Cite um exemplo prático de aplicação de um multiplexador/demultiplexador.


Cartões Digitais

Exercı́cios:

1. Utilizando as frequências disponı́veis do módulo principal, utilize 4 delas nas entradas de D0a
D3 no módulo XD200M08.02.01 e disponibilize a saı́da em algum Led do módulo principal
chaveando a entrada .

2. Ao inverso do exercı́cio anterior disponibilize os Led’s na saı́das Y0 a Y7 do Demux e entre


com diferentes frequências de entrada.
Cartões Digitais
Cartões Digitais

Capı́tulo 35

Manual de Operação e Manutenção

Importante
• Para um completo entendimento do funcionamento do módulo, consulte seu esquema elétrico
e manual dos componentes, ambos presentes no CD que acompanha o kit.

35.1 Hardware
O módulo XD200M08.02.01 possibilita ao usuário desempenhar as tarefas de multiplexagem e
demultiplexagem, extramamente utilizada nos circuitos eletrônicos quando se deseja transmissão
de informações.

A placa está disposta de 2 CI’s que desempenham as funções lógicas de multi-


plexação e demultiplexação:

• 1 CI MM74HC151N - 8 CHANNEL DIGITAL MULTIPLEXER

• 1 CI SN74LS138N - 1-OF-8 DECODER/ DEMULTIPLEXER

Utilizando o módulo XD200M08.02.01 ao circuito de sua escolha, você poderá trabalhar estas
funções digitais, ficando a cargo do usuário fazer as conexões e configurações necessárias para
cada experiência.
Cartões Digitais

Visão da placa

Figura 35.1: XD200M08.02.01 - Mux/Demux


Capı́tulo 36

Esquemas Elétricos

36.1 XD200M08.02.01
Cartões Digitais
Cartões Digitais

Capı́tulo 37

Conversores Analógico/Digital e
Digital/Analógico

Até o momento tratou-se apenas de sinais digitais em suas diversas aplicações. Contudo,
no mundo real a maioria das grandezas e informações está em forma analógica. Dizer que um
sinal é analógico significa dizer que ele pode assumir qualquer valor entre dois valores limites.
Uma informação com essa caracterı́stica não pode ser expressa de forma digital, porque um
número infinito de nı́veis exigiria um número infinito de bits para representá-la. Surge então a
necessidade de componentes que convertam informações analógicas em digitais e vice-versa. São
eles o conversor analógico digital (ADC ou simplesmente A/D) e o conversor digital analógico
(DAC ou simplesmente D/A).

37.1 Conversor D/A


Conversor D/A é um componente capaz de transformar sinais expressos de forma digital e
informações analógicas. Em outras palavra, ele transforma uma palavra binária de n bits em uma
informação analógica, geralmente uma nı́vel de tensão.
O número de nı́veis de tensão possı́veis em um conversor D/A é definido pelo número de bits
desse conversor. Um conversor de n bits é capas de expressar 2n valores analógicos diferentes.
Esses valores estarão uniformemente distribuı́dos entre dois limites, chamados de referencia supe-
rior e inferior. Por exemplo, um D/A de 8 bits, com referência inferior em 0V e superior em 5V
pode gerar 256 nı́veis de tensão diferente dentro dessa faixa.
Existem vários tipos de conversor D/A. A seguir são apresentados alguns dos mais comuns.

37.1.1 Conversor D/A Simples

Figura 37.1: Converso D/A simples que utiliza um amplificador operacional.


Cartões Digitais

O funcionamento é simples: trata-se amplificador operacional em configuração somador in-


versor. Como cada entrada (A, B, C e D) possui um ganho diferente, teremos na saı́da a soma
ponderada das entradas que estiverem em ’1’ (5V), cada uma multiplicada por um ”peso”. A
tabela a seguir exemplifica os valores obtido para cada combinação de entrada

D C B A Vout
0 0 0 0 0
0 0 0 1 -0,625
0 0 1 0 -1,250
0 0 1 1 -1,875
0 1 0 0 -2,500
0 1 0 1 -3,125
0 1 1 0 -3,750
0 1 1 1 -4,375
1 0 0 0 -5,000
1 0 0 1 -5,625
1 0 1 0 -6,250
1 0 1 1 -6,875
1 1 0 0 -7,500
1 1 0 1 -8,125
1 1 1 0 -8,750
1 1 1 1 -9,375

Tabela 37.1: Tabela de conversão de um sinal digital para um sinal analógico.

O inconveniente desse tipo de montagem é que quando o número de bits aumenta muito os
valores de resistores tem uma faixa muito grande, indo de um extremo muito alto a outro muito
baixo. Isso implica em uma dificuldade construtiva causada pelas tolerâncias desses componentes,
que tendem a tornar o sinal de saı́da impreciso.

37.1.2 Conversor D/A R-2R

Figura 37.2: Conversor D/A do tipo R-2R

O conversor R/2R recebe esse nome porque é composto por uma rede de resistores com valores
intercalados de uma resistência (R) e o dobro dessa resistência (2R). Equacionando essa malha
concluı́mos que o valor da resistência não importa, desde que seja sempre mantida a relação
R/2R. Posto isso, cada ramo da resistência pode ser ligado a terra ou a Vref (tensão de referência
superior) conforme a palavra binária, gerando em sua saı́da uma tensão correspondente.
O fato de usar apenas dois valores de componente próximos torna esse tipo de conversor mais
fácil de construir e muito mais preciso.
Cartões Digitais

37.2 Conversor A/D


A maioria dos dados obtidos de sensores comuns, tais como sensores de temperatura, inten-
sidade luminosa, posição, tensão, corrente e etc. fornecem sinais analógicos, ou seja, uma tensão
que é proporcional à grandeza medida e que varia de forma contı́nua numa faixa de valores.
No entanto, a maioria dos equipamentos modernos que fazem a aquisição de dados destes
sensores, trabalha com técnicas digitais. Isso significa que o dado analógico, preciso ser convertido
para a forma digital. Para fazer esta conversão são utilizados circuitos denominados conversores
analógico-digital, ou simplesmente A/D, como seu próprio nome indica, realiza a conversão de
sinais, cuja amplitude varia continuamente em sinais digitais correspondentes à amplitude do sinal
original.
Para converter se faz o uso de um comparador de tensão ou corrente - variando de acordo com
a aplicação - que irá comparar o sinal analógico com o valor de referência.
Desta forma os circuitos A/D devem preencher certos requisitos importantes quanto ao seu
desempenho que são:

• Quantização;

• Taxa de Amostragem e;

• Linearidade.

37.2.1 Quantização
Entre os dois valores extremos da escala de valores analógicos que devem ser convertidos para a
forma digital existem infinitos valores intermediários, o que justamente caracteriza uma grandeza
que varia de forma análoga ou analógica.
Entretanto, quando passamos um valor qualquer entre os dois valores extremos incluindo-os,
não podemos representar qualquer quantidade, pois precisarı́amos para isso de um número infinito
de bits.
Assim, por exemplo, se utilizarmos na conversão 4 bits, teremos a possibilidade de representar
apenas 16 valores na escala total de valores analógicos, e se usarmos 8 bits poderemos representar
256 valores, conforme indica a figura 52.
Se tivermos uma escala de 0 a 8 V, por exemplo, e usarmos 4 bits para a conversão, os
”degraus”da escada de conversão terão 0,5 V de altura, o que significa que este conversor terá
uma resolução de 0,5 V. Se usarmos um conversor A/D de 8 bits (256 ”degraus”de resolução)
para fazer um voltı́metro de 0 a 10 V, por exemplo, a resolução deste voltı́metro será de 10/256
ou pouco menos de 0,04 V.

Figura 37.3: Escala de Conversão


Cartões Digitais

Este comportamento ”digital”pode ser observado em muitos instrumentos comuns, tais como
os multı́metros digitais em que, se a grandeza medida estiver num valor intermediário entre dois
degraus da resolução do conversor A/D, o valor apresentado no display oscilará entre eles.
Evidentemente, tanto maior é a precisão na conversão mais bits serão utilizados pelo conversor.
Tipos com 8 a 16 bits são comuns nas aplicações industriais e em medidas, dependendo da
quantidade de ”passos”desejados na conversão ou a resolução.

37.2.2 Taxa de Amostragem


Muitos processos de aquisição de dados de sensores, de processos ou de outras aplicações
precisam ser rápidos. Uma placa de aquisição de dados de um instrumento de medida que projete
uma forma de onda, desenhe um gráfico na tela de um PC representando um processo dinâmico
ou mesmo um instrumento digital simples como um multı́metro, deve estar constantemente em
andamento.
Um osciloscópio digital, por exemplo, deve medir as tensões instantâneas de um sinal em
diversos pontos ao longo de um ciclo para poder ”desenhar”esta forma de onda com precisão na
tela. Se a frequência do sinal for alta, isso implica a necessidade de se fazer amostragens num
tempo extremamente curto.
Os conversores A/D podem ser encontrados em tipos que têm frequências de amostragem
numa ampla escala de valores. Os tipos mais rápidos têm suas velocidades especificadas em
MSPS (Mega Samples Per Second ou Mega Amostragens Por Segundo).
Uma máquina industrial ou um instrumento de uso geral como um multı́metro pode usar
conversores A/D relativamente lentos com taxas ou velocidades de amostragens de até algumas
unidades por segundo. Um multı́metro digital comum, por exemplo, faz de 1 a 10 amostragens
por segundo apenas, dependendo do tipo. Todavia, um osciloscópio digital ou virtual que precise
observar uma forma de onda de 10 MHz, deve, para ter uma definição razoável, realizar pelo
menos 100 milhões de amostragens por segundo (10 pontos por ciclo).

37.2.3 Linearidade
A curva de conversão da grandeza analógica para a forma digital deve ser linear para um bom
conversor. Isso significa que não existem desvios na correspondência entre o valor analógico e a
saı́da digital ao longo da escala de valores em que o conversor deve trabalhar.
No entanto, na prática podem ocorrer pequenos desvios, de acordo com o que mostra a seguir.

Figura 37.4: Grau de Linearidade de Conversão


Cartões Digitais

37.2.4 Desenvolvimento
Para fazer uma conversão de sinais analógicos para a forma digital existem diversas técnicas
que são empregadas nos circuitos comerciais, muitas delas encontradas em circuitos integrados que
são ”embutidos”(embedded) em aplicações mais complexas, os quais fazem o controle de máquinas
e equipamentos. Analisamos as tecnologias mais empregadas para esta finalidade começando com
o bloco comum a todos os conversores, que é o circuito de amostragem e manutenção (sample and
hold).
O valor dos sinais analógicos que devem ser convertidos para a forma digital corresponde a
um determinado instante, cuja duração, em alguns casos, não vai além de alguns milionésimos de
segundo.
Assim, um primeiro bloco importante do conversor é um circuito que lê o valor do sinal a ser
convertido num determinado instante e o armazena de modo que, mesmo que o sinal varie depois,
os circuitos que fazem a conversão têm numa memória seu valor.
O sinal a ser amostrado é amplificado por um buffer de entrada cuja finalidade é não carregar
o circuito externo, e ao mesmo tempo proporcionar isolamento do circuito de conversão.

Figura 37.5: Diagrama em Blocos de Conversor A/D

Na saı́da deste circuito temos uma chave eletrônica ou chaveador, que determina o instante
exato em que a leitura do sinal deve ser feita. A chave fecha então por uma fração de segundo
(numa frequência que depende da velocidade de amostragem) permitindo que o sinal carregue o
capacitor C.
Assim, quando a chave abre, esperando a leitura seguinte, o capacitor tem armazenado o valor
da grandeza analógica a ser convertida. Esta tensão no capacitor é mantida no circuito conversor
através de um buffer de saı́da durante o tempo que ele necessita para isso.
Na figura a seguir temos um gráfico que indica de que modo à tensão de entrada varia e o
circuito de amostragem e retenção mantém a saı́da constante durante os intervalos de conversão
(que correspondem aos ”degraus”).

Figura 37.6: Escala de Conversão


Cartões Digitais

37.2.5 Aplicação
Desenvolvendo um pequeno programa no Matlab 6.0 podemos exemplificar melhor toda esta
teoria aqui mostrada. A onda fundamental tem uma frequência de 120 Hz e está defasada em
60o, atribuı́mos valores de quantização de: 4, 8 e 12 Bits e taxa de amostragem de: 240, 600 e
1000 Hz (respeitando a frequência de Nyquist).
Primeiramente o nosso programa vai marcar os tempos que serão armazenados com seus res-
pectivos valores analógicos para posteriormente serem quantizados e assim aplicando a transforma
discreta de Fourier reconstituir o sinal amostrado.
Nos gráficos abaixo, podemos verificar que em um sinal digital não existe valores negativos
na quantização, o que pode ocorrer é que vemos em multı́metros digitais ou outros aparelhos, um
bit a mais inserido posteriormente a quantização para sinalização. Se aquele valor corresponde a
um valor negativo ou positivo, este fato não interfere em nada na conversão, como mencionado, é
apenas uma sinalização para o usuário.

Figura 37.7: Quantização em 4 Bits de Resolução

Figura 37.8: Quantização em 8 Bits de Resolução

Figura 37.9: Quantização em 12 Bits de Resolução

Existem várias formas de se construir conversores A/D, sendo que cada um tem a sua carac-
Cartões Digitais

terı́stica de funcionamento que deve ser levada em conta, na hora de se construir e/ou escolher
para sua aplicação. Temos uma relação de possı́veis combinações:

• Conversor A/D com comparador em paralelo;

• Conversor A/D com rampa em escada;

• Conversor A/D de aproximações sucessivas;

• Conversor A/D rampa única;

• Conversor A/D de rampa dupla e;

• Sigma-Delta.

O Sigma-Delta é uma das importantes técnicas de conversão A/D, utilizada em que se deseja
uma altı́ssima velocidade de conversão, como nos DSPs (Digital Signal Processing).
Portanto, vimos que a conversão do sinal analógico para o digital sempre existe uma perda de
informação seja ela de amplitude - caracterı́stica da quantidade de bits utilizados - ou de fase do
sinal - caracterı́stica da taxa de amostragem empregada.
Vimos que o erro máximo que pode ocorrer na quantização é de metade do valor de nı́vel da
quantização assim sendo quanto maior for o número de bits do conversor menor será o seu erro.
O erro de ”Aliasing”é facilmente evitado utilizando o teorema da amostragem que ”Para que
uma determinada frequência f1 do sinal analógico seja ou possa ser completamente reconstituı́da
a taxa amostral, no processo de digitalização, deve ser no mı́nimo igual a 2xf1”.
Conhecidas as imperfeições da conversão podemos então saber quais os fatores que influem na
escolha de um conversor A/D e assim prever melhor os ajustes que sistema deverá sofrer, pois já
é conhecida as suas fraquezas.

Figura 37.10: Representação gráfica do conversor A/D

37.2.6 Conversor A/D de Rampa Digital


Esse tipo de conversor gera uma rampa de tensão na saı́da do D/A e compara essa rampa com
a tensão de entrada. A rampa é gerada por um contador que, partindo de zero, a cada pulso de
clock incrementa o valor em sua saı́da, fazendo a saı́da do D/A gerar um sinal de rampa. Quando
Cartões Digitais

a saı́da do comprador muda de estado identifica-se que o valor do contador corresponde a tensão
na entrada do D/A.
A principal deficiência desse tipo de conversor é que o tempo de conversão (tempo entre o
inı́cio da conversão e momento em que o resultado é apresentado) depende da tensão, de forma
que quanto maior a tensão de entrada maior o tempo de conversão.

Figura 37.11: Representação gráfica do conversor A/D de rampa digital.

37.2.7 Conversor A/D por Aproximação Sucessiva


Para possibilitar uma conversão onde o tempo de conversão independa do valor de entrada foi
desenvolvido o A/D por aproximação sucessiva. Esse A/D permite obter o resultado da conversão
a intervalos sempre iguais, não proporcionais a tensão de entrada mas sim ao número de bits do
conversor.
O funcionamento desse conversor realiza o seguinte algoritmo (considere a figura abaixo para
análise):

1. Zera todos os bits do registro de controle

2. Seta o bit mais significativo

3. Verifica se o resultado a Vax (gerada pelo conversor D/A) é maior que Va (tensão de entrada)

• Se Vax < Va (COMP = 1), mantém o bit em ’1’


• Se Vax > Va (COMP = 0), volta o bit para ’0’

4. Repete o processo para cada bit, até chegar no menos significativo. Dessa forma, um AD
de n bits realizará a conversão em n interações.
Cartões Digitais

Figura 37.12: Conversor A/D por aproximação sucessiva.

A tabela abaixo apresenta o resultado da conversão por aproxima sucessiva, considerando-se


uma tensão de entrada de 3,69V e um conversor de 4 bits que tem como referências 0 e 5V (cada
interação corresponde a um perı́odo do sinal de clock aplicado ao conversor).

Interação D3 D2 D1 D0 Vax Va Comp


1 1 0 0 0 2,67 3,69 1
2 1 1 0 0 4,00 0
3 1 0 1 0 3,33 1
4 1 0 1 1 3,67 1

Tabela 37.2: Tabela de conversão

37.2.8 Conversor A/D Flash


Este tipo de conversor converte diretamente o valor de tensão de entrada em uma palavra
binária. Para isso, ele compara a tensão de entrada com cada uma das faixas de quantização,
identificando quais deve estar em zero e um. Esse resultado passa por uma codificador que
transforma essa informação em uma palavra binária.
Como vantagem, esse tipo de A/D tem o menor tempo possı́vel de conversão. Em contrapar-
tida sua construção é de grande complexidade, já que cada faixa de quantização necessita de um
comparador. Por exemplo, um comparador de 10 bits precisa de 1024 comparadores.
Cartões Digitais

Figura 37.13: Representação gráfica do conversor A/D Flash.

A tabela a seguir ilustra o funcionamento do conversor A/D flash:

Va C1 C2 C3 C4 C5 C6 C7 A B C
0-1V 1 1 1 1 1 1 1 0 0 0
1-2V 0 1 1 1 1 1 1 0 0 1
2-3V 0 0 1 1 1 1 1 0 1 0
3-4V 0 0 0 1 1 1 1 0 1 1
4-5V 0 0 0 0 1 1 1 1 0 0
5-6V 0 0 0 0 0 1 1 1 0 1
6-7V 0 0 0 0 0 0 1 1 1 0
>7V 0 0 0 0 0 0 0 1 1 1

Tabela 37.3: Tabela do conversor A/D Flash.


Cartões Digitais
Cartões Digitais

Capı́tulo 38

Caderno de Experiências

38.1 Aula Prática - Conversor Digital Analógico (D/A)


Objetivos:

• Analisar a utilização prática dos conversores D/A

Referências:

• Conversores D/A

Material Necessário:

• Módulo XD200M09.02.01

• Fios e cabos para conexões

Introdução:

O conversor digital analógico é um circuito responsável por converter dados digitais em gran-
dezas analógicas, ou seja, converte a informação contida em bytes em nı́veis de tensão corres-
pondentes aos pesos de cada palavra. Como exemplo podemos citar a conversão de um arquivo
digital em áudio analógico utilizando placas de áudio que acompanham nossos computadores.
Estas placas são equipadas com conversores de no mı́nimo 16 bits.
Além de áudio podemos ter conversões de temperatura, pressão, vazão, posição e outros cir-
cuitos, bem como diminuir custos. Há caracterı́sticas relevantes em uma conversão A/D bem
como número de passos, frequência de amostragem, canais de amostragem e erro de quantização.
Essas caracterı́sticas determinarão quais os conversores ideais para a aplicação desejada.

Questionário:

1. Qual a resolução alcançada com um conversor de 10 bits que opera em uma faixa de 0v a
3,3v?

2. Calcule as tensões obtidas a partir das seguintes palavras digitais:

(a) 11.0110.1010
Cartões Digitais

(b) 01.1001.1110
(c) 00.0101.1111
(d) 10.1110.0001
(e) 00.0011.1010
(f) 00.0001.1100

Exercı́cios propostos:

1. Levantar a curva de transferência do D/A, considerando somente os 4 bits mais significativos.


Para isso, meça os valor de tensão de saı́da para as combinações de entrada. Em seguida
desenhe a curva da função de transferência.
Cartões Digitais

38.2 Aula Prática - Conversor Analógico Digital (A/D)


Objetivos:

• Analisar a utilização prática dos conversores A/D

Referências:

• Conversores A/D

Material Necessário:

• Módulo XD200M09.02.01

• Fios e cabos para conexões

Introdução:

O conversor analógico digital é um CI (circuito integrado) responsável por converter grandezas


digitais em nı́veis analógicos. Como exemplo podemos citar a conversão de dados em áudio
utilizando placas de áudio que acompanham nossos computadores.
Além de áudio podemos ter conversões de temperatura, pressão, vazão, posição e outros cir-
cuitos, bem como diminuir custos.
Há caracterı́sticas relevantes em uma conversão A/D bem como número de passos, frequência
de amostragem, canais de amostragem e erro de quantização, faixa dinâmica, resolução, tempo
de conversão e erro de linearidade. Essas caracterı́sticas determinarão quais os conversores ideais
para a aplicação desejada.

Questionário:

1. Qual a resolução alcançada com um conversor de 8 bits que opera em uma faixa de 0v a 5v?

2. Calcule os valores de conversão obtidos para as seguintes tensões utilizando o conversor


acima citado.

(a) -5v
(b) -4,5v
(c) -3,75v
(d) -2,25v
(e) -1,15v
(f) -0,60v
Cartões Digitais

Exercı́cios:

1. Utilizando o módulo XD200M09.02.01 no Kit, conecte nos dois canais de entrada sinais
ajustáveis a partir de dois potenciômetros alimentados com 5v, como na figura abaixo.
Conecte o sistema de controle de canal em duas chaves lógicas e as saı́das digitais deverão
estar conectadas aos leds de visualização.

2. Varie o potenciômetro e obtenha as tensões dos seguintes pontos:

(a) 0000.0000b -
(b) 0000.0001b -
(c) 0000.0010b -
(d) 0000.0100b -
(e) 0000.1000b -
(f) 0001.0000b -
(g) 0010.0000b -
(h) 0100.0000b -
(i) 1000.0000b -
(j) 1111.1111b -

3. Insira as tensões citadas na questão 2 do questionário acima e compare com os valores


digitais obtidos. Comente a existência de possı́veis diferenças encontradas.
Cartões Digitais

Exercı́cios propostos:

1. Levantar a curva de transferência do D/A, considerando somente os 4 bits mais significativos.


Para tanto, aplique ajuste o sinal de entrada até obter os valores em DAC OUT; anote os
valores de Vin. De posse dessas informações trace a curva da função de transferência do
DAC.
Cartões Digitais
Cartões Digitais

Capı́tulo 39

Manual de Operação e Manutenção

Importante
• Para um completo entendimento do funcionamento do módulo, consulte seu esquema elétrico
e manual dos componentes, ambos presentes no CD que acompanha o kit.

39.1 Hardware
O módulo XD200M09.02.01 nos possibilitará agora trabalharmos um pouco com as informações
analógicas. Surgindo a necessidade na prática de tratarmos sinais e informações, o módulo irá
nos permitir trabalhar com as conversões A/D e D/A.

A placa está disposta de 3 CI’s para trabalhar as funções de conversões:

• 1 CI ADC0808CCN - 8-BIT UP COMPATIBLE A/D CONVERTERS WITH 8-CHANNEL


MULTIPLEXER

• 1 CI SN74HC14N - HEX SCHMITT-TRIGGER INVERTERS

• 1 CI LM358N - DUAL DIFFERENTIAL INPUT OPERATIONAL AMPLIFIERS

Utilizando o módulo XD200M09.02.01 ao circuito de sua escolha, você poderá trabalhar estas
funções digitais, ficando a cargo do usuário fazer as conexões e configurações necessárias para
cada experiência.
Cartões Digitais

Visão da placa

Figura 39.1: XD200M09.02.01 - Conversores A/D e D/A


Capı́tulo 40

Esquemas Elétricos

40.1 XD200M09.02.01
Cartões Digitais
Cartões Digitais
Cartões Digitais

Capı́tulo 41

Memórias

Introdução
Memórias são dispositivos semicondutores usados para armazenar dados. Esses dados geral-
mente encontram-se organizados em palavras de 4, 8, 16 ou 32 bits, não havendo restrições para
outros formatos de organização. Cada palavra de informação ocupa um ”endereço”dentro da
memória, de forma que é possı́vel referenciar o dado a ser acessado.
A memória é uma parte importante na arquitetura de sistemas computacionais, pois cabe a
ela armazenar tanto o programa a ser executado, quanto os dados utilizados durante a execução
do mesmo. A evolução da tecnologia de semicondutores proporcionou a confecção de dispositivos
de memória cada vez mais rápidos, maior capacidade de acesso e com menor tamanho fı́sico.
As memórias podem ser classificadas por dois modos distintos devido ao tipo de armazena-
mento de dados, são eles o tipo ’volátil’ e o tipo ’não volátil’.

41.1 Memória Volátil


A memória volátil é caracterizada pela necessidade de alimentação para a manutenção dos da-
dos armazenados, uma vez que a alimentação é cessada todos os dados armazenados são perdidos.
A memória volátil ainda se sub-divide em dois grupos: memória dinâmica e memória estática.

41.1.1 Memória Volátil Dinâmica


O nome dinâmica é referente à tecnologia utilizada para armazenar programas e dados e não à
forma de acessá-los. De modo simplista ela funciona como uma bateria que deve ser recarregada
sempre que apresentar carga insuficiente para alimentar o equipamento.
Todas as vezes que a memória for acessada, para escrita ou para leitura, cada célula dessa
memória é atualizada. Se ela tem nı́vel lógico 1 armazenado, sua ”bateria”será recarregada; se ela
tem 0 lógico, a ”bateria”será descarregada. Este procedimento é chamado de refresco de memória,
em inglês, refresh.
Esses tipos de memória tornaram-se populares pelo seu emprego em computadores pessoais,
devido a seu baixo custo, tornando se popularizadas como memória RAM. Este nome é devido
ao nome adotado em inglês Randomic Acess Memory (Memória de acesso randômico), que nos
garante acesso aos dados armazenados a partir de qualquer endereço.
Cartões Digitais

Figura 41.1: Exemplo de memória RAM aplicada em Computadores

41.1.2 Memória Volátil Estática


A memória estática não necessita ser analisada ou recarregada a cada momento. Fabricada
com circuitos eletrônicos conhecidos como latch, guardam a informação por todo o tempo em que
estiverem recebendo alimentação.

41.2 Memória Não Volátil


São aquelas que guardam todas as informações mesmo quando não estiverem a receber ali-
mentação. Como exemplos, podemos citar as memórias conhecidas por ROM, EEPROM e
FLASH, bem como os dispositivos de armazenamento em massa, disco rı́gido, CDs e disquetes.
As memórias somente para leitura, do tipo ROM (sigla de Read Only Memory), permitem o
acesso aleatório e são conhecidas pelo fato de o usuário não poder alterar o seu conteúdo, uma
vez gravada o usuário não terá acesso a possibilidade de fazer alterações nos dados ali contidos.
Para gravar uma memória deste tipo são necessários equipamentos especı́ficos conhecidos como
gravadores de memória, que devem levar em consideração o tipo de tecnologia empregada na
construção da memória, o tamanho e o fabricante. Dentre as memórias do tipo ROM destacam-se
as seguintes:
Cartões Digitais

41.3 Estrutura e Endereçamento


Uma memória pode ser entendida como um armário, onde cada prateleira representa um
endereço de memória. É possı́vel então guardar (escrever) ou retirar (ler) o conteúdo de cada
prateleira. Para isso existe uma forma de informar a prateleira a ser acessada (endereço) e qual
o tipo de acesso (leitura ou escrita) e os acessos aos endereços pode ser paralelo ou serial.

41.3.1 Endereçamento Paralelo


A figura abaixo apresenta um diagrama genérico de uma memória semicondutora com en-
dereçamento paralelo.

Figura 41.2: Estrutura Interna da Memória SRAM UT62256.

No diagrama podemos identificar as principais partes de uma memória. Os pinos de endereços


apontam qual posição da memória será acessada. Internamente um decodificador faz a conversão
para que apenas um endereço seja acessado por vez. Os pinos de dados são por onde as informações
são lidas e escritas. O sinal de controle WR (write) permite indica se o acesso à memória será
uma operação de leitura (WR = 1) ou escrita (WR = 0). O sinal OE (Output Enable) é usado
para ativar o buffer de saı́da da memória em operação em barramentos. O sinal CE (Chip Enable)
permite selecionar qual chip está ativo se a memória for usada em conjunto com outras memórias
ou outros dispositivos.
Cartões Digitais

Figura 41.3: Nomenclatura dos Pinos.

A capacidade de uma memória indica quantos bits ela é capaz de armazenar e é dado pela
expressão:

Capacidade = P alavran (41.1)

Onde:

• Palavra: Número de bits da palavra no qual a memória está organizada;

• n: É o número de endereços.

41.3.2 Endereçamento Serial


Outro tipo de endereçamento é a acesso serial, a memória utilizada nas experiências será a
série 24Cxx.O termo serial significa que não teremos mais uma conexão I/O para cada bit e nem
os terminais de endereços, os dados agora serão inseridos em um único terminal denominado SDI
(Serial Data Input).

Figura 41.4: Estrutura Interna da Memória EEPROM 24Cxx.

O endereçamento Address não será mais realizado em busca direta porque não existem os
terminais A0-Ax, o endereço agora será sequencial através da comunicação serial I2C.
Cartões Digitais

Figura 41.5: Nomenclatura dos Pinos.

41.4 Memórias SRAM


Memória SRAM (Static Random Access Memory) é um tipo de memória de acesso aleatório
que mantém os dados armazenados desde que seja mantida sua alimentação, não precisando que
as células que armazenam os bits sejam atualizados de tempo em tempo (Refresh), como é o caso
das memórias DRAM.
Embora sejam mais caras e ocupem mais espaço, quando comparadas as memórias DRAM,
possuem a vantagem de serem bem mais rápidas, justificando seu uso nas memórias cache L1 e
L2. Além disso, as memórias estáticas consomem mais energia e aquecem mais que as DRAM.
O Módulo XD200M10.01 é utilizado a memória SRAM UT62256 com organização de 32k x 8
totalizando 256kbytes. Abaixo segue os processos de escrita e leitura.

UT62256 - Processo de Escrita


Abaixo segue as instruções do processo de escrita:

1. Conecte os pinos WE, OE e CE a chaves, mantendo-os todos em ”1”;

2. Conecte as entradas de A0 a A14 ao GND;

3. Conecte as entradas I0 a I7 a chaves;

4. Ajuste as chaves das entradas Ix para um valor qualquer e observe nos LEDs;

5. Faça a seqüência para grava os valor da chaves na memória:

a WE = 0;
b CE = 0 e logo em seguida CE = 1;
c WE = 1;
Cartões Digitais

Figura 41.6: Processo de Escrita.

UT62256 - Processo de Leitura


Abaixo segue as instruções do processo de leitura:

1. Após realizar a escrita, faça os seguintes passos;Conecte os pinos WE, OE e CE a chaves,


mantendo-os todos em ”1”;

2. Faça OE = 0 e CE = 0;

3. Mude o valor nas chaves e observe que os LEDs devem permanecer com o valor inicialmente
gravado.

Figura 41.7: Processo de Leitura.

41.5 Memórias EEPROM


A memória EEPROM (Electrically-Erasable Programmable Read-Only Memory) ou também
chamado de E2PROM, é um chip de armazenamento não-volátil usado em computadores e outros
aparelhos. Ao contrário das memórias EPROMs, uma EEPROM pode ser programada e apagada
várias vezes, eletricamente. Pode ser lida um número ilimitado de vezes, mas só pode ser apagada
e programada um número limitado de vezes, que variam entre as 100.000 e 1 milhão. Esse limite é
causado pela contı́nua deterioração interna do chip durante o processo de apagamento que requer
Cartões Digitais

uma tensão elétrica mais elevada. Como cada novo dado gravado no chip requer o apagamento do
anterior, considera-se apagamento e gravação como uma só operação, porém seria possı́vel gravar
o mesmo endereço de memória um bit de cada vez, fazendo então oito gravações com um só prévio
apagamento. Entretanto a maioria das memórias EEPROM faz o apagamento do conteúdo do
endereço automaticamente antes da gravação. O Módulo XD200M10.02 é utilizado a memória EE-
PROM AT28C64B com organização de 8k x 8 totalizando 64kbytes com endereçamento paralelo
e a memória EEPROM 24C08 com organização de 1k x 8 totalizando 8kbytes com endereçamento
serial. Abaixo segue os processos de escrita e leitura para as memórias.

AT28C64B - Processo de Escrita


Realize os seguintes passos para o processo de escrita:

1. Coloque os Pinos OE=1, CE=1 e WE=1;

2. Coloque o endereço desejado para gravar;

3. Coloque CE=0 e WE=0;

4. Coloque o dado desejado para gravar.

Figura 41.8: Processo de Escrita.

AT28C64B - Processo de Leitura


Realize os seguintes passos para o processo de leitura:

1. Coloque os Pinos OE=1, CE=1 e WE=1;

2. Coloque o endereço desejado para leitura;

3. Coloque CE=0 e OE=0;

4. Observe o valor no barramento de dados.


Cartões Digitais

Figura 41.9: Processo de Leitura.

24Cxx - Processo de Escrita


No modo de gravação, o dispositivo mestre envia a condição de Start e as informações de
endereço do escravo, com o pino R/W = 0, para o dispositivo escravo. Depois que o escravo gera
um ACK, o mestre envia o endereço de byte que é para ser escrito para o endereço do ponteiro
24C02/04/08/16.
Depois de receber outro ACK do escravo, o dispositivo mestre transmite o byte de dados a ser
escrita no endereço local da memória. A memória 24Cxx reconhece mais uma vez e o mestre pára
a execução, momento em que o dispositivo começa o ciclo de programaço interno. Embora este
ciclo está em progresso, o dispositivo não irá responder a qualquer pedido do dispositivo Mestre

24Cxx - Processo de Leitura


A pperação de leitura são iniciadas da mesma maneira como a operaçao de escrita, exceto que
o bit R/W do endereço escravo é definido como ”1”.
Cartões Digitais

Exemplos:

1. Uma memória com 10 bits de endereço organizada em palavras de 8 bits tem 8kb (8 kilobits
ou 8192 bits);

2. Uma memória com 12 bits de endereço organizada em palavras de 16 bits tem 64kb (64
kilobits ou 65536 bits);

3. Uma memória com 16 bits de endereço organizada em palavras de 8 bits tem 512 kb (512
kilobits ou 524288 bits)

Observações:

1. A capacidade sempre deverá ser expressa em número de bits, e não em número de bytes;

2. Para saber quantos bytes têm a memória em bytes, basta dividir a capacidade por 8;

3. É usual se expressar a memória em múltiplos de kb (kilobits), sendo que um kilobit cor-


responde a 210 = 1024 bits. Portanto, 1kb = 1024 bits, 4kb = 4096 bits, 64kb = 65536
bits.

4. A unidade para indicar bits é ”b”(minúsculo) enquanto para indicar byte é ”B”(minúsculo).
Assim, 8kb = 1kB.
Cartões Digitais

Capı́tulo 42

Aulas Práticas

42.1 Aula Prática I - Memória SRAM


Objetivos:

• Analisar a utilização prática de memórias RAM.

Referências:

• Memórias

Material Necessário:

• Módulo XD200M10.01.01

• Fios e cabos para conexões

Introdução:

Memórias são dispositivos semicondutores usados para armazenar dados. Esses dados geral-
mente encontram-se organizados em palavras de 4, 8, 16 ou 32 bits, não havendo restrições para
outros formatos de organização. Cada palavra de informação ocupa um ”endereço”dentro da
memória, de forma que é possı́vel referenciar o dado a ser acessado.
Questionário:

1. Quais as diferenças entre memória volátil dinâmica, volátil estática e não volátil?

2. Fale sobre o funcionamento de alguns tipos de memória ROM.

3. Qual a capacidade de uma memória com 12 bits de endereço organizada em palavras de 8


bits?

Exercı́cios:

1. Utilizando o módulo XD200M10.01.01 no Kit, implemente as conexões necessárias para fazer


a gravação e a leitura de uma palavra de 8 bits em dois endereços diferentes.

Exercı́cios propostos:

1. Faça a gravação e a leitura de uma data na memória. Sendo que Dia, Mês e Ano devem
ficar cada um em endereços diferentes.
Cartões Digitais

42.2 Aula Prática II - Memória EEPROM


Objetivos:

• Analisar a utilização prática de memórias EEPROMs

Referências:

• Memórias

Material Necessário:

• Módulo XD200M10.01.02

• Fios e cabos para conexões

Introdução:

A memória EEPROM (Electrically-Erasable Programmable Read-Only Memory) ou também


chamado de E2PROM, é um chip de armazenamento não-volátil usado em computadores e em
outros aparelhos.
Questionário:

1. Quais as diferenças entre as memórias RAM e EEPROM?

2. Qual a diferença entre os acessos paralelo e serial?

Exercı́cios:

1. Utilizando o módulo XD200M10.01.02 no Kit, implemente as conexões necessárias para fazer


a gravação e a leitura de uma palavra de 8 bits em três endereços diferentes para a memória
AT28C64B.

Exercı́cios propostos:

1. Faça a gravação e a leitura de uma data na memória. Sendo que Dia, Mês e Ano devem
ficar cada em endereços diferentes para a memória 24C08.
Cartões Digitais
Cartões Digitais

Capı́tulo 43

Manual de Operação e Manutenção

43.1 Hardware
O módulo XD200M10 permite exercitar os conceitos de memórias e armazenamento de dados
verificando na prática esta função tão importante na arquitetura de sistemas computacionais.

43.2 XD200M10.01
A placa está disposta por um CI capaz de trabalhar o armazenamento de dados:

• 1 CI WS62256LLP - CMOS SRAM 32K X 8BIT Paralelo

Visão da placa

Figura 43.1: XD200M10.01 - Memória RAM


Cartões Digitais

43.3 XD200M10.02
A placa está disposta por um CI capaz de trabalhar o armazenamento de dados:

• 1 CI AT28C64B - CMOS EEPROM 8K X 8BIT Paralelo

• 1 CI 24C08 - CMOS EEPROM 1K X 8BIT Serial

Visão da placa

Figura 43.2: XD200M10.02 - Memória EEPROM

Utilizando o módulo XD200M10 ao circuito de sua escolha, você poderá trabalhar estas funções
digitais, ficando a cargo do usuário fazer as conexões e configurações necessárias para cada ex-
periência usando como apoio o datasheet dos componentes.
Capı́tulo 44

Esquemas Elétricos

44.1 XD200M10.02.01

Resistores de 1k
(R9 a R16)
Cartões Digitais

44.2 XD200M10.02.02

Resistores de 1k
(R3 a R10)

Resistores de 1k
(R11 a R18)
Cartões Digitais
Cartões Digitais

Capı́tulo 45

Introdução:

Os circuitos contadores são subsistemas sequenciais que fornecem em suas saı́das um con-
junto de nı́veis lógicos numa sequencia predeterminada, correspondente a modos de contagem
preestabelecidos. A este conjunto de nı́veis lógicos dá-se o nome de estados internos do contador.
O contador é formado basicamente por flip-flops e, portanto, a velocidade da sequencia gerada
é determinada pela frequência dos pulsos de clock. Sua caracterı́stica sı́ncrona se deve ao fato
de todas as entradas de clock dos flip-flops envolvidos estão interligadas a apenas uma fonte de
clock, garantindo assim a sincronia nas mudanças de estado.
Contadores baseados em máquina de estado possuem a particularidade de que o estado anterior
é relevante para a transição do próximo estado. Essa caracterı́stica proporciona a possibilidade
de se criar contadores não sequenciais, já que o próximo valor é uma resultante depende do valor
antecedente a ela.
Cartões Digitais

Capı́tulo 46

Caderno de Experiências

46.1 Aula Prática - Contador Gray


Objetivos:

• Analisar a utilização prática dos contadores sı́ncronos

• Analisar a utilização de máquinas de estado

Referências:

• Contadores

Material Necessário:

• Módulo XD200M11

• Fios e cabos para conexões

Introdução:

Os circuitos contadores são subsistemas sequenciais que fornecem em suas saı́das um con-
junto de nı́veis lógicos numa sequencia predeterminada, correspondente a modos de contagem
preestabelecidos. A este conjunto de nı́veis lógicos dá-se o nome de estados internos do contador.
O contador é formado basicamente por flip-flops e, portanto, a velocidade da sequencia gerada
é determinada pela frequência dos pulsos de clock. Sua caracterı́stica sı́ncrona se deve ao fato
de todas as entradas de clock dos flip-flops envolvidos estão interligadas a apenas uma fonte de
clock, garantindo assim a sincronia nas mudanças de estado.
Contadores baseados em máquina de estado possuem a particularidade de que o estado anterior
é relevante para a transição do próximo estado. Essa caracterı́stica proporciona a possibilidade
de se criar contadores não sequenciais, já que o próximo valor é uma resultante depende do valor
antecedente a ela.
Questionário:

1. Quais são as caracterı́sticas principais de um contador sı́ncrono?

2. Qual é a caracterı́stica principal do código Gray?


Cartões Digitais

Exercı́cios:

1. Utilizando o módulo XD200M11 no Kit, implemente as conexões necessárias para obter um


contador sı́ncrono de código Gray de 4 bits.
Cartões Digitais
Cartões Digitais

Capı́tulo 47

Manual de Operação e Manutenção

Importante
• Para um completo entendimento do funcionamento do módulo, consulte seu esquema elétrico
e manual dos componentes, ambos presentes no CD que acompanha o kit.

47.1 Hardware
O módulo XD200M11 poderá realizar a tarefa especı́fica do contador código Gray, comumente
utilizado em sistemas sequênciais.

A placa está disposta de doze CI’s:

• 8 CI’S SN74HC08N - QUADRUPLE 2-INPUT POSITIVE-AND GATES

• 2 CI’s MM74HC32N - QUAD 2-INPUT OR GATE

• 2 CI’s SN74LS73AN - DUAL J-K FLIP-FLOPS WITH CLEAR

Utilizando o módulo XD200M11 ao circuito de sua escolha, você poderá trabalhar estas funções
digitais, ficando a cargo do usuário fazer as conexões e configurações necessárias para cada ex-
periência.
Cartões Digitais

Visão da placa

Figura 47.1: XD200M11 - Contador Código Gray


Capı́tulo 48

Esquemas Elétricos

48.1 XD200M11.02.01
Cartões Digitais
Cartões Digitais
Cartões Digitais

Capı́tulo 49

Software

Abaixo é apresentado um guia rápido de utilização do Quartus II. Para mais informações sobre
o funcionamento e uso de software consulte a documentação do mesmo no menu Help.

49.1 Criando o primeiro projeto


Crie um novo documento. Vá a File e clique em New. Aparecerá a seguinte janela:

Nesta janela pode-se escolher qual o tipo de linguagem em que irá se trabalhar, se em VHDL,
linguagem em blocos, etc. Criaremos um arquivo VHDL. Selecione a opção VHDL File como na
figura acima e aperte OK.

Abrirá uma janela de texto, onde será digitado todo o código. Salve este documento com o
nome da entidade a ser criada. Por exemplo, criaremos um código que faça uma contagem de 0
a 9999. É de costume chamar a entidade do projeto, ou seja, a entidade externa, com o nome da
aplicação em si, como na figura a seguir:
Cartões Digitais

Note que o arquivo, ainda com nome sem especificação, apresenta uma entidade chamada
CONTADOR. Esta parte de código ainda não nos interessa, mas este nome é de grande im-
portância para criação de um projeto, pois, se apresentar nomes diferentes, o compilador não
reconhecerá este arquivo e gerará um erro.

Agora salve este arquivo como CONTADOR. Aparecerá uma janela para criação de um novo
projeto.

Selecione a opção SIM e nas janelas posteriores, clique em NEXT até a janela de seleção do
chip. No KIT CPLD LE trabalharemos com o CPLD EPM3064ALC44-10, da famı́lia MAX3000A.
As especificações de famı́lia e chip devem estar de acordo com o CPLD que se quer trabalhar,
como na figura a seguir:
Cartões Digitais

Selecione NEXT até que haja a opção FINISH. Clique nela e pronto!! Você acaba de criar
um novo projeto no QUARTUS II. Para a criação de projetos com tipos de linguagem diferentes,
somente mude de opção quando for gerado o New File.

49.2 Compilação do Projeto


Depois de finalizado, o projeto deve ser compilado através do atalho . Nesta etapa, o software
apontará os erros, caso existam. Logo após, realiza-se a declaração de pinos para que seja possı́vel
a gravação do projeto em um PLD.
Cartões Digitais

Clique em Pins no menu Assignments. Uma área para declaração dos pinos será aberta.

• Depois de declarados os pinos, o projeto deve ser compilado novamente.

49.3 Gravação
O último passo para que se possa então efetuar o teste do protótipo é a gravação do projeto
na placa da Altera. Na área de configuração apresentada, é preciso assegurar que as opções
de hardware estejam corretas através do atalho Hardware Setup. Caso não haja hardware
selecionado, em Add Hardware selecione manualmente ByteBlaster .

Ainda é preciso selecionar a opção Program/Configure. Outras opções como verificação da


gravação são também disponibilizadas.

Clique em Start para iniciar gravação.

• Verifique antes se a placa de gravação encontra-se alimentada e devidamente


instalada na porta paralela do computador.
Capı́tulo 50

A linguagem VHDL

50.1 Histórico
Nas décadas de 70 e 80 foi posto em prática um programa do Departamento de Defesa (DoD)
americano, para desenvolvimento de circuitos integrados de alta velocidade, denominado VHSIC
e originado da preocupação de domı́nio das tecnologias envolvidas. Desde o princı́pio, anteviu-se
o problema de representação dos projetos segundo uma linguagem que fosse comum às várias
empresas envolvidas e que permitisse uma documentação fechada e clara para projetos de com-
plexidade crescente. Nesta mesma época, já havia no mercado de computação a chamada crise
do software, caracterizada pela dificuldade de gestão, documentação e sistematização do ciclo de
vida do software (que envolve, em termos gerais, todas as atividades de relativas à sua criação e
uso)1. O problema surgiu inicialmente no software porque era no software que se desenvolviam
as aplicações, que tornavam o produto particular para um uso especı́fico. Isso fazia com que um
grande volume de projetos fossem conduzidos, quase sempre com muita complexidade e pouco
método. No hardware a questão era mais bem controlada, pois os projetos eram, em geral, mais
genéricos, especialmente para o hardware digital. Os projetos de microprocessadores, que eram
os mais complexos, visavam na maior parte dos casos o uso geral. Um mesmo microprocessador
seria utilizado em várias aplicações, seria reproduzido e testado aos milhões. Isso significava que o
investimento em um único projeto poderia ser muito maior, inclusive em termos de especificação
e testes. A evolução da metodologia de projeto de software foi então natural, em função dos
argumentos sustentados pela crise. Hoje ainda é grande o desenvolvimento de novos métodos e
a busca por uma linguagem descritiva universal, como o UML, para especificação e projeto de
software orientado a objetos. A questão preocupante quanto ao hardware, para o programa VH-
SIC americano, era que alguns fatos indicavam para uma evolução do mercado que faria surgirem
problemas semelhantes aos apresentados pela crise de software. Entre estes fatos:

• A fabricação de circuitos integrados deixava de ser exclusiva de alguns poucos fabricantes.


Surgiam empresas especializadas na fabricação de projetos de terceiros, o que permitiria,
em conjunto com o desenvolvimento de tecnologias de fabricação menos custosas, a criação
de CIs de uso especı́fico para certas aplicações.

• As novas tecnologias de fabricação permitiam um aumento de densidade dos CIs, com


consequente aumento de complexidade.
Cartões Digitais

• Surgiam componentes de lógica programável (PLDs e PALs), inicialmente de pequena den-


sidade, mas que poderiam evoluir para densidades muito maiores rapidamente. Tais compo-
nentes poderiam criar como de fato ocorreu posteriormente, um grande mercado de projetos
de pequena escala e aplicações especı́ficas, muito parecidas com o mercado de projetos de
software.

A criação de uma linguagem de descrição de hardware patrocinada pelo programa e, em


paralelo algumas outras linguagens criadas pela indústria, foi então uma decorrência natural. Em
1987, o VHDL foi normalizado pelo IEEE, tornando-se um padrão mundial, ao lado do Verilog,
uma alternativa também expressiva no mercado de projetos de hardware. Hoje, praticamente
todas as ferramentas de desenvolvimento de hardware computadorizadas aceitam essas linguagens
como entrada, de forma que um projeto baseado em VHDL ou Verilog pode ser implementado
com qualquer tecnologia.

50.2 Vantagens de Uso


A alternativa para uso de uma linguagem formal de descrição de hardware como o VHDL é a
descrição por diagramas esquemáticos. O VHDL apresenta as seguintes vantagens:

• Em sistemas sequenciais, o detalhamento da lógica de controle é realizado pelas ferramentas


de automação do projeto, o que evita a trabalhosa e limitada aplicação das técnicas manuais
tradicionais;

• O objetivo do projeto fica mais claro que na representação por esquemáticos, nos quais a
implementação se sobrepõe à intenção do projeto;

• O volume de documentação diminui, já que um código bem comentado em VHDL substitui
com vantagens o esquemático e a descrição funcional do sistema;

• O projeto ganha portabilidade, já que pode ser compilado em qualquer ferramenta e para
qualquer tecnologia. É comum, na indústria, o uso de FPGAs e CPLDs para produções
iniciais ou de menores escalas em projetos que posteriormente possam ser implementados
em ASICs. Todas as implementações podem usar o mesmo código VHDL.

50.3 Introdução à Linguagem


Será explanada uma breve introdução à linguagem VHDL, os principais tópicos serão aborda-
dos, ou seja, estudaremos os pontos básicos para iniciar uma programação nesta linguagem.

50.3.1 Entidade
Uma entidade de projeto (design entity) é uma abstração que descreve um sistema, uma placa,
um chip, uma função ou, até mesmo, uma porta lógica. Uma entidade é composta por duas partes:
declaração da entidade e arquitetura. Na declaração de uma entidade, descreve-se o conjunto de
entradas e saı́das. A arquitetura (architecture) descreve as funções realizadas pela entidade.
Cartões Digitais

No exemplo dado abaixo, a entidade PORTAE possui duas entradas, a e b, e uma saı́da, s,
que definem o port da entidade. Os ports correspondem a pinos e são tratados como objetos de
dados. Pode-se atribuir ou obter valores. Cada entrada ou saı́da possui um modo (mode) de
operação. Os quatro modos possı́veis são:

• in - entrada

• out - saı́da: os pinos definidos como saı́da não podem ser utilizados como entradas, nem
seus valores utilizados na lógica interna;

• buffer - saı́da com possibilidade de realimentação;

• inout - substitui qualquer um dos outros, mas seu uso deve ser limitado aos casos em que
o pino deva ser utilizado como entrada e saı́da, para clareza na descrição.

No exemplo a seguir, é realizada a operação lógica ”E”entre os pinos de entrada ”a”e ”b”na
arquitetura principal. Note que a saı́da ”s”recebe o valor da operação.

Exemplo 1:

50.3.2 Corpo da Arquitetura


A arquitetura de uma entidade pode ser descrita de algumas formas distintas, mas que, em
geral conduzem a uma mesma implementação.

Descrição Comportamental

Esta é a forma mais flexı́vel e poderosa de descrição. São definidos processos concorrentes
(process). A cada processo é associada uma lista de sensibilidade, que indica quais são as variáveis
cuja alteração deve levar à reavaliação da saı́da. No simulador funcional, quando uma variável da
lista é modificada, o processo é simulado novamente. O código abaixo ilustra a aplicação deste
tipo de descrição à porta lógica do exemplo, onde a cada mudança das entradas, é realizado o
processo comp e a saı́da s recebe o resultado da operação lógica ”e”entre ”a”e ”b”. É importante
ressaltar que em uma arquitetura poderá ser executado mais de um processo simultaneamente.
Cartões Digitais

Exemplo 2:

Descrição por Fluxo de Dados

Neste tipo de descrição, os valores de saı́da são atribuı́dos diretamente, através de expressões
lógicas. Todas as expressões são concorrentes no tempo.

Exemplo 3:

50.3.3 Classe de objetos


Objetos são elementos que contêm um valor armazenado. Quatro classes de objetos são
definidas em VHDL:

• constante ou ”CONSTANT”

• variável ou ”VARIABLE”

• sinal ou ”SIGNAL”

• arquivo ou ”FILE”

A constante é um objeto com um valor estático. No caso da variável, o valor inicial imposto
pode ser alterado no decorrer do código, e é empregada em regiões de código seqüencial. Sinais são
objetos que podem ter o seu valor alterado, e são empregados em regiões de código concorrente e
seqüencial. A seguir serão apresentados exemplos de declaração desses tipos de objetos de classes:
Cartões Digitais

Tipos de Dados Escalares

A tabela a seguir apresenta tipos escalares predefinidos no pacote padrão. Tipos escalares
são ordenados e representam um valor único, permitindo assim, a aplicação de operadores como
maior, menor, etc. Os tipos de dados possı́veis na linguagem VHDL são:

Tipos de Dados Compostos

A tabela a seguir apresenta dois tipos compostos predefinidos no pacote padrão. São eles: ”AR-
RAY”: o tipo ”BITVECTOR”contendo elementos do tipo ”BIT”, e o tipo ”STRING”contendo
elementos do tipo ”CHARACTER”(ver tabela abaixo). Na declaração de um objeto, o número de
elementos contidos no vetor é especificado através das palavras reservadas ”DOWNTO”e ”TO”.
A primeira identifica uma ordem decrescente nos ı́ndices e a segunda uma ordem crescente.

Exemplo 4:

Sgnal a: BITVECTOR (0 to 7) := ”10110011”

1 0 1 1 0 0 1 1

a(0)................a(7)

Exemplo 5:
Cartões Digitais

Sgnal a: BITVECTOR (7 downto 0) := ”10110011”

1 0 1 1 0 0 1 1

a(7)................a(0)

50.3.4 Operadores
Os operadores definidos são divididos em classes que estabelecem a precedência na execução
das operações. A tabela a seguir mostra, em ordem crescente de precedência, as classes dos
operadores. Os operadores de uma mesma classe de procedência possuem o mesmo nı́vel de
procedência, porém podem ser empregados parênteses para evidenciar a ordem desejada.

Nota: o operador ”not”está inserido na classe devido a sua maior prioridade.


Cartões Digitais
Cartões Digitais

Capı́tulo 51

Caderno de Experiências

51.1 Aula Prática - CPLD


Objetivos

• Estudar os conceitos de programação em diagramas em blocos

• Analisar um exemplo para CPLD de circuito combinacional

Referências

• Apostila XD200M12

Exemplo

Apresentam-se abaixo as telas contendo os projetos montados e os pinos utilizados para teste e
validação do hardware. Sendo importante ressaltar que existem diversos modos de programação do
dispositivo, porém para finalidade didática optou-se pelo modo gráfico para melhor entendimento
dos usuários:
. Tela do esquema implementado para o CPLD:
Cartões Digitais

O esquema implementado acima apresenta apenas três portas lógicas, que são respectivamente:
”porta ou-exclusiva”, ”e”e ”ou”.
. Tela dos pinos escolhidos para o esquema implementado:

51.1.1 Questionário
1. Cite as vantagens do uso da linguagem VHDL.

2. Cite uma maneira com a qual podemos desenvolver a arquitetura de um programa.

3. Qual a forma para se declarar uma variável com tamanho de 556 posições?
Cartões Digitais

51.1.2 Exercı́cios
Desenvolva um programa que faça a contagem de 0 a 9 em linguagem VHDL.

51.1.3 Exercı́cios propostos


Elabore o mesmo um programa com o mesmo propósito do exemplo anterior, porém a con-
versão será com base em números em hexadecimal.
Cartões Digitais
Cartões Digitais

Capı́tulo 52

Manual de Operação e Manutenção

52.1 Conteúdo do módulo


Depois de retirar o seu kit da embalagem, verifique se o mesmo possui os seguintes itens:

• 1 cabo flat

• 1 cabo paralelo

• 1 fonte 9Vcc

• 1 modulo XD200M12

• 1 placa Byteblaster

• 1 CD com software, exemplo, manual, apostila, caderno de experiência e datasheet dos


compoentes principais

Caso ocorra a falta de algum destes itens ou defeito, consulte a Exsto Tecnologia para escla-
recimentos.

52.2 Conteúdo do CD em Pastas

Figura 52.1: Distribuição em árvore do conteúdo do CD


Cartões Digitais

52.3 Instalações
Para o uso de qualquer uma das placas que fazem parte do módulo XD200M12, siga os
procedimentos descritos abaixo:

• Verifique se o bastidor onde a placa será colocada está desligado

• Antes de conectar o cartão, verifique se a seta branca, que aparece impressa na placa, está
apontando para o lado de cima da placa. Ela é de fácil visualização e está na parte superior

• Encaixe o módulo no bastidor, verificando se todos os pinos laterais se encaixam perfeita-


mente ao bastidor

• Ligue o bastidor e o mesmo já estará disponı́vel para uso

É importante lembrar que o equipamento deve ser encaixado com o bastidor desligado para
evitar picos de corrente no módulo, danificando-o. Ainda deve-se garantir que o módulo não
foi encaixado de forma invertida ou com alguns pinos fora do conector, isso pode causar mal
funcionamento e até mesmo perda da garantia caso os componentes sejam danificados.

52.4 Instalação do Software


Para se inicializar a operação de desenvolvimento e estudo, além do Módulo XD200M12, é
preciso instalar o programa se será o ambiente de desenvolvimento para CPLD. A IDE utilizada
nesse caso é o Quartus II 7.1 desenvolvido e distribuı́do gratuitamente pela fabricante Altera.
Mesmo sendo uma IDE de distribuição gratuita é necessário seguir alguns passos para se obter
a licença para trabalhar com esse programa. Para se obter a licença basta se cadastrar no site
www.altera.com, assim que criar seu usuário basta solicitar a licença para uso do Quartus II 7.1
Web Edition e seguir as instruções que virão com um passo a passo on-line.

52.4.1 Instalação da Quartus II 7.1


O Kit de CPLD é acompanhado com um DVD contendo os programas utilizados para o de-
senvolvimento nesse dispositivo, na pasta ”programas”se encontra o instalador do Quartus II 7.1.

Na próxima página segue o passo a passo de sua instalação:


Cartões Digitais

Figura 52.2: Pagina de apresentação da instalação

Figura 52.3: Confirmação de licença da Altera


Cartões Digitais

Figura 52.4: Identificação de Usuário

Figura 52.5: Determinando local de instalação


Cartões Digitais

Figura 52.6: Confirmação do nome da pasta do menu iniciar

Figura 52.7: Escolha do tipo de Instalação


Cartões Digitais

Figura 52.8: Confirmação das opções selecionadas

Figura 52.9: Página de instalação do Quartus II


Cartões Digitais

Figura 52.10: Instalação finalizada

Validação da Licença

Ao rodar o programa ele irá solicitar o arquivo ’.dat’ de licença fornecido pela Altera, que o
usuário deverá receber após fazer o cadastro e a solicitação da licença pela internet. O arquivo
será enviado pela própria altera no e-mail que for utilizado para o cadastro, esse arquivo deverá
ser salvo na pasta de instalação do Quartus II.
.
Cartões Digitais

Após salvar o arquivo, será necessário indica-lo ao programa para que o mesmo seja licenciado,
como está exemplificado abaixo:

O ’License Setup’ está o local para se carregar o arquivo ’.dat’.


Cartões Digitais

Indique o caminho para localização do arquivo.

Assim que indicar o caminho o programa irá carregá-lo sempre que for aberto.

52.5 Hardware

Figura 52.11: Visão da placa XD200M12 - CPLD


Cartões Digitais

O kit CPLD LD é formado por periféricos que possibilitam sua interação com displays de sete
segmentos, leds para uso geral, dip-switch, todas as IOs disponı́veis para periféricos externos bem
como saı́da para gravação de dispositivos fora da placa.
Há no Kit de CPLD uma chave Dip-switch, totalizando de oito chaves, para simular aciona-
mentos diversos. As chaves forçam nı́vel lógico alto e nı́vel lógico baixo diretamente no pino onde
estão conectadas, garantindo nı́veis estáveis para uma simulação eficaz durante o desenvolvimento
e estudos realizados com o kit.
Para este kit foram previstas operações lógicas básicas, dentre elas operações com displays
de sete segmentos. O Display também pode ser utilizado como oito leds se aplicar um sinal na
entrada do ponto.
O conector JTAG é o conector responsável pela gravação do chip, ele é conectado ao Byte
Blaster.

52.6 Software
Abaixo é apresentado um guia rápido de utilização do Quartus II. Para mais informações sobre
o funcionamento e uso de software consulte a documentação do mesmo no menu Help.

52.6.1 Criando o Primeiro Projeto


Crie um novo documento. Vá a File e clique em New. Aparecerá a seguinte janela:

Nesta janela pode-se escolher qual o tipo de linguagem em que irá se trabalhar, se em VHDL,
linguagem em blocos, etc. Criaremos um arquivo VHDL. Selecione a opção VHDL File como na
figura acima e aperte OK.

Abrirá uma janela de texto, onde será digitado todo o código. Salve este documento com o
nome da entidade a ser criada. Por exemplo, criaremos um código que faça uma contagem de 0
a 9999. É de costume chamar a entidade do projeto, ou seja, a entidade externa, com o nome da
aplicação em si, como na figura a seguir:
Cartões Digitais

Note que o arquivo, ainda com nome sem especificação, apresenta uma entidade chamada
CONTADOR. Esta parte de código ainda não nos interessa, mas este nome é de grande im-
portância para criação de um projeto, pois, se apresentar nomes diferentes, o compilador não
reconhecerá este arquivo e gerará um erro.

Agora salve este arquivo como CONTADOR. Aparecerá uma janela para criação de um novo
projeto.

Selecione a opção SIM e nas janelas posteriores, clique em NEXT até a janela de seleção do
chip. No KIT CPLD LE trabalharemos com o CPLD EPM3064ALC44-10, da famı́lia MAX3000A.
As especificações de famı́lia e chip devem estar de acordo com o CPLD que se quer trabalhar,
como na figura a seguir:
Cartões Digitais

Selecione NEXT até que haja a opção FINISH. Clique nela e pronto!! Você acaba de criar
um novo projeto no QUARTUS II. Para a criação de projetos com tipos de linguagem diferentes,
somente mude de opção quando for gerado o New File.

52.6.2 Compilação do Projeto


Depois de finalizado, o projeto deve ser compilado. Nesta etapa, o software apontará os erros,
caso existam. Logo após, realiza-se a declaração de pinos para que seja possı́vel a gravação do
projeto em um PLD.
Cartões Digitais

Clique em Pins no menu Assignments. Uma área para declaração dos pinos será aberta.

• Depois de declarados os pinos, o projeto deve ser compilado novamente.

52.6.3 Gravação
O último passo para que se possa então efetuar o teste do protótipo é a gravação do projeto na
placa da Altera, clicando no atalho de gravação. Na área de configuração apresentada, é preciso
assegurar que as opções de hardware estejam corretas através do atalho Hardware Setup. Caso
não haja hardware selecionado, em Add Hardware selecione manualmente ByteBlaster .

Ainda é preciso selecionar a opção Program/Configure. Outras opções como verificação da


gravação são também disponibilizadas.

Clique em Start para iniciar gravação.


Cartões Digitais

• Verifique antes se a placa de gravação encontra-se alimentada e devidamente


instalada na porta paralela do computador.

52.7 Procedimento de Testes


1. Teste contador2

• Conecte o Byte Blaster na fonte, no cabo paralelo e no modulo XD200M12


• Abra o software QuartusII
• File/Open Project/contador/abrir
• Tools/programer
• Hardware Setup/Byte Blaster/close
• De dois cliks no arquivo dentro da janela programer, vai abrir uma nova janela, selecione
o arquivo ’contador2.pof’
• Selecione a opção Program/Configure
• Clique em start
• Pinagem necessária:

D7 A
D6 B
D5 C
D4 D
D3 E
D2 F
D1 G
D0 Pto
GLCk1 Clock 100KHz

• Mude o JP1 da posição int para a posição ext e aplique um um sinal de 100KHz no
pino GLCK1. Observe que agora é possı́vel observar o display contando

2. Teste IO

• Conecte o Byte Blaster na fonte, no cabo paralelo e no modulo XD200M12


• Abra o software QuartusII
• File/Open Project/io/abrir
• Tools/programer
• Hardware Setup/Byte Blaster/close
• De dois cliks no arquivo dentro da janela programer, vai abrir uma nova janela, selecione
o arquivo ’io.pof’
• Selecione a opção Program/Configure
• Clique em start
• Meça a tensão sobre as IOs D0 a D23, PIN40 e PIN41. A tensão sobre as saı́das são
0V e 3,3V alternando de uma IO para outra
Capı́tulo 53

Esquemas Elétricos

53.1 XD200M12.02.01
Cartões Digitais
Cartões Digitais

Capı́tulo 54

Resolvendo Problemas

54.1 Suporte Técnico


A Exsto Tecnologia oferece suporte técnico gratuito para questões de utilização de seus pro-
dutos através do e-mail suporte@exsto.com.br ou do telefone (35) 3473-4050.

Você também pode gostar