Home       Pesquisar       Contacto       Guestbook       Links Úteis       Webmaster

 
 
 

English version

 
 

 

 

 

 

Aumentar o tamanho do texto   Diminuir o tamanho do texto

∞ Electrónica Digital ∞

Sistemas digitais vs. analógicos

O sistema digital é um sistema discreto, utilizando a valores lógicos binários para um posterior processamento.
A informação digital é baseada em dois estados distintos (disjuntos) que podem ser definidos como 1 (positivo) ou 0 (não positivo).
Dependendo do ambiente de desenvolvimento estes valores podem corresponder a: circuito aberto (0) ou circuito fechado (1); 0 a 0.8V (0) ou 2.4 a 5V; luz apagada (0) ou luz acesa (1).

Um sistema analógico por seu lado toma valores que podem variar continuamente dentro de uma gama de valores possíveis. Um exemplo é a propagação de um som no ar.

Uma vez que um sistema analógico tem uma grande variedade de valores torna-se por isso difícil de guardar os dados num sistema computacional, sendo por isso preferível o seu armazenamento sobe uma forma discreta.

Representação de um sinal digital Representação de um sinal analógico
Representação de um sinal digital               Representação de um sinal analógico

 

Num sistema analógico pequenos erros numa entrada podem provocar grandes erros nas saídas. Um sistema digital é mais preciso e fiável uma vez que é possível utilizar um campo para o controle de erros e possibilita a sua correcção.

Os computadores usam internamente sistemas digitais no entanto os circuitos de interface, como sensores entre outros, são geralmente analógicos.

Algebra booleana e Operadores lógicos

Uma álgebra de Boole é uma estrutura matemática baseada num conjunto {B, +, •}, satisfazendo o seguinte conjunto de postulados. [Huntington, 1904]

P1: Fecho

Ambas as operações são fechadas em B
1. Postulado - Fecho (a soma e multiplicação são fechadas no conjunto)


P2: Comutatividade

2. Postulado - Comutatividade (a operação de soma e multiplicação 		são comutatividas)


P3: Elementos Neutros / Absorventes

3. Postulado - Elementos Neutros (existem elementos neutros e absorventes para as operações de soma e multiplicação)


P4: Distributividade

4. Postulado - Distributividade (tal como na matemática também na algebra se aplica)


P5: Complementação

5. Postulado - Complementação


P6: Cardinalidade

6. Postulado - Cardinalidade

 

Em álgebra Booleana, os valores são os símbolos 0 e 1
        Se uma expressão lógica é falsa, então toma o valor 0
        Se uma expressão lógica é verdadeira, então toma o valor 1

Operação E (AND):
Toma o valor lógico 1 quando todas as condições são verdadeiras.


X Y X AND Y   S = X . Y X = 1 ou 0
0 0 0   0 . X 0
0 1 0   1 . X X
1 0 0   X . X X
1 1 1   X' . X 0

 

Operação OU (OR):
Toma o valor lógico 1 quando pelo menos uma das condições é verdadeira.


X Y X OR Y   S = X + Y X = 1 ou 0
0 0 0   0 + X X
0 1 1   1 + X 1
1 0 1   X + X X
1 1 1   X' + X 1

 

Operação Negação (NOT):
Toma o valor lógico contrário da condição.


X NOT X  
0 0  
0 1  
1 1  
1 1  

 

Teoremas

Os teoremas servem para fazer asserções acerca da validade da equivalência expressões booleanas, são demonstráveis a partir de postulados e/ou outros teoremas e por indução completa.
Na demonstração por indução completa verifica-se as proposições para todos os caso possíveis através da elaboração de uma tabela de verdade compatível com a asserção para todas as combinações possíveis das variáveis independentes.

 

T1: Unicidade do elemento neutro

Se existe um elemento neutro ele é único.

1. Teorema - Unicidade do elemento neutro


T2: Idempotência

2. Teorema - Idempotência


T3: Elemento absorvente

3. Teorema - Elemento absorvente


T4: Absorção

4. Teorema - Absorção


T5: Simplificação

5. Teorema - Simplificação


T6: Adjacência

6. Teorema - Adjacência


T7: Involução

Demonstração por indução completa.

X \X \(\X)
0 1 0
1 0 1

 

T8: Associatividade

Demonstração por indução completa.
∀x,y,z ∈ B, (xy)z = x(yz)


