curso de eletrônica digital - ccfacape.webnode.com · é feita de forma digital e na reprodução...
Post on 08-Nov-2018
215 Views
Preview:
TRANSCRIPT
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;
top related