142
11 XD102 – Eletrônica Digital e CPLD Curso de Eletrônica Digital

Curso de Eletrônica Digital - ccfacape.webnode.com · é feita de forma digital e na reprodução temos novamente o som analogico. Analisando todas essas considerações podem afirmar

  • Upload
    lehanh

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

11 XD102 – Eletrônica Digital e CPLD

Curso de Eletrônica Digital

12 XD102 – Eletrônica Digital e CPLD

1 Introdução à eletrônica digital

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

elétrica, de telecomunicações e aeroespaciais, por exemplo. Contudo, podemos ainda dividir a

eletrônica em duas grandes idéias que certamente quase todos, já ouviram falar:

• Eletrônica Analógica;

• Eletrônica Digital.

O conteúdo desta apostila é estudar de forma concisa os conceitos de eletrônica digital,

entendendo ao longo do conteúdo quais são as capacidades destes conceitos e da implementação

dos mesmos para a resolução de problemas.

1.1 Diferenciações entre analógico e digital

Podemos começar a análise destas diferenciações através da seguinte pergunta: Quais são os

parâmetros utilizados para definir um equipamento com digital ou defini-lo como analógico? Nos

dias de hoje são encontrados diversos equipamentos com denominações Digital ou Analógico, mas

na maioria das vezes esta denominação é dada pelos próprios fabricantes, então como podemos

distinguir o que é analógico e o que é digital?

Para responder a primeira pergunta, temos que antes verificar as diferenciações, definir o

que é ANALÓGICO e o que é DIGITAL. Para isso vamos tomar alguns exemplos:

1.1.1. Rampa versus escada

Figura 1.1. Rampa versus escada.

Tomando por base a figura da esquerda, vemos que se um objeto estiver no meio da rampa e

este objeto “caminhar” para um ponto mais baixo ou para o ponto mais alto, ele poderá assumir

qualquer uma das infinitas posições de altura entre a posição central e o caminho tomado. Ao

13 XD102 – Eletrônica Digital e CPLD

analisarmos a escada podemos ver que o comportamento não é da mesma forma, pois o objeto só

poderá estar em um dos degraus, tendo que, para alcançar os demais degraus terá uma variação

grande de altura. Sendo assim, podemos dizer, salvo os elementos rudimentares de comparação, que

a rampa está para o analógico, assim como a escada está para o digital.

1.1.2. Voltímetro analógico versus voltímetro digit al

Semelhante ao exemplo anterior, podemos verificar que no voltímetro analógico o valor

indicado pelo ponteiro pode ocupar infinitas posições entre o inicio e o fim da escala. Já no

voltímetro digital os valores exibidos na tela são discretos, significando que existe um número finito

de valores entre o maior e o menor valor.

Analisando os dois exemplos, concluímos que a classificação analógica deve ser dada a

qualquer equipamento que apresentar infinitas saídas entre dois pontos preestabelecidos, em

contra partida, todo equipamento que apresentar finitas saídas será dito digital.

Considerando a primeira pergunta feita no inicio, poderíamos dizer que cientificamente um

dispositivo é analógico quando sua saída é uma função com elementos contínuos e podemos dizer

que o equipamento é digital quando a saída for composta por uma função discreta.

Por exemplo, quando ajustamos à intensidade de uma lâmpada incandescente, usando o

botão giratório, você terá infinitas posições para escolher através do tempo que ficar girando o botão

entre o seu valor máximo e valor mínimo. Observa-se que esta entrada analógica gera uma saída

analógica, que é a intensidade de brilho da lâmpada incandescente. Contudo, quando pressionamos

um botão de um controle remoto, vemos a intensidade do áudio variar em pequenos saltos e, em

alguns modelos, aparece no vídeo o valor selecionado, normalmente de 0 a 50. Podemos observar

que não é possível estabelecer o valor de 23,8 para o volume da televisão via controle remoto, pois

os saltos de valores são de um em um. Afirmamos então que a televisão com controle remoto tem

no circuito de áudio uma entrada analógica, mas que o valor do volume na tela varia de forma digital.

Podemos citar outro exemplo, como os dispositivos para reproduzir CD’s que têm entradas e

saídas analógicas e processamento digital, onde o som original é analógico por natureza, a gravação

é feita de forma digital e na reprodução temos novamente o som analogico.

Analisando todas essas considerações podem afirmar com certeza que a eletrônica analógica

processa sinais com funções contínuas e a eletrônica digital processa sinais com funções discretas.

1.2. Vantagens da eletrônica digital

14 XD102 – Eletrônica Digital e CPLD

Como podemos analisar nos exemplos vistos acima, quando temos um equipamento que

possui uma saída digital, temos uma quantidade finita de valores, tornando o trabalho com esse tipo

de sinal mais fácil. Já um dispositivo analógico, que pode possuir infinitos valores, precisa de uma

análise muito detalhada e um tratamento muito mais elaborado para que o trabalho seja executado

sem que se percam partes do sinal.

Para simplificar ainda mais o processamento de sinais digitais, foi retomada uma técnica de

representação chamada numeração binária, que utiliza em seu sistema apenas dois símbolos para a

representação de números. Como os sinais são discretos e, portanto as medições são obtidas de

forma fácil, se enumerarmos esses valores usando a numeração binária temos a representação

numérica de apenas dois elementos distintos para representarmos os sinais desejados. Podemos

concluir então que em um sistema digital teremos o processamento de conjuntos finitos cujos

elementos se apresentam em apenas dois valores. Para cada elementos deste, é dado o nome de bit.

Podemos ter conjuntos de diferentes quantidades de bits, entretanto para o conjunto mais usado dá-

se o nome de bytes, que corresponde ao agrupamento de oito bits.

Aparentemente, seria melhor ter um sistema com infinitos pontos (analógico) do que ter um

sistema com finitos pontos (digital). Entretanto, vemos que é muito mais simples processar,

armazenar e transmitir informações discretas do que informações contínuas.

O nosso escopo se concentra em como os sinais digitais discretos podem ser usados na

criação de circuitos digitais complexos e como a determinação destes dois elementos numéricos

distintos podem ser usados para representação de outros grupos numéricos como o decimal e

hexadecimal. No próximo capitulo vamos concentrar nossos esforços para entender os diversos

grupos numéricos existentes e como fazer a sua conversão para o sistema binário.

15 XD102 – Eletrônica Digital e CPLD

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

Todos nós, quando resolvemos tratar no cotidiano a palavra números, por instinto

associamos está palavra ao sistema decimal o qual usamos diariamente no número das casas, no

dinheiro que é gasto e na representação da quantidade de dedos nas mãos. Este sistema numérico

está ligado diretamente em certas regras e padrões que fundamentam qualquer outro modelo de

representação numérica. Vamos, portanto, estudar estas regras e aplicá-las aos outros sistemas de

numeração como a binária, octal e hexadecimal. Estes sistemas são utilizados em computadores

digitais, circuitos lógicos em geral e no processamento de informações dos mais variados tipos.

É importante notar que por mais que utilizamos o sistema de numeração binária ou qualquer

outro, sempre passaremos estes sistemas para o decimal, fazendo com que estes sejam

compreendidos de forma fácil para nós.

2.1. Sistema de numeração decimal

Apesar de sabermos que nossa cultura utiliza o sistema decimal, é fácil para você entender o

que isso significa? Para facilitar a compreensão, é só ver que um dígito no sistema decimal tem na

realidade dois significados. Um, é o valor propriamente dito do dígito e o outro é o que relaciona

este digito com a sua posição em relação ao número todo ou o seu peso no número inteiro. Podemos

citar, por exemplo, se usarmos o número 43, o dígito quatro no número representa 4 x 10, ou seja,

40, devido à posição ou peso que ele ocupa neste número e o 3 representa 3 x 100. Esta metodologia

é aplicável a qualquer sistema de numeração onde os dígitos possuem pesos determinando sua

posição. Sendo assim, um sistema de numeração genérico pode ser expresso da seguinte maneira:

N = dn . Bn + . . . + d3 . B3 + d2 . B

2 + d1 . B1 + d0 . B

0, d-1.B-1 + d-2.b

-2 + .... + a-n.b-n

Onde:

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

16 XD102 – Eletrônica Digital e CPLD

dn = posição n do dígito;

B = base do sistema de numeração utilizado;

n = valor posicional do dígito.

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

N = d3 . B3 + d2 . B

2 + d1 . B1 + d0 . B

0

3456 = 1 . 103 + 5 . 102 + 8 . 101 + 7 . 100

103 102 101 100

3 4 5 6

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

Como podemos ver, apesar do sistema de numeração decimal estar integrado ao nosso

cotidiano, para que possamos realmente entender como funciona é necessário saber que cada dígito

de cada número possui um peso específico que o posiciona neste número. Temos ainda que definir

mais um elemento que é importante para o nosso entendimento deste sistema de numeração, a

base. A composição da base é dada pela quantidade de dígitos ou símbolos que cada sistema

numérico possui, por exemplo, como estamos analisando o sistema numérico decimal, é correto

pensar em uma base composta de dez símbolos, que são:

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

Portanto, para este sistema numérico temos dez símbolos formando uma base decimal. Este

pensamento pode ser estendido para os outros sistemas de numeração através da mesma analogia.

Por exemplo, num sistema octal, a base é feita com oito símbolos que são:

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

17 XD102 – Eletrônica Digital e CPLD

Onde cada número octal, é composto do posicionamento destes oito símbolos no numero

octal mais o uso da base oito para representá-lo.

Nos próximos itens vamos ver como é formado os dois sistemas de numeração muito

utilizados na eletrônica, o binário e o hexadecimal.

2.2. Sistema de numeração binária

Como podemos ver anteriormente, o sistema decimal é composto de 10 dígitos ou símbolos

que o representam. O sistema binário utiliza somente dois dígitos, “0” e “1” para representação da

sua numeração, assim sabemos que sua base é de valor dois. Usando este sistema de numeração

binário também podemos representar qualquer quantidade que seria representada no sistema

decimal. De acordo com a definição de um sistema de numeração qualquer, o número binário 10010

pode ser representado da seguinte forma:

10010 = 1 . 24 + 0 . 23 + 0 . 22 + 1 . 21 + 0 . 20

10010 = 16 + 0 + 0 + 2 + 0 = 18

Observe que os números utilizando a numeração binária devem ser lidos da direita para a

esquerda, partindo do menos significativo (LSB – Less Significant Bit) ao mais significativo (MSB –

Most Significant Bit). Esta nomenclatura é dada ao dígito com a menor potencia associada a uma

base e ao dígito com a maior potencia associada a uma base respectivamente, seja isto na parte

inteira ou na parte fracionada do valor.

24 23 22 21 20

1 0 0 1 0

MSB LSB

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

De acordo com este sistema de numeração, um número binário com N bits pode representar

um número decimal de 2n objetos, como: 23 = 8 objetos.

18 XD102 – Eletrônica Digital e CPLD

Veja que os índices foram especificados em notação decimal, o que possibilita a conversão

binário-decimal como descrito acima. Através do exemplo anterior, podemos notar que a quantidade

de dígitos necessários para representar um número qualquer no sistema binário, é muito maior

quando comparada ao sistema decimal. A representação binária é perfeitamente adequada para

utilização pelos computadores. No entanto, um número representado em binário apresenta muitos

bits, ficando longo e passível de erros quando manipulado por seres humanos normais como, por

exemplo, os programadores, analistas e engenheiros de sistemas. Para facilitar a visualização e

manipulação por programadores de grandezas processadas em computadores, que utilizam o

sistema binário, são usualmente adotadas as representações octal (base oito) e principalmente

hexadecimal (base 16). Ressaltamos mais uma vez que o computador opera apenas na base dois e as

representações octal e hexadecimal não são usadas no computador, elas se destinam apenas à

manipulação de grandezas pelos profissionais que trabalham com eletrônica digital.

2.2.1. Conversão entre os sistemas binário e decima l

Dado um número binário qualquer, para expressá-lo em decimal, deve-se escrever cada

número que o compõe, multiplicado pela base do sistema. No caso do sistema binário o número dois

elevada à posição que ocupa. Uma posição à esquerda da vírgula representa uma potência positiva e

à direita uma potência negativa. A soma de cada multiplicação de cada dígito binário pelo valor das

potências resulta no número real representado.

Exemplo: 1011 (binário) = 1 × 2³ + 0 × 2² + 1 × 21 + 1 × 20 = 11 (decimal)

Agora para o processo inverso, dado um número decimal, para convertê-lo em binário, basta

usar o método de divisão repetida e o método de multiplicação repetida. Nota-se que um número

decimal pode ser inteiro ou não, com isso cada um dos métodos citados devem ser utilizados de

forma específica. Esta conversão consiste em dividir o número decimal em duas partes, uma parte

inteira e a outra fracional. Desta forma, utilizamos o método de divisão repetida para a parte inteira

e a multiplicação repetida para a parte fracional. Por exemplo, se quisermos converter o número

23,765 para binário fazemos:

19 XD102 – Eletrônica Digital e CPLD

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

Com isso, podemos dizer que o número 23(10) é igual 10111(2). Ou, usando a nomenclatura

correta, dizemos que: O número 23 na base 10 é igual ao número 10111 na base dois. Agora, vamos

analisar o método de multiplicação repetida para a parte fracionária.

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

Como podemos ver na figura acima, foi adotada uma outra nomenclatura chamada carry ou

“vai - um”. Isto significa que para um número binário ter um carry é necessário que a capacidade de

20 XD102 – Eletrônica Digital e CPLD

representação de um determinado número binário com n bits tenha sido excedida, fazendo com que

seja necessário usar um peso alem da capacidade deste número com n bits. Por exemplo, se temos o

valor 3(10), sua representação binária seria: 11(2). Agora se quiséssemos representar o número 4(10) só

com esses dois bits não seria possível, então temos que usar o “vai - um” para representá-lo fazendo

com que o número 4(10) seja agora composto de três bits: 100(2).

Com relação à conversão do número fracional decimal em binário, deve ser observado que o

procedimento de multiplicação repetida deve ser interrompido em duas situações: Quando a parte

fracional for zero ou quando for alcançada a precisão desejada. Contudo, na maioria dos casos, o

motivo de interrupção será quando a precisão for alcançada.

2.3 Sistema de numeração hexadecimal

A adoção do sistema hexadecimal veio da necessidade de se representar os números

binários de forma mais curta ou simples. Isso fica claro quando utilizamos o sistema decimal

para representar o valor nove. Para representarmos ele no sistema decimal é só usar o dígito 9(10),

mas se fossemos representar o mesmo valor no sistema binário, teríamos o seguinte número em

binário: 1001(2) usando quatro dígitos!

Vale notar que quando menor for a base, mais dígitos serão necessários para representar

um determinado valor, isso fica claro no exemplo dado acima. Uma base diferente foi então

adotada para que pudesse facilitar aos profissionais de eletrônica na representação dos números

binários. A base adotada foi a base 16 (base hexadecimal), por ser uma potencia inteira de dois

que facilitará a conversão entre o hexadecimal e o binário.

Com um número hexadecimal formado por n dígitos pode fazer a contagem de até 16n

objetos, por exemplo, para n = 1 podemos contar 161 = 16 objetos. Isto pode ser mais bem

demonstrado na tabela abaixo:

Decimal Binário Hexadecimal

0 0000 0

21 XD102 – Eletrônica Digital e CPLD

1 0001 1

2 0010 2

3 0011 3

4 0100 4

5 0101 5

6 0110 6

7 0111 7

8 1000 8

9 1001 9

10 1010 A

11 1011 B

12 1100 C

13 1101 D

14 1110 E

15 1111 F

Tabela 2.3. Tabela de conversão decimal-binario-hexadecimal.

Como pôde ser notado, o sistema de numeração hexadecimal utiliza os dígitos que

correspondem aos números do sistema decimal e também utilizada algarismos do alfabeto para

representar seus valores. Fazendo com que o conjunto de dígitos que represente este sistema seja:

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

Como em qualquer base numérica, o carry no sistema hexadecimal mostra que a

capacidade de representação numérica dos dígitos menos significativos foi excedida. Por

22 XD102 – Eletrônica Digital e CPLD

exemplo, continuando a contagem iniciada na tabela três teremos: 10, 11, 12, 13, 14, 15, 16, 17,

18, 19, 1A, 1B, 1C, 1D, 1E, 1F, 20, 21...

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

Uma das principais vantagens do sistema hexadecimal é sua fácil conversão para o

sistema binário e vice-versa. De fato, é muito mais simples de conversão hexadecimal e binário

do que binário e hexadecimal.

Para fazer uma conversão entre o sistema binário e hexadecimal, começamos a isolar da

direita para a esquerda grupos de quatro bits, também chamado de nibble, fazendo a conversão

direta destes quatro bits para hexadecimal usando a tabela 2.2. Caso esta separação em grupos de

quatro bits seja feita e os ultimos bits não cheguem a formar grupos de quatro é só adicionar

zeros conforme for necessário até o preenchimento de quatro bits. Por exemplo, vamos converter

o número 30(10) = 11110(2) para hexadecimal:

Figura 2.3. Conversão binário–hexadecimal.

Com o processo descrito acima, vemos que é muito fácil fazer a conversão de um número

binário em hexadecimal. Por isso a sua maior aplicabilidade em sistemas digitais do que o

binário, pois representa de forma simples o sistema numérico binário. Na figura 2.4, vemos que o

número 30(10) = 11110(2) = 1E(16).

Para que possamos fazer a conversão do sistema hexadecimal para o binário é só executar

o processo inverso da figura 2.4. Ou seja, fazer com que cada dígito hexadecimal seja convertido

pelo nibble binário correspondente e depois reagrupado de novo.

Figura 2.4. Conversão hexadecimal-binário.

23 XD102 – Eletrônica Digital e CPLD

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

o trabalho tanto num sistema como no outro.

2.3.2. Conversão entre os sistemas hexadecimal e de cimal

A conversão entre os sistemas hexadecimal e decimal é feita através de procedimentos

simples, sendo que para a conversão do hexadecimal para o decimal pode ser adotada duas

formas: Fazendo a mudança do hexadecimal para binário e depois do binário para o decimal ou

através da substituição de acordo com a equação do sistema de numérico. Ao contrário, quando

se vai fazer a conversão de decimal para hexadecimal, a conversão é feita de forma direta, usando

o método da divisão repetida.

Tomando como exemplo o número hexadecimal 3C(16) teremos o seguinte número

decimal aplicando as duas formas:

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

3C = 3 x 161 + C x 160 = 3 x 16 + 12 x 1 = 60(10)

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

3C = 3(0011) e C(1100) = 00111100 = 111100

111100 = 1 x 25 + 1 x 24 + 1 x 23 + 1 x 22 + 0 x 21 + 0 x 20 = 32 + 16 + 8 + 4 = 60(10)

Como visto, a mudança de bases é bem simples se adotarmos sempre a equação do

sistema numérico utilizado. Agora vamos ver como se aplica a divisão repetida ao sistema

hexadecimal para obter o número decimal, para isso, vamos tomar o número 60(10) e passá-lo

para hexadecimal.

24 XD102 – Eletrônica Digital e CPLD

Figura 2.5. Conversão decimal-hexadecimal.

Com isso vemos que a conversão entre as bases 16, 2 e 10 são fáceis de serem feitas. É

importante salientar que todo este processo de numeração tem que ser bem entendido pelo aluno

para que não ocorram problemas no andamento da apostila. No próximo capítulo, iremos ver a

álgebra dos sistemas digitais lógicos, as regras básicas de Boole que resultaram em alguns

postulados.

25 XD102 – Eletrônica Digital e CPLD

3. Algebra de Boole

3.1. Introdução

O ponto de partida para o projeto de sistemas de processamento digital é a chamada

Álgebra de Boole, trabalho de um matemático inglês que, em um livro de 1854, propôs dar

expressão as leis fundamentais do raciocínio na linguagem simbólica do cálculo. Trata-se,

portanto, de uma formalização matemática da lógica em sua forma mais simples, conhecida

como Lógica Proposicional.

Esta era fundamentada por uma série de postulados mostrando como operações simples

podem ser usadas para resolver uma infinidade de problemas. Apesar da álgebra de Boole

resolver problemas práticos de controle e fabricação de produtos, na época em que ela foi

idealizada, não havia sistemas eletrônicos que pudessem usar toda a teoria.

A álgebra de Boole veio se tornar importante com o advento da Eletrônica,

especificamente, da eletrônica digital, que gerou os modernos computadores. Boole firma através

da sua teoria que para qualquer situação só existam duas possibilidades, condições ou estados,

que possam ser escolhidas e cada uma dessas possibilidades são inversas uma da outra. Assim,

um forno só pode estar quente ou frio, uma torneira só pode estar aberta ou fechada, um carro só

pode estar parado ou em movimento, uma fonte só pode ter ou não ter tensão na sua saída. Ou

seja, cada pergunta só pode ter como resposta verdadeira ou falsa.

Com isso, para facilitar a representação da lógica de Boole, utilizamos dois estados: zero

ou um, Verdadeiro ou Falso, Aberto ou Fechado, Alto ou Baixo (HI ou LO) ou Ligado ou

Desligado. Na base da eletrônica digital partimos exatamente do princípio que um determinado

equipamento pode ter seus componentes lógicos trabalhando com esses dois estados possíveis, ou

seja, encontraremos presença do sinal de tensão ou a ausência do sinal de tensão, o que se adapta

perfeitamente aos princípios da álgebra de Boole.

Tudo que um circuito lógico digital pode fazer está previsto pela álgebra de Boole. Desde

as mais simples operações ou decisões, como ligar uma chave ou acender um LED, quando dois

sensores são ativados de uma determinada maneira ou ainda ativar uma bomba de água quando

a terra estiver seca.

3.2. Níveis lógicos

26 XD102 – Eletrônica Digital e CPLD

Como visto, sabemos que os circuitos digitais só possuem dois estados para representar

presença ou ausência de sinal. Contudo, ainda é necessário ter alguns parâmetros importantes

para fundamentar nosso entendimento.

Nos circuitos digitais a presença de eletricidade será indicada como um, lembrando que

segundo boole só existe duas possibilidades possíveis, sendo cada uma elas aqui representadas

por um número binário. Ainda podemos chamar de nível HI (de HIGH ou Alto) a presença de

eletricidade nos circuitos digitais. O estado oposto deve ser representado pela ausência de

eletricidade, tendo sua indicação feita pelo número binário zero representado pela nomenclatura

LO (de LOW ou baixo). O zero ou LO será sempre uma tensão nula, ou ausência de sinal num

ponto do circuito, mas o nível lógico um ou HI pode variar de acordo com o circuito

considerado.

Nos equipamentos eletrônicos, como o computador, a tensão usada para a alimentação

de quase todos os circuitos lógicos é de 5 V. Então, o nível um ou HI de seus circuitos será

sempre uma tensão de 5V. Nos notebooks é usada uma tensão de alimentação menor, devido à

necessidade de um menor consumo por causa da bateria, da ordem de 3.2 V. Para tanto, nestes

circuitos um nível um ou HI corresponderá sempre a uma tensão desse valor. Ainda temos os

circuitos digitais que utilizam componentes de tecnologia CMOS e que são alimentados

tipicamente por tensões entre 3 e 15 V. Nestes casos, um nível lógico um ou HI poderá ter

qualquer tensão entre 3 e 15 V, dependendo apenas da tensão de alimentação usada. Atualmente,

cada vez mais são usadas alimentações de baixa tensão como 4,2V, 1,8V, 2,5V e especialmente

3,3V.

Na verdade, a idéia de associar a presença de tensão ao nível um e a ausência ao nível

zero, é mera questão de convenção, porque o valor zero é facilmente associado a uma coisa nula

ou ausência de algo. Nada impede que se adote um critério oposto para isto e se faça os projetos

dos circuitos usando este tipo de simbologia, pois eles funcionarão perfeitamente. Por exemplo,

nas portas seriais dos computadores “1” é representado por -12V e “0” por +12V. Assim, quando

dizemos que ao nível alto (1) associamos a presença de tensão e ao nível baixo a ausência de

tensão (0), estamos usando lógica positiva, pois a transição do nível baixo para o alto é feito de

forma positiva. Se associarmos o nível baixo ou zero a presença de tensão e o nível alto ou um a

ausência de tensão, estaremos falando de uma lógica oposta, portanto uma lógica negativa.

Durante o uso da nossa apostila, vamos tratar somente da lógica positiva, seja para

aplicação da teoria como para qualquer nível de tensão usado nos exercícios, a não ser quando

especificado o contrário. Portanto, na nossa lógica, associaremos o número binário “0” para

27 XD102 – Eletrônica Digital e CPLD

falso, desligado, LO ou desabilitado e o número binário “1” para verdadeiro, ligado, HI ou

habilitado.

3.3. Elementos lógicos básicos

Nós diariamente executamos diversas ações que dependem da lógica, por exemplo,

decisões como, “Se eu ficar rico eu compro um barco”. Então, temos uma condição, pois só

acontecerá a compra do barco se ele ficar rico, caso não fique não acontecerá a compra do barco.

Visto isto, sabe-se que executamos diariamente operações lógicas, sendo as mais comuns as que

envolvem números, ou seja, quantidades que podem variar ou variáveis, representando uma

soma como: S = A + B.

Podemos ver que o valor da variável S será dependente dos valores que A e B assumirão.

Então, podemos dizer que as variáveis A e B são independentes e que S é dependente dos valores

de A e B. Porem existe operações mais simples que a soma, e que são simplesmente implantadas

considerando a álgebra booleana.

É interessante observar que com um pequeno número de operações lógicas podemos

alcançar a uma infinidade de operações mais complexas, como as utilizadas nos PC’s atuais e

que, repetidas em grande quantidade ou levadas a um grau de complexidade muito grande, nos

fazem até acreditar que a máquina tenha algum nível de inteligência. Isso na realidade é a

associação de vários circuitos simples levando ao um comportamento complexo de muitos

circuitos digitais.

Estes circuitos simples são denominados blocos lógicos ou, mais comumente, portas

lógicas que são compostas de uma ou mais entradas e uma ou mais saídas. O resultado

proveniente da(s) entrada(s) é executado pelo circuito lógico gerando uma saída depende da(s)

entradas. Em outras palavras, a resposta que cada circuito lógico dá para uma determinada

entrada ou entradas depende da “regra booleana” que este circuito segue. Com isso, vemos que

para chegarmos a entender como um computador funciona, com sua alta capacidade de

resolução de problemas, temos que começar entendendo como ele faz as operações elementares

usando as portas lógicas e quais são essas portas.

Por este motivo, depois de analisarmos o funcionamento das operações lógicas vamos

associá-las a álgebra de Boole, estudando cada uma das portas básicas.

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

Esta função é a mais básica de todas as funções lógicas que possamos ver, ela pode ser

também nomeada como NOT, através da nomenclatura inglesa da função da porta. Sua função é

negar uma afirmação, ou seja, como na álgebra booleana só existem duas respostas possíveis para

uma pergunta, esta função “inverte” a resposta, fazendo uma afirmação verdadeira ficar falsa e

vice-versa. O circuito lógico que realiza esta operação é denominado inver

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

Analisando o comportamento deste circuito lógico inversor, vemos que quando a saída é

verdadeira, a entrada é falsa, ou que apresenta nível zero, quando a entrada é um e vice

Podemos associar a ele uma tabela que será muito útil para representar esta função lógica e esta

tabela será usada para todos os outros circuitos lógicos posteriores para estudarmos melhor seu

funcionamento.

Tabela 3.1. Tabela verdade da

Esta tabela mostra o que ocorre com a saída da função quando colocamos na entrada

todas as combinações possíveis de níveis lógicos. Dizemos que se trata de uma “tabela verdade”

ou “Truth Table” no inglês. O símbolo adotado para representar esta

Este circuito lógico pode ter o seu funcionamento demonstrado através de um circuito eletrônico

simples e de rápida compreensão como o abaixo.

XD102 – Eletr

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

Esta função é a mais básica de todas as funções lógicas que possamos ver, ela pode ser

também nomeada como NOT, através da nomenclatura inglesa da função da porta. Sua função é

afirmação, ou seja, como na álgebra booleana só existem duas respostas possíveis para

uma pergunta, esta função “inverte” a resposta, fazendo uma afirmação verdadeira ficar falsa e

versa. O circuito lógico que realiza esta operação é denominado inversor.

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

Analisando o comportamento deste circuito lógico inversor, vemos que quando a saída é

verdadeira, a entrada é falsa, ou que apresenta nível zero, quando a entrada é um e vice

ssociar a ele uma tabela que será muito útil para representar esta função lógica e esta

tabela será usada para todos os outros circuitos lógicos posteriores para estudarmos melhor seu

Entrada Saída

0 1

1 0

Tabela 3.1. Tabela verdade da porta NOT.

Esta tabela mostra o que ocorre com a saída da função quando colocamos na entrada

todas as combinações possíveis de níveis lógicos. Dizemos que se trata de uma “tabela verdade”

ou “Truth Table” no inglês. O símbolo adotado para representar esta função está na figura 3.1.

Este circuito lógico pode ter o seu funcionamento demonstrado através de um circuito eletrônico

simples e de rápida compreensão como o abaixo.

28 letrônica Digital e CPLD

Esta função é a mais básica de todas as funções lógicas que possamos ver, ela pode ser

também nomeada como NOT, através da nomenclatura inglesa da função da porta. Sua função é

afirmação, ou seja, como na álgebra booleana só existem duas respostas possíveis para

uma pergunta, esta função “inverte” a resposta, fazendo uma afirmação verdadeira ficar falsa e

sor.

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

Analisando o comportamento deste circuito lógico inversor, vemos que quando a saída é

verdadeira, a entrada é falsa, ou que apresenta nível zero, quando a entrada é um e vice-versa.

ssociar a ele uma tabela que será muito útil para representar esta função lógica e esta

tabela será usada para todos os outros circuitos lógicos posteriores para estudarmos melhor seu

Esta tabela mostra o que ocorre com a saída da função quando colocamos na entrada

todas as combinações possíveis de níveis lógicos. Dizemos que se trata de uma “tabela verdade”

função está na figura 3.1.

Este circuito lógico pode ter o seu funcionamento demonstrado através de um circuito eletrônico

29 XD102 – Eletrônica Digital e CPLD

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

Neste circuito temos uma lâmpada que, acesa, indica o nível 1 na saída e apagada, indica

o nível 0. Quando a chave estiver na posição A, a chave estará fechada (nível um), mas a

lâmpada estará apagada (nível 0), pois o fluxo de corrente não passará pela lâmpada, mas pelo

curto provocado pela chave. Contudo, quando a chave estiver aberta, ou seja, na posição B (nível

zero) o fluxo de corrente passara todo pela lâmpada fazendo com que ela acenda. Esta maneira

de simular funções lógicas com lâmpadas indicando a saída e chaves indicando a entrada, é

bastante interessante pela facilidade com que vemos o funcionamento do circuito lógico. Então

para verificar o funcionamento, é só comparar as duas tabelas abaixo.

Entrada Saída

Chave Lâmpada 0 1 Aberta Acesa 1 0 Fechada Apagada

Tabela 3.2. Comparação entre a função NOT e o circuito da figura 3.2.

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

A função lógica E também conhecida pelo seu nome em inglês AND, pode ser definida

como aquela em que a saída será um se, e somente se, todas as variáveis de entrada forem um.

Observe que as funções lógicas não se limitam a um número de entradas. Cada função lógica

pode ter infinitas entradas que correspondem as variáveis independentes, mas só possuem uma

saída, que demonstra do resultado lógico da função. Este tipo de função lógica pode ser