X Y Z XY (XY)Z YZ X(YZ)
0 0 0 0 0 0 0
0 0 1 0 0 0 0
0 1 0 0 0 0 0
0 1 1 0 0 1 0
1 0 0 0 0 0 0
1 0 1 0 0 0 0
1 1 0 1 0 0 0
1 1 1 1 1 1 1

 

T9: Leis de De Morgan

9. Teorema - Leis de De Morgan


T10: Consenso

10. Teorema - Consenso

 

Princípio da dualidade

Este princípio estabelece o seguinte: toda a expressão formada por elementos do conjunto {A,B, C, . . .} mais os elementos 0 e 1 e que envolva as operações de soma lógica, de produto lógico e de complementação possui uma expressão dual que se obtém trocando cada soma por um produto lógico e cada produto por uma soma lógica, e ainda os “0”s por “1”s e os “1”s por “0”s.

Exemplos:

Princípio da dualidade

 

Portas lógicas

Portas lógicas são blocos primitivos muito usados no design de sistemas digitais. Internamente são constituídas por transístores.

Nos circuitos reais existem atrasos de propagação dos sinais, este facto pode levar a ocorrência de falhas.

Variações da saída são atrasadas em relação às entradas o atraso de propagação é sensível ao caminho que os sinais seguem. Num curto intervalo de tempo o valor das saídas comuta de um valor correcto para uma valor errado estabilizando num valor válido novamente, este fenómeno tem o nome de glitch ou hazard.

Para entender melhor como funcionam as portas lógicas e os vários valores resultantes da variação das entradas usa-se normalmente tabelas de verdade, são tabelas que mostram o valor lógico à saída para todas as combinações possíveis na entrada. Assim uma vez que estamos num sistema binário o número total de possibilidade é igual a 2N entradas.

Porta NOT

Uma porta NOT consiste num circuito que nega o valor presente na entrada, isto é, se à entrada estiver 1, a saída estará 0 e vice-versa.


Tabela de verdade
A \A (not A)
0 1
1 0

Símbolo

Símbulo da porta lógica de negação

Implementação electrónica
com tecnologia CMOS
Implementação electrónica de uma porta NOT

 

Buffer

Um é semelhante a uma porta NOT, no entanto não inverte a saída, apenas serve para manter na saída o mesmo valor que se encontra à entrada. Isto pode servir para amplificar um sinal ou para manter um determinado valor durante mais tempo (necessitando de algo para saber quando deve mudar de valor, tipicamente um sinal de clock).


Tabela de verdade
A A'
0 0
1 1

Símbolo

Símbulo de um buffer

 

Porta AND

Uma porta AND apenas produz o valor lógico 1 se ambas as entradas forem 1, caso contrario é zero.


Tabela de verdade
A B A ∧ B
0 0 0
0 1 0
1 0 0
1 1 1

Símbolo

Símbulo da porta lógica AND

Implementação electrónica
com tecnologia CMOS
Implementação electrónica de uma porta AND

 

Porta NAND

Uma porta NAND consiste na ligação de uma porta NOT à saída da porta AND, assim esta porta produz um valor lógico 1 sempre que as duas entradas são 1.


Tabela de verdade
A B A ∧ B \(A∧B)
0 0 0 1
0 1 0 1
1 0 0 1
1 1 1 0

Símbolo

Símbulo da porta lógica NAND

Implementação electrónica
com tecnologia CMOS
Implementação electrónica de uma porta NAND

 

Porta OR

Uma porta OR produz um valor lógico 1 se pelo menos uma das entradas for 1, é zero caso as duas entradas o sejam.


Tabela de verdade
A B A ∨ B
0 0 0
0 1 0
1 0 0
1 1 1

Símbolo

Símbulo da porta lógica OR

Implementação electrónica
com tecnologia CMOS
Implementação electrónica de uma porta OR

 

Porta NOR

Uma porta NOR consiste na ligação de uma porta NOT à saída da porta OR, assim esta porta produz um valor lógico 0 sempre que as duas entradas são 1.


Tabela de verdade
A B A ∨ B \(A∨B)
0 0 0 1
0 1 0 1
1 0 0 1
1 1 1 0

Símbolo

Símbulo da porta lógica NOR

Implementação electrónica
com tecnologia CMOS
Implementação electrónica de uma porta NOR

 

Porta XOR

Uma porta XOR produz um valor lógico 1 sempre que os valores das entradas são distintas, é zero sempre que sejam iguais.


Tabela de verdade
A B A ⊕ B
0 0 0
0 1 1
1 0 1
1 1 0

