Академический Документы
Профессиональный Документы
Культура Документы
Ficha Tcnica
Ttulo: Electrnica Digital - Circuitos Combinatrios e Circuitos Sequenciais Autor: Carlos Sousa Coordenador de Edio: Lus Bomfim Barreiros Editor: Edies Gustave Eiffel Capa, Composio Grfica e Acabamentos: Lus Bomfim Barreiros
NDICE
1. - CIRCUITOS COMBINATRIOS........................................................................................................5 1.1 - Introduo..................................................................................................................................5 1.2 - O Multiplexer..............................................................................................................................6 1.3 - O Demultiplexer.......................................................................................................................10 1.4 - O Decoder................................................................................................................................14 1.5 - O Encoder................................................................................................................................15 1.6 - O Comparador.........................................................................................................................17 1.7 - O Descodificador BCD-7 Segmentos........................................................................................19 1.8 - Notas Finais.............................................................................................................................21 1.9 - Exemplos de Circuitos existentes no Mercado..........................................................................22 1.10 - Exerccios Resolvidos............................................................................................................24 1.11 - Exerccios Propostos..............................................................................................................29 2. - CIRCUITOS SEQUENCIAIS...........................................................................................................31 2.1 - Introduo................................................................................................................................31 2.2 - Os Circuitos FLIP-FLOP...........................................................................................................32 2.2.1 - O FLIP-FLOP D LATCH...................................................................................................32 2.2.2 - O FLIP-FLOP SET - RESET............................................................................................34 2.2.3 - O FLIP-FLOP D EDGE - TRIGGERED.............................................................................36 2.2.4 - O FLIP-FLOP TIPO "T"....................................................................................................39 2.2.5 - O FLIP-FLOP "J-K"..........................................................................................................41 2.2.8 - Algumas notas sobre FLIP-FLOPS...................................................................................42 2.3 - Registos...................................................................................................................................43 2.4 - Circuitos Contadores................................................................................................................45 2.5 - Circuitos SHIFT - REGISTER...................................................................................................49 2.6 - Circuitos RAM..........................................................................................................................50 2.7 - Um pouco de Electrnica.........................................................................................................53 2.8 - Alguns Circuitos Sequenciais do Mercado................................................................................54 2.9 - Exerccios Resolvidos..............................................................................................................55 2.10 - Exerccios Propostos..............................................................................................................60
III
1.2 - O Multiplexer
Um circuito multiplexer, um circuito combinatrio que coloca como valor lgico da sua sada o valor lgico que est presente na entrada seleccionada pelos seus bit's de seleco. Este circuito ter ento s uma sada, e vrias entradas. Para seleccionar qual das entradas colocar o seu valor lgico na sada, existem bits que consoante o valor que tomam, fazem essa escolha. So designados como bit's de seleco. A figura seguinte apresenta um multiplexer de 4 entradas, como tal, este circuito necessitado dois bits de seleco (S0 e S1).
Note-se que existem circuitos multiplexer com mais entradas, aumentando tambm nesses circuitos o nmero de bits de seleco. obvio que trabalhando com valores binrios o nmero de bits de seleco tal que o nmero de entradas igual a dois elevado ao nmero de bits de seleco.
Em relao figura anterior, tomemos o seguinte exemplo: se na entrada "0", estiver o valor lgico 1 ser necessrio colocar em S0 e S1 os valores lgicos 0 e 0 para que a sada tome o valor lgico da entrada "0 que ser 1. Se em S0 e S1 estiver outra combinao que no a anterior, a sada do multiplexer tomar o valor lgico da entrada correspondente combinao formada por S0 e S1. Vejamos a seguinte tabela de verdades que exemplifica o funcionamento deste circuito multiplexer:
S0 0 0 1 1 0 0 1 1
S1 0 0 0 0 1 1 1 1
0 0 1 -
1 0 1 -
2 0 1 -
3 0 1
S 0 1 0 1 0 1 0 1
Como se pode verificar pela tabela: Quando S0 = 0 e S1 = 0, independentemente dos valores das outras entradas, a sada S tomar o valor lgico da entrada 0. Quando S0 = 1 e S1 = 0 Independentemente das outras entradas, a sada S toma o valor da entrada 1. Quando S0 = 0 e S1 = 1 Independentemente das outras entradas, a sada S toma o valor da entrada 2. Quando S0 = 1 e S1 = 1 Independentemente das outras entradas, a sada S toma o valor da entrada 3. Dois assuntos importantes a estudar sobre este circuito: Como concatenar vrios multiplexers para obter um multiplexer com mais entradas Como implementar funes lgicas a partir de um multiplexer. 7
A figura seguinte mostra como se pode construir um multiplexer de 4 entradas usando trs multiplexers de duas entradas. Esta concatenao feita de uma forma lgica e simples.
O S0 do multiplexer #0 e o S0 do multiplexer #1 esto ligados efectuando o S0 do conjunto, ficando o S0 do multiplexer #2 disponvel para fazer o S1 do conjunto. O S0 do conjunto actua nos multiplexer #0 e #1 escolhendo em cada um deles a entrada a colocar nas suas sadas, e o S1 do conjunto (S0 do #2) escolhe qual dos multiplexers anteriores coloca na sada do conjunto o valor lgico. Assim ficamos no final com um multiplexer de 4 entradas, usando a concatenao de trs multiplexers de duas entradas.
Pense nas configuraes possveis dos bits S1 e S0 numa tabela de verdades. As primeiras duas tm S1 = 0, portanto o multiplexer #1 est fora de servio, pois S1 est igual a 0. Assim o multiplexer #0 coloca na sua sada a entrada "0" ou "1" do conjunto, passando esta para a sada do conjunto, pois o multiplexer #2 coloca a sada do multiplexer #0 na sua sada. Quando o bit S1 est a 1, o multiplexer #0 est fora de servio, passando para a sada do conjunto a entrada "2" ou "3" do conjunto, consoante o S0 esteja a 0 ou a 1. A figura seguinte mostra como se pode implementar uma funo lgica atravs de um multiplexer, neste caso, um "AND".
A 0 F=A.B 0 1 1
B 0 1 0 1
A.B 0 0 0 1
Se a funo a implementar foi o "AND" de A e B, deve-se escolher um multiplexer de dois bits de seleco (um para cada varivel da funo), dando assim um multiplexer de 4 entradas, (uma para cada caso). A sada da funo sempre a sada do multiplexer. Em S0 ligamos a varivel de menor peso (B) e em S1 a de maior peso (A), para que a cada entrada do multiplexer corresponda, e pela mesma ordem, um caso da tabela de verdades da funo. Assim basta colocar nas entradas do multiplexer o valor lgico da funo em cada caso, pois ao serem seleccionadas uma a uma as entradas do multiplexer, a sada do mesmo (e da funo) toma o valor lgico correspondente ao que est na tabela de verdades. Neste caso deve-se ligar as entradas "0", "1" e "2" massa e a entrada "3" ao Vcc.
1.3 - O Demultiplexer
Este circuito faz a operao inversa do multiplexer. Coloca na sada seleccionada pelos bits de seleco o valor lgico da entrada. Tem, portanto, vrias sadas, os bits de seleco e uma s entrada. A figura abaixo representa um demultiplexer de 4 sadas. Para se escolher em qual das sadas se coloca o valor da entrada necessita de dois bits de seleco (S0 e S1) tal como seria de esperar. As sadas so designadas por 0, 1, 2 e 3 e a cada combinao de S0 e S1 corresponde a colocao do valor lgico da entrada nessa sada.
Se por exemplo, na entrada do demultiplexer estiver o valor lgico 1, se em S0 e S1 estiverem os valores 0 e 1 respectivamente, na sada 2 aparecer o valor lgico 1, pois esta a sada seleccionada. O estado das outras sadas permanecer a 0. Analise a seguinte tabela de verdades que explica o funcionamento de um circuito demultiplexer:
S0 0 0 1 1 0 0 1 1
S1 0 0 0 0 1 1 1 1
E 0 1 0 1 0 1 0 1
0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0
2 0 0 0 0 0 1 0 0
3 0 0 0 0 0 0 0 1
10
Quando S0 = 0 e S1 = 0 a sada "0" que toma o valor da entrada, e as restantes ficam a 0.Quando S0 = 1 e S1 = 0 a sada "1" que toma o valor da entrada, e as restantes ficam a 0.Quando S0 = 0 e S1 = 1 a sada "2" que toma o valor da entrada, e as restantes ficam a 0.Quando S0 = 1 e S1 = 1 a sada "3" que toma o valor da entrada, e as restantes ficam a 0. Tal como o multiplexer, este circuito tambm se pode concatenar, com mais alguns do mesmo tipo construindo assim, um conjunto demultiplexer com mais sadas.
Na figura acima, mostra-se a concatenao de trs demultiplexers de 2 sadas, fazendo um conjunto demultiplexer de 4 sadas. O demultiplexer #1, faz a demultiplexagem para o #2 ou para o #3, atravs do seu S0, que ser o S1 do conjunto final. Depois em cada um dos outros, #2 e #3, existe uma demultiplexagem atravs dos seus S0 que esto ligados ao S0 do conjunto. Ser fcil entender o funcionamento deste circuito, pois as combinaes de S0 e S1 do conjunto, fazem com que o valor da entrada do mesmo seja colocada na entrada de #2 ou #3 consoante o S1. e depois esse valor passado sada 0 ou 1 de #2 ou #1 consoante o valor de S0. As 4 combinaes possveis de S0 e S1, fazem com que a sada escolhida para colocar o valor da entrada seja a 0, 1, 2 ou 3 do conjunto.
11
Uma aplicao O uso do multiplexer e do demultiplexer em conjunto pode facilitar e simplificar a comunicao entre dois pontos, seno vejamos: Imagine que pretende efectuar uma comunicao entre dois pontos com 8 bits de dados. Esses dois pontos distam 1000 metros um do outro. Como teramos de usar 8 fios (um para cada bit), teramos 8000 metros de fio para a comunicao.
Podemos reduzir o comprimento de fio gasto e em consequncia os custos usando um circuito multiplexer e outro demultiplexer como se mostra abaixo:
12
Este circuito usa s 4 fios para a comunicao o que reduz para metade os custos desta comunicao. Gerando ciclicamente os valores de 0 a 7 em binrio em S0, S1 e S2, o multiplexer passar para a sua sada os valores de A0 ... A7 e o demultiplexer colocar os valores recebidos na sua entrada em B0..B7 na mesma ordem pois S0, S1 e S2 so comuns aos dois circuitos. A este tipo de comunicao chama-se comunicao srie porque enviam-se os bits um de cada vez pela mesma linha de dados. Os circuitos multiplexer e demultiplexer tm trs variveis de seleco (S0, S1 e S2) porque tm 8 entradas e 8 sadas respectivamente. Como 23 = 8, logo temos de ter 3 bits de seleco em cada um deles. Se usarmos uma comunicao de 16 bits (16 Km de fio) em modo paralelo, podemos usar apenas 5 fios (5 Km) na mesma comunicao em modo srie pois usamos multiplexer e demultiplexer de 4 bits de seleco (24 = 16). Neste caso a poupana ainda era maior.
13
1.4 - O Decoder
Um decoder um circuito combinatrio, que activa a sada correspondente palavra de entrada, observar que este circuito tem duas entradas, A0 e A1, que fazem uma palavra de dois bits. Ora com estes dois bits. pode-se escrever valores de 0 a 3 (em binrio de 00 a 11), pelo que o circuito ter de ter quatro sadas. Colocando nas entradas a palavra que se deseja, o decoder activa a sada correspondente deixando obviamente as restantes no activas. Note que no mercado existem decoders de vrios tamanhos de palavra de entrada.
A0 0 1 0 1
A1 0 0 1 1
0 1 0 0 0
1 0 1 1 1
2 0 0 1 0
3 0 0 0 1
Quando A0 = 0 e A1 = 0 activa-se a sada 0 ficando as restantes desactivas. Quando A0 = 1 e A1 = 0 activa-se a sada 1 ficando as restantes desactivas. Quando A0 = 0 e A1 = 1 activa-se a sada 2 ficando as restantes desactivas. Quando A0 = 1 e A1 = 1 activa-se a sada 3 ficando as restantes desactivas.
14
1.5 - O Encoder
Este circuito faz a operao inversa do decoder. Por isso, coloca nas suas sadas a palavra em binrio correspondente entrada activa. No caso da figura seguinte, existem quatro entradas e, logicamente, a palavra de sada ter dois bits, A0 e A1.
Duas questes tiveram de ser resolvidas aquando de implementao deste circuito. A primeira tem a ver com o facto de se activar duas ou mais entradas. Esta resolvida com urna codificao com prioridades, ou seja, estabelecendo um critrio de prioridades na codificao das entradas (por isso estes circuitos so mais designados por Priority Encoders, ou PENC como abreviatura). Um dos critrios que se podem estabelecer, o de se dar prioridade s entradas de menor peso. Assim se a entrada de peso 0 a mais prioritria, e por isso sempre que ela esteja activa, o valor na sada 00, independentemente se mais alguma das outras entradas estiver activa. A entrada seguinte em termos de prioridade a 1, e assim, se ela estiver activa, juntamente com a 2 ou 2 3, o valor da sada 01, e assim sucessivamente. este o critrio usado normalmente por este circuito.
Entradas Prioridade
1 +
15
A outra questo, prende-se com a circunstncia de no haver nenhuma entrada activa no circuito. Qual o valor escolhido para a sada, quando no h nenhuma entrada activa no circuito? Ser bom escolher o 00? Sc sim, corno distinguir entre no haver entrada activa e estar activa a entrada 0? E por isso que existe a sada GS {group select) que se activa quando pelo menos uma das entradas est activa. Assim, se no se activar nenhuma entrada, A0 = 0 e A1 = 0, e GS = 0. Se se activar qualquer entrada, A0 e Al tm a codificao dessa entrada e GS = 1. Se se activar a entrada 0 A0 = 0, A1 = 0 e GS = 1. O GS serve para se fazer a distino entre a activao da entrada 0 e a no activao de qualquer entrada.
0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
2 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
3 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
A0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0
A1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
GS 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
16
1.6 - O Comparador
Este circuito, tal como o nome indica, faz a comparao entre dois valores binrios. A verso que vamos analisar, compara dois valores de quatro bits cada um, como se mostra na figura seguinte:
Como se pode observar, este circuito tem as entradas A0 ... A3 e B0 ... B3, que so os valores binrios a comparar. Coloca trs sadas disponveis, A < B, A = B e A > B, activando urna e uma s destas sadas consoante o valor colocado em A seja menor, igual ou maior que o valor colocado em B. As entradas A < B, A = B e A > B, servem para efectuar a concatenao de circuitos destes, para se realizar mdulos comparadores de valores com mais bits. Se se pretender usar um nico circuito destes (caso de se comparar dois nmeros de 4 bits cada), deve-se colocar as entradas A < B, A = B. A > B com 0, 1 e 0 respectivamente, pois o circuito comparador tem estas entradas para ser informado do resultado da comparao de um mdulo anterior, que neste caso no existiria, e por isso, deve-se colocar nestas entradas estes valores para indicarmos ao circuito que o resultado da comparao anterior (inexistente) foi A=B, pois s assim ele far a comparao.
17
Para se entender o atrs referido, tem que se perceber que se comparar dois valores, de 8 bits, por exemplo, compara-se a parte mais alta desses valores, e se a comparao der diferente, esse resultado A < B ou A > B, que o resultado final. A comparao das panes baixas, s se efectua se o resultado da comparao das partes altas for A = B. O comparador foi desenhado para poder ser concatenado, e por isso tem essas entradas. Se no se ligar com mais nenhum, deve-se colocar nas entradas os valores referidos anteriormente, pois s assim ele far a comparao, seno dar o resultado colocado nas entradas. A figura seguinte mostra a ligao de dois comparadores de 4 bits para se obter um mdulo de comparao de 8 bits.
O resultado da comparao da parte alta informa o comparador da parte baixa se deve ou no comparar essa parte, pois s se a comparao anterior der igual que a parte baixa deve ser comparada para se obter dos valores de 8 bits.
18
As sadas do descodificador devem actuar as pinos correspondentes do display. O descodificador construdo atravs de uma tabela de verdades com as quatro entradas (A0....A3) e as 7 sadas (a..g). Consoante o valor de entrada, consoante as sadas se devem activar ou no de modo a desenharem no display o nmero correspondente ao valor colocado nas entradas. Assim se tiram as expresses de cada sada (segmento) e integram-se esses circuitos ficando assim o circuito final do descodificador BCD-7 segmentos. Os displays, existem em duas fornias no mercado, ctodo comum e nodo comum. Se o display for de nodo comum, para se activar um segmento deve-se colocar no pino correspondente um 0. Se for de ctodo comum, deve-se colocar um 1 para se activar o segmento correspondente. Assim existem descodificadores com a activao das suas sadas a 1 e outros que ao activarem as suas sadas colocamlhes 0.
19
Na figura seguinte, est representado um descodificador nodo comum, pois as suas sadas esto negadas, ou seja entradas para se escrever o valor a representar, existem outras que permitem as seguintes operaes: LT - Lamp Test: quando activo promove a activao de todos os segmentos do display. RBI - Ripple Blancking Input: quando activo, se o valor da entrada for 0 promove a desactivao de todos os segmentos.
21
Um multiplexer de 8 entradas, o 74151, apresenta os trs bits de seleco A, B e C, correspondendo a S0, S1, e S2, respectivamente. A entrada G, uma entrada "gate", "active-low", que quando activa (a zero) Apresenta finalmente, a sada Y e a negao dessa sada W.
Um descodificador BCD-7 Segmentos 7447 que apresentado com as sadas (A..G) active-low, ou seja activam-se quando tm zero. Este circuito interliga-se a displays de nodo comum.
Um decoder de dois bits de entrada, 74139, apresenta-se com as suas entradas A e B que correspondem a A0 e A1 respectivamente. As suas sadas tambm aparecem active-low e possui uma entrada gate, G, tambm activelow que coloca o decoder em funcionamento quando est a zero (activa).
22
Temos um comparador de dois nmeros de 4 bit's cada, 7485, que apresenta as entradas do primeiro nmero (A0..A3) e do segundo (B0..B3). Tem as entradas normais e as de concatenao (A<B, A=B, A>B) e as sadas (A<B, A=B, A>B).
Temos, por ltimo um Priority Encoder com 8 entradas, 74148. que coloca nas sadas A0, A1 e A2 a codificao da entrada activa. Note que tanto as entradas como as sadas so "active-low", pelo que tudo ficar negado em relao aos valores normais. Tem uma entrada EI, que inibe ou no o funcionamento do circuito.
23
Os bits A0 e A1 do conjunto atacam os dois decoders da forma normal que se estudou. O bit A3 do conjunto, faz a comutao entre os dois decoders, de forma que, quando a 0, coloque em funcionamento o primeiro decoder e iniba o funcionamento do segundo, pois, quando A2 a 0, as palavras a descodificar esto no intervalo 0..3, logo o primeiro decoder tem de as descodificar. Quando A2 est a 1, o primeiro decoder fica inibido e o segundo fica a funcionar normalmente, e assim as palavras a descodificar esto no intervalo 4..7.
24
2.
Um termmetro digital fornece a 4 bits temperaturas entre 0 e 15 graus. Projecte um circuito que active um led para cada valor de temperatura e active um alarme sempre que a temperatura seja maior que 10 graus. Resoluo:
Se o termmetro d a temperana em 4 bits. podemos aplicar um decoder de 4 bits que activa a sada correspondente ao valor da entrada em binrio e aplicar uma barra de leds, cada um ligado a uma sada do decoder, ficando assim com uma barra que indica quantos graus leu o termmetro. Depois, aplicamos B do comparador, ligamos o valor 10 (1010) e quando a sada A>B se activar, porque a temperatura do termmetro ultrapassou os 10 graus, e assim activa-se o alarme. De notar, por ltimo, que as entradas do comparador devem ser ligadas como no esquema, para que o comparador faa a comparao.
25
3. Projecte um sistema de controle para um parque de estacionamento de 8 lugares. Este sistema deve colocar entrada do parque um display, informando o nmero do lugar vago mais prximo da entrada.
Este circuito recebe a informao dos sensores que esto colocados nos respectivos lugares de estacionamento no parque. Assim se um lugar estiver vago, activa-se o respectivo sensor. Basta usar um PENC com 8 entradas, codific-las e aplicar a palavra em binrio a um descodificador BCD-7 segmentos, que atacar um display. Note que na entrada do descodificador BCD-7 segmentos, o bit A3 est colocado a 0, pois se s temos uma palavra de trs bits, o quarto bit deve ficar a 0 para no haver problemas.
26
4.
Resoluo: Para resolver este tipo de problemas, devemos usar uma tabela de verdades:
A 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1
C 0 1 0 1 0 1 0 1
A0 0 0 0 0 1 1 1 1
A1 0 0 1 1 0 0 1 1
S0 0 0 1 1 0 0 1 1
S1 0 1 0 1 0 1 0 1
0 1 1 0 0 0 0 0 0
1 0 0 0 0 1 1 0 0
2 0 0 1 1 0 0 0 0
3 0 0 0 0 0 0 1 1
F 1 0 0 0 0 0 0 1
27
5. Implemente a seguinte funo usando um multiplexer: F = AB + AC Resoluo: Este tipo de problemas resolve-se usando uma tabela de verdades da funo:
A 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1
C 0 1 0 1 0 1 0 1
F 0 0 0 0 0 1 1 1
Agora, basta pensar que se a funo depende de trs variveis, deve-se usar um multiplexer de 3 bits de seleco para termos as oito combinaes possveis. Devemos colocar como S0 a varivel C pois esta a de menor peso. A resoluo fica ento na forma da figura seguinte:
28
1.
2.
3.
4.
Construa, usando portas lgicas um circuito encoder de 2 entradas, que d prioridade s entradas de maior peso.
5.
29
30
31
Podemos construir um circuito deste gnero usando um multiplexer de duas entradas como sugere a figura seguinte:
32
Imagine que a entrada enable est a 1. O multiplexer coloca na sua sada o valor da entrada de peso 1. Assim, enquanto enable = 1, o flip-flop estar transparente entrada D. Se D tomar o valor 1, Q tomar o valor 1 e se D tomar o valor 0, Q ficar com o valor 0 pois o multiplexer selecciona a entrada de peso 1 para colocar na sada. Quando o enable ficar a 0 o valor que estava em Q fica guardado no flip-flop, pois o valor de Q est ligado entrada de peso 0 do multiplexer, e este coloca o valor da sua entrada de peso 0 na sada Q. Assim d-se o fenmeno de realimentaco no flip-flop. Enquanto o enable for 0, o circuito assume e mantm o estado de D, imediatamente antes do enable ficar a 0. Vejamos agora uma tabela de verdades, que representa o funcionamento deste flipflop onde se representa o estado anterior por Q*.
D 0 0 0 0 1 1 1 1
E 0 0 1 1 0 0 1 1
Q* 0 1 0 1 0 1 0 1
Q 0 0 0 0 0 1 1 0
33
2.2.2 - O FLIP-FLOP SET - RESET Este tipo de flip-flop, implementado segundo o esquema da figura seguinte:
O seu princpio de funcionamento o seguinte: Dispe de duas entradas Set (S) e Reset (R) e as sadas Q e a negao de Q. Se S = 1 e R = 0, o flip-flop toma o estado 1 (Set). Se S = 0 e R = 1, o flip-flop toma o estado 0 (Reset) . Se S = 0 e R = 0, o flip-flop fica a manter o estado anterior. Se S = 1 e R = 1, o flip-flop fica num estado indefinido, pelo que se deve garantir que nunca existe esta configurao nas entradas. A seguinte tabela de verdades ilustra o funcionamento deste circuito: S 0 0 1 1 R 0 1 0 1 Q Q* 0 1 -
34
Analisando o esquema da figura acima (implementao do flip-flop Set Reset) podemos confirmar o funcionamento deste circuito: Se S = 1 e R = 0, a porta nand #2 ficar a 1, independentemente da sua outra entrada. Assim, com S = 1, no nand #1, ambas as entradas esto a 1 e logo Q ficar com 0, o que faz com que o flip-flop fique no estado 0. Se S = 0 e R = 1, temos o nand #1 com uma entrada a 0, o que leva o flip-flop ao estado 1, pois Q = 1. Uma das entradas do nand #2 fica a 1 tambm, e como a outra entrada R = 1, o nand #2. ficar com 0 na sua sada. Se S = 0 e R = 0, temos que analisar o estado anterior. Qualquer que seja o estado anterior, ele ser mantido, pois nas entradas dos nands temos o valor 0, pelo que no vo alterar o estado do flip-flop. Se S = 1 e R = 1, o estado do flip-flop ser indefinido, depende do valor do estado anterior.
Existe alm deste flip-flop Set - Reset, outra verso que possui um bit para enable, ou seja o flip-flop Set - Reset com Enable, representado na figura seguinte:
Este circuito funciona de uma forma igual ao anterior quando enable estiver activo, e quando no estiver, pode-se ver que o circuito manter o seu estado anterior, pois temos as entradas S e R do flip-flop ambas a 0.
35
2.2.3 - O FLIP-FLOP D EDGE - TRIGGERED O flip-flop D latch uma mquina de dois estados assncrona, pois no tem nenhum sinal de sincronismo, e sensvel ao nvel de tenso das suas entradas. Existem, porm, mquinas de dois estados sncronas, que para alm das condies normais de mudana de estado, necessitam tambm para tal, de um sinal de sincronismo. A figura seguinte mostra um exemplo de um sinal de sincronismo:
Estes sinais so rectangulares ou quadrados e variam a sua amplitude ao longo do tempo. Os valores de amplitude que podem tomar so 0 e 5 volt, sendo por isso sinais digitais. Existem, ento nestes sinais, dois tipos de transies abruptas: as ascendentes, em que o sinal evolui em termos de tenso de 0 para 5 volt. e as descendentes, em que o sinal varia de 5 para 0 volt. com base nas transies que se d o sincronismo. Uma mquina sncrona, para mudar de estado, necessita, para alm das condies normais, de uma transio ascendente (por exemplo), de um sinal de sincronismo. Uma das mquinas deste tipo mais simples de analisar o flip-flop D edgetriggered, cujo esboo mostrado em seguida:
36
Este flip-flop tem o seguinte princpio de funcionamento: A entrada, de clock, (clk) uma entrada onde se deve aplicar um sinal de sincronismo, e, nas suas transies ascendentes o flip-flop fica transparente ao valor da entrada D, e toma o estado 0 ou 1 consoante o valor da entrada D, 0 ou 1 respectivamente. O flip-flop, tendo a entrada clk a 0 ou a 1 mantm o estado anteriormente gravado aquando da transio ascendente da entrada clk. Uma forma de representar o funcionamento de mquinas sequenciais atravs do diagrama de estados que fcil de construir. Para vermos como se pode construir um diagrama de estados, podemos desenhar o diagrama de estados do flip-flop D edge - triggered. A figura seguinte mostra o diagrama de estados do flip-flop D edge triggered, e necessita de uma explicao prvia: Os rectngulos, so os smbolos dos estados do flip-flop. Nestes so marcadas as variveis activas no respectivo estado. Os losangos representam os testes s condies que lhes esto includas. Deste modo, se o flip-flop est no estado 0, tem a sada Q desactiva, ou seja a sada que a negao de Q, estar activa. Este flip-flop, no estado 0 testa a varivel D, e s passa para o estado 1 se D for igual a 1. Enquanto isso no acontece, o flip-flop manter o estado 0. Quando D ficar a 1, o flip-flop passar para o estado l, e aqui, faz um teste varivel D. Enquanto D for 1, ele manter o seu estado, e quando D for 0, ele passar ao estado 0. Note, por ltimo, que nestas mudanas de estado, a transio ascendente de clk, est implcita, quero dizer, que este funcionamento ocorre s quando houver uma transio ascendente de clk, e em caso contrrio o flip-flop manter sempre o estado anterior.
37
Outra forma de se representar o funcionamento de uma mquina, neste caso do flipflop D edge- triggered, desenhando o seu diagrama temporal, ou diagrama de formas de onda, que representa, ao longo do tempo, as variaes das sadas em funo das variaes das entradas. Na figura 9. encontra-se o diagrama de formas de onda deste flip-flop.
Quando h uma transio ascendente de clk. a sada Q assume o valor de D. Enquanto isso no acontece, a entrada D pode variar o seu valor que a sada Q no se altera.
38
2.2.4 - O FLIP-FLOP TIPO "T" Este flip-flop tambm uma mquina sncrona. Dispe de uma entrada "T", da sada Q e da sua negao. FLIP-FLOP T
O princpio de funcionamento deste flip-flop o seguinte: Na transio ascendente de clk, ele analisa o valor da entrada T e toma o seguinte comportamento: Se T = 1 o flip-flop inverter o seu estado anterior, se T = 0, ele manter o seu estado. Na figura abaixo est representado o seu diagrama de estados.
39
O seu funcionamento tambm se pode verificar, analisando o seu diagrama de formas de onda, como nos mostra a figura seguinte:
possvel construir um flip-flop tipo T, a partir de um flip-flop D edge - triggered. Para se realizar esta operao, basta analisar os diagramas de estado de ambos e concluir que: Se os flip-flops esto no estado 0, a entrada D ser igual entrada T, pois ambas tm o mesmo comportamento. Se os flip-flops estiverem no estado 1. a entrada D a negao da entrada T. Assim, a entrada D igual aTQ + T.Q ou seja T XOR Q.
40
2.2.5 - O FLIP-FLOP "J-K" Este flip-flop, tambm uma mquina sncrona, que dispes de duas entradas, J e K, normais FLIP-FLOP J-K
O seu princpio de funcionamento o seguinte: Na transio ascendente de clk, o flip-flop toma em considerao os valores de. J e K: Se J = 0 e K = 0, ele manter o seu estado anterior. Se J = 1 e K = 0, o flip-flop ir para o estado 0. Se J = 0 e K = 1, o flip-flop ir para o estado 1. Se J = 1 e K = 1 o flip-flop inverter o seu estado. Vejamos agora a figura seguinte que mostra o diagrama de estados do flip-flop J-K.
41
Tambm vantajoso analisar o diagrama de formas de onda deste circuito, o qual apresentado na figura seguinte:
A construo de um flip-flop J-K a partir de um flip-flop D Edge Triggered tambm fcil de fazer. Coloquemos ento lado a lado os diagramas de estado de ambos e podemos concluir que se estiverem no estado 0 a entrada D igual entrada J do J-K e se estiverem no estado 1 a entrada D a entrada K do J-K. Assim, D = J .Q + K . Q como se mostra em seguida: 1 - Porta lgica OR. 2 e 3 - Porta lgica AND.
2.2.8 - Algumas notas sobre FLIP-FLOPS Os circuitos flip-flop existentes no mercado, alm das entradas e sadas que aqui se descreveram tm tambm duas entradas especiais que do muito jeito nas montagens com estes circuitos. Essas entradas so a de preset e clear. A entrada de clear, quando activa, leva o flip-flop ao estado 0 e a entrada preset leva o flip-flop ao estado 1 independentemente dos valores das outras entradas.
42
2.3 - Registos
Um registo um circuito que consegue armazenar vrios bits de memria. O caso mais comum so registos que armazenam 8 bits em simultneo ou seja tm capacidade de armazenar (memorizar) um byte. Existem dois tipos de registos: os que so construdos com flip-flops D latch e os que so construdos com flip-flops D Edge - Triggered. Em relao aos dois tipos de registo, a nica diferena entre eles tem a ver com as suas sensibilidades no registo dos dados. Para se registar um byte num registo latch, deve-se colocar nos seus bits de entrada D0..D7 o byte a registar e activar o seu enable que faz com que todos os flip-flops registem cada um o seu bit. Note que enquanto o enable estiver activo, o registo guardar os valores colocados nas suas entradas. No registo edge - triggered o byte armazenado s nas transies ascendentes do sinal clk, pois assim cada flip-flop guardar o bit correspondente.
REGISTO LATCH
43
Por razes de segurana e de um possveis concatenaes de vrios registos, usam-se portas tri-state na concepo destes registos. Uma porta tri-state tem, tal como o nome indica, trs estados. Se OC se activar, (neste caso com 0), a porta funciona como identidade, ou seja, um fio condutor que coloca na sua sada o valor que tem na entrada seja ele 0 ou 1. Se OC estiver desactivo (neste caso a 1), a porta assume um terceiro estado de alta-impedncia. Este estado evita eventuais curtos-circuitos nas sadas dos registos possibilitando assim a interligao de vrios para aumentar capacidades de memria. Posto isto, o registo guarda os dados como foi explicado atrs, mas ao guard-los no os coloca disponveis nas suas sadas. At que se active o OC do registo que activar todos os OC as sadas das portas permanecero em alta- impedncia. Quando se activar OC, ento sim, os dados memorizados sero disponibilizados para consulta. Num circuito com vrios registos ligados em paralelo, s se deve activar o OC de um registo de cada vez sob o risco de provocar curtos-circuitos nas linhas de dados. Alguns circuitos registos existentes no mercado so apresentados em anexo no fim deste captulo. 44
Contadores de 4 Bits
Este simples contador funciona baseado em flip - flops tipo T ligados da forma apresentada abaixo e gera as combinaes de 0 a 15, pois tem 4 bits.
45
A tabela seguinte mostra os 16 primeiros nmeros binrios que sero gerados pelo contador:
Qd 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
Qc 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
Qb 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
Qa 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
46
As combinaes binrias seguem uma frmula quando se pensa em passar uma a uma em sequncia, seno vejamos: O bit de menor peso (QA) inverte de estado de combinao em combinao. O bit de peso 1 (QB) inverte o seu estado, sempre que h uma transio descendente no bit de peso inferior (QA). O bit de peso 2 (QC) inverte o seu estado quando o bit de peso anterior (QB) produz uma transio descendente, e assim sucessivamente. Com a ajuda de flip-flops tipo T, podemos construir o circuito da figura acima que um contador de 4 bits. Existe, neste circuito, um sinal de clear que coloca todos os flip-flops a 0, ou seja, faz com que o contador fique no estado 0. medida que as transies ascendentes de clkup ocorrem, o 1 flip-flop inverte o seu estado, pois tem a sua entrada ligada a 1, T = 1. Tendo todos os flip-flops a sua entrada T = 1, eles invertero o seu estado quando lhes ocorrer uma transio ascendente de clk. Isso acontece quando o estado do flip-flop anterior vier de 1 para 0, ou seja quando a sada negada do flip-flop anterior for de 0 para 1, dando ordem, assim, ao flip-flop em causa para inverter o seu estado. Penso que agora ser fcil concluir que assim o conjunto dos quatro flip-flops efectuam a operao de contagem desejada.
Das verses que existem no mercado, apresenta-se no final do captulo em anexo, um contador 74193, que possui mais entradas e sadas que passarei agora a descrever: As sadas QA, QB, QC e QD, so os 4 bits de sada. As entradas UP e DN, so as entradas onde se devem aplicar os sinais de natureza edge - triggered para o contador fazer a contagem em modo crescente (UP) ou decrescente (DM). Note que no se devem aplicar sinais deste tipo nas duas entradas simultaneamente. A entrada CLR (clear). quando activa coloca o contador no estado 0. Pode-se, neste circuito comear a contagem em qualquer valor, usando para isso as entradas A, B, C e D e a entrada Load. Assim, se quisermos que o contador fique num determinado estado, colocamos nestas entradas o valor do estado que queremos, e activamos o sinal Load que colocar o contador nesse estado. Desactivando o Load e comeando a dar pulsos em UP ou DN, o contador comear a sua contagem partindo do estado em que o colocmos. As sadas Bo e Co, so sadas usadas na concatenao destes circuitos contadores, para se poderem construir mdulos de contagem maiores. A sada Co em modo crescente dar um pulso quando o contador passa do estado 15 para o estado 0, e a sada Bo, em modo decrescente dar um pulso quando o contador passar do estado 15 para o estado 0.
47
A figura seguinte d um exemplo da concatenao de dois contadores de 4 bits, realizando um mdulo de contagem a 8 bits.
Colocando ambos os contadores no estado 0, em modo crescente, quando o contador #1 passar o seu estado 15 para o seu estado 0, o contador #2 passar do seu estado 0 para o seu estado 1, para que o conjunto fique no estado 16. Em modo decrescente, passa-se o mesmo, mas agora o sinal Bo do contador #1 pulsar quando este passar do estado 15 para o estado 0 dando um impulso para que o contador #2 seja decrementado.
48
Se se considerar que o circuito est no estado 0, ou seja. todos os flip-flops esto no estado 0, analisemos a sequncia de acontecimentos se colocarmos o valor 1 em serial in ao longo das sucessivas transies ascendentes de clk. Na primeira transio, o primeiro flip-flop fica no estado l, pois a sua entrada D tinha o valor 1 na transio, e os outros flip-flops, mantero o estado 0. Na segunda transio, primeiro flip-flop fica no estado 1 (e assim ficar sempre, pois a sua entrada tem o valor 1), e o segundo tambm, pois QA tinha o valor l, ficando os restantes ainda no estado 0. Na terceira transio, o terceiro flip-flop fica tambm no estado l, pois QB estava no estado 1, e o ltimo flip-flop fica ainda no estado 0. Por ltimo, na quarta transio, o ltimo flip-flop fica tambm no estado l, o primeiro bit a 1 que tinha entrado em seriai in chegou a serial out. A ligeira diferena em tempo, entre a transio de clk e a mudana eventual de estado de um flip-flop (tempo de trnsito da ordem de grandeza de ns), garante que qualquer flip-flop tomar, aquando da transio ascendente de clk, o estado anterior do flip-flop que se encontra sua esquerda. De notar tambm que se se usassem flip-flops latch, no momento em que ocorresse a primeira transio em clk, todas as clulas passariam ao estado 1.
49
50
Como se pode verificar, na figura anterior, o barramento de dados tem duas direces, pois tanto na escrita de valores na RAM, como na leitura de valores da RAM, esses dados fluem no mesmo barramento D0..N. Particularizando para o caso de RAMs de registos de 8 bits, o seu barramento de dados ter D0..D7. O nmero de registos da RAM dado pela quantidade dos bits de endereo. Se a RAM tiver 16y registos, ela ter um barramento de endereos de 4 bits, A0..A3. O sinal Chip - Select (CS), coloca a RAM em funcionamento se estiver activo, e coloca-lhe o barramento de dados em alta-impedncia se no estiver activo (tira-a de servio).
Para se efectuar uma operao de escrita numa RAM, devem-se seguir as seguintes operaes e pela mesma ordem: 1. 2. 3. 4. Activar o sinal CS. Estabelecer o valor do barramento de endereos. Estabelecer o valor dos dados a escrever. Activar s o sinal de Write (WR) e durante o tempo necessrio que segundo o fabricante e preciso para que a RAM grave o valor de dados no registo correspondente ao valor do endereo.
Para se efectuar uma operao de leitura numa RAM devem-se seguir e pela mesma ordem as seguintes operaes: 1. 2. 3. Activar o sinal CS. Estabelecer o valor do barramento de endereos. Activar s o sinal de Read (RD) e esperar o tempo necessrio que segundo o fabricante precise para que a RAM exponha o valor guardado no registo indicado pelo valor do barramento de endereos. 4. Usar o valor lido.
51
Como se pode verificar na figura, ao se aplicar um endereo nas entradas do decoder, ele activar a sada correspondente e desactivar todas as outras, deixando por isso os registos no seleccionados fora de servio. O registo que ficar em servio, poder ser ento usado para nele escrever dados, ou para dele se recolherem dados, activando o sinal de WR ou de RD, respectivamente. Note-se que o sinal CS inibe ou no o funcionamento do decoder, colocando assim, por isso, a RAM em funcionamento ou no. Note-se, por ltimo, que se se tentar activar o sinal de RD e WR simultaneamente, temos no barramento de dados um valor a escrever, e o registo seleccionado colocar no barramento o valor que tem gravado, gerando assim conflitos no barramento, que podero provocar curto-circuito s e danificar a RAM.
52
No caso da entrada active-low, quando se alimenta o circuito, o condensador est descarregado, e portanto, um circuito fechado, fazendo activar a entrada, pois ela activa-se com 0. Aps algum tempo o condensador carregase e fica em aberto fazendo com que na entrada fique 5 Volt atravs da resistncia colocando o valor lgico 1 na entrada deixando de fazer com que o circuito se mantenha no estado desejado.
No caso da entrada active-high, o condensador descarregado impe a tenso Vcc, valor lgico 1 na entrada activando-a e depois de estar carregado, a resistncia que coloca na entrada o valor 0, podendo agora o circuito funcionar normalmente.
53
54
Resoluo: Desenhe os diagramas de estado do flip-flop J-K e deste novo flip-flop, e conclua o seguinte: J = Z . W e K = Z + W. Ento podemos desenhar o seguinte circuito:
55
2. Projecte, usando um flip-flop Set - Reset. um circuito que fique no estado 0 aps ser alimentado. Depois, ele deve ficar no estado 1 quando a sua entrada A ficar o estado l, e, no deve sair desse estado at que a sua entrada B seja activada. Resoluo: O esquema que se encontra a seguir . demonstra bem que estando o Reset do flip-flop sempre a zero, este, s pode tomar o valor 1 caso o Set venha a 1, ou s pode manter o estado anterior, caso o Set fique a 0. Assim se o Set for a varivel A, quando esta vier a 1, coloca o flip-flop no estado 1, e, mesmo que venha a 0, o circuito manter o estado anterior que era 1. S com a activao de B (Clear), que o flip-flop voltar ao estado 0.
56
3.
Uma RAM de 2 * 8 ter 2 registos de 8 bits. Temos um barramento de dados de 8 bits, um barramento de endereos de 1 bit (A0) e um barramento de controle com Read, Write e Chip - Select. O barramento de endereos tem 1 bit porque com 1 bit podemos escolher entre os dois registos para as operaes de escrita ou leitura.
57
O contador tem um impulso no CLK UP para ir contando de 0 a 15. bvio que aproveitando os 3 bits de menor peso (Qa, Qb e Qc), temos contagens de 0 a 7. Aplicando estes valores ao decoder 74138, este activa a sada correspondente palavra de entrada colocada pelo contador, ou seja, activa em sequncia as sadas de Y1 a Y7. Consideraes: A resistncia que liga a G1 do decoder coloca um 1 lgico nesta entrada para o decoder funcionar. As entradas G2A e G2B de natureza active- low tm-se de ligar a 0 para que o decoder funcione. No contador 74193, temos de ligar o CLR massa para colocar esta entrada a 0 seno o contador no conta. A entrada CLK UP liga o gerador de impulsos para se dar a contagem. O sinal de Load serve para carregar o valor das entradas para as sadas do contador. Como no se pretende fazer isso, colocamos um 1 atravs da resistncia para no activar esta entrada. Por ltimo devemos colocar a entrada CLK DN a 1 para que esta no faa contagens decrescentes no 74193.
58
5.
Diga qual a diferena entre uma entrada de sensibilidade latch e outra com sensibilidade edge - triggered. Resoluo: Uma entrada latch sensvel ao nvel de tenso colocado nessa entrada, ou seja ao nvel lgico 1 ou 0. Uma entrada edge - triggered uma entrada sensvel a transies ascendentes ou descendentes no nvel de tenso ou lgico.
6.
Para que servem as entradas de Preset ou Clear dos circuitos sequenciais? Resoluo: Servem para levar os circuitos ao estado 0 ou 1 consoante se active Clear ou Preset respectivamente.
59
0,1,2,3,4,5,6,7,...,15,14,13,12,11,...,0
60
Bibliografia:
SEIA, Mrio Arajo; RODRIGUES, Victor Pimenta, 123 Projecto de Sistemas Digitais, Editora Presena.
61