Você está na página 1de 142

Laboratório de

Sistemas Digitais I

Apostila X - Turma HH 2015.2

Professores

Fabiano Araújo Soares


José Felício da Silva
Marcus Chaffim
Renato Lopes

UnB - FGA
Agosto de 2015
Conteúdo

I Apresentação e Regras Gerais 5


1 Uso do Laboratório e Normas de Documentação 7
1.1 Considerações Gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Normas para Elaboração de Pré-relatórios . . . . . . . . . . . . . . . . . 8
1.3 Normas para Elaboração de Relatórios . . . . . . . . . . . . . . . . . . . 9
1.4 Regras de Uso do Laboratório . . . . . . . . . . . . . . . . . . . . . . . . . 13

2 Familiarização com a Bancada 15


2.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 Parte Experimental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3 Equipamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4 Material para Montagem de Circuitos . . . . . . . . . . . . . . . . . . . . 18
2.5 Chaves (ou switches) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

II Experimentos 23
1 Caracterização de Portas Lógicas 25
1.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.2 Portas Lógicas e Circuitos Integrados . . . . . . . . . . . . . . . . . . . . 25
1.3 Pré-Relatório . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
1.4 Roteiro Experimental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

2 Circuitos Lógicos Combinacionais 45


2.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.2 Circuitos Lógicos Combinacionais . . . . . . . . . . . . . . . . . . . . . . . 45
2.3 Displays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.4 Pré-Relatório . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.5 Roteiro Experimental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

3 Circuitos Somadores e Subtratores 55


3.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.2 Circuitos Aritméticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.3 Pré-Relatório . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.4 Roteiro Experimental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

4 Circuitos Codificadores e Decodificadores 63

1
4.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.2 Circuitos conversores de códigos . . . . . . . . . . . . . . . . . . . . . . . . 63
4.3 Pré-Relatório . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.4 Roteiro Experimental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

5 Circuitos Multiplexadores e Demultiplexadores 69


5.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.2 Circuitos Multiplexadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.3 Pré-Relatório . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.4 Roteiro Experimental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

6 Flip-Flops 77
6.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.2 Circuitos Lógicos Seqüenciais . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.3 Pré-Relatório . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.4 Roteiro Experimental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

7 Circuitos Contadores Síncronos e Assíncronos 83


7.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
7.2 Circuitos Contadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
7.3 Pré-Relatório . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
7.4 Roteiro Experimental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

IIIProjetos Finais 91
I Regras Gerais 93
I.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
I.2 Sobre os Temas de Projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
I.3 Documentos Esperados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

1 ULA 97
1.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
1.2 Projeto Básico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
1.3 Exemplos de Funcionamento . . . . . . . . . . . . . . . . . . . . . . . . . . 98
1.4 Desafios Adicionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

2 Gerador de Onda Quadrada Programável 101


2.1 Projeto Básico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
2.2 Desafios Adicionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

3 Testador de CIs 103


3.1 Projeto Básico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
3.2 Desafios Adicionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

4 Controle de Motor de Passo 105


4.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

2
CONTEÚDO

4.2 Projeto Básico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106


4.3 Desafio Adicional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

5 Freqüencímetro 109
5.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.2 Projeto Básico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.3 Desafio Adicional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

6 Verificador de Senhas 113


6.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
6.2 Projeto Básico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
6.3 Desafio Adicional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

7 Detector e Corretor de Erros 117


7.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
7.2 Projeto Básico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
7.3 Desafio Adicional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

IV Anexos 121
A Pinagem de CIs 74’xxx 123

B Depurando Circuitos 137


B.1 Considerações Gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
B.2 O Processo de Depuração . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

3
Parte I

Apresentação e Regras Gerais

5
1

MBIENTAÇÃO
A
U SO DO L ABORATÓRIO E N ORMAS
DE D OCUMENTAÇÃO

1.1 Considerações Gerais


O laboratório é um complemento essencial das aulas teóricas. Assim, os experimen-
tos estarão sincronizados, na medida do possível, com os tópicos vistos previamente
em sala de aula. Os roteiros dos experimentos estarão disponíveis na plataforma
Moodle uma semana antes da realização da prática, com o intuito de permitir a
conclusão das tarefas solicitadas.
Os experimentos serão realizados por uma dupla que permanecerá a mesma du-
rante todo o semestre. Caso haja desistência ou trancamento da disciplina por um
aluno da dupla, haverá uma reordenação de dupla (caso dois alunos se encontrem
na mesma situação), ou o aluno continuará a realizar os experimentos só. Não
será permitida a formação de trios.
Para a realização dos experimentos, os alunos deverão apresentar um pré-relatório
correspondente à prática que será realizada. No início de uma aula típica, os alu-
nos entregarão ao professor dois documentos: (I) o pré-relatório correspondente ao
experimento do dia e (II) o relatório do experimento anterior.

A dupla que não apresentar o pré-relatório - ou apresentá-lo


incompleto - não poderá realizar o experimento, obtendo
consequentemente nota zero na pratica em questão. Neste caso não
haverá reposição do experimento

1.1.1 Localização e Disponibilidade


O laboratório usado para os experimentos está localizado no prédio da UED, no
piso térreo. O laboratório pode ser utilizado pelos alunos em outros horários que

7
1. U SO DO L ABORATÓRIO E N ORMAS DE D OCUMENTAÇÃO

não sejam o da aula, desde que:

• Não haja outra aula no horário pretendido;

• Seja preenchido o formulário de agendamento com o técnico;

• Tenha a presença de um monitor da disciplina para acompanhar as ativida-


des.

Sem horário agendado o aluno não poderá utilizar as dependências


do laboratório

A dupla terá à disposição todo material necessário para a realização dos experimen-
tos, incluindo a protoboard e os CIs.

1.2 Normas para Elaboração de Pré-relatórios


O tempo de aula em laboratório é um tempo que não deve ser desperdiçado. É a
chance que o aluno tem de enfrentar dificuldades inesperadas, aprimorar as habili-
dades de depuração e uso do raciocínio lógico para resolver problemas na presença
do professor.
É de grande importância, portanto, o planejamento prévio e a utilização de uma
documentação adequada. O pré-relatório é um documento direcionado para a exe-
cução do experimento. Em geral, no pré-relatório o aluno deverá realizar simu-
lações dos circuitos presentes no experimento e responder questões referentes à
pratica a ser realizada.
O pré-relatório é por dupla e de formato livre. Entretanto, deve ser entregue
grampeado e conter:

1. Cabeçalho com identificação completa do documento, contendo:

• Nome e código da disciplina;


• Número e título do experimento;
• Turma de laboratório;
• Nome, assinatura e matrícula do autor;
• Local e data.

2. Respostas às perguntas do roteiro, devidamente identificadas;

3. Tabelas e diagramas devidamente identificados, incluindo as tabelas de co-


nexão;

4. Diagramas esquemáticos dos circuitos simulados, seguindo as mesmas nor-


mas dos especificados para o relatório.

8
1.3. Normas para Elaboração de Relatórios

1.3 Normas para Elaboração de Relatórios


As normas a seguir são válidas para relatórios, sejam eles escritos à mão ou em
formato digital.

1.3.1 Estrutura do Relatório


O relatório é da dupla que realizou o experimento. O mesmo deve ser entregue
grampeado, com todas as páginas numeradas. Figuras, gráficos e tabelas devem ter
título e numeração. Exemplo: “Figura 2.1 - Diagrama lógico do circuito somador”.
O relatório deve ter a seguinte estrutura:

1. Capa, contendo:

• Nome e código da disciplina;


• Número e título do experimento;
• Turma de laboratório;
• Nome, assinatura e matrícula dos autores;
• Local e data.

2. Sumário, apresentando as partes constituintes do relatório com as respecti-


vas paginações.

3. Introdução, indicando a delimitação do tema, apresentando a justificativa


descrevendo o propósito do relatório.

4. Objetivos

• Objetivo geral, mostrando a finalidade do trabalho e apresentando uma


visão geral do tema em estudo.
• Objetivos específicos, apresentando detalhadamente o que se espera ob-
ter do experimento.

5. Parte Experimental , contendo no mínimo os seguintes itens:

• Materiais utilizados (componentes, equipamentos e bancada usada);


• Procedimento experimental: descrever a(s) metodologia(s) empregada(s)
durante a realização a prática. Exemplo: “Realizou-se o procedimento
de acordo com o item 3.2.1 do roteiro, com as seguintes etapas:
– Montou-se o circuito da Prancha 01 na protoboard, utilizando-se a
lista de conexões das Tabelas 3 a 5. Como não se testaram as cone-
xões durante o processo de montagem, nada funcionou.
– Percebeu-se que a fonte DC estava desligada. Em seguida, ligou-se
a fonte, porém não verificou-se o nível de tensão na saída do equipa-
mento. Como a mesma se encontrava em 30 V e já estava conectada
à protoboard, isto causou a queima de todos os CIs.

9
1. U SO DO L ABORATÓRIO E N ORMAS DE D OCUMENTAÇÃO

– Após trocar todos os CIs e ajustar a tensão da fonte em 5 V, o circuito


passou a funcionar, porém de maneira incorreta, pois o LED1 sem-
pre se encontrava aceso independentemente do posicionamento das
chaves CH1 e CH2.
– Detectou-se que um dos CIs, o 74LS04, não se encontrava aterrado.
Após realizar a conexão do pino 07 com a linha de terra na protobo-
ard, o circuito passou a funcionar corretamente.”
• Resultados obtidos: fazer uma descrição detalhada dos resultados en-
contrados em forma de figuras, gráficos e tabelas.
6. Discussão sobre os resultados encontrados, comentando detalhadamente
as medições realizadas e dando a devida interpretação destas, informando se
os objetivos da experimento foram alcançados. Esta é uma das partes mais
importantes do relatório: aqui, há oportunidade para expressar os conheci-
mentos adquiridos na prática e fazer a interrelação com os fundamentos teó-
ricos.
7. Conclusões, mostrando os êxitos e eventuais problemas encontrados na rea-
lização do experimento, indicando as limitações, apresentando recomendações
e/ou sugestões.
8. Referências Bibliográficas, relacionadas e citadas de acordo com as nor-
mas da ABNT.
9. Tabelas de Conexão.
Todos os dispositivos usados devem ter suas posições na protoboard anotadas,
assim como as conexões realizadas. Para agilizar o trabalho de montagem,
sugerimos fortemente que os alunos criem previamente tabelas com um des-
critivo das conexões que serão realizadas. Para circuitos simples, a prática
pode parecer desnecessária; porém, a complexidade dos circuitos aumenta ao
longo do curso e a organização e presteza durante a montagem tornam-se
essenciais.
Por exemplo, suponha que o circuito montado em sala seja o da Figura 1.1.
Neste circuito hipotético, há três componentes (74LS00, 74LS04 e LED1),
portanto há três tabelas de conexão. Cada uma tem tantas linhas quanto
o número de pinos do componente. Um exemplo está na Tabela 1.1.
Deve-se observar que as tabelas de conexão devem estar coerentes com os
diagramas esquemáticos dos circuitos.
10. Diagramas Esquemáticos.
Todos os diagramas devem ser inseridos ao final do relatório em pági-
nas separadas do texto, indicando a identificação do circuito, autor, revisor,
versão e datas relevantes.
Para o tamanho dos diagramas, há apenas duas opções: dois diagramas
por página (orientação retrato, para circuitos mais simples) ou um único dia-
grama por página (orientação paisagem, para circuitos mais complexos).

10
1.3. Normas para Elaboração de Relatórios

Os diagramas devem conter a pinagem e identificação de todos os componen-


tes, como mostrado na Figura 1.2.

74LS00 - Posição A1
De pino Para
... ...
P03 B2.74LS04.P01
... ...
P07 GND
... ...
P14 Vcc

Tabela 1.1: Exemplo de tabela de conexão.

Figura 1.1: Exemplo de montagem na protoboard.

Cabe aqui listar alguns princípios orientadores para desenhar diagramas es-
quemáticos:

11
1. U SO DO L ABORATÓRIO E N ORMAS DE D OCUMENTAÇÃO

VCC 74LS04 74LS00 VCC


74LS86 1 2 1 LED 1 R1 = 100KΩ
1 3
CH1 3 2
2

GND
74LS32
VCC 1 74LS00
3 4 LED 2 R2 = 100KΩ
2 6
CH2 5

GND

VCC 74LS00
9 LED 3 R3 = 100KΩ
8
CH3 10

PULSO
GND 74LS32
74LS86 4
VCC 4 6 74LS00
6 5 12 LED 4 R4 = 100KΩ
5 11
CH4 13

GND

UnB-FGA P RANCHA 01 Versão Data Elaborado por Fulano


LAB SD1 Circuito acendedor de LEDs 1.0 31/01/2010 Revisado por Beltrano

Figura 1.2: Exemplo de diagrama esquemático.

• O esquemático não deve ser ambíguo. Assim, todos os pinos, valores de


componentes, polaridades, etc., devem ser explicitados para evitar confu-
são.
• As diferentes funções desempenhadas pelo circuito devem se localizar
em regiões distintas. Use este princípio sempre, mesmo que ao custo
de deixar algumas áreas em branco para separar visualmente os grupos
funcionais. Se necessário, divida o seu projeto em mais de um esquemá-
tico. Use uma seta (por exemplo ➱) para indicar sinais que vão de um
diagrama a outro.
• Use um ponto para indicar conexões entre fios.
• Sempre que possível, alinhe os componentes na horizontal ou vertical.
• Coloque a pinagem dos CIs sempre do lado de fora do símbolo.

I MPORTANTE
• Não será admitido plágio de qualquer espécie. Caso detectado, será punido
com nota zero.
• O prazo de entrega do relatório é de uma semana a partir da data da
realização do experimento.

12
1.4. Regras de Uso do Laboratório

1.4 Regras de Uso do Laboratório


As regras a seguir têm como objetivo minimizar o risco de acidentes. Leve-as a
sério. A circulação de uma corrente elétrica de 100mA pelo seu tórax pode causar
desfibrilação e ser fatal.

1.4.1 Ao entrar em sala


1. Guarde sua mochila no armário. Leve para a bancada apenas o necessário
para realizar o experimento. Seu notebook, tablet ou smartphone não são
essenciais.

2. Não use saia, bermuda ou calçados abertos, principalmente chinelos. Vá


para o laboratório usando calçados com sola de material isolante.

1.4.2 Durante o experimento


1. É expressamente proibido o consumo de comida e bebida. Em hipótese
alguma deixe estes itens sobre a bancada.

2. Não use anéis, pulseiras e brincos com pingentes ou argolas.

3. Caso tenha cabelos compridos, mantenha-os amarrados.

4. Evite o uso de lentes de contato.

5. Mantenha as mãos sempre limpas e secas.

6. Antes de energizar o circuito, verifique se as conexões entre os elementos não


contém curtos-circuitos.

7. Evite ao máximo manusear circuitos energizados.

8. Desconecte a fonte de tensão ao realizar quaisquer modificações nos circuitos.

9. Caso sinta cheiro de queimado ou se perceber qualquer sinal de fumaça, des-


ligue imediatamente os interruptores da bancada.

10. Não obstrua os interruptores com qualquer tipo de objeto. O acesso aos mes-
mos deve ser rápido em caso de emergência.

Os alunos não devem pedir ajuda ou tirar dúvidas sobre a montagem


do experimento com os técnicos do laboratório

13
1. U SO DO L ABORATÓRIO E N ORMAS DE D OCUMENTAÇÃO

1.4.3 Ao terminar o experimento


1. Desligue todos os equipamentos usados.

2. Desligue os interruptores da bancada.

3. Desmonte o circuito e devolva os componentes, caso use a protoboard do labo-


ratório.

4. Deixe a bancada perfeitamente limpa e organizada.

Os alunos que deixarem as bancadas desorganizadas


perderão pontos na nota final do experimento

14
MBIENTAÇÃO
2

A
F AMILIARIZAÇÃO COM A B ANCADA

2.1 Objetivos
Neste experimento, apresentam-se os conceitos básicos sobre material e equipa-
mentos de bancada do Laboratório de Sistemas Digitais I.

2.2 Parte Experimental


Havendo qualquer dúvida ao realizar qualquer procedimento, chame o professor ou
o monitor. Esteja seguro das ações que for realizar.

2.2.1 A bancada
Como regra geral, uma bancada comporta apenas dois alunos. Apenas em casos
excepcionais (por exemplo, falha de algum equipamento essencial) será permitido
que três alunos ocupem o mesmo espaço. Cada bancada possui os seguintes equi-
pamentos, que devem estar conectados às tomadas:
• 1 Osciloscópio BK Precision modelo 2530;
• 1 Gerador de funções iCEL modelo GV-2002;
• 1 Fonte de tensão Minipa modelo MPL-1303;
• 1 Fonte de tensão Minipa modelo MPL-3305M.
Identifique cada um destes equipamentos, assim como os alicates, extrator de CIs
e os repositórios para fios. A bancada possui dois interruptores, um referente à
tensão de 110 V AC e outro para a de 220 V AC . Ao ligar cada interruptor, uma luz
de aviso acenderá, indicando que a linha de tensão correspondente está disponível
para energizar os equipamentos.

15
2. FAMILIARIZAÇÃO COM A BANCADA

Atividade 1
• Ligue e desligue os interruptores de sua bancada. Informe o professor caso a
luz de aviso não acenda.

• Ligue novamente os interruptores e, em seguida, todos os equipamentos da


bancada. Caso encontre algum equipamento desconectado ou sem indicação
de energização, avise o professor ou o monitor.

2.3 Equipamentos
Em caso de dúvidas, pergunte ao professor ou ao monitor.

2.3.1 Multímetro
O multímetro será o seu principal equipamento para inspecionar o funcionamento
do circuito. Manuseie-o corretamente e com cuidado. Como qualquer equipamento
de laboratório, deve ser operado corretamente sob risco de danificá-lo ou mesmo
inutilizá-lo.

Figura 2.1: Multímetro digital

Atividade 2
• Ligue o multímetro. Em sequência, de acordo com as instruções do profes-
sor, selecione as diversas funções do equipamento (medida de tensão DC, AC,
resistência, teste de LED, medida de corrente).

• Desligue o multímetro.

16
2.3. Equipamentos

2.3.2 Fontes de tensão DC


Este é o equipamento que fornecerá energia para os circuitos projetados. As fontes
disponíveis no laboratório têm pelo menos dois terminais com cores distintas: um
preto, usado para o nó terra; e outro vermelho, usado para a tensão de alimentação
dos CIs ou VCC .

Figura 2.2: Fontes da bancada: MPL-1303 e MPL-3305M.

Atividade 3
• Ligue a fonte de tensão MPL-1303. Ajuste o nível de tensão para 5.0VDC .
Usando o multímetro, selecione a função adequada e meça o valor entre os
terminais preto e vermelho.

• Repita o procedimento para a fonte de tensão MLP-3305M.

2.3.3 Gerador de Funções


Este equipamento tem como função fornecer tensões variantes no tempo, de acordo
com uma função pré-definida. Notem a terminação BNC.

Figura 2.3: Gerador de funções GV-2002.

17
2. FAMILIARIZAÇÃO COM A BANCADA

2.3.4 Osciloscópio
Este equipamento permite visualizar formas de onda de tensão em um circuito.
Para entender seu funcionamento e aprender como conectá-lo, realize a seguinte
atividade.

Figura 2.4: Osciloscópio BK 2530.

Atividade 4
• Siga as orientações do professor para conectar a ponta de prova do osciloscópio
no cabo BNC-jacaré.

• Em seguida, visualize as formas de onda quadrada, senoidal e triangular na


frequência de 10 KHz e amplitude de 5VPP (pico a pico).

• Repita para 100 KHz e 3VPP .

2.4 Material para Montagem de Circuitos


2.4.1 Protoboard ou matriz de contato
A protoboard nada mais é do que um pequeno painel que permite realizar cone-
xões elétricas entre componentes por intermédio de fios (tipicamente 22 AWG a 24
AWG). Recomendamos que cada dupla adquira uma protoboard, de modo a apro-
veitar melhor o tempo de aula.
A protoboard é composta por faixas de pontos de conexão, existindo tipicamente
dois tipos de faixas. O primeiro é chamado faixa tipo soquete. Neste tipo de soquete,
grupos de 5 furos são conectados eletricamente por contatos internos. Entre dois