Símbolo

Símbulo da porta lógica XOR

 

Porta XNOR

Uma porta XNOR produz um valor lógico 1 sempre que os valores das entradas são iguais (zero ou um), é zero sempre que sejam distintos.
Consiste na ligação de uma porta NOT na saída de uma porta XOR.


Tabela de verdade
A B A ⊕ B \(A⊕B)
0 0 0 1
0 1 1 0
1 0 1 0
1 1 0 1

Símbolo

Símbulo da porta lógica XNOR

 

Realidade física

Os componentes electrónicos físicos geram sinais eléctricos contínuos, não discretos. Ainda assim são a base constituinte de qualquer sistema de digital!

Nos sistemas digitais reais as transições de estado lógico não são instantâneas, embora num intervalo de tempo muito curto é possível observar os valores intermédios durante as transições.

Transições de estado lógico

A álgebra Booleana é assim particularmente útil para descrever o comportamento em regime estacionário dos sistemas digitais.

Não pode, contudo, esquecer-se o aspecto dinâmico dos mesmos, correspondente ao seu comportamento variante no tempo.

Implementação da negação lógica

1 na entrada resulta num 0 à saída
0 na entrada resulta num 1 à saída

Comportamento de um inversor em função da entrada: a entrada varia de 0V a 5V, a saída mantém-se a 5V para uma cerca gama de valores da entrada, e depois varia rapidamente mas não instantaneamente.

Transições de estado lógico na função de negação

Circuitos de memórias

Os elementos primitivos de memória são formados de portas lógicas associadas em cascata.

A associação série de portas lógicas forma a estrutura base das memórias RAM comerciais. A porta lógica mais simples é o inversor, a sua ligação em cascata cria uma célula de memória estática (soluções com portas NOR e NAND cruzadas é também possível).

Ligação em cascata de duas portas NOT


A quebra selectiva da realimentação serve para carregar um novo valor na célula ou para manter o valor existente (caso não se interrompa a realimentação).

Ligação em cascata de duas portas NOT

Pela imagem anterior observa-se que se obtém o valor armazenado na célula lendo a partir do ponto Z, e carrega-se um novo valor na célula a partir de A, no entanto para isso será necessário activar a porta de transmissão à entrada (desactivando assim a porta superior).

Latch R-S

Tal como nos inversores em cascata, também as portas NOR cruzadas tem a capacidade de forçar a saida a 0 (reset) ou a 1 (set). Por esse motivo tem o nome de latch R-S


Tabela de verdade
S R Q
0 0 hold
0 1 0
1 0 1
1 1 unstable

Latch R-S

 

Muito difícil observar a Latch R-S no estado 1-1 uma vez que tem um retorno ambíguo ao estado 0-1 ou 1-0. Esta situação é conhecida com "condição de corrida", uma vez que as saida estão constantemente a mudar de valor.

Latch sensível ao nível

As latchs sensíveis ao nível consiste na inclusão de lógica adicional as latchs R-S para que exista um sinal que controla a alteração dos valores existentes, podendo assim manter-se uma determinado valor à saida da latch mesmo que já não existam as entradas.

Latch sensível ao nível


O sinal enable (enb) serve para "abrir" e "fechar" o acesso aos sinais de set e reset.

Sinal de enable activo a zero (lógica negativa) assim como os sinais R e S.

Os flip-flops são semelhantes às latchs sensíveis ao nível, no entanto os flip-flops são sensiveis à transição (e não ao nível).

Nota: Para evitar problemas eléctricos, numa lógica positiva utilizam-se portas NAND, numa lógica negativa portas NOR.

Flip-Flop R-S

A entrada de sincronização CP (clock pulse) do circuito, controla a mudança de estado do flip-flop.

Equação característica:       Qseguinte = S + R.Q


Tabela de verdade
 
\S \R Q
1 1 hold
1 0 0
0 1 1
0 0 unstable

Símbolo


Símbulo do flip-flop R-S

Circuito
Circuito do flip-flop R-S

 

Analisando o circuito acima, podemos ver que as saídas das portas NOR do nível A, são forçadas ao estado lógico 0 na altura em que CP é 0 (\CP = '1'), isto acontece seja qual for o estado lógico da entrada S e R. O valor destas entradas só tem influência na saída quando o impulso de relógio muda para 1.

Se atribuir-mos à entrada \S o valor lógico 1 e à entrada \R o valor lógico 0, na altura em que a linha \CP mudar para 0, a saída da porta 1 muda para 0 e a saída da porta 2 muda para 1, ficando estas condições nas entradas das portas 3 e 4.