representada pelo símbolo mostrado na figura 3.3, sendo que este corresponde a uma função

lógica E de duas entradas. As funções lógicas também são chamadas de “portas” ou “Gates” (no

inglês), pois correspondem a circuitos lógicos que podem controlar ou deixar passar os sinais da

entrada para saída seguindo determinadas condições.

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

Tomando como exemplo uma porta lógica ou função lógica

vamos analisar como seu funcionamento é descrito através de um circuito discreto.

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

Procedendo como no exemplo da porta NOT, vamos considerar que as chaves são as

entradas do circuito e que a lâmpada seja a saída. Então, como é fácil de notar, precisamos ter as

chaves A e B fechadas, para que lâmpada seja ativada. Considerando o funcionamento do

circuito já podemos ver que a tabela da verdade será como abaixo.

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

Tabela 3.3. Comparação entre a função E (AND) e o circuito da figura 3.4.

Observamos que para uma porta E com duas entradas temos

possíveis para as entradas aplicadas. Para uma porta E de três entradas temos oito combinações

possíveis para o sinal de entrada. Para uma porta de quatro entradas, teremos dezesseis e assim

por diante, fazendo com que o número de combin

XD102 – Eletr

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

Tomando como exemplo uma porta lógica ou função lógica E de duas

vamos analisar como seu funcionamento é descrito através de um circuito discreto.

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

Procedendo como no exemplo da porta NOT, vamos considerar que as chaves são as

to e que a lâmpada seja a saída. Então, como é fácil de notar, precisamos ter as

chaves A e B fechadas, para que lâmpada seja ativada. Considerando o funcionamento do

circuito já podemos ver que a tabela da verdade será como abaixo.

A B Desligado Desligado Desligado Ligado Ligado Desligado Ligado Ligado

Tabela 3.3. Comparação entre a função E (AND) e o circuito da figura 3.4.

Observamos que para uma porta E com duas entradas temos

possíveis para as entradas aplicadas. Para uma porta E de três entradas temos oito combinações

possíveis para o sinal de entrada. Para uma porta de quatro entradas, teremos dezesseis e assim

por diante, fazendo com que o número de combinações cresça de forma exponencial.

30 letrônica Digital e CPLD

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

de duas entradas (A e B),

vamos analisar como seu funcionamento é descrito através de um circuito discreto.

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

Procedendo como no exemplo da porta NOT, vamos considerar que as chaves são as

to e que a lâmpada seja a saída. Então, como é fácil de notar, precisamos ter as

chaves A e B fechadas, para que lâmpada seja ativada. Considerando o funcionamento do

S Desligado Apagada

Apagada Desligado Apagada

Acesa Tabela 3.3. Comparação entre a função E (AND) e o circuito da figura 3.4.

Observamos que para uma porta E com duas entradas temos quatro combinações

possíveis para as entradas aplicadas. Para uma porta E de três entradas temos oito combinações

possíveis para o sinal de entrada. Para uma porta de quatro entradas, teremos dezesseis e assim

ações cresça de forma exponencial.

Conforme o funcionamento deste circuito, independente de quantas entradas uma porta

E tem, verifica que a lâmpada só irá acender caso todas as chaves estejam fechadas, ou seja, se

todas as entradas estiverem em nível lógi

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

A função lógica OU (OR do inglês) se define como aquela cuja saída estará com nível

lógico alto ou um, se alguma das suas entradas também estiver com nível lógico alto. Podemos

representa uma função lógica OU

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

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

seguinte circuito discreto.

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

Através da análise do circuito da figura 3.6, vemos que a saída estará no nível um

(lâmpada acessa) se uma das entradas, A, B ou C estiverem no nível um, ou seja, fechada.

Quando uma chave estiver fechada a lâmpada receberá corrente conforme desejarmos.

XD102 – Eletr

Conforme o funcionamento deste circuito, independente de quantas entradas uma porta

E tem, verifica que a lâmpada só irá acender caso todas as chaves estejam fechadas, ou seja, se

todas as entradas estiverem em nível lógico alto ou um.

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

A função lógica OU (OR do inglês) se define como aquela cuja saída estará com nível

lógico alto ou um, se alguma das suas entradas também estiver com nível lógico alto. Podemos

representa uma função lógica OU através da seguinte simbologia.

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

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

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

Através da análise do circuito da figura 3.6, vemos que a saída estará no nível um

(lâmpada acessa) se uma das entradas, A, B ou C estiverem no nível um, ou seja, fechada.

Quando uma chave estiver fechada a lâmpada receberá corrente conforme desejarmos.

31 letrônica Digital e CPLD

Conforme o funcionamento deste circuito, independente de quantas entradas uma porta

E tem, verifica que a lâmpada só irá acender caso todas as chaves estejam fechadas, ou seja, se

A função lógica OU (OR do inglês) se define como aquela cuja saída estará com nível

lógico alto ou um, se alguma das suas entradas também estiver com nível lógico alto. Podemos

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

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

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

Através da análise do circuito da figura 3.6, vemos que a saída estará no nível um

(lâmpada acessa) se uma das entradas, A, B ou C estiverem no nível um, ou seja, fechada.

Quando uma chave estiver fechada a lâmpada receberá corrente conforme desejarmos. Para mais

de duas variáveis podemos ter circuitos lógicos com mais de duas entradas. Para o caso de uma

porta OU de três entradas teremos a seguinte tabela verdade ou “Truth Table”.

A B C S0 0 0 00 0 1 10 1 0 10 1 1 11 0 0 11 0 1 11 1 0 11 1 1 1

Tabela 3.4. Comparação entre a função OU (OR) e o circuito da figura 3.6.

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

As três funções lógicas vistas até agora E, OU e NÃO são à base de toda a álgebra

booleana e todas as demais funções lógicas pode

exemplo, uma função lógica importante que vem da combinação de algumas portas lógicas

básicas é a porta NÃO-E ou NAND. Esta função é obtida pela associação da função E com a

NÃO, ou seja, a saída invertida de um

abaixo:

Figura 3.7. Representação simbólica da porta lógica NÃO

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

de um pequeno círculo na saída da porta p

NÃO-E, a saída estará em nível zero se

saída inversa da função E. A duas tabelas verdades para uma porta NÃO

circuito com o mesmo propósito de três entradas é a seguinte:

XD102 – Eletr

de duas variáveis podemos ter circuitos lógicos com mais de duas entradas. Para o caso de uma

porta OU de três entradas teremos a seguinte tabela verdade ou “Truth Table”.

S

A B C0 Desligado Desligado Desligado1 Desligado Desligado Ligado1 Desligado Ligado Desligado1 Desligado Ligado Ligado1 Ligado Desligado Desligado1 Ligado Desligado Ligado1 Ligado Ligado Desligado1 Ligado Ligado Ligado

Tabela 3.4. Comparação entre a função OU (OR) e o circuito da figura 3.6.

E (NAND)

As três funções lógicas vistas até agora E, OU e NÃO são à base de toda a álgebra

booleana e todas as demais funções lógicas podem ser consideradas como derivadas delas. Por

exemplo, uma função lógica importante que vem da combinação de algumas portas lógicas

E ou NAND. Esta função é obtida pela associação da função E com a

NÃO, ou seja, a saída invertida de uma função E. Sua representação é feita a partir do símbolo

Figura 3.7. Representação simbólica da porta lógica NÃO

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

de um pequeno círculo na saída da porta para indicar a negação. Podemos dizer que na função

E, a saída estará em nível zero se todas as entradas estiverem em nível um, pois será a

saída inversa da função E. A duas tabelas verdades para uma porta NÃO-E ou NAND e para um

opósito de três entradas é a seguinte:

32 letrônica Digital e CPLD

de duas variáveis podemos ter circuitos lógicos com mais de duas entradas. Para o caso de uma

porta OU de três entradas teremos a seguinte tabela verdade ou “Truth Table”.

C S Desligado Apagada Ligado Acesa Desligado Acesa Ligado Acesa Desligado Acesa Ligado Acesa Desligado Acesa Ligado Acesa

Tabela 3.4. Comparação entre a função OU (OR) e o circuito da figura 3.6.

As três funções lógicas vistas até agora E, OU e NÃO são à base de toda a álgebra

m ser consideradas como derivadas delas. Por

exemplo, uma função lógica importante que vem da combinação de algumas portas lógicas

E ou NAND. Esta função é obtida pela associação da função E com a

a função E. Sua representação é feita a partir do símbolo

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

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

ara indicar a negação. Podemos dizer que na função

as entradas estiverem em nível um, pois será a

E ou NAND e para um

Figura 3.8. Circuito exemplificando a função lógica NÃO

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

Tabela 3.5. Comparação entre a função NÃO

Observe que a lâmpada só apagará (saída zero ou LO) quando as três chaves estiverem

fechadas (nível lógico um ou HI), colocando em curto a fonte de alimentação. O resistor é usado

para limitar a corrente da fonte, já

fazendo com que a corrente tendesse ao infinito segundo a lei de ohm, causando problemas na

fonte. Também neste caso podemos ter a função NAND com mais de três entradas, até mesmo

só com duas.

É importante ressaltar que através da associação desta porta lógica, é possível obter todas

as outras funções lógicas descritas aqui neste item.

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

Semelhante a função lógica NAND, esta função lógica representa a inversão da porta

OU. Esta inversão e feita da associação da função OU com a função NÃO. Sendo seu símbolo

apresentado abaixo juntamente com sua respectiva tabela verdade para uma porta de duas

entradas.

XD102 – Eletr

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

A B C Desligado Desligado Desligado Desligado Desligado Ligado Desligado Ligado Desligado Desligado Ligado Ligado Ligado Desligado Desligado Ligado Desligado Ligado Ligado Ligado Desligado Ligado Ligado Ligado

Tabela 3.5. Comparação entre a função NÃO-E (NAND) e o circuito da figura 3.8.

Observe que a lâmpada só apagará (saída zero ou LO) quando as três chaves estiverem

fechadas (nível lógico um ou HI), colocando em curto a fonte de alimentação. O resistor é usado

para limitar a corrente da fonte, já que se não tivesse este resistor a resistência tenderia a zero

fazendo com que a corrente tendesse ao infinito segundo a lei de ohm, causando problemas na

fonte. Também neste caso podemos ter a função NAND com mais de três entradas, até mesmo

É importante ressaltar que através da associação desta porta lógica, é possível obter todas

as outras funções lógicas descritas aqui neste item.

OU (NOR)

Semelhante a função lógica NAND, esta função lógica representa a inversão da porta

OU. Esta inversão e feita da associação da função OU com a função NÃO. Sendo seu símbolo

apresentado abaixo juntamente com sua respectiva tabela verdade para uma porta de duas

33 letrônica Digital e CPLD

E (NAND).

S Desligado Ligado Ligado Ligado Desligado Ligado Ligado Ligado Desligado Ligado Ligado Ligado Desligado Ligado Ligado Desligado

E (NAND) e o circuito da figura 3.8.

Observe que a lâmpada só apagará (saída zero ou LO) quando as três chaves estiverem

fechadas (nível lógico um ou HI), colocando em curto a fonte de alimentação. O resistor é usado

que se não tivesse este resistor a resistência tenderia a zero

fazendo com que a corrente tendesse ao infinito segundo a lei de ohm, causando problemas na

fonte. Também neste caso podemos ter a função NAND com mais de três entradas, até mesmo

É importante ressaltar que através da associação desta porta lógica, é possível obter todas

Semelhante a função lógica NAND, esta função lógica representa a inversão da porta

OU. Esta inversão e feita da associação da função OU com a função NÃO. Sendo seu símbolo

apresentado abaixo juntamente com sua respectiva tabela verdade para uma porta de duas

Figura 3.9.

Tabela 3.6. Tabela verdade da

O funcionamento desta porta lógica corresponde ao seguinte: se a saída tiver nível lógico

um, significa que na sua entrada, teremos somente nível lógico zer

outros valores de entrada, a saída sempre será um, fazendo com que a afirmação de que esta

porta é o inverso da porta OU seja verdadeira. Abaixo poderemos verificar como o circuito

discreto equivalente abaixo corresponde exatamente

Figura 3.10.

Podemos analisar o funcionamento deste circuito através das posições de suas chaves,

pois se a chave A ou B estiver na posição fechada (nível lógico 1) ou a

o circuito fica curto-circuitado e faz com que a lâmpada fique desligada. Agora, caso as duas

fiquem em nível lógico baixo (posição aberta) a corrente passa a circular pela lâmpada

acendendo-a.

XD102 – Eletr

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

A B S

0 0 1

0 1 0

1 0 0

1 1 0

Tabela 3.6. Tabela verdade da NÃO-OU (NOR) e o circuito da figura 3.9.

O funcionamento desta porta lógica corresponde ao seguinte: se a saída tiver nível lógico

um, significa que na sua entrada, teremos somente nível lógico zero. Agora, para quaisquer

outros valores de entrada, a saída sempre será um, fazendo com que a afirmação de que esta

porta é o inverso da porta OU seja verdadeira. Abaixo poderemos verificar como o circuito

discreto equivalente abaixo corresponde exatamente ao funcionamento da porta lógica.

Figura 3.10. Circuito exemplificando a função lógica NÃO

Podemos analisar o funcionamento deste circuito através das posições de suas chaves,

pois se a chave A ou B estiver na posição fechada (nível lógico 1) ou as duas estiverem fechadas,

circuitado e faz com que a lâmpada fique desligada. Agora, caso as duas

fiquem em nível lógico baixo (posição aberta) a corrente passa a circular pela lâmpada

34 letrônica Digital e CPLD

NÃO-OU.

OU (NOR) e o circuito da figura 3.9.

O funcionamento desta porta lógica corresponde ao seguinte: se a saída tiver nível lógico

o. Agora, para quaisquer

outros valores de entrada, a saída sempre será um, fazendo com que a afirmação de que esta

porta é o inverso da porta OU seja verdadeira. Abaixo poderemos verificar como o circuito

ao funcionamento da porta lógica.

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

Podemos analisar o funcionamento deste circuito através das posições de suas chaves,

s duas estiverem fechadas,

circuitado e faz com que a lâmpada fique desligada. Agora, caso as duas

fiquem em nível lógico baixo (posição aberta) a corrente passa a circular pela lâmpada

3.3.6. Função OU- EXCLUSIVO (XOR)

Uma função com relevada importância para o funcionamento dos circuitos lógicos

digitais e, mais especificamente, para os computadores é a denominada “OU

Esta função tem a capacidade de promover a soma entre valores binários ou ainda encontrar o

que se denomina “paridade” (o que será visto futuramente). Abaixo poderemos ver qual é o

símbolo que representa esta função lógica.

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

Seu funcionamento pode ser definido da seguinte forma: a saída

variáveis de entrada forem diferentes. Com isso temos que, para uma porta OU

duas entradas, quando a entrada

Tabela 3.7. Tabela v

Esta função lógica, como dita acima, também é derivada das funções lógicas básicas,

sendo possível montá-la usando portas conhecidas. Assim, mesmo que esta função tenha seu

próprio símbolo e possa ser considerado u

implementá-la com um circuito equivalente como o ilustrado abaixo.

XD102 – Eletr

EXCLUSIVO (XOR)

ma função com relevada importância para o funcionamento dos circuitos lógicos

digitais e, mais especificamente, para os computadores é a denominada “OU

Esta função tem a capacidade de promover a soma entre valores binários ou ainda encontrar o

que se denomina “paridade” (o que será visto futuramente). Abaixo poderemos ver qual é o

símbolo que representa esta função lógica.

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

Seu funcionamento pode ser definido da seguinte forma: a saída

variáveis de entrada forem diferentes. Com isso temos que, para uma porta OU

duas entradas, quando a entrada A assumir um a entrada B deverá ser zero ou vice

A B S

0 0 0

0 1 1

1 0 1

1 1 0

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

Esta função lógica, como dita acima, também é derivada das funções lógicas básicas,

la usando portas conhecidas. Assim, mesmo que esta função tenha seu

próprio símbolo e possa ser considerado um “bloco” independente nos projetos, podemos sempre

la com um circuito equivalente como o ilustrado abaixo.

35 letrônica Digital e CPLD

ma função com relevada importância para o funcionamento dos circuitos lógicos

digitais e, mais especificamente, para os computadores é a denominada “OU–EXCLUSIVO”.

Esta função tem a capacidade de promover a soma entre valores binários ou ainda encontrar o

que se denomina “paridade” (o que será visto futuramente). Abaixo poderemos ver qual é o

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

Seu funcionamento pode ser definido da seguinte forma: a saída será um somente se as

variáveis de entrada forem diferentes. Com isso temos que, para uma porta OU-EXCLUSIVO de

deverá ser zero ou vice-versa.

erdade da função XOR para duas entradas.

Esta função lógica, como dita acima, também é derivada das funções lógicas básicas,

la usando portas conhecidas. Assim, mesmo que esta função tenha seu

m “bloco” independente nos projetos, podemos sempre

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

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

Esta função lógica é como o inverso da função OU

inglês é exclusive XNOR sendo representada pela simbologia abaixo. Observe o círculo na ponta

do símbolo que indica a inversão da função anterior (XOR), entretanto essa terminologia não é

muito bem empregada nesta situação. Esta função pode ser definida como a apresentação de uma

saída igual a um se somente as variáveis de entrada forem iguais.

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

A representação matemática desta

verdade para esta função é dada adiante, e ainda igual a porta OU

implementar esta função utilizando portas lógicas básicas como abaixo.

Tabela 3.8. Tabela Verdade da função XNOR usando portas lógicas simples.

XD102 – Eletr

.

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

EXCLUSIVO ou coincidência

o lógica é como o inverso da função OU-EXCLUSIVO. Sua denominação em

inglês é exclusive XNOR sendo representada pela simbologia abaixo. Observe o círculo na ponta

do símbolo que indica a inversão da função anterior (XOR), entretanto essa terminologia não é

muito bem empregada nesta situação. Esta função pode ser definida como a apresentação de uma

saída igual a um se somente as variáveis de entrada forem iguais.

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

A representação matemática desta função lógica é dada pelo símbolo

verdade para esta função é dada adiante, e ainda igual a porta OU-EXCLUSIVO, podemos

implementar esta função utilizando portas lógicas básicas como abaixo.

A B S

0 0 1

0 1 0

1 0 0

1 1 1

la Verdade da função XNOR usando portas lógicas simples.

36 letrônica Digital e CPLD

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

EXCLUSIVO. Sua denominação em

inglês é exclusive XNOR sendo representada pela simbologia abaixo. Observe o círculo na ponta

do símbolo que indica a inversão da função anterior (XOR), entretanto essa terminologia não é

muito bem empregada nesta situação. Esta função pode ser definida como a apresentação de uma

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

função lógica é dada pelo símbolo . Uma tabela

EXCLUSIVO, podemos

la Verdade da função XNOR usando portas lógicas simples.

Figura 3.14. Representação de uma porta XNOR usando portas lógicas simples

3.4. Propriedades das operações lógicas

Os circuitos lógicos fazem operações utilizando os valores binários aplicados às

entradas. Assim, podemos representar estas operações por uma simbologia apropriada,

facilitando o projeto dos circuitos e permitindo visualizar melhor o que ocorre quando

associamos muitas funções. No entanto, para que possamos unir várias portas dife

com que sua função básica em conjunto com outras possam desempenhar operações mais

complexas, é preciso saber as propriedades que as operações podem realizar.

Da mesma forma que acontece com os números decimais, as operações lógicas boolea

baseiam-se numa série de regras, postulados e teoremas conforme já tínhamos visto antes no

inicio do capitulo. Os principais para o nosso curso são vistos aqui e sua validação não são

necessárias no momento, contanto que você acredite que as afirmações

aluno queira se aprofundar no assunto, recomendamos alguma literatura relacionada a Boole.

3.4.1. Representações

As operações lógicas E, OU e NÃO são representadas matematicamente por símbolos

usados no equacionamento decimal, contu

possuem significados diferentes como se pode ver a seguir.

a) Operação E: A operação E tem como símbolo o ponto final(.). Então para representar

matematicamente a função E com duas entradas A e B com saída igua

fazer sua representação com: S = A . B;

b) Operação OU: A operação OU é representada matematicamente o s

representação da operação de uma porta OU com entradas A e B e saída S pode ser

representada como: A + B = S;

XD102 – Eletr

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

3.4. Propriedades das operações lógicas

Os circuitos lógicos fazem operações utilizando os valores binários aplicados às

entradas. Assim, podemos representar estas operações por uma simbologia apropriada,

facilitando o projeto dos circuitos e permitindo visualizar melhor o que ocorre quando

associamos muitas funções. No entanto, para que possamos unir várias portas dife

com que sua função básica em conjunto com outras possam desempenhar operações mais

complexas, é preciso saber as propriedades que as operações podem realizar.

Da mesma forma que acontece com os números decimais, as operações lógicas boolea

se numa série de regras, postulados e teoremas conforme já tínhamos visto antes no

inicio do capitulo. Os principais para o nosso curso são vistos aqui e sua validação não são

necessárias no momento, contanto que você acredite que as afirmações

aluno queira se aprofundar no assunto, recomendamos alguma literatura relacionada a Boole.

As operações lógicas E, OU e NÃO são representadas matematicamente por símbolos

usados no equacionamento decimal, contudo, apesar dos símbolos serem semelhantes, eles

possuem significados diferentes como se pode ver a seguir.

A operação E tem como símbolo o ponto final(.). Então para representar

matematicamente a função E com duas entradas A e B com saída igua

fazer sua representação com: S = A . B;

A operação OU é representada matematicamente o s

representação da operação de uma porta OU com entradas A e B e saída S pode ser

representada como: A + B = S;

37 letrônica Digital e CPLD

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

Os circuitos lógicos fazem operações utilizando os valores binários aplicados às suas

entradas. Assim, podemos representar estas operações por uma simbologia apropriada,

facilitando o projeto dos circuitos e permitindo visualizar melhor o que ocorre quando

associamos muitas funções. No entanto, para que possamos unir várias portas diferentes, fazendo

com que sua função básica em conjunto com outras possam desempenhar operações mais

complexas, é preciso saber as propriedades que as operações podem realizar.

Da mesma forma que acontece com os números decimais, as operações lógicas booleanas

se numa série de regras, postulados e teoremas conforme já tínhamos visto antes no

inicio do capitulo. Os principais para o nosso curso são vistos aqui e sua validação não são

necessárias no momento, contanto que você acredite que as afirmações são corretas. Caso o

aluno queira se aprofundar no assunto, recomendamos alguma literatura relacionada a Boole.

As operações lógicas E, OU e NÃO são representadas matematicamente por símbolos

do, apesar dos símbolos serem semelhantes, eles

A operação E tem como símbolo o ponto final(.). Então para representar

matematicamente a função E com duas entradas A e B com saída igual a S, podemos

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

representação da operação de uma porta OU com entradas A e B e saída S pode ser

38 XD102 – Eletrônica Digital e CPLD

c) Operação NÃO: Esta operação é indicada por uma barra da seguinte forma: A = S ou S

= A’ (A barra igual a S ou S igual a A barrado).

d) Operação XOR: Esta operação é indicada por um símbolo que tem funções diferentes na

álgebra booleana, o símbolo ⊕ , sua representação é dada por BAS ⊕= .

e) Operação XNOR: Esta operação é indicada por um símbolo que tem funções diferentes

na álgebra booleana, o símbolo , sua representação é dada por S=A B.

Tendo em mente estas representações, podemos enumerar as seguintes propriedades das

operações lógicas:

a) Elemento Neutro: É aquele que, quando participa de uma operação com uma variável,

leva a um resultado igual a própria variável. No caso da operação E o elemento neutro é

“1”, isto é, A.1 = A. Já para a operação OU o elemento neutro é “0”, ou seja A+0 = A

b) Elemento Nulo: É aquele que quando participa de uma operação com uma variável, leva

sempre a um mesmo valor, independente de qual seja o valor da variável. Na operação E

o elemento nulo é “0”, portanto A.0 = 0. Já para a operação OU o elemento nulo é “1”,

assim A+1 = 1

c) Elemento Complementar: O resultado da operação de uma variável com seu

complemento (seu valor negado) é o elemento nulo da operação. Assim sendo, 1=+ AA

e 0=• AA

d) Propriedade comutativa das operações E e OU:

A . B = B . A

A + B = B + A

e) Propriedade associativa das operações E e OU:

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

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

39 XD102 – Eletrônica Digital e CPLD

f) Teorema da Involução: (A negação da negação é a afirmação) A = A ou A’’= A

g) A operação E é distributiva em relação à operação OU: A.(B+C) = A.B + A.C

h) Teoremas de “De Morgan”: Aplicando a operação NÃO a uma operação E, a resultante

desta consistirá num resultado idêntico ao uma operação OU aplicada aos complementos

da variável de entrada. Ou seja:

BABA +=•

O mesmo teorema pode ser aplicado a operação NÃO a uma operação OU o resultado é

igual ao da operação E aplicada aos complementos das variáveis de entrada. Temos:

BABA •=+

3.4.2. Exemplos de simplificação das equações lógic as

• Exemplo 1: S = A'.B'+A'.B

A'.(B'+B) * Colocando A' em evidência

A' * Identidade: A+A' = 1

• Exemplo 2: S = A.B.C+A.C'+A.B'

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

A.(B.C+(B.C)') * Pelo teorema de Morgan

A * Identidade: A+A' = 1

• Exemplo 3: S = (A+B'+C)'.(A+B+C)

A'.B.C'.(A+B+C ) * Pelo teorema de Morgan

A.A'.B.C'+A'.B.B.C'+A'.B.C.C' * Propriedade Distributiva

0+A'.B.B.C'+0 * Identidade: A.A' = 0

A'.B.B.C' * Identidade: A+0 = A

40 XD102 – Eletrônica Digital e CPLD

A'.B.C' * Identidade: A.A = A

• Exemplo 4 : S = ((A.C)'+B+D)'+C.(A'+C'+D')

(A.C).B'.D'+C.(A'+C'+D') * Pelo teorema de Morgan

(A.C).B'.D'+C.A'+C.C'+C.D' * Propriedade Distributiva

(A.C).B'.D'+C.A'+0+C.D' * Identidade: A.A' = 0

(A.C).B'.D'+C.A'+C.D' * Identidade: A + 0 = A

C.D'.(A.B'+1)+C.A' * Colocando C.D' em evidência

C.D'.(1)+C.A' * Identidade: A + 1 = 1

C.D'+C.A' * Identidade: A . 1 = A

C.(D'+A') * Colocando C em evidência

C.(A.D)' * Pelo teorema de Morgan

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

((A+B)'+C')+(D.(C+B))' * Pelo teorema de Morgan

((A+B)'+C')+(D'+(C+B)') * Pelo teorema de Morgan

(A+B)'+(C+B)'+C'+D' * Propriedade Associativa

(A+B)'+(C'.B')+C'+D' * Pelo teorema de Morgan

(A+B)'+C'.(B'+1)+D' * Colocando C' em evidência

(A+B)'+C'.(1)+D' * Identidade: A + 1 = 1

(A+B)'+C'+D' * Identidade: A . 1 = A

(A+B)'+(C.D)' * Pelo teorema de Morgan

• Exemplo 6: S = A'.B'.C'+A'.B.C+A'.B.C'+A.B'.C'+A.B.C'

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

41 XD102 – Eletrônica Digital e CPLD

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

C'.(A'.(1)+A.(1))+A'.B.C * Identidade: A + A' = 1

C'.(A'+A)+A'.B.C * Identidade: A . 1 = A

C'.(1)+A'.B.C * Identidade: A + A' = 1

A'.B.C+C' * Identidade: A . 1 = A

(A+B’+C')'+C' * Pelo teorema de Morgan

((A+B'+C').C)' * Pelo teorema de Morgan

(A.C+B'.C+C'.C)' * Propriedade Distributiva

(A.C+B'.C+0)' * Identidade: A . A' = 0

(A.C+B'.C )' * Identidade: A + 0 = A

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

C'+(A+B')' * Pelo teorema de Morgan

C'+A'.B * Pelo teorema de Morgan

3.4.3. Fazendo tudo com portas NÃO-E (NAND)

Como já comentado anteriormente, temos um tipo de porta que em associação entre elas,

podem gerar todas as outras portas devido as suas características. Esta propriedade torna essas

portas elementos universais nos projetos de circuitos digitais já que, na forma de circuitos

integrados, as funções NÃO-E são fáceis de obter e baratas. Com isso, vamos ver de que forma

podemos implementar algumas portas lógicas através da porta NÃO-E.

a) Inversora: Para obter uma inversora de uma porta NÃO-E basta unir suas entradas ou

colocar uma das entradas no nível lógico um.

Figura 3.15. Exemplos de portas inversoras com portas NÃO

Tabela 3.9. Tabela verdade de uma porta NÃO

b) Uma porta E (AND) é feita através da junção entre uma porta NÃO

uma inversora em cada entrada. Pois,

Figura 3.16. Exemplo de portas E com portas NÃO

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

de aplicá-la a uma porta NÃO

DeMorgan temos:

Figura 3.17. Exemplo de portas OU com portas NÃO

XD102 – Eletr

ou

ura 3.15. Exemplos de portas inversoras com portas NÃO

A B S A B(+5V) S

0 0 1 0 1 1

1 1 0 1 1 0

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

Uma porta E (AND) é feita através da junção entre uma porta NÃO

a em cada entrada. Pois, BABAS •=•= .

Figura 3.16. Exemplo de portas E com portas NÃO-E (NAND)

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

la a uma porta NÃO-E. Fica fácil deduzir, pois,

DeMorgan temos: BABAS +=+= .

Figura 3.17. Exemplo de portas OU com portas NÃO-E (NAND)

42 letrônica Digital e CPLD

ura 3.15. Exemplos de portas inversoras com portas NÃO-E.

E como inversora.

Uma porta E (AND) é feita através da junção entre uma porta NÃO-E (NAND) e

E (NAND)

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

BAS •= e aplicando

E (NAND)

43 XD102 – Eletrônica Digital e CPLD

3.5. Mapa de Karnaugh

3.5.1. Introdução

No item anterior vimos uma boa parte da álgebra de Boole, seus teoremas e propriedades

de forma simples. Agora vamos ver uma nova metodologia para que possamos fazer as mesmas

simplificações ou reduções das funções lógicas mais complexas. Esta nova metodologia foi criada

com o intuito de tornar simples o nosso trabalho na hora de construir os sistemas lógicos. Veitch

e Karnaugh foram dois estudiosos do século passado que tornaram possível a simplificações de

funções lógicas por simples observação visual da tabela verdade, quando esta está transcrita em

mapas criados para este procedimento.

3.5.2. Endereçamento de um mapa de Karnaugh

O mapa de Karnaugh tem no seu significado uma mudança na forma com que a tabela

verdade é apresentada. Este mapa é composto por um número de células igual ao número de

linhas da tabela verdade e, portanto, tem 2n células, onde n é o número de variáveis que

compõem a função. Então, antes de começarmos a analisar este tipo de mapa, temos que saber

como se transcreve uma tabela verdade para um mapa de Karnaugh e também como é este mapa,

isso é visto facilmente pelo jogo batalha naval. Como:

A B C D E F

1

2 *

3 * * * *

4 *

5 *

6 * *

Tabela 3.10. Tabela exemplo do jogo batalha naval.

Aqueles que conhecem batalha naval, provavelmente sabem que cada ponto assinalado

na ficha pertence a um elemento da esquadra inimiga, com isso, se quiser atingir um alvo temos

que utilizar os indicativos de linha e coluna para, exatamente, informar a localização do suposto

alvo. Para o mapa acima vemos que se tomarmos fileira vertical composta por quatro asteriscos

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

44 XD102 – Eletrônica Digital e CPLD

Por analogia, as fileiras compostas por três asteriscos e a fileira composta por dois

asteriscos na horizontal têm, respectivamente os seguintes endereços: C3, D3, E3 e E6 e F6.

Se entendermos esta forma de endereçamento pode-se verificar que num mapa de

Karnaugh o processo é muito parecido. Observe o exemplo de um Mapa K (Karnaugh) de quatro

variáveis:

AB 00 01 11 10 CD 00 J

01 F

11 H

10

Tabela 3.11. Tabela exemplo do mapa de karnaugh de quatro variáveis.

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

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

e, ainda, o endereço da célula J é: A = 1, B = 1, C = 0 e D = 0.

Observe a maneira particular que colocamos os valores em binário. Esta forma de

organização de utilização do sistema de numeração binária é chamada de código gray.

O código gray é um código digital com a propriedade que duas palavras-codigo

consecutivas diferem apenas de um bit. Ele se enquadra na classe dos códigos refletidos, devido

ao algoritmo de construção que ele utiliza.

Com isso vemos que este código não mostra o código binário na ordem que estamos

acostumados a usá-lo e esta é justamente a maneira particular que caracteriza o mapa de

Karnaugh.

Para exemplificarmos o endereçamento de um mapa K fica mais fácil e mais claro

iniciarmos com um mapa de quatro variáveis, mas didaticamente vamos estudar primeiro o

mapas de três variáveis para então chegarmos ao de quatro variáveis.

3.5.3. Mapa de Karnaugh de três variáveis

Podemos analisar também funções de três variáveis através dos mapas K, e para isso

basta usarmos dois mapas de duas variáveis associados convenientemente. Temos então duas

formas de associá-los que são completamente equivalentes:

45 XD102 – Eletrônica Digital e CPLD

AB 00 01

0

1

11 10C

AB C

00

01

11

10

0 1

Figura 3.18. Disposições do mapa de Karnaugh

Entretanto, antes de continuar nossa análise sobre estes mapas é necessário definir alguns

parâmetros. E eles são:

a) Adjacência: Vamos considerar duas células de um mapa de Karnaugh são adjacentes se as

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

Figura 3.19. Exemplo de adjacência

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

C = 1. Percebemos então que apenas A apresentou mudança em seu valor.

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

0 e C = 0. Percebemos então que A e C apresentaram mudanças em seus valores.

b) Enlace: Enlace é o agrupamento que fazemos no mapa K com o intuito de visualizarmos as

células adjacentes. Para cada agrupamento ou enlace, teremos uma expressão booleana

correspondente e estas nos darão o resultado do mapa em uma forma mais simplificada. Os

enlaces só podem ser feitos de forma que agrupem um número de células que seja igual a uma

potência de dois, ou seja, 1, 2, 4, 8, etc. Com isso, um mapa de Karnaugh de três variáveis na

sua forma horizontal pode ter apenas os seguintes enlaces:

46 XD102 – Eletrônica Digital e CPLD

Figura 3.20. Representação do enlace de uma célula

Figura 3.21. Representação dos enlaces de duas células

Figura 3.22. Representação dos enlaces de quatro células

Figura 3.23. Representação dos enlaces de oito células

Observando acima podemos entender que cada enlace define uma região onde as

variáveis de endereçamento apresentam uma propriedade em comum. Portanto para resolvermos

um mapa de Karnaugh devemos seguir os seguintes passos:

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

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

enlace);