18
2.4. Material para Montagem de Circuitos

b b b b b b b b b b b b b b b b b b

b b b b b b b b b b b b b b b b b

b b b b b b b b b b b b b b b b

b b b b b b b b b b b b b b b

b b b b b b b b b b b b b b

b b b b b b b b b b b b b b b b

b b b b b b b b b b b b b b b

b b b b b b b b b b b b b b

b b b b b b b b b b b b b

b b b b b b b b b b b b

Figura 2.5: Conexões na protoboard.

grupos de 5 furos há um espaçamento maior destinado a permitir a inserção de CIs


na protoboard, como mostrado na Figure 2.5.
O segundo tipo de faixa é chamada de faixa tipo alimentação. Neste caso, grupos
maiores de pinos estão conectados eletricamente, permitindo facilitar a distribui-
ção de sinais comuns, tais como tensão de alimentação e terra.

Atividade 5
• Identifique as faixas da protoboard em sua bancada.

• Com o multímetro na função de ohmímetro, verifique o isolamento (ou curto)


nos furos das faixas de soquete e de alimentação. Use dois jumpers para
facilitar o processo.

2.4.2 Cabos e fios


Os fios usados para conexão na protoboard estão disponíveis nas caixas das banca-
das. Antes de utilizá-los, verifique se:

• Estão desencapados nas extremidades. As pontas devem ser de comprimento


tal que, ao encaixar o fio na protoboard, a ponta desencapada não fique ex-
posta.

• Os fios não estão quebrados. Em caso de suspeita, faça o teste com o multíme-
tro.

Ao utilizar os fios, não use fios longos para conexões entre componentes que estão
próximos. Use o bom senso. Não deixe os fios muito esticados, pois a tendência
é que eles escapem nos furos. Caso adquire em uma loja, recomenda-se comprar
’jumpers’ (do tipo macho) de vários tamanhos.
Os cabos são usados para conectar os equipamentos de bancada entre si ou à
protoboard. Use cabos vermelhos para o terminal positivo da fonte de tensão e os
pretos para o terminal negativo ou terra. Havendo cabos verdes, use-os especifica-
mente para conexões no terminal terra (GND) dos equipamento.

19
2. FAMILIARIZAÇÃO COM A BANCADA

O multímetro e o osciloscópio possuem cabos de conexão especiais chamados de


pontas de prova. Em particular, as pontas de prova de osciloscópio são parte
essencial do equipamento e devem ser manuseadas com cuidado.
As terminações dos cabos disponíveis são de 4 tipos:

• Banana - para conexões às fontes de alimentação ou à protoboard;

• Jacaré - para conexões às fontes de alimentação ou à protoboard;

• BNC - para conexões ao osciloscópio ou ao gerador de funções;

• Pin - para conexões à protoboard.

Há cabos com terminações diferentes: BNC-banana, banana-pin, banana-jacaré,


etc. Use o adequado para cada caso. Quando uma das terminações é BNC e a outra
não, sempre haverá uma terminação com terminação preta. A ponta de cor preta
deve estar conectada ao terra do circuito.

Atividade 6
• Identifique os cabos disponíveis em sua bancada. Sem ligar qualquer equipa-
mento, conecte à protoboard uma das fontes de alimentação. Verifique se há
mais de uma opção de terminação de cabo para tanto.

2.4.3 Resistores
Neste laboratório, os resistores serão utilizados exclusivamente com um único pro-
pósito: limitar o nível de corrente nos diodos LED. Em sua bancada, deve haver
uma tabela de código de cores para resistores.

Atividade 7
• Selecione dois resistores e tome os valores usando o código de cores.

• Confira o valor lido com a medição no multímetro.

• Em seguida, conecte-os nas associações série e em paralelo na protoboard.


Meça a resistência de cada associação com o multímetro.

2.4.4 Diodos (LEDs)


Os LEDs utilizados no laboratório têm como função representar visualmente um
nível lógico. O LED é um dispositivo com dois terminais, denominados anodo (A) e
catodo (K).
Para que o LED conduza corrente (e neste caso emita luz), a tensão entre os
terminais deve ser tal que o anodo esteja em uma tensão positiva VT com relação
ao catodo, em torno de 2 V. Fisicamente, o terminal K pode ser identificado por um
pequeno chanfro no encapsulamento. Outra forma de identificar a polaridade do
LED é pelo tamanho do terminal A, que tem comprimento maior.

20
2.5. Chaves (ou switches)

i AK

LED
i AK
A K

V AK V AK
VT

Figura 2.6: Diodo - representação e curva característica simplificada.

Atividade 8
• Teste o funcionamento do LED com o multímetro.

2.4.5 CIs
Em aulas posteriores detalharemos as características dos CIs usados neste curso.
Por hora, basta saber que, na protoboard, a configuração das faixas do tipo soquete
e o espaçamento dos furos permite a inserção exata dos CIs.

Atividade 9
• Insira um CI na protoboard. Verifique o encaixe e em seguida retire-o com o
extrator.

2.5 Chaves (ou switches)


As chaves utilizadas são de três terminais, que funcionam como seletores. No ter-
minal central, a tensão correspondente é a selecionada pela posição do botão.

VCC

Para o circuito

GND

Figura 2.7: Chave de três pinos.

21
2. FAMILIARIZAÇÃO COM A BANCADA

Atividade 10
• Ajuste a fonte de tensão para 5VDC .

• Confirme a medição com o multímetro.

• Insira uma chave na protoboard, de modo que seus três pinos não estejam em
curto-circuito.

• Desligue a fonte e a conecte à protoboard.

• Conecte um dos terminais externos da chave à tensão de 5V e o outro terminal


externo à tensão de 0V.

• Conecte em série ao terminal central um resistor de 1KΩ e um LED.

• Ligue a fonte. Com o multímetro, meça a tensão no terminal central, com


relação ao terra. Verifique se o LED acendeu.

• Meça a tensão no LED e no resistor. Verifique a Lei das Tensões de Kirchoff.

Atividade 11 (havendo tempo)


• Ajuste a fonte de tensão para 2.0VDC .

• Ajuste o gerador de funções para onda senoidal, com 2.0VPP , frequência de


aproximadamente 1 Hz.

• Monte o circuito da figura abaixo, com a fonte e o gerador desligados.

2.0VDC 1.0 K Ω

4.0VPP
LED

• Ligue a fonte.

• Ligue o gerador.

• Observe no osciloscópio a forma de onda no LED.

22
Parte II

Experimentos

23
1

XPERIMENTO
E
C ARACTERIZAÇÃO DE P ORTAS
L ÓGICAS

1.1 Objetivos
Apresentar circuitos integrados das famílias TTL e CMOS e realizar estudos para
determinar suas características básicas (estáticas e dinâmicas), como por exemplo,
a curva de transferência de tensão, tempos de subida, descida e atrasos de propa-
gação.

1.2 Portas Lógicas e Circuitos Integrados


1.2.1 Introdução
A tecnologia de integração de componentes eletrônicos em uma única pastilha de
silício permite a fabricação dos chamados circuitos integrados ou CIs. CIs digi-
tais são simplesmente uma coleção de componentes discretos (tais como resistores,
capacitores, diodos e transistores) fabricados em um substrato de material semi-
condutor, conhecido como pastilha ou chip. No contexto de sistemas digitais, o
interesse principal é a implementação, na forma de circuitos, das funções boolea-
nas.
Para implementar funções booleanas de complexidade simples ou moderada,
dispomos de CIs que realizam funções elementares, tais como AND, NAND, OR,
NOR, NOT e XOR. Estes CIs podem ser interpretados como blocos funcionais,
possibilitando ao projetista trabalhar com o nível de abstração correspondente ao
chamado de portas lógicas. Como exemplo, na Figura 1.1 apresenta-se a imple-
mentação de uma porta inversora (NOT) usando componentes discretos.
Nota-se que a simples montagem deste circuito requer 4 resistores, 4 transisto-
res e 2 diodos - ou 10 elementos de circuito. Porém, quando utilizamos um CI do

25
1. CARACTERIZAÇÃO DE P ORTAS L ÓGICAS

Vcc (14)

R1 3.6K Ω R2 1.6K Ω R4 115Ω

Q4

Q1 Q2
D2
IN (1)
OUT (2)
D1 Q3
R3 1K Ω

GND (7)

Figura 1.1: Implementação de uma porta inversora usando lógica TTL.

tipo 7404 dispomos de seis portas NOT e tipicamente não precisamos nos preocu-
par em como o CI implementou a função NOT1 . O que pode nos interessar é se a
implementação realizada com este CI satisfaz nossos critérios de projeto, tais como
frequência de operação e níveis de tensão dos sinais de entradas e saída.

1.2.2 Classificação de CIs


Uma das maneiras de se classificar CIs é pela quantidade de portas lógicas imple-
mentadas no substrato semicondutor, como mostrado na Tabela 1.1. Esta é uma
medida da complexidade funcional e de fabricação. Como exemplo, as funções bo-
oleanas elementares AND, OR, NOT, NAND e NOR encontram-se implementadas
em CIs de pequena escala de integração, ou circuitos do tipo SSI.

Tabela 1.1: Classificação de CIs pelo número de portas lógicas.

S IGLA S IGNIFICADO N ÚMERO DE PORTAS LÓGICAS

SSI Small-scale Integration Menor que 12


MSI Medium-scale Integration 12 a 99
LSI Large-scale Integration 100 a 9.999
VLSI Large-scale Integration 10.000 a 99.999
ULSI Ultra large-scale Integration 100.000 ou mais

Uma segunda maneira de se classificar CIs é em analógicos, digitais e mistos


(‘mixed signal’). Na categoria digital, encontram-se: as portas lógicas, os flip-flops,
os multiplexadores, os microprocessadores, os microcontroladores, os DSPs (‘digital
1 Porém, quando formos projetar o CI é claro que este ponto é fundamental.

26
1.2. Portas Lógicas e Circuitos Integrados

signal processors’), dentre outros. Esses CIs contêm circuitos formados por resisto-
res, diodos e transitores miniaturizados, diferenciando-se dos circuitos integrados
ditos analógicos pelo fato de que nos digitais os transistores só possuem dois modos
estáveis de operação (corte e saturação), ficando muito pouco tempo nas regiões de
transição. Portanto, idealmente, é dito que os transistores operam como chaves.
Os CIs analógicos são tipicamente sensores, circuitos de potência, amplificado-
res operacionais (Amp-Ops), misturadores (‘mixers’) e filtros. Os mistos têm como
representante clássico os conversores de sinal A/D (analógico-para-digital) e D/A
(digital-para-analógico).
A terceira maneira comum de classificação, também chamada de família, refere-
se ao tipo de tecnologia de fabricação do CI. Alguns exemplos de famílias são:

• RTL (Resistor Transistor Logic)

• RCTL (Resistor Capacitor Transistor Logic)

• DTL (Diode Transistor Logic)

• TTL (Transistor Logic)

• CMOS (Complementary Metal Oxid Semiconductor)

• ECL (Emitter Coupled Logic)

Para cada família, há subfamílias com características específicas. Em particular,


apresentamos a seguir as subfamílias TTL e CMOS.

1.2.2.1 Família TTL


A família TTL é dividida em dois grandes grupos: o primeiro, voltado para a versão
comercial (com prefixo de código 74) e o segundo, para a versão militar (prefixo 54).
Os avanços nas técnicas de fabricação levaram a uma subdivisão dos CIs TTL em
subfamílias, tais como:

Tabela 1.2: Subfamílias TTL.


S UBFAMÍLIA P REFIXO O BSERVAÇÃO
Standard 54/74 Série padrão
Low Power 54L/74L Baixa potência
Schottky 54S/74S Rápido
Advanced Schottky 54AS/74AS Rápido
Low Power Schottky 54LS/74LS Baixa potência
Advanced Low Power Schottky 54ALS/74ALS Baixa Potência
Fast 54F/74F Rápido

27
1. CARACTERIZAÇÃO DE P ORTAS L ÓGICAS

1.2.2.2 Família CMOS


Atualmente, a família de CIs mais usada é a CMOS, por ter baixo consumo de
potência e boa imunidade a ruído. Assim como a família TTL, é dividida em sub-
famílias: Notem que há CIs CMOS compatíveis com CIs TTL (mesma pinagem e

Tabela 1.3: Subfamílias CMOS.


S UBFAMÍLIA P REFIXO O BSERVAÇÃO
CMOS 74C Série padrão
High-speed CMOS 74HC Rápido
High-speed, TTL compatible 74HCT Compatível com TTL
Advanced CMOS 74AC Rápido
Advanced CMOS, TTL compatible 74ACT Compatível com TTL
Advanced High-speed CMOS 74AHC Rápido
Very High-speed CMOS 74VHC Rápido
Very High-speed CMOS TTL compa- 74VHCT Compatível com TTL
tible
Low-voltage CMOS 74LVC Baixa tensão de ali-
mentação
Advanced Low-voltage CMOS 74ALVC Baixa tensão de ali-
mentação
Advanced Ultra-low Power CMOS 74AUP Aplicações portáteis
Fast CMOS FCT Rápido

mesma função lógica), permitindo a interconexão entre as duas tecnologias.

1.2.3 Tipos de Encapsulamento de CIs


A pastilha de silício que contém o CI pode ser encapsulada (ou empacotada) de di-
versas formas, de acordo com as necessidades mais comuns de confecção das placas
de circuito impresso. A que será utilizada neste curso é chamada de encapsula-
mento em linha dupla ou DIP (dual in-line package), na qual o CI tem duas filas
de terminais paralelos.
Os terminais de um CI DIP podem ser identificados da seguinte forma: olhando
o circuito de cima, nota-se um pequeno chanfro em uma das extremidades entre os
pinos, indicando a parte superior do CI. Por convenção, ao lado esquerdo do chanfro
encontra-se o pino 1.
Em alguns CIs (com encapsulamento de plástico) há ainda um pequeno círculo
ao lado do pino 1. A numeração é feita em sentido anti-horário, como mostrado
na Figura 1.2. Para se determinar a função de cada um dos terminais deve-se

28
1.2. Portas Lógicas e Circuitos Integrados

1 14

2 13

3 12

4 11

5 10

14
7 6 9

7 8
1

Figura 1.2: Encapsulamento DIP de 14 pinos: vista em perspectiva e superior.

analisar o data sheet do componente (ver seção 1.2.4), como exemplo a Figura 1.3
mostra a identificação dos terminais do CI 74LS32 (CI com quatro portas OR de
duas entradas). Observe nesta figura que os pinos 14 (VCC) e 7 (GND) devem ser
ligados à fonte de alimentação nos terminais positivo e negativo, respectivamente.

14 13 12 11 10 9 8
VCC

GND
1 2 3 4 5 6 7

Figura 1.3: Identificação dos terminais do CI 74LS32 (vista superior).

O encapsulamento DIP é usado em CIs com número relativamente baixo de


pinos. Tipicamente, usa-se este encapsulamento para CIs de até 40 pinos.
Circuitos com um número maior de pinos, tais como os microprocessadores co-
merciais atuais, exigem uma estratégia diferente, aproveitando todo o espaço pos-
sível da cápsula para alocar os pinos. Assim, encontram-se disponíveis montagens
de superfície quadradas, tais como BGA e QFP; outros tipos de encapsulamento
comuns para CIs encontram-se listados na Tabela 1.4.
Mais recentemente, o encapsulamento LGA (Land Grid Array), Figura 1.4, in-
troduziu a novidade de se deixar os pinos no soquete onde o CI será inserido (por

29
1. CARACTERIZAÇÃO DE P ORTAS L ÓGICAS

exemplo, na placa-mãe do computador), assim os CIs não utilizam pinos de contato


em sua parte inferior, mas sim pontos metálicos. Quando o CI é encaixado na placa-
mãe, por exemplo, esses pontos ficam em contato com pinos existentes no soquete.
Esse é um padrão atualmente usado nos processadores Core I7 da Intel.

Figura 1.4: Ilustração de um encapsulamento LGA. Observe que não há pinos,


somente contatos metálicos.

Tabela 1.4: Algumas variantes de encapsulamento de CIs.

S IGLA S IGNIFICADO S IGLA S IGNIFICADO


BGA Ball Grid Array LQFP Low-profile Quad Flat Package
CDIP Ceramic DIP MDIP Molded DIP
CFP Ceramic Flat Pack PDIP Plastic DIP
CGA Column grid array PGA Pin Grid Array
CPGA Ceramic Pin Grid Array PLCC Plastic Leaded Chip Carrier
DIP Dual Inline Package SIP Single in-line Package
LCC Leadless Chip Carrier SOP Small Outline Package
LGA Land Grid Array ZIP Zig-zag in-line package

1.2.4 O ‘Data Sheet’


As informações importantes para o correto uso de um CI encontra-se em uma breve
especificação funcional (ou manual) chamada de ‘data sheet’. Cada fabricante
disponibiliza o data sheet correspondente ao produto manufaturado. Vale a pena
mencionar que, independentemente do fabricante, alguns parâmetros básicos são
sempre fornecidos e têm o mesmo nome, de modo a possibilitar ao projetista reali-
zar a interconexão entre CIs de fornecedores diferentes.

30
1.2. Portas Lógicas e Circuitos Integrados

O entendimento das características estáticas e dinâmicas que definem as capa-


cidades e limitações de qualquer dispositivo lógico é vital para a obtenção de um
projeto consistente e confiável. Por exemplo, como já visto nas aulas teóricas, as
informações binárias são representadas por faixas de tensões e os valores típicos
de tensões em um sistema digital é da forma mostrada na Figura 1.5.

5.0 V

Binário 1

2.0 V
Tensões Inválidas Não usado

0.8 V
Binário 0
0.0 V
Figura 1.5: Valores típicos de tensão em um sistema digital.

No entanto, na prática esses valores são ligeiramente diferentes dos mostra-


dos, pois dependem de vários fatores como, por exemplo, a tecnologia de fabricação
utilizada, conforme pode ser visto na Figura 1.6.
Portanto, não subestime o valor do estudo detalhado dos manuais do
fabricante. O bom entendimento dos parâmetros elétricos estáticos e dinâmicos
das pastilhas comerciais é de importância fundamental para a realização de um
bom projeto.

1 - (0 V)
5V VCC 5V VCC
4.4 V VOH
E NTRADA
3.5 V VIH 0 - (5 V)
tPHL tPLH
2.4 V VOH 1 - (5 V)
2V VIH
1.5 V VIL
S AÍDA
0.8 V VIL
0.4 V VOL 0.5 V VOL 0 - (0 V)
0V GND 0V GND
TTL 5 V CMOS 5 V

Figura 1.6: Alguns parâmetros de operação de CIs.

31
1. CARACTERIZAÇÃO DE P ORTAS L ÓGICAS

Os parâmetros mais relevantes encontrados nos manuais dos CIs usados neste
curso estão explicitados na Tabela 1.5, com valores extraídos de um CI típico. Os
valores exatos devem ser analisados caso a caso, pois variam de acordo com a famí-
lia do CI.

Tabela 1.5: Alguns parâmetros de operação de CIs.

Símbolo Parâmetro Limites


Mínimo Típico Máximo Unid.
VCC Tensão de alimentação do CI 4,75 5,0 5,25 V
VIH Tensão mínima de entrada na 2,0 V
porta interpretada como nível
Alto (High)
VIL Tensão máxima de entrada na 0,8 V
porta interpretada como nível
Baixo (Low)
VOH Tensão mínima de saída na 2,7 3,5 V
porta para nível Alto (High)
VOL Tensão máxima de saída na 0,35 0,5 V
porta para nível Baixo (Low)
IIH Corrente máxima absorvida 20,0 mA
pela entrada em nível Alto
(High)
IIL Corrente máxima fornecida 0,1 mA
pela entrada em nível Baixo
(Low)
IOH Corrente máxima fornecida -0,4 mA
pela porta em nível lógico Alto
(High)
IOL Corrente máxima absorvida 8,0 mA
pela saída em nível lógico
Baixo (Low)
tPLH Atraso entrada-saída, de ní- 8 15 ns
vel Baixo para Alto (Low para
High)
tPHL Atraso entrada-saída, de nível 10 20 ns
Alto para Baixo (High para
Low)

32
1.2. Portas Lógicas e Circuitos Integrados

1.2.5 Parâmetros Elétricos Estáticos da Familia TTL