O 0 presente na entrada da porta 3 força a saída \Q a mudar para o estado lógico 1, enquanto ambas as entradas da porta 4 ficam com o valor lógico 1 e esta condição força a saída Q a mudar para o estado lógico 0.

Se após esta transição o relógio \CP mudar para 0 as saídas \Q e Q ficam com o estado actual memorizado, a sua transição para outra situação só se dará quando aparecer um outro 1 na linha de \CP.

Pelo facto de ser a linha \S que força a saída Q a mudar para 1 e de ser a linha \R que força a saída Q a mudar para 0, estas linhas são normalmente chamadas de SET e RESET respectivamente.

A situação lógica em que ambas as entradas \S e \R têm o valor 1, não permite que o circuito mude de estado, isto é, o circuito mantém o estado anterior, é o equivalente quando o \CP muda para o valor lógico 0.

A situação lógica em que ambas as entradas \S e \R têm o valor 0, não é permitida, visto esta condição levar o circuito para um estado indeterminado.

Isto pode ser observado pela análise do gráfico temporal a baixo.

Diagrama temporal do flip-flop R-S

Flip-Flop D

Equação característica:       Qseguinte = D


Tabela de verdade
 
\D Q  
0 0  
1 1  

Símbolo


Símbulo do flip-flop D

Circuito
Circuito do flip-flop D

 

Como se pode verificar neste circuito os estados lógicos 00 e 11 nunca se verificam nas entradas \S e \R devido ao facto de o estado lógico que é fornecido à entrada \S ser invertido na entrada \R. Note que o flip-flop agora só tem uma entrada, D, quando se refer as entrada \S e \R fala-se das entradas das portas NOR 1 e 2.

Se colocarmos um 0 na entrada \S, a entrada \R fica com um 1, na transição do impulso de relógio de 1 para 0, a saída Q vai para 1. Se, pelo contrário, colocarmos um 1 na entrada \S a entrada \R fica com um 0, na transição do impulso de relógio de 1 para 0, a saída Q vai para 0.

Pelo exposto, podemos dizer que o flip-flop do tipo D, guarda na saída o valor lógico, bit, que lhe for colocado na entrada. É por este motivo que se pode dizer que um flip-flop do tipo D é uma célula de memória.

Flip-Flop JK

O flip-flop JK é igual ao o flip-flop RS, a diferença reside no facto deste permitir estados lógicos 1 1, J=1 e K=1. Nesta situação o flip-flop inverte o estado em que se encontra quando surge o impulso de relógio.

Equação característica:       Qseguinte = J.\Q + \K.J


Tabela de verdade
J K Q
0 0 hold
0 1 0
1 0 1
1 1 invert

Símbulo do flip-flop J-K

 

Flip-Flop T

O flip-flop T muda o estado da saída sempre que a entrada de clock sofrer uma modificação. Se a entrada T for 0 e o estado actual ( Q ) for 1, o flip-flop altera o valor da saída, se pelo contrário o estado actual for 0 mantém-se o valor anterior na saída.

Equação característica:       Qseguinte = T.\Q + \T.Q = T ⊕ Q


Tabela de verdade
 
T Q Q seguinte
0 0 0
0 1 1
1 0 1
1 1 0

Símbulo do flip-flop T

 

Escolha dos Flip-Flops

Como foi possivél observar cada flip-flop embora semelhante têm caracteristicas diferentes, asim cada um deles está mais indicada para uma determinada função.

• R-S Clocked Latch:
É usado como elemento de memória em sistemas de clock estreito
Uso não recomendado em outros sistemas!
É, contudo, o bloco construtivo fundamental dos outros flipflops

• J-K Flipflop:
É um bloco construtivo versátil, pode ser usado para implementar flip-flops D e T
Requer, normalmente menos lógica complementar ƒ(In,Q,Q+), contém duas entradas, logo tem um aumento da complexidade das ligações

• D Flipflop:
Minimiza as ligações, normalmente usado em VLSI
É uma técnica de design mais simples
É a melhor escolha para registos de armazenamento

• T Flipflops:
Normalmente construidos a partir de FFs J-K
Normalmente a melhor solução para implementar contadores

As entradas de Set e Reset são normalmente desejáveis.

 

 

Contadores

Nesta figura, temos três flip-flops J-K com as entradas J e K ligadas a uma linha eléctrica com o valor de + 5 Volts, isto é, forçadas ao estado lógico 1.