3) Deduzirmos a expressão booleana para cada enlace e agruparmos essas expressões

através da função OU.

3.5.4. Mapa de Karnaugh de quatro variáveis

Utilizando o mesmo procedimento do mapa anterior, pode-se também analisar as funções

de quatro variáveis através dos mapas K, sendo que para tanto basta usarmos dois mapas de três

variáveis associados convenientemente.

47 XD102 – Eletrônica Digital e CPLD

ABC

D 00 01 11 10

00

01

11

10

Figura 3.24. Mapa de Karnaugh para quatro variáveis

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

continuam sendo as mesmas, já que estas regras valem para mapas com qualquer número de

células. Contudo, devemos fazer algumas considerações úteis para facilitar a simplificação do

mapa.

Primeiro, fazer os enlaces com maior número de células, pois se não proceder assim,

possivelmente faremos agrupamentos que poderiam ser substituídos por um maior. Em segundo

lugar, verificar se em cada enlace existe pelo menos uma célula que pertença a apenas um enlace,

pois corremos o risco de fazermos enlaces redundantes e dispensáveis.

Para uma melhor compreensão da forma com que deve ser feita a utilização do mapa,

começaremos citando um exemplo:

Figura 3.25. Exemplo sobre a formação do mapa de karnaugh de quatro elementos

Desejamos expressar esta tabela como a soma de produtos, o que significa que os valores

adjacentes que devemos procurar na tabela são os “uns”. É importante notar que caso

48 XD102 – Eletrônica Digital e CPLD

quiséssemos considerar os “zeros” da tabela, teríamos que expressar a tabela como o produto de

somas.

Voltando ao exemplo, nossa idéia é agrupar os termos adjacentes iguais, havendo para

isso diversas possibilidades, entretanto, devemos agrupar uma maior quantidade possível de itens

adjacentes, pois isso criará um enlace maior. Assim teremos equações mais simplificadas.

Na hora que for obter as equações do mapa, é necessário entender que os índices

deste mapa determinam à condição lógica de cada variável. Então, como a tabela acima foi

expressa através da soma de produtos, quando o índice for “zero”, a variável lógica

correspondente tem seu nível barrado, ou invertido. O mesmo raciocínio serve para quando o

índice for “um”, indicando que a variável não terá seu valor lógico alterado.

3.5. Conclusão

Os circuitos lógicos digitais podem parecer algo confuso e de difícil compreensão, pois

eles utilizam muito da matemática e isso, às vezes, pode parecer monótono e desestimulante.

Contudo, esta teoria básica é necessária para que você possa entender de forma clara o

funcionamento dos capítulos que se seguem. Isto ainda é o começo, mas o esforço será

recompensador a partir do momento que o aluno começar a enxergar estes conceitos em todos os

equipamentos que utilizam algum tipo de circuito lógico. Afinal, estes princípios estão presentes

em tudo que um computador faz.

Nos capítulos que se seguem, estes conceitos já serão abordados de forma mais concreta e

nas lições práticas será mais fácil entendê-los. Nas próximas lições, o que foi estudado até agora

ficará mais claro quando encontrarmos sua aplicação prática.

49 XD102 – Eletrônica Digital e CPLD

4. Família de circuitos lógicos digitais

Até 1955, os componentes eletrônicos disponíveis para construir sistemas digitais eram os

diodos semicondutores e as válvulas a vácuo. Os diodos são relativamente pequenos, com

dimensões da ordem de milímetros, e consomem relativamente pouca potência. As válvulas, por

outro lado, são grandes, tendo dimensões da ordem de vários centímetros e consomem

quantidades relativamente grandes de potência, tipicamente da ordem de alguns watts. Embora

em sua maioria as portas pudessem ser construídas com diodos e resistores, também era

necessário usar válvulas em grandes quantidades. Como resultado, qualquer sistema digital era

grande, caro, e usava muita potência. A situação melhorou consideravelmente com a invenção

do transistor nos anos 50. Um transistor, normalmente substituindo uma válvula, consome muito

menos potência (da ordem de dezenas de mW) e, como o diodo semicondutor, quando

encapsulado individualmente, tem dimensões da ordem de alguns milímetros.

Portanto, com a evolução da tecnologia e a invenção do transistor, procurou-se

padronizar os sinais elétricos correspondentes aos níveis lógicos. Esta padronização favoreceu o

surgimento das famílias de componentes digitais com características bastante distintas.

Os circuitos eletrônicos modernos não usam chaves e lâmpadas para representar níveis

lógicos na prática, mas sim, dispositivos muito rápidos que podem estabelecer os níveis lógicos

nas entradas das funções com velocidades incríveis e isso lhes permite realizar milhões de

operações muito complexas a cada segundo. Aqui veremos que tipos de circuitos são usados e

como são encontrados na prática, fazendo com que o seu uso em conjunto possa criar um

circuito muito mais complexo, como aqueles encontrados nos computadores atuais em blocos

básicos. Estes blocos, quando unidos, podem levar a elaboração de circuitos muito complexos

como os encontrados nos computadores de hoje.

As famílias lógicas diferem basicamente pelo componente principal utilizado por cada

uma em seus circuitos. Existem inúmeras famílias que possuem características únicas, podemos

citar como algumas famílias existentes:

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

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

• DCTL - Lógica transistor acoplamento direto;

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

• ECL - Lógica emissor-acoplado;

50 XD102 – Eletrônica Digital e CPLD

• MOS - Metal Oxide Semiconductor:

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

• NMOS - Lógica MOSFETs de canal-n

• CMOS - Lógica MOSFETs Complementares;

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

Família RTL, TTL (Transistor-Transistor Logic) e CMOS. A família RTL só por uma questão

didática, pois já é uma família obsoleta e as outras duas por serem as mais utilizadas atualmente.

No restante deste capítulo iremos analisar os parâmetros típicos de cada família, verificar

como é o funcionamento destas famílias e verificar se é possível promover a interconexão entre

elas.

4.1. Família RTL (Resistor-Transistor Logic) e DTL (Diode-transistor Logic)

4.1.1. O transistor como chave eletrônica

O transistor opera em três modos diferentes. O primeiro é o funcionamento de corte, que

consiste na transformação elétrica do transistor numa chave aberta, impedindo a circulação de

corrente através de si. O segundo consiste no funcionamento do transistor como amplificador,

que consiste na amplificação de um sinal injetado na entrada. O terceiro é o modo do transistor

no estado de saturação, onde o transistor funciona eletricamente como uma chave fechada,

fazendo com que circule corrente por ele. Se considerarmos somente a primeira e a terceira forma

de funcionamento, verificamos que o transistor pode facilmente substituir uma chave, tornando

possível a representação de um circuito lógico simples. Assim, na simulação dos circuitos que

estudamos e em que usamos chaves, é possível utilizar transistores com uma série de vantagens.

Uma vantagem importante é que o transistor poderá operar com a tensão ou nível lógico

produzido por uma outra função e não necessariamente por uma pessoa que acione uma chave.

Assim, as funções lógicas implementadas com transistores têm a vantagem de poderem ser

interligadas umas nas outras, pois o sinal que aparece na saída de cada uma pode ser usado como

entrada para outra. Abaixo podemos ver um exemplo simples da utilização de um transistor para

obter uma porta inversora.

Figura 4.1. Representação de uma inversora na família RTL

Aplicando o nível um (5V) na base do transistor ele conduz até o ponto de saturar,

fazendo a tensão no seu coletor cair a zero. Por outro lado, na ausência de tensão na sua base,

que corresponde ao nível zero de entrada, o transistor se mantém cortado e a tensão no seu

coletor se mantém alta, o que corresponde ao nível um. Tomando este entendimento como base,

podemos conseguir outras portas lógicas simples através da combinação de transist

resistores.

Figura 4.2. Representação de uma porta NÃO

XD102 – Eletr

Figura 4.1. Representação de uma inversora na família RTL

Aplicando o nível um (5V) na base do transistor ele conduz até o ponto de saturar,

fazendo a tensão no seu coletor cair a zero. Por outro lado, na ausência de tensão na sua base,

esponde ao nível zero de entrada, o transistor se mantém cortado e a tensão no seu

coletor se mantém alta, o que corresponde ao nível um. Tomando este entendimento como base,

podemos conseguir outras portas lógicas simples através da combinação de transist

Figura 4.2. Representação de uma porta NÃO-E na família RTL

51 letrônica Digital e CPLD

Figura 4.1. Representação de uma inversora na família RTL

Aplicando o nível um (5V) na base do transistor ele conduz até o ponto de saturar,

fazendo a tensão no seu coletor cair a zero. Por outro lado, na ausência de tensão na sua base,

esponde ao nível zero de entrada, o transistor se mantém cortado e a tensão no seu

coletor se mantém alta, o que corresponde ao nível um. Tomando este entendimento como base,

podemos conseguir outras portas lógicas simples através da combinação de transistores e

E na família RTL

Figura 4.3. Representação de uma porta NÃO

Isso significa que a elaboração de um circuito lógico digital capaz de realizar operações

complexas usando transistores é algo que pode ser conseguido com relativa facilidade.

4.1.2. Usando a família DTL

Uma família que pode ter bastante uso na prática e a DTL (lógica diodo

principal vantagem e a facilidade de construção em situações onde não se

circuito integrado. Por exemplo, caso seja preciso usar uma porta E de três entradas podemos

optar pelo seguinte circuito:

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

Onde a saída S será um se, somente se, todas as entradas forem u

construir uma porta OU, conforme apresentado a seguir:

XD102 – Eletr

Figura 4.3. Representação de uma porta NÃO-OU na família RTL

Isso significa que a elaboração de um circuito lógico digital capaz de realizar operações

ansistores é algo que pode ser conseguido com relativa facilidade.

4.1.2. Usando a família DTL

Uma família que pode ter bastante uso na prática e a DTL (lógica diodo

principal vantagem e a facilidade de construção em situações onde não se

circuito integrado. Por exemplo, caso seja preciso usar uma porta E de três entradas podemos

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

Onde a saída S será um se, somente se, todas as entradas forem u

construir uma porta OU, conforme apresentado a seguir:

52 letrônica Digital e CPLD

OU na família RTL

Isso significa que a elaboração de um circuito lógico digital capaz de realizar operações

ansistores é algo que pode ser conseguido com relativa facilidade.

Uma família que pode ter bastante uso na prática e a DTL (lógica diodo-transistor). Sua

principal vantagem e a facilidade de construção em situações onde não se justifica o uso de um

circuito integrado. Por exemplo, caso seja preciso usar uma porta E de três entradas podemos

Onde a saída S será um se, somente se, todas as entradas forem um. Também é possível

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

Utilizando estas simples portas com diodos e ainda uma inversora com transistor é

possível resolver facilmente alguns problemas de ló

optar por um circuito mais simples deixamos de lado vantagens como padronização, velocidade,

interconectividade, etc.

4.1.3. Melhorando o desempenho

Entretanto, utilizar estes circuitos transistorizados que

padrão pode trazer dificuldades na criação de sistemas lógicos mais complexos. Mesmo que

antes, durante o desenvolvimento da eletrônica digital, cada porta lógica fosse montada com seus

transistores e resistores para depois se

desconforto por vários motivos. Um desses motivos foi a alta complexidade que se tinha para

montar um circuito com várias funções lógicas. Outro motivo era a necessidade de ter um padrão

de funcionamento para cada circuito ou função. Isso era ideal para ter todos os circuitos

operando com a mesma tensão de alimentação, para que pudessem fornecer sinais que fossem

reconhecidos e que fosse sensível o suficiente para reconhecer os sinais dos outros circuitos

lógicos.

Para se solucionar este problema, foi desenvolvida a tecnologia dos circuitos integrados,

permitindo a colocação de diversos componentes já interligados dentro de um invólucro plástico,

permitindo o uso de várias funções lógicas simultâneas e em ma

possível diminuir o tamanho dos projetos, pois foi criada uma série de circuitos integrados que

continham numa única pastilha as funções lógicas digitais mais usadas.

XD102 – Eletr

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

Utilizando estas simples portas com diodos e ainda uma inversora com transistor é

possível resolver facilmente alguns problemas de lógica no circuito. Vale ressaltar, porem, que ao

optar por um circuito mais simples deixamos de lado vantagens como padronização, velocidade,

4.1.3. Melhorando o desempenho

Entretanto, utilizar estes circuitos transistorizados que corresponde a uma maneira não

padrão pode trazer dificuldades na criação de sistemas lógicos mais complexos. Mesmo que

antes, durante o desenvolvimento da eletrônica digital, cada porta lógica fosse montada com seus

transistores e resistores para depois ser interligada com as outras, isto foi causando um

desconforto por vários motivos. Um desses motivos foi a alta complexidade que se tinha para

montar um circuito com várias funções lógicas. Outro motivo era a necessidade de ter um padrão

ra cada circuito ou função. Isso era ideal para ter todos os circuitos

operando com a mesma tensão de alimentação, para que pudessem fornecer sinais que fossem

reconhecidos e que fosse sensível o suficiente para reconhecer os sinais dos outros circuitos

Para se solucionar este problema, foi desenvolvida a tecnologia dos circuitos integrados,

permitindo a colocação de diversos componentes já interligados dentro de um invólucro plástico,

permitindo o uso de várias funções lógicas simultâneas e em maior quantidade. Assim, foi

possível diminuir o tamanho dos projetos, pois foi criada uma série de circuitos integrados que

continham numa única pastilha as funções lógicas digitais mais usadas.

53 letrônica Digital e CPLD

Utilizando estas simples portas com diodos e ainda uma inversora com transistor é

gica no circuito. Vale ressaltar, porem, que ao

optar por um circuito mais simples deixamos de lado vantagens como padronização, velocidade,

corresponde a uma maneira não

padrão pode trazer dificuldades na criação de sistemas lógicos mais complexos. Mesmo que

antes, durante o desenvolvimento da eletrônica digital, cada porta lógica fosse montada com seus

r interligada com as outras, isto foi causando um

desconforto por vários motivos. Um desses motivos foi a alta complexidade que se tinha para

montar um circuito com várias funções lógicas. Outro motivo era a necessidade de ter um padrão

ra cada circuito ou função. Isso era ideal para ter todos os circuitos

operando com a mesma tensão de alimentação, para que pudessem fornecer sinais que fossem

reconhecidos e que fosse sensível o suficiente para reconhecer os sinais dos outros circuitos

Para se solucionar este problema, foi desenvolvida a tecnologia dos circuitos integrados,

permitindo a colocação de diversos componentes já interligados dentro de um invólucro plástico,

ior quantidade. Assim, foi

possível diminuir o tamanho dos projetos, pois foi criada uma série de circuitos integrados que

54 XD102 – Eletrônica Digital e CPLD

Com isso elas passaram a ocupar menos área física e foram feitas de tal maneira que

todas eram compatíveis entre si, operando com as mesmas tensões e reconheciam os mesmos

sinais.

Estas séries de circuitos integrados formaram então as Famílias Lógicas, a partir das quais

os projetistas tiveram facilidade em encontrar todos os blocos para montar seus equipamentos

digitais. Então conforme as figuras abaixo, cada CI (Circuito Integrado) continham uma

quantidade de portas lógicas de um mesmo tipo.

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

Assim, se fosse necessário montar um circuito que usasse três portas E, o projetista teria

disponíveis componentes compatíveis entre si contendo estas funções e de tal forma que

poderiam ser interligadas das maneiras desejadas e num espaço físico mínimo. O sucesso do

advento dessa tecnologia foi enorme, pois além do menor tamanho dos circuitos havia menor

consumo de energia.

Apesar de a família RTL ser uma precursora da tecnologia digital, hoje era não é mais

utilizada devido às limitações impostas por ela, que já foram citadas. Nas próximas páginas, nos

limitaremos a estudar as duas famílias em maior destaque hoje, a família TTL e a CMOS.

4.2. Família TTL

A família TTL foi primeiramente desenvolvida pela Texas Instruments, contudo, devido

a enorme utilidade desta família, muitos fabricantes de semicondutores também produzem seus

componentes. Esta família é facilmente reconhecida durante o seu uso nos projetos

55 XD102 – Eletrônica Digital e CPLD

principalmente pelo fato de ter duas séries que começam pelos números 54 para o uso militar e 74

para o uso comercial. Assim, a associação de qualquer componente que comece pelo número

“74” à família TTL fica evidente. A característica mais importante desta família está no fato de

que ela trabalha com uma tensão de alimentação de 5 V. Assim, para os componentes desta

família, o nível lógico zero é sempre a ausência de tensão ou 0 V, enquanto que o nível lógico um

é sempre uma tensão de +5 V. Para os níveis lógicos serem reconhecidos, eles devem estar dentro

de faixas bem definidas, pois na família TTL há uma faixa chamada faixa de ruído. Uma porta

TTL reconhecerá como nível zero as tensões que estiverem entre 0 e 0,8 V e como nível um as

que estiverem numa outra faixa, entre 2,4 e 5 V. Entre essas duas faixas existe uma região

indefinida que deve ser evitada.

Hoje no mercado existem centenas de circuitos integrados TTL disponíveis para a

elaboração de projetos eletrônicos. A maioria usa invólucros DIL de 14 e 16 pinos, conforme

visto na figura 4.4. As funções mais simples das portas estão disponíveis numa certa quantidade

em cada integrado. No entanto, à medida que novas tecnologias foram sendo desenvolvidas

permitindo a integração de uma grande quantidade de componentes, surgiu a possibilidade de

colocar num integrado não apenas umas poucas portas e funções adicionais que serão estudadas

futuramente como flip-flop’s, decodificadores e outros mas, também interligá-los de diversas

formas e utilizá-los em aplicações específicas. Com isso, fica fácil observar que os componentes

que compõem quase todos os equipamentos eletrônicos são compostos pelo conjunto de diversos

componentes lógicos. Para que isso fosse possível, diversas etapas no aumento da integração

foram obtidas e receberam nomes que hoje são comuns quando falamos de equipamentos digitais

e computadores em geral. Temos as seguintes classificações para os graus de integração dos

circuitos digitais:

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

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

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

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

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

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

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

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

56 XD102 – Eletrônica Digital e CPLD

Em circuitos eletrônicos, na maioria dos casos é possível melhorar a velocidade de

operação (isto é, fazer com que o circuito comute entre os níveis alto e baixo de forma mais

rápida) sacrificando a potência. Como maior potência não envolve somente maiores correntes

mais também maior consumo de energia e uma dissipação maior de calor, elas também afetam

diretamente as capacitâncias parasitas que existem nas junções dos semicondutores sendo

carregadas e descarregadas mais rapidamente.

Estas capacitâncias parasitas não são introduzidas deliberadamente no circuito, mas são

os resultados inevitáveis das dimensões e geometria do circuito. A disponibilidade de correntes

maiores torna possível ligar e desligar os transistores mais rapidamente. Quando usamos mais

potência com a finalidade de obter maior velocidade, sempre é bom avaliar se este aumento de

velocidade compensa o acréscimo de potência utilizada. Uma figura de mérito útil para se fazer

esta avaliação é o produto velocidade-potência, que é o produto do atraso de propagação pela

dissipação de potência de uma porta.

Quando transistores bipolares comuns funcionam em circuitos digitais e são ligados de

modo a conduzir corrente, a operação geralmente se dá na região conhecida como saturação,

como nós já vimos anteriormente. Em virtude da saturação o transistor leva um tempo

relativamente longo para ser desligado. Conseqüentemente, os circuitos digitais padrão usando

transistores comuns sofrem uma desvantagem em relação à velocidade. Com uma despesa

adicional pode-se, todavia, fabricar um tipo especial de transistor denominado Schottky, que não

satura, podendo, conseqüentemente, operar em velocidades mais altas.

Devido ao balanço possível entre velocidade e potência e devido à possibilidade de

fabricar transistores comuns do tipo Schottky, a família TTL existe em cinco séries distintas, que

são listadas, com suas características. A razão da popularidade da série LS toma-se aparente,

embora outras séries possam ser escolhidas caso haja restrições quanto à velocidade, à dissipação

possível ou ao custo.

Séries

Tipo de

transistor de

potência

Atraso de

propagação, ns

Dissipação de

potência, mW

Produto

velocidade-

potência, pJ

54LS /74LS Schottky, baixa

potência. 9.5 2 19

54L/74L Comum, baixa 33 1 33

57 XD102 – Eletrônica Digital e CPLD

potência.

54S/74S

Schottky,

potência

normal.

3 19 57

54/74

Comum,

potência

normal.

10 10 100

54H/74H Comum, alta

potência. 6 22 132

Tabela 4.1. Características típicas da família 54/74 SSI.

4.2.1. Algumas características da família TTL

• Correntes de entrada:

Quando uma entrada de uma função lógica TTL está no nível 0, para uma corrente da

base para o emissor do transistor multi-emissor presente dentro do CI TTL da ordem de 1,6 mA.

Esta corrente deve ser levada em conta no projeto, pois, ela deve ser suprida pelo circuito que

excitará a porta. Quando a entrada de uma porta lógica TTL está no nível alto, flui uma corrente

no sentido oposto da ordem de 40 μA. Esta corrente vai circular se tensão de entrada estiver com

um valor superior a 2,0 V. Estas correntes também são conhecidas pelas suas nomenclaturas

abaixo:

IIH (mínimo) – Corrente de entrada correspondente ao nível lógico alto. Valor da corrente

que circula na entrada de um circuito digital, quando um nível lógico alto é aplicado em tal

entrada. Note que os valores de IIL são negativos, pois se convencionou que a corrente que entra

na porta tem sinal positivo; Estando a entrada em 0, a corrente sai da porta, portanto o sinal “-“

denota o sentido contrário.

IIL (máximo) – Corrente de entrada correspondente ao nível lógico baixo. Valor da

corrente que circula na entrada de um circuito digital, quando um nível lógico baixo é aplicado

em tal entrada.

• Correntes de saída:

Quando temos a saída de um circuito TTL indo ao nível zero (ou baixo), flui uma

corrente da ordem de 16 mA. Isso mostra que uma saída TTL no nível zer

drenar de uma carga qualquer ligada a ela uma corrente máxima de 16 mA. Por outro lado,

quando a saída de uma função TTL está no nível 1 ou alto, ela pode fornecer uma corrente

máxima de 400 μA. Veja então que podemos obter uma capacidade muito maior de excitação de

saída de uma porta TTL quando ela é levada ao nível zero do que ao nível um. Isso justifica o

fato de que em muitas funções indicadoras, em que ligamos um LED na saída, fazemos com que

ele seja aceso quando a saída vai ao nível zero (e, portanto, a corrente é maior) e não ao nível

um.

Figura 4.7. Diferenças entre correntes de saída dos níveis lógic

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

IOH (mínimo) – Corrente de saída correspondente ao nível lógico alto

que circula na saída de um circuito digital, quando um nível lógico alto é gerado em tal circuito,

respeitadas as limitações para carregamento da saída.

IOL (máximo) – Corrente de saída correspondente ao nível lógico baixo

que circula na saída de um circuito digital, quando um nível lógico baixo é gerado em tal

circuito, respeitadas as limitações para carregamento da saída. Novamente deve ser observado

que o sentido positivo é o de saída, portanto I

valores negativos (corrente entra na porta).

XD102 – Eletr

Quando temos a saída de um circuito TTL indo ao nível zero (ou baixo), flui uma

corrente da ordem de 16 mA. Isso mostra que uma saída TTL no nível zer

drenar de uma carga qualquer ligada a ela uma corrente máxima de 16 mA. Por outro lado,

ma função TTL está no nível 1 ou alto, ela pode fornecer uma corrente

máxima de 400 μA. Veja então que podemos obter uma capacidade muito maior de excitação de

saída de uma porta TTL quando ela é levada ao nível zero do que ao nível um. Isso justifica o

to de que em muitas funções indicadoras, em que ligamos um LED na saída, fazemos com que

ele seja aceso quando a saída vai ao nível zero (e, portanto, a corrente é maior) e não ao nível

Figura 4.7. Diferenças entre correntes de saída dos níveis lógic

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

Corrente de saída correspondente ao nível lógico alto

que circula na saída de um circuito digital, quando um nível lógico alto é gerado em tal circuito,

respeitadas as limitações para carregamento da saída.

Corrente de saída correspondente ao nível lógico baixo

que circula na saída de um circuito digital, quando um nível lógico baixo é gerado em tal

as limitações para carregamento da saída. Novamente deve ser observado

que o sentido positivo é o de saída, portanto IOH é dado em valores positivos e IOL é dado em

valores negativos (corrente entra na porta).

58 letrônica Digital e CPLD

Quando temos a saída de um circuito TTL indo ao nível zero (ou baixo), flui uma

corrente da ordem de 16 mA. Isso mostra que uma saída TTL no nível zero ou nível baixo pode

drenar de uma carga qualquer ligada a ela uma corrente máxima de 16 mA. Por outro lado,

ma função TTL está no nível 1 ou alto, ela pode fornecer uma corrente

máxima de 400 μA. Veja então que podemos obter uma capacidade muito maior de excitação de

saída de uma porta TTL quando ela é levada ao nível zero do que ao nível um. Isso justifica o

to de que em muitas funções indicadoras, em que ligamos um LED na saída, fazemos com que

ele seja aceso quando a saída vai ao nível zero (e, portanto, a corrente é maior) e não ao nível

Figura 4.7. Diferenças entre correntes de saída dos níveis lógicos.

Corrente de saída correspondente ao nível lógico alto. Valor da corrente

que circula na saída de um circuito digital, quando um nível lógico alto é gerado em tal circuito,

Corrente de saída correspondente ao nível lógico baixo. Valor da corrente

que circula na saída de um circuito digital, quando um nível lógico baixo é gerado em tal

as limitações para carregamento da saída. Novamente deve ser observado

é dado em valores positivos e IOL é dado em

59 XD102 – Eletrônica Digital e CPLD

• Capacidade de Saída (Fan-Out)

A fonte de um sinal digital aplicado à entrada de uma porta deve ser capaz de estabelecer

naquela entrada uma tensão correspondente a um ou outro nível lógico (zero ou um). Em

qualquer um dos níveis a fonte deve satisfazer os requisitos de corrente da porta acionada, ou

seja, fornecer o nível mínimo de corrente e tensão. Como a saída de uma porta lógica é usada

como fonte para a entrada de outra porta, é necessário conhecer a capacidade de acionamento de

uma porta, isto é, precisamos saber quantas entradas de portas a serem acionadas podemos ligar

à saída de uma porta acionadora. Este parâmetro é fornecido nos manuais dos componentes,

geralmente com o nome de FAN-OUT. No caso TTL, desde que cada porta acione portas da

mesma série, a capacidade de saída é de dez para portas das séries 74 ou 54 padrão e de alta

potência e para as séries de baixa potência o limite é de vinte. Quando uma porta lógica aciona

portas de outras séries, é necessário verificar a literatura do fabricante para determinar a

necessidade de corrente de entrada, a disponibilidade de corrente de saída e ter certeza de que

não há carga excessiva para a saída de uma porta. Este fato será abordado com mais detalhes

adiante.

• Margem de Ruído

Como já visto, a família TTL opera com uma tensão de alimentação de 5V, todas as

tensões em um sistema TTL estão no intervalo de 0 a 5V. Quando uma porta lógica não estiver

carregada pela ligação a entradas de outras portas, sua tensão de corresponde ao nível lógico

zero, onde o valor pode ser 0,1 V ou até menor para a série 54/74. A tensão alta, correspondente

ao nível lógico um, fica em tomo de 3,4 V. Quando a saída for de nível lógico baixo, a porta

acionadora deve permitir o fluxo de corrente da porta acionada para si própria. A porta

acionadora é descrita como absorvedora de corrente da carga. Quando a saída estiver no nível

alto, a porta acionadora servirá como fonte de corrente para a carga e é descrita como fornecendo

corrente. No nível de saída de nível lógico baixo, a corrente drenada eleva a tensão de saída e no

nível de saída no nível lógico alto a corrente suprimida diminui a tensão de saída.

Para a série 54/74, o fabricante garante que, mesmo que uma porta esteja carregada até

sua capacidade máxima de saída, a tensão de saída baixa não sobe acima de 0,4 V e a tensão de

saída de nível lógico alto não desce abaixo de 2,4 V. O fabricante também garante que uma

60 XD102 – Eletrônica Digital e CPLD

tensão igual ou menor que 0,8V sempre será interpretada por uma porta que está sendo acionada

como correspondendo a tensão baixa (nível lógico zero) e que uma tensão de entrada maior que

2V sempre será interpretada como tensão alta (nível lógico um). As duas tensões de saída e as

duas tensões de entrada são representadas pelos símbolos VOH, VOL, VIH e VIL e são definidas

como:

VOH: A tensão de saída mínima que uma porta fornece quando sua saída estiver

no nível alto.

VOL: A tensão de saída máxima que uma porta fornece quando sua saída estiver

no nível baixo.

VIH: A tensão mínima que pode ser aplicada à entrada de uma porta e

reconhecida como nível alto.

VIL: A tensão máxima que pode ser aplicada à entrada de uma porta e

reconhecida como nível baixo.

Para as séries 54 ou 74, estas tensões são as especificadas abaixo. Quando a tensão de

entrada VI estiver no intervalo de 0 a 0,8V ou no intervalo acima de 2,0 Volts, a saída VO é

constante e vale 2,4 ou 0,4 Volts, respectivamente. Para VI no intervalo de 0,8 a 2,0 Volts, a saída

varia de seu nível alto de 2,4V até seu nível baixo de 0,4V.

Figura 4.8. Níveis de ruído TTL para entrada e saída.

61 XD102 – Eletrônica Digital e CPLD

• Velocidade

Os circuitos eletrônicos possuem uma velocidade limitada de operação que depende de

diversos fatores. No caso dos circuitos TTL, temos ainda que considerar sua construção que pode

apresentar indutâncias e capacitâncias parasitas que influem na sua velocidade de operação das

suas portas lógicas.

Assim, levando em conta a configuração típica de uma porta, veremos que se for

estabelecida uma transição muito rápida da tensão de entrada, a tensão no circuito não subirá

com a mesma velocidade porque esta tensão terá que carregar capacitâncias parasitas existentes

na porta. Isto causará um aumento gradual da tensão de entrada, levando tempo que não deve

ser desprezado. Da mesma forma, à medida que o sinal vai passando pelas diversas etapas do

circuito, temos de considerar os tempos que os componentes demoram a comutar justamente em

função das capacitâncias e indutâncias parasitas existentes.

O resultado disso é que para os circuitos integrados TTL existe um retardo entre o

instante em que o sinal passa do nível zero para um na entrada e o instante em que o sinal na

saída responde a este sinal. Da mesma forma, existe um retardo entre o instante em que o sinal

de entrada passa do nível um para o zero e o instante em que o sinal de saída passa do nível zero

para o um, no caso de um inversor. Observe que estes tempos são determinantes quando se

trabalha com sistemas de alta velocidade.

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

Os circuitos lógicos TTL que nós vimos até agora são denominados Totem-Pole, eles tem

uma configuração que um ou outro transistor da porta TTL conduz a corrente, conforme o nível

estabelecido na saída seja zero ou um. Este tipo de circuito apresenta um inconveniente caso nós

ligarmos duas portas em paralelo. Se uma das portas tiver sua saída indo ao nível alto

simultaneamente que outra vai ao nível baixo (0), um curto-circuito é estabelecido na saída e isso

pode causar a queima da porta. Quer dizer que os circuitos integrados TTL com esta

configuração nunca podem ter suas saídas interligadas da forma indicada na figura.

Figura 4.9. Efeito do nível lógico baixo e alto num Totem Pole.

Todavia, existe uma possibilidade de elaborar circuitos em que as saídas das portas sejam

ligadas entre si. Este método é obtido pela utilização do

circuitos TTL que tem esta configuração são indicados como “

usados, exigem a ligação de um resistor externo denominado “

2000 ohms.

Este tipo de método significa qu

aberto” (open collector), necessitando de um resistor de polarização. A vantagem desta

configuração está na possibilidade de interligarmos portas diferentes num mesmo ponto e a

desvantagem está na diminuição de velocidade do circuito lógico, ficando mais lento com o uso

do resistor, pois ele influencia o circuito alterando sua impedância.

Figura 4.10. Configuração interna de uma porta

XD102 – Eletr

Figura 4.9. Efeito do nível lógico baixo e alto num Totem Pole.

Todavia, existe uma possibilidade de elaborar circuitos em que as saídas das portas sejam

ligadas entre si. Este método é obtido pela utilização do Open Collector

circuitos TTL que tem esta configuração são indicados como “open collector

usados, exigem a ligação de um resistor externo denominado “pull-up” com aproximadamente

Este tipo de método significa que o transistor interno da porta lógica está com o “coletor

), necessitando de um resistor de polarização. A vantagem desta

configuração está na possibilidade de interligarmos portas diferentes num mesmo ponto e a

diminuição de velocidade do circuito lógico, ficando mais lento com o uso

do resistor, pois ele influencia o circuito alterando sua impedância.

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

62 letrônica Digital e CPLD

Figura 4.9. Efeito do nível lógico baixo e alto num Totem Pole.

Todavia, existe uma possibilidade de elaborar circuitos em que as saídas das portas sejam

n Collector ou coletor aberto. Os

open collector” e quando são

” com aproximadamente

e o transistor interno da porta lógica está com o “coletor

), necessitando de um resistor de polarização. A vantagem desta