Os circuitos TTL da serie 74 foram projetados para operar com tensão de alimen-
tação Vcc = 5, 00V ± 5%, numa faixa de temperatura de 0◦ C a 70◦ C. Para 5, 00V , a
25◦ C, cada porta TTL da serie 74 consome, em média, uma potência de 10 mW. To-
dos os parâmetros apresentados no datasheet são garantidos pelos fabricantes dos
circuitos integrados da série 74, se as limitações mencionadas forem obedecidas.
Conforme já mencionado, uma característica elétrica muito importante para ca-
racterização do CI é sua curva de transferência de tensão. Esta é dada por um
gráfico tensão da saída versus tensão de entrada. A Figura 1.7 apresenta um exem-
plo de uma curva de transferência de um inversor.

Tensão de Saída (V)

VCC

Nível 1
4

2
Vb Vx
1
Va Nível 0
0
0.5 1.0 1.5 2.0 2.5 3.0
Tensão de Entrada (V)

Figura 1.7: Característica de transferência típica de uma porta TTL inversora.

Para tensões de entrada inferiores a Vb a saída apresenta uma tensão de saída


constante igual a 4V (nível lógico UM). A partir de Vb , a saída começa a apresentar
uma queda de tensão. Quando a tensão de entrada atinge Vx , a queda se torna
mais acentuada, chegando a um nível mínimo em Va . A partir deste valor, a saída
permanece constante (nível lógico ZERO). Os valores típicos destas tensões são:
Vb = 0, 7V , Vx = 1, 0V , Va = 1, 3V , NÍVEL UM = 4, 0V e NÍVEL ZERO = 0, 3V .
A Figura 1.6 mostra os níveis de tensão garantidos pelos fabricantes. Vale a
pena observar que VOH deve ser maior do que VIH e que VOL deve ser menor do
que VIL . A diferença entre estes valores fornecem as faixas de imunidade a ruído
para os níveis lógicos. Notem que a imunidade a ruído da tecnologia CMOS é
maior do que a TTL, além do fato de que, na família CMOS, os níveis de tensão
mencionados serem simétricos com relação aos níveis GND e VCC . Analisando-se
esses valores de tensão, pode-se concluir que os circuitos TTL admitem, no pior
caso, uma margem de ruído CC de 0, 4V .
Assim sendo, no pior caso, ao nível ZERO fornecido por uma saída TTL pode-se
somar um ruído de amplitude +0, 4V , que o sinal resultante ainda é reconhecido
corretamente por uma entrada TTL; no nível UM fornecido por uma saída TTL,

33
1. CARACTERIZAÇÃO DE P ORTAS L ÓGICAS

pode-se somar um ruído de amplitude −0, 4V , que o sinal resultante ainda se en-
contra dentro das especificações de entrada para nível UM. Para valores de tensão
compreendidos entre 0, 8V e 2, 0V , nada se garante com relação aos níveis lógicos [?
].
Além da compatibilidade entre os níveis de tensão requeridos pelas entradas
e fornecidos pelas saídas, também é necessário examinar os valores das correntes
absorvidas e fornecidas pelas entradas e saídas dos circuitos integrados, tanto em
nível UM como em nível ZERO. A Tabela 1.6 apresenta os valores típicos encontra-
dos.

Tabela 1.6: Níveis de corrente típicos para a série 74 da tecnologia TTL. Valores
obtidos de [? ]

PARÂMETRO DESCRIÇÃO VALOR


Corrente máxima fornecida por
IIL -1,6 mA
entrada em nível ZERO
Corrente máxima absorvida por
I OL +16 mA
saída em nível ZERO
Corrente máxima absorvida por
II H +40 µA
entrada em nível UM
Corrente máxima fornecida por
I OH -400 µA
saída em nível UM

Analisando-se a tabela acima, conclui-se que uma saída TTL pode excitar até
10 entradas da mesma família (fan-out). Outra especificação importante fornecida
pelos fabricantes dos circuitos TTL diz respeito à máxima tensão que pode ser apli-
cada às entradas. Para a série 74, é recomendado não se colocar níveis de tensão
superiores a 5, 5V , pois o circuito pode ser danificado se uma entrada receber uma
tensão superior a este valor.
Um outro ponto a se notar é que a I OL >> I OH . Desta forma, ao conectar um LED
na saída de um CI TTL, é preferível fazer com que ele seja aceso quando a saída
for para o nível lógico 0.

1.2.6 Parâmetros Elétricos Estáticos da Família CMOS


Circuitos integrados CMOS (MOS Complementar) são componentes que apresen-
tam as mesmas funções lógicas disponíveis em componentes da família TTL, mas
são mais rápidos e consomem menos energia [? ]. Atualmente, representa a tecnolo-
gia dominante no mercado de semicondutores, sendo empregado em processadores,
memórias e outros dispositivos. A curva de transferência de tensão de um inversor
CMOS é apresentada a seguir, na Figura 1.8.

34
1.2. Portas Lógicas e Circuitos Integrados

Tensão de Saída
Inclinação = -1
VOH =VDD

Inclinação = +1

Nível 0 Nível 1
Tensão de Entrada
0
0 VIL VIH VDD
VTH = VDD /2

Figura 1.8: Característica de transferência típica de uma porta CMOS inversora.

1.2.7 Parâmetros de Tempo


Existem determinadas condições indesejáveis de funcionamento de projetos de sis-
temas digitais. O equacionamento lógico obtido para a implementação de um pro-
jeto é uma ferramenta suficiente para a validação lógica do circuito, mas não leva
em conta características físicas dos dispositivos, que podem alterar os resultados
teóricos esperados [? ]. Uma destas condições diz respeito aos parâmetros de tempo
em circuitos digitais, também chamados de parâmetros dinâmicos dos CIs .
A Figura 1.5 apresenta a interpretação de dois parâmetros importantes tPLH e
tPHL . Estes fornecem uma medida da frequência máxima de operação do circuito:
quanto menores estes tempos, mais rápida é a transição entres os níveis lógicos,
permitindo a utilização de sinais com frequência mais alta. O tempo de propagação
de um CI é definido através da média aritmética dos tempos de propagação tPLH e
tPHL .
Além destes dois parâmetros existem mais alguns importantes [? ]:

• Tempo de Subida (“Rise time” - tr ) - intervalo de tempo necessário para que


um sinal vá de 10% do seu valor em tensão até 90% do seu valor em tensão
(Figura 1.9).

• Tempo de Descida (“Fall time” - tf ) - intervalo de tempo necessário para que


um sinal vá de 90% de seu valor em tensão até 10% do seu valor em tensão
(Figura 1.10).

• Tempo de Atraso (“Delay time” - td ) - intervalo de tempo decorrido entre


uma variação de sinal na entrada e a correspondente variação na saída; toma-
se como referência o ponto de 50% do valor de tensão, conforme mostrado na
Figura 1.11.

As características acima citadas, aliadas a fatores tais como, o não sincronismo


de eventos, podem levar à geração de sinais indesejáveis em projetos aparente-

35
1. CARACTERIZAÇÃO DE P ORTAS L ÓGICAS

0,9 ∆V

∆V

0,1 ∆V
tr

Figura 1.9: Caracterização do tempo de subida.

0,9 ∆V

∆V

0,1 ∆V
tf

Figura 1.10: Caracterização do tempo de descida.

Entrada

Saída
0,5 ∆VE

td
∆VE ∆VS
0,5 ∆VS
Saída

Entrada

Figura 1.11: Caracterização do tempo de atraso.

mente corretos. Para que se possa contornar essa situação deve-se conhecer pro-
fundamente todas as características dos componentes que serão utilizados.

36
1.3. Pré-Relatório

1.3 Pré-Relatório
1.3.1 Pesquisa bibliográfica
Faca uma pesquisa bibliográfica sobre os componentes TTL e CMOS explicando
as principais diferenças entre essas duas tecnologias. Além disso, utilizando os
manuais dos componentes 74LS00 (TTL) e 74HC00 (CMOS) responda as questões
abaixo.

1. Com relação aos parâmetros elétricos:

• Quais os valores dos parâmetros elétricos estáticos (VIL , VOL , VIH e VOH )?
Monte uma tabela mostrando a comparação.
• Apresente a curva de transferência de tensão de um inversor CMOS e
TTL. Faça uma breve discussão das diferenças observadas.

2. Com relação aos parâmetros dinâmicos:

• Quais os valores para tPHL e tPLH ?


• Determine os valores de tr e tf para um inversor.

1.3.2 Projetos e Simulações


Nesta seção são descritos os circuitos que devem ser projetados e/ou simulados. Na
etapa de simulação o aluno pode utilizar o software de sua preferência, como por
exemplo, o Proteus, Circuito Maker, Pspice, etc. No entanto, devem ser apresenta-
dos: o nome do software utilizado, os diagramas de simulação desenvolvidos com
todas as condições de simulação realizadas. Pede-se que o aluno entregue também
o arquivo da simulação implementada (pode ser enviado para o e-mail do profes-
sor).
Nos projetos os alunos devem apresentar todas as etapas do desenvolvimento,
incluindo as tabelas verdades, simplificações lógicas realizadas, os diagramas es-
quemáticos dos circuitos e todas as informações adicionais que julgar necessárias
para perfeita compreensão do projeto realizado.
Além disso, em todos os projetos os alunos devem preparar o documento de
“metodologia de depuração”, apresentando o esquema orientativo para o processo
de depuração, adequado ao particular projeto (documento já debatido em aulas
anteriores), para o caso de algum problema ocorrer no momento da implementação
do circuito na protoboard.

1.3.2.1 Simulação 1
Simule o circuito mostrado na Figura 1.12 e apresente a tabela verdade correspon-
dente. Qual uma possível aplicação deste circuito?

37
1. CARACTERIZAÇÃO DE P ORTAS L ÓGICAS

VCC

VCC

LUZ

GND

VCC

GND

Figura 1.12: Circuito a ser simulado.

1.3.2.2 Simulação 2
A Figura 1.13 mostra um circuito de alarme de automóvel usado para detectar
uma determinada condição indesejada. As três chaves são usadas para indicar,
respectivamente, o estado da porta do motorista, o estado da ignição e o estado
dos faróis. O alarme deve ser ativado (na simulação o LED deve acender) sempre
que os faróis estão acesos e a ignição está desligada ou a porta do veículo está
aberta e a ignição está ligada. Simule este circuito no software de sua preferência
e verifique se o circuito funciona adequadamente. Justifique a sua resposta.
VCC

Aberta P ORTA

Fechada
GND

VCC
R
Ligada I GNIÇÃO

Desligada
Alarme LED
GND

VCC

Acesos F ARÓIS

Apagados
GND

Figura 1.13: Circuito de alarme de um automóvel.

1.3.2.3 Projetos
Projete e simule os circuitos dos itens a seguir. Em todos os casos, simule seu
projeto no software de sua preferência e apresente a tabela-verdade correspondente.

38
1.4. Roteiro Experimental

Utilize LEDs como indicadores da saída da função booleana.

1. Utilizando apenas um CI da família 7400 (NAND), projete um circuito AND


com três entradas.

2. Utilizando apenas um CI da família 7486 (XOR), projete um circuito NÃO-


XOR (XOR) com quatro entradas.

1.4 Roteiro Experimental


1.4.1 PARTE 1 - Circuitos Elementares com Portas Lógicas
• Monte e teste os circuitos projetados na Seção 1.3.2.3. Com o multímetro,
meça as tensões VLE D sobre o LED e VR sobre o resistor. Anote todas as medi-
ções.

• Visualize a tensão VR no osciloscópio e reproduza a tela do osciloscópio nos


gabaritos fornecidos ao final deste roteiro.

1.4.2 PARTE 2 - Caracterização de CIs


1. Selecione um CI NAND da família TTL (por exemplo, o 74LS00) e monte o
circuito da Figura 1.14 (setup para curva). Observe que nesta montagem a
porta NAND está configurada de forma a operar como uma porta inversora.
Não se esqueça de conectar a alimentação do componente (pinos VCC
e GND).

Fonte fixa
+5.0 V

VCC (pino 14)

Fonte variável Saída


(0 a +5.0 V)

GND (pino 7)

Figura 1.14: Montagem para determinação da curva de transferência de uma porta


NAND 74LS00. Figura adaptada de [? ]

2. Com a tensão de alimentação em VCC fixa em 5 V, altere a tensão fornecida


à entrada, em passos de 0.5 V. Meça a tensão de saída correspondente e cons-
trua o gráfico da curva característica de transferência de tensão deste inversor
usando as Figuras 1.16 e 1.17.

39
1. CARACTERIZAÇÃO DE P ORTAS L ÓGICAS

Tabela 1.7: Levantamento de curvas características de CIs TTL e CMOS.

❳❳❳ VIN (V)


❳❳❳
0,0 0,5 1,0 1,5 2,0 2,5 3,0 3,5 4,0 4,5 5,0
FAMÍLIA ❳❳❳❳❳

TTL - VOUT (V)

CMOS - VOUT (V)

3. Desconecte as entradas A e B, deixando-as sem nenhuma ligação. Com um


multímetro digital realize a medida dos níveis de tensão nas entradas A e
B e na saída Y do componente. Qual é o nível lógico das entradas A e B
correspondente ao nível lógico da saída Y medida? Justifique no relatório os
níveis obtidos.

4. Repita os procedimentos anteriores para um CI 7400 da família CMOS.

5. Pense em um procedimento para determinar os níveis de tensão correspon-


dente ao nível lógico UM e ao nível lógico ZERO de uma porta OR TTL. Des-
creva detalhadamente o procedimento elaborado e monte o circuito necessário
para determinação dos níveis de tensão. Compare os resultados obtidos com
os resultados teóricos esperados.

6. Monte o circuito da Figura 1.15 (setup para tempos), implementando os inver-


sores com portas NAND. Usando o osciloscópio, reproduza as formas de onda
na entrada VIN (no canal 1) e VOUT (canal 2), quando a saída é tomada no
primeiro estágio VOUT,1 e no segundo estágio VOUT,2 . Use a escala de tempo
mais “aberta” possível. Use os gabaritos em anexo e anote os tempos tPLH e
tPHL .

Gerador de VIN VOUT,1 VOUT,2


pulsos CH1 CH2 CH2

Figura 1.15: Montagem para determinação dos parâmetros dinâmicos de um CI.


Figura adaptada de [? ]

7. Calcule o tempo de propagação tP da porta lógica em estudo.

8. Baseado nos parâmetros de tempo obtidos, qual é o intervalo de valores de


frequências que pode ser usado? Justifique sua resposta.

40
1.4. Roteiro Experimental

9. Escolha um valor de frequência adequado para o gerador de pulsos e execute


a medida do tempo de subida e de descida do sinal de saída da porta lógica.
Anote os valores experimentais e compare com os valores pesquisados. Co-
mente os resultados obtidos.

41
1. CARACTERIZAÇÃO DE P ORTAS L ÓGICAS

4
Tensão de saída (V)

0
0 1 2 3 4 5 Tensão de entrada (V)

Figura 1.16: Curva característica experimental de circuito TTL.

4
Tensão de saída (V)

0
0 1 2 3 4 5 Tensão de entrada (V)

Figura 1.17: Curva característica experimental de circuito CMOS.

42
1.4. Roteiro Experimental

timeDiv : Channel A : Channel B : XY timeDiv : Channel A : Channel B : XY


5ms/div 1 V/div 1 V/div OFF 5ms/div 1 V/div 1 V/div OFF

OffsetA OffsetB OffsetC OffsetA OffsetB OffsetC


0 0 0 0 0 0

timeDiv : Channel A : Channel B : XY timeDiv : Channel A : Channel B : XY


5ms/div 1 V/div 1 V/div OFF 5ms/div 1 V/div 1 V/div OFF

OffsetA OffsetB OffsetC OffsetA OffsetB OffsetC


0 0 0 0 0 0

timeDiv : Channel A : Channel B : XY timeDiv : Channel A : Channel B : XY


5ms/div 1 V/div 1 V/div OFF 5ms/div 1 V/div 1 V/div OFF

OffsetA OffsetB OffsetC OffsetA OffsetB OffsetC


0 0 0 0 0 0

43
XPERIMENTO
2

E
C IRCUITOS L ÓGICOS
C OMBINACIONAIS

2.1 Objetivos
Aprimorar a visão do aluno quanto à metodologia e implementação de um Circuito
Lógico Combinacional e às implicações das decisões de projeto. Ao final da prática
o aluno deverá estar apto a trabalhar com certo grau de desenvoltura no ambiente
da protoboard e a trabalhar com quaisquer circuitos combinacionais.

2.2 Circuitos Lógicos Combinacionais


2.2.1 Introdução
Os circuitos lógicos combinacionais são aqueles onde o nível lógico da(s) saída(s),
em qualquer instante de tempo, depende única e exclusivamente, dos níveis lógicos
presentes nas entradas. Em outras palavras, são circuitos que não possuem a carac-
terística de memória. Estes circuitos são projetados para executar uma operação
de processamento que pode ser especificada por meio de um conjunto de equações
booleanas, cuja as regras e propriedades são dadas pela Álgebra de Boole, conforme
já estudado nas aulas teóricas.
O estudo dos circuitos combinacionais é importante para compreender o funcio-
namento de circuitos muito utilizados na construção de computadores e em vários
outros sistemas digitais, como por exemplo, os circuitos somadores, subtratores, co-
dificadores, entre outros. De forma geral, os circuitos combinacionais podem ser
usados para solucionar problemas em que se necessita de uma resposta, quando
acontecerem determinadas situações, representadas pelas variáveis de entrada.
Para se construir esses circuitos, necessita-se de suas expressões características

45
2. C IRCUITOS L ÓGICOS C OMBINACIONAIS

que, como já foi visto, são obtidas através das tabelas verdade que representam as
situações já mencionadas.

2.2.2 Projeto de Circuitos Combinacionais


A Figura 2.1 ilustra a sequência do processo para o projeto de qualquer circuito
digital combinacional.

Figura 2.1: Ilustração da metodologia a ser seguida para o projeto de circuitos


combinacionais.

O processo se inicia com uma análise detalhada e profunda do problema que


deve ser resolvido. Esta análise deve permitir a descrição do problema na forma de
uma tabela verdade. Esta é a etapa mais difícil e requer experiência do projetista,
pois não é possível torná-la um processo algorítmico, passível de uma metodização
absoluta devido, sobretudo, às nuances e características de cada problema.
No entanto, em geral, a identificação correta das variáveis de entrada e saída é
um passo que auxilia na construção da tabela verdade. Nesse processo, o projetista
deve responder algumas perguntas, como por exemplo:

• Quantas são as variáveis de entrada e saída?

• Quais são?

• O que representa os níveis lógicos ZERO e UM?

46
2.3. Displays

Após essas definições deve-se realizar as combinações das variáveis de entrada e


montar a tabela verdade para cada saída.
Após a obtenção da tabela verdade, o próximo passo é a expressão booleana
de cada saída. Uma forma de realizar esse procedimento é escrever o termo AND
(produto) para cada caso em que a saída esteja em nível lógico alto e depois escrever
a expressão de soma de produtos para a saída.
A obtenção da expressão lógica do problema já permite a implementação do cir-
cuito. No entanto, é altamente recomendável simplificar a expressão lógica obtida
de forma a obter um circuito mais simples e, consequentemente, mais barato. O
processo de simplificação pode ser realizado através da Álgebra de Boole ou atra-
vés da utilização de Mapas de Karnaugh.
Antes de implementar em protoboard o circuito lógico obtido da expressão final
simplificada, recomenda-se simular o circuito em software de simulação apropri-
ado, de forma a validar o projeto e assim evitar perda de tempo na montagem de
circuitos errados.

2.3 Displays
2.3.1 Introdução
O display é um elemento importante no projeto de sistemas eletrônicos, dada a sua
função de apresentar informações inteligíveis a um ser humano. A gama de uti-
lização dos displays é bastante diversa, indo desde aplicações no setor industrial
até a incorporação em produtos eletrônicos de consumo de massa. Um exemplo
recente são os displays sensíveis ao toque usados em produtos portáteis. Assim,
encontra-se no mercado uma grande variedade de opções de formatos, especifica-
ções e complexidade de displays.
Todos os displays pedem algum tipo de circuito para controlar seus elementos
internos. Por exemplo, para um display SXGA (Super Extended Graphics Array)
de 1280 x 1024 pixels usado em notebooks, torna-se necessária a presença de cir-
cuitos destinados a controlar cada um de seus pixels, de modo a poder mostrar
dinamicamente as imagens que se deseja visualizar.
Neste experimento, será utilizado um display LED de sete segmentos. Este tipo
de display é usado para visualizar informações numéricas, podendo ser usado em
relógios, instrumentos de medição, painéis de preço e calculadoras, dentre outras
aplicações. Como os displays necessitam de controladores, também será utilizado
um conversor de dígitos BCD para 7 segmentos, projetado especificamente para
realizar interface com o display mencionado.