O primeiro flip-flop recebe o sinal de relógio do exterior, os dois flip-flops seguintes têm como relógio a saída do flip-flop anterior.

Este tipo de circuitos muda do estado actual para o estado seguinte, quando o relógio transita de 1 para 0. Partindo da situação em que todos os flip-flops se encontram com a saída Q no estado lógico 0.

Durante a de transições do 1º primeiro Impulso de relógio de 1 para 0, o fllp-flop que recebe este impulso de relógio muda para 1, Q1 fica com o valor lógico 1. Os outros dois flip­-flops continuam em 0.

Na transição do segundo impulso de relógio de 1 para 0, o flip-flop que recebe este impulso de relógio muda para 0. Como Q1 transita de 1 para 0 e esta saída é o impulso de relógio do flip-flop seguinte, então o segundo fllp-flop transita de 0 para 1, fica Q2 com o valor lógico 1, Q1 e Q3 nesta altura tem o valor lógico 1.

Na transição do terceiro impulso de relógio de 1 para 0, o fllp-flop que recebe este impulso de relógio muda para 1, Como não há transições de 1 para 0 no relógio dos flip-flops seguintes, estes mantêm o valor anterior. Na saída do circuito, fica Q1 com o valor lógico 1, Q2 com o valor lógico 1 e Q3 com o valor lógico 0.

Na transição do quarto impulso de relógio de 1 para 0, o flip-flop que recebe este impulso de relógio muda novamente para 0, esta transição de 1 para 0 força a saída Q2 a voltar a 0, levando Q3 a 1. Na saída do circuito fica então Q1 com o valor lógico 0, Q2 com o valor lógico 0 e Q3 com o valor lógico 1.

No próximo impulso de relógio, Q1 volta a 1, ficando Q2 e Q3 no estado em que se encontravam anteriormente. Na saída do circuito fica Q1 com o valor lógico 1, Q2 com o valor lógico 0 e Q3 com o valor lógico 1.

Com o oitavo impulso de relógio, todos os flip-flops ficam com valores lógicos 0, assim o processo volta ao início.

Nestes circuitos cada flip-flop corresponde a um bit, e como neste caso temos três flip-flops, o módulo de contagem é 23, ou seja, módulo oito. Um contador de módulo 16 é feito com quatro flip-flops, de módulo 32 com cinco, etc.
Registos

Um outro tipo de circuitos que faz parte da estrutura interna dos microprocessadores são os registos de deslocamento, shift registers, e são formados por flip-flops do tipo D. A saída de cada flip-flop vai ligar à entrada do elemento seguinte e repare que, neste caso, o relógio é o mesmo para todos os flip-flops.

Isto acontece Porque estes circuitos são síncronos e a mudança de estado de todas as células de memoria deverá ser feita na mesma altura.

Colocamos na entrada do registo, entrada D1, um bit com o estado lógico 1. Nestas condições, as entradas de cada flip-flop ou célula de memória são: D1=1 D2=0 e D3=0. Quando fornecemos um impulso de relógio à linha CP, todas as células de memória mudam de estado, transitando para o valor presente na entrada.

Após o impulso de relógio, as saídas ficam Q1=1, Q2=0 e Q3=0.

Continuamos, mudando o bit da entrada D1 para 0. As entradas de cada célula de memória ficam agora com os valores D1=0, D2=1, D3=0.

Com o segundo impulso de relógio as saídas transitam para: Q1=0, Q2=1 e Q3=0. Mantendo na entrada do registo o valor 0, as entradas de cada célula de memória são: D1=0, D2=O e D3=1. No terceiro impulso de relógio as saídas de cada célula transitam para: Q1=O, Q2=O e Q3=1.

Neste diagrama temporal podemos ver que o bit 1 que foi colocado na entrada do registo, após 3 impulsos de relógio aparece na saída. É por este motivo que estes registos são conhecidos por registos de deslocamento.

Neste diagrama o bit de entrada não aparece sincronizado com o impulso de relógio nem com as saídas, isto deve-se à necessidade de as entradas estarem estáveis antes do aparecimento do impulso de relógio.

A mudança de estado dos flip-flops, tanto se pode dar no flanco ascendente como no flanco descendente, dependendo da arquitectura do mesmo.

 

 

     Página 1   Página 2   Página 3  

 
 


© 2007 - 2010 - Miguel Moreira | Todos os direitos reservados