configuração está na possibilidade de interligarmos portas diferentes num mesmo ponto e a

diminuição de velocidade do circuito lógico, ficando mais lento com o uso

Collector.

Figura 4.11. Porta lógica usando método “

• Tri-State:

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

encontrada em alguns integrados TTL, principalmente usados em micro informática, como os

computadores. Quando duas (ou mais) portas estiv

se uma porta estiver enviando seus níveis lógicos, a outra porta deve estar numa situação em que

na sua saída não tenhamos nem zero e nem um, então ela deve ficar num estado de circuito

desligado, circuito aberto ou terceiro estado.

Isso é conseguido através de uma entrada de controle denominada “habilitação” ou

“Enable” sendo abreviada correntemente por EN. Assim, quando EN estiver em zero, o transistor

da porta lógica não conduz e nada acontece no circuito q

se EN for levada ao nível um, o transistor satura, levando ao corte, ou seja, os dois passam a se

comportar como circuitos abertos, independentemente dos sinais de entrada. Na saída teremos

então um estado de alta imped

Figura 4.12. Configuração externa simplificada de uma porta inversora tri

XD102 – Eletr

Figura 4.11. Porta lógica usando método “Open Collector

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

encontrada em alguns integrados TTL, principalmente usados em micro informática, como os

computadores. Quando duas (ou mais) portas estiverem suas saídas conectadas, deve ocorrer que

se uma porta estiver enviando seus níveis lógicos, a outra porta deve estar numa situação em que

na sua saída não tenhamos nem zero e nem um, então ela deve ficar num estado de circuito

to ou terceiro estado.

Isso é conseguido através de uma entrada de controle denominada “habilitação” ou

” sendo abreviada correntemente por EN. Assim, quando EN estiver em zero, o transistor

da porta lógica não conduz e nada acontece no circuito que funciona normalmente. No entanto,

se EN for levada ao nível um, o transistor satura, levando ao corte, ou seja, os dois passam a se

comportar como circuitos abertos, independentemente dos sinais de entrada. Na saída teremos

então um estado de alta impedância.

Figura 4.12. Configuração externa simplificada de uma porta inversora tri

63 letrônica Digital e CPLD

Collector”.

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

encontrada em alguns integrados TTL, principalmente usados em micro informática, como os

erem suas saídas conectadas, deve ocorrer que

se uma porta estiver enviando seus níveis lógicos, a outra porta deve estar numa situação em que

na sua saída não tenhamos nem zero e nem um, então ela deve ficar num estado de circuito

Isso é conseguido através de uma entrada de controle denominada “habilitação” ou

” sendo abreviada correntemente por EN. Assim, quando EN estiver em zero, o transistor

ue funciona normalmente. No entanto,

se EN for levada ao nível um, o transistor satura, levando ao corte, ou seja, os dois passam a se

comportar como circuitos abertos, independentemente dos sinais de entrada. Na saída teremos

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

As funções tri-state são muito usadas nos circuitos de computadores denominados

barramentos de dados ou “data bus

ponto ou devem dividir a mesma linha de transferência desses dados. O circuito que está

funcionando deve estar habilitado e os que não estão funcionando, devem ser levados sempre ao

terceiro estado.

Figura 4.13. Ligação de duas portas lógicas

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

desenvolvido um tipo de porta muito útil, chamada buffer tri

buffer é um componente sem função lógica, isto é, a

da entrada. Quando este buffer é tri

entrada deve ser apresentado na saída ou não.

Tabela 4.2. Tabela verdade do Buffer Tri

4.2.2. Circuitos integrados TTL

XD102 – Eletr

state são muito usadas nos circuitos de computadores denominados

data bus”, onde diversos circuitos devem aplicar seus sinai

ponto ou devem dividir a mesma linha de transferência desses dados. O circuito que está

funcionando deve estar habilitado e os que não estão funcionando, devem ser levados sempre ao

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

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

desenvolvido um tipo de porta muito útil, chamada buffer tri-state. Em eletrônica digital, um

buffer é um componente sem função lógica, isto é, apresenta na saída exatamente o mesmo sinal

da entrada. Quando este buffer é tri-state, a entrada de controle EN comanda se o sinal na

entrada deve ser apresentado na saída ou não.

Figura 4.14. Buffer Tri-state.

A EN S

X 0 Alta

Impedância

0 1 0

1 1 1

Tabela 4.2. Tabela verdade do Buffer Tri-State.

4.2.2. Circuitos integrados TTL

64 letrônica Digital e CPLD

state são muito usadas nos circuitos de computadores denominados

”, onde diversos circuitos devem aplicar seus sinais ao mesmo

ponto ou devem dividir a mesma linha de transferência desses dados. O circuito que está

funcionando deve estar habilitado e os que não estão funcionando, devem ser levados sempre ao

ao mesmo barramento.

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

state. Em eletrônica digital, um

presenta na saída exatamente o mesmo sinal

state, a entrada de controle EN comanda se o sinal na

65 XD102 – Eletrônica Digital e CPLD

Devido ao grande desenvolvimento da tecnologia TTL, temos uma infinidade de

componentes integrados para os mais diversos fins. Serão citados alguns dos mais importantes,

sendo que para obter todas as informações possíveis da família seria necessário ter um manual

para consulta. No fim da apostila, tem a lista e a funcionalidade da maioria dos membros da

família TTL.

Seus componentes integrados mais simples são na maioria das vezes, encapsulados em

um invólucro (contêiner ou pastilha) DIP ou DIL, podendo ter diversas portas ou “pernas”,

possui o formato retangular como abaixo.

Figura 4.15. Formato DIP ou DIL da família TTL.

Abaixo segue a descrição de algumas portas mais comuns da família TTL, com uma

breve descrição do que elas são e seu consumo.

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

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

mA.

Figura 4.16. Ligação interna do componente integrado 7400.

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

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

66 XD102 – Eletrônica Digital e CPLD

Figura 4.17. Ligação interna do componente integrado 7402.

• 7404 - Seis Inversores (NÃO)

Os seis inversores deste circuito integrado podem ser usados de forma

independente.

Figura 4.18. Ligação interna do componente integrado 7404.

• 7408 - Quatro Portas E de duas entradas

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

Figura 4.19. Ligação interna do componente integrado 7408.

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

67 XD102 – Eletrônica Digital e CPLD

Cada uma das três portas NAND deste circuito integrado pode ser usada de

forma independente. A corrente exigida pelo circuito é de 6 mA.

Figura 4.20. Ligação interna do componente integrado 7410.

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

Este circuito integrado contém duas portas E que podem ser usadas de forma

independente. O consumo por unidade é de aproximadamente 4 mA.

Figura 4.21. Ligação interna do componente integrado 7420.

• 7432 - Quatro portas OU de duas entradas

As portas OU deste circuito integrado podem ser usadas de modo independente e

a corrente total exigida é da ordem de 19 mA.

68 XD102 – Eletrônica Digital e CPLD

Figura 4.22. Ligação interna do componente integrado 7432.

• 7486 - Quatro Portas OU-Exclusivo

As portas OU-Exclusivo ou Exclusive OR deste circuito integrado podem ser

usadas de forma independente, sendo o seu consumo de 30 mA.

Figura 4.23. Ligação interna do componente integrado 7486.

4.3. Família CMOS

Depois de termos visto como a família TTL é importante, agora vamos focar sobre uma

nova família, a CMOS. A sigla CMOS significa “Complementary Metal- Oxide Semiconductor”

se referindo a utilização de transistores de efeito de campo ou Field Effect Transistor (FET) no

lugar dos transistores bipolares comuns (como nos circuitos TTL). Como em qualquer área da

eletrônica, o uso da família CMOS, possui vantagens e desvantagens no uso de transistores de

efeito de campo. Entretanto, os fabricantes desta família estão pouco a pouco eliminando essas

diferenças entre as duas famílias com o desenvolvimento de tecnologias de fabricação,

aumentando ainda a sua velocidade e reduzindo seu consumo.

De uma forma geral, podemos dizer que existem aplicações em que é mais vantajoso usar

um tipo, e aplicações em que o outro tipo é melhor. Os transistores de efeito de campo usados

nos circuitos integrados CMOS ou MOSFET’s têm sua composição elementar vista a seguir onde

também aparece seu símbolo. Vemos que o ponto de controle é a comporta ou gate (g) onde se

aplica o sinal que deve ser amplificado ou usado para chavear o circuito. É aqui que teremos a

entrada da porta lógica. O transistor é polarizado de modo a haver uma tensão entre a fonte ou

source (s) e o dreno ou drain (d). Fazendo uma analogia com o transistor bipolar, podemos dizer

que a comporta do MOSFET equivale à base do transistor bipolar, enquanto que o dreno

equivale ao coletor e a fonte ao emissor.

69 XD102 – Eletrônica Digital e CPLD

Figura 4.24. Diferenças entre transistores bipolares e MOS.

4.3.1. Aplicações digitais

Semelhante ao uso que fazemos dos transistores bipolares, podemos fazer uso dos

transistores MOS. Alem de que as portas lógicas que utilizam tecnologia CMOS

(Complementary MOS) permitem com que dispositivos tenham características excelentes para

aplicações digitais. Alguns dos parâmetros da família CMOS serão descritos a partir de agora.

• Consumo e velocidade:

Para que possamos analisar o consumo e velocidade desta família, vamos tomar

um circuito inversor como base para entendermos.

Figura 4.25. Funcionamento de uma porta lógica CMOS

70 XD102 – Eletrônica Digital e CPLD

Podemos ver duas características importantes. A primeira é que sempre um dos

transistores estará cortado, independente do sinal de entrada (alto ou baixo) fazendo com que

praticamente não circule corrente alguma entre o Vdd e o terra (0 V). A única corrente circulante

será de um circuito externo alimentado a saída lógica. Isso significa um consumo extremamente

baixo para este par de transistores em condições normais, já que na entrada a impedância é

elevadíssima e praticamente nenhuma corrente circula. Este consumo é da ordem de dez

nanowatt.

Contudo, na prática temos alguns fatores que tornam este consumo maior, como por

exemplo, eventuais fugas ou a necessidade de outro componente que precise de uma maior

corrente. Mas como dito antes, ele não é só cheio de qualidades. Como problema podemos citar

que, ao aplicarmos um sinal de controle a este circuito, a tensão não sobe imediatamente até o

valor desejado, precisando de certo tempo para carregar o “capacitor” existente na composição

do transistor.

Este atraso nada mais é do que a diferença de tempo entre o instante em que aplicamos o

sinal na entrada e o instante em que ele estará disponível na saída. Nos circuitos integrados

CMOS típicos como os usados nas aplicações digitais, como um inversor, este atraso é da ordem

de três nanossegundos (3 ns). Isso pode parecer pouco nas aplicações comuns, mas se um sinal

tiver de passar por centenas de portas antes de chegar onde ele é necessário, podemos ter um

atraso acumulativo relativamente alto.

Entretanto, este problema pode ser contornado com a elevação de tensão de alimentação.

Assim, com mais tensão, a carga dos elementos capacitivos é mais rápida e isso nos leva a uma

característica muito importante dos circuitos CMOS digitais que deve ser levada em conta em

qualquer aplicação: com maior tensão de alimentação, os circuitos integrados CMOS são mais

rápidos. E isso fica mais fácil de obter do que na família TTL porque eles trabalham num valor

de tensão fixo enquanto os circuitos CMOS trabalham numa faixa de tensão mais ampla.

• Sensibilidade ao manuseio:

Devido à composição dos transistores usados na tecnologia CMOS, ele é extremamente

sensível a descargas elétricas tornando-os dispositivos muito delicados. De fato, a própria carga

elétrica acumulada nas nossas ferramentas ou em nosso corpo quando caminhamos num tapete

num dia seco ou ainda atritamos objetos em nossa roupa pode ser suficiente para danificar de

71 XD102 – Eletrônica Digital e CPLD

modo irreversível os componentes CMOS. Para que se possa ter uma idéia, caminhando num

carpete num dia seco, seu corpo pode acumular uma carga estática que atingem até 10000 V. Se

você tocar num objeto metálico aterrado, a descarga de seu corpo neste percurso de terra pode lhe

causar um forte choque. Ainda, da mesma forma, você tocar num terminal de um dispositivo

CMOS, a carga do seu corpo que escoa por este dispositivo facilmente destruirá a finíssima

camada de óxido que separa o gate do substrato e o componente estará inutilizado. Em outras

palavras, os dispositivos que usam transistores CMOS são extremamente sensíveis a descargas

estáticas. De qualquer forma, para evitar o problema, nunca toque com os dedos nos terminais de

componentes CMOS sejam eles circuitos integrados ou transistores.

4.3.2. Algumas características da família CMOS:

• Tensão de saída:

No nível lógico baixo (zero) a tensão de saída se aproxima de 0 V sendo no máximo de

0,01 V para os tipos comuns com alimentação na faixa de 5 a 10 V. No nível lógico alto, a tensão

de saída é praticamente a tensão de alimentação Vdd ou no máximo 0,01 V menor.

• Corrente de saída:

Diferentemente dos circuitos integrados TTL em que temos uma capacidade maior de

drenar corrente na saída do que de fornecer, para os circuitos integrados CMOS a capacidade de

drenar e de fornecer corrente de saída é praticamente a mesma. Assim, para uma alimentação de

5 V as saídas podem fornecer (quando no nível alto) ou drenar (quando no nível baixo) uma

corrente de até 1mA e essa corrente sobe para 2,5 mA quando a alimentação é de 10 V. Estas

correntes são designadas por IOL e IOH nas folhas de especificações dos circuitos integrados

CMOS.

72 XD102 – Eletrônica Digital e CPLD

• Corrente de fuga na entrada:

Se bem que a comporta esteja isolada do circuito dreno-fonte, com uma resistência que

teoricamente seria infinita, na prática pode ocorrer uma pequena fuga. Esta, da ordem de 10 pA

(1 picoampère = 0,000 000 000 001 ampère) para uma alimentação de 10 V deve ser considerada

quando precisamos calcular a corrente de entrada de um circuito CMOS numa aplicação mais

crítica.

• Potência:

Os circuitos integrados CMOS consomem muito menos energia que os circuitos

integrados TTL. Para os tipos comuns a corrente de alimentação Idd é normalmente da ordem de

1 nA tipicamente com um máximo de 0,05 µA para alimentação de 5 V, o que corresponde a

uma dissipação de 5 nW em média para alimentação de 5 V e 10 nW para alimentação de 10 V.

• Velocidade:

Os tipos comuns CMOS são muito mais lentos que os TTL, mas famílias especiais estão

aparecendo com velocidades cada vez maiores e em muitos casos estas se aproximam dos mais

rápidos TTLs. As freqüências máximas, conforme já explicamos, dependem das tensões de

alimentação e das funções, já que maior número de componentes para atravessar significa um

atraso maior do sinal. Assim, nos manuais encontramos a especificação de velocidade dada tanto

em termos de freqüência quanto em termos de atraso do sinal. Para o caso do atraso do sinal,

observamos que ele pode estar especificado para uma transição do nível alto para o nível baixo

ou vice-versa e em alguns circuitos ou tensões de alimentação podem ocorrer diferenças.

4.3.3. Circuitos integrados CMOS

Comparado a família TTL, também podemos contar com uma boa quantidade de

circuitos integrados CMOS contendo funções lógicas. Como no caso do TTL, não temos espaço

para colocar todas estas funções aqui, entretanto é recomendado recorrer a manual CMOS. Aqui

estão as mais usadas.

73 XD102 – Eletrônica Digital e CPLD

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

Este circuito integrado contém quatro portas NÃO-OU em invólucro DIL de 14 pinos. O

consumo por circuito integrado é da ordem de 10 nW.

Figura 4.26. Ligação interna do componente integrado 4001.

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

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

funcionamento independente.

Figura 4.27. Ligação interna do componente integrado 4011.

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

As duas portas NÃO-E de quatro entradas deste circuito integrado podem ser usadas de

forma independente.

74 XD102 – Eletrônica Digital e CPLD

Figura 4.28. Ligação interna do componente integrado 4012.

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

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

independente.

Figura 4.29. Ligação interna do componente integrado 4023.

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

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

forma independente.

Figura 4.30. Ligação interna do componente integrado 4025.

4.3.4. A Função tri-state do 4048

O integrado 4048 tem características muito interessantes para projetos CMOS envolvendo

funções lógicas. Com o que já vimos, sabemos que usando combinações apropriadas de funções

75 XD102 – Eletrônica Digital e CPLD

simples, é possível simular qualquer outra função mais complexa. Este circuito possui 8 entradas,

uma saída e três entradas de “programação”.

Dependendo dos níveis lógicos nas entradas de programação, o circuito se comporta

como funções NÃO-OU, OU, NÃO-E ou E com 8 entradas ou ainda de forma combinada,

realizando ao mesmo tempo funções de portas OU e E em cada uma das quatro entradas. Então,

se colocarmos as três entradas de programação no nível alto, o circuito comporta-se como duas

portas E de quatro entradas ligadas a uma porta OU de duas entradas.

É importante saber deste detalhe porque esta função pode ser facilitadora em muitos

projetos, pois consegue simular a operação de diversas combinações de outros circuitos

integrados CMOS. Internamente, o 4048 é bastante complexo contendo 32 funções

independentes programadas, definidos pelos níveis lógicos nas entradas correspondentes.

Figura 4.31. Ligação interna do componente integrado 4048

4.4. Interfaceamento entre as famílias TTL e CMOS

Conforme explicamos, mesmo tendo uma faixa de tensões ampla e características

diferentes dos circuitos integrados TTL, existe a possibilidade de interfacear circuitos dos dois

tipos. Há duas possibilidades de interfaceamento entre circuitos digitais TTL e circuitos digitais

CMOS.

4.4.1. A saída TTL deve excitar a entrada CMOS

Se as duas famílias lógicas estiverem com uma tensão de ali

problema e a interligação pode ser direta. Como as entradas CMOS têm uma impedância muito

alta (não exigindo praticamente corrente alguma) da saída TTL, não existe perigo do circuito

CMOS “carregar” a saída TTL. Entretanto, temos que

entradas CMOS só reconhecem como nível lógico um algum valor de tensão de pelo menos 3.5

V, enquanto que no nível alto, a tensão mínima que o TTL pode fornecer nestas condições é de

3.3 V.

Isso significa que é necessári

o que é conseguido com a adição de um resistor externo de pull

anteriormente), observe a figura abaixo. Este resistor de 22K μμé ligado ao positivo da

alimentação de 5 V.

Figur

Se o circuito CMOS a ser excitado por um TTL for alimentado com tensão maior que 5

V, por exemplo 12 V, deve ser usado um circuito intermediário de casamento de características.

Este circuito intermediário deve manter o

inversor, como por exemplo, o de coletor aberto com um resistor de pull

deste resistor dependerá da tensão de alimentação.

XD102 – Eletr

Se as duas famílias lógicas estiverem com uma tensão de alimentação de 5 V não há

problema e a interligação pode ser direta. Como as entradas CMOS têm uma impedância muito

alta (não exigindo praticamente corrente alguma) da saída TTL, não existe perigo do circuito

CMOS “carregar” a saída TTL. Entretanto, temos que considerar o seguinte problema: As

entradas CMOS só reconhecem como nível lógico um algum valor de tensão de pelo menos 3.5

V, enquanto que no nível alto, a tensão mínima que o TTL pode fornecer nestas condições é de

Isso significa que é necessário garantir que a entrada CMOS reconheça o nível alto TTL,

o que é conseguido com a adição de um resistor externo de pull

anteriormente), observe a figura abaixo. Este resistor de 22K μμé ligado ao positivo da

Figura 4.32. Interfaceamento TTL e CMOS

Se o circuito CMOS a ser excitado por um TTL for alimentado com tensão maior que 5

V, por exemplo 12 V, deve ser usado um circuito intermediário de casamento de características.

Este circuito intermediário deve manter o sinal, ou seja, deve ser simplesmente um buffer não

inversor, como por exemplo, o de coletor aberto com um resistor de pull

deste resistor dependerá da tensão de alimentação.

76 letrônica Digital e CPLD

mentação de 5 V não há

problema e a interligação pode ser direta. Como as entradas CMOS têm uma impedância muito

alta (não exigindo praticamente corrente alguma) da saída TTL, não existe perigo do circuito

considerar o seguinte problema: As

entradas CMOS só reconhecem como nível lógico um algum valor de tensão de pelo menos 3.5

V, enquanto que no nível alto, a tensão mínima que o TTL pode fornecer nestas condições é de

o garantir que a entrada CMOS reconheça o nível alto TTL,

o que é conseguido com a adição de um resistor externo de pull-up (conceito visto

anteriormente), observe a figura abaixo. Este resistor de 22K μμé ligado ao positivo da

Se o circuito CMOS a ser excitado por um TTL for alimentado com tensão maior que 5

V, por exemplo 12 V, deve ser usado um circuito intermediário de casamento de características.

sinal, ou seja, deve ser simplesmente um buffer não

inversor, como por exemplo, o de coletor aberto com um resistor de pull-up externo. O valor

Figura 4.33. Interfaceando TTL e CMOS com tensões diferent

4.4.2. CMOS excitando uma entrada TTL

Neste caso, devemos considerar que uma saída CMOS no nível baixo pode drenar uma

corrente de aproximadamente 0,5 mA e no estado alto, a mesma intensidade. No entanto, uma

entrada TTL fornece uma corrente de 1,6 mA

saída CMOS. Isso significa que entre as duas devemos intercalar um buffer CMOS, como por

exemplo, os 4049 e 4050 que permitem a excitação de até duas entradas TTL a partir de uma

saída CMOS.

Figura 4.34.

XD102 – Eletr

Figura 4.33. Interfaceando TTL e CMOS com tensões diferent

4.4.2. CMOS excitando uma entrada TTL

Neste caso, devemos considerar que uma saída CMOS no nível baixo pode drenar uma

corrente de aproximadamente 0,5 mA e no estado alto, a mesma intensidade. No entanto, uma

entrada TTL fornece uma corrente de 1,6 mA no nível baixo, o que não pode ser absorvido pela

saída CMOS. Isso significa que entre as duas devemos intercalar um buffer CMOS, como por

exemplo, os 4049 e 4050 que permitem a excitação de até duas entradas TTL a partir de uma

Figura 4.34. Interfaceando CMOS e TTL.

77 letrônica Digital e CPLD

Figura 4.33. Interfaceando TTL e CMOS com tensões diferentes

Neste caso, devemos considerar que uma saída CMOS no nível baixo pode drenar uma

corrente de aproximadamente 0,5 mA e no estado alto, a mesma intensidade. No entanto, uma

no nível baixo, o que não pode ser absorvido pela

saída CMOS. Isso significa que entre as duas devemos intercalar um buffer CMOS, como por

exemplo, os 4049 e 4050 que permitem a excitação de até duas entradas TTL a partir de uma

5. Circuitos lógicos combinatórios

Neste capítulo, estudaremos as funções lógicas de uma forma mais completa.

Analisaremos o que acontece quando associamos várias portas lógicas, prevendo o que teremos

em suas saídas para cada uma das possíveis combinações dos níveis de entrada. Os circuitos

complexos, como os usados nos computadores, por exemplo, se aproveitam das operações

complicadas que muitas portas lógicas podem realizar em conjunto.

Com isso, é muito importante que a

cada porta lógica, nós também consigamos analisar e construir circuitos mais elaborados a partir

dela.

As portas E, OU e NÃO são exemplos de circuitos combinatórios simples. Uma restrição

importante dos circuitos combinatórios é que não precisam de nenhum

uma entrada para uma porta não pode ser um resultado de uma função que dependa da saída

desta mesma porta.

Isto significa que não é possível obter

(será visto com detalhes adiante) é um bom exemplo de um circuito combinatório. É um circuito

que produz uma saída específica (geralmente zero) quando um valor específico ou um conjunto

de valores específicos aparece nas suas entradas

Outro conjunto de circuitos combinatórios que deve ser citado são as

várias entradas. Por exemplo, se quisermos calcular o E lógico de três entradas, podemos colocar

duas portas E em cascata conforme abaixo.

Figura 5.1. Porta E de tr

De forma semelhante, podemos construir uma porta E de quatro entradas ou combinar

três portas E de duas entradas e assim por diante. As portas OU de várias entradas podem ser

feitas o mesmo princípio descri

muito comuns, usaremos um único símbolo para representar portas de N entradas.

XD102 – Eletr

5. Circuitos lógicos combinatórios

Neste capítulo, estudaremos as funções lógicas de uma forma mais completa.

Analisaremos o que acontece quando associamos várias portas lógicas, prevendo o que teremos

da uma das possíveis combinações dos níveis de entrada. Os circuitos

complexos, como os usados nos computadores, por exemplo, se aproveitam das operações

complicadas que muitas portas lógicas podem realizar em conjunto.

Com isso, é muito importante que além de analisarmos o comportamento individual de

cada porta lógica, nós também consigamos analisar e construir circuitos mais elaborados a partir

As portas E, OU e NÃO são exemplos de circuitos combinatórios simples. Uma restrição

cuitos combinatórios é que não precisam de nenhum retorno

uma entrada para uma porta não pode ser um resultado de uma função que dependa da saída

Isto significa que não é possível obter loops em circuitos combinatór

(será visto com detalhes adiante) é um bom exemplo de um circuito combinatório. É um circuito

que produz uma saída específica (geralmente zero) quando um valor específico ou um conjunto

de valores específicos aparece nas suas entradas.

Outro conjunto de circuitos combinatórios que deve ser citado são as

Por exemplo, se quisermos calcular o E lógico de três entradas, podemos colocar

duas portas E em cascata conforme abaixo.

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

De forma semelhante, podemos construir uma porta E de quatro entradas ou combinar

três portas E de duas entradas e assim por diante. As portas OU de várias entradas podem ser

feitas o mesmo princípio descrito acima. Como portas E e OU com mais de duas entradas são

muito comuns, usaremos um único símbolo para representar portas de N entradas.

78 letrônica Digital e CPLD

Neste capítulo, estudaremos as funções lógicas de uma forma mais completa.

Analisaremos o que acontece quando associamos várias portas lógicas, prevendo o que teremos

da uma das possíveis combinações dos níveis de entrada. Os circuitos

complexos, como os usados nos computadores, por exemplo, se aproveitam das operações