2.3.2 O Display LED de 7 Segmentos


Como o nome indica, o arranjo deste display consiste em uma matriz de LEDs
formando sete segmentos, referenciados pelas letras A até G. Além das letras, é
comum existir um ponto (DP − decimal point), prevendo aplicações numéricas. No-

47
2. C IRCUITOS L ÓGICOS C OMBINACIONAIS

tem que 7 segmentos permitem representar números de 0 a 15 em hexadecimal


(verifiquem).
Visto que cada segmento é um LED, deve-se conectar o anodo e catodo de ma-
neira correta, de forma a polarizá-lo corretamente e permitir a emissão de luz.
Comercialmente, há duas opções de configuração: anodo comum ou catodo comum.
Neste experimento, será utilizado um display de catodo comum, como mostrado na
Figura 2.2.

A K b
A

F B F B
b b

G G b
C

E C E DP
b

D DP D K
b

Figura 2.2: Display de 7 segmentos. Esquerda: disposição dos segmentos; direita:


configuração catodo comum.

Para limitar a corrente em cada LED, convém inserir um resistor entre o catodo
e a linha de aterramento. Uma possibilidade é usar vários resistores, cada um para
um diodo. Outra é a de usar um único resistor para todos os diodos, utilizando o
catodo comum. A primeira solução é mais trabalhosa, porém evita uma falha no
display todo caso o resistor único apresente defeito.

2.3.3 Conversor BCD para 7 segmentos


O CI 4511 realiza uma codificação de uma entrada binária em codificação BCD
(entradas DA , DB , DC , DD - sendo DD o bit mais significativo) para sete saídas (Oa
até Og), de modo a permitir a interconexão ao display de sete segmentos. Além
das entradas mencionadas, há mais três sinais de controle, todos ativos em nível
baixo:

• E L : latch enable input (habilita o latch): quando E L é BAIXO, o estado dos


segmentos (Oa até Og ) é determinado pelas entradas (DA , DB , DC , DD ); caso
contrário, a saída e determinada pelos últimos valores armazenados no latch;

48
2.3. Displays

Figura 2.3: CI 4511: diagrama funcional e pinagem.

Figura 2.4: Tabela verdade do CI 4511.

• LT : lamp test input (teste do display): quando ativo, aciona todos os segmen-
tos do display;

49
2. C IRCUITOS L ÓGICOS C OMBINACIONAIS

• B I : ripple blanking input (desativa o display): nível BAIXO força todos os


segmentos para nível BAIXO;

Essas informações podem ser resumidas na tabela verdade do dispositivo, Figura


2.4, obtida no manual do fabricante. A Figura 2.5 ilustra a forma correta de realizar
o acionamento de um display de 7 segmentos. Observe nesta figura que o LED
utilizado é do tipo anodo comum, visto que os anodos de todos os segmentos estão
conectados juntos em VCC

Figura 2.5: Decodificador/driver BCD para 7 segmentos acionando um display de


LEDs de 7 segmentos tipo anodo comum.

2.4 Pré-Relatório
2.4.1 Pesquisa bibliográfica
Conforme mencionado, o processo de simplificação de expressões lógicas pode ser
feito através da Algebra de Boole ou através da utilização do Mapa de Karnaugh.
Essas duas abordagens, embora eficientes, são restritas à problemas com baixo nú-
mero de variáveis. Desta forma, procure na literatura como é realizado o processo
de simplificação em problemas que possuem número elevado de variáveis. Des-
creva o procedimento de forma sucinta (não é necessário detalhar o processo). Não
se esqueça de mencionar a sua fonte bibliográfica.

2.4.2 Projetos e Simulações


Nesta seção são descritos os circuitos que devem ser projetados e/ou simulados. Na
etapa de simulação o aluno pode utilizar o software de sua preferência, como por

50
2.4. Pré-Relatório

exemplo, o Proteus, Circuito Maker, Pspice, etc. No entanto, devem ser apresenta-
dos: o nome do software utilizado, os diagramas de simulação desenvolvidos com
todas as condições de simulação realizadas. Pede-se que o aluno entregue também
o arquivo da simulação implementada (pode ser enviado para o e-mail do profes-
sor).
Nos projetos os alunos devem apresentar todas as etapas do desenvolvimento,
incluindo as tabelas verdades, simplificações lógicas realizadas, os diagramas es-
quemáticos dos circuitos e todas as informações adicionais que julgar necessárias
para perfeita compreensão do projeto realizado.
Além disso, em todos os projetos os alunos devem preparar o documento de
“metodologia de depuração”, apresentando o esquema orientativo para o processo
de depuração, adequado ao particular projeto (documento já debatido em aulas
anteriores), para o caso de algum problema ocorrer no momento da implementação
do circuito na protoboard.

2.4.2.1 Projeto e Simulação 1


Um circuito digital desconhecido possui três entradas e gera uma única saída di-
gital F. Para sintetizar este circuito montou-se no laboratório a configuração mos-
trada na Figura 2.6.

Gerador de B Circuito Digital F


Palavras Desconhecido
Digitais C “Black Box”

Figura 2.6: Montagem experimental para determinação do circuito digital.

Observe na Figura 2.6 que é utilizado um dispositivo chamado de analisador


lógico. Um analisador lógico é um instrumento eletrônico usado para visualizar
no tempo os estados lógicos de vários pontos de um circuito eletrônico digital. Ba-
sicamente vários canais de monitoramento são conectados a um circuito real e o
resultado é apresentado em uma tela de vídeo ou graficamente em papel através de
uma impressora. Dessa forma pode-se analisar o comportamento e a temporização
de portas lógicas, contadores, registradores, processadores e demais componentes
digitais de um circuito.
Nesta montagem o gerador de palavras digitais gera uma palavra de três bits
(bits A, B e C) a cada 50 ns e o diagrama de temporização obtido através do anali-
sador lógico e apresentado na Figura 2.7.
Considerando as informações expostas: Projete e simule o circuito combinaci-
onal simplificado que satisfaz este diagrama. Não se esqueça de apresentar a

51
2. C IRCUITOS L ÓGICOS C OMBINACIONAIS

Figura 2.7: Formas de ondas observadas na tela do analisador lógico.

expressão lógica e o diagrama esquemático do circuito. Além disso, justifique o


aparecimento de um deslocamento ∆t no diagrama temporal da saída F.

2.4.2.2 Projeto e Simulação 2


Projetar e simular um circuito digital para informar os cinco últimos números do
seu registro acadêmico (RA ou matrícula). O dígito que deverá ser apresentado no
display será selecionado através de três chaves. No projeto, as seguintes considera-
ções devem ser respeitadas:

• Desprezar o traço (ou barra) presente no seu RA. Exemplo, 09/0037111 ⇒


090037111.

• Desprezar os últimos quatro dígitos à esquerda, de forma a deixar seu RA


com apenas 5 dígitos: Exemplo, 090037111 ⇒ 37111.

• Para as entradas não previstas no projeto deve-se utilizar a condição que pro-
porcione maior economia de portas lógicas, ou seja, o menor circuito possível.

Exemplo de Projeto: Considere um aluno cujo registro acadêmico (RA) é o nú-


mero 09/0037451. Levando-se em consideração os itens descritos anteriormente,
para efeito de projeto tal RA passa a ser considerado como 37451.
O objetivo geral do projeto é obter um circuito digital que, de acordo com as
entradas presentes nas chaves seletoras (isto é: 000, 001, 010, 011, 100), exiba no
display de 7 segmentos o dígito de posição equivalente ao selecionado nas chaves
seletoras. Por exemplo, se as chaves seletoras estiverem na condição 000 deve-se
se exibir o dígito mais a direita do seu RA, ou seja, o dígito 1. Se a condição de
entrada for 001, deve-se exibir o dígito imediatamente a esquerda, ou seja o 5. Se
a condição de entrada for 010, deve-se exibir o dígito 4, se for 011, deve-se exibir o
dígito 7 e, por fim, se a condição de entrada for 100, deve-se exibir o dígito 3.
Observação: Cada aluno deve fazer um circuito para o seu RA específico (por-
tanto, em cada dupla, deve existir dois projetos diferentes), de forma que, não de-
verá existir dois circuitos idênticos sob pena do aluno receber nota zero no pré-
relatório e ficar impedido de realizar o experimento.

52
2.5. Roteiro Experimental

2.4.2.3 Projeto e Simulação 3


Projete um sistema que multiplique um número binário de 3 bits por 2 ou por 3,
dependendo do valor de um sinal M.
O resultado obtido deve ser mostrado no display de 7 segmentos. Para os casos
que não for possível exibir o resultado no display, o aluno tem liberdade para de-
cidir o que deve ser exibido. No entanto, deve estar bem claro, antes do projeto, o
que irá acontecer nesses casos.
Considere: M=0 ⇒ multiplicação por 2 e M=1 ⇒ multiplicação por 3.

2.5 Roteiro Experimental


Monte os circuitos projetados nas Seções 2.4.2.2 e 2.4.2.3. Com relação ao circuito
da seção 2.4.2.2 os alunos devem escolher um dos projetos da dupla para realizar a
montagem. Nas duas montagens deve-se realizar a seguinte sequência:

1. Monte o circuito projetado na protoboard;

2. Levante a tabela verdade para o circuito projetado, introduzindo todas as


combinações possíveis de entradas para o circuito e anotando as saídas do
display;

3. Se algum erro ocorreu e a tabela verdade esperada não foi obtida, execute
a metodologia de depuração elaborada para encontrar o problema. Não se
esqueça de apresentar no relatório o documento da metodologia de depuração;

4. Responda as seguintes perguntas:

• Qual a maior dificuldade encontrada no projeto? Após ter adquirido a ex-


periência em projetar este circuito, o que você faria diferente para tornar
o processo mais simples?
• Se for preciso alterar o tipo do display utilizado de cátodo comum para
ânodo comum, de forma rápida, quais alterações você sugeriria no cir-
cuito?
• Foi preciso utilizar o documento “metodologia de depuração”? Se sim,
quais ítens foram equivocados e não ajudaram no processo de encontrar
o erro de montagem? Quais mudanças vocês propõem nesse documento
para deixá-lo mais eficiente?

53
XPERIMENTO
3

E
C IRCUITOS S OMADORES E
S UBTRATORES

3.1 Objetivos
Familiarização com a aritmética binária e com a implementação de circuitos soma-
dores binários.

3.2 Circuitos Aritméticos


3.2.1 Introdução
Uma função essencial da maioria dos computadores e calculadoras é a realização
de operações aritméticas. Essas operações são realizadas em uma parte específica
do hardware conhecida como Unidade Lógica e Aritmética (ULA). Esta unidade é
formada por portas lógicas e flip-flops que combinados permitem a realização de
somas, subtrações, multiplicações e divisões de números binários. Esses circuitos
realizam essas operações em uma velocidade considerada humanamente impossí-
vel. Normalmente, uma operação de adição demora menos que 100 ns [? ].
A estrutura básica de uma ULA está mostrada na Figura 3.1. O objetivo básico
de uma ULA é receber dados binários armazenados na memória e executar opera-
ções aritméticas e lógicas sobre esses dados, de acordo com instruções provenientes
da unidade de controle. Assim, uma sequência de operações típica de uma ULA
pode ocorrer conforme se segue:

1. A unidade de controle recebe uma instrução determinando que um determi-


nado valor na memória deve ser somado ao valor do acumulador;

2. O valor é transferido da memória para o registrado B;

55
3. C IRCUITOS S OMADORES E S UBTRATORES

3. Os valores do acumulador e do registrador B são apresentados à lógica de


adição que executa a soma e armazena o resultado no acumulador;
4. O resultado pode ser mantido no acumulador para operações subsequentes ou
ser transferido para a memória.

Unidade Unidade Central de Processamento


lógica /
aritmética

dados, informação

Entrada Controle Saída

sinais de controle
dados ou informação
dados, informação
Memória

Figura 3.1: Blocos funcionais de uma ULA. Figura extraída de [? ].

A complexidade dos blocos funcionais da ULA mostrados na Figura 3.1 é propor-


cional à complexidade do sistema em que será utilizada; assim, sistemas simples
permitem o uso de ULAs simples e sistemas sofisticados exigem ULAs sofistica-
das. Uma vez estabelecido o porte do sistema, existe também o compromisso entre
velocidade e preço. Por exemplo, as calculadoras eletrônicas exigem ULAs que per-
mitem operações complexas, porém com velocidade de operação baixa, reduzindo-se
o custo; já os computadores de grande porte exigem velocidade de operação elevada,
aumentando o custo da ULA.
Neste momento do curso, no entanto, não estamos interessados no estudo de-
talhado de todos os blocos funcionais que formam uma ULA. Nosso foco, então,
será apenas nos circuitos lógicos que realizam as operações aritméticas de soma e
subtração.

3.2.2 Números com sinais e o Sistema de Complemento de 2


Como a maioria dos computadores e das calculadoras digitais realiza operações
tanto com números positivos e negativos, é necessário representar, de alguma
forma, o sinal do número (+ ou −). Existem várias formas de obter essa representa-
ção. Uma das maneiras é a representação denominada de sistema sinal-magnitude.
Nesta forma de representação simplesmente adiciona-se ao número um outro bit
denominado de bit de sinal. Em geral, a convenção comum é utilizar o bit 0 para
número positivos e o bit 1 para números negativos.
Embora o sistema sinal-magnitude seja uma representação direta, os compu-
tadores e calculadores normalmente não o utilizam, porque esse sistema requer
a implementação de circuitos mais complexos. A maioria dos sistemas modernos

56
3.2. Circuitos Aritméticos

usa o sistema de complemento de 2 para representar números negativos. O


complemento de 2 de um número é obtido tomando o complemento de 1 do número
(substituição de todos os 0s por 1s e 1s por 0s) e somando 1 na posição do bit menos
significativo.
O sistema de complemento de 2 para representação de números com sinal fun-
ciona da seguinte forma:
• Se o número for positivo, a magnitude é representada por na sua forma direta,
e um bit de sinal 0 é colocado em frente ao bit mais significativo.
• Se o número for negativo, a magnitude é representada na sua forma de com-
plemento de 2, e um bit de sinal 1 é colocado em frente ao bit mais significa-
tivo.
Esse sistema é o mais utilizado para representar números com sinal porque
permite realizar a operação de subtração efetuando, na verdade, uma operação de
adição. Desta forma, o sistema digital pode usar o mesmo circuito tanto na adição
quando na subtração, desse modo poupando hardware.
Para visualizar como esse procedimento funciona, basta lembrar que realizar a
subtração de (5 − 4) é equivalente a realizar a seguinte operação de adição (5 + (−4)).
Portanto, para realizar a operação de soma ou subtração que envolva números
negativos, basta determinar o complemento de 2 dos números negativos envolvidos
e realizar a operação de adição. O procedimento descrito abaixo ajuda na tarefa de
realizar operações no sistema de complemento de 2.
1. Represente os números envolvidos em binário puro;
2. Verifique a quantidade de bits da representação, se necessário complete a
seqüencia de bits com zeros à esquerda;
3. Identifique os números negativos e determine o seu complemento de 2;
4. Realize a soma binária;
5. Verifique o bit de sinal do resultado, se for 0, o resultado é positivo, se for 1 o
resultado é negativo;
6. Em caso de resultado negativo, se quiser visualizar o resultado, recomenda-
se representar o número na forma de sinal-magnitude, assim determine o
complemento de 2 do resultado para determinar a magnitude do número ne-
gativo obtido (lembrando ao final deste processo que trata-se de um número
negativo);

3.2.3 Circuitos Somadores


Existem diversos circuitos diferentes para implementar a operação aritmética de
soma, como por exemplo, o circuito meio somador, circuito somador completo, cir-
cuito somador completo paralelo, entre outros. Na seção 3.3.1 deste roteiro será
solicitado ao aluno realizar uma pesquisa bibliográfica para apresentar as caracte-
rísticas de cada circuito somador existente.

57
3. C IRCUITOS S OMADORES E S UBTRATORES

3.2.4 Overflow Aritmético


Ocorre sempre que uma operação aritmética produz um número que necessita ser
expresso em mais bits de magnitude do que está disponível. Por exemplo, considere
um sistema digital que trabalha com números de 4 bits de magnitude e um bit de
sinal. Considere que seja necessário realizar a adição de +9 (01001) com +8 (01000).
Neste caso, tem-se como resultado o número (10001)B , que representaria o decimal
−1, enquanto que a resposta deveria ser +17, indicando obviamente um erro no
cálculo. Isso ocorre porque para representar a magnitude 17 é necessário mais do
que os quatro bits disponíveis, portanto ocorre o transbordamento do “vai-um” ou
overflow.
A condição de overflow pode ocorrer apenas quando dois números positivos ou
dois números negativos são somados, e isso sempre produz um resultado errado.
Desta forma, o overflow pode ser detectado verificando se o bit de sinal do resultado
tem o mesmo valor dos bits de sinal dos números que estão sendo somados.

3.3 Pré-Relatório
3.3.1 Pesquisa bibliográfica
Realize uma pesquisa bibliográfica sobre as diferentes configurações de circuitos
somadores existentes. Faça uma breve explicação sobre a teoria envolvida em cada
um deles, além de uma comparação entre essas diferentes configurações, desta-
cando em cada caso as vantagens e desvantagens. DICA: Pesquisar sobre um cir-
cuito denominado “carry antecipado” (look-ahead carry).

3.3.2 Projetos e Simulações


Nesta seção são descritos os circuitos que devem ser projetados e/ou simulados. Na
etapa de simulação o aluno pode utilizar o software de sua preferência, como por
exemplo, o Proteus, Circuito Maker, Pspice, etc. No entanto, devem ser apresenta-
dos: o nome do software utilizado, os diagramas de simulação desenvolvidos com
todas as condições de simulação realizadas. Pede-se que o aluno entregue também
o arquivo da simulação implementada (pode ser enviado para o e-mail do profes-
sor).
Nos projetos os alunos devem apresentar todas as etapas do desenvolvimento,
incluindo as tabelas verdades, simplificações lógicas realizadas, os diagramas es-
quemáticos dos circuitos e todas as informações adicionais que julgar necessárias
para perfeita compreensão do projeto realizado.
Além disso, em todos os projetos os alunos devem preparar o documento de
“metodologia de depuração”, apresentando o esquema orientativo para o processo
de depuração, adequado ao particular projeto (documento já debatido em aulas
anteriores), para o caso de algum problema ocorrer no momento da implementação
do circuito na protoboard.

58
3.3. Pré-Relatório

3.3.2.1 Projeto e Simulação 1


Projetar e simular um circuito que permita realizar o complemento de 1 de um
número de 3 bits (incluindo o bit de sinal). Esse circuito deve possuir ainda uma
entrada seletora (SEL) que permita especificar quando deve-se realizar essa opera-
ção de complemento.
Desta forma, quando a operação de complemento não for desejada, o circuito
deve fornecer na saída exatamente o número de entrada (ver Figura 3.2). Assim, a
função realizada por esse circuito depende do valor da entrada de seleção SEL:

• se SEL = 0, a função selecionada é a IGUALDADE e Z = A;

• se SEL = 1, a função selecionada é o COMPLEMENTO DE 1 e Z = comple-


mento de 1 de A.
A
3

I GUALDADE /
SEL
C OMPLEMENTO DE 1

Figura 3.2: Circuito seletor de Igualdade/Complemento de 1.

3.3.2.2 Projeto e Simulação 2


Projetar e simular um circuito que seja capaz de detectar uma condição de overflow
(Estouro de Capacidade) para ser usado com um circuito somador de números com
sinal, de três bits, codificados na forma de complemento de 2.

3.3.2.3 Projeto e Simulação 3


