Apostila de Sistemas Digitais A 1.6Mb - Início

Propaganda
UNIVERSIDADE FEDERAL DE SANTA MARIA
CENTRO DE TECNOLOGIA
DEPARTAMENTO DE ELETRÔNICA E COMPUTAÇÃO
Caderno Didático - Disciplina de Sistemas Digitais “A”
Prof°. Dr. José Renes Pinheiro
Colaboradores: José Eduardo Baggio
Everton Correia de Camargo
Robinson Figueredo de Camargo
Ultima Atualização: junho/2000
ELC 419 - Sistemas Digitais A
2
SUMÁRIO
1. Introdução ................................................................................................................ 03
2.Flip-Flops ou BI-ESTÁVEIS ................................................................................... 04
2.1. Latches ................................................................................................................ 04
2.1.1. Latch SR com Portas NOR .............................................................................. 05
2.1.2. Latch SR com Portas NAND............................................................................ 05
2.1.3. Latch SR com ENABLE ................................................................................. 06
2.1.4. Latch D............................................................................................................. 07
2.2. Flip-Flop ............................................................................................................... 07
2.2.1 Flip flop SR Mestre Escravo .............................................................................. 08
2.2.2. Flip flop JK Mestre Escravo ............................................................................. 09
2.2.3. Flip-Flop Edge-Triggered...................................................................................10
2.2.4. Flip-Flop JK Sensível a Borda de Subida ..........................................................11
2.2.5. Flip-Flop T .........................................................................................................11
2.3. Entradas Assíncronas ............................................................................................12
2.4. Glossário de Flip-Flops e Registradores ...............................................................12
2.5.Aplicações e Exercícios ........................................................................................ 13
2.6. Glossário Considerações práticas para Projetos Digitais ..................................... 15
2.7. Registradores ........................................................................................................ 16
2.7.1. Registradores de Deslocamentos Síncrono ................................................... 16
3. PROJETO DE CIRCUITOS SEQÜÊNCIAS ..........................................................18
3.1. Características e Estrutura de Máquinas Seqüências Síncronas ............................18
3.2. Tipos de Máquinas Seqüências ............................................................................19
3.2.1. Procedimento para Análise de uma MSS ...........................................................20
3.3. Procedimento para Projeto para Máquinas de Estado .......................................... 27
3.4. Tabela de Estado .................................................................................................. 27
3.5. Exercícios de Diagrama de Estados ..................................................................... 29
3.6. Seleção das Variáveis de Estado .......................................................................... 34
3.7. Tabela de Transição ............................................................................................. 34
3.8. Tabela de Excitação ............................................................................................. 35
3.8. Equações de Excitação e de Saída ....................................................................... 36
3.10. Procedimento de Projeto através de Equações de Estado .................................. 37
3.11. Simplificações na Máquina de Estado ............................................................... 42
4. MEMÓRIAS ........................................................................................................... 49
5. CONVEROSRES A/D e D/A ................................................................................. 59
5.1. Conversor Analógico/Digital .......................................................................... 59
5.2. Conversor Digital/Analógico ...........................................................................67
7. BIBLIOGRAFIA .................... ............................................................................ 72
7. BIBLIOGRAFIA 69
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
3
CIRCUITOS SEQÜÊNCIAIS
1.
INTRODUÇÃO
Os circuitos digitais até agora conhecidos pela disciplina de Circuitos Digitais
eram formados por lógica combinacional, onde as saídas em qualquer instante de
tempo são inteiramente dependentes das entradas presentes neste tempo.
Embora todo sistema digital seja constituído por circuitos combinacionais,
muitos sistemas encontrados na prática também incluem elementos de memória, estes
requerem que o sistema seja descrito em termos de lógica seqüêncial.
Um diagrama de blocos de um circuito seqüêncial é mostrado na figura 1
abaixo. Este consiste de portas de lógica combinacional que recebem sinais binários
de entradas externas e de saídas de elementos de memória e geram sinais de saídas
externas e de entradas de elementos de memória.
Figura 1 - Diagrama de blocos de um circuito seqüêncial
Um elemento de memória é um dispositivo capaz de armazenar um bit de
informação. A informação binária armazenada em elementos de memória pode ser
mudada pelas saídas do circuito combinacional. As saídas dos elementos de memória,
são ligadas nas entradas dos gatilhos no circuito combinacional.
O circuito combinacional, por si mesmo, executa um processo de operação de
informação específica, parte da qual é usada para determinar o valor binário para ser
armazenado em elementos de memória. As saídas dos elementos de memória são
aplicados no circuito combinacional e fixam, em parte, as saídas do circuito. O
processo claramente demostra que as saídas externas de um circuito são uma função
não somente das entradas externas, mas também do estado presente de elementos de
memória.
O próximo estado dos elementos de memória são uma função das entradas
externas e estados presentes. Assim, um circuito seqüêncial é especificado por uma
seqüência de tempo das entradas, e estados internos.
Os circuitos seqüênciais podem operar síncrona ou assincronamente.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
4
Nos sistemas assíncronos, as saídas dos circuitos lógicos podem mudar de
nível lógico, sempre que o nível de uma ou mais deste também mude. Nesta disciplina
serão focalizados os circuitos seqüênciais síncronos.
2.
FLIP-FLOPS ou BI-ESTÁVEIS
Os elementos de memória são usados em circuitos de seqüência que usam
clock e são chamados de flip-flops, onde estes circuitos são células binárias capazes
de armazenar um bit de informação. Um circuito flip-flop tem duas saídas, uma para o
valor normal e uma para o valor complementar do bit armazenado neste.
Nos sistemas síncronos, os instantes de tempo nos quais qualquer das saídas
pode ser alterada, são determinados por um sinal denominado clock. Este sinal, é via
de regra, um trem de pulsos retangular ou uma onda quadrada.
Estes circuitos também são chamados de bi-estáveis, por possuírem duas
saídas estáveis.
2.1.
LATCHES
São circuitos bi-estáveis capazes de guardar um bit de informação, assim podem ser
chamados de circuitos básicos de memória.
2.1.1. Latch SR com portas NOR
Figura 1 - Latch SR com portas NOR
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
5
Equação de estado
Símbolo
Q( n + 1) = R ⋅ Q(n ) + S
S ⋅ R = 0(est .in det .)
R
Q
S
Q
2.1.2. Latch SR com portas NAND
Figura 2 - Latch SR com portas NAND
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
Equação de estado
6
Símbolo
Q( n + 1) = S ⋅ Q( n) + R
S ⋅ R = 0( est .in det .)
2.1.3. Latch SR com Enable
Figura 3 - Latch SR com Enable
EN
0
1
1
1
1
S
X
0
0
1
1
Tabela característica
R
Q(n+1)
Q(n+1)
X
Q (n)
Q (n)
0
Q (n)
Q(n)
1
0
1
0
1
0
1
-------
Símbolo
2.1.4. Latch D
Figura 5 - Latch D
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
Equação de estado
7
Símbolo
Q( n + 1) = D
Para implementarmos um latch “ D ” com “enable” basta substituir o lacth “ RS ”
comum por um com entrada “enable”.
2.2.
FLIP-FLOPS
Os sinais de saída de uma latch variam instantaneamente com a combinação de
suas entradas durante o pulso alto na entrada, já em flip-flops as saídas variam
somente durante a transição da entrada de controle (clk) esta transição é chamada
disparo ou “trigger”.
Figura 6 - Circuito Digital com uso de Flip-flop
O uso de latches em circuitos seqüênciais pode causar sérios problemas, uma
vez que a entrada enable permaneça em nível alto, a saída é dada pela combinação
instantânea das entradas que são geradas por uma lógica combinacional das saídas da
Latch.
Esta realimentação pode ocasionar oscilações no sinal de saída e como
resultado os sinais de saída do sistema serão indeterminados.
Um bom exemplo é o circuito da figura 7 abaixo:
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
8
Figura 7 - Circuito Digital com realimentação
EN
0
1
1
1
1
Tabela característica
K
J
Q(n+1)
X
X
Q (n)
0
0
Q (n)
0
1
1
1
0
0
1
1
Indefinido
Existem duas maneiras de combinarmos latches para formarmos um flip-flop.
Uma é combinarmos duas latches fazendo com que o estado das saídas só mude no
nível alto ou baixo da entrada de clock. Tais circuitos são chamados flip-flops mestreescravo. Uma outra maneira é produzir um flip-flop que seja disparado somente a
transição do sinal de clock (0 para 1) ou (1 para zero).
2.2.1. Flip-Flop SR Mestre -Escravo
Figura 8 - Flip-Flop RS Mestre-Escravo
Como mostra a figura 8 este flip-flop consiste de duas latches e
Conforme a figura acima a latch da esquerda é chamada “mestre” e
“escravo”.
Quando a entrada de clock é 1 o mestre está habilitado, portanto
entrada produzem variações na variável intermediária Y, o escravo por
desabilitado através do inversor.
Prof. José Renes Pinheiro, Dr.Eng.
um inversor.
a da direita
variações na
sua vez está
[email protected]
ELC 419 - Sistemas Digitais A
9
Quando a entrada clk é zero o processo se inverte e o mestre é que está
desabilitado, mantendo Y e Y fixos, que por sua vez produziram as saídas do escravo
QeQ.
Este tipo de combinação para se produzir um flip-flop é chamado flip-flop
sensível a nível.
2.2.2. Flip-Flop JK Mestre -Escravo
O flip-flop JK é uma modificação realizada no "RS", visto anteriormente para
evitar termos o estado proibido fazendo com que esta combinação das entradas tenha
uma função específica, isto é, o complemento da saída.
Figura 9 - Flip-Flop JK Mestre-Escravo
Q( n + 1) = J ⋅ Q( n) + K ⋅ Q( n)
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
10
2.2.3. Flip-Flop Eddge-triggered
Um flip-flop disparado na borda ignora o pulso de sincronismo, enquanto este
possui um nível constante e dispara somente na transição do sinal de sincronismo. Os
flip-flops disparados na transição positiva (0 para 1) são ditos sensíveis a borda de
subida (positive edge), enquanto que os trigados a transição negativa (1 para 0) são
sensíveis a borda de descida (negative edge).
A figura abaixo mostra o diagrama lógico de um flip-flop tipo D sensível a
borda de subida.
Figura 10 - Diagrama lógico de um flip-flop tipo D sensível a borda de subida.
Como pode-se observar este circuito tem a mesma forma do mestre-escravo
estudado anteriormente, porém a latch mestre é substituída por uma tipo D e um
inversor é adicionado.
Com a latch mestre do tipo D este flip-flop exibe um comportamento de
disparo sensível a borda ao invés de nível (mestre-escravo).
Quando a entrada de clock é igual a zero, a latch mestre é habilitada e transfere
o valor da entrada D, enquanto que a latch escravo esta desabilitada fazendo com que
a saída não mude.
Quando uma transição positiva ocorre, a entrada de clock vai para 1. Isto
desabilita o mestre e habilita a latch escravo para que esta transfira para a saída do
flip-flop o valor do mestre. Assim o valor da saída do flip-flop é o valor da entrada
imediatamente anterior a transição de subida do sinal de clock. Enquanto a entrada de
clock estiver em nível alto a saída permanece inalterada, pois o mestre está
desabilitado e finalmente a transição negativa (1 para 0) , o escravo é desabilitado
mantendo a saída constante.
2.2.4. Flip-Flop JK Sensível a Borda de Subida
Figura 11 - Flip-flop tipo JK sensível a borda de subida.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
11
Equação de Estado
A = J ⋅ Q( n) + K ⋅Q( n)
2.2.5. Flip-Flop T
A T (toggle) flip-flop muda de estado a cada pulso de clock , pode ser
construído a partir de um flip-flop tipo T ou flip-flop JK.
Figura 12 - Flip-flop tipo T .
2.3.
Entradas Assíncronas
Flip-flops freqüentemente possuem entradas especiais para preset ou clear da
saída assincronamente ,isto é , independentemente da entrada de clock.
Também podem ser ativadas em nível alto ou baixo dependendo do dispositivo
utilizado, comercialmente existem uma grande variedade de flip-flops com entradas
diretas ativadas em nível alto ou baixo, que podem ser escolhidos convenientemente
conforme a aplicação. Afigura abaixo demonstra símbolo de um flip-flops JK com
entradas diretas de preset e clear ativas em nível baixo.(CI 7474).
2.4.
Glossário - Flip flops e Registradores
Active-Low (Ativo em baixo): A entrada ou a saída de um terminal deve possuir o
sinal LOW para estar habilitado ou ativo.
Asynchronous (Assíncrono): è a condição em que a saída de um dispositivo troca seu
estado instantaneamente com a mudança da entrada independente do sinal de
relógio.
Clock (relógio): Os dispositivos usam um sinal digital periódico, que altera seu estado
de LOW para HIGH, constantemente.
Combinational Logic (Lógica Combinacional): É usado por muitos componentes
básicos (AND, OR, NOR, NAND) para formar funções lógicas mais complexas.
Complement (Complemento): Estado digital oposto - 0 é o complemento de 1 e viceversa.
Digital State (Estado digital): Nível lógico de um circuito digital.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
12
Disabled (Desabilitado): Condição na qual a entrada e a saída de um circuito digital
não estão aptos a aceitar ou transmitir estados digitais.
Edge Triggered (Trigado pela borda): O dispositivo digital só estará habilitado a
aceitar entradas ou alterar saídas somente na borda positiva ou negativa do sinal
de controle ou de relógio.
Enabled (Habilitado): A condição na qual o circuito está apto a receber ou transmitir
estados digitais.
Flip Flop (Flip flop): Circuito capaz de armazenar nível lógico 0 ou 1 baseado em
níveis lógicos seqüenciais.
Function Table (Tabela verdade): Indica as combinações mais importantes de
entrada e saída dos estados de um dispositivo.
Latch (latch): Capacidade de armazenar um particular estado digital. O circuito
armazena o nível lógico mesmo depois de alterada a entrada.
Level Triggeres (nível trigado): veja Pulse Triggered.
Master-Slave (Mestre-Escravo): Dispositivo de controle constituído de duas seções:
seção Mestre, que recebe os dados enquanto o relógio é HIGH, e a seção
Escravo, que recebe os dados do Mestre quando o relógio vai a LOW.
Negative Edge (Borda negativa): Quando a borda do relógio ou o pulso do trigger
transita de HIGH para LOW.
Noise (Ruído): Qualquer flutuação na tensão geradora momento de chaveamento,
cargas eletrostáticas podem causam irregularidades nos níveis das tensões: HIGH
e LOW de um sinal digital. Pode provocar erros nas leituras dos níveis lógicos.
Octal (Óctuplo): Um grupo de oito. Um flip flop octal é constituído de 8 flip flops em
um encapsulamento.
Positive Edge (Borda positiva): Quando a borda do relógio ou pulso de trigger
transita de LOW para HIGH.
Pulse Triggered (Pulso trigado): O termo se dá ao dispositivo digital que pode aceitar
pulsos de entrada durante os sinais de controle ou de relógio.
Register (Registrador): Grupo de flip flops ou latches que são usados para armazenar
palavras binárias e são controlados por um relógio ou sinal de controle comum.
Reset (Reset): A condição que produz o estado digital LOW.
Sequential Logic (Lógica Seqüencial): Circuito digital que envolve o uso de
seqüências d pulso de tempo em conjunto com dispositivos de armazenamento
como flip flops e latches e CIs funcionais como contadores ou registradores de
deslocamento.
Set (Seta): A condição que produz o estado digital HIGH.
Setup Time (Tempo de Setup): Tempo duração da borda ativa do pulso de trigger
(sinal de controle), necessário para estabilizar o sinal de entrada do dispositivo
digital.
Store Register (Registro de armazenamento): Dois ou mais circuitos de
armazenamento de daos (como flip flops ou latches) usados em conjunto para
armazenar bits de informações.
Strobe Gates (Componentes de controle): Um componente de controle usado para
habilitar ou desabilitar entradas ou saídas de um dispositivo digital particular.
Synchronous (Síncrono): A condição na qual a saída de um dispositivo operará
somente em sincronismo com um pulso específico ou sinal de trigger - HIGH ou
LOW.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
13
Toggle (Troca): Em um flip flop, toggle é quando o nível lógico Q muda para Q e Q
muda para Q.
Transition (Trânsito): Instante da transição do estado digital HIGH para LOW ou
LOW para HIGH.
Transparent Latch (Latch transparente): Dispositivo assíncrono no qual as saídas
armazenarão os estados mais recentes das entradas. A saída imediatamente segue
os estados das entradas sem esperar a chegada do pulso de trigger e mantêm os
estados mesmo depois das entradas serem removidas ou desabilitadas.
Trigger (Disparo): O sinal de controle de entrada de um dispositivo digital é usado
para especificar o instante em que o dispositivo aceita as entradas ou muda as
saídas.
2.5.
Aplicações e Exercícios
2.5.1. Uso do flip flop octal do tipo D em uma aplicação com Microcontrolador
Muitos dos latches e flip-flops básicos estão disponíveis em CIs octais. Nesta
configuração, estão oito latches ou flip flops em um simples encapsulamento.
Se todos os oitos latches ou flip flops são controlados por um relógio comum,
isto é chamado de registrador de 8 bits. Um exemplo de registrador de 8 bits a base de
flip flops é o CMOS 74HCT273 de alta velocidade (disponível nas famílias TTL LS e
S). O 74273 contêm 8 flip flops do tipo D, todos controlados com por um relógio
comum (Cp) trigados pela borda. Na borda positiva do Cp, os 8 bits de dados de D0 a
D7 são controlados nos 8 D flip flops e a saída de Q0 a Q7. O 74273 possui um reset
mestre ( M r ) ativo em baixo (LOW), o qual proporciona um reset assíncrono para
todos os flip flops.
Uma aplicação do 74273 D flip flop é mostrada abaixo. É usado um
registrador update e hold. A cada 10s ele recebe um pulso de relógio do
microcontrolador 68HC11 da Motorola. Os dados estão em D0 - D7 e a cada borda
positiva do relógio são dirigidos para os registradores e saídas Q0 - Q7.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
14
O sensor de temperatura analógico é usado para fornecer uma tensão de saída
proporcional à temperatura em graus centígrados. O microcontrolador 68HC11 tem a
capacidade de ler valores de tensão analógica e converter em valor digital equivalente.
O software do microcontrolador converte a palavra digital em código BCD de saída
para o mostrador.
A saída BCD do 68HC11 está em constante atualização de acordo com as
flutuações da temperatura. Uma maneira de estabilizar essas flutuações dos dados é o
uso de um registrador controlado, como o 74HCT273. O registrador só envia os dados
para a saída a cada 10s, facilitando assim a leitura.
Exercício 10-2: Usando a ferramenta da Xilinx desenhe a forma de onda da saída Q
para um S-R flip flop.
G
S
R
Q
Exercício 10-15:
O símbolo lógico de meio flip flop dual tipo D 7474, é apresentado na figura
abaixo:
a) Usando a ferramenta da Xilinx, desenhe a saída Q com as entradas
indicadas no diagrama.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
2.6.
15
Glossário - Considerações Práticas para Projetos Digitais
Duty Cycle: (Razão Cíclica): A razão entre a duração de tempo em que a onda
periódica é HIGH pelo período total da onda.
Float (flutuação): A condição na qual a entrada ou a saída em um circuito não é nem
HIGH nem LOW devido ao fato de não estar conectado diretamente a um nível de
tensão high ou low.
Hold Time (Tempo de espera): A duração de tempo, depois da borda do clock estar
ativa, que deve ser respeitado até que os dados estejam seguros para o seu
reconhecimento.
Hystetesis (Histerese): Em digitais, especialmente nos CI´s Schmitt triggers,
Histerese é a diferença de tensão entre o nível positivo de chaveamento e o nível
negativo de chaveamento.
Jitter: Termo usado em eletrônica digital para descrever formas de onda que possuem
algum grau de ruído eletrônico, causando ruído na subida e queda entre e durante a
transmissão do nível.
Power-Up: Termo usado para descrever o evento ou estado inicial quando se “liga”
um CI ou sistema digital
Pull_Down Resistor: Resistor com uma terminação ligada a LOW e a outra conectada
na entrada ou saída de uma linha, tal que, quando a linha está flutuando, a tensão nesta
linha será instantaneamente colocada no estado LOW.
Pull_Up Resistor: Resistor com uma terminação ligada a HIGH e a outra conectada
na entrada ou saída de uma linha, tal que, quando a linha está flutuando, a tensão nesta
linha será instantaneamente colocada no estado HIGH.
Race Condition: A condição na qual o nível digital (1 ou 0) está mudando de estado
no mesmo instante em que a borda de clock de um dispositivo síncrono, faz com que
o nível do sinal de entrada neste tempo seje indeterminado.
SPST Switch (Chave SPST): Abreviação de polo simples, polo throw. Uma chave
SPST é usada para fazer ou interromper o contato com uma linha elétrica simples.
2.6.
REGISTRADORES
Grupo de flip flops que tem por função armazenar bits.
1 flip flop armazena 1 bit
n flip flops armazenam n bits
2.6.1. Registradores de Deslocamentos Síncronos
Função: Deslocamento da informação contida para a esquerda ou para a
direita.
Aplicação:
- Transmissão Serial
- Conversão série paralela
- Multiplicação e Divisão por 2
Diagrama Lógico de um registrador de deslocamento universal.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
16
Função de Entrada dos Flip flops:
DA0 = ILSL + X0 P + A1 SR
DA1 = A0 SL + X1 P + A2 SR
DA2 = A1 SL + X2 P + A3 SR
DA3 = A2 SL + X3 P + IRSR
Pode ser acrescentado algo dos livros.
Introdução:
Registradores são necessários em sistemas digitais para armazenar
temporariamente um grupo de bits. Bits de dados (1´s ou 0´s) necessitam em sistemas
digitais ser temporariamente copiados, movidos, deslocados para a direita, deslocados
para a esquerda uma ou mais posições.
Um registrador de deslocamento facilita a manipulação desses bits de dados.
Muitos registradores de deslocamento podem lidar com movimento paralelo de bits,
assim como movimento serial, e podem ser usados para a conversão paralela e serial
paralela.
Tipos de Registradores de Deslocamento:
Conversão paralela para serial
Registrador Recirculante
Conversão serial para paralela
Contador em anel e Contador Johnson Shiff
Registrador de deslocamento 74164 8 bits entrada serial, saída paralela.
O 74164 possue duas entradas seriais (DSa e DSp ), lidas em sincronismo com a
borda positiva do clock (C P ). Cada borda do pulso positivo deslocará os bits de dados
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
17
uma posição para a direita. O MR é ativo em LOW, isto é, ele reseta todos os flip
flops quando possui pulso LOW.
Das
Dsb
Cp
MR
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
Exercício: Montar o circuito com a ferramenta Xilinx usando o diagrama
lógico e desenhe a forma de onda para uma conversão de serial para paralela do
número binário 11010010 usando o 74161, usando os seguintes sinais.
MR
Clk
0
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
9
Strobe
Cp
DSb
3.
1
1
0
1
0
0
1
0
Análise de Circuitos Seqüênciais
3.1.
Características e Estrutura das Máquinas Seqüências
Síncronas
Um circuito seqüencial caracteriza-se por ter a sua saída, ou uma amostra da
saída, realimentada para a entrada.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
10
ELC 419 - Sistemas Digitais A
Figura 1
18
- Diagrama de blocos de um sistema seqüencial.
Em outras palavras isto quer dizer que a próxima saída de uma máquina
seqüencial depende das entradas atuais e da saída atual desta máquina seqüencial. A
figura1 mostra um diagrama característico de um sistema seqüencial.
Nos circuitos seqüenciais podemos encontrar duas diferenças com relação a
figura acima:
1) A lógica de saída pode não existir. Neste caso a saída da máquina
seqüencial é o “Estado Atual” que corresponde a saídas dos flip-flops ou memória.
2) A saída também é função das entradas e não função única e exclusiva do
estado atual.
A estrutura de uma máquina seqüêncial ( ou de estados) é dividida em blocos
de lógica combinacional e de elementos de memória (flip-flops). Os blocos
combinacionais por sua vez geram os sinais de saída e as funções de entrada (ou
excitação) para os blocos de memória que fornecerão o próximo estado da máquina.
As máquinas de estado podem ser classificadas em dois tipos, conforme a
geração das saídas, Máquina de Mealy e Máquina de Moore.
3.2.
Tipos de Máquinas Seqüenciais
Quando a saída de uma máquina seqüencial é função apenas do estado atual
esta máquina é chamada de Moore, e quando a saída é função das entradas e do
estado atual a máquina é chamada de Mealy.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
19
As máquinas de Moore podem ser representadas por diagramas de estado
onde um círculo representa o estado atual, e uma seta representa a transição entre dois
estados (atual e futuro).
Neste caso, dentro de cada círculo, que representa o estado, coloca-se uma
letra ou número que identifique o estado e o valor das saídas correspondentes a este
estado, e em cada flecha que representa uma transição, coloca-se o valor das entradas
do circuito.
As máquinas de Mealy podem ser representadas por diagramas de estado
onde um circulo representa o estado atual, e uma seta representa a transição entre dois
estados (atual e futuro).
Neste caso dentro de cada círculo, que representa o estado, coloca-se uma
letra ou número que identifique o estado, e em cada flecha, que representa uma
transição, coloca-se o valor das entradas e das saídas.
Com estas máquinas seqüenciais síncronas (MSS) é possível fazer contadores
de qualquer seqüência, inclusive contadores tipo “up/down”, que contam
incrementando ou decrementando. Neste tipo de contador uma entrada indica o
sentido correto de contagem.
Na figura 2, abaixo podemos ver o diagrama de estados para um contador “up/down”
de 2 bits.
Figura 2 - Diagrama de estados para um contador “up/down”
Diagrama de estados de um contador “up/down” de 2 bits. “ud” é uma entrada
que determina o sentido da contagem.
Repare que cada estado da MSS está associado a saída dos flip-flops. Apesar
disto os nomes dos estados poderiam ser qualquer número ou letra.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
20
Neste exemplo, apenas como função mnemônica, o nome dos estados e o
valor de saída do contador são os mesmos. No caso de contadores os estados
costumam não ter nomes ficando definido apenas pelas saídas dos flip-flops.
Na prática podemos projetar máquinas com conjuntos de saídas Mealy e
Moore, porém esta distinção é necessária em projetos com dispositivos de lógica
programável.
O bloco de memória de estado pode ser construído com qualquer dos flipflops estudados no capítulo 2.
3.2.1. Procedimento para Análise de uma MSS
Considere a definição formal abaixo
PE = F (EA,X)
Z = G (EA,X) ou Z = G (EA)
Onde:
PE – próximo estado
EA – estado atual
X – entradas
Z – saídas
Lembrando que o conceito de estado implica no conhecimento do passado do
circuito. A análise de máquinas de estado pode ser dividida em três passos básicos.
1) Identificar as funções de próximo estado e saída F e S, respectivamente.
2) Através de F, G e da equação de estado do flip-flop usado no bloco de
memória, montar a tabela de estado que especifica completamente o
próximo estado e saídas do circuito para qualquer possível combinação de
estado atual e entradas.
3) Opcionalmente o diagrama de estado pode ser construído. Este diagrama
fornece a mesma informação da tabela de estado em uma forma gráfica,
conforme figura 3.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
21
Figura 3 - Tabela de estado em forma gráfica
As equações de entrada ou excitação são dadas por:
Do = Qo ⋅ EN + Qo ⋅EN
D1 = Q1⋅ EN + Q1 ⋅Qo ⋅ EN + Q1⋅ Qo ⋅ EN
Para o flip-flop tipo D temos que as equações de estado ou transição são dadas
por:
Qo (n + 1) = Do = Qo ( n) ⋅ EN + Qo ( n) ⋅ EN
Q1( n + 1) = D1 = Q1( n) ⋅ EN + Q1( n) ⋅Qo (n ) ⋅ EN + Q1(n ) ⋅ Qo ( n) ⋅ EN
Assim podemos montar a tabela de transição do bloco de memória como:
EA
Qo
Q1
0
0
1
1
0
1
0
1
Prof. José Renes Pinheiro, Dr.Eng.
PE/EN=0
Qo(n+1)
Q1(n+1)
0
0
0
1
1
0
1
1
PE/EN=1
Qo(n+1)
Q1(n+1)
0
1
1
0
1
1
0
0
[email protected]
ELC 419 - Sistemas Digitais A
22
A equação de saída é dada por : MAX = Q1⋅Qo⋅EN
E finalmente a tabela de estado que fornecerá o comportamento do sistema
seqüêncial é obtida convencionalmente chamando os estados atuais por letras como:
A para Qo(n) +0 e Q1(0) = 0, B para 0 1,C para 1 0 , D para 1 1.
EA
----------A
B
C
D
PE
EN=0
A
B
C
D
EN=1
B
C
D
A
Z
-----------0
0
0
1
Para termos uma representação gráfica podemos construir o diagrama de
estados. A flecha entre um estado e outro representa uma transição do sinal de clock,
enquanto que os valores das entradas e saídas são representados ao lado de cada
transição no formato Entrada/Saída.
Assim o diagrama de estados para o exemplo proposto é dado na figura 4:
Figura 4 - Diagrama de Estados
Como podemos observar a máquina de estado proposta foi construída com
arquitetura Mealy. O diagrama da figura 5 abaixo, mostra a representação de uma
máquina similar com arquitetura Moore, onde dentro de cada estado temos o fator de
saída.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
23
Figura 5 - Diagrama da Máquina de Moore
Portanto uma análise completa de um sistema seqüêncial engloba os seguintes
passos:
1) Determinar as equações de excitação para as entradas de controle dos flipflops.
2) Substitua as equações de excitação nas equações características (ou de
estado) dos flip-flops para obter as equações de transição.
3) Construa a tabela de transição com as equações de transição.
4) Determine as equações de saída.
5) Adicionar os valores de saída à tabela de transição, para cada estado
(Moore) ou estado/entrada (Mealy) criando a tabela de estado.
Opcionalmente pode-se dar nomes aos estados ao invés do código binário
das saídas dos flip-flops.
6) Desenhe o diagrama de estado.
A figura 6, mostra uma máquina de estados com flip-flops JK.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
24
Figura 6 - Máquina de estados com flip-flops JK.
O procedimento para análise é o mesmo só lembrando que agora a equação
característica do flip-flop é :
Q( n + 1) = J ⋅ Q( n) + K ⋅Q( n)
1) EQUAÇÕES DE EXCITAÇÃO
Jo = X ⋅ Y
Ko = X ⋅ Y + Y ⋅ Q1
J 1 = X ⋅ Qo + Y
K1 = Y ⋅ Qo + X ⋅Y ⋅Qo
2) EQUAÇÕES DE TRANSIÇÃO
Qo(n + 1) = J ⋅ Qo + Ko ⋅ Qo
Qo( n + 1) = X ⋅ Y ⋅ Qo + ( X ⋅ Y + Y ⋅ Q1) ⋅ Qo
Qo( n + 1) = X ⋅ Y ⋅ Qo + ( X ⋅ Y ⋅ Y ⋅ Q1) ⋅ Qo
Qo( n + 1) = X ⋅ Y ⋅ Qo + ( X + Y )(Y + Q1) ⋅ Qo
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
25
Qo( n + 1) = X ⋅ Y ⋅ Qo + X ⋅ Y ⋅ Qo + X ⋅ Q1⋅ Qo + Y ⋅ Q1 ⋅ Qo
Qo( n + 1) = X ⋅ Y ⋅ Qo ( n) + X ⋅ Y ⋅ Qo ( n) + X ⋅ Q1( n) ⋅ Qo + Y ⋅ Q1( n) ⋅ Qo
Q1(n + 1) = J1 ⋅ Q1(n ) + K1 ⋅ Q1
Q1(n + 1) = ( X ⋅ Qo + Y ) ⋅ Q1(n) + (Y ⋅ Qo(n) + X ⋅ Y ⋅ Qo) ⋅ Q1
Q1( n + 1) = X ⋅ Q1⋅ Qo + Y ⋅ Q1 + X ⋅ Y ⋅ Q1 + Y ⋅ Q1⋅ Qo + X ⋅ Q1 ⋅ Qo + Y ⋅ Q1⋅ Qo
3) EQUAÇÕES DE SAÍDA
Z = X ⋅ Q1 ⋅ Qo + Y ⋅ Q1 ⋅ Qo
4) TABELA DE TRANSIÇÃO
EA
Q1(n) Qo(n)
0
0
0
1
1
0
1
1
X
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
Y
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
PE / Saída
Entradas X Y
0 0
0 1
1 0
0 0 /0
1 0 /1
0 1 /0
0 1 /0 1 1 /0
1 0 /0
1 0 /0
0 0 /0
1 1 /0
1 1 /0
1 0 /0
0 0 /1
Q1(n)
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
Prof. José Renes Pinheiro, Dr.Eng.
Qo(n)
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
J1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
K1
0
0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
1 1
1 0 /1
1 1 /0
0 0 /0
1 0 /1
Jo
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
Ko Q1(n+1) Qo(n+1)
0
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
0 (1)
0
[email protected]
ELC 419 - Sistemas Digitais A
26
Q1* = X ⋅ Q1 ⋅ Qo + Y ⋅ Q1 + X ⋅ Y ⋅ Q1 + Y ⋅ Q1 ⋅ Qo + X ⋅ Q1 ⋅ Qo + Y ⋅ Q1 ⋅ Qo
Qo* = X ⋅ Y ⋅ Qo + X ⋅ Y ⋅ Qo + X ⋅ Q1 ⋅ Qo + Y ⋅ Q1 ⋅ Qo
J 1 = X ⋅ Qo + Y
J
0
0
1
1
K1 = Y ⋅ Qo + X ⋅Y ⋅Qo
Jo = X ⋅ Y
K
0
1
0
1
Q*
Q
0
1
Q
Ko = X ⋅ Y + Y ⋅ Q1
5) TABELA DE ESTADO PARA : A= 0 0 ; B= 0 1 ;C= 1 0;D= 1 1
EA
A
B
C
D
PE / Z
Entradas X Y
0 0
0 1
A /0
C /1
B /0
D /0
C /0
A /0
D /0
C /0
1 0
B /0
C /0
D /0
A /1
1 1
C /1
D /0
A /0
C /1
Figura 7 - Diagrama da Máquina de estado
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
3.3.
27
PROCEDIMENTO PARA PROJETO DE MÁQUINAS DE
ESTADO
Os passos para projeto de uma MSS tem início em uma descrição ou
especificação de trabalho e ordem inversa ao procedimento de análise
estudado no capítulo anterior, como:
1) Construa a tabela e/ou diagrama de estados utilizando a descrição ou
especificação de trabalho desejada ao sistema digital.
2) Se possível minimize o número de estados na tabela de estados.
3) Selecione um conjunto de variáveis de estados [Qx(n),Qx(n+1)] e
relacionando as combinações destas com os estados da tabela de estados.
4) Substitua as combinações das variáveis das variáveis de estado na tabela de
estados para criar a tabela de transição, que mostra a próxima combinação
desejada para a variável de estado e para cada combinação da entrada.
5) Escolha um tipo de flip-flop para a memória de estado.
6) Construa a tabela de excitação que mostra os valores de excitação em
função das entradas e estados atuais.
7) Calcule as equações de excitação que satisfazem a tabela de excitação
(mapas de Karnaught ou outro método de simplificação.
8) Desenhe o diagrama lógico do circuito
3.4.
TABELA DE ESTADO
Existem várias maneiras de descrever uma máquina de estado, como
mapas ASM(Assembler) e linguagem de descrição de máquina de estados que
especifica indiretamente a tabela de estado. Porém aqui estudaremos apenas tabelas
que especificam diretamente o funcionamento da máquina.
A construção da tabela de estado ou diagrama de estado parte de uma
especificação ou descrição de trabalho, portanto utilizaremos um exemplo para
descrever o procedimento.
Exemplo1: Seja uma máquina seqüêncial que receba através de um par de
fios uma seqüência de pulsos e sinalize com nível lógico "1" sempre que os três
últimos bits forem 1. (OBS.: O clock da máquina e da transmissão serial são
iguais)
Figura 8 - Máquina Seqüêncial
A figura 9, mostra o diagrama de estados a) por Moore e b) por Mealy
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
28
Figura 9 - Diagrama de estados a) por Moore e b) por Mealy
Claramente observando os diagramas de estado observamos que por
Mealy é possível obtermos uma redução no número de estados, porém em alguns
casos a característica assíncrona das saídas Mealy pode trazer problemas. Nas
tabelas abaixo são mostrados os estados para ambos os diagramas acima
representados para o exemplo1.
EA
X=0
A
A
A
A
A
B
C
D
PE / Z
X=1
B
C
D
D
Z
0
0
0
1
(a) Tabela para Moore
EA
A
B
C
PE / Z
X=0
A /0
A /0
A /0
X=1
B /0
C /0
C /1
(b) Tabela para Mealy
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
3.5.
29
EXERCÍCIOS DE DIAGRAMA DE ESTADOS
Exercício 1
Projete um circuito sequencial observando o diagrama de estados e atribuição.
Use a tabela de estado reduzida, com atribuição binária - Atribuição 1. Use flip flop
JK. Apresentar o circuito lógico.
Tabela de Excitação do flip flop JK
Q(t) Q(t+1)
0
0
0
1
1
0
1
1
J
0
1
X
X
K
X
X
1
0
Tabela de Atribuições de Estados Binários reduzido
Estados
a
b
c
d
e
Atribuição
1
001
010
011
100
101
Atribuição
2
000
010
011
101
111
Diagrama de Estado da Atribuição 1
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
30
Tabela de Excitação - Atribuição 1
Est. Atual
A
0
0
0
0
0
0
1
1
1
1
B
0
0
1
1
1
1
0
0
0
0
Ent.
C
1
1
0
0
1
1
0
0
1
1
Próx.Estado
X
0
1
0
1
0
1
0
1
0
1
A
0
0
0
1
0
1
1
1
0
1
B
0
1
1
0
0
0
0
0
0
0
Saída do Circ. Comb. - Ent. FF´s
C
1
0
1
0
1
0
1
0
1
0
JA
0
0
0
1
0
1
X
X
X
X
KA
X
X
X
X
X
X
0
0
1
0
JB
0
1
X
X
X
X
0
0
0
0
KB
X
X
0
1
1
1
X
X
X
X
JC
X
X
1
0
X
X
1
0
X
X
KC
0
1
X
X
0
1
X
X
0
1
Saíd
a
Y
0
0
0
0
0
0
0
1
0
1
Mapas de Karnaught - Funções de entrada e saída
AB
JA
00
01
11
10
00
X
X
X
CX
01 11
X
1
1
X
X
X
X
10
AB
X
X
JA = BX
AB
KB
00
01
11
10
00
X
X
X
00
X
X
CX
01 11
X X
1
1
X X
X X
CX
01 11
X X
X X
X X
10
X
1
X
X
AB
JC
00
01
11
10
00
X
1
X
1
CX
01 11
X X
X
X X
X
JC = x
CX
01 11
X
X
1
00
X
X
X
10
X
X
X
1
X
1
JB =
10
X
X
X
X
CX
01 11 10
X 1
X X X
X X X
JB 00
00 X
AB 01 X
11 X
10
KA = C X
KB = C + X
Y
00
AB 01
11
10
KA
00
01
11
10
AB
KC
00
01
11
10
A
00
X
X
X
X
CX
01 11 10
X 1
X 1
X X X
X 1
KC = X
10
X
Y = AX
Desenhe o diagrama lógico do circuito 1:
Prof. José Renes Pinheiro, Dr.Eng.
X
[email protected]
ELC 419 - Sistemas Digitais A
31
Exercício 2
Repetir o exercício número 1 com Atribuição 2. Apresentar o circuito lógico.
Diagrama de Estado da Atribuição 2
Tabela de Excitação - Atribuição 2
Est. Atual
Ent.
A B C X
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1
1
1
1
1
0
1
1
1
1
Próx.Estado
A
B
C
0
0
0
0
1
0
0
1
1
1
0
1
0
0
0
1
0
1
1
1
1
1
0
1
0
0
0
1
0
1
JA
0
0
0
1
0
1
X
X
X
X
Saída do Circ. Comb. - Ent. FF´s
KA
JB
KB
JC
KC
X
0
X
0
X
X
1
X
0
X
X
X
0
1
X
X
X
1
1
X
X
X
1
X
1
X
X
1
X
0
0
1
X
X
0
0
0
X
X
0
1
X
1
X
1
0
X
1
X
0
Saída
Y
0
0
0
0
0
0
0
1
0
1
Mapas de Karnaught - Funções de entrada e saída
JA
00
AB 01
11
10
00
X
X
CX
01 11
1
X
X
10
X
1
X
X
X
JA = B + CX
Prof. José Renes Pinheiro, Dr.Eng.
K
A
00
AB 01
11
10
00
CX
01 11
X
X
X
X
X
X
X
X
KA = B x
X
X
10
JB
X
X
1
00
AB 01
11
10
00
CX
01 11
10
X
X
X
1
X
X
X
X
X
X
1
JB = C X
[email protected]
X
X
X
ELC 419 - Sistemas Digitais A
KB
00
AB 01
11
10
00
X
X
X
CX
01 11
X
X
1
1
X
1
X
X
10
X
1
1
X
JC
00
AB 01
11
10
KB = X + C
Y
00
AB 01
11
10
00
1
X
X
32
CX
01 11
X
1
X
X X
X X
10
X
X
X
X
KC 00
00 X
AB 01 X
11 X
10 X
JC = B
00
CX
01 11
X
X
X
X
X
CX
01 11
X X
X
X
X
KC = x
10
X
1
1
Y = AX
Desenhe o diagrama lógico do circuito 2:
Exemplo 3:
Um somador completo, conforme figura abaixo, recebe duas entradas externas
X e Y, a terceira entrada Z vem de uma saída de um flip flop D. A saída carry (vaium) é transferida para o flip flop a cada pulso de clock. A saída externa S resulta da
soma de X, Y e Z. Assuma que X e Y varie após a transição de descida do pulso de
clock.
X
Somador
Y
Completo
Z
S
C
C
Q
D
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
10
X
1
1
ELC 419 - Sistemas Digitais A
33
Exemplo 4:
Projete um circuito sequencial com dois flip flops e uma entrada. Quando a
entrada for igual a 1, a saída do flip flop repete a seqüência 00, 01, 10. Quando a
entrada for igual a zero, eles repetem as seguintes seqüências: 11,10,01. Projete o
circuito com:
a) Flip flop tipo T
b) Flip Flop tipo D
Exemplo 5:
Projete um circuito com um flip flop e duas entradas conforme mostrado no
diagrama de temporização abaixo. A saída do flip flop é setada quando A=1 e B=0, e
é limpada quando A=1 e B=1 e é deixada no mesmo estado nos outros casos.
Clock
t
A
t
B
t
Q
t
Exemplo 6:
Projete um circuito seqüencial cujo diagrama de estados é dado. Use flip flops
tipo RS.
11/ 0
00 / 0
01 / 1
10 / 1
0
1
01 / 0
10 / 0
11 / 1
00 / 1
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
3.6.
34
SELEÇÃO DAS VARIÁVEIS DE ESTADO
A seleção das variáveis de estado consistem em determinarmos o código
binário de cada estado que será formado pelas saídas dos flip-flops. Ambos os
exemplos 1(a) e 1(b) necessitam no mínimo de 2 flip-flops para que possamos
representar todos os estados, pois temos
combinações possíveis ( onde n é o
número de flipflops).
Convenientemente podemos selecionar um outro tipo de código para os
estados utilizando mais flip-flops, isto resultará em um número menor de portas para
gerarmos os sinais de excitação dos flip-flops (equação de excitação menor). A tabela
abaixo mostra alguns códigos usuais onde o projetista deve escolher conforme a
necessidade e aplicação.
Estados
A
B
C
D
BCD
00
01
10
11
One-Hot
0001
0010
0100
1000
Quase One-Hot
000
001
010
100
Como pode ser observado os códigos da terceira e quarta coluna da tabela
exigem um número maior que o mínimo expressado na segunda coluna, porém estes
resultaram em um número menor de portas para construir a equação de excitação. A
diferença entre os códigos ONE-HOT e QUASE ONE-HOT está no estado inicial
"A", para nosso circuito, pois a inicialização do sistema é facilmente obtida através
das entradas diretas de clear (000) e preset (111) dos flip-flops.
Em alguns casos o número de estados é menor que o número de combinações
possíveis das saídas dos flip-flops
, com isto existirão estados não usados (ou
ilegais) como exemplo 1(b) por Mealy. Nestes casos existem duas aproximações:
-
-
Mínimo risco - Esta aproximação assume que o sistema pode ir para um
estado ilegal por motivo de falha no hardware, ou uma entrada insperada
ou erro no projeto, Então todas as combinações não usadas são
identificadas e se caso qualquer destas ocorrerem imediatamente o sistema
será levado ao estado inicial ou qualquer estado de segurança.
Mínimo custo - esta aproximação assume que a máquina de estados jamais
encontrará um estado ilegal, com isto as combinações não utilizadas
podem ser indicadas como "tanto faz" (X) na tabela de transição e assim
resultando em simplificações nas equações de excitação. Por outro lado
caso um estado ilegal ocorra um comportamento indefinido surgirá.
3.7.
TABELA DE TRANSIÇÃO
Para construirmos a tabela de transição basta substituirmos os nomes dos
estados pelas combinações escolhidas para as variáveis de estados como mostram as
tabelas a) e b) para os exemplos 1(a) e 1(b) respectivamente.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
EA
00
01
10
11
X=0
00
00
00
00
35
PE / Z
X=1
01
10
11
11
Z
0
0
0
1
(a) Máquina de Moore
EA
00
01
10
PE / Z
X=0
X=1
0 0 /0
0 1 /0
0 0 /0
1 0 /0
0 0 /0
1 1 /1
(a) Máquina de Mealy
(b)
3.8.
TABELA DE EXCITAÇÃO
Estando com a tabela de transição concluída o próximo passo é escolher o tipo
de flip-flop a ser usado e montar a tabela de excitação que na verdade é a tabela
de transição acrescida dos sinais de entrada dos flip-flops necessários para que o
próximo estado seja alcançado no próximo disparo (trigger).
As tabelas a) e b) abaixo ilustram o procedimento para nosso exemplo1,
utilizando flip-flops do tipo JK e D, respectivamente.
X
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
Y
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
Q1(n)
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
Qo(n)
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Prof. José Renes Pinheiro, Dr.Eng.
J1
0
0
0
0
1
1
1
1
0
1
0
1
1
1
1
1
K1
0
0
0
0
1
0
1
0
0
1
0
1
1
1
1
0
Jo
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
Ko Q1(n+1) Qo(n+1)
0
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
1
0
1
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1
1
0
0
1
0 (1)
0
[email protected]
ELC 419 - Sistemas Digitais A
3.9.
36
EQUAÇÕES DE EXCITAÇÃO E DE SAÍDA
Agora utilizando mapas de Karnaught ou outro método de simplificação
podemos retirar as equações de excitação através das tabelas de excitação.
J1
Jo
K1
Ko
Exemplo 1b
D1
Prof. José Renes Pinheiro, Dr.Eng.
Do
[email protected]
ELC 419 - Sistemas Digitais A
37
3.10. Procedimento de Projeto através das Equações de Estado
Uma outra maneira para projeto de um circuito seqüencial, consiste em retirar-se as equações de excitação diretamente das equações de estado. Ao contrário do
método gráfico através da tabela de excitação, vista anteriormente, no método de
projeto por equações de estado as equações de excitação são obtidas analiticamente
através da equação característica do flip-flop utilizado no projeto. Portanto neste
método o ponto inicial para o projeto são as equações de estado que o descrevem,
estas equações por sua vez contem a mesma informação que a tabela de estado.
Exemplo1 - Projete um circuito seqüencial que tenha um comportamento
descrito pelas equações de estado abaixo:
QA n +1 = QC ⋅ QD + QC ⋅ QD
QB n+1 = QA
QC n+1 = QB
QD n +1 = QC
Como pode-se observar as equações descrevem o comportamento de um
circuito com quatro flip-flops (A,B,C e D). Este circuito é chamado de registrador de
deslocamento realimento do (feedback shift-register). Onde, a cada transição do sinal
de CLK, cada flip-flop desloca seu conteúdo para o próximo flip-flop e o estado de
determinados flip-flops determinarão o estado do primeiro flip-flop.
Neste tipo de procedimento a utilização de flip-flop tipo "D" é conveniente,
pois a equação característica (1), implica que as equações de excitação são iguais as
equações de estado.
Q n +1 = D
Equação característica do flip-flop "D"
Portanto para o exemplo temos:
DA = C D + CD
DB = A
DC = B
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
38
DD = C
E o circuito fica:
Exemplo 2 - Projete um circuito seqüencial com flip-flop JK que satisfaça as
seguintes equações:
A n+1 = A BCD + A BC + ACD + A C D
B n+1 = AC + C D + AB C
C n+1 = B
D n+1 = D
Agora com um flip-flop tipo JK é necessário a realização de um processo de
casamento entre as equações de estado acima com a equação característica do flipflop "JK" abaixo:
Q n+1 = J Q + K Q
Prof. José Renes Pinheiro, Dr.Eng.
equação do flip-flop JK
[email protected]
ELC 419 - Sistemas Digitais A
39
O processo de casamento consiste em arranjar e manipular as equações de
estado para que estas fiquem no formato da equação característica. Assim podemos
extrair as equações de excitação J e K. Desta forma temos
-
Para o flip-flop A
A n+1 = ( BCD + BC ) ⋅ A + (CD + C D ) ⋅ A
JA = BCD + BC = BC ( D + 1)
JA = BC
KA = CD + C D = (C + D) ⋅ (C + D )
KA = C ⋅ D + D ⋅ C
- Para o flip-flop B
B n+1 = ( AC + C D ) ⋅ (B + B ) + AB C
B n+1 = A BC + ABC + BC D + BC D + AB C
B n+1 = ( AC + C D ) ⋅ B + ( AC + C D + AC ) ⋅ B
JB = AC + C D
KB = AC + C D + AC = ( A + C ) ⋅ (C + D ) ⋅ ( A + C )
KB = A ⋅ (C + D )
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
40
- Para o flip-flop C
C n+1 = B = B (C + C ) = B C + BC
JC = B
KC = B
-
Para o flip-flop D
D n+1 = D = 1 ⋅ D + 0 ⋅ D
Logo:
JD = K D = 1
Exemplo 3 - Resolva o exemplo 1a pelo método de equações de estado.
Tabela de Estado
X
0
0
0
0
1
1
1
1
EA
Q1 Q0
0 0
0 1
1 0
1 1
0 0
0 1
1 0
1 1
Prof. José Renes Pinheiro, Dr.Eng.
PE
Q1(n+1) Q0(n+1)
0
0
0
0
0
0
0
0
0
1
1
0
1
1
1
1
Z
0
0
0
0
1
1
1
1
[email protected]
ELC 419 - Sistemas Digitais A
41
Equações de Estado
Q 1n+1
X \ Q1Q0
0
1
0 0
0
0
0 1
0
1
1 1
0
1
1 0
0
1
0 1
0
0
1 1
0
1
1 0
0
1
Q1 n+1 = X ⋅ Q 0 + X ⋅ Q1
Q 0 n+1
X \ Q1Q0
0
1
0 0
0
1
Q 0 n+1 = X ⋅ Q 0 + X ⋅ Q1
Aplicando o método de casamento para o flip-flop JK, temos:
Q1 n+1 = X ⋅ Q 0 + X ⋅ Q1
Q1 n+1 = X ⋅ Q 0(Q 1 + Q 1) + X ⋅ Q1
Q1 n+1 = X ⋅ Q 0 ⋅ Q 1 + X ⋅ Q 0 ⋅ Q1 + X ⋅ Q1
Q1 n+1 = X ⋅ Q 0 ⋅ Q 1 + ( X ⋅ Q 0 + X ) ⋅ Q1
J1 = X ⋅ Q0
K 1 = XQ0 + X = X (Q0 + 1)
K1 = X
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
42
Q 0 n+1 = X ⋅ Q 0 + X ⋅ Q1
Q 0 n+1 = X ⋅ Q 0 + X ⋅ Q 1(Q 0 + Q 0)
Q 0 n+1 = X ⋅ Q 0 + X ⋅ Q1Q 0 + XQ 1Q 0)
Q 0 n+1 = ( X + XQ1) ⋅ Q 0 + X ⋅ Q1Q 0
J 0 = X + XQ1 = X (Q1 + 1)
J0 = X
K 0 = XQ1
3.11. Simplificações na Máquina de Estados
Na maioria das vezes o diagrama de estados pode ser simplificado, pois
muitos estados ou são idênticos ou são equivalentes. Um estado é dito idêntico
quando conduz aos mesmos próximos estados, e produz as mesmas saídas. No
exemplo 3.1, a simplificação de estados redundantes foi deita pela eliminação direta
de estados idênticos.
Tabela 1.1: Tabela da verdade para o
exemplo 3.1.
Exemplo 3.1: Simplifique a tabela 1.1.
Na tabela 1.1, que representa uma
MSS, os estados “B” e “D” são
idênticos. Neste caso, esta tabela pode
ser reescrita substituindo-se a letra
“D” pela letra “B”.
Fazendo-se
as
substituições
necessárias na tabela 1.1 (os estados
“D” são trocados pelo estado “B”)
ainda existem estados idênticos como
podemos perceber na tabela 1.2. O
estados “A” e “E” podem ser
condensados em um único estado “A”.
Prof. José Renes Pinheiro, Dr.Eng.
E.A
A
B
C
D
E
P.E.
X=0
B/0
C/0
D/1
C/0
D/0
P.E.
X=1
C/1
A/1
B/0
A/1
C/1
Tabela 1.2: Tabela da verdade já
simplificada para o exemplo 1.3.
E.A.
A
B
C
P.E.
X=0
B/0
C/0
B/1
P.E.
X=1
C/1
A/1
B/0
E
B/0
C/1
[email protected]
ELC 419 - Sistemas Digitais A
43
Finalmente não há mais o que simplificar. A MSS original que possuia cinco estados e
necessitaria de três flip-flops para ser implementada, ficou com apenas três estados,
necessitando de apenas dois flip-flops. A tabela 1.3 corresponde a tabela 1.51simplificada ao
máximo.
Tabela 1.3: Tabela da verdade do exemplo 3.1. simplificada ao máximo.
E.A.
A
B
C
P.E.
X=0
B/0
C/0
B/1
P.E.
X=1
C/1
A/1
B/0
Note que na tabela 1.1. não foi possível identificar a igualdade entre os estados “A” e
“E”. Algumas vezes isto acontece de tal forma que não é possível reconhecer estados iguais
pela simples análise visual das tabelas da verdade. Nestes casos pode ser utilizada a técnica da
partição para se efetuar a simplificação destas tabelas.
Nesta técnica, todos os estados que conduzem as mesmas saídas são agrupados em
classes iguais. O nome dos novos estados será formado pelo seu nome original e um número
que indica a classe a qual pertence este estado. A partir deste ponto, sempre que estados de
uma mesma classe conduzirem a próximos estados em classes diferentes, estes estados atuais
serão divididos em outras classes. Este procedimento é repetido até que não existam mais
classes a serem criadas.
Exemplo 3.1: Simplifique a tabela 1.4 usando partição.
Tabela 1.4: Tabela da verdade de uma MSS hipotética.
E.A.
A
B
C
D
E
F
G
H
P.E.
X=0
B
D
G
H
G
G
D
H
P.E.
X=1
C
E
E
F
A
A
C
A
Z
X=0
0
0
0
0
0
1
0
0
Z
X=1
0
0
0
0
0
0
0
0
A principio todos os estados fazem parte da classe 1. O estado “F”, porém, possui
saída diferente dos demais, portanto vai formar a classe 2.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
E.A.
A1
B1
C1
D1
E1
F2
G1
H1
P.E. X=0
B1
D1
G1
H1
G1
G1
D1
H1
44
P.E. X=1
C1
E1
E1
F2
A1
A1
C1
A1
Como “F2” faz parte da classe 2, a classe 2 será formada apenas pelo estado F2 até o
fim da simplificação. Na classe 1, “D1” conduz a estados de diferentes classes (com relação
aos demais estados da classe 1) então fará parte da classe 3.
E.A.
A1
B1
C1
D3
E1
F2
G1
H1
P.E.
X=0
B1
D3
G1
H1
G1
G1
D3
H1
P.E.
X=1
C1
E1
E1
F2
A1
A1
C1
A1
Como “D3” é o único elemento da classe 3, a classe 3 será formada apenas por “D3”
até o fim da simplificação. Mas na classe 1, “B1” e “G1” conduzem a próximos estados da
classe 3 e 1 nesta ordem ao passo que “A1”, “C1”, “E1” e “H1” conduzem a estados da classe
1 e 1. Logo “B1” e “G1” farão parte da classe 4.
E.A.
A1
B4
C1
D3
E1
F2
G4
H1
P.E.
X=0
B4
D3
G4
H1
G4
G4
D3
H1
P.E.
X=1
C1
E1
E1
F2
A1
A1
C1
A1
Como “B4” e “G4” formam a classe 4, a classe 4 será formada apenas por “B4” e
“G4”. Porém nota-se que “A1”, “C1” e “E1” conduz a classes diferentes de “H1” o que
implica na criação da classe 5 para “A1”, “C1” e “E1”.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
E.A.
A5
B4
C5
D3
E5
F2
G4
H1
P.E.
X=0
B4
D3
G4
H1
G4
G4
D3
H1
45
P.E.
X=1
C5
E5
E5
F2
A5
A5
C5
A5
Nesta fase da simplificação não há mais o que mudar. Todos os estados de uma mesma
classe conduzem a estados de classes iguais. Logo, todos os estados que pertencem a uma
mesma classe são estados semelhantes e serão agrupados juntos. Então retomaremos a tabela
1.8 substituindo seus estados por:
Estados A, C e E serão representados por
Estados B e G serão representados por
Estado D será representado por
Estado F será representado por
Estado H será representado por
“a”
“b”
“c”
“d”
“e”
Desta forma obteremos a simplificação da tabela 1.4 (tabela 1.6).
Tabela 1.6: Tabela da verdade 1.4 simplificada ao máximo.
E.A.
a
b
c
d
e
P.E.
X=0
b/0
c/0
e/0
b/1
e/0
P.E.
X=1
a/0
a/0
d/0
a/0
a/0
Note que todos os estados que pertencem a uma mesma classe conduzem a estados que
pertencem a mesma classe quando X=0 e quando X=1. Entretanto a classe 2 e a classe 5
conduzem a classe 4 quando X=0 e a classe 5 quando X=1 mas não são iguais pois suas
saídas são diferentes!
Estas inúmeras tabelas de partição poderiam ter sido agrupadas lado a lado conforme
podemos ver na tabela 1.7.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
46
Tabela 1.7: Simplificação da tabela 1.4 colocando todas as tabelas de partição lado a lado.
C.S. quer dizer classe de saída e P.C.S. quer dizer próxima classe de saída.
E.A P.E. P.E. Z
.
X= X= X=
0
1
0
A
B
C
0
B
D
E
0
C
G
E
0
D
H
F
0
E
G
A
0
F
G
A
1
G
D
C
0
H
H
A
0
Z
C.S
P.C.
S
X=1
C.S
-
P.C.
S
X=0
X=
1
0
0
0
0
0
0
0
0
P.C.
S
X=1
C.S
-
P.C.
S
X=0
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
P.C.
S
X=1
C.S
-
P.C.
S
X=0
1
1
1
3
1
2
1
1
1
3
1
1
1
1
3
1
1
1
1
2
1
1
1
1
1
4
1
3
1
2
4
1
4
3
4
1
4
4
3
1
1
1
1
2
1
1
1
1
5
4
5
3
5
2
4
1
-
Uma outra forma de fazer a simplificação é por carta de implicação. Nesta carta são
evidenciadas todas as condições para que dois estados sejam iguais. Para exemplificar vamos
usar a mesma MSS usada anteriormente. A tabela 1.8 é uma cópia da tabela 1.6.
Na carta de implicação montamos uma espécie de mapa onde são anotadas todas a
condições para que um estado seja igual a outro estado. Para isto construímos um mapa onde
na primeira coluna e na última linha são colocados os estados da MSS. Na interseção de cada
uma destas linhas e colunas são anotadas as condições para que estes estados sejam iguais.
Aos poucos surgirão condições que não podem ser satisfeitas o que impede a igualdade de
vários estados. Estas impossibilidades vão sendo anotadas até que não existam mais. Neste
momento devemos anotar quais estados tem condição de serem iguais.
Tabela 1.8: Cópia da tabela 1.6.
E.A.
A
B
C
D
E
F
G
H
Prof. José Renes Pinheiro, Dr.Eng.
P.E.
X=0
B
D
G
H
G
G
D
H
P.E.
X=1
C
E
E
F
A
A
C
A
Z
X=0
0
0
0
0
0
1
0
0
Z
X=1
0
0
0
0
0
0
0
0
[email protected]
ELC 419 - Sistemas Digitais A
47
Passo 1)
B
F
BD
CE
BG
CE
BH
CF
BG
AC
X
G
BD
CE
H
BH
AC
A
DH
AE
B
C
D
E
DG
DH
EF
DG
AE
X
GH
EF
AE
DG
CE
GH
AE
C
X
GH
AF
X
X
DH
CF
AF
DG
AC
GH
X
D
E
F
X
DH
AC
G
Para montar esta carta de implicação devemos proceder da seguinte maneira:
-Na interceção da coluna “A” com a linha “B” vamos anotar o que é necessário para
que o estado “A” seja igual ao estado “B”: O estado “B” deve ser igual ao estado “D” e o
estado “C” deve ser igual ao estado “E”. Isto vem do fato de que os próximos estados e as
saídas de “A” e “B” devem ser iguais.
-Na interseção da coluna “B” com a linha “C” vamos anotar o que é necessário para
que o estado “B” seja igual ao estado “C”: O estado “D” deve ser igual ao estado “G” e o
estado “E” deve ser igual ao estado “E”.
-Na interseção da linha “F” com as outras colunas vamos anotar o que é necessário
para que o estado “F” seja igual aos demais estados: “F” não pode ser igual a ninguém. Isto se
deve ao fato de que as saídas do estado “F” são diferentes das saídas de todos os demais
estados. Desta forma, esta linha é marcada com a impossibilidade de simplificação - X.
-Devemos continuar preenchendo a carta de implicação desta maneira até que todas as
possibilidades tenham sido completadas.
-Todas as impossibilidades são anotadas com um X. Cada quadradinho marcado com
X é pintado para facilitar a visualização das impossibilidades.
Passo 2)
B
DH
EF X
DG
AE
X
GH
EF X
AE
F
BD
CE
BG
CE
BH
CF X
BG
AC
X
X
GH
AF X
X
G
BD
CE
H
BH
AC
A
DH
AE
B
DG
CE
GH
AE
C
DH
CF X
AF
X
D
C
D
E
Prof. José Renes Pinheiro, Dr.Eng.
DG
X
DG
AC
GH
X
E
F
X
DH
AC
G
[email protected]
ELC 419 - Sistemas Digitais A
48
Da primerira para a segunda carta de implicação continuamos marcando todas as
impossibilidades. Neste caso todos as condições que dependiam do estado “F” são marcadas
com impossibilidade pois “F” não pode ser simplificado com ninguém.
Passo 3)
B
C
D
E
F
G
H
BD
CE X
BG
CE
X
DG
X
X
BG
AC
X
DG
AE X
X
AE
X
X
X
X
BD
X
BH
AC
A
CE
DG
CE X
GH
AE
C
X
X
X
DG
AC X
GH
D
E
F
DH
AE X
B
X
X
DH
AC X
G
Nesta tabela constata-se que o estado “D” também não pode ser igual a nenhum outro
estado, todas as possibilidades de igualdade entre estados que dependam do estado “D”
também ficam impossibilitadas e são marcadas com um “X”.
Passo 4)
B
X
C
BG
CE
X
X
X
X
X
AE
X
F
BG
AC
X
X
X
X
X
G
X
CE
X
X
X
X
H
BH
AC X
A
X
GH
AE X
C
X
GH
X
E
X
X
F
G
D
E
B
D
Nesta carta nota-se que todas as combinações que dependam da igualdade entre os
estados “B” e “H” ou entre os estados “G” e “H” ficam impossibilitadas e são marcadas com
um “X”.
Não havendo mais nada para simplificar podemos dizer que todas as possibilidades
representam estados iguais. No nosso caso o estado “A” é igual ao estado “C” e ao estado “E”
pois a interseção entre a coluna “A” e as linhas “C” e “E” não foram marcadas com “X”. Da
mesma forma podemos dizer que o estado “C” é igual ao estado “E”, o que já era de se
esperar pois “A” é igual a estes dois estados.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
49
Desta forma podemos montar uma tabela simplificada se substituirmos os estados da
tabela 1.9 por:
Estados A, C e E serão representados por
Estados B e G serão representados por
Estado D será representado por
Estado F será representado por
Estado H será representado por
“a”
“b”
“c”
“d”
“e”
Tabela 1.10: Tabela da verdade 1.9 simplificada ao máximo.
E.A.
a
b
c
d
e
4.
P.E.
X=0
b/0
c/0
e/0
b/1
e/0
P.E.
X=1
a/0
a/0
d/0
a/0
a/0
MEMÓRIAS
As memórias são circuitos eletrônicos capazes de reter informações sob a forma digital.
Elas podem reter “1” bit e neste caso especial podem ser constituidos, por exemplo, de um
Flip-Flop ou armazenar vários bits formando palavras ou dados. Se este dado possui “8”bits é
chamada “BYTE”, se possui “16”bits é chamada “WORD” mas também pode conter qualquer
outra quantidade de bits.
Uma memória também pode possuir lugar para armazenar vários dados. Estes lugares
são chamados de “Endereços”.
As memórias dividem-se em vários grupos a saber:
RAM (Random Access Memory)→
→ memória de acesso aleatório, permite leitura e escrita de
dados nos diferentes endereços.
ROM (Read Only Memory)→
→ memória somente de leitura, permite apenas que seu conteúdo
seja lido. Estas memórias são programadas de fábrica e não podem ter seus conteúdos
modificados.
PROM (Programable Rom) → memória ROM programável. São circuitos de memória que
podem ser programados apenas uma vez e depois desta programação não é mais possível
escrever na memória, apenas ler esta memória.
EPROM (Erase Prom) → memórias ROM que podem ser programados e apagados com luz
ultra violeta.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
50
EEPROM (Eletric Eprom)→
→ memórias EPROM que também podem ser apagadas
eletricamente.
Obs.: A RAM retém dados na memória enquanto estiver alimentada. As demais retém dados
mesmo após a falta de energia.
RAM (SRAM)
Em uma memória do tipo RAM, uma célula básica capaz de armazenar apenas um bit,
nada mais é do que um Flip-Flop do tipo “D”ou um Latch.
Na figura acima tem-se um Latch (FLip-Flop “D”) com clock (gate) sensível ao nível.
O sinal de clock necessário para escrever na memória, o dado de entrada (D 0 ) e o dado de
saída (Q 0 ). Para ler e escrever numa memória seriam necessários muitos pinos, porém só é
possivel “ler”ou “escrever”, nunca “ler” e “escrever” simultaneamente. Pensando nisso é
possível diminuir pela metade o número de pinos de uma célula de memória com o esquema
abaixo.
No desenho acima,
é um buffer tri-state. O pino central é o controle: Se esta ativo
então o buffer está funcionando, se não está ativo o buffer está em tri-state.
O pino
controla a função do pino “D 0 ”. Se D 0 for saída
está
em “1” (Ler - nível alto) se “D 0 ” é entrada
está em “0” (Escrever - nível baixo).
Para fazer memórias de vários bits e vários endereços, duas podem ser as estratégias de
arranjos dos latchs de memória: Arranjo em linha ou em matriz.
Em linha:
Memória de duas posições (endereços) por dois bits (dados).
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
51
No desenho acima, um decodificador é responsável por selecionar apenas uma linha
com células de memória (C). Nesta linha, cada célula é responsável por um bit do dado
armazenado. Se desejarmos mais bits por dado, basta adicionar mais colunas ao desenho
acima, se desejarmos mais posições de memória, basta adicionar mais linhas.
Este arranjo, entretanto, necessita de um quantidade muito grande de portas lógicas
para o decodificador quando o número de endereços aumenta, por exemplo, em 256 posições
seriam necessários 256 portas AND no decodificador, e por isto os engenheiros
desenvolveram uma arquitetura de endereços em matriz.
Em matriz:
Memória de quatro posições por dois bits.
A vantagem da utilização de circuitos em matriz está no menor número de
componentes gastos para fazer o mesmo circuito do arranjo em linha.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
52
Por exemplo, em 256 posições de memória, seriam necessários dois decodificadores
de 16 portas AND (16x16=256). A medida que número total de endereços da memória vai
aumentando, aumenta também a vantagem da utilização arranjo em matriz.
No arranjo em matriz, esboçado na figura acima, cada interseção de linha e coluna
proveniente dos decodificadores é utilizada para controlar os tri-states de cada célula de
memória. No arranjo em linha o tri-state é controlado por apenas um bit, no arranjo em matriz
cada tri-state é controlado por dois bits. Neste arranjo, se desejarmos mais bits em cada
posição de memória, basta ligar mais células de memória em paralelo em cada inteseção linha
e coluna. Para aumentar o número de endereços basta aumentar o número de linhas ou de
colunas provenientes dos decodificadores.
Em esquemas, uma memória é representada por um retângulo com os pinos de dados,
endereços e controle devidamente assinalados. A nomenclatura usual denota os pinos de
endereços pela letra “A” e um sub índice que denota o bit correspondente. Para dados utilizase a letra “D” também com um sub índice correspondente ao bit em questão. Para os sinais de
controle os nomes são mais variados porém é muito comum encontrar CS (chip select) para o
controle do tri-state e WR para indicar a leitura ou a escrita nesta memória.
O desenho abaixo corresponde a um simbolo para uma memória genérica.
Memória de 2 M +1 endereços por N+1 bits de dados.
O pino de CS (Chip Select) é usado para ligar várias memórias em paralelo (para
aumentar a capacidade total de endereços). Internamente cada pino do chip de memória é
ligado a uma chave analógica e que no CS esta ativo, todas as chaves estão ligadas e o chip
está ligado no circuito. Se CS esta desativado, então todas as entradas e saídas estarão
desligadas ou seja em tri-state, permitindo que outra memória seja ligada no circuito.
Para aumentar a capacidade de uma memória, em termos de bits ou de posições,
podemos associá-la com outras memórias. Abaixo são desenhados esquemas para a associação
de memórias com intuito de aumentar suas capacidades.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
53
Para aumentar o número de bits.
Neste exemplo, com duas memórias de 16 endereços e 4 bits, formamos uma memória
de 16 endereços e 8 bits.
Para aumentar o número de endereços.
Agora, com duas memórias de 16 x 8 formamos uma memória de 32 x 8. O bit de
endereço A 4 vai ligado no chip select das memórias.
Obs.: Lembre-se que as memórias RAMs são vantajosas por permitirem leitura e escrita
porém na falta de energia toda a informação nela contida será perdida.
ROM
As ROMs são constituidas sob uma matriz como a mostrada abaixo.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
54
Nesta situação, VCC é levado para D 0 através do díodo. A terra é levada até D 1 pois
não há outra ligação em D 1 além desta através do resistor.
Para fazer memórias ROM com vários endereços basta usar um decodificador como
mostrado abaixo.
O mapa (com conteúdo e endereço) desta memória está representado na tabela abaixo.
Endereços
0
1
2
3
Conteúdo
5
0
F
A
PROM
Para fazer as memórias PROM, os fabricantes de memória colocaram díodos em todas
as interseções e em série com eles foram colocados fusíveis. Cada fusível pode ser queimado
colocando um “0” no bit correspondente, no endereço selecionado.
Uma vez programadas as PROMs não podem ser reprogramadas pois os fusíveis
queimados não podem ser restituídos.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
55
Tanto a ROM como a PROM podem ser colocadas em tri-state (como a RAM) por
meio de um pino de “chip select”. Pinos de leitura e escrita não existem pois os dados só
podem ser lidos.
No caso da PROM um sinal de 15V é utilizado para queimar os fusíveis desejados
“programando” a memória.
EPROM
Nas EPROMs, componentes especiais sensíveis a luz ultravioleta foram criados, permitindo
que os dados gravados nesta “PROM”sejam apagados e reescritos. Com o tempo, os dados
podem vir a apagar, por isso, quando esta memória estiver com seus dados gravados, deve-se
fechar a entrada de luz com alguma fita opaca.
EEPROM
Numa evolução das EPROMs, a EEPROM ou E2PROM pode ser apagada com um pulso
elétrico da ordem de 10 volts. Isto é uma grande vantagem sobre as EPROMs pois o processo
de apagar a memória é rápido (com luz ultra-violeta leva vários minutos) e não requer
componentes especiais como lampada de ultra-violeta.
DRAM
São memórias RAMs dinâmicas, ou seja, é necessário atualizar dados contidos nestas
memórias periodicamente num procedimento que é conhecido como REFRESH.
As DRAMs são bem menores que as SRAMs pois 1 bit pode ser armazenado em um
único capacitor, através do acionamento de um único transistor, conforme o esquema abaixo.
Por esta característica, as DRAMs também são muito baratas e se popularizaram
rapidamente.
Abaixo é apresentado o esquema interno de uma 41256 (DRAM de 256Kx1) e os
sinais de controle para que ela funcione bem.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
56
REFRESH
A operação de refresh depende muito da memória, na 41256 ela deve acontecer a cada
4 ms (pelo menos) e deve ser feita endereçando-se metade das linhas da matriz de memória
(neste caso 256 linhas em 4 ms =15,6 ms/linha).
Como podemos ver pelo desenho só existem 9 linhas de endereço para os 256 Kbits de
memória, mas isto é resolvido pelo sistema de endereço por linhas e colunas (RAS e CAS se
encarregam de indicar se o endereço do barramento e de linhas ou de colunas).
Um esboço de circuito para controlar estas memórias pode ser visto abaixo mas alguns
chips fazem isto para nós. O esquema abaixo utiliza a 4164 que possui 64 Kbits e 8 linhas de
endereço.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
57
OBS.: Com relação ao circuito acima, note que o endereço deve ser de 16 bits multiplexado
em palavras de 8 bits.
PLAS
São componentes capazes de gerar lógicas complexas com um único chip. Estes
componentes também precisam ser programados funcionando de forma similar as PROM.
Hoje em dia existem uma infinidade de componentes deste tipo, capazes inclusive de conter
flip-flops, contadores e outros componentes mais complexos. Alguns destes PLAs possuem
internamente vários circuitos independentes e completos que podem ser interligados de várias
formas.
PLA é “Array Lógico Programável” e pode conter milhares de componentes internos,
algumas variantes existem e a programação pode ser feita na fabrica com mascaras especiais
ou com elementos fusíveis ou com fios.
Abaixo vemos um exemplo simples de um circuito capaz de gerar qualquer lógica de 4
bits. Todas as entradas são ligadas em todas as portas AND e todas as portas são ligadas em
todas as portas OR.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
58
As funções de OUT0 − OUTN são escritas na forma de SOP.
5.
CONVERSORES A/D e D/A
5.1.
Conversor Analógico/Digital
A tarefa de um conversor D/A é a de transformar uma entrada digital numa saída analógica. A
fig. 10.1 ilustra a função do conversor D/A. Um número binário é introduzido nas entradas à
esquerda com uma tensão de saída correspondente à direita. A tabela-verdade detalha um
conjunto de possíveis entradas e saídas do conversor D/A.
8s 4s 3s 1s
Conversor
D/A
Fig.6.1
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
Fila
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
D
( 8s )
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
Entrada Binária
C
B
A
( 4s )
( 2s )
( 1s )
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
59
Saída
Analógica
Vout
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Consideremos a tabela-verdade acima para o conversor D/A. Se cada uma das entradas
for BAIXA, a tensão de saída ( Vout ) será 0 V conforme definido na fila 1 da tabela. A fila 2
mostra apenas a entrada ( A ) DE 1s sendo ativada por uma ALTA. Com a entrada como
LLLH ( 0001 ), a saída do conversor D/A é 1 V. A fila 3 mostra apenas a entrada B ativada (
0010 ). Isto produz uma saída de 2 V. A fila 5 mostra apenas a entrada C ativada ( 0100 ).
Isto produz uma saída de 4 V. A fila 9 mostra apenas a entrada D ( 1000 ) ativada,
produzindo uma saída de 8 V do conversor D/A. Notar que as entradas ( D, C, B, A ) são
ponderadas. A ponderação relativa de cada entrada é dada como 8 para a entrada D, 4 para a
entrada C, 2 para a entrada B e 1 para a entrada A na fig. 10.1.
O conversor D/A consiste em duas partes funcionais. A fig. 10.2 mostra um diagrama em
blocos de um conversor D/A. O conversor é dividido numa rede de resistores e num
amplificador de soma. A rede de resistores pondera adequadamente as entradas 1s, 2s, 4s e 8s,
enquanto o amplificador de soma escala a tensão de saída de acordo com a tabelaverdade.Tipicamente usa-se um amplificador operacional como o amplificador de soma num
conversor D/A.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
60
Entradas
Binárias
8s
D
4s 2s 1s
C B A
Conversor D/A
Saída
Analógica
Amplificador
de
soma
Rede de
resistores
V out
Fig. 5.2
Um conversor básico digital-analógico é ilustrado na fig. 10.3. O conversor D/A está
dividido em dois circuitos, a rede de resistores e o amplificador somador. A tensão ( Vin ) de
entrada é aplicada através das chaves de entrada ( D, C, B, A ). O resistor R4 ( MSB ) é o
resistor de valor mais baixo. O resistor R3 é o dobro da resistência de R4. Também o resistor
R2 é o dobro da resistência R3, e assim por diante.
D
R4
C
R3
R2
B
A
Amplificador de
soma
R1
Rf
Rede de resistores
Fig. 5.3
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
61
Diversas circuitos para realizar a conversão A/D estão disponíveis, em quer em livros e
manuais. Destes conversores, apenas um deles realiza a conversão diretamente. Este conversor
é conhecido por “Conversor Flash” e é muito rápido. As outras formas de conversão utilizam
circuitos realimentados onde o valor digital (correspondente ao valor analógico) é obtido pela
comparação do valor analógico com o valor digitalmente estimado para ele. Estes circuitos são
muito baratos, por outro lado são mais lentos visto que o valor digital da saída deve ser
“adivinhado” e isto leva tempo. Deste outro tipo de conversor podemos citar aqueles por
aproximação aritmética, delta e geométrica ou sucessiva.
1) Conversor FLASH
Se Vin VRe f i a saída de todos os comparadores com “i” inferiores e o próprio
comparador índice “i” tem sua saída em nível baixo.
V entrada
0
1
2
3
C3
C2
C1
D1
D0
1
1
1
0
1
1
0
0
1
0
0
0
0
0
1
1
0
1
0
1
Poderíamos ter invertido as entradas dos operacionais bastando para isso trocar a lógica
do codificador com Prioridade.
Como características principais deste conversor temos:
1) muito rápido.
2) muito caro.
3) número reduzido de bits.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
62
2) Circuitos Realimentados:
Conversor por Aproximação Aritmética.
Quando o sinal “iniciar” solicita uma conversão, o bloco controlador amostra o sinal de
entrada, zera o contador, testa a saída do comparador. Se A>B incrementa contador até que
A≤B. Neste ponto o bloco controlador carrega o valor do contador para saída.
Como caracteristicas deste conversor temos:
2λ
1) tempo médio de conversão:
pulsos de clock onde λ é o número de bits do
2
conversor. T Conv = 2 λ −1
2) lento.
3) barato.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
63
-Por rastreio ou aproximação delta.
A diferença deste circuito para o anterior é que neste caso o contador não é zerado no
início da conversão, o valor inicial para a estimativa da tensão analógica é, então, o valor
anterior da conversão. Isto diminui (ou pelo menos deveria) o tempo médio de conversão haja
visto que os valores da tensão não devem mudar muito.
Como caracteristicas deste conversor temos:
2λ
1)tempo médio de conversão = 2 = 2 (λ −2 ) onde λ é o número de bits do conversor.
2
-Por aproximação geométrica ou sucessiva.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
64
Quando o sinal “Iniciar” solicita uma conversão, o bloco controlador amostra o sinal de
entrada e “seta” o F.F. mais significativo, se o valor analógico for maior ou igual ao obtido por
esta aproximação, o F.F. seguinte é “setado” caso contrario , este F.F. (o mais significativo) é
“Zerado” e o seguinte “Setado”. Este processo continua até a conversão estar completa.
Quando isto ocorre o bloco controlador carrega o “registrador”com o valor digital
correspondente a tensão de entrada analógica e o sinal de fim de conversão é gerado.
Em outras palavras, o que este conversor faz é diminuir o número sempre ao meio para
estimar o valor da tensão de entrada, ao invéz de ir incrementando um contador de “1” em “1”
até acertar.
Características deste conversor:
1) tempo médio de conversão igual a λ (onde λ é o número de bits da A/D).
2) dentre os métodos realimentados, este é o mais rápido.
Os conversores A/Ds apresentados até aqui são usados basicamente para processar
digitalmente sinais analógicos. Neste caso, inúmeras amostragens são realizada
sucessivamente para que se possa acompanhar o sinal analógico. Em sistemas desta natureza,
existem basicamente duas abordagens:
a) as conversões são realizadas o mais rapidamente possível, uma após a outra;
b) as conversões são realizadas a intervalos de tempo regulares, a uma freqüência fixa.
Para trabalhar matemáticamente com estes sinais, a segunda forma é preferida porém
deve-se ter o cuidado de fazer a freqüência do sinal (freqüência de Niquisty) ser metade da
freqüência de amostragem. Quando amostramos sinais analógicos, devemos fazer a freqüência
de amostragem maior que duas vezes a maior freqüência contina no sinal amostrado.
Outra coisa que deve ser lembrada nestas situações é a importancia do “Sample &
Hold”. O “Sample & Hold” é importante para que o valor analógico se mantenha constante
durante o tempo da conversão, isto produz, valores confiáveis na saída do A/D e valores
correspondentes a tensão de entrada no início da conversão.
Outros conversores, mais lentos, estão disponíveis para outras aplicações como
multimetros digitais, balanças eletrônicas, medidas de tempo, freqüência, velocidade e
distância. Estes conversores serão vistos a seguir.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
65
-Dupla Rampa. (Usado em Multímetros)
Numa primeira etapa este conversor integra a tensão desconhecida da entrada por um
tempo fixo e conhecido, até que o bit mais elevado do contador troca a posição da chave na
entrada do circuito. Logo a seguir, é feita uma integração de uma tensão conhecida num tempo
desconhecido. Assim temos duas equações e duas incógnitas. Podemos equacionar este
conversor da seguinte forma:
∆t = tempo de um pulso de clock.
λ = valor final da conversão
1
∆V1 = −
(entrada ⋅ 2 n ⋅ ∆t )
RC
1
∆V2 = −
( V ⋅ λ ⋅ ∆t )
RC ref
∆V1 + ∆V2 = 0
1
1
( Ventrada ⋅ 2 n ⋅ ∆t ) =
( V ⋅ λ ⋅ ∆t )
RC
RC ref
V
Ventrada = λ ⋅ refn se Vref = 2 n
2
Ventrada = λ
Caracteristicas deste conversor:
1) lento
2)preciso
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
66
5.2. Conversor Digital/Analógico
O conversor analógico-digital ( A/D ) inverte o processo do conversor D/A. Uma
tensão analógica desconhecida é introduzida no conversor A/D, e há uma saída binária
correspondente. A saída binária será proporcional à entrada analógica. Um diagrama de blocos
de um conversor A/D é mostrado na fig. 11.1. Este conversor A/D tem uma tensão de entrada
analógica na faixa de 0 a 3 V. A saída binária será então lida em forma binária de 0000 a 1111.
Notar que o conversor A/D também tem uma entrada de relógio ( clock ).
Saída
Binária
8s 4s 2s 1s
D C B A
Clock
Tensão de
entrada
0-3 V
analógica
Conversor
A/D
Fig. 5.1
A tabela-verdade abaixo detalha a operação do conversor A/D. Notar que o lado de
entrada da tabela mostra as tensões de entrada analógicas, enquanto o lado de saída fornece a
correspondente leitura binária.
Fila
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Entrada
Analógica
Vin
0
0,2
0,4
0,6
0,8
1,0
1,2
1,4
1,6
1,8
2,0
2,2
2,4
2,6
2,8
3,0
Prof. José Renes Pinheiro, Dr.Eng.
Entrada Binária
D
C
B
A
( 8s ) ( 4s ) ( 2s ) ( 1s )
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
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
[email protected]
ELC 419 - Sistemas Digitais A
67
O conversor A/D é um contador crescente que entra em seqüência para cima de acordo
com a tabela-verdade até que a tensão correta seja alcançada. Se a tensão de entrada do
conversor A/D descrito na tabela-verdade for 2,95 V, a unidade atravessará 15 ciclos até que a
contagem do binário 1111 seja alcançada e exibida. A análise da operação do conversor A/D
consome tempo; no entanto, o circuito opera muito rapidamente baseado na freqüência do
clock de entrada. A freqüência do clock num conversor A/D pode ser mais do que 1 MHz.
Saídas binárias
D
Clock
C
B
A
Contador
mod-16
A
CLK
B
Entradas
A
Tensão analógica
desconhecida
B
Comp.
de
tensão
Conversor
D/A
A>B=1
B>A=1
Tensão rampa ( realimentação )
Fig. 5.2
O conversor A/D ilustrado é um dos vários tipos usados. Esta unidade é chamada
conversor A/D do tipo de contador em rampa. O contador e o conversor D/A formam uma
tensão que aumenta gradualmente ( de forma semelhante a uma rampa ) que é realimentada ao
circuito comparador. Um tipo de unidade muito rápida é o de aproximações sucessivas. Estes
são bastante comuns, mas são mais complexos do que os conversores do tipo rampa.
Conversores A/D são usados em qualquer lugar em que uma tensão de entrada
analógica deve ser transformada em forma binária ou digital. Muitos processos industriais
usam uma interface deste tipo. Um exemplo comum do uso do conversor A/D é o voltímetro
digital. O conversor A/D transforma a tensão de entrada analógica em binário. O binário é
decodificado, e uma leitura decimal digital de saída é prontamente obtida.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
68
A conversão de números binários (valores digitais) para número analógico (valor
analógico) é realizada por circuitos lineares capazes de somar tensões ou correntes com pesos
proporcionais aos pesos dos bits que produziram esta corrente ou tensão. Serão abordadas duas
técnicas muito empregadas: Correntes ponderadas e rede R-2R. Alguns CIs realizam a
conversão D/A fazendo uso destas técnicas. Estes CIs ainda oferecem recursos como: trabalhar
com aritmética com sinal (números binários positivos e negativos); em complemento de dois;
e ajuste de ganhos (escalas de tensão de saída).
1) Correntes Ponderadas
VS = − R r ⋅ I t
VS = − R r (
VCC. n 2 VCC ⋅ n1 VCC ⋅ n 0
)
+
+
R
R
R
4
2
Rr
− chave na massa
⋅ VCC(4n 2 + 2 n 1 + n 0 ) onde n i = { 01-chave
em VCC
R
K
R
VS = − VCC r ∑ 2 C ⋅ n i para K bits.
R i= 0
VS = −
O circuito das chaves, no exemplo anterior, poderia ser substituido diretamente pelas
entradas digitais e neste caso VCC corresponderia ao nível lógico “1” destes circuitos digitais.
Entretanto, como sabemos, a saída digital zero (0) ou um (1) não corresponde a tensões
com valores exatos como +5V ou +0V. Existe uma faixa de valores possíveis para “1” lógico e
“0” lógico que podem vir a produzir tensões analógicas diferente da desejada.
Para evitar este tipo de problema podemos usar transistores funcionando como chave
(aberto ou saturado) para comutar uma tensão fixa a cada entrada do circuito somador como
mostrado no exemplo a seguir.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
69
2) Redes R-2R
Para resolver este problema, basta usar o Teorema de Thevenin e o Teorema da
Superposição.
VS = − R r ⋅ I t
I t = i 0 + i 1 + i2 + i 3
1 V
i0 =
⋅ ⋅n
6R 8 0
1 V
i1 =
⋅ ⋅n
6R 4 1
1 V
i2 =
⋅ ⋅n
6R 2 2
1
i2 =
⋅ V ⋅ n3
6R
Rr V
VS = −
⋅ ( 8n 3 + 4 n 2 + 2 n1 + n 0 )
6R 8
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
70
Onde V é a tensão VCC ou VREF (dos exemplos anteriores) e n i indica se o bit “i”
esta ou não ligado:
{
=0
n = 10-− bit
bit =1
No primeiro método (correntes ponderadas) de conversão apresentado, o valor dos
resistores deve ser muito diferente, no caso de um resistor R = 10Ω e um conversor de 12 bits,
precisaremos usar resistores de valores 4096 vezes maiores ou menores
10
(
− 10 ou de 10 - 40K)!
4096
Isto faz com que as correntes também tenham esta diferença ou seja, um erro de alguns
porcentos na maior corrente pode produzir um erro bem grande no valor final da conversão.
No segundo método (rede R-2R) é necessário resistores de valores casados, para que
também não hajam erros significativos, no valor da tensão analógica de saída. Isto pode ser
contornado com o uso de resistores integrados.
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
ELC 419 - Sistemas Digitais A
6.
71
Bibliografia
KLEITZ, W. “Digital Electronic - A Practical Approach,” Editora Prentice Hal, Upper
Saddle River, New Jersey, 1996.
Data sheet Flip Flop 54/7476, LS76
Software MAX+PLUSSII, Versão 7.0 Student
Prof. José Renes Pinheiro, Dr.Eng.
[email protected]
Download