lém de analisarmos o comportamento individual de

cada porta lógica, nós também consigamos analisar e construir circuitos mais elaborados a partir

As portas E, OU e NÃO são exemplos de circuitos combinatórios simples. Uma restrição

retorno (feedback), isto é,

uma entrada para uma porta não pode ser um resultado de uma função que dependa da saída

em circuitos combinatórios. Um decodificador

(será visto com detalhes adiante) é um bom exemplo de um circuito combinatório. É um circuito

que produz uma saída específica (geralmente zero) quando um valor específico ou um conjunto

Outro conjunto de circuitos combinatórios que deve ser citado são as portas E e OU de

Por exemplo, se quisermos calcular o E lógico de três entradas, podemos colocar

ês entradas a partir de duas com duas entradas.

De forma semelhante, podemos construir uma porta E de quatro entradas ou combinar

três portas E de duas entradas e assim por diante. As portas OU de várias entradas podem ser

to acima. Como portas E e OU com mais de duas entradas são

muito comuns, usaremos um único símbolo para representar portas de N entradas.

79 XD102 – Eletrônica Digital e CPLD

5.1. Passos para montagem de um circuito combinacio nal

A montagem de um equipamento combinatório, apesar de ser muito simples, as vezes

exige que o projetista esteja ciente do problema como um todo. Em um circuito combinacional,

nós temos alguns passos que devem ser seguidos para que se possa montar claramente um

circuito que atenda a solução do problema analisado. Para estes circuitos, a construção inicia-se

na especificação do problema e diagrama do circuito (ou no conjunto de equações que o

descrevem). Um procedimento genérico para o projeto envolve os seguintes passos:

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

• Identificação do problema;

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

• Verificar quais componentes comerciais podem ser utilizados;

• Desenhar o circuito final.

Estes passos serão descritos a seguir de forma sistêmica para que o aluno possa

compreender a importância de cada procedimento e possa adotar estes passos na sua rotina de

laboratório.

5.1.1. Determinação das variáveis de entrada e saíd a:

A determinação de uma nomenclatura já vem sendo feita durante o conteúdo da apostila.

Nós adotaremos a nomenclatura que para cada entrada, teremos uma letra do alfabeto, por

exemplo, A, B, C e etc. Para a saída, sempre a indicaremos através do símbolo S. Veja que S

também pertence ao alfabeto, mas neste caso S nunca poderá representar uma entrada.

5.1.2. Identificação do problema

Quando iniciamos o projeto de circuitos combinacionais, num primeiro momento somos

levados a pensar que o problema de saber o que acontece com a saída de um circuito quando suas

entradas recebem diversas comb

fazer o contrário, que significa identificar que tipo de saída é desejado. Então na primeira etapa

deve ser definido o problema, estabelecendo

seja, quais as entradas e quais as saídas.

Como já vimos no capitulo três, quando lidamos com um problema com várias entradas

possíveis é claro que será necessária uma combinação de portas lógicas para que se obtenha uma

saída condizente com o resultado esp

Os diversos sinais de entrada aplicados a uma função lógica, com todas as suas

combinações possíveis e a saída correspondente podem ser colocados numa tabela. Então, para

que se possa ter uma visão do problema como um todo, é necessário construir

chamada de tabela verdade com o objetivo de obter as equações pertinentes à solução do mesmo.

Para facilitar o aprendizado, vamos desenvolver um problema durantes os passos para

mostrar melhor o raciocínio que deve ser feito para a obtenção d

exemplo simples de lógica combinacional usando tabelas verdades para saber o que ocorre na sua

saída, com o circuito abaixo.

Figura 5.2. Exemplo de circuito combinacional.

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

Antes de começarmos, é necessário fazer uma revisão de alguns conceitos já vistos até

agora. Esses elementos tem que estar na mente todo o tempo para que o andamento do

aprendizado não seja prejudicado.

XD102 – Eletr

entradas recebem diversas combinações de sinais não é o mais importante. Na verdade, deve

fazer o contrário, que significa identificar que tipo de saída é desejado. Então na primeira etapa

deve ser definido o problema, estabelecendo-se exatamente qual a função a ser executada, ou

ja, quais as entradas e quais as saídas.

Como já vimos no capitulo três, quando lidamos com um problema com várias entradas

possíveis é claro que será necessária uma combinação de portas lógicas para que se obtenha uma

saída condizente com o resultado esperado.

Os diversos sinais de entrada aplicados a uma função lógica, com todas as suas

combinações possíveis e a saída correspondente podem ser colocados numa tabela. Então, para

que se possa ter uma visão do problema como um todo, é necessário construir

chamada de tabela verdade com o objetivo de obter as equações pertinentes à solução do mesmo.

Para facilitar o aprendizado, vamos desenvolver um problema durantes os passos para

mostrar melhor o raciocínio que deve ser feito para a obtenção da solução. Vamos partir de um

exemplo simples de lógica combinacional usando tabelas verdades para saber o que ocorre na sua

saída, com o circuito abaixo.

Figura 5.2. Exemplo de circuito combinacional.

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

Antes de começarmos, é necessário fazer uma revisão de alguns conceitos já vistos até

agora. Esses elementos tem que estar na mente todo o tempo para que o andamento do

aprendizado não seja prejudicado.

80 letrônica Digital e CPLD

inações de sinais não é o mais importante. Na verdade, deve-se

fazer o contrário, que significa identificar que tipo de saída é desejado. Então na primeira etapa

se exatamente qual a função a ser executada, ou

Como já vimos no capitulo três, quando lidamos com um problema com várias entradas

possíveis é claro que será necessária uma combinação de portas lógicas para que se obtenha uma

Os diversos sinais de entrada aplicados a uma função lógica, com todas as suas

combinações possíveis e a saída correspondente podem ser colocados numa tabela. Então, para

que se possa ter uma visão do problema como um todo, é necessário construir esta tabela,

chamada de tabela verdade com o objetivo de obter as equações pertinentes à solução do mesmo.

Para facilitar o aprendizado, vamos desenvolver um problema durantes os passos para

a solução. Vamos partir de um

exemplo simples de lógica combinacional usando tabelas verdades para saber o que ocorre na sua

Antes de começarmos, é necessário fazer uma revisão de alguns conceitos já vistos até

agora. Esses elementos tem que estar na mente todo o tempo para que o andamento do

81 XD102 – Eletrônica Digital e CPLD

Função Lógica Equação algébrica

Função E (AND) BAS ⋅=

Função NÃO E (NAND) BAS ⋅=

Função OU (OR) BAS +=

Função NÃO OU (NOR) BAS +=

Função NÃO (NOT) ou inversora AS =

Função OU EXCLUSIVO (Exclusive OR) BAS ⊕=

Tabela 5.1. Resumo das funções lógicas mais simples.

Revisando os itens anteriores, fica claro que as expressões lógicas vistas acima não são as

únicas e sim uma pequena parte. Existem vários outros equacionamentos que já foram descritos e

que podem ser vistos com mais detalhes nos capítulos anteriores. Se o aluno estiver com

problemas para recordar quais são, seria aconselhável que fizesse uma recapitulação, inclusive

nos itens que citam os mapas de karnaugh.

Continuando o processo de resolução do problema proposto, vamos executar dois

procedimentos distintos, o primeiro é a obtenção da tabela da verdade através do circuito

proposto. O segundo será fazer o circuito simplificado através da tabela da verdade e os mapas de

karnaugh.

Iniciando o primeiro procedimento, vamos montar a tabela da verdade baseada na figura

5.2. Podemos observar que esta figura possui quatro portas lógicas, uma porta E, uma porta OU

e duas portas inversoras ou portas NÃO. Para cada porta lógica desta, existe uma equação

matemática que representa seu funcionamento, por exemplo, a porta OU. Conforme revisamos

acima, cada porta tem seu operador algébrico e para começar, vamos indicar esses operadores

para cada porta lógica, indicando sua saída através de suas entradas.

82 XD102 – Eletrônica Digital e CPLD

Figura 5.3. Circuito combinacional dividido em expressões simples.

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

menores, podemos facilmente obter o funcionamento do circuito através da colocação de todas as

entradas possíveis na tabela verdade. Esta tabela corresponderá ao funcionamento lógico do

circuito.

A B C S1 S2 S3 S

0 0 0 0 1 0 1

0 0 1 0 0 0 1

0 1 0 1 1 1 0

0 1 1 1 0 0 1

1 0 0 1 1 1 0

1 0 1 1 0 0 1

1 1 0 1 1 1 0

1 1 1 1 0 0 1

Tabela 5.2. Tabela verdade do circuito combinacional da figura 5.3.

83 XD102 – Eletrônica Digital e CPLD

Para elaborar a tabela verdade para este circuito combinacional e com isso determinar

todas as saídas possíveis em função das entradas, deve levar em conta que ele é formado por três

etapas.

Na primeira etapa temos a porta OU e a NÃO, na segunda etapa temos a porta E e na

terceira etapa temos mais um circuito inversor. Isso significa que as saídas dos circuitos da

primeira etapa, que chamaremos S1 e S2 são à entrada da segunda etapa e que a entrada da

terceira etapa, S3 é a inversão da saída da segunda etapa.

Então temos que levar em consideração estas saídas na elaboração da tabela verdade que

terá no seu topo todas as variáveis de entrada, as saídas parciais e a saída final. Podemos

identificar as variáveis A,B e C como as entradas dos circuitos. S1, S2 e S3 são pontos

intermediários do circuito que precisam ser analisados para a obtenção de S, que é saída final do

circuito.

Como falado anteriormente, começamos por colocar em A, B e C todas as suas condições

possíveis de entrada, ou todas as combinações de níveis lógicos que podem ser aplicadas ao

circuito.

O próximo passo foi colocar na tabela os valores possíveis de S1 que corresponde ao

resultado algébrico da função OU. Assim através de todos os valores possíveis de A e B,

podemos saber quais serão os valores de S1, simplesmente utilizando à equação S1=A+B. Este

processo se repete para a saída S2, que corresponde a inversão do valor colocado em C.

Depois de se ter todos os possíveis valores de S1 e S2, temos o valor de S3 através da

inserção dos valores de S1 e S2 na porta E. O valor de S3 então estará definido pela equação

algébrica da porta E, sendo S3 = S1 . S2. Com isso, podemos completar a coluna S3 da tabela

verdade, fazendo com que falte somente o valor realmente importante que é à saída do circuito.

Esta é obtida através da aplicação da inversora ao valor obtido de S3. Assim, podemos

finalmente terminar a construção da tabela verdade que corresponde ao circuito da figura 5.3.

Esta tabela corresponde à tabela 5.2.

Veja que este exemplo não constituiu um exemplo de construção de circuitos

combinacionais mesmo porque ele já estava pronto, contudo é importante saber como é obtida a

tabela verdade a partir do circuito para que seja possível analisar seu funcionamento.

Outro detalhe que deve ser considerado é que esta tabela verdade não é única. Podemos

ter várias outras combinações lógicas que representariam à mesma tabela. Ainda poderíamos

evitar o uso de portas como a porta inversora ligada a S, se utilizasse uma porta NÃO E ao invés

de uma porta E. Note que o projeto de circuitos combinacionais tem uma série de formas de

84 XD102 – Eletrônica Digital e CPLD

serem feitas, contudo, para que o aluno não fique perdido entre qual forma adotar, seguiremos a

regra apresentada aqui.

Agora vamos atuar de forma reversa, sendo esta forma mais utilizada para criação de

projetos porque geralmente tem que se construir um equipamento dependendo das suas entradas

e saídas, fazendo assim a expressão lógica e depois o circuito que a representa. Para exemplificar,

a tabela 5.2 foi dada para se verificar qual é a equação lógica que corresponde a ela.

Primeiramente, temos que ver quais colunas serão usadas para criar esta tabela. Como o

que nos interessa são sempre as entradas e as saídas, usaremos as colunas A, B, C e S. Depois

temos que verificar quais linhas geram saídas com nível lógico um, pois são elas necessárias para

a montagem da equação lógica. As saídas com nível um representam que as entradas geram um

valor um na saída, contudo, vemos que várias linhas causam também este tipo de saída. Isso quer

dizer que a tabela 5.3 é o resultado da operação OU entre as tabelas que só possuem uma saída

com nível um.

Tabela 5.3. Tabela verdade simplificada e expandida da tabela 5.2.

Em segundo lugar, se nos interessa somente as linhas onde o nível lógico da saída tem

nível um e sabemos que quando a entrada tiver o número zero significa que a entrada é

“barrada”. Temos a nomenclatura da entrada representada pelo inverso da entrada e quando

tiver o número um significa que a entrada é sem nenhuma modificação.

Então, continuando a análise do exemplo proposto, podemos retirar da tabela verdade a

seguinte equação:

CBACBACBACBACBAS .......... ++++=

Esta equação representa na forma da simbologia lógica a tabela verdade acima, significa

que se nesta equação tivermos o valor de entrada semelhante ao da tabela acima, sempre terá a

85 XD102 – Eletrônica Digital e CPLD

saída respectiva. Agora baseado nesta equação, nós teríamos o seguinte circuito lógico

equivalente:

Figura 5.4. Representação lógica da equação.

Conforme você já deve ter observado, este circuito não é nada parecido com a figura 5.2.

Isto ressalta duas afirmativas, a primeira é que uma tabela verdade pode ser representada por

várias combinações lógicas diferentes e a segunda é que este circuito combinatório pode ser

simplificado de forma a usar uma quantidade menor de portas lógicas ficando do tamanho do

circuito da figura 5.2 ou até menor.

Para a segunda afirmativa, existe o método que permite simplificar as expressões lógicas

fazendo com que elas tenham equivalentes menores. Esta redução é obtida através do uso dos

mapas de Karnaugh já vistos aqui. Para se fazer a simplificação deste circuito, vamos transportar

as informações da tabela verdade para o mapa.

Figura 5.5. Mapa de Karnaugh da tabela 5.2.

86 XD102 – Eletrônica Digital e CPLD

Conforme já vimos antes, quando montamos o mapa e vemos que alguma entrada nas

áreas selecionadas muda de índice, zero para um ou vice-versa, ela não influencia naquela saída.

Com isso, através do mapa obtemos a seguinte equação:

CBAS +⋅=

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

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

Faça os testes, montando a tabela verdade deste circuito da forma que tínhamos visto

antes, você verá que, no final, você terá a mesma tabela da verdade.

5.1.4. Quais componentes comerciais podem ser utili zados

Depois de definido quais são as portas lógicas que representam à tabela verdade, devemos

definir também quais serão os componentes integrados que representarão este circuito. No

mercado existem vários fabricantes que disponibilizam toda a família TTL, geralmente utilizada

para este tipo de projeto. Podemos ver a nomenclatura e a composição de alguns membros desta

família a seguir ou consultando o apêndice B.

Atendo-nos somente ao nosso problema vemos que precisamos de pelo menos uma porta

E e uma porta OU, conforme nosso desenho. Entretanto, podemos ainda verificar que esta porta

E não tem um equivalente comercial, com suas entradas “barradas”, pode precisar de um outro

símbolo lógico bem conhecido. Este símbolo seria a porta inversora, fazendo com que a

montagem real desta expressão lógica fosse:

Figura 5.7. Circuito resultante da simplificação.

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

quantidade de portas lógicas necessárias continua a mesma. Fazendo uso de três CI’s TTL (7404,

7408 e 7432), mas eles possuem várias portas lógicas que ficariam ociosas, causado desperdício.

Uma das soluções que podem ser implementadas seria a substituição destas portas

equivalentes usando NÃO-

circuito integrado (CI). Abaixo temos uma destas soluções para o circuito da figura 50.

Figura 5.8. Circuito da figura 5.7 representado com portas NÃO

5.1.5. Desenhar o circuito final

Intuitivamente, sabemos então que qualquer circuito pode ser feito de várias formas

possíveis e utilizar diversas portas lógicas para representá

eletrônicos existentes no mercado, vamos ver como fi

5.7 e da figura 5.8.

XD102 – Eletr

Figura 5.7. Circuito resultante da simplificação.

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

portas lógicas necessárias continua a mesma. Fazendo uso de três CI’s TTL (7404,

7408 e 7432), mas eles possuem várias portas lógicas que ficariam ociosas, causado desperdício.

Uma das soluções que podem ser implementadas seria a substituição destas portas

-E (NAND), fazendo uma maior utilização dos componentes no

circuito integrado (CI). Abaixo temos uma destas soluções para o circuito da figura 50.

Figura 5.8. Circuito da figura 5.7 representado com portas NÃO

Desenhar o circuito final

Intuitivamente, sabemos então que qualquer circuito pode ser feito de várias formas

possíveis e utilizar diversas portas lógicas para representá-lo. Utilizando os componentes

eletrônicos existentes no mercado, vamos ver como ficaria a representação dos circuitos da figura

87 letrônica Digital e CPLD

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

portas lógicas necessárias continua a mesma. Fazendo uso de três CI’s TTL (7404,

7408 e 7432), mas eles possuem várias portas lógicas que ficariam ociosas, causado desperdício.

Uma das soluções que podem ser implementadas seria a substituição destas portas por suas

E (NAND), fazendo uma maior utilização dos componentes no

circuito integrado (CI). Abaixo temos uma destas soluções para o circuito da figura 50.

Figura 5.8. Circuito da figura 5.7 representado com portas NÃO-E.

Intuitivamente, sabemos então que qualquer circuito pode ser feito de várias formas

lo. Utilizando os componentes

caria a representação dos circuitos da figura

88 XD102 – Eletrônica Digital e CPLD

Figura 5.9. Circuito comercial da figura 5.7.

Nota-se claramente o desperdício de componentes lógicos nesta montagem, pois temos

somente duas portas inversoras em uso de seis! A falta de uso, além de desperdício, ocupa um

espaço maior na hora de confeccionar o circuito e gastam uma quantia maior na produção dos

equipamentos.

Figura 5.10. Circuito comercial da figura 5.8.

Vemos que na montagem da figura 5.10, baseada no circuito da figura 5.8, a quantidade

de componentes integrados foi diminuída a dois terços do circuito anterior e ainda utilizou-se um

maior número de portas lógicas por componente integrado, fazendo com que o projeto tivesse

uma menor utilização de espaço e reduzindo os custos de fabricação.

Devemos fazer algumas observações com relação ao uso real dos componentes, por

exemplo, devemos usar capacitores de desacoplamento na alimentação e ainda devemos ligar à

terra todas as entradas não usadas.

No nosso estudo vemos a partir de agora como essas associações são importantes para

dar as portas lógicas funções úteis que manipulam os bits conforme necessário.

89 XD102 – Eletrônica Digital e CPLD

6. Multiplexadores e decodificadores

Depois de vermos os conceitos mais simples da lógica binária, suas portas lógicas básicas

e seus principais equacionamentos, estamos prontos para estudar a utilização prática da

eletrônica digital. Isto consiste na implementação destes componentes lógicos para executarem

ações que proporcionem utilidade prática.

Os circuitos combinacionais são os responsáveis pelas operações lógicas e aritméticas

dentro de um sistema digital. Então além das operações lógicas e aritméticas como adição,

subtração complementação, etc. existem outras funções necessárias para a realização de

conexões entre os diversos operadores. Dentre essas funções estão a multiplexação e a

decodificação. Os elementos que realizam essas últimas operações são denominados

multiplexadores e decodificadores. A seguir, veremos como tais circuitos são constituídos.

6.1. Codificadores/Decodificadores

As informações que os circuitos digitais produzem estão na forma binária ou em outras

formas que não são compreendidas facilmente pelo usuário, ou ainda que não possam ser

utilizadas pelos circuitos seguintes do equipamento. Isso implica na necessidade de se ter

circuitos que processem uma informação codificada de modo a transformá-la em outra que

possam ser usada por dispositivos ou circuitos.

Podemos ter, por exemplo, a necessidade de apresentar um valor numérico na forma

decimal a partir de um valor binário ou produzir um impulso em determinado endereço numa

memória a partir de uma informação binária deste endereço. Nas aplicações digitais encontramos

diversos tipos de circuitos decodificadores, que serão vistos agora.

6.1.1. Decodificador de n para 2 n linhas.

Aqui temos circuitos que decodificam um sinal binário de n dígitos para uma de 2n saídas.

Com isso, para dois dígitos ou linhas de entrada, temos 2 x 2 linhas de saída. Para três linhas de

entrada, temos 2 x 2 x 2 linhas de saída ou 8, e assim por diante. Agora para compreender como

este tipo de decodificador funciona, vamos pegar sua configuração mais simples com duas linhas

de entrada e quatro de saída, usando quatro portas NÃO-E e dois inversores NÃO. Este circuito

aciona apenas uma das saídas a partir das quatro combinações possíveis do sinal de entrada.

90 XD102 – Eletrônica Digital e CPLD

Figura 6.1. Decodificador com quatro saídas a partir de dois bits de endereço.

A B S1 S2 S3 S4

0 0 0 1 1 1

0 1 1 0 1 1

1 0 1 1 0 1

1 1 1 1 1 0

Tabela 6.1. Tabela verdade da figura 6.1.

Observe que no seu funcionamento segundo a tabela verdade, a saída ativada vai ao nível

baixo quando o valor binário correspondente é aplicado à entrada. Quando estiver

desenvolvendo circuitos decodificadores na prática, não será preciso programar circuitos

decodificadores como este a partir de portas lógicas, pois existem circuitos integrados que já

realizam estas funções.

Entretanto, o ideal é que observe o funcionamento de cada porta lógica e suas

combinações, pois isto facilitará a compreensão do funcionamento do circuito como um todo.

Nunca devemos esquecer de como são formados os componentes integrados que usamos para

não fiquemos dependentes de uma só implementação. Aplicações possíveis para este circuito

podem ser facilmente imaginadas como, por exemplo, um circuito em que um contador binário é

ligado a um destes decodificadores de modo a fazer o acionamento seqüencial de lâmpadas. Para

determinar a velocidade com que as lâmpadas acendem, é só modificar o tempo de clock, através

da modificação do circuito oscilador.

91 XD102 – Eletrônica Digital e CPLD

6.1.2. Decodificador BCD para sete segmentos

Um tipo de decodificador muito usado nos projetos que envolvem eletrônica digital é o

que faz a conversão dos sinais BCD (Decimais Codificados em Binário) para acionar um

mostrador de sete segmentos. Podemos formar qualquer algarismo de zero a nove usando uma

combinação de sete segmentos de um mostrador. Assim, se quisermos fazer surgir o algarismo

cinco, bastará “acender” os segmentos a, c, d, f, g. Como os sinais codificados em binário não

servem para alimentar diretamente os mostradores, é preciso contar com um circuito que faça a

conversão.

Figura 6.2. Display de sete segmentos.

Figura 6.3. Esquema de interligação BCD – Display de sete segmentos.

Este tipo de circuito decodificador conta com quatro entradas, por onde entra a

informação BCD e sete saídas que correspondem aos sete segmentos do display que mostrará o

dígito correspondente. A combinação de níveis lógicos aplicados às entradas produzirá níveis

lógicos de saída que, aplicados aos segmentos de um display fazem aparecer o dígito

correspondente.

Um display é um dispositivo que apresenta uma informação numa forma que possa ser

lida por uma pessoa usuária daquele equipamento. Podemos ter displays simples que operam na

forma digital como seqüências de LEDs, displays que apresentam números (numéricos) e

displays que apresentam também símbolos gráficos (letras e sinais) denominados alfa-numérico.

Alguns mais sofisticados podem até apresentar imagens de objetos ou formas, como os usados

92 XD102 – Eletrônica Digital e CPLD

em equipamentos informatizados. O tipo mais comum de display usado nos projetos básicos de

digital é o numérico de sete segmentos, conforme o estudado a pouco.

A combinação do acionamento de sete segmentos possibilita o aparecimento dos

algarismos de zero a nove e também de alguns símbolos gráficos. O tipo mais comum usado nos

projetos digitais é o mostrador de LEDs, onde cada segmento é um diodo emissor de luz. Os

LEDs podem ser ligados de modo a ter o anodo conectado ao mesmo ponto, caso em que

dizemos que se trata de um display de anodo comum, ou podem ter os catodos interligados, caso

em que dizemos que se trata de um display de catodo comum.

Figura 6.4. Esquema elétrico do display de sete segmentos.

As correntes nos segmentos variam tipicamente entre 10 e 50 mA conforme o tipo, o que

nos leva a concluir que o consumo máximo ocorre quando o dígito oito é projetado (todos os

segmentos acesos) e pode chegar a 400 mA por dígito. Outro tipo de display também utilizado

com certa freqüência nos projetos é o de cristal líquido. Este display não “acende” quando

excitado.

93 XD102 – Eletrônica Digital e CPLD

A B C D a b c d e f g

0 0 0 0 0 1 1 1 1 1 1 0

1 0 0 0 1 0 1 1 0 0 0 0

2 0 0 1 0 1 1 0 1 1 0 1

3 0 0 1 1 1 1 1 1 0 0 1

4 0 1 0 0 0 1 1 0 0 1 1

5 0 1 0 1 1 0 1 1 0 1 1

6 0 1 1 0 1 0 1 1 1 1 1

7 0 1 1 1 1 1 1 0 0 0 0

8 1 0 0 0 1 1 1 1 1 1 1

9 1 0 0 1 1 1 1 1 0 1 1

Tabela 6.2. Tabela dos leds do display de sete segmentos.

Eletrodos transparentes ao serem excitados eletricamente pelo sinal do circuito fazem

com que o líquido com que ele está em contato torne-se opaco, deixando assim de refletir a luz.

Desta forma, o fundo branco do material deixa de ser visto, aparecendo em seu lugar uma região

preta. As regiões formam os segmentos conforme sua combinação tem o aparecimento dos

dígitos. No entanto, é mais difícil trabalhar com estes mostradores, pois eles exigem circuitos de

excitação especiais que também são mais caros.

A principal vantagem do mostrador de cristal líquido (LCD) é seu consumo, que é

centenas de vezes menores do que o de um mostrador de LEDs. Para as aplicações em que o

aparelho deve ser alimentado através de pilhas ou ficar permanentemente ligado, é muito

vantajoso usar o mostrador LCD.

6.1.3. Codificador Este circuito executa a função inversa do codificador, ou seja, produz um código diferente

em suas saídas para cada entrada diferente ativada. Podemos analisar o projeto do circuito

através de uma tabela verdade construída a partir da sua definição.

I I A

0

0

0

1

11

1

I

00

0

0

00

0

0

0

I B1 023

0

0

0

0

1

1

1

1

Tabela 6.3. Tabela verdade de um circuito codificador.

94 XD102 – Eletrônica Digital e CPLD

A tabela verdade pode parecer um pouco estranha, pois apesar de ter quatro variáveis de

entrada não tem a esperadas dezesseis linhas. O problema é que as quatro entradas só podem ser

ativadas uma de cada vez e com isso temos que eliminar todas as outras combinações possíveis

para elas, mas para resolvermos o circuito através dos mapas de Karnaugh teremos que ter todas

as linhas. Vamos então introduzir o conceito de irrelevância:

Em alguns casos de circuitos combinacionais temos situações que nunca acontecem e,

portanto não nos importaremos com os valores das entradas destes casos. Dizemos então que são

casos irrelevantes, ou seja, tanto faz as entradas terem nível lógico um ou nível lógico zero. A

grande vantagem desta situação é que para resolvermos os mapas de Karnaugh destes circuitos

podemos considerar os níveis lógicos como um ou como zero levando em consideração apenas

nos for mais conveniente para conseguirmos um maior enlace do mapa sem nos esquecer das

regras que regem esses enlaces. Analise então como fica o projeto deste codificador:

Figura 6.5. Funcionamento de um codificador.

Observe que a entrada I0 não é conectada no circuito propriamente dito e que pela lógica

isto está certo, pois quando esta estiver ativada devemos ter nas saídas A = 0 e B = 0.

Um exemplo de aplicação para os codificadores e decodificadores são os teclados de

computadores. Você já notou, durante o uso do seu computador que um teclado deste tipo tem

normalmente 105 teclas, mas o fio que os conecta com o gabinete da CPU é muito fino para

conter 105 fios. Na verdade as teclas são codificadas através de um codificador para economizar

fios.

Veja que um codificador com sete saídas pode ter 128 entradas. Isso significa que

podemos transmitir por uma via de sete fios 128 valores diferentes, onde cada valor representa

I I AI I B1 023

0 0

0

0

1

11 1

0 0

0

01

11 1

1

1

11

0

0

0

0

0 0

0

0

1

11 1

0 0

0

0

1

11 1

1

1

1

1

0

0

0

0

0

0

0

0

0

0

00

1

1

1

1

1

1

1

1

X

0

1

0

0

01

1 1

X

X X

X X

X XX X

X X

X X

X X

X X

X X

X X

X X

00 01 11 10

00

01

11

10

00 01 11 10

00

01

11

10

1

0

1

0

X

X

X

X

X

X

X

X

X

X

X

X

0

0

1

1

X

X

X

X

X

X

X

X

X

X

X

X

B = I + I1 3

A = I + I2 3

0I

3I

I1

I2A

B

0II1I2

3I

0II1I2 3I

95 XD102 – Eletrônica Digital e CPLD

uma tecla. O circuito responsável pela codificação de teclados dos computadores atuais é mais

complexo que este estudo, mas o princípio de funcionamento é o mesmo.

6.2. Multiplexadores/Demultiplexadores

6.2.1. Demultiplexador ou DEMUX

A configuração lógica estudada no item 6.1.1 pode ser usada para realizar uma função

muito interessante e útil: o direcionamento de dados num circuito. O fluxo de informações (tanto

analógicas como digitais) aplicado a uma entrada pode ser direcionado para qualquer uma das

saídas, conforme o comando aplicado à linha de seleção de dados.

Por exemplo, se na linha de seleção de dados ou controle for aplicado o valor 10(2), os

dados de entrada serão encaminhados para a terceira linha de saída. Na figura 6.6 mostramos um

circuito deste tipo implementado com portas TTL e que, portanto, só funciona com dados

digitais. Neste DEMUX os dados aplicados na entrada DADOS (DATA) são encaminhados

para uma das saídas (S1 a S4), conforme o “endereço” aplicado nas entradas A e B. No entanto,

os dados só podem “passar” no momento em que a entrada de habilitação EN (de enable) for

levada ao nível alto.

Figura 6.6. Demultiplexador de quatro saídas com enable.

Também é possível encontrar diversos circuitos integrados em tecnologia CMOS ou TTL

que contêm estas funções, alguns operando até com sinais analógicos.

6.2.2. Multiplexadores ou MUX

O nome parece complicado, mas sua função é muito simples:

possuem várias entradas, um controle e uma única saída, permitindo que o usuário mostre na

saída o valor de qualquer das variáveis de entrada dependendo do valor que introduzir no

controle.

Parece complicado? Imagine uma centra

trafegam por ela são compostas de bits

multiplexação no tempo para que numa mesma saída (comumente chamado de canal), eu tenha

os sinais de entrada cada um no seu tempo. Com isso, temos partes do tempo em que a saída

ficará com uma entrada, e depois com outra e outra, fazendo a multiplexação das entradas em

uma só saída. Circuitos multiplexadores são empregados nos circuitos digitais sempre que se

deseja usar o mesmo condutor elétrico (ou o mesmo barramento) para transportar, de cada vez,

um dentre diversos sinais possíveis. Observe abaixo o seguinte circuito multiplexador

Figura 6.7. Circuito multiplexador de oito entradas.

Do lado esquerdo estão às e

controle, que podem receber valores (em binário) variando de zero (000) a sete (111). Os valores

de cada terminal de controle C