Projetar e simular um circuito SOMADOR/SUBTRATOR de três bits (incluindo o
bit de sinal) para números com sinal, codificados na forma de complemento de 2,
dado pelo bloco funcional mostrado na Figura 3.3. O circuito deve ter ainda uma
saída (E) que indica as situações em que ocorreu um estouro de capacidade (over-
flow). O resultado da operação deve ser exibido em um display de sete segmentos.
Desta forma, a função realizada por este circuito, que depende do valor da entrada
de seleção SEL, pode ser resumida da seguinte forma:

• se SEL = 0, a função selecionada é a SOMA e S = A + B;

59
3. C IRCUITOS S OMADORES E S UBTRATORES

• se SEL = 1, a função selecionada é a SUBTRAÇÃO e S = A + Complemento


de 2 de B.

• A saída E indica a condição de Overflow.

• A saída C4 é o carry da operação, que pode ser utilizado para expandir a


capacidade da operação através da associação com outros blocos somadores.
A B

3 3

S OMADOR / S UBTRATOR SEL

C4 E S

Figura 3.3: Circuito Somador/Subtrator de três bits.

DICAS:

• O bloco lógico funcional desse circuito deve ser, primeiramente, detalhado na


forma de um circuito lógico utilizando grandes blocos funcionais. Em seguida,
esse circuito lógico deve ser detalhado usando os blocos funcionais disponíveis
individualmente na forma de CIs (inversores, portas, etc).

• Utilize os circuitos projetados nas Seções 3.3.2.1 e 3.3.2.2 como parte do seu
projeto.

• Cuidado na etapa de verificação do circuito. Prepare tabelas contendo os va-


lores de entrada e saída e siga-as, verificando se o circuito fornece a saída
correta em todos os casos.

OPCIONAL: O circuito projetado irá fornecer na saída os valores negativos em


sua forma de complemento de 2. Altere o seu projeto de forma que na saída os
números negativos não estejam nesta forma. Para indicar o sinal negativo utilize
o segmento de ponto do display de 7 segmentos.

3.4 Roteiro Experimental


Implemente em protoboard os circuitos projetados nas Seções 3.3.2.1, 3.3.2.2 e
3.3.2.3. Em todas as montagens deve-se realizar a seguinte sequência:

1. Monte o circuito projetado na protoboard;

60
3.4. Roteiro Experimental

2. Levante a tabela verdade para o circuito projetado, introduzindo todas as


combinações possíveis de entradas para o circuito e anotando as saídas do
display ou LEDs;

3. Se algum erro ocorreu e a tabela verdade esperada não foi obtida, execute
a metodologia de depuração elaborada para encontrar o problema. Não se
esqueça de apresentar no relatório o documento da metodologia de depuração;

4. Observe, também, a ocorrência de resultados inválidos. Caso existam, em que


condições eles ocorrem?

5. Responda as seguintes perguntas:

• Quais as diferença entre o circuito projetado na Seção 3.3.2.3 e uma ULA


(Unidade Lógica Arimética) presente nos principais processadores?
• Como o circuito projetado na Seção 3.3.2.3 poderia ser modificado para
poder apresentar resultados com 3 bits de magnitude?

61
4

XPERIMENTO
E
C IRCUITOS C ODIFICADORES E
D ECODIFICADORES

4.1 Objetivos
Compreender o funcionamento e se familiarizar com o projeto de circuitos codifica-
dores e decodificadores.

4.2 Circuitos conversores de códigos


4.2.1 Introdução
Atualmente, o termo “digital” tornou-se parte do nosso vocabulário diário devido ao
modo intenso pelo qual os circuitos digitais e as técnicas digitais passaram a ser
amplamente utilizadas em quase todas as áreas: computadores, automação, robôs,
transporte, telecomunicações, entre outras.
No entanto, a maioria dos sistemas digitais trabalham com as informações codi-
ficadas em bits. O homem, por outro lado, que interage com esses sistemas, não é
capaz de interpretar com rapidez uma informação nessa codificação. Por exemplo,
imagine você trabalhando em seu computador escrevendo um relatório de sistemas
digitais e, ao invés de digitar as palavras em um teclado alfanumérico como está
acostumado, tivesse que entrar direto com o código ASCII, código que o computa-
dor trabalha internamente, de cada letra. Com toda certeza levaria horas nessa
tarefa! E ler seu relatório na tela com todo o texto apresentado em formato ASCII?
Praticamente impossível!!
Adicionalmente, a necessidade de interação homem - sistema digital não é única,
existe também a necessidade de interação entre os diferentes tipos de sistemas digi-
tais. Devido a diversidade das informações existentes e a diversidade dos sistemas
digitais, a necessidade de troca de informação entre esses diferentes sistemas é

63
4. C IRCUITOS C ODIFICADORES E D ECODIFICADORES

muito grande. No entanto, um sistema pode não entender a informação ou o código


utilizado pelo outro sistema.
Desta forma, é fundamental a existência de circuitos que convertam a informa-
ção de um código para outro. Os circuitos que realizam essa função são conhecidos
como circuitos codificadores e decodificadores. Estes são circuitos combinacionais
dedicados: circuitos comuns em projetos de sistemas digitais devido às funções
lógicas que executam, podendo ser encontrados prontos em circuitos integrados co-
merciais. De forma geral, pode-se definir o codificador como um circuito lógico que,
como o próprio nome o diz, codifica uma informação que se encontra em um formato
trivial, para um outro formato, nem tanto trivial, mas especializado, usando um pa-
drão de conversão de tipo de código. O decodificador, por sua vez, traz a informação
de um formato de código especializado para um formato de código mais trivial.
Para a parte teórica e assuntos referente ao projeto dos circuitos codificadores -
decodificadores o aluno deverá se referir às notas de aula da parte teórica e/ou às
referências bibliográficas apresentadas no final deste roteiro.

4.2.2 Códigos
São vários os códigos dentro do campo Eletrônica Digital, existindo situações em
que a utilização de um é vantajosa em relação a outro. A Tabela 4.1 apresenta al-
guns exemplos de representação de números decimais em códigos binários bastante
usados na prática.
Os códigos das duas primeiras colunas da tabela são chamados códigos ponde-
rados, uma vez que a cada bit é atribuído um peso. O código da primeira coluna é
o mais comum e chamado código 8421 ou BCD (Binary-Coded-Decimal).

Tabela 4.1: Exemplos de códigos mais frequentes.

8421 E XCESSO
D ECIMAL 2421 2 EM 5 B IQUINÁRIO
(BCD) DE 3

0 0000 0000 0011 00011 0100001


1 0001 0001 0100 00101 0100010
2 0010 0010 0101 00110 0100100
3 0011 0011 0110 01001 0101000
4 0100 0100 0111 01010 0110000
5 0111 1011 1000 01100 1000001
6 0110 1100 1001 10001 1000010
7 0101 1101 1010 10010 1000100
8 1010 1110 1011 10100 1001000
9 1011 1111 1100 11000 1010000

64
4.3. Pré-Relatório

Além dos códigos apresentados existem, por exemplo, o código Gray, o código
Johnson, o código ASCII, entre outros.

4.3 Pré-Relatório
4.3.1 Pesquisa bibliográfica
Pesquise as principais aplicações que empregam os códigos apresentados na Seção
4.2.2. Se possível, em cada caso, procure destacar a vantagem da utilização de um
código em relação aos outros.

4.3.2 Projetos e Simulações


Nesta seção são descritos os circuitos que devem ser projetados e/ou simulados. Na
etapa de simulação o aluno pode utilizar o software de sua preferência, como por
exemplo, o Proteus, Circuito Maker, Pspice, etc. No entanto, devem ser apresenta-
dos: o nome do software utilizado, os diagramas de simulação desenvolvidos com
todas as condições de simulação realizadas. Pede-se que o aluno entregue também
o arquivo da simulação implementada (pode ser enviado para o e-mail do profes-
sor).
Nos projetos os alunos devem apresentar todas as etapas do desenvolvimento,
incluindo as tabelas verdades, simplificações lógicas realizadas, os diagramas es-
quemáticos dos circuitos e todas as informações adicionais que julgar necessárias
para perfeita compreensão do projeto realizado.
Além disso, em todos os projetos os alunos devem preparar o documento de
“metodologia de depuração”, apresentando o esquema orientativo para o processo
de depuração, adequado ao particular projeto (documento já debatido em aulas
anteriores), para o caso de algum problema ocorrer no momento da implementação
do circuito na protoboard.

4.3.2.1 Projeto e Simulação 1


Projete e simule um sistema de conversão de códigos, onde os códigos de entrada
e saída são indicados na Tabela 4.2. As saídas do circuito devem ser visualizadas
em LEDs. O aluno deve obter as expressões lógicas de todas as variáveis de saída,
além de minimizar as funções obtidas utilizando o Mapa de Karnaugh.
Para esta etapa de minimização, considere que as combinações de entrada não
utilizadas são condições de irrelevância (don’t care).

4.3.2.2 Projeto e Simulação 2


Um codificador de prioridades é um circuito combinacional onde, se um ou mais
bits de entrada forem iguais a 1, a saída indicará o bit de maior prioridade. Con-
siderando que a ordem de prioridade é definida do MSB para o LSB, a Figura 4.3
mostra a tabela verdade para um codificador de prioridade de 4 entradas. O “X”

65
4. C IRCUITOS C ODIFICADORES E D ECODIFICADORES

C ÓDIGO DE E NTRADA C ÓDIGO DE S AÍDA


A B C D x y z w v
0 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 1
0 0 1 0 0 0 0 1 1
0 0 1 1 0 0 1 1 1
0 1 0 0 0 1 1 1 1
0 1 0 1 1 1 1 1 1
0 1 1 0 1 1 1 1 0
0 1 1 1 1 1 1 0 0
1 0 0 0 1 1 0 0 0
1 0 0 1 1 0 0 0 0

Tabela 4.2: Códigos de entrada e de saída utilizados no primeiro projeto.

indica um valor de irrelevância (don’t care), e a saída V indica quando há entradas


diferentes de zero. Projete e simule o circuito que implemente esse codificador.

E NTRADAS S AÍDAS
D3 D2 D1 D0 A1 A0 V
0 0 0 0 x x 0
0 0 0 1 0 0 1
0 0 1 x 0 1 1
0 1 x x 1 0 1
1 x x x 1 1 1

Tabela 4.3: Tabela verdade do circuito codificador de prioridades.

4.4 Roteiro Experimental


Implemente em protoboard os circuitos projetados nas Seções 4.3.2.1 e 4.3.2.2. Em
todas as montagens deve-se realizar a seguinte sequência:

1. Monte o circuito projetado na protoboard;

66
4.4. Roteiro Experimental

2. Levante a tabela verdade para o circuito projetado, introduzindo todas as com-


binações possíveis de entradas para o circuito e anotando as saídas mostradas
nos LEDs;

3. Se algum erro ocorreu e a tabela verdade esperada não foi obtida, execute
a metodologia de depuração elaborada para encontrar o problema. Não se
esqueça de apresentar no relatório o documento da metodologia de depuração;

4. Responda a seguinte questão: quais as diferenças entre um circuito codifica-


dor e um circuito decodificador?

67
5

XPERIMENTO
E
C IRCUITOS M ULTIPLEXADORES E
D EMULTIPLEXADORES

5.1 Objetivos
Familiarização com os conceitos de multiplexação e demultiplexação, bem como sua
utilização para implementação de funções lógicas.

5.2 Circuitos Multiplexadores


5.2.1 Introdução
Multiplexar significa selecionar dados dentre diversas fontes. A Figura 5.1 mostra
o esquema funcional generalizado de um multiplexador lógico. Nesse dispositivo,
os terminais de seleção determinam o terminal de entrada de dados que terá seu
conteúdo transferido para a saída. A operação inversa é denominada demultiple-
xação.
A Figura 5.2 mostra o esquema funcional de um demultiplexador. Como será
mostrado adiante, o demultiplexador lógico é quase equivalente a um decodificador.
As operações de multiplexação e demultiplexação são realizadas quando diversas
fontes de dados compartilham de uma mesma unidade de processamento ou canal
de transmissão.
É importante ter em mente que, os circuitos multiplexadores e demultiplexado-
res são simplesmente circuitos combinacionais com diversos terminais de entrada e
apenas um terminal de saída, ou vice-versa. O conceito de seleção de dados é mais
uma questão de aplicação e ponto de vista do que de funcionamento. Para funda-
mentos teóricos mais detalhados e assuntos referentes a projeto desses circuitos o
aluno deverá consultar o material teórico das aulas teóricas.

69
5. C IRCUITOS M ULTIPLEXADORES E D EMULTIPLEXADORES

E0
E1
E2
E3
N Entradas
de D ADOS E4
MUX Saída

E5
E6
E7

log2 N S0 S1 S2
Entradas de S ELEÇÃO

Figura 5.1: Representação de um multiplexador 8/1.

E0
E1
E2
E3
N Saídas
Entrada DEMUX E4 de D ADOS

E5
E6
E7

log2 N S0 S1 S2
Entradas de S ELEÇÃO

Figura 5.2: Representação de um demultiplexador 1/8.

5.2.2 Uso de multiplexadores para implementar funções


lógicas
A implementação de funções lógicas de maior complexidade não é normalmente
uma tarefa fácil, podendo exigir o uso de muitas portas lógicas. Para simplificar os
projetos, podem-se utilizar componentes com um maior grau de integração (MSI -
Medium Scale Integration e LSI - Large Scale Integration), que proporcionam uma

70
5.2. Circuitos Multiplexadores

significativa redução do número de componentes necessários à implementação de


muitas funções. No entanto, o custo de tais componentes, muitas vezes, é supe-
rior ao das portas lógicas. Assim, para efeito de escolha, o custo global do projeto
também deve ser considerado [? ].
O uso de multiplexadores e decodificadores é uma opção vantajosa em relação
às portas lógicas [? ]. Eles podem ser utilizados para se implementar uma função
booleana genérica e são particularmente convenientes para tal fim quando a função
a ser implementada é de natureza irregular, e não permite muita simplificação.
Em muitos casos, o uso de multiplexadores resulta em um projeto mais fácil, mais
compacto e mais flexível.
Para entender como funciona o processo de utilização dos multiplexadores para
implementar uma função lógica vamos analisar o seguinte exemplo:
Exemplo 1: Considere que estamos interessados em projetar o circuito repre-
sentado pela tabela verdade mostrada na Figura 5.3. Neste caso, o multiplexador
pode ser usado para gerar a função lógica diretamente da tabela verdade sem sim-
plificação. Para isso, as entradas de seleção são usadas para as variáveis lógicas e
cada entrada de dados é conectada permanentemente aos níveis ALTO ou BAIXO
de acordo com a tabela verdade.

Figura 5.3: Tabela verdade do exemplo1.

Exemplo 2: No exemplo 1, o problema analisado consistia de 3 variáveis de en-


trada e foi utilizado um Mux 8x1. No entanto, o processo pode ficar um pouco mais
complexo quando o problema possui um número de variáveis de entrada maior do
que a capacidade do multiplexador disponível. Por exemplo, considere a tabela
verdade mostrada na Figura 5.4. Para implementar a função lógica desta tabela
verdade precisaríamos de um multiplexador de 16 canais, visto que, temos 4 variá-
veis de entrada. No entanto, considere que está disponível apenas MUX 8 canais.
Neste caso, três das quatro variáveis independentes são escolhidas para aci-
onar os terminais de seleção (no presente caso escolheu-se as variáveis A, B e C).
Observe na Figura 5.4 que, esta escolha permite reduzir a tabela verdade que tinha
16 canais para 8 canais, visto que, uma determinada combinação nas entradas A, B

71
5. C IRCUITOS M ULTIPLEXADORES E D EMULTIPLEXADORES

e C estará endereçando duas linhas da tabela verdade. Assim, estamos agrupando


a tabela a cada duas linhas, formando uma tabela final com 8 canais.
Cada terminal de dados do multiplexador deverá ser acionado pela variável
independente que restou (no presente caso a variável D). O terminal de saída pode,
então, assumir 4 possibilidades: f = D , f = D , f = 1 ou f = 0. A Figura 5.5 ilustra o
esquema de ligação das entradas no multiplexador para implementar essa função.

Figura 5.4: Tabela verdade do exemplo2.

5.2.2.1 Técnica geral


A técnica de implementação introduzida acima pode ser generalizada para uma
função de n variáveis. Considere por exemplo um multiplexador de 8 terminais de
dados. A expressão booleana da saída S é:

S = E 1 E 2 E 3 D 0 + E 1 E 2 E 3 D 1 + . . . + E 1 E 2 E 3D 7 (5.1)

Qualquer função de n > 3 variáveis pode ser colocada na forma:

f (A, B,C , D, E , . . .) = ABC F0 (D, E , . . .) + ABC F1 (D, E , . . .) + . . . + ABC F7 (D, E , . . .) (5.2)

em que A, B e C são variáveis selecionadas arbitrariamente dentre as n e F0 , F1 , . . .,


F7 são funções das (n − 3) variáveis restantes, portanto mais simples que a função
original f. No caso particular em que n = 4, as funções F0 , F1 , . . ., F7 são funções
da única variável restante e existem apenas 4 possibilidades (1, 0, D, D ) como

72
5.3. Pré-Relatório

Figura 5.5: Implementação da função f com um MUX-8.

já foi visto. Também se n = 3, f estará na própria forma canônica de mintermos


e, portanto, os fatores F0 , F1 , . . ., F7 só podem ser ou identicamente iguais a 0 ou
identicamente iguais a 1. A mesma técnica pode ser naturalmente estendida a
outros multiplexadores. Um multiplexador de 16 entradas de dados, por exemplo,
pode implementar qualquer uma das 232 funções diferentes de 5 variáveis, com
apenas uma única porta inversora adicional.

5.3 Pré-Relatório
5.3.1 Projetos e Simulações
Nesta seção são descritos os circuitos que devem ser projetados e/ou simulados. Na
etapa de simulação o aluno pode utilizar o software de sua preferência, como por
exemplo, o Proteus, Circuito Maker, Pspice, etc. No entanto, devem ser apresenta-
dos: o nome do software utilizado, os diagramas de simulação desenvolvidos com
todas as condições de simulação realizadas. Pede-se que o aluno entregue também
o arquivo da simulação implementada (pode ser enviado para o e-mail do profes-
sor).
Nos projetos os alunos devem apresentar todas as etapas do desenvolvimento,
incluindo as tabelas verdades, simplificações lógicas realizadas, os diagramas es-
quemáticos dos circuitos e todas as informações adicionais que julgar necessárias
para perfeita compreensão do projeto realizado.
Além disso, em todos os projetos os alunos devem preparar o documento de
“metodologia de depuração”, apresentando o esquema orientativo para o processo
de depuração, adequado ao particular projeto (documento já debatido em aulas
anteriores), para o caso de algum problema ocorrer no momento da implementação
do circuito na protoboard.

73
5. C IRCUITOS M ULTIPLEXADORES E D EMULTIPLEXADORES

5.3.1.1 Projeto e Simulação 1


Projete e simule um circuito que implemente a função dada abaixo usando um
multiplexador de 4 entradas de dados e um decodificador de 4 entradas.

f (A, B,C , D) = ABC D + ABC D + ABC D + ABC D (5.3)

Orientação: O decodificador também é um circuito útil na implementação de


funções complicadas, pois cada uma de suas saídas constitui um dos mintermos das
variáveis de entrada. Observe, por exemplo, que qualquer função de 4 variáveis
pode ser implementada com um DECOD-4 e mais algumas portas OU. Portanto,
use o decodificador como um gerador de mintermos para o multiplexador.

5.3.1.2 Projeto e Simulação 2


A economia de consumo de energia e de componentes são sempre fatores importan-
tes a serem considerados em projetos de sistemas digitais, devido, principalmente,
a fatores como eficiência e custo. Neste sentido, em projetos que necessitam de aci-
onamento de vários displays, é comum a utilização de uma técnica conhecida como
multiplexação de displays [? ].
Esta técnica permite que apenas um decodificador de displays possa controlar
uma série de displays. Para isso, é explorado o fato que os displays LED são capa-
zes de operar em tempos da ordem de nanosegundos. Isto significa que eles podem
operar num baixo duty cycle (ou fator de forma) com uma alta taxa de amostragem,
isto é, o sistema pode ativar os displays ciclicamente (acendendo e apagando), apro-
veitando a característica do olho humano de detectar apenas os “picos” de brilho [?
].
Desta forma, no projeto do circuito, os displays são ciclicamente acesos e apaga-
dos numa frequência conveniente de tal forma que, para o olho humano, todos os
displays permanecem durante todo o tempo acesos. Existem diversas estratégias
para realizar esta tarefa, a escolha da melhor depende de cada problema específico.
Um exemplo de estratégia está apresentada na Figura 5.6.
Neste projeto, deseja-se mostrar em dois displays de sete segmentos os dígitos
de unidade e de dezena de uma grandeza qualquer, por exemplo a temperatura
numa sala. Deve-se utilizar no projeto um multiplexador para acionar dois dis-
plays de sete segmentos alternadamente, utilizando apenas um conversor BCD-7
segmentos. Tenha em mente, conforme exposto acima, que os displays não necessa-
riamente precisam estar ativos todo o tempo, podendo ser ligados e desligados com
uma certa frequência (acima de 100 Hz), de modo que o olho humano não consiga
notar esse chaveamento [? ].
O funcionamento do circuito deve ser o seguinte: têm-se como entradas dois
dígitos BCD (A e B), que devem ser mostrados em dois displays de 7 segmentos.
Considere o dígito A como sendo o mais significativo. Um sinal de onda quadrada
seleciona quando cada dígito é mostrado em seu respectivo display: quando a onda
quadrada está em nível lógico 1, é mostrado o dígito A (e o display B é desligado);
quando a onda quadrada está em nível lógico 0, é mostrado o dígito B (e o display

74
5.4. Roteiro Experimental

Figura 5.6: Diagrama de blocos do projeto. Figura extraída de [? ].

A é desligado). Note que a onda quadrada deve agir sobre o multiplexador e sobre
os displays de maneira simultânea e sincronizada [? ].
Projete e simule o circuito que implemente essa função a partir do diagrama de
blocos da Figura 5.6. Considere que a onda quadrada será proveniente do gerador
de funções. Descreva resumidamente o funcionamento do seu circuito.

5.4 Roteiro Experimental


Implemente em protoboard os circuitos projetados nas Seções 5.3.1.1 e 5.3.1.2. Em
todas as montagens deve-se realizar a seguinte sequência:

1. Monte o circuito projetado na protoboard;

2. Levante a tabela verdade para o circuito projetado, introduzindo todas as com-


binações possíveis de entradas para o circuito e anotando as saídas mostradas
nos displays;

3. Se algum erro ocorreu e a tabela verdade esperada não foi obtida, execute
a metodologia de depuração elaborada para encontrar o problema. Não se
esqueça de apresentar no relatório o documento da metodologia de depuração;

4. Para o projeto da seção 5.3.1.2, varie a frequência da onda quadrada e veri-


fique o comportamento do circuito. Qual a mínima frequência para que os
dígitos “pareçam” sempre acesos?

5. Comente esta afirmativa:“o uso da multiplexação afeta no consumo de energia


e na luminosidade dos displays”.

75
6

XPERIMENTO
E
F LIP -F LOPS

6.1 Objetivos
Estudo de elementos com memória baseados em flip-flops e outros dispositivos cor-
relatos.

6.2 Circuitos Lógicos Seqüenciais


6.2.1 Introdução
Os circuitos lógicos implementados até este momento do curso são considerados
circuitos lógicos combinacionais, porque os níveis lógicos da saída, em qualquer
instante de tempo, dependem apenas dos níveis lógicos presentes nas entradas
nos mesmos instantes de tempo. Quaisquer condições de entrada anteriores não
têm efeito sobre as saídas atuais, porque o circuito lógico combinacional não possui
memória. No entanto, a maioria dos sistemas digitais é constituída de circuitos
combinacionais e de elementos de memória.
Os circuitos com memória são conhecidos como circuitos sequenciais e apresen-
tam as saídas dependentes das variáveis de entrada e/ou de seus estados anteriores
que permanecem armazenados. A Figura 6.1 mostra um diagrama em blocos de um
sistema digital geral que reúne portas lógicas combinacionais com dispositivos de
memória.
O elemento de memória mais importante é o flip-flop (FF), que é implementado
a partir de portas lógicas. Embora uma porta lógica, por si só, não tenha capacidade
de armazenamento, algumas delas podem ser conectadas de tal forma que permita
o armazenamento de informação.

77
6. F LIP -F LOPS

Figura 6.1: Diagrama de blocos geral de um sistema digital.

6.2.2 O Latch
O circuito mais simples de um FF pode ser construído a partir de duas portas
NAND ou duas portas NOR, conforme mostrado na Figura 6.2. O latch, assim
como o FF, é um dispositivo de armazenamento temporário que tem dois estados
estáveis (biestável). A principal diferença entre o latch e o FF é o método utilizado
para a mudança de estado. O funcionamento básico de um latch NAND pode ser
descrito como segue:

• SET = RESET = 1. Condição de repouso e não tem efeito sobre o estado da


saída, ou seja, a saída é mantida no estado anterior.

• SET = 0 e RESET = 1. Essa condição faz a saída ir para o estado em que Q = 1,


em que permanecerá mesmo que a entrada SET retorne para o nível ALTO.
Essa é a operação de setar o latch.

• SET = 1 e RESET = 0. Essa condição sempre gera um estado de saída em que


Q = 0, no qual permanece mesmo após a entrada RESET retornar para nível
ALTO. Essa operação é de limpar ou “resetar” o latch.

A análise do funcionamento do latch NOR pode ser feita de forma análoga ao latch
NAND. A principal diferença entre essas duas configurações é que no latch NOR as
entradas de SET e RESET são ativas em nível lógico ALTO, em vez de ativas em
nível BAIXO. Desta forma, o estado de repouso é SET = RESET = 0.

6.2.3 O Flip-Flop com clock


Os sistemas digitais podem operar tanto no modo assíncrono quanto no síncrono.
Nos sistemas assíncronos, as saídas de circuitos lógicos podem mudar de estado a

78
6.2. Circuitos Lógicos Seqüenciais

Figura 6.2: Latch com portas NAND e com portas NOR.

qualquer momento em uma ou mais entradas mudarem de estado. Tanto o projeto


quanto a análise de defeitos nesses sistemas são mais difíceis.
Em sistemas síncronos, os momentos exatos em que uma saída qualquer pode
mudar de estado, são determinados por um sinal normalmente denominado clock
ou relógio. Este sinal de clock é geralmente um trem de pulsos retangulares ou
uma onda quadrada. Vários tipos de FFs com clock são usados em um grande
número de aplicações. As principais características comuns a esses FFs são:

1. FFs com clock têm uma entrada de clock denominada CLK, CK ou CP, con-
forme mostrado na Figura 6.3 . Na maioria dos FFs com clock a entrada
CLK é disparada por borda, o que significa que essa entrada é ativada pela
transição do sinal de clock.

2. FFs com clock também tem uma ou mais entradas de controle que podem ter
vários nomes, dependendo do seu funcionamento. As entradas de controle não
terão efeitos sobre a saída até que uma transição ativa do clock ocorra.

3. Resumindo, pode-se dizer que as entradas de controle deixam as saídas do FF


prontas para mudar de estado, enquanto a transição ativa do clock é que de
fato dispara essa mudança.

São vários os tipos de FFs existentes. Na próxima seção (seção 6.3.1) deste
relatório será solicitado ao aluno para fazer um breve pesquisa bibliográfica para
descrever cada uma dessas configurações.

79
6. F LIP -F LOPS

Figura 6.3: Diagrama de blocos de um FF.

6.3 Pré-Relatório
6.3.1 Pesquisa Bibliográfica
Procure na literatura as diferentes configurações existentes de FFs. Em cada caso
procure descrever de forma sucinta suas características e problemas. Descreva
também quais são as diferenças existentes em um FF e um latch.

6.3.2 Projetos e Simulações


Nesta seção são descritos os circuitos que devem ser projetados e/ou simulados. Na
etapa de simulação o aluno pode utilizar o software de sua preferência, como por
exemplo, o Proteus, Circuito Maker, Pspice, etc. No entanto, devem ser apresenta-
dos: o nome do software utilizado, os diagramas de simulação desenvolvidos com
todas as condições de simulação realizadas. Pede-se que o aluno entregue também
o arquivo da simulação implementada (pode ser enviado para o e-mail do profes-
sor).
Nos projetos os alunos devem apresentar todas as etapas do desenvolvimento,
incluindo as tabelas verdades, simplificações lógicas realizadas, os diagramas es-
quemáticos dos circuitos e todas as informações adicionais que julgar necessárias
para perfeita compreensão do projeto realizado.
Além disso, em todos os projetos os alunos devem preparar o documento de
“metodologia de depuração”, apresentando o esquema orientativo para o processo
de depuração, adequado ao particular projeto (documento já debatido em aulas
anteriores), para o caso de algum problema ocorrer no momento da implementação
do circuito na protoboard.

6.3.2.1 Projeto e Simulação 1


Projete e simule um flip-flop JK disparado por borda de subida. Utilize apenas
portas lógicas em seu projeto. Em seguida, altere seu projeto para que seu FF
seja disparado por borda de descida. E se fosse desejado que o FF fosse disparado
por borda de subida e descida de acordo com uma entrada de controle SEL? Como

80
6.4. Roteiro Experimental

ficaria o projeto?. Em todos os caso, utilize LEDs nas saídas para indicar o nível
lógico.

6.3.2.2 Projeto e Simulação 2


Um registrador de deslocamento é um grupo de FFs organizados de modo que os nú-
meros binários armazenados nos FFs sejam deslocados de um FF para o seguinte
a cada pulso de clock. Esses registradores são muito comuns em calculadoras ele-
trônica, você já deve ter reparado que nesses dispositivos os dígitos mostrados nos
displays são deslocados cada vez que você tecla um novo dígito.
Assim, projete e simule um registrador de deslocamento de 4 bits. Utilize uma
chave para gerar os pulsos de clock. Você tem liberdade para escolher o tipo de FF
a ser utilizado. As saídas do registrador devem ser ligadas a um display de sete
segmentos de forma a visualizar os dados. armazenados.

6.3.2.3 Projeto e Simulação 3


Projete um divisor de frequência que divida o sinal de entrada por 8. Considere
que o sinal de clock seja proveniente de um gerador de funções. Você tem liberdade
para escolher o tipo de FF a ser utilizado.

6.4 Roteiro Experimental


Implemente em protoboard os circuitos projetados nas Seções 6.3.2.1, 6.3.2.2 e
6.3.2.2. Em todas as montagens deve-se realizar a seguinte sequência:
1. Monte o circuito projetado na protoboard;
2. Levante a tabela verdade para o circuito projetado, introduzindo todas as com-
binações possíveis de entradas para o circuito e anotando as saídas mostradas
nos displays e/ou LEDs;
3. Se algum erro ocorreu e a tabela verdade esperada não foi obtida, execute
a metodologia de depuração elaborada para encontrar o problema. Não se
esqueça de apresentar no relatório o documento da metodologia de depuração;
4. Para a montagem do circuito da seção 6.3.2.3 utilize na entrada de clock um
sinal de 1 kHz utilizando o gerador de funções. Com o auxílio do osciloscópio
visualize as formas de onda de entrada e das saídas nos diferentes estágios
da divisão. Anote as formas de onda observadas nos gabaritos existentes no
final deste roteiro e obtenha, em cada caso, a frequência do sinal.
5. Responda as seguintes questões:
• Liste os possíveis problemas existentes no circuito projetado na Seção
6.3.2.2.
• Existe algum requisito dinâmico dos CIs que precisam ser considerados
no projeto da seção 6.3.2.2? Quais? Explique.

81
6. F LIP -F LOPS

timeDiv : Channel A : Channel B : XY timeDiv : Channel A : Channel B : XY


5ms/div 1 V/div 1 V/div OFF 5ms/div 1 V/div 1 V/div OFF

OffsetA OffsetB OffsetC OffsetA OffsetB OffsetC


0 0 0 0 0 0

timeDiv : Channel A : Channel B : XY timeDiv : Channel A : Channel B : XY


5ms/div 1 V/div 1 V/div OFF 5ms/div 1 V/div 1 V/div OFF

OffsetA OffsetB OffsetC OffsetA OffsetB OffsetC


0 0 0 0 0 0

timeDiv : Channel A : Channel B : XY timeDiv : Channel A : Channel B : XY


5ms/div 1 V/div 1 V/div OFF 5ms/div 1 V/div 1 V/div OFF

OffsetA OffsetB OffsetC OffsetA OffsetB OffsetC


0 0 0 0 0 0

82
7

XPERIMENTO
E
C IRCUITOS C ONTADORES
S ÍNCRONOS E A SSÍNCRONOS

7.1 Objetivos
Familiarização com projeto e montagem de circuitos contadores síncronos e assín-
cronos.

7.2 Circuitos Contadores

7.2.1 Introdução
Um contador eletrônico é provavelmente um dos mais úteis e versáteis subsistemas
num sistema digital. Graças às diversas versões disponíveis podem ser utilizados,
por exemplo, para contagens diversas, divisão de frequência, medição de intervalo
de tempo e frequência, geração de formas de onda, e, até mesmo, para converter
informações analógicas em digitais. Um contador digital é um circuito sequencial,
configurado de tal modo que para cada estado presente nas saídas dos flip-flops,
existe um estado seguinte bem definido. Durante a operação de contagem, o conta-
dor desloca-se de um estado para o outro de acordo com uma sequência especificada.
É possível identificar uma característica que classifica os contadores, de forma
ampla, em duas categorias: síncronos e assíncronos. Há, entretanto, vários outros
aspectos a serem considerados. Assim sendo, dentro de cada uma das duas cate-
gorias, é ainda possível classificar os contadores em função do número de estados
(módulo), do número de saídas (bits), do tipo de sequência gerada (binária, decimal,
código de Gray, etc) ou do tipo de operação: fixa ou selecionável.

83
7. C IRCUITOS C ONTADORES S ÍNCRONOS E A SSÍNCRONOS

7.2.2 Contador Assíncrono


A Figura 7.1 mostra o circuito de um contador binário de quatro bits. A seguir é
descrito, resumidamente, o funcionamento deste circuito [? ]:

• Os pulsos de clock são aplicados apenas na entrada CLK do FF. Assim, o FF


A comutará cada vez que ocorrer uma borda de descida no pulso de clock.
Observe que J = K = 1 para todos os FFs.

• A saída normal do FF A funciona como clock de entrada para o FF B, sendo


que este FF comuta a cada vez que a saída A muda de 1 para 0. Da mesma
forma, o FF C comuta quando B muda de 1 para 0, e o FF D muda de 1 para
0.

• As saídas do FFs D, C, B e A representam um número binário de quatro


bits, sendo D o MSB. Considerando que todos os FFs tenham sido “resetados”
para o estado 0, as formas de onda mostradas na Figura ?? mostram que um
contagem binária sequencial de 0000 a 1111 é seguida à medida que os pulsos
de clock são aplicados continuamente.

• Após a borda de descida do décimo quinto pulso de clock, os FFs do contador


estão na condição 1111. Na décima sexta borda de descida do clock, o FF A
muda de 1 para 0, fazendo o FF B mude de 1 para 0, e assim por diante até
que o contador chegue ao estado 0000. Em outras palavras o contador realizou
um ciclo completo de contagem (de 0000 a 1111) e retornou ao estado 0000, a
partir de onde começará um novo ciclo de contagem à medida que os pulsos
subsequentes de clock forem aplicados.

Conforme descrito, neste contador, a saída de cada FF aciona a entrada de clock


do FF seguinte. Esse tipo de contador é chamado de contador assíncrono porque
os FFs não mudam de estado exatamente com o mesmo sincronismo com que os
pulsos de clock são aplicados; apenas o FF A responde aos pulsos de clock. Este
tipo de contador também é denominado de contador ondulante (ripple counter)
devido à maneira de os FFs responderem um após o outro como um tipo de efeito
de ondulação.
Os contadores ondulantes são o tipo mais simples de contadores binários, visto
que requerem poucos componentes para produzir a operação de contagem desejada.
Entretanto, eles têm uma grande desvantagem, causada pelo seu princípio básico
de operação. Na seção 7.3.1 será solicitado ao aluno para pesquisar e descrever
sobre essa desvantagem.

7.2.3 Módulo Contador


O valor do módulo contador indica o número de estados da sequência de contagem,
isto é, o número de estados que o contador percorre em cada ciclo completo de con-
tagem até retornar ao estado inicial. Por exemplo, no circuito contador mostrado
na Figura 7.3 tem 16 estados distintos (de 0000 a 1111). Assim, ele é um contador
ondulante de módulo 16.

84
7.2. Circuitos Contadores

Figura 7.1: Contador assíncrono de quatro bits.

7.2.4 Diagrama de transição de estados


É uma forma de mostrar como os estados dos FFs mudam a cada pulso de clock apli-
cado. As setas que conectam um círculo ao outro mostram como ocorre a mudança

Figura 7.2: Diagrama de transição de estados.

85
7. C IRCUITOS C ONTADORES S ÍNCRONOS E A SSÍNCRONOS

de um estado para outro, conforme os pulsos de clock são aplicados. Observando


um estado de um círculo em particular, vemos qual é o estado anterior e o posterior.

7.2.5 Contador Síncrono


Conforme mencionado, os contadores assíncronos apresentam alguns problemas
decorrentes do seu princípio básico de funcionamento. As limitações observadas
nesses circuitos podem ser superadas com o uso de contadores síncronos ou parale-
los nos quais os FFs são disparados simultaneamente (em paralelo) pelos pulsos de
clock de entrada. No entanto, visto que os pulsos de clock de entrada são aplicados
em todos os FFs, algum recurso precisa ser utilizado para controlar o momento que
um FF deve alterar estado lógico. Desta forma, em um contador síncrono existe
uma parte combinacional nas entradas de cada FF para controlar os momentos de
transição.
A Figura 7.3 mostra um exemplo de contador síncrono. Se compararmos essa
configuração com o seu correspondente assíncrono da Figura 7.1 temos as seguintes
diferenças [? ]:
• As entradas CLK de todos os FFs estão conectadas juntas, de modo que o sinal
de clock é aplicado simultaneamente em cada FF.
• Apenas o FF A tem suas entradas J e K ligadas de forma permanente em
nível lógico alto.
• O contador síncrono requer um circuito maior do que o contador assíncrono.

Figura 7.3: Contador síncrono de módulo 16.

Uma análise detalhada do circuito da Figura 7.3 nos permite concluir que o prin-
cípio básico para a construção de um contador síncrono pode ser enunciado da se-
guinte forma: Cada FF deve ter suas entradas J e K conectadas de modo

86
7.3. Pré-Relatório

que elas estejam no nível lógico ALTO apenas quando as saídas de todos
os FFs de mais baixa ordem estiveram no estado ALTO.
Em quase todas as aplicações de contadores, as variáveis de estado, ou simples-
mente estados, são consideradas como saídas. As saídas do contador podem ser
codificadas de várias formas: binária, BCD, Gray, etc. Esse código e o modulo do
contador determinam como serão os blocos combinatórios do próximo estado e da
saída, bem como o numero de flip-flops a ser utilizado.

7.2.6 Projeto de contadores Síncronos e Assíncronos


Na seção 7.3.1 será solicitado ao aluno realizar um resumo do procedimento para
elaboração de projetos de circuitos contadores síncronos e assíncronos.

7.3 Pré-Relatório
7.3.1 Pesquisa Bibliográfica
Realize pesquisas bibliográficas e procure responder as questões abaixo:

1. Quais são os principais problemas existentes nos contadores assíncronos?


Descreva cada um deles de forma resumida.

2. Cite as vantagens dos contadores síncronos em relação aos contadores assín-


cronos.

3. Realize um resumo do procedimento para a realização de projeto de circuitos


contadores síncronos e assíncronos. Procure deixar bem claro as diferenças
no procedimento nos dois tipos de circuitos.

4. Como os circuitos contadores se inserem nos processadores existentes, princi-


palmente, nos computadores e calculadoras?

5. Descreva aplicações práticas que utilizam os circuitos contadores.

7.3.2 Projetos e Simulações


Nesta seção são descritos os circuitos que devem ser projetados e/ou simulados. Na
etapa de simulação o aluno pode utilizar o software de sua preferência, como por
exemplo, o Proteus, Circuito Maker, Pspice, etc. No entanto, devem ser apresenta-
dos: o nome do software utilizado, os diagramas de simulação desenvolvidos com
todas as condições de simulação realizadas. Pede-se que o aluno entregue também
o arquivo da simulação implementada (pode ser enviado para o e-mail do profes-
sor).
Nos projetos os alunos devem apresentar todas as etapas do desenvolvimento,
incluindo as tabelas verdades, simplificações lógicas realizadas, os diagramas es-
quemáticos dos circuitos e todas as informações adicionais que julgar necessárias
para perfeita compreensão do projeto realizado.