cada um deles submetido a uma porta NÃO) e os valores das entradas são encaminhados a oito

portas E cujas saídas se juntam na entrada de uma porta OU.

XD102 – Eletr

6.2.2. Multiplexadores ou MUX

O nome parece complicado, mas sua função é muito simples: Circuitos multiplexadores

possuem várias entradas, um controle e uma única saída, permitindo que o usuário mostre na

saída o valor de qualquer das variáveis de entrada dependendo do valor que introduzir no

Parece complicado? Imagine uma central telefônica moderna, todas as informações que

trafegam por ela são compostas de bits zero e um. Algumas dessas centrais utilizam um forma de

multiplexação no tempo para que numa mesma saída (comumente chamado de canal), eu tenha

um no seu tempo. Com isso, temos partes do tempo em que a saída

ficará com uma entrada, e depois com outra e outra, fazendo a multiplexação das entradas em

uma só saída. Circuitos multiplexadores são empregados nos circuitos digitais sempre que se

sar o mesmo condutor elétrico (ou o mesmo barramento) para transportar, de cada vez,

um dentre diversos sinais possíveis. Observe abaixo o seguinte circuito multiplexador

Figura 6.7. Circuito multiplexador de oito entradas.

Do lado esquerdo estão às entradas, E0 a E7. Acima, os três terminais do dispositivo de

controle, que podem receber valores (em binário) variando de zero (000) a sete (111). Os valores

de cada terminal de controle C0, C1 e C2, assim como seus complementos (resultados da saída de

a um deles submetido a uma porta NÃO) e os valores das entradas são encaminhados a oito

portas E cujas saídas se juntam na entrada de uma porta OU.

96 letrônica Digital e CPLD

Circuitos multiplexadores

possuem várias entradas, um controle e uma única saída, permitindo que o usuário mostre na

saída o valor de qualquer das variáveis de entrada dependendo do valor que introduzir no

moderna, todas as informações que

Algumas dessas centrais utilizam um forma de

multiplexação no tempo para que numa mesma saída (comumente chamado de canal), eu tenha

um no seu tempo. Com isso, temos partes do tempo em que a saída

ficará com uma entrada, e depois com outra e outra, fazendo a multiplexação das entradas em

uma só saída. Circuitos multiplexadores são empregados nos circuitos digitais sempre que se

sar o mesmo condutor elétrico (ou o mesmo barramento) para transportar, de cada vez,

um dentre diversos sinais possíveis. Observe abaixo o seguinte circuito multiplexador

Figura 6.7. Circuito multiplexador de oito entradas.

. Acima, os três terminais do dispositivo de

controle, que podem receber valores (em binário) variando de zero (000) a sete (111). Os valores

, assim como seus complementos (resultados da saída de

a um deles submetido a uma porta NÃO) e os valores das entradas são encaminhados a oito

97 XD102 – Eletrônica Digital e CPLD

Analise bem: a saída de uma porta E somente é VERDADEIRA se todas as entradas o

forem. Então, se qualquer entrada proveniente de um dos terminais de controle for FALSA, a

saída da porta E correspondente será obrigatoriamente falsa. Devido à combinação das conexões

dos terminais de controle e seus complementos com as portas E, somente uma delas (a que

corresponder ao número que se entrou no controle) receberá três entradas VERDADEIRAS

provenientes do controle.

Exemplificando: Se entrarmos, por exemplo, com o número 5 (101 em binário) no

controle, somente a porta E ligada à entrada E5 receberá três entradas VERDADEIRAS oriundas

do controle. Essa será a única porta E cuja saída poderá variar (pois as saídas das demais serão

sempre FALSAS por receberem pelo menos um sinal FALSO). Se, no exemplo, a entrada E5

tiver um valor VERDADEIRO, a saída da porta E correspondente também será

VERDADEIRA, posto que as outras três (do controle) serão igualmente VERDADEIRAS. Por

outro lado, se a entrada E5 contiver um sinal FALSO, a saída da porta E correspondente também

será FALSA, pois a combinação das três entradas VERDADEIRAS do controle com o valor

FALSO de E5 resultará em FALSO. Portanto, a saída da porta E ligada a E5 refletirá o estado de

E5: VERDADEIRO se E5 for VERDADEIRO, FALSO se E5 for FALSO.

Como os resultados de todas as portas E são combinados através de uma porta OU e

como todas as demais portas E terão a saída FALSA (devido a uma entrada FALSA proveniente

do controle), quando se entra com o valor “5” no controle, a saída do circuito multiplexador

refletirá o estado da entrada E5: VERDADEIRO se E5 for VERDADEIRO, FALSO se E5 for

FALSO. Uma situação análoga ocorrerá com qualquer outro valor que se entre no controle.

6.2.3. Multiplexadores e demultiplexadores analógic os

Diferente dos multiplexadores e demultiplexadores que nós vimos até a pouco, os

multiplexadores analógicos não são usados para propagar sinais digitais mais sinais analógicos.

Para tanto, as portas lógicas comumente utilizadas neste tipo de circuito não são portas E e sim

transistores que trabalham nas áreas de corte e saturação, permitindo que o sinal flua da entrada

selecionada para a saída.

Por exemplo, imagine que você seja o responsável pela segurança de um prédio com oito

andares. Para melhor observar quem circula pelos corredores, instalou em cada andar uma

câmara de vídeo. Mas, em vez de instalar oito monitores em sua sala, resolveu trabalhar com um

único monitor, que mostrará na tela a imagem de uma câmera de cada vez, dependendo de sua

escolha.

98 XD102 – Eletrônica Digital e CPLD

Para isso você instalou um circuito multiplexador com oito entradas (cada uma captando

o sinal de uma câmara), uma saída (que será encaminhada ao único monitor) e um controle no

qual você pode entrar com valores que variam de zero a sete, capaz de selecionar, portanto

qualquer uma das oito câmaras (não esqueça que o térreo é o pavimento “zero”).

Digamos que você quer ver o que se passa no térreo: basta entrar com “zero” no

dispositivo de controle que o circuito multiplexador enviará para o monitor o sinal da câmara de

número “0”, exibindo a imagem do corredor do andar térreo. Se desejar verificar o que se passa

no sexto andar, entre com “6” no controle e o sinal da câmara instalada no sexto andar será

encaminhado ao monitor. E assim por diante.

99 XD102 – Eletrônica Digital e CPLD

7. Circuitos Aritméticos

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

subtração, multiplicação e divisão com números binários. A operação aritmética mais simples é a

adição de dois dígitos binários, que consiste de quatro possíveis operações elementares.

As três primeiras operações produzem um dígito de soma. Entretanto, quando ambos os

operandos são iguais a 1, são necessários dois dígitos para expressar seu resultado. Neste caso, o

transporte (vai-um ou carry, em inglês) é somado ao próximo par mais significativo de bits. Um

circuito combinacional que implementa a adição de dois bits é chamado meio-somador (half

adder, em inglês). Um circuito que implementa a adição de três bits (dois bits significativos e um

carry) é chamado de somador completo (full adder, em inglês).

Estes nomes decorrem do fato de que com dois meio-somadores pode-se implementar um

somador completo. O somador completo é um circuito aritmético básico a partir do qual todos os

outros circuitos aritméticos são construídos.

7.1. Meio somador (half adder) e somador completo ( full adder)

A operação aritmética mais simples é a adição de dois dígitos binários (bits), a qual pode

ser vista como a adição de dois números binários de um bit cada. Considerando-se todas as 4

combinações de valores que podem ocorrer, os resultados possíveis dessa adição são: 0 + 0 = 0; 0

+ 1 = 1; 1 + 0 = 1; 1 + 1 = 10

Repare que no último caso acima, o resultado da adição é o valor dois, que em binário

necessita de dois dígitos para ser representado (10(2)). No caso, um circuito lógico aritmético para

realizar a adição de dois bits deve operar corretamente para qualquer combinação de valores de

entrada. Isso significa que o circuito para a adição de dois bits deve possuir duas entradas e duas

saídas, conforme ilustrado na figura 7.1.

Figura 7.1. Disposição de entradas e saídas de um meio somador.

100 XD102 – Eletrônica Digital e CPLD

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

figura 7.1 é denominado meio somador (half adder, em inglês). As duas entradas, A e B,

representam os dois bits a serem adicionados. A saída S representa o dígito menos significativo

do resultado, enquanto que a saída S representa o dígito mais significativo do resultado, o qual

também é conhecido por transporte de saída (carry out, em inglês). Uma vez que ele assume valor

um somente quando o resultado da soma de A e B não pode ser representado num único dígito.

A fim de se projetar o circuito do meio somador, devemos montar uma tabela verdade

para as saídas S e C utilizando-se os valores que resultam da adição de dois dígitos binários, da

forma a seguir:

A B S C

0 0 0 0

0 1 1 0

1 0 1 0

1 1 0 1

Tabela 7.1. Tabela verdade de um meio somador.

Note que a saída S nada mais é do que uma operação OU - Exclusivo entre A e B. Já a

saída C é o E entre A e B. Então, um circuito para o meio somador usa apenas uma porta OU -

Exclusivo de duas entradas e uma porta E de duas entradas.

Figura 7.2. Representação de um meio somador.

Entretanto, quando ao somarmos dois números binários que possuem mais de um dígito

cada ocorrer transporte diferente de zero para a soma de um par de dígitos intermediários, a

101 XD102 – Eletrônica Digital e CPLD

soma do par seguinte deverá considerar esse transporte proveniente do par anterior, conforme

ilustra o exemplo a seguir.

Figura 7.3. Adição de dois números binários de quatro dígitos.

O circuito capaz de realizar a soma de três bits (A, B e Cn), gerando o resultado em dois

bits (S e C) é denominado somador completo (full adder, em inglês). Apesar da entrada Cn

normalmente receber o transporte proveniente da soma imediatamente anterior (carry in, em

inglês), a rigor as três entradas são absolutamente equivalentes sob o ponto de vista funcional. A

tabela verdade para a soma completa é mostrada a seguir, juntamente com o mapa de Karnaugh

e as equações mínimas resultantes para S e Cn+1. A seguir temos um circuito para o somador

completo.

Figura 7.4. Mapa K (Karnaugh) de um somador completo.

BA S

0 0

0

0

1

11 1

0 0

0

0

1

11 1

1

1

1

1

0

0

0

0

Cn Cn+1

0

1

1

1 11

1

1

1

00

0

0

00 0

A B

00

01

11

10

0 1Cn

00

01

11

10

0 1

0

0

0

0

1

1 1

1

A BCn

0 1

0

0

0

1

1

1

S = C AB + C AB + C AB + C ABn n n n

_ _ _ _ _ _C = C B + AB + C An nn+1

102 XD102 – Eletrônica Digital e CPLD

Figura 7.5. Esquema lógico de um somador completo.

Este circuito lógico representa um somador completo sendo representado por portas

lógicas simples. Esta soma é de somente dois bits, entretanto seria inviável se toda vez que fosse

fazer um circuito somador de 4 bits fosse necessário o uso de tantas portas lógicas. Com isso,

depois de aplicar a tabela verdade do circuito no mapa de karnaugh, podemos ver que o seu

circuito fica simplificado.

Figura 7.6. Diagrama lógico simplificado de um somador completo.

7.1.1. Somador paralelo tipo ripple carry

Utilizando-se n somadores completos, pode-se realizar um somador capaz de operar dois

números binários de n bits. Particularmente, o dígito de ordem i do resultado, Si, será obtido pela

adição de Ai, Bi e Ci, onde Ci é o transporte proveniente do dígito anterior. O somador de índice i

recebe como entradas Ai, Bi e Ci, gerando a soma Si e o valor de transporte Ci+1, o qual será

entrada para o somador completo do dígito seguinte (i+1). Uma forma de facilitar a visualização

do somador seria colocá-lo representada da mesma forma como foi representado o meio

somador.

A

BCn

S Cn+1

103 XD102 – Eletrônica Digital e CPLD

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

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

Repare que o somador completo mais a direita, podendo também ser chamado de FAD0

(Full Adder 0), também possui uma entrada Cin. Como inicialmente não existe um valor de

transporte a ser somado aos dígitos menos significativos, A0 e B0, esta entrada deverá estar

constantemente ligada a zero, através do terra do circuito. Já a saída de transporte Cout do dígito

mais significativo, serve para indicar se o resultado da adição entre A e B pode ser representado

em quatro bits ou cinco bits. Caso o resultado não possa ser representado em quatro bits, Cout irá

exibir o valor 1; Essa situação é chamada de overflow.

Observe também que, uma vez que um novo par de valores A e B é fornecido ao circuito

somador, as últimas duas saídas a se estabilizarem são S3 e o Cout mais a esquerda, uma vez que

estas dependem de Cout do anterior, sendo este dependente da estabilização de Cout do seu

anterior e assim por diante. Desta forma, pode-se aproximar o atraso deste somador como sendo

proporcional ao número de estágios (número de somadores completos em cascata). Com efeito, a

propagação do transporte ou carry ao longo da cadeia de somadores é o ponto fraco deste tipo de

somador. Existem outros tipos de somadores capazes de operar mais rapidamente, mas que não

serão abordados aqui.

A construção de um somador para operar dois números binários de n bits requer o uso de

n somadores completos, conectados segundo a mesma topologia mostrada na figura 7.5. É

104 XD102 – Eletrônica Digital e CPLD

importante ressaltar que tal somador pode operar dois números inteiros quaisquer, positivos ou

negativos, desde que ambos estejam representados em complemento de 2.

7.2. Somador/Subtrator

A subtração de dois números inteiros em binário pode ser feita utilizando-se a seguinte

fórmula:

1++=−= BABAS ,

Onde todas as operações são aritméticas, exceto B , que representa a complementação de

B, bit a bit. A figura 7.9 mostra um circuito somador/subtrator de quatro bits. Esse circuito é

originado do somador paralelo de quatro bits, porém com a adição de portas ou-exclusivo nas

entradas associadas a B, de modo a permitir a negação individual de cada bit de B.

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

A tabela que segue mostra o funcionamento deste circuito, em função dos sinais de

controle seletor e Carry in A.

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

0 0 S = A + B + 0 Soma A e B sem Carry

1 1 S = A + B + 1 Subtrai B de A com carry

Tabela 7.2. Tabela de funcionamento do somador/subtrator.

105 XD102 – Eletrônica Digital e CPLD

O exemplo do que ocorre com o somador paralelo apresentado na seção anterior,

também o somador/subtrator pode operar dois números inteiros quaisquer, positivos ou

negativos, desde que tais números estejam representados em complemento de dois.

Caso os dois números a serem operados estivessem representados em sinal-magnitude,

por exemplo, seria necessário existir um circuito para testar o sinal de cada número e comparar

as magnitudes, para só então realizar a soma ou a subtração.

Como isso representaria a necessidade de um hardware mais complexo, e possivelmente

mais caro e mais então, a representação em complemento de dois é dominantemente utilizada

nos computadores atuais.

O uso do complemento dois significa a soma do bit “1” a uma palavra em

complemento um. E ainda a palavra em complemento um significa que ela tem seus bits

invertidos, ou seja, se na palavra original era “1” com o complemento passará a ser “0”.

7.3 Comparador de magnitude Existem circuitos capazes de comparar valores binários e apresentar informações sobre

eles. Esses circuitos são chamados somadores e apresentam em suas saídas valores que indicam

se dois valores de entrada são iguais ou não e, não sendo, qual dos dois é maior.

Em primeiro lugar, a verificação de que dois valores são iguais é feita usando a

propriedades da por ta não-ou-exclusiva. Conforme pode ser observado na tabela abaixo, quando

os dois bits de entrada são iguais, a saída é ‘1’.

A B S

0 0 1

0 1 0

1 0 0

1 1 1

106 XD102 – Eletrônica Digital e CPLD

Assim sendo, para comparar dois valores basta aplicar os bits correspondentes das duas

palavras em portas não-ou-exclusivas e aplicar o resultado de todas as portas em uma porta “E”.

Abaixo temos um exemplo de circuito para comparar se dois valores de 4 bits (A e B) são iguais,

apresentando ‘1’ na saída “A=B” caso sejam.

Figura 7.10. Comparador de igualdade de palavras 4 bits

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

raciocínio:

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

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

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

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

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

Esse mesmo raciocínio pode ser aplicado para quantos bits se queira comprar e pode ser

implementado através de circuitos combinacionais.

Um exemplo de circuito integrado para comparar valores de 8 bits é o 74682, cujo

circuito interno é apresentado a seguir.

107 XD102 – Eletrônica Digital e CPLD

Figura 7.9. Diagrama interno do integrado 74682.

7.4 Unidade lógica aritmética Como se pode observar, à medida que a complexidade das operações matemáticas é

maior os circuitos necessários aumentam. Isso ocorre também com o aumento do número de bits

envolvidos na operação. Para solucionar esses problemas foram desenvolvidos circuito integrados

capazes de realizar diversas operações lógicas e aritméticas, envolvendo palavras de 4 ou 8 bits.

Esse circuito é chamado de ULA – Unidade Lógica Aritmética (em inglês ALU – Arithmetic Logic

108 XD102 – Eletrônica Digital e CPLD

Unit). Por esse nome também se designa o blocos interno responsável por operações lógicas e

aritméticas em processadores e microcontroladores.

Uma ULA tipicamente tem duas palavras de entrada (4 ou 8 bits) e uma palavra de saída

(4 ou 8 bits, respectivamente). A seleção da operação a ser realizada é feita através de entradas

com esses fins. Adicionalmente, podem ser encontrados saídas que indicam se o resultado é igual

a zero, se ouve estouro da capacidade de representação, comparação se os valores de entrada são

iguais, qual o maior, etc...

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

valores inteiros, isto é, internamente existe carry que o resultado de um bit influencie o resultado

do seguinte. No caso das operações lógicas, os bits são tratados individualmente, respeitando-se

apenas a posição dos bits nas duas palavras.

Como exemplo de circuito integrado ULA, temos a 74181, capaz de realizar operações de

soma, subratração, OU, E, OU-Exclusivo, complemento (inversão dos bits) com palavras de 4

bits. Além disso o componente também informa se as duas palavras de entrada são iguais, se

houve estouro da capacidade de representação e possui entrada e saída de carry (para ligação em

cascata).

109 XD102 – Eletrônica Digital e CPLD

8. Circuitos Seqüenciais – Flip-flop’s

Os flip-flop’s são elementos lógicos que podem apresentar em seu funcionamento apenas

dois estados estáveis. Não existem estados intermediários entre estes dois estados. A aplicação de

um sinal de entrada pode mudar o dispositivo de um estado para outro e como a qualquer

momento podemos saber qual é o estado em que ele se encontra, é possível considerar este

circuito como uma memória capaz de armazenar um bit. O flip-flop é o elemento básico das

chamadas memórias estáticas. Existem diversos tipos de flip-flop’s encontrados nos circuitos

digitais e o analisaremos adiante.

8.1. Flip-Flop RS

O Flip-Flop RS (de Reset e Set) tem sua configuração com transistores mostrada na figura

8.1 e funciona da seguinte maneira: Quando alimentamos o circuito, dada às poucas diferenças

que podem existir entre as características dos dois transistores, um deles conduzirá mais do que o

outro. Supondo que este transistor seja Q1, há uma queda de tensão no seu coletor que reduz em

conseqüência a corrente que polariza a base de Q2 via R2. Nestas condições, a tensão do coletor

de Q2 se mantém alta, realimentando a base de Q1 via R3 e a situação final do circuito é

estabelecida: Q1 satura e Q2 fica no corte. O flip-flop encontra seu estado estável inicial. O flip-

flop R-S tem duas saídas representadas por Q e Q , assim, na condição inicial estável, com Q1

conduzindo, Q estará no nível baixo (0) e Qestará no nível alto (1).

Figura 8.1. Circuito equivalente a um flip-flop RS.

110 XD102 – Eletrônica Digital e CPLD

O processo que leva o flip-flop a este estado inicial pronto para funcionar é muito rápido,

não demorando mais do que alguns microssegundos. Quando o flip-flop se encontra na situação

indicada, com Q=0 e 1=Q , dizemos que ele se encontra “setado” ou armado. A mudança de

estado do flip-flop pode ser obtida aplicando-se um sinal conveniente na entrada. Como usamos

transistores NPN para comutar o flip-flop, temos de fazer conduzir por um instante o transistor

que está cortado, ou seja, devemos aplicar um pulso positivo na entrada correspondente. Assim,

estando o flip-flop na condição indicada, se desejarmos mudar o estado, aplica-se o pulso na

entrada SET. O transistor Q2 conduz por um instante, realimentando via R3 a base de Q1 que é

cortado.

Com o corte, a tensão na base de Q2 sobe via polarização de R2 e mesmo que o pulso de

disparo desapareça, o circuito se mantém no novo estado graças à realimentação. Sua saída Q vai

ao nível (1) e a saída Q vai ao nível (0). Para trocar novamente de estado o flip-flop R-S,

aplicamos um pulso positivo na entrada RESET, levando Q1 à saturação e Q2 ao corte, situação

que se firma mesmo depois de desaparecido o pulso graças à realimentação proporcionada pelos

resistores.

Veja que um pulso aplicado à entrada SET, correspondendo a um bit 1, faz com que a

saída Q que estava em zero passe a um, armazenando este bit. O flip-flop funciona realmente

como uma memória para este bit.

Da mesma forma como utilizamos transistores bipolares NPN para obter um flip-flop,

podemos também empregar outros tipos de componentes em configurações semelhantes

podemos elaborar flip-flop’s usando transistores PNP, caso em que a polaridade dos sinais de

disparo vai ser invertida. Da mesma forma, podemos usar transistores de efeito de campo, tanto

de canal N como canal P (bipolares ou JFET’s) como também transistores de efeito de campo

MOS com os dois tipos de canal (N ou P). O que mudará em cada caso é o sentido de circulação

das correntes e as polaridades dos sinais aplicados.

Como observamos os flip-flop’s também podem ser feitos com válvulas e na realidade os

primeiros que existiram eram justamente montados com estes componentes. Naquela época não

existiam transistores e nem circuitos integrados. Os flip-flop’s podem ser elaborados com portas

lógicas e o RS que estudamos pode ser facilmente obtido a partir de duas portas E de duas

entradas.

Figura 8.2. Flip

Levando em conta as tabelas verdade das portas NÃO

porta realimenta a segunda e

quando o flip-flop comuta. No entanto, a comutação deste circuito ocorre quando as entradas

passam do nível alto para o baixo, ou seja, de um para zero. Esta condição é indicada pelos

símbolos R’ e S’ nas entradas.

Então, quando as entradas estão ambas no nível baixo, o flip

em que foi colocado por ser ligado ou por uma comutação anterior. Por outro lado, se as

entradas forem levadas simultaneamente ao nível alto, o fl

indeterminado que deve ser evitado. Na prática, a aplicação de níveis altos nas duas entradas

pode destruir o dispositivo.

O diagrama de tempos mostrados abaixo nos permite mostrar o que ocorre no

funcionamento de um flip-flop po

Figura 8.3. Diagrama de tempo do flip

a. Flip-flop resetado;

XD102 – Eletr

igura 8.2. Flip-Flop RS com portas NÃO-E.

Levando em conta as tabelas verdade das portas NÃO-E vemos que a saída da primeira

porta realimenta a segunda e vice-versa, garantindo assim a continuidade dos estados obtidos

flop comuta. No entanto, a comutação deste circuito ocorre quando as entradas

passam do nível alto para o baixo, ou seja, de um para zero. Esta condição é indicada pelos

s R’ e S’ nas entradas.

Então, quando as entradas estão ambas no nível baixo, o flip-flop se mantém no estado

em que foi colocado por ser ligado ou por uma comutação anterior. Por outro lado, se as

entradas forem levadas simultaneamente ao nível alto, o flip-flop irá para um estado

indeterminado que deve ser evitado. Na prática, a aplicação de níveis altos nas duas entradas

O diagrama de tempos mostrados abaixo nos permite mostrar o que ocorre no

flop por etapas, sendo analisados da seguinte forma:

Figura 8.3. Diagrama de tempo do flip-flop RS.

111 letrônica Digital e CPLD

E vemos que a saída da primeira

versa, garantindo assim a continuidade dos estados obtidos

flop comuta. No entanto, a comutação deste circuito ocorre quando as entradas

passam do nível alto para o baixo, ou seja, de um para zero. Esta condição é indicada pelos

flop se mantém no estado

em que foi colocado por ser ligado ou por uma comutação anterior. Por outro lado, se as

flop irá para um estado

indeterminado que deve ser evitado. Na prática, a aplicação de níveis altos nas duas entradas

O diagrama de tempos mostrados abaixo nos permite mostrar o que ocorre no

r etapas, sendo analisados da seguinte forma:

112 XD102 – Eletrônica Digital e CPLD

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

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

d. R vai ao nível 1 e o flip-flop é resetado;

e. R volta ao nível 0 e o flip-flop permanece resetado;

Tudo isso pode ser representado por uma tabela verdade, da mesma forma que fazemos com

as funções lógicas. Nesta tabela temos algumas nomenclaturas que devemos nos familiarizar e

que são amplamente usadas, a saber:

Primeira possibilidade: Qn-1 = representa o estado da saída Q ANTES da aplicação dos sinais. Qn

= representa o estado da saída Q DEPOIS da aplicação dos sinais.

Segunda possibilidade: Q = representa o estado da saída Q ANTES da aplicação dos sinais. Qn+1

= representa o estado da saída Q DEPOIS da aplicação dos sinais.

Os dois tipos de representação são usados. Nas colunas e linhas em que são colocados os

níveis lógicos zero e um, quando aparece o termo Qn ou nQ significa que a saída vai para um

estado indeterminado.

R S 1+Qn 1+nQ

0 0 Qn nQ

0 1 1 0

1 0 0 1

1 1 X X

Tabela 8.1. Tabela verdade do Flip-Flop RS.

Temos ainda que ver que a ultima condição não é aceita pois poderia danificar o

equipamento. Ainda, igualmente com o que fizemos na representação dos somadores, existe uma

forma de representar este tipo de circuito lógico através de uma figura simples.

Figura 8.4. Representação do flip

8.2. Flip- Flop RS com clock e mestre

Estes circuitos chamados de flip

encontram uma gama de aplicações muito gran

estes são sempre comandados por um clock, ou seja, são circuitos lógicos sincronizados.

O uso de um circuito de controle (mestre) que determina quando o flip

muda de estado é importante para p

em determinados instantes. Usando portas NÃO

controlado por clock (Master

Figura 8.5. Flip

Analisemos seu funcionamento: Partindo da situação em que a entrada de clock (relógio)

esteja no nível baixo, as saídas Q e

insensíveis a qualquer variação que ocorra nas entradas S e R. Qu

levada ao nível 1, o circuito passa a responder aos sinais das entradas R e S. No entanto,

conforme o diagrama de tempos abaixo, este circuito tem um inconveniente.

XD102 – Eletr

Figura 8.4. Representação do flip-flop RS.

Flop RS com clock e mestre -escravo

stes circuitos chamados de flip-flop RS controlados por clock e mestre escravo

encontram uma gama de aplicações muito grande nos circuitos digitais mais complexos, já que

estes são sempre comandados por um clock, ou seja, são circuitos lógicos sincronizados.

O uso de um circuito de controle (mestre) que determina quando o flip

muda de estado é importante para permitir que as mudanças de estado do flip

em determinados instantes. Usando portas NÃO-E podemos implementar um flip

Master-Slave).

Figura 8.5. Flip-flop RS controlado por clock com portas NÃO

seu funcionamento: Partindo da situação em que a entrada de clock (relógio)

esteja no nível baixo, as saídas Q e Q permanecerão no estado inicial em que se encontravam e

insensíveis a qualquer variação que ocorra nas entradas S e R. Quando a entrada de clock for

levada ao nível 1, o circuito passa a responder aos sinais das entradas R e S. No entanto,

conforme o diagrama de tempos abaixo, este circuito tem um inconveniente.

113 letrônica Digital e CPLD

flop RS controlados por clock e mestre escravo

de nos circuitos digitais mais complexos, já que

estes são sempre comandados por um clock, ou seja, são circuitos lógicos sincronizados.

O uso de um circuito de controle (mestre) que determina quando o flip-flop (escravo)

ermitir que as mudanças de estado do flip-flop só ocorram

E podemos implementar um flip-flop RS

flop RS controlado por clock com portas NÃO-E.

seu funcionamento: Partindo da situação em que a entrada de clock (relógio)

permanecerão no estado inicial em que se encontravam e

ando a entrada de clock for

levada ao nível 1, o circuito passa a responder aos sinais das entradas R e S. No entanto,

conforme o diagrama de tempos abaixo, este circuito tem um inconveniente.

Figura 8.6. Diagrama de tempo do flip

Como as saídas acompanham as entradas, durante o tempo em que o clock as habilita,

estas saídas podem mudar de estado mais de uma vez, voltando assim ao estado inicial, o que

não é desejado de forma alguma. Um modo de contornar este problema consiste na util

duas etapas numa configuração mais complexa.

Figura 8.7. Flip

Este circuito é denominado Flip

faz uso de portas NÃO-E e de um inversor, cuja finalidade é inv

caso, quando a entrada de clock for ao nível um, o flip

flop escravo permanecerá insensível, mantendo seu estado.

Quando a entrada de clock passar para o nível lógico zero, a saída do f

levada para o escravo. Isso significa que o flip

clock, ou seja, se ele é zero ou um, mas sim à sua transição. As saídas Q e

estado no instante em que ocorrer a transição do sinal de clock do nível alto para o nível baixo.

Com esta configuração é possível garantir que só vai ocorrer uma mudança de estado na presença

de um pulso de clock. Os flip

Triggered” ou “Disparados pela borda”.

XD102 – Eletr

Figura 8.6. Diagrama de tempo do flip-flop RS com clock.

mo as saídas acompanham as entradas, durante o tempo em que o clock as habilita,

estas saídas podem mudar de estado mais de uma vez, voltando assim ao estado inicial, o que

não é desejado de forma alguma. Um modo de contornar este problema consiste na util

duas etapas numa configuração mais complexa.

Figura 8.7. Flip-flop RS mestre-escravo completo.

Este circuito é denominado Flip-Flop RS Mestre-Escravo ou Flip-

E e de um inversor, cuja finalidade é inverter o pulso de clock. Neste

caso, quando a entrada de clock for ao nível um, o flip-flop mestre mudará de estado, mas o flip

flop escravo permanecerá insensível, mantendo seu estado.

Quando a entrada de clock passar para o nível lógico zero, a saída do f

levada para o escravo. Isso significa que o flip-flop em seu todo não é sensível ao nível do sinal de

clock, ou seja, se ele é zero ou um, mas sim à sua transição. As saídas Q e

em que ocorrer a transição do sinal de clock do nível alto para o nível baixo.

Com esta configuração é possível garantir que só vai ocorrer uma mudança de estado na presença

de um pulso de clock. Os flip-flop’s que funcionam desta forma são denominados “Ed

Triggered” ou “Disparados pela borda”.

114 letrônica Digital e CPLD

flop RS com clock.

mo as saídas acompanham as entradas, durante o tempo em que o clock as habilita,

estas saídas podem mudar de estado mais de uma vez, voltando assim ao estado inicial, o que

não é desejado de forma alguma. Um modo de contornar este problema consiste na utilização de

-Flop RS Master-Slave e

erter o pulso de clock. Neste

flop mestre mudará de estado, mas o flip-

Quando a entrada de clock passar para o nível lógico zero, a saída do flip-flop mestre será

flop em seu todo não é sensível ao nível do sinal de

clock, ou seja, se ele é zero ou um, mas sim à sua transição. As saídas Q e Q só vão mudar de

em que ocorrer a transição do sinal de clock do nível alto para o nível baixo.

Com esta configuração é possível garantir que só vai ocorrer uma mudança de estado na presença

flop’s que funcionam desta forma são denominados “Edge

115 XD102 – Eletrônica Digital e CPLD

Se a mudança de estado ou disparo (engatilhamento) ocorrer quando o sinal de clock

passa de zero para um, os flip-flop’s são denominados “positive edge-triggered”, enquanto que, se

o disparo ocorre quando o clock vai do nível um para zero, na queda do nível lógico, os flip-flop’s

chamam-se “negative edge-triggered”.

Neste tipo de circuito é muito importante levar em conta, num projeto de maior

velocidade, o tempo gasto para todo o processo, porque temos que levar em consideração o

tempo que o circuito demora para sair de um nível lógico e ir para outro. Assim, partindo do

diagrama de tempos da figura 8.8, vemos que a saída do flip-flop só completa sua mudança de

estado depois de certo tempo, do pulso de clock ter sido aplicado. Dois tempos são importantes

neste tipo de circuito.

Figura 8.8. Temporização no Flip-flop RS mestre-escravo.

• tH: Hold Time ou Tempo de Manutenção é o tempo em que a entrada deve

permanecer ainda no circuito para que seu nível lógico seja reconhecido pelo flip-

flop.

• tS: Setup Time ou tempo em que a entrada do flip-flop deve permanecer no

estado desejado antes da transição do clock que vai provocar a mudança de

estado do circuito. Duas entradas podem ser acrescentadas neste circuito,

dotando-o de recursos importantes para aplicações práticas.

Uma das entradas é denominada PRESET (PR’) ou pré-ajuste e tem por função levar

imediatamente as saídas do circuito a um estado determinado (Q=1 e Q =0),

independentemente do que estejam acontecendo nas demais entradas. Sua ativação ocorre

quando PR’ estiver em zero e CLR’ em um, no caso apresentado, pois o símbolo ‘ sobre a

identificação indica que ela está ativa no nível baixo.

Figura 8.9. Ligação das entradas

A outra entrada denominada

estados Q=0 e Q’=1, independentemente do que estiverem ocorrendo nas demais entradas.

Como as entradas PRESET

clock, estas são chamadas de entradas assíncronas; Em oposição, as entradas R e S que são

síncronas, isto é, sincronizadas com o sinal de clock.

É importante observar que estas duas entradas não podem ser ativadas ao mesmo tempo,

pois isso levaria o circuito a

aos seus componentes.

Ao construirmos a tabela verdade para este circuito, teremos três novos símbolos que são

normalmente usados em representações de eletrônica digital. “

irrelevante qualquer que ela seja não haverá influência no que ocorre na saída.

indica a transição do nível baixo para o nível do sinal na entrada ou saída representadas. Já a seta

apontando para baixo indica uma transição do nível b

correspondente.

8.3. O flip- flop JK Mestre

O flip-flop JK mestre

lógicas comuns, adquirindo a configuração básica mostrada abaixo.

XD102 – Eletr

Figura 8.9. Ligação das entradas preset e clear.

ra entrada denominada CLEAR ou apagamento tem por função levar as saídas aos

estados Q=0 e Q’=1, independentemente do que estiverem ocorrendo nas demais entradas.

e CLEAR produzem resultado independente do estado da entrada de

, estas são chamadas de entradas assíncronas; Em oposição, as entradas R e S que são

síncronas, isto é, sincronizadas com o sinal de clock.

É importante observar que estas duas entradas não podem ser ativadas ao mesmo tempo,

pois isso levaria o circuito a um estado indeterminado que inclusive poderia causar problemas

Ao construirmos a tabela verdade para este circuito, teremos três novos símbolos que são

normalmente usados em representações de eletrônica digital. “X” representa uma con

irrelevante qualquer que ela seja não haverá influência no que ocorre na saída.

indica a transição do nível baixo para o nível do sinal na entrada ou saída representadas. Já a seta

apontando para baixo indica uma transição do nível baixo para o nível alto do sinal

flop JK Mestre -Escravo

flop JK mestre-escravo ou “master-slave” pode ser implementado por funções

lógicas comuns, adquirindo a configuração básica mostrada abaixo.

116 letrônica Digital e CPLD

ou apagamento tem por função levar as saídas aos

estados Q=0 e Q’=1, independentemente do que estiverem ocorrendo nas demais entradas.

produzem resultado independente do estado da entrada de

, estas são chamadas de entradas assíncronas; Em oposição, as entradas R e S que são

É importante observar que estas duas entradas não podem ser ativadas ao mesmo tempo,

um estado indeterminado que inclusive poderia causar problemas

Ao construirmos a tabela verdade para este circuito, teremos três novos símbolos que são

representa uma condição

irrelevante qualquer que ela seja não haverá influência no que ocorre na saída. A seta para cima

indica a transição do nível baixo para o nível do sinal na entrada ou saída representadas. Já a seta

aixo para o nível alto do sinal

” pode ser implementado por funções

Um problema observado no flip

quando as entradas R e S vão ao nível alto ao mesmo tempo e que pode levar o circuito a um

estado indeterminado. Esta situação acontece principalmente nas aplicaç

quando uma parte do sinal de saída é usada para realimentar a entrada.

Nestas condições podem ocorrer as situações de conflito com a produção de oscilações

indesejadas. Esta situação pode ser contornada com a utilização de uma nova conf

é justamente a do flip-flop JK utilizada nas aplicações práticas e que analisaremos a seguir.

Podemos ter quatro combinações possíveis para os sinais aplicados nas entradas J e K e

analisemos cada uma das combinações:

J=0 e K=0: Quando a entr

o flip-flop mantém sua condição original, ou seja, não muda de estado.

J=1 e K=0: Quando a entrada de clock (CLK) passa por uma transição negativa, o flip

flop é “setado”. Se já estiver setado,

J=0 e K=1: Quando a entrada de clock (CLK) passa por uma transição negativa, o flip

flop é “resetado”. Se já estiver nesta condição, ele permanece.

J=1 e K=1: Nesta condição, ao receber uma transição negativa na entrada de clo

(CLK), o flip-flop muda de estado (TOGGLE). Se estiver setado, ele reseta e se estiver resetado,

ele é setado.

Podemos elaborar a tabela verdade para indicar o que ocorre com este flip

uso das setas para indicar as transições de sinal na

funcionamento deste tipo de circuito. Da mesma forma que nas outras configurações estudadas,

podemos também incluir as entradas de

XD102 – Eletr

Figura 8.10. Flip-flop JK.

Um problema observado no flip-flop RS é que temos uma situação “proibida” que ocorre

quando as entradas R e S vão ao nível alto ao mesmo tempo e que pode levar o circuito a um

estado indeterminado. Esta situação acontece principalmente nas aplicaç

quando uma parte do sinal de saída é usada para realimentar a entrada.

Nestas condições podem ocorrer as situações de conflito com a produção de oscilações

indesejadas. Esta situação pode ser contornada com a utilização de uma nova conf

flop JK utilizada nas aplicações práticas e que analisaremos a seguir.

Podemos ter quatro combinações possíveis para os sinais aplicados nas entradas J e K e

analisemos cada uma das combinações:

Quando a entrada de clock (CLK) passa por uma transição negativa do sinal,

flop mantém sua condição original, ou seja, não muda de estado.

Quando a entrada de clock (CLK) passa por uma transição negativa, o flip

flop é “setado”. Se já estiver setado, ele permanece nesta condição.

Quando a entrada de clock (CLK) passa por uma transição negativa, o flip

flop é “resetado”. Se já estiver nesta condição, ele permanece.

Nesta condição, ao receber uma transição negativa na entrada de clo

flop muda de estado (TOGGLE). Se estiver setado, ele reseta e se estiver resetado,

Podemos elaborar a tabela verdade para indicar o que ocorre com este flip

uso das setas para indicar as transições de sinal na entrada de clock que comandam o

funcionamento deste tipo de circuito. Da mesma forma que nas outras configurações estudadas,

podemos também incluir as entradas de PRESET e CLEAR neste circuito.

117 letrônica Digital e CPLD

flop RS é que temos uma situação “proibida” que ocorre

quando as entradas R e S vão ao nível alto ao mesmo tempo e que pode levar o circuito a um

estado indeterminado. Esta situação acontece principalmente nas aplicações em computação,

Nestas condições podem ocorrer as situações de conflito com a produção de oscilações

indesejadas. Esta situação pode ser contornada com a utilização de uma nova configuração, que

flop JK utilizada nas aplicações práticas e que analisaremos a seguir.

Podemos ter quatro combinações possíveis para os sinais aplicados nas entradas J e K e

ada de clock (CLK) passa por uma transição negativa do sinal,

Quando a entrada de clock (CLK) passa por uma transição negativa, o flip-

Quando a entrada de clock (CLK) passa por uma transição negativa, o flip-

Nesta condição, ao receber uma transição negativa na entrada de clock

flop muda de estado (TOGGLE). Se estiver setado, ele reseta e se estiver resetado,

Podemos elaborar a tabela verdade para indicar o que ocorre com este flip-flop. Observe o

entrada de clock que comandam o

funcionamento deste tipo de circuito. Da mesma forma que nas outras configurações estudadas,

118 XD102 – Eletrônica Digital e CPLD

Figura 8.11. Tabela verdade do Flip-flop JK.

Uma maneira melhor de analisarmos o funcionamento deste circuito é através de um

diagrama de tempos, em que observamos as formas de onda nos diversos pontos de entrada e

saída. Este diagrama de tempos para o flip-flop J-K é mostrado abaixo.

Figura 8.12. Diagrama de tempo do flip-flop JK com preset e clear.

Analisemos alguns trechos importantes deste diagrama mostrando o que acontece:

• Neste instante CLR e PR estão no nível baixo, Q e Q’ estão no nível alto, que é

uma condição não permitida;

• Aplica-se então o sinal PR, que indo ao nível alto, faz com que o flip-flop seja

resetado;

• A aplicação de um pulso na entrada CLR que vai ao nível alto, e a ida de PR ao

nível baixo fazem agora com que o flip-flop seja setado;

119 XD102 – Eletrônica Digital e CPLD

• CLR e PR são mantidos no nível alto a partir deste instante. Com J=0 neste

trecho e K indo ao nível alto, o flip-flop será resetado na próxima transição

negativa do sinal de clock;

• Ainda com CLR e PR no nível alto (esta condição se manterá daqui por diante) e

a saída J=0 e k=1, o flip-flop permanecerá resetado;

• Com J=1 e K=0, o flip-flop é setado na transição seguinte do pulso de clock;

• Com J=1 e K=0, não ocorrem mudanças de estado;

• Com J=1 e K=1 na transição seguinte do pulso de clock, o flip-flop muda de

estado (complementa ou “toggle”). Se estiver resetado, como neste caso, ele é

setado;

• Mantendo J=1 e K=1 com nova transição do pulso de clock, o flip-flop muda de

estado outra vez, ou seja, complementa. Veja que quando as entradas J e K estão

no nível alto, o circuito se comporta como um disparador, mudando de estado a

cada transição negativa do pulso de clock.

8.4. O flip-flop tipo D

Este é também um circuito de flip-flop muito usado, cujo símbolo é mostrado a seguir.

Este flip-flop possui uma única entrada que comanda todo o circuito. Esta entrada é que lhe dá

nome. Denominada “Data” (dados), é abreviada por D, daí o nome do dispositivo. Este flip-flop

opera de uma maneira muito simples: no pulso de clock, ele assume o estado da entrada,

conforme podemos ver pela sua tabela verdade:

D Qn+1

0 0

1 1

Tabela 8.2. Tabela verdade do flip-flop D.

Figura 8.13. Representação gráfica do flip-flop D.

O Flip-flop D é capaz de armazenar um bit, portanto é a base para a criação de um

dispositivo imprescindível para os sistemas computacionais, a memória.

120 XD102 – Eletrônica Digital e CPLD

8.5. O flip-flop tipo T

O nome vem de “Toggle” ou complementação, seu símbolo é mostrado na figura 8.14. O

que este circuito faz pode ser entendido facilmente pelo diagrama de tempos mostrado na figura

8.15. Quando a entrada T deste circuito está no nível baixo, o flip-flop se mantém em seu estado

anterior, mesmo com a aplicação do pulso de clock.

Figura 8.14. Representação gráfica do flip-flop T.

No entanto, quando a entrada T está no nível alto, o flip-flop muda de estado. Se estiver

setado, ele reseta e se estava resetado, ele seta. Este comportamento significa na realidade a

divisão da freqüência de clock por dois. Em outras palavras, este circuito se comporta como um

divisor de freqüência, encontrando aplicações práticas bastante importantes em eletrônica digital.

Figura 8.15. Comportamento do flip-flop T com relação ao clock.

Um exemplo de aplicação é dado quando associamos diversos flip-flop do tipo T em

série, de modo que passando através de cada um, a freqüência do sinal de entrada é divida por

dois. Usando quatro flip-flop, podemos dividir a freqüência por 2, 4, 8 e 16. Este tipo de divisor

de freqüência é muito usado, existindo até circuitos integrados que possuem seqüências de mais

de dez flip-flop ligados desta forma. Na prática não temos os flip-flop tipo T como componentes

prontos para uso. Estes flip-flop’s podem ser obtidos a partir de outros.

121 XD102 – Eletrônica Digital e CPLD

Figura 8.16. Flip-flop T como divisor de freqüência.

8.6. Transformando flip-flop’s

Da mesma maneira como podemos obter qualquer função lógica complexa a partir de

funções simples, o que foi visto em lições anteriores, também podemos “brincar” com os flip-

flop’s, obtendo outros tipos a partir de um tipo básico. Assim, usando um flip-flop’s R-S ou J-K

que são comuns e algumas portas lógicas, podemos obter flip-flop’s de outros tipos.

Figura 8.17. Transformando Flip-flop’s RS.

Acima temos algumas conversões que podem ser feitas utilizando-se flip-flop’s do tipo

RS. O modo de funcionamento de cada um pode ser facilmente entendido se associarmos as

122 XD102 – Eletrônica Digital e CPLD

tabelas verdade dos flip-flop’s estudados às tabelas verdade das portas agregadas, considerando os

sinais de realimentação.

De outra forma também podemos obter flip-flop’s tipo D e T a partir de flip-flop’s do tipo

JK. Veja que a simples conexão da entrada K ao J no flip-flop do tipo J-K o transforma em um

flip-flop tipo T. Esta possibilidade é muito interessante, já que flip-flop’s J-K são disponíveis em

tecnologia TTL e CMOS e podem ser usados em circuitos divisores de freqüência.

Figura 8.18. Transformando flip-flop’s JK.

E ainda, temos outras duas transformações importantes de flip-flop’s mostradas na figura

8.19. No primeiro caso temos uma transformação de um flip-flop tipo D em flip-flop tipo T,

bastando para isso que a saída complementar Q’ seja ligada à entrada D, realimentando o

circuito. A segunda transformação, que leva um flip-flop tipo D a funcionar como tipo T exige o

emprego de uma porta E adicional na realimentação do sinal que é retirado da saída

complementar Q’.

Figura 8.19. Transformando flip-flop D.

123 XD102 – Eletrônica Digital e CPLD

8.7. Flip-flop’s nos Computadores

Encontramos os flip-flop’s nos computadores como elementos fundamentais de muitos

circuitos. Uma aplicação é na própria divisão de freqüência dos clock’s. Existem setores de um

PC que devem operar com velocidades menores que a fornecida pelo clock principal. É o caso

dos barramentos onde são ligados as placas de expansão, os modems e as saídas de dados paralela

e serial. Assim, em lugar de usar um clock para cada freqüência desejada, o que se faz é empregar

um clock único e dividir sua freqüência conforme as exigências de freqüências mais baixas,

conforme na figura 8.16.

No caso dos computadores, tanto o próprio clock como a seqüência de flip-flop’s

divisores podem ser obtidos num único circuito integrado. Um ponto importante que deve ser

levado em conta é a possibilidade de ligar os flip-flop’s em conjunto com outras funções, de

modo que a freqüência possa ser dividida por qualquer número e não somente por potências de 2

(2, 4, 8, 16, 32, 64, etc.).

Outra aplicação importante é como célula de memória. Oito flip-flop’s ligados lado a lado podem

armazenar um byte inteiro. Todos os flip-flop armazenam um bit. Existem diversas memórias

internas de um PC que nada mais são do que flip-flop’s que podem ser habilitados tanto para a

leitura de dados como para introdução (gravação de dados).

Conforme se pode imaginar, vimos que os flip-flop’s são blocos muito importantes da

eletrônica digital, eles podem ter diversos tipos de comportamento e que, quando reunidos,

poderiam apresentar comportamentos interessantes como, por exemplo, a capacidade de dividir

freqüências, de armazenar informações (bits), além de outras.

124 XD102 – Eletrônica Digital e CPLD

9. Contadores

Quando usamos a eletrônica digital, devemos separar os circuitos lógicos sem

sincronismo daqueles que possuam algum tipo de sincronismo externo, ou seja, que usam um

sinal de CLOCK. Existem aplicações em que tudo o que importa para o circuito é fazer uma

operação com determinados níveis lógicos aplicados à sua entrada, quando eles estão presentes,

não importando quando isso ocorra. Tais circuitos não precisam de sincronismo algum e são

mais simples de serem utilizados.

No entanto, com circuitos muito complexos, como os utilizados em computadores, o

instante em que uma operação deve ser realizada é muito importante e isso implica em que os

circuitos devam ser habilitados no instante em que os níveis lógicos são aplicados em sua

entrada. Isso significa que tais circuitos devem ser sincronizados por algum tipo de sinal vindo de

um circuito externo. E este circuito nada mais é do que um oscilador que produz um sinal de

clock ou relógio. Os circuitos que operam com estes sinais são denominados circuitos com lógica

sincronizada ou contadores. Os contadores são dispositivos lógicos cuja função é realizar a

contagem binária, seja em ordem crescente ou decrescente. Para os contadores temos então

diversas classificações que levam em conta estes e outros fatores, por exemplo:

a) Classificação com relação ao sincronismo: Os contadores podem ser assíncronos, quando

existe o sinal de clock aplicado apenas ao primeiro estágio. Os estágios seguintes utilizam como

sinal de sincronismo a saída de cada estágio anterior. Estes contadores também são denominados

“Ripple Counters”. Os contadores também podem ser síncronos, quando existe um sinal de clock

único externo aplicado a todos os estágios ao mesmo tempo.

b) Classificação com relação ao modo de contagem: Os contadores podem ser progressivos ou

crescentes, quando contam numa seqüência de números crescentes, ou seja, dos valores mais

baixos para os mais altos, como (1, 2, 3, 4...). São também chamados em inglês de “up-counters”.

Os contadores podem ser regressivos ou decrescentes, quando a contagem é feita dos valores

mais altos para os mais baixos como (4, 3, 2, 1...), também chamados de “down-counters”. Se bem

que possamos fazer contadores usando funções lógicas comuns e mesmo flip-flop’s discretos,

podemos contar na prática com circuitos integrados em lógica TTL ou CMOS que já possuam

contadores completos implementados.

125 XD102 – Eletrônica Digital e CPLD

9.1. Contador assíncrono

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

Figura 9.1. Contador assíncrono.

A freqüência estará dividida por quatro na saída do segundo e por oito na saída do

terceiro. Mas, se elaborarmos uma tabela verdade com os níveis lógicos obtidos na saída de cada

um dos flip-flop’s, a cada pulso do clock aplicado, a partir do instante em que todas as saídas

sejam zero, teremos algo interessante a considerar:

Clock Qc Qb Qa

0 0 0 0

1 0 0 1

2 0 1 0

3 0 1 1

4 1 0 0

5 1 0 1

6 1 1 0

7 1 1 1

Tabela 9.1. Tabela verdade de um contador assíncrono.

126 XD102 – Eletrônica Digital e CPLD

Veja que a seqüência de valores obtidos 000, 001, 010, 011, 100, 101, 110 e 111

corresponde justamente à contagem em binário dos pulsos de zero até sete. Isso significa que este

circuito conta os pulsos de entrada e fornecem saídas que é a representação binária desta

contagem.

Veja também que ele faz a contagem crescente, ou seja, de zero até sete. Se, em lugar de

três flip-flops, usarmos quatro, teremos a contagem de 0000 a 1111, ou seja, uma contagem

crescente de zero a quinze pulsos. Oito desses flip-flops ligados em série podem contar até 256

pulsos e com isso fornecer uma saída de 8 bits ou 1 byte.

Vamos supor agora que em lugar de usarmos como saídas de contagem as saídas Q de

todos os flip-flop, usássemos as saídas complementares Q’. É fácil perceber que, partindo da

situação em que todos os flip-flops estejam resetados, a tabela verdade obtida terá nas saídas os

complementos da tabela anterior. Esta tabela será:

Clock Qa Qb Qc Valor Binário

0 1 1 1 7

1 1 1 0 6

2 1 0 1 5

3 1 0 0 4

4 0 1 1 3

5 0 1 0 2

6 0 0 1 1

7 0 0 0 0

Tabela 9.2. Tabela verdade de um contador assíncrono decrescente.

Portanto, este contador fornece em sua saída, valores binários que correspondem à

contagem decrescente dos pulsos de entrada, partindo de sete. Trata-se de um contador

decrescente ou DOWN COUNTER. Como no caso anterior, se tivermos mais flip-flop’s,

podemos contar a partir de valores mais altos. Com quatro flip-flop’s podemos partir a contagem

de quinze e com oito flip-flop’s, de 255. Veja que a quantidade máxima que podemos contar com

um contador deste tipo depende da quantidade de flip-flop’s usados.

Um problema que ocorre com este tipo de flip-flop é que cada um precisa de certo tempo

para mudar de estado. Isso significa que à medida que usamos mais flip-flop’s em seqüência num

contador, os tempos de mudança de estado são somados e o conjunto precisa cada vez de mais

tempo para chegar ao estado final desejado. Se aplicarmos um novo pulso de clock para

contagem à entrada do circuito, antes de ocorrer a mudança de estado do conjunto, pode ocorrer

127 XD102 – Eletrônica Digital e CPLD

um funcionamento errático. Assim, a freqüência máxima de operação de um contador é dada

pelo tempo necessário para cada estágio mudar de estado multiplicado pelo número de estágios

usados no contador.

9.2. Contagem programada ou contagem com armadilha

Conforme vimos, os ciclos de contagem dos circuitos dados como exemplos no item

anterior são sempre potências de dois, ou seja, são circuitos que contam até 2, 4, 8, 16, 32 etc. O

que fazer se precisarmos de um circuito que tenha um ciclo de contagem diferente desses valores,

que não seja uma potência de 2? Podemos usar a entrada CLEAR para reiniciar a contagem,

zerando-a, quando chegar ao valor desejado. Por exemplo, podemos reiniciar a contagem depois

do cinco se quisermos um contador que conte de zero a cinco, ou seja, que tenha seis estados de

saída, conforme a tabela verdade dada a seguir:

Clock Qc Qb Qa

0 0 0 0

1 0 0 1

2 0 1 0

3 0 1 1

4 1 0 0

5 1 0 1

6 (Estado Instável) 0 0 0

Tabela 9.3. Tabela verdade de um contador modulo cinco.

No sexto pulso que corresponde ao estado 110(2), o circuito vai a um estado que ativa a

entrada clear e leva todos os flip-flop’s a serem resetados.

Para este circuito a solução é simples. Veja que a situação em que devemos ter a volta à

zero da contagem e, portanto, a ativação da linha CLR (clear) ocorre com uma única combinação

de sinais: QA e QB no nível alto. Se usarmos flip-flop’s que tenham entradas “clear” ativadas pelo

nível alto, basta usar uma porta AND de duas entradas com as entradas ligadas nas saídas QB e

QC e a saída na linha comum de CLEAR de todos os flip-flop’s, conforme abaixo.

128 XD102 – Eletrônica Digital e CPLD

Figura 9.2. Contador assíncrono de modulo seis.

Se os flip-flop’s usados tiverem um clear ativado no nível baixo, basta usar uma porta

NÃO-E em lugar de E. Se quiséssemos um contador até quatro, por exemplo, o estado em que

deveria ocorrer a ativação da entrada clear ocorreria com a quinta combinação de saídas, 101(2), o

que significa QC=1 e QA=1. Bastaria então ligar as entradas da porta E nessas saídas, conforme

a figura.

Figura 9.3. Contador assíncrono de modulo cinco.

Seguindo a mesma analogia dos circuitos anteriores, observe que, quando as saídas

chegarem ao estado 110(2), que seria a contagem do quinto pulso no circuito da figura 9.3, um

pulso de reset de curta duração é produzido. Esta curta duração é dada justamente pelo tempo

que os flip-flop’s demoram a mudar de estado resetando, pois eles “realimentam” as entradas da

129 XD102 – Eletrônica Digital e CPLD

porta E. Nos exemplos dados, fizemos a programação da contagem usando as entradas de clear

de cada flip-flop.

Uma outra maneira de projetarmos um contador consiste em usarmos as entradas “preset”

em lugar de “clear”. Para isso fazemos com que, no momento em que for atingida a contagem

do valor imediatamente anterior àquele em que deve ocorrer a volta a zero, ou seja, n-1, em lugar

de termos a comutação dos flip-flop’s, tenhamos a ativação das entradas de “preset”. Desta

forma, no pulso seguinte de clock teremos a volta a zero (reset) do contador. Para um contador de

seis estados, que depois do quinto pulso reseta, teremos a seguinte tabela verdade.

Pulsos Qc Qb Qa

0 0 0 0

1 0 0 1

2 0 1 0

3 0 1 1

4 1 0 0

5 1 0 1 O Preset é acionado

- x x x Volta a Zero na transição de clock

6 0 0 0

7 0 0 1

Tabela 9.4. Tabela verdade de um contador de módulo usando preset.

Veja que a detecção da condição de produção do pulso de “preset” deve ser reconhecida

com os níveis 101(2) nas saídas dos estágios dos contadores e com o pulso indo ao nível alto na

entrada de contagem. Para obtermos a configuração 1111(2) que nos permitiria usar uma porta E

de quatro entradas, basta levar em conta a saída QB’ em lugar de QB. Assim, basta usar a porta E

e ligá-la nas entradas de “preset” dos flip-flop’s. Se as entradas forem ativadas no nível baixo

(PR’), basta trocar a porta E por uma porta NÃO-E de quatro entradas.

9.3. Contadores Up/Down (Progressivos e Regressivos )

Usando alguns artifícios, como por exemplo, porta apropriada, é possível programar um

contador de modo que ele tanto conte progressivamente como regressivamente.

estágios, podemos ter um contador UP/DOWN, conforme a figura 10. Uma entrada

(UP/DOWN) pode ser usada para determinar o sentido da contagem. Trata

seletora de dados ou DATA SELECTOR, que pode ser usada para mudar o modo de

funcionamento dos estágios deste circuito.

Funcionamento: Se usarmos as saídas Q dos flip

crescente, mas se usarmos as saídas Q’, a contagem será

colocar um circuito seletor nessas saídas, de tal modo que ele coloque a saída Q de todos os flip

flop’s na entrada de clock do seguinte, quan

Q’ na entrada do seguinte, quando na contagem decrescente. Três portas

estágio podem fazer isso a partir do sinal de comando UP/DOWN.

9.4. Contadores sín cronosSincronizar a contagem por um clock único aplicado a todos os estágios não é apenas

uma necessidade dos circuitos mais complexos, principalmente, os usados em Informática e

Instrumentação. O sincronismo de todos os estágios pelo mesmo clock tem ain

operacionais importantes. Conforme vimos, nos contadores assíncronos, os tempos de

comutação dos flip-flops influem no funcionamento final do circuito, pois eles são cumulativos.

Em outras palavras, cada estágio precisa esperar o anterior comp

iniciar a sua. Usando lógica sincronizada, ou seja, um contador em que todos os estágios são

sincronizados por um clock único, este problema não existe e podemos ter contadores muito

mais rápidos, na verdade, contadores cuja veloc

XD102 – Eletr

9.3. Contadores Up/Down (Progressivos e Regressivos )

lguns artifícios, como por exemplo, porta apropriada, é possível programar um

contador de modo que ele tanto conte progressivamente como regressivamente.

estágios, podemos ter um contador UP/DOWN, conforme a figura 10. Uma entrada

er usada para determinar o sentido da contagem. Trata

seletora de dados ou DATA SELECTOR, que pode ser usada para mudar o modo de

funcionamento dos estágios deste circuito.

Se usarmos as saídas Q dos flip-flop’s de um contador, a contagem será

crescente, mas se usarmos as saídas Q’, a contagem será decrescente. Assim, o que fazemos é

colocar um circuito seletor nessas saídas, de tal modo que ele coloque a saída Q de todos os flip

flop’s na entrada de clock do seguinte, quando a contagem deve ser progressiva, e coloque a saída

Q’ na entrada do seguinte, quando na contagem decrescente. Três portas

estágio podem fazer isso a partir do sinal de comando UP/DOWN.

Figura 9.4. Contador Up/Down.

cronos Sincronizar a contagem por um clock único aplicado a todos os estágios não é apenas

uma necessidade dos circuitos mais complexos, principalmente, os usados em Informática e

Instrumentação. O sincronismo de todos os estágios pelo mesmo clock tem ain

operacionais importantes. Conforme vimos, nos contadores assíncronos, os tempos de

flops influem no funcionamento final do circuito, pois eles são cumulativos.

Em outras palavras, cada estágio precisa esperar o anterior completar a operação antes de

iniciar a sua. Usando lógica sincronizada, ou seja, um contador em que todos os estágios são

sincronizados por um clock único, este problema não existe e podemos ter contadores muito

mais rápidos, na verdade, contadores cuja velocidade independe do número de etapas.

130 letrônica Digital e CPLD

9.3. Contadores Up/Down (Progressivos e Regressivos )

lguns artifícios, como por exemplo, porta apropriada, é possível programar um

contador de modo que ele tanto conte progressivamente como regressivamente. Usando 3

estágios, podemos ter um contador UP/DOWN, conforme a figura 10. Uma entrada

er usada para determinar o sentido da contagem. Trata-se de uma entrada

seletora de dados ou DATA SELECTOR, que pode ser usada para mudar o modo de

ador, a contagem será

decrescente. Assim, o que fazemos é

colocar um circuito seletor nessas saídas, de tal modo que ele coloque a saída Q de todos os flip-

do a contagem deve ser progressiva, e coloque a saída

Q’ na entrada do seguinte, quando na contagem decrescente. Três portas NÃO-E para cada

Sincronizar a contagem por um clock único aplicado a todos os estágios não é apenas

uma necessidade dos circuitos mais complexos, principalmente, os usados em Informática e

Instrumentação. O sincronismo de todos os estágios pelo mesmo clock tem ainda vantagens

operacionais importantes. Conforme vimos, nos contadores assíncronos, os tempos de

flops influem no funcionamento final do circuito, pois eles são cumulativos.

letar a operação antes de

iniciar a sua. Usando lógica sincronizada, ou seja, um contador em que todos os estágios são

sincronizados por um clock único, este problema não existe e podemos ter contadores muito

idade independe do número de etapas.

Para mostrar como isso pode ser feito, vamos tomar como exemplo o circuito da figura

9.5. Este circuito utiliza flip

CARRY. Nesta forma de ligação, J e K do primeir

de um resistor ligado ao positivo da alimentação (Vcc). Assim, o primeiro flip