87
7. C IRCUITOS C ONTADORES S ÍNCRONOS E A SSÍNCRONOS

Além disso, em todos os projetos os alunos devem preparar o documento de


“metodologia de depuração”, apresentando o esquema orientativo para o processo
de depuração, adequado ao particular projeto (documento já debatido em aulas
anteriores), para o caso de algum problema ocorrer no momento da implementação
do circuito na protoboard.

7.3.2.1 Projeto e Simulação 1


Projete e simule um contador síncrono crescente/decrescente de módulo 10. Uma
variável de entrada adicional UP/Down deve ser adicionada ao circuito para per-
mitir selecionar o modo de contagem. Considere que se UP/Down = 1 o contador
realiza a contagem crescente, e se UP/Down = 0 o contador realiza a contagem
decrescente. As saídas do contador devem ser visualizadas em um display de 7 seg-
mentos. Considere que o sinal de clock será obtido através do gerador de funções.
Em seguida, altere seu projeto substituindo o contador síncrono por um conta-
dor assíncrono. Faça uma análise comparativa entre os dois projetos, destacando
as vantagens e desvantagens de cada um.
Com base no manual do fabricante dos CIs, qual a frequência máxima de ope-
ração dos contadores? (OBS - lembre que nos contadores assíncronos, a
máxima frequência de operação depende não só dos parâmetros dos flip-
flops, mas também do número de bits). Qual deve ser o efeito esperado de se
trabalhar em uma frequência acima da especificada?

7.3.2.2 Projeto e Simulação 2


Projete e simule um contador síncrono usando FFs J-K que tenha a seguinte sequên-
cia: 000, 010, 101, 110 e repete. Os estados indesejáveis (não usados) devem levar
o contador sempre para o estado 000 no próximo pulso de clock. Além disso, seu
circuito deve conter uma lógica que permite definir o estado inicial da contagem,
ou seja, deve permitir selecionar um dos estados 000, 010, 101 ou 110 como estado
inicial ao energizar o circuito. As saídas do contador devem ser visualizadas em
um display de 7 segmentos e considere que o sinal de clock será obtido através do
gerador de funções.

7.3.2.3 Projeto e Simulação 3


Altere o seu projeto anterior considerando que agora os estados indesejados devem
levar o contador a executar sempre a seguinte sequência 001, 011, 100, 111, 000
antes de retornar para a contagem normal. Simule o seu projeto alterado.

7.4 Roteiro Experimental


Implemente em protoboard os circuitos projetados nas Seções 7.3.2.1, 7.3.2.2 e
7.3.2.3. Em todas as montagens deve-se realizar a seguinte sequência:

1. Monte o circuito projetado na protoboard;

88
7.4. Roteiro Experimental

2. Utilize o gerador de funções para gerar o sinal de clock. Selecione um valor


de frequência adequado que seja possível visualizar a sequência de contagem
no display de 7 segmentos.

3. Levante a tabela verdade para o circuito projetado, introduzindo todas as com-


binações possíveis de entradas para o circuito e anotando as saídas mostradas
no display de 7 segmentos;

4. Para a montagem dos circuitos das seções 7.3.2.2 e 7.3.2.3 altere o estado
inicial da contagem e verifique se o circuito responde adequadamente. Em
seguida, inicie a sequência com um estado indesejado e verifique o funciona-
mento.

5. Se algum erro ocorreu e a tabela verdade esperada não foi obtida, execute
a metodologia de depuração elaborada para encontrar o problema. Não se
esqueça de apresentar no relatório o documento da metodologia de depuração;

6. Aumente a frequência do sinal de clock e descreva os efeitos observados. O


que acontece se você aumentar a frequência do sinal de clock acima do valor
máximo teórico calculado anteriormente?

89
Parte III

Projetos Finais

91
I
R EGRAS G ERAIS

I.1 Introdução
Esse documento descreve os projetos finais que devem ser realizados pelos alunos
de laboratório da disciplina de Sistemas Digitais I. O objetivo do trabalho final
é o de fomentar a integração dos conhecimentos adquiridos ao longo do curso e
propiciar maior experiência na elaboração de projetos na área de eletrônica digital.
Os projetos devem ser realizados em duplas e entregues na data especificada
pelo professor. Nas próximas Seções deste documento serão descritas as especi-
ficações dos temas propostos. Cada dupla deverá escolher e realizar apenas um
dos projetos. O trabalho somente pode ser realizado pela dupla de alunos formada
no início do semestre, ou por um único integrante: é vedada a participação de
trios. Caso um integrante da dupla desista do curso ao longo do semestre, o aluno
remanescente deve procurar um outro colega que esteja na mesma situação ou re-
alizar o trabalho sozinho. Se este for o seu caso, avise o professor de sua turma de
laboratório.
Os projetos deverão ser implementados em protoboard e todas as especificações
descritas devem ser cumpridas. A falta de qualquer especificação implicará na
perda de pontos na nota final do trabalho. Antes da implementação do circuito
em protoboard os alunos deverão realizar a simulação do circuito projetado para
verificar se o projeto está adequado.
Adicionalmente, os alunos devem preparar um relatório descrevendo, em de-
talhes, o processo de desenvolvimento do projeto. Neste documento devem estar
descritos todos os passos relevantes para implementação do projeto. As etapas
mínimas do desenvolvimento do projeto envolvem:

• Descrição do funcionamento do circuito em diagrama de blocos, destacando as


variáveis de entrada e saída;
• Elaboração da(s) tabela(s) verdade do circuito;

93
I. R EGRAS G ERAIS

• Processo de simplificação do circuito;


• Expressão lógica final e diagrama esquemático do circuito;
• Simulação do circuito em software adequado;
• Lista de materiais necessários para a montagem;
• Processo de montagem;
• Metodologia de testes, operação e depuração de erros;
• Discussões;
• Conclusões.

Por fim, os alunos devem preparar uma apresentação de no máximo 5 minutos,


apresentando os pontos principais do projeto e as maiores dificuldades encontradas.
Após o tempo de apresentação o professor (ou uma banca de professores) terá 5
minutos para realizar perguntas a respeito dos projetos.
Os alunos deverão verificar antecipadamente com os técnicos de apoio do labo-
ratório a disponibilidade dos materiais necessários para a montagem. Caso não
tenha disponível algum material é de responsabilidade do aluno obtê-lo ou refazer
o projeto buscando alternativas para contornar o problema. Lembre-se, na sua vida
profissional, nem sempre você terá todos os componentes necessários para executar
um determinado projeto.
Qualquer dúvida sobre os temas propostos e/ou sobre a realização dos projetos
devem ser sanadas, antecipadamente, com o seu professor de laboratório.

I.2 Sobre os Temas de Projeto


Neste semestre, a dupla poderá:
1. Optar por um dos sete temas apresentados nesta apostila;
2. Propor uma ideia de projeto para o professor de laboratório. A proposta deve
ser encaminhada para avaliação do professor com antecedência de pelo menos
um mês antes do final das aulas. A resposta da avaliação pode ser de três
tipos:

• Ideia aprovada sem modificações;


• Ideia aprovada com modificações indicadas pelo professor. Neste caso, o
projeto original deve ser alterado para atendar às especificações impostas
pelo professor.
• Ideia reprovada.

ATENÇÃO
O professor de sua turma de laboratório poderá apresentar critérios adicionais
com relação à escolha dos temas ou outras restrições que julgar necessárias.

94
I.3. Documentos Esperados

I.3 Documentos Esperados


O projeto escolhido deve estar documentado da seguinte forma:

• Um relatório impresso do projeto, nos moldes descritos na Seção I e de acordo


com as regras descritas para elaboração dos relatórios dos experimentos (ver
item 1.3 da Apostila). Neste documento, todos os diagramas de blocos e es-
quemáticos devem estar presentes e devidamente identificados. Não serão
aceitos documentos manuscritos.

• Um conjunto de no máximo 15 slides, descrevendo o trabalho realizado. Não


é preciso imprimir os slides.

• Todos os arquivos eletrônicos correspondentes os esquemáticos e simulações


simulações do projeto.

O conjunto dos três documentos deve ser compactado e enviado ao e-mail do pro-
fessor, no mais tardar, um dia antes da data da apresentação do projeto. O arquivo
será identificado da seguinte forma: XX YY aluno1 aluno2.zip, ode XX é a turma e
YY a opção de tema.
Exemplo: Fulano e Sicrano da Turma TT optaram pela opção de projeto 1 (ULA).
O arquivo a ser enviado será TT 1 fulano sicrano.zip.
No caso de projeto ser de tema livre, o campo YY deve ser “LL”.

95
1

JETO
PRO
ULA

1.1 Introdução
Nesta opção, o projeto é de uma Unidade Lógico-Aritmética (ULA) simples. Uma
ULA é um circuito responsável por realizar operações aritméticas e lógicas em um
sistema digital, onde a operação que deve ser executada é determinada por sinais
de controle externos. Uma representação simplificada de uma ULA está apresen-
tada na Figura 1.1, onde A e B são os dados (ou operandos) sobre os quais será
realizada uma operação. Como há várias opções para as operações, há uma seleção
de qual deve ser a operação, indicada pela entrada S. O resultado da operação é
apresentado na saída da ULA.

A B

S ULA
Saída

Figura 1.1: Esquema simplificado de uma ULA.

1.2 Projeto Básico


A ULA projetada deve possuir as seguintes características funcionais:

97
1. ULA

Comprimento dos operandos: três bits (A0 A1 A2 e B0 B1 B2 ).

Tipos de operação: há dois tipos de operação - com um e com dois operandos,


totalizando oito operações possíveis para a ULA projetada. As operações com
dois operandos são: soma, subtração, multiplicação, divisão, AND, OR, e XOR.
A operação com um único operando é NOT. Em todos os casos, os operandos
são números positivos entre 0 e 7. Para as operações lógicas, o resultado é da
operação lógica feita bit a bit. No caso específico da divisão, o segundo display
deve informar o resto da divisão. Exemplos de resultados para as operações
estão na Tabela 1.1.
Entrada de Dados: há duas entradas: uma para os operandos e outra para se-
lecionar a operação. No caso de operações dois operandos, eles devem ser
inseridos de maneira sequencial, como em uma calculadora simples.

Saída de Dados: os operandos, assim como o resultado das operações, devem ser
apresentados em displays de sete segmentos.
No seu projeto, deixe claro quais os resultados para várias possibilidades de
entrada e saída (isto é, elabore um manual de instruções de uso do seu circuito).

1.3 Exemplos de Funcionamento


Na Tabela 1.1, apresentam-se alguns resultados esperados para as operações lógico-
aritméticas da ULA a ser projetada.

Tabela 1.1: Exemplos de operações a serem realizadas pela ULA.


Operação (OP) A B A OP B Display
+ 011 001 100 04
x 111 101 100101 35
- 100 010 010 2
÷ 101 011 001 12
÷ 110 010 011 30
AND 011 101 001 01
OR 011 101 111 07
XOR 011 101 110 06
NOT 000 NA 111 07

1.4 Desafios Adicionais


• Aprimore a ULA para contemplar números negativos representados em com-
plemento de dois (+2 pontos);

• Aprimore a ULA para apresentar o resultado da divisão com uma casa deci-
mal (+2 pontos);

98
1.4. Desafios Adicionais

• Aprimore a Saída de Dados para visualizar simultaneamente os operandos, a


operação e o resultado da operação (+2 pontos);

• Aprimore a Entrada de Dados para contemplar um teclado com 16 teclas (8


números, 8 operações). Para números negativos, insira uma tecla a mais para
o sinal (+2 pontos).

99
PROJETO
2
G ERADOR DE O NDA Q UADRADA
P ROGRAMÁVEL

2.1 Projeto Básico


Este projeto deve gerar uma onda quadrada de frequência programável (configurá-
vel), com as seguintes características funcionais:
Número de frequências possíveis: 64, igualmente espaçadas;
Entrada de Dados: chaves (ou teclado) para informar qual das 64 possibilidades
de frequência será gerada na saída; um sinal START/STOP, para iniciar e
terminar a geração da onda.
Saída de Dados: dois displays indicando a opção de frequência; um ponto de ex-
tração para o sinal de onda quadrada; dois LEDs (verde, indicando que a onda
está sendo gerada; vermelho, indicando que não há saída naquele momento),
de acordo com a Figura 2.1.
Sinal de Referência: este é um sinal externo (por exemplo, proveniente do gera-
dor de funções), a partir do qual a sua frequência será subdividida em uma
das 64 opções.
A saída deve ser uma onda quadrada, com ciclo de trabalho de 50% e com níveis
de tensão de 0 V para o nível baixo e de 5 V para o nível alto. Para verificar o
funcionamento correto do circuito, o sinal de saída terá sua frequência medida com
instrumentos de bancada.

2.2 Desafios Adicionais


• Aprimore a Entrada de Dados para contemplar um teclado (+2 pontos);

101
2. G ERADOR DE O NDA Q UADRADA P ROGRAMÁVEL

• Aprimore a Saída de Dados para visualizar a opção de frequência e também


a frequência (em Hz) do sinal de saída (+3 pontos);

ON
ON/OFF Gerador de
OFF
Onda
Sel. Freq.
Quadrada Sinal

Ref.

Displays
Figura 2.1: Diagrama simplificado do gerador de sinais.

102
OJETO
3

PR
T ESTADOR DE CI S

3.1 Projeto Básico


Neste projeto, será realizado um testador de CIs, com as seguintes características:

CIs testáveis: aceita quatro membros de CIs: ’00 (NAND), ’08 (AND), ’32 (OR) e
’86 (XOR);

Entrada de Dados: uma tecla TESTA, para iniciar o teste; seleção para indicar
qual tipo de CI está sob teste, conforme a Figura 3.1

Saída de Dados: dois displays, indicando qual CI está sendo testado; dois LEDs:
vermelho (rejeitado) e verde (aprovado). O LED verde só acende se as todas
as quatro portas do CI sob teste funcionarem adequadamente.

A funcionalidade do circuito será confrontada com o resultado proveniente do tes-


tador de CIs microprocessado disponível no laboratório.

Testa Aprovado

Rejeitado

Displays

Seleção

Figura 3.1: Esquema simplificado do testador de CIs.

103
3. T ESTADOR DE CI S

3.2 Desafios Adicionais


• Aprimore o projeto para detectar qual CI está sendo testado; o resultado deve
ser visualizado no display. Especifique claramente qual o resultado a ser
mostrado no display se a detecção não for conclusiva. Note que não há mais
chaves na entrada para indicar qual é o CI sob teste (+2 pontos);

• Aprimore o projeto para indicar quantas e quais das quatro portas estão com
defeito (+3 pontos);

104
4

JETO
PRO
C ONTROLE DE M OTOR DE PASSO

4.1 Introdução
Os motores elétricos são dispositivos eletromecânicos que transformam energia elé-
trica em movimento rotativo por meio de ímãs e indutores em seu interior. Atual-
mente existem vários modelos diferentes de motores elétricos, os mais difundidos
são os motores de corrente contínua (CC ou DC), os de corrente alternada (CA ou
AC), os servomotores e os motores de passo. A escolha de cada um deles depende
da aplicação e do custo envolvido.
Nas aplicações onde é necessário um deslocamento angular ou linear para posi-
cionar com precisão determinados componentes o motor de passo é o mais recomen-
dado. No entanto, é possível utilizar qualquer outro tipo de motor para executar
este tipo de tarefa, porém é difícil determinar a posição exata do componente ou
peça do mecanismo, a menos que se utilizem sensores de posição, codificadores, ser-
vos e sistemas de comando, o que torna o projeto mais complexo e, muitas vezes,
mais caro.
O motor de passo converte pulsos em deslocamentos angulares precisos. A cada
pulso, o eixo do motor se desloca por um ângulo preciso (passo) e permanece estável
nessa posição se mais nenhum pulso for enviado. Aplicando uma série de pulsos,
pode-se obter-se o deslocamento angular desejado. Se a série de pulsos não termi-
nar, o eixo vai continuar girando constantemente com uma velocidade proporcional
à frequência dos pulsos.
Os motores de passo são muito utilizados nos periféricos para os computadores
(scanners, discos rígidos, impressoras, etc), bem como nas cameras de vídeo, robó-
tica, etc.
No seu interior há estatores formados por bobinas que geram, quando percorri-
dos por uma corrente elétrica, o campo magnético necessário para o movimento do
rotor, que é construído com ímãs permanentes confeccionados de acordo com o nú-
mero de passos. Essa rotação é controlada por meio de um circuito externo que pro-

105
4. C ONTROLE DE M OTOR DE PASSO

move a oscilação do sinal que percorrerá os pares de estatores e, por isso, não pode
ser conectado diretamente à alimentação, pois desse modo não haveria a pulsação
necessária para que o motor possa girar. Em outras palavras, os enrolamentos den-
tro do motor devem ser energizados e desenergizados em uma sequência específica
para produzir movimento em passos discretos. Os sinais digitais são normalmente
usados para controlar a corrente em cada enrolamento do motor.

Figura 4.1: Ilustração do acionamento das bobinas de um motor de passo.

Como a maioria dos CI’s digitais CMOS e TTL, e até mesmo os microcontrola-
dores atuais, não possuem capacidade de fornecer correntes elevadas é necessário
um driver de potência para fazer o interfaceamento entre as saídas digitais e os
circuitos indutivos do motor. Sem esse driver de potência, mesmo que os pulsos
digitais sejam aplicados corretamente ao motor ele não irá funcionar, por não ter
energia suficiente para girar o seu eixo.

4.2 Projeto Básico


Considerando as informações expostas acima, projete um sistema digital que rea-
lize o controle e acionamento de um motor de passo. O circuito projetado deverá
permitir que o motor gire nos dois sentidos (horário e anti-horário) conforme uma
chave seletora S, ou seja, quando S = 0 o motor deverá girar no sentido horário, mas
quando S = 1, o motor deverá girar no sentido anti-horário. Além disso, o circuito
projetado deverá permitir que o usuário selecione duas diferentes velocidades, 600
RPM ou 3000 RPM, de acordo com a chave V, ou seja, quando V = 0, a velocidade
deverá ser de 600 RPM, mas quando V = 1 a velocidade deverá ser de 3000 RPM.
Considere em seu projeto que um sinal de relógio externo de 100 Hz deve ser usado
para gerar os sinais internos de controle do circuito.
Informações extras:

106
4.3. Desafio Adicional

1. Utilize apenas CI’s TTL ou CMOS em seu projeto;

2. O motor de passo a ser utilizado na parte experimental estará disponível no


laboratório com os técnicos. Para utilizá-lo o aluno deverá agendar previa-
mente um horário e não poderá levá-lo para casa em hipótese nenhuma.

3. O motor de passo disponível no laboratório já possui um driver de potência


para seu acionamento. Portanto, o aluno não precisará projetar o driver de
acionamento.

4. É de responsabilidade do aluno levantar experimentalmente a seqüencia cor-


reta de pulsos para acionamento do motor de passo. Para isso, deverá ser ela-
borado um procedimento experimental detalhado antes de ir ao laboratório.
Um monitor deverá estar presente acompanhando todos os passos. A tensão
máxima de alimentação do driver/motor é de 5V e os alunos deverão tomar
muito cuidado nas montagens para não exceder esse valor. Qualquer dúvida
na montagem/utilização deverá ser consultado o professor/monitor/técnico.

5. O relatório final deverá conter o procedimento experimental elaborado para


determinação da seqüencia de pulsos correta para o acionamento do motor de
passo e também os resultados obtidos.

4.3 Desafio Adicional


Adicione ao seu projeto um circuito que permita que o eixo do motor “pare” preci-
samente em uma determinada posição angular especificada pelo usuário de acordo
com duas chaves seletoras adicionais A e B, conforme mostrado na tabela abaixo
(+2 pontos):

Tabela 4.1: Condição do eixo do motor de passo de acordo com as chaves A e B.

A B Condição do Eixo do motor


0 0 Gira livremente (velocidade de rotação definida pelo usuário)
0 1 90◦
1 0 180◦
1 1 270◦