estado a cada pulso de clock. No entanto, J do segundo flip

primeiro.

Isso significa que o segundo flip

resetado, ou seja, a cada dois pulsos de clock. Da mesma forma, com o uso de uma porta E, o

terceiro flip-flop só vai mudar de estado quando as sa

forem ao nível um, ou seja, a cada quatro pulsos de clock.

Para quatro bits, utilizando quatro estágios podemos ter um problema que ocorre com

este tipo de configuração, pois é que a partir de três estágios, a cada es

contador devemos adicionar uma porta E cujo número de entradas vai aumentando. Assim, para

quatro estágios, a porta deve ter três entradas, para cinco estágios, quatro entradas e assim por

diante. Uma maneira de não termos este p

de contador apresentada abaixo e denominada RIPPLE CARRY.

XD102 – Eletr

Para mostrar como isso pode ser feito, vamos tomar como exemplo o circuito da figura

9.5. Este circuito utiliza flip-flops tipo JK ligados de uma forma denominada PARALLEL

CARRY. Nesta forma de ligação, J e K do primeiro flip-flop são mantidas no nível alto por meio

de um resistor ligado ao positivo da alimentação (Vcc). Assim, o primeiro flip

estado a cada pulso de clock. No entanto, J do segundo flip-flop está ligado à saída Q do

Figura 9.5. Contador síncrono.

Isso significa que o segundo flip-flop só mudará de estado quando o primeiro flip

resetado, ou seja, a cada dois pulsos de clock. Da mesma forma, com o uso de uma porta E, o

flop só vai mudar de estado quando as saídas Q do primeiro e segundo flip

forem ao nível um, ou seja, a cada quatro pulsos de clock.

Para quatro bits, utilizando quatro estágios podemos ter um problema que ocorre com

este tipo de configuração, pois é que a partir de três estágios, a cada estágio que acrescentamos no

contador devemos adicionar uma porta E cujo número de entradas vai aumentando. Assim, para

quatro estágios, a porta deve ter três entradas, para cinco estágios, quatro entradas e assim por

diante. Uma maneira de não termos este problema consiste em usar uma configuração diferente

de contador apresentada abaixo e denominada RIPPLE CARRY.

131 letrônica Digital e CPLD

Para mostrar como isso pode ser feito, vamos tomar como exemplo o circuito da figura

flops tipo JK ligados de uma forma denominada PARALLEL

flop são mantidas no nível alto por meio

de um resistor ligado ao positivo da alimentação (Vcc). Assim, o primeiro flip-flop muda de

flop está ligado à saída Q do

flop só mudará de estado quando o primeiro flip-flop for

resetado, ou seja, a cada dois pulsos de clock. Da mesma forma, com o uso de uma porta E, o

ídas Q do primeiro e segundo flip-flop

Para quatro bits, utilizando quatro estágios podemos ter um problema que ocorre com

tágio que acrescentamos no

contador devemos adicionar uma porta E cujo número de entradas vai aumentando. Assim, para

quatro estágios, a porta deve ter três entradas, para cinco estágios, quatro entradas e assim por

roblema consiste em usar uma configuração diferente

132 XD102 – Eletrônica Digital e CPLD

Figura 9.6. Contador RIPPLE CARRY.

Neste circuito as portas usadas sempre precisam ter apenas duas entradas, o que é

importante para a implementação prática do contador. No entanto, como desvantagens deste

circuito, têm uma limitação da velocidade de operação, pois como o sinal para os estágios vem

da porta anterior, temos de considerar seu atraso.

133 XD102 – Eletrônica Digital e CPLD

10. Registradores de deslocamento

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

flip-flop’s que podem ser interligados de diversas formas, algumas delas são mostradas na figura

10.1. Estes circuitos podem deslocar uma informação (bit) aplicada na entrada de uma posição a

cada pulso de clock.

Figura 10.1. Exemplos de montagem de alguns registradores de deslocamento.

Por exemplo, o bit um aplicado na entrada aparece na saída do primeiro flip-flop no

primeiro pulso de clock, depois se desloca, aparecendo na saída do segundo flip-flop no segundo

pulso de clock e assim por diante, até aparecer na saída do final da seqüência.

Na configuração mostrada na figura 10.1, todos os flip-flop tipo D têm sua saída

conectada à entrada do flip-flop seguinte e todos eles são controlados pelo mesmo clock. Para

entender como funciona este circuito, vamos partir da situação inicial em que todos eles estejam

desativados ou com suas saídas Q no nível baixo. Inicialmente vamos aplicar à entrada de dados

um nível alto (1).

Conforme podemos ver, esta entrada é feita pela entrada J do primeiro flip-flop (FF1).

Com a chegada do pulso de clock a este flip-flop, ele muda de estado e com isso “armazena” o

pulso aplicado à entrada, o qual aparece em sua saída depois de um curto intervalo de tempo.

Veja que este sinal é armazenado com o flanco positivo do sinal de clock, quando então o

nível alto deve estar presente na entrada do flip-flop. O intervalo de tempo que decorre entre a

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

alguns nanossegundos nos integrados das famílias lógicas comuns, mas é importante que em

muitas aplicações mais rápidas ele seja levado em conta.

134 XD102 – Eletrônica Digital e CPLD

No próximo pulso de clock, a entrada do primeiro flip-flop já não tem mais o nível alto, e,

portanto FF1 não muda de estado. No entanto, na saída de FF1, temos nível alto, e esta saída

está ligada à entrada do segundo flip-flop (FF2). Com isso, a chegada do segundo pulso de clock,

o nível lógico a saída do primeiro se transfere para a saída do segundo depois de um pequeno

intervalo de tempo.

A seqüência de bits aplicados à entrada aparece na saída depois de certo número de clock.

Isso significa que o bit um aplicado na entrada se “deslocará” mais um pouco no circuito,

passando para a saída do segundo flip-flop. É claro que, se nessa segunda passagem, tivermos

aplicado um novo nível um na entrada do circuito, ao mesmo tempo em que o primeiro se

transfere para o segundo flip-flop, o segundo se transfere para a saída do primeiro flip-flop.

Chegando agora um terceiro pulso de clock, teremos nova transferência e o nível alto ou

bit um se transfere para a saída do flip-flop seguinte, ou seja, FF3. Em outras palavras, a cada

pulso de clock, os níveis existentes nas saídas dos flip-flop’s, sejam eles zero ou um, se transferem

para o flip-flop seguinte. Assim, supondo que apliquemos em seqüência, na entrada de um shift-

register como o indicado, os níveis 0101, teremos a seguinte seqüência de condições de saída para

um shift-register que use quatro deles:

Clock Entrada FF1 FF2 FF3 FF4

Início 0 0 0 0 0

0 1 0 0 0 0

1 0 1 0 0 0

2 1 0 1 0 0

3 0 1 0 1 0

4 0 0 1 0 1

Tabela 10.1. Funcionamento do Shift-Register.

Veja então que no quinto pulso de clock, o primeiro pulso de clock, o primeiro nível

lógico, aparece na saída do último flip-flop (FF4) e se lermos a saída dos flip-flop’s teremos

registrado os níveis aplicados na entrada: 0101(2).

Com isso, vemos que aplicando um dado binário num shift-register, depois do número

apropriado de pulsos de clock, ele pode armazenar este dado. Para retirar a dada em seqüência,

basta continuar aplicando pulsos de clock ao circuito.

Veja então que para armazenar um dado de quatro bits num registrador devemos aplicar

quatro pulsos de clock e para ler em seqüência, mais quatro pulsos de clock. Para “apagar” os

135 XD102 – Eletrônica Digital e CPLD

dados registrados num shift-register, como o indicado, basta aplicar um pulso na entrada CLEAR.

Todos os flip-flop’s terão suas saídas levadas ao nível baixo ou zero.

10.1. Tipos de registradores de deslocamento

Dependendo da maneira como a informação entra e como ela pode ser obtida num

registrador de deslocamento, podemos ter diversas configurações que nos levam a muitos tipos de

circuitos. Assim, existem circuitos em que temos uma entrada serial ou duas, e também podemos

ter uma ou duas linhas de saída. A seguir, veremos os principais tipos como suas denominações.

a) SISO - Serial-in/Serial-out:

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

b) PISO - Parallel-in/Serial-out

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

Figura 10.2. Registrador de deslocamento PISO.

136 XD102 – Eletrônica Digital e CPLD

Analisemos como ele funciona: Os dados são colocados ao mesmo tempo na entrada,

pois ela opera em paralelo. Por exemplo, se vamos armazenar o dado 0110(2), esses dados são

aplicados ao mesmo tempo nas entradas correspondentes (S) dos flip-flop’s.

No primeiro pulso de clock, os flip-flop’s “armazenam” esses dados. Assim, os flip-flop’s

que possuem nível um em sua entrada S passam esse nível à saída (FFB, FFC). Por outro lado, os

que possuem nível zero na sua entrada, mantêm este nível na saída (FFA e FFD). Isso significa

que, após o pulso de clock, as saídas dos flip-flop’s apresentarão os níveis 0110(2).

c) SIPO - Serial-In/Parallel-out

Da mesma forma, podemos carregar os dados em série e fazer sua leitura em paralelo

através de Qa, Qb, Qc e Qd. Os registradores que operam desta forma podem ser também

denominados conversores série-paralela ou paralela-série, conforme o modo de funcionamento.

Figura 10.3. Registrador de deslocamento SIPO.

d) PIPO - Parallel-in/Parallel-out

Estes são circuitos em que os dados são carregados ao mesmo tempo e depois lidos ao

mesmo tempo pelas saídas dos flip-flop’s.

137 XD102 – Eletrônica Digital e CPLD

Figura 10.4. Registrador de deslocamento PIPO.

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

os dados podem ser deslocados. Dizemos que se trata do tipo shift-right, quando os dados são

deslocados para a direita e que se trata de um tipo shift-left, quando os dados são deslocados

somente para a esquerda. Existem ainda os tipos bidirecionais em que os dados podem ser

deslocados nas duas direções. Este é um registrador do tipo SISO.

Observa-se que o sentido de deslocamento é determinado por uma entrada que atua sobre portas

que modificam o ponto de aplicação dos sinais em todos os flip-flop’s, exatamente como visto

nos contadores up e down anteriores. Com a aplicação de um nível lógico conveniente na entrada

LEFT/ RIGHT, podemos determinar o sentido de deslocamento dos dados no circuito.

138 XD102 – Eletrônica Digital e CPLD

11. Conversores Analógico/Digital e Digital/Analógi co

11.1 Introdução

A maioria dos dados obtidos de sensores comuns, tais como sensores de temperatura,

intensidade luminosa, posição, tensão, corrente e etc. fornecem sinais analógicos, ou seja, uma

tensão que é proporcional à grandeza medida e que varia de forma contínua numa faixa de

valores.

No entanto, a maioria dos equipamentos modernos que fazem a aquisição de dados

destes sensores, trabalha com técnicas digitais. Isso significa que o dado analógico, preciso ser

convertido para a forma digital. Para fazer esta conversão são utilizados circuitos denominados

conversores analógico-digital, ou simplesmente A/D, como seu próprio nome indica, realiza a

conversão de sinais, cuja amplitude varia continuamente em sinais digitais correspondentes à

amplitude do sinal original.

Para converter se faz o uso de um comparador de tensão ou corrente - variando de acordo

com a aplicação - que irá comparar o sinal analógico com o valor de referência.

Desta forma os circuitos A/D devem preencher certos requisitos importantes quanto ao

seu desempenho que são:

- Quantização;

- Taxa de Amostragem;

- Linearidade.

139 XD102 – Eletrônica Digital e CPLD

11.1.2 Quantização

Entre os dois valores extremos da escala de valores analógicos que devem ser convertidos

para a forma digital existem infinitos valores intermediários, o que justamente caracteriza uma

grandeza que varia de forma análoga ou analógica.

Entretanto, quando passamos um valor qualquer entre os dois valores extremos

incluindo-os, não podemos representar qualquer quantidade, pois precisaríamos para isso de um

número infinito de bits.

Assim, por exemplo, se utilizarmos na conversão 4 bits, teremos a possibilidade de

representar apenas 16 valores na escala total de valores analógicos, e se usarmos 8 bits poderemos

representar 256 valores, conforme indica a figura 11.1.

Se tivermos uma escala de 0 a 8 V, por exemplo, e usarmos 4 bits para a conversão, os

"degraus"da escada de conversão terão 0,5 V de altura, o que significa que este conversor terá

uma resolução de 0,5 V. Se usarmos um conversor A/D de 8 bits (256 "degraus"de resolução)

para fazer um voltímetro de 0 a 10 V, por exemplo, a resolução deste voltímetro será de 10/256

ou pouco menos de 0,04 V.

Figura 11.1 – Escala de Conversão

Este comportamento "digital"pode ser observado em muitos instrumentos comuns, tais

como os multímetros digitais em que, se a grandeza medida estiver num valor intermediário entre

dois degraus da resolução do conversor A/D, o valor apresentado no display oscilará entre eles.

Evidentemente, tanto maior é a precisão na conversão mais bits serão utilizados pelo conversor.

Tipos com 8 a 16 bits são comuns nas aplicações industriais e em medidas, dependendo

da quantidade de "passos"desejados na conversão ou a resolução.

140 XD102 – Eletrônica Digital e CPLD

11.1.3 Taxa de Amostragem

Muitos processos de aquisição de dados de sensores, de processos ou de outras aplicações

precisam ser rápidos. Uma placa de aquisição de dados de um instrumento de medida que projete

uma forma de onda, desenhe um gráfico na tela de um PC representando um processo dinâmico

ou mesmo um instrumento digital simples como um multímetro, devem estar constantemente em

andamento.

Um osciloscópio digital, por exemplo, deve medir as tensões instantâneas de um sinal em

diversos pontos ao longo de um ciclo para poder "desenhar"esta forma de onda com precisão na

tela. Se a freqüência do sinal for alta, isso implica a necessidade de se fazer amostragens num

tempo extremamente curto.

Os conversores A/D podem ser encontrados em tipos que têm freqüências de

amostragem numa ampla escala de valores. Os tipos mais rápidos têm suas velocidades

especificadas em MSPS (Mega Samples Per Second ou Mega Amostragens Por Segundo).

Uma máquina industrial ou um instrumento de uso geral como um multímetro pode usar

conversores A/D relativamente lentos com taxas ou velocidades de amostragens de até algumas

unidades por segundo. Um multímetro digital comum, por exemplo, faz de 1 a 10 amostragens

por segundo apenas, dependendo do tipo. Todavia, um osciloscópio digital ou virtual que precise

observar uma forma de onda de 10 MHz, deve, para ter uma definição razoável, realizar pelo

menos 100 milhões de amostragens por segundo (10 pontos por ciclo).

11.1.4 Linearidade

A curva de conversão da grandeza analógica para a forma digital deve ser linear para um

bom conversor. Isso significa que não existem desvios na correspondência entre o valor analógico

e a saída digital ao longo da escala de valores em que o conversor deve trabalhar.

No entanto, na prática podem ocorrer pequenos desvios, de acordo com o que mostra a

figura 11.2.

141 XD102 – Eletrônica Digital e CPLD

Figura 11.2 – Grau de Linearidade de Conversão

11.2 Desenvolvimento

Para fazer uma conversão de sinais analógicos para a forma digital existem diversas

técnicas que são empregadas nos circuitos comerciais, muitas delas encontradas em circuitos

integrados que são "embutidos"(embedded) em aplicações mais complexas, os quais fazem o

controle de máquinas e equipamentos.

Analisamos as tecnologias mais empregadas para esta finalidade começando com o bloco

comum a todos os conversores, que é o circuito de amostragem e manutenção (sample and hold).

O valor dos sinais analógicos que devem ser convertidos para a forma digital corresponde

a um determinado instante, cuja duração, em alguns casos, não vai além de alguns milionésimos

de segundo.

Assim, um primeiro bloco importante do conversor é um circuito que lê o valor do sinal a

ser convertido num determinado instante e o armazena de um modo onde, mesmo que o sinal

varie depois, os circuitos que fazem a conversão tenham em alguma memória seu valor. Este

circuito é ilustrado em blocos na figura 11.3.

O sinal a ser amostrado é amplificado por um buffer de entrada cuja finalidade é não

carregar o circuito externo, e ao mesmo tempo proporcionar isolamento do circuito de

conversão.

142 XD102 – Eletrônica Digital e CPLD

Figura 11.3 – Diagrama em Blocos de Conversor A/D

Na saída deste circuito temos uma chave eletrônica ou chaveador, que determina o

instante exato em que a leitura do sinal deve ser feita. A chave fecha então por uma fração de

segundo (numa freqüência que depende da velocidade de amostragem) permitindo que o sinal

carregue o capacitor C.

Assim, quando a chave abre, esperando a leitura seguinte, o capacitor tem armazenado o

valor da grandeza analógica a ser convertida. Esta tensão no capacitor é mantida no circuito

conversor através de um buffer de saída durante o tempo que ele necessita para isso.

Na figura 11.4 temos um gráfico que indica de que modo à tensão de entrada varia e o

circuito de amostragem e retenção mantém a saída constante durante os intervalos de conversão

(que correspondem aos "degraus").

Figura 11.4 – Escala de Conversão

143 XD102 – Eletrônica Digital e CPLD

11.2.1 Aplicação

Desenvolvendo um pequeno programa no Matlab 6.0 podemos exemplificaremos melhor

toda esta teoria aqui mostrada. A onda fundamental tem uma freqüência de 120 Hz e está

defasada em 60o, atribuímos valores de quantização de: 4, 8 e 12 Bits e taxa de amostragem de:

240, 600 e 1000 Hz (respeitando a freqüência de Nyquist).

Primeiramente o nosso programa vai marcar os tempos que serão armazenados com seus

respectivos valores analógicos para posteriormente serem quantizados e assim aplicando a

transforma discreta de Fourier reconstituir o sinal amostrado.

Nos gráficos abaixo, podemos verificar que em um sinal digital não existe valores

negativos na quantização, o que pode ocorrer é que vemos em multímetros digitais ou outros

aparelhos, um bit a mais inserido posteriormente a quantização para sinalização. Se aquele valor

corresponde a um valor negativo ou positivo, este fato não interfere em nada na conversão,

como mencionado, é apenas uma sinalização para o usuário.

Figura 11.5 – Quantização em 4 Bits de Resolução

144 XD102 – Eletrônica Digital e CPLD

Figura 11.6 – Quantização em 8 Bits de Resolução

Figura 11.6 – Quantizações em 12 Bits de resolução

Existem várias formas de se construir conversores A/D, sendo que cada um tem a sua

característica de funcionamento que deve ser levada em conta, na hora de se construir e/ou

escolher parava sua aplicação. Temos uma relação de possíveis combinações:

- Conversor A/D com comparador em paralelo;

- Conversor A/D com rampa em escada;

- Conversor A/D de aproximações sucessivas;

145 XD102 – Eletrônica Digital e CPLD

- Conversor A/D de rampa única;

- Conversor A/D de rampa dupla e;

- Sigma-Delta.

O Sigma-Delta é um das importantes técnicas de conversão A/D, utilizada em que se

deseja uma altíssima velocidade de conversão, como nos DSPs (Digital Signal Processing).

Portanto, vimos que a conversão do sinal analógico para o digital sempre existe uma

perda de informação seja ela de amplitude - característica da quantidade de bits utilizados - ou de

fase do sinal - característica da taxa de amostragem empregada.

Vimos que o erro máximo que pode ocorrer na quantização é de metade do valor de nível

da quantização assim sendo quanto maior for o número de bits do conversor menor será o seu

erro.

O erro de "Aliasing" _e facilmente evitado utilizando o teorema da amostragem que "Para

que uma determinada freqüência f1 do sinal analógico seja ou possa ser completamente

reconstituída a taxa amostral, no processo de digitalização, deve ser no mínimo igual a 2*f1"

Conhecidas as imperfeições da conversão podemos então saber quais os fatores que

influem na escolha de um conversor A/D e assim prever melhor os ajustes que sistema deverá

sofrer, pois já são conhecidas as suas fraquezas.

146 XD102 – Eletrônica Digital e CPLD

12. Memórias

12.1 Introdução

Memórias são dispositivos semicondutores usados para armazenar dados. Esses dados

geralmente encontram-se organizados em palavras de 4, 8, 16 ou 32 bits, não havendo restrições

para outros formatos de organização. Cada palavra de informação ocupa um “endereço” dentro

da memória, de forma que é possível referenciar o dado a ser acessado.

A memória é uma parte importante na arquitetura de sistemas computacionais, pois cabe

a ela armazenar tanto o programa a ser executado, quanto os dados utilizados durante a

execução do mesmo. A evolução da tecnologia de semicondutores proporcionou a confecção de

dispositivos de memória cada vez mais rápidos, maior capacidade de acesso e com menor

tamanho físico.

As memórias podem ser classificadas por dois modos distintos devido ao tipo de

armazenamento de dados, são eles o tipo ‘volátil’ e o tipo ‘não volátil’.

12.2 Memória volátil

A memória volátil é caracterizada pela necessidade de alimentação para a manutenção

dos dados armazenados, uma vez que a alimentação é cessada todos os dados armazenados são

perdidos. A memória volátil ainda se sub-divide em dois grupos: memória dinâmica e memória

estática.

12.2.1 Memória volátil dinâmica

O nome dinâmica é referente à tecnologia utilizada para armazenar programas e dados e

não à forma de acessá-los. De modo simplista ela funciona como uma bateria que deve ser

recarregada sempre que apresentar carga insuficiente para alimentar o equipamento.

Todas as vezes que a memória for acessada, para escrita ou para leitura, cada célula dessa

memória é atualizada. Se ela tem nível lógico 1 armazenado, sua “bateria” será recarregada; se

ela tem 0 lógico, a “bateria” será descarregada. Este procedimento é chamado de refresco de

memória, em inglês, refresh.

Esses tipos de memória tornaram-se populares pelo seu emprego em computadores

pessoais, devido a seu baixo custo, tornando se popularizadas como memória RAM. Este nome é

147 XD102 – Eletrônica Digital e CPLD

devido ao nome adotado em inglês Randomic Acess Memory (Memória de acesso randômico), que

nos garante acesso aos dados armazenados a partir de qualquer endereço.

Figura 12.2.1 – Exemplo de memória RAM aplicada em Computadores

12.2.2 Memória volátil estática

A memória estática não necessita ser analisada ou recarregada a cada momento.

Fabricada com circuitos eletrônicos conhecidos como latch, guardam a informação por todo o

tempo em que estiverem recebendo alimentação.

12.3 Memória não volátil

São aquelas que guardam todas as informações mesmo quando não estiverem a receber

alimentação. Como exemplos, podemos citar as memórias conhecidas por ROM e FLASH, bem

como os dispositivos de armazenamento em massa, disco rígido, CDs e disquetes.

As memórias somente para leitura, do tipo ROM (sigla de Read Only Memory),

permitem o acesso aleatório e são conhecidas pelo fato de o usuário não poder alterar o seu

conteúdo, uma vez gravada o usuário não terá acesso a possibilidade de fazer alterações nos

dados ali contidos.

Para gravar uma memória deste tipo são necessários equipamentos específicos

conhecidos como gravadores de memória, que devem levar em consideração o tipo de tecnologia

empregada na construção da memória, o tamanho e o fabricante. Dentre as memórias do tipo

ROM destacam-se as seguintes:

148 XD102 – Eletrônica Digital e CPLD

Sigla Nome Tecnologia

ROM Read Only Memory

(memória somente de leitura) Gravada na fábrica uma única vez.

PROM Programable Read Only Memory (memória programável somente de leitura)

Gravada pelo usuário uma única vez.

EPROM Erasable Programable Read Only Memory

(memória programável e apagável somente de leitura)

Pode ser gravada ou regravada por meio de um equipamento que fornece as voltagens adequadas em cada pino. Para apagar os dados nela contidos, basta iluminar o chip com raios ultravioleta. Isto pode ser feito através de uma pequena janela de cristal presente no circuito integrado.

EEPROM

Electrically Erasable Programable Read Only

Memory

(memória programável e apagável eletronicamente somente de leitura)

Pode ser gravada, apagada ou regravada utilizando um equipamento que fornece as voltagens adequadas em cada pino.

12.4 Estrutura e endereçamento

Uma memória pode ser entendida como um armário, onde cada prateleira representa um

endereço de memória. É possível então guardar (escrever) ou retirar (ler) o conteúdo de cada

prateleira. Para isso existe uma forma de informar a prateleira a ser acessada (endereço) e qual o

tipo de acesso (leitura ou escrita). A figura abaixo apresenta um diagrama genérico de uma

memória semicondutora.

Figura 12.1 – Funcionamento de uma memória

D

E

C

O

D

I

Controle

An

.

.

2n

.

.

CE WR OE

Dados

Endereços

149 XD102 – Eletrônica Digital e CPLD

No diagrama podemos identificar as principais partes de uma memória. Os pinos de

endereços apontam qual posição da memória será acessada. Internamente um decodificador faz a

conversão para que apenas um endereço seja acessado por vez. Os pinos de dados são por onde

as informações são lidas e escritas. O sinal de controle WR (write) permite indica se o acesso à

memória será uma operação de leitura (WR = 1) ou escrita (WR = 0). O sinal OE (Output Enable)

é usado para ativar o buffer de saída da memória em operação em barramentos. O sinal CE (Chip

Enable) permite selecionar qual chip está ativo se a memória for usada em conjunto com outras

memórias ou outros dispositivos.

A capacidade de uma memória indica quantos bits ela é capaz de armazenar e é dado

pela expressão:

Capacidade = palavra x 2endereços

Sendo:

Palavra: o número de bits da palavra no qual a memória está organizada

Endereços: número de bits de endereços.

Exemplos: 1. Uma memória com 10 bits de endereço organizada em palavras de 8 bits tem 8kb (8

kilobits ou 8192 bits);

2. Uma memória com 12 bits de endereço organizada em palavras de 16 bits tem 64kb

(64 kilobits ou 65536 bits);

3. Uma memória com 16 bits de endereço organizada em palavras de 8 bits tem 512 kb

(512 kilobits ou 524288 bits)

Observações: 1. A capacidade sempre deverá ser expressa em número de bits, e não em número de

bytes;

2. Para saber quantos bytes têm a memória em bytes, basta dividir a capacidade por 8;

3. É usual se expressar a memória em múltiplos de kb (kilobits), sendo que um kilobit

corresponde a 210 = 1024 bits. Portanto, 1kb = 1024 bits, 4kb = 4096 bits, 64kb =

65536 bits.

4. A unidade para indicar bits é “b” (minúsculo) enquanto para indicar byte é “B”

(minúsculo). Assim, 8kb = 1kB.

150 XD102 – Eletrônica Digital e CPLD

13. Buffer´s, latch´s e barramentos

13.1 Barramento

Há situações onde se deseja conectar diversos dispositivos entre si, de forma que apenas

dois deles troquem informações por vez. Nestes casos, pode ocorrer de um dispositivo escrever

em vários outros, um dispositivo ler vários outros ou existir acesso bidirecional em vários

dispositivos. O meio de união geral por onde trafegam os dados de controle e informação é

denominado de Barramento.

O barramento é um meio comum de comunicação a todos os dispositivos de um sistema

combinacional ou computacional. Mas devido a dificuldades de conexões elétricas esses

dispositivos não executam acesso direto ao meio, eles o fazem a partir de dois dispositivos que

executam a escrita e leitura de dados no barramento, são eles os Buffer’s Tri-state e os Latch’s.

13.2 Buffer

Como já foi visto, existem componentes com a função de buffer tri-state, isto é, o driver

de saída do dispositivo pode ser desligado por um pino de controle. Dessa maneira, o sinal

presente na entrada do buffer é transferido para a saída se o controle estiver ativo ou a saída

permanece em estado de alta impedância (Hi-Z) se controle se estiver desativado. Isso nos

permite ligar diversas saídas entre si e acionar apenas uma por vez, por operar em estado de alta

impedância (Hi-Z) estão asseguradas as interconexões elétricas de vários dispositivos no mesmo

barramento. A figura abaixo demonstra essa idéia.

Figura 13.1 – Buffer Tri-state

EN1 EN2 OUT

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

151 XD102 – Eletrônica Digital e CPLD

Tabela 13.1 – Buffer Tri-state

13.3 Latch

Denomina-se latch o componente formado por flip-flop´s tipo D que retém em sua saída

o estado encontrado em sua entrada a partir da ultima atualização. Esse dispositivo é comumente

utilizado como meio de acesso controlado ao barramento, podendo ter suas entradas interligadas

a demais outros dispositivos, sendo que pode controlar-se o dispositivo a ser acionado, ressalta

ainda o efeito memória apresentado por esse dispositivo que manterá o ultimo valor assumido até

a próxima atualização. Sua aplicação no barramento é como porta de acesso ao meio de

comunicação, em outras palavras porta de leitura de dados.

Esquema de montagem de Latch-D usando portas lógicas Não-E:

Figura 13.2– Esquema de ligação do Latch tipo D

Figura 13.3– Latch tipo D

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

Tabela 13.2– Latch tipo D

E

152 XD102 – Eletrônica Digital e CPLD

Glossário

Buffer/Driver: Circuito projetado para fornecer uma corrente de saída alta e/ou tensão também

alto se comparadas aos parâmetros normalmente associados aos circuitos lógicos comuns;

CIs bipolares: Circuitos Digitais integrados nos quais transistores PNP ou NPN são os principais

formadores do circuito;

CIs Unipolares: Circuitos Integrados digitais nos quais um transistor unipolar por efeito de

campo (MOSFET) é o principal elemento para a construção dos circuitos;

Dispositivo Lógico Programável (PLD): Circuito integrado que contém um grande número de

funções lógicas interconectadas. O usuário pode programar o CI para uma função específica,

abrindo as conexões apropriadas;

Entrada flutuante ou em flutuação: Sinal em alta impedância, apresentado como entrada de um

circuito digital. Atua como se estivesse logicamente desconectado ao circuito;

Lógica absorvedora de corrente: Família lógica na qual a saída de um circuito lógico drena

corrente da entrada de um outro circuito lógico;

Lógica acoplada pelo emissor (ECL): Também conhecida como lógica em modo de corrente;

Lógica fornecedora de corrente: Família lógica na qual a saída de um circuito lógico fornece

corrente para a entrada de um outro circuito lógico;

Saída a coletor aberto: Tipo de estrutura de saída de alguns circuitos TTL (Transistor-Transistor

Logic), no qual só é usado um transistor com seu coletor em flutuação;

Saída de três estados (tristate): Tipo de estrutura que permite que uma saída seja colocada em

um dos três estados: alto, baixo ou alta impedância;

Saída totem-pole: Termo usado para descrever a forma na qual dois transistores bipolares são

ligados na saída de alguns circuitos TTL;

Resistor de pull-up: Assegura em uma entrada (que pode ser compartilhada) de uma porta lógica

o nível lógico 1;

Resistor de pull-down: Assegura em uma entrada (que pode ser compartilhada) de uma porta

lógica o nível lógico 0;

Spike: Mudança momentânea e espúria em um nível de tensão;

Strobing: Técnica utilizada para eliminação de spikes;

Substrato: Pedaço de material semicondutor, onde são colocados os componentes eletro-

eletrônicos de um circuito integrado;

Transientes de corrente: Picos de corrente gerados pela saída totem-pole de um circuito TTL.

Causados quando ambos os transistores conduzem simultaneamente;

“Unasserted” : Termo usado para descrever o estado de um sinal lógico, sinônimo de inativo;