107
5

JETO
PRO
F REQÜENCÍMETRO

5.1 Introdução
Um freqüencímetro é um circuito que pode medir e mostrar a freqüência de um
sinal [? ]. A medida da freqüência de um sinal digital periódico pode ser feita
de duas formas diferentes [? ]. O primeiro método é conhecido como método da
contagem do relógio e consiste na contagem do número de ciclos de relógio do
sistema existente em um período do sinal de entrada. O conceito deste método
pode ser visualizado na Figura 5.1.

Figura 5.1: Método da contagem do relógio. Figura extraída de [? ].

Neste método, a medida da freqüência do sinal é obtida indiretamente. Assim,


é preciso utilizar a seguinte relação:

freqüência do sinal de relógio do sistema


f ent = (5.1)
contagem de ciclos
O segundo método é conhecido como método da contagem do sinal de en-
trada e envolve a contagem do número de ciclos do sinal de entrada ou do número
de bordas de subida que ocorrem durante uma janela de duração pré-estabelecida,

109
5. F REQÜENCÍMETRO

e apresenta diretamente a freqüência do sinal. A Figura 5.2 ilustra os conceitos


envolvidos. Se for utilizada uma janela de tempo com duração exata de 1 segundo,
a contagem de ciclos é numericamente igual à freqüência do sinal de entrada em
Hertz.

contagem de ciclos
f ent = (5.2)
duração da janela

Figura 5.2: Método da contagem do sinal de entrada. Figura extraída de [? ].

Contudo esta estratégia de obtenção da freqüência apresenta alguns erros ine-


rentes ao método de contagem.

• Erro de precisão do sinal de relógio do sistema: Se a freqüência do


relógio do sistema não for estável, isto fará com que a janela de tempo em que
o sinal de entrada é analisado seja afetada. Isto pode levar a uma contagem
final diferente do valor correto [? ].
• Erro de sincronização: Ocorre do fato do início da janela não coincidir com
uma borda de subida do sinal de entrada. Assim, se a contagem levar em
conta a ocorrência de bordas do sinal de entrada, o valor final pode não ser
igual ao número de períodos contidos na janela de tempo [? ].
• Erro de quantização: Ocorre devido ao fato da janela de tempo ser finita [?
].

5.2 Projeto Básico


Levando em consideração as informações expostas acima, projete um circuito medi-
dor de freqüências de um sinal digital periódico de 1 a 99 Hz com precisão de duas
casas decimais. O valor da freqüência medida deve ser mostrado em displays de
sete segmentos. O sinal de entrada deve ser originado a partir de um gerador de
pulsos e monitorado através do osciloscópio. Um sinal de relógio externo de 8 Hz
deve ser usado para gerar os sinais internos de controle do circuito. A precisão dos
resultados obtidos deve ser independente do operador do circuito.

110
5.3. Desafio Adicional

5.3 Desafio Adicional


Apresente nos displays, além da frequência, o período da onda (em milissegundos)
(+2 pontos).

111
6

JETO
PRO
V ERIFICADOR DE S ENHAS

6.1 Introdução
O circuito do verificador de senhas 1 a ser projetado é um circuito simplificado de
um sistema completo para uso em segurança de bens ou valores. Pode ser usado
para controlar o acesso a depósitos de valores ou documentos sigilosos. O meca-
nismo de acesso é baseado na verificação de uma combinação de dígitos de segu-
rança.

6.2 Projeto Básico


O circuito deve possuir dois modos de operação: o Modo de Configuração e o
Modo de Segurança. Estes modos são selecionados através de uma chave no
painel de controle. As outras chaves do painel somente ficam ativas enquanto o
sistema não estiver bloqueado.

• No Modo de Configuração é feita a programação da combinação de abertura


do circuito que consta de 3 dígitos. Cada dígito é selecionado a partir de um
total de 4 chaves de entrada. Esta combinação deve ficar armazenada na
memória do sistema.

• No Modo de Segurança é inserido um código, também constituído de 3 dígitos.


Após a entrada deste código, caso haja coincidência com a senha de abertura
programada anteriormente, um sinal deve ser enviado ao controle da trava
para este ser aberto. Este sinal será representado através de um LED que
deve permanecer aceso enquanto a trava não for aberta.
1 Proposta de projeto e texto extraído de [? ]

113
6. V ERIFICADOR DE S ENHAS

A entrada das teclas que compõem a combinação deve ser feita seqüencialmente.
O pressionamento de uma tecla é simulado através da ativação de uma chave. A
chave deve ser desativada para que uma outra tecla seja posteriormente ativada
(mesmo que seja o mesmo código).
Após a mudança do modo de operação do circuito, deve-se prever uma reinicia-
lização do sistema (RESET). Isto permite que, no modo de configuração, caso seja
efetuado o cadastramento de uma senha inválida, seja possível o recadastramento
da senha com o acionamento do sinal de RESET. Por outro lado, no caso de acio-
namento de um dígito inválido no modo de segurança, o usuário pode corrigir a
entrada da senha correta, acionando-se o RESET. Isto só será possível durante a
entrada dos dois primeiros dígitos da senha, pois o circuito deve bloquear seu fun-
cionamento após a entrada do terceiro dígito e se a senha não for correta. Ou seja,
caso o usuário não fornecer a senha correta, o circuito deve bloquear seu funcio-
namento e não responder a nenhum acionamento de qualquer tecla ou botão (p.ex.
RESET, etc).

6.2.1 Detalhamento do verificador de senhas


O aluno tem total liberdade para projetar o circuito da maneira que achar mais con-
veniente. No entanto, para auxiliar, a Figura 6.1 apresenta o diagrama de blocos
com um projeto básico do verificador de senhas, onde os blocos envolvidos são:

• CODIFICADOR: codifica cada chave de entrada selecionada em um código


binário de 2 bits, que indica a chave selecionada;

• MEMÓRIA: armazena a senha cadastrada no Modo de Configuração;

• CONTADOR: fornece o endereço no qual o código da tecla deverá ser armaze-


nado ou lido da memória;

• COMPARADOR: compara cada um dos códigos inseridos no Modo de Segu-


rança com o código correspondente previamente armazenado na memória;

• UNIDADE DE CONTROLE: controla o funcionamento do circuito do verifica-


dor de senhas nos Modos de Configuração e de Segurança.

Os sinais do circuito são os apresentados abaixo, classificados como sinais de


entrada, sinais de saída e sinal de controle interno.

1. Sinais de Entrada:

• TECLAS (CH0 a CH3) - chaves que correspondem às teclas de senha;


• CONFIG /SEGURANÇA (CH7) - seleciona o modo de operação do circuito
(0 = modo de configuração e 1 = modo de segurança);
• RESET (B1) - inicialização do sistema em cada um dos modos de operação
(pulso em nível alto);
• CLOCK - sinal do gerador externo para sincronismo do controle.

114
6.3. Desafio Adicional

2. Sinais de Saída:

• MODO (LED 0) - indica o modo de operação do circuito (0 = modo de


segurança e 1 = modo de configuração);
• ABRE (LED 1) - quando em nível "zero” indica a abertura do circuito;
• TRAVADO (LED 2) - indica que o circuito está travado/bloqueado.

3. Sinais de Controle Internos:

• TECLA ACIONADA - sinal auxiliar que indica a seleção de uma chave


de entrada;
• CÓDIGO - código binário de 2 bits da chave selecionada;
• CONTA - sinal de clock do contador para varredura dos endereços da
memória;
• ZERA - sinal para zerar o valor do contador para varredura dos endereços
da memória;
• COMPARAÇÃO - saída do comparador indicando igualdade ou não entre
o código cadastrado e o código inserido;
• SINAIS DE CONTROLE DA MEMÓRIA - utilizados para controle de
operações de leitura e gravação de dados na memória.

6.3 Desafio Adicional


Altere o projeto para aceitar até três tentativas de senha errada (a quarta vez
deve necessariamente ser a senha correta), ou o seja, o circuito somente bloqueia o
funcionamento na se a terceira tentativa de inserção de senha falhar. Um display
deve apresentar o número de tentativas restantes (+ 2 pontos).

115
6. V ERIFICADOR DE S ENHAS

Figura 6.1: Diagrama de Blocos do Verificador de Senhas. Figura extraída de [? ].

116
7

JETO
PRO
D ETECTOR E C ORRETOR DE E RROS

7.1 Introdução
Em um sistema de comunicações digitais, é de grande interesse permitir que a
transmissão seja robusta com relação à presença de eventuais erros oriundos de
interferências ou da presença de ruído. Uma das maneiras de se fazer isto é por
intermédio da inserção de um codificador de canal no transmissor e de um de-
codificador de canal no receptor, de acordo com a Figura a seguir.
Transmissor Receptor

m Codif. v r Decodif. m̂
Fonte Canal Destino
de Canal de Canal
mensagem palavra-código sinal recebido mensagem recebida

Há várias possibilidades de se implementar codificação de canal, e aqui apresen-


taremos a chamada codificação em bloco. Nesta, a sequência de bits de mensa-
gem m = [m 0 m 1 m 2 · · · m k ] é transformada, pelo codificador de canal, em uma outra
sequência de bits v = [v 0 v 1 v 2 · · · v n ] chamada de palavra-código, onde n > k . Os
(n − k) bits adicionais são chamados de bits de paridade. Note que os valores
possíveis para os componentes de m e v são 0 e 1.
A relação entre cada mensagem e a sua correspondente palavra-código é especi-
ficada por uma matriz G, de forma que
v = m · G,

onde:
• m é um vetor de dimensão 1 × k , correspondente à mensagem que se deseja
transmitir;
• v é a palavra-código associada à mensagem m, de dimensão 1 × n ;

117
7. D ETECTOR E C ORRETOR DE E RROS

• G é uma matriz de dimensão k × n , com elementos também binários.

As operações do produto matricial são operadas em aritmética de módulo 2, isto


é: 0+0 = 0; 0+1 = 1+0 = 1 e 1+1 = 2 = 0 (módulo 2). Como exemplo, suponha que uma
mensagem particular m e a matriz G sejam dados por
 
100101
m = [100] e G =  010011 .
001110
Neste caso, o que é realmente transmitido é o vetor v = [100101].
O receptor, por sua vez, recebe um vetor r de dimensão 1 × n , o qual representa
a mensagem transmitida e eventualmente contaminada por erros (note que se não
há erros, r = v). Para detectar se há algum um erro, realiza-se o teste da síndrome:
calcula-se o vetor
s = r · HT ,
onde HT é a transposta de uma certa matriz H de dimensão (n − k) × n , chamada
de matriz de verificação de paridade. Mostra-se que, se não há erros inseridos
durante a transmissão, a síndrome s satisfaz s = 0. Caso contrário, a síndrome terá
outro padrão qualquer1 .

7.2 Projeto Básico


Projete um sistema de transmissão digital, contendo os seguintes blocos:

• Uma fonte de informação, correspondendo a um bloco de k = 4 bits de mensa-


gem;

• Um codificador de canal usando codificação de blocos, com a matriz geradora


especificada por  
1000110
 0100011
 
G=

 0010101


0001111

• Um canal que insere erros na transmissão, representado por um padrão de


erro e = (e 1 e 2 · · · e n ), onde o bit e i , i = 1, 2, · · · , n , corresponde à existência de um
erro no bit i ;

• Um decodificador de canal, com matriz de verificação de paridade dada por


 
1011100
H =  1101010 
0111001
1 Também é possível que a síndrome seja nula se um determinado ri , contendo erros e original-
mente correspondente à mensagem mi , coincida com uma outra palavra-código v j correspondente a
outra mensagem m j .

118
7.3. Desafio Adicional

O seu circuito deve apresentar, em notação hexadecimal em displays de 7 seg-


mentos:

• A mensagem (display D1);

• A palavra-código correspondente (displays D2 e D3). O display D2 deve apre-


sentar os 4 primeiros bits da palavra-código e o display D3, os três últimos
bits. Por exemplo, se v = [1001101], o display D2 apresenta “9” e o display D3
apresenta “5”;

• O sinal recebido r = v + e (displays D4 e D5).Note que a adição é módulo 2;

• A síndrome correspondente (display D6).

O receptor deve ainda indicar, usando LEDs, se há ou não erro na sequência


recebida. A Figura a seguir mostra o diagrama de blocos do que deve ser imple-
mentado.
e LED Erro

m Codif. v r Decodif. m̂
Fonte Canal Destino
de Canal de Canal
s

D1 D2 D3 D4 D5 D6 D7

O seu projeto deverá necessariamente conter um detalhamento do mapea-


mento entre mensagem e respectivas palavras-código, assim como a síndrome es-
perada para padrões de erro de 1 e 2 bits.

7.3 Desafio Adicional


Melhore o decodificador não apenas para não apenas detectar o erro, como tam-
bém corrigir o erro. Apresente em um display adicional (display D7) a mensagem
recuperada m̂ (+2 pontos).

119
Parte IV

Anexos

121
A

NEXO
A
P INAGEM DE CI S 74’ XXX

As pinagens a seguir foram extraídas do manual Pocket Data Book da Texas Ins-
truments. Este apêndice não substitui a necessidade de o aluno ter o seu próprio
conjunto de manuais, onde há especificação detalhada das características estáticas
e dinâmicas dos CIs.

123
A. P INAGEM DE CI S 74’ XXX

124
125
A. P INAGEM DE CI S 74’ XXX

126
127
A. P INAGEM DE CI S 74’ XXX

128
129
A. P INAGEM DE CI S 74’ XXX

130
131
A. P INAGEM DE CI S 74’ XXX

132
133
A. P INAGEM DE CI S 74’ XXX

134
135
B

EXO
AN
D EPURANDO C IRCUITOS

B.1 Considerações Gerais


Quando o circuito não funciona como esperado, o motivo pode ser dividido em três
grupos não exclusivos:

• Erro de projeto.

• Erro na montagem.

• Falha nos componentes.

Analisaremos caso a caso cada um dos grupos.

B.1.1 Erro de projeto


Este erro pode ser evitado se o projeto for testado em um simulador de circuitos
digitais (como o Circuit Maker ou Proteus). O erro de projeto é difícil de encontrar
e ser corrigido em tempo de sala - especialmente se o circuito for complexo. Por este
motivo é que enfatizamos o trabalho prévio e o teste nos simuladores. Não vá para
a prática sem testar antes o seu projeto.
Para fazer um bom projeto, atente para:

• As especificações: tenha a certeza de que o seu projeto atende ao que foi pe-
dido. O entendimento do problema, portanto, é essencial.

• Deixar claro quais são as entradas e saídas do circuito. Esta regra vale tam-
bém para cada bloco funcional do projeto. Com esta informação, é possível
fazer um diagrama de blocos claro e objetivo, que pode ser usado como parte
da documentação do relatório.

137
B. D EPURANDO C IRCUITOS

• Deixar claro qual funcionamento do projeto no caso de especificações impreci-


sas ou ambíguas.

B.1.2 Erro na montagem


O erro na montagem provém essencialmente de dois elementos:

• Documentação inadequada: falta de diagrama esquemático, tabelas de cone-


xão erradas, pinagem errada.

• Desatenção ou distração: conexões feitas de maneira errada, desorganização


ao conferir as ligações, trechos do circuito em curto, entradas em aberto, etc.

Listamos aqui, de maneira não exaustiva, alguns erros comuns na montagem


dos circuitos.

• Fonte de alimentação desligada ou desconectada da protoboard;

• Chaves com terminais em curto ou em aberto;

• LEDs polarizados incorretamente;

• CIs sem as conexões de GND e/ou VCC ;

• Subseções da protoboard sem “jumpers” (tipicamente nas trilhas de alimenta-


ção e terra);

• Identificação errada do CI;

• Fios de conexão quebrados;

• CI invertido (“de cabeça para baixo”).

B.1.3 Falha nos componentes


É possível que um ou mais componentes (CIs, LEDs, chaves, etc.) apresentem falha
de operação, incluindo a protoboard. Porém este casos são relativamente raros, Não
culpe em primeiro momento o componente; muito provavelmente a falha é humana.

B.2 O Processo de Depuração


Não há nada difícil em depurar um circuito. Porém, são necessários uma boa dose
de raciocínio lógico e de organização, qualidades importantes em qualquer profissi-
onal de engenharia.
O processo como um todo pode levar um bom tempo (às vezes horas) e ser muito
frustrante caso o erro não seja encontrado. Como hipótese de trabalho, o cir-
cuito não pode ter erros de projeto (ou seja, funcionou perfeitamente no si-
mulador).
Como regras gerais:

138
B.2. O Processo de Depuração

• Vá montando e testando. Muitos alunos montam todo o circuito para de-


pois testar. Em circuitos complexos, isto torna o processo de depuração muito
trabalhoso. Neste caso, você estará começando a montagem e inspeção pelas
entradas, indo em direção à saída.

• No caso de montar tudo para depois depurar, pode ser mais rápido co-
meçar da saída: identifique o problema (ou seja, bit de saída errado), e comece
a procurar a fonte imediata do problema: cheque o LED, a saída do CI, e even-
tualmente entradas do chip que geram as saídas incorretas. Se o problema
ainda persistir, verifique o CI que produziu as entradas incorretas, até encon-
trar o ponto de falha.

• Regra do “mudou, testou”. Após a realizar uma alteração no circuito, teste


novamente o funcionamento do bloco que acabou de ser depurado. Anote
o que foi alterado (você pode esquecer que já fez), ou seja, documente os
procedimentos executados.

• Confie no multímetro. Não fique olhando se o LED está aceso ou não para
saber se o circuito funciona ou não. No processo de depuração, utilize in-
tensivamente o multímetro para verificar o estado de cada sinal. Ao usar o
multímetro, encoste sempre a ponta de prova no pino do CI, e não nos furos
da protoboard. Com isso, consegue-se detectar problemas como trilhas com
defeitos ou pinos mal encaixados.

• Verifique as falhas óbvias: conexão à fonte, trilhas de alimentação e terra,


polarização dos LEDs. Isto deve ser rápido. Uma boa parte dos problemas
está ligada a conexões erradas de VCC e GND.

• Teste cada bloco funcional individualmente, depois em conjunto. Neste


ponto, é importante ter em mente a divisão do projeto em blocos funcionais,
com as entradas e saídas de cada bloco bem explicitadas. Nesta etapa, veri-
fique se as saídas estão no nível lógico esperado para cada combinação dos
sinais de entrada.

• Tensões na zona proibida. Caso o CI apresente uma tensão em torno de


2.5 V, a saída está em nível lógico indefinido. As causas típicas são:

– Falta de alimentação e/ou terra no CI;


– Conexão entre as saídas de duas portas lógicas diferentes. Neste caso, se
não houvesse a conexão, uma das saídas estaria em nível 0, enquanto a
outra poderia estar em 1. Como estão conectadas, há uma inconsistência
de valores;
– Sinal de “enable” desabilitado;
– CI com defeito. Se possível, use outra porta - por exemplo, a ’00 tem 4
portas NAND. A escolha comum é usar os pinos 1, 2 e 3. Experimente 4,
5 e 6, ou simplesmente as portas do outro lado do CI.

139
B. D EPURANDO C IRCUITOS

• Verifique a compatibilidade entre CIs. Nem sempre é possível conectar


CIs de famílias diferentes (exemplo: de TTL para HC). Para os experimentos
em sala de laboratório, prefira sempre usar CIs da mesma família.

B.2.1 Boas práticas de montagem e uso da protoboard


• Use cabos vermelhos para alimentação e pretos para terra.

• Planeje a disposição previamente, de modo a minimizar as conexões longas e


deixe um espaço razoável para inserir as chaves. Uma boa montagem permite
identificar de maneira rápida os sinais de entrada e saída.

• Se possível, use cores chamativas para identificar sinais críticos. Use seu
próprio código, mas seja consistente.

• Em geral, as medições de tensão são entre um pino do CI e o terra. Deixe


a ponta de prova preta do multímetro conectada ao borne da protoboard e
manuseie apenas a ponta de prova vermelha - é muito mais prático.

• Evite fios muito curtos (pois podem escapar), mas principalmente os longos
(isto é, prefira as folgas mais curtas). Fios longos deixam a montagem mais
confusa e suscetível a desconexões ao manusear as ligações, pois é comum
esbarrar nos fios. Não cruze os fios por cima do CI, pois se precisar substituir
o chip fica mais difícil.

140

Você também pode gostar