Your SlideShare is downloading. ×
Apostila cefet
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Apostila cefet

12,992

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
12,992
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
270
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE SANTA CATARINA GERÊNCIA EDUCACIONAL DE ELETRÔNICA CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS DIGITAIS LÓGICA SEQÜENCIAL Prof. Joel Lacerda Prof. Wilson B. Zapelini FLORIANÓPOLIS 2006
  • 2. SUMÁRIO Página1 A NECESSIDADE DA MEMÓRIA OU ESTADO SEQÜENCIAL .................. 02 1.1 Conceito de memória ............................................................................... 02 1.2 Impacto da memória seqüencial no desempenho de sistemas automatizados ......................................................................................... 04 1.3 Obtenção do efeito memória (buffer realimentado) .................................. 042 A DEFINIÇÃO DE FLIP-FLOPS .................................................................... 06 2.1 Flip-flop SR básico ................................................................................... 06 2.2 Diagrama de tempo .................................................................................. 073 APERFEIÇOAMENTO DO FLIP-FLOP ......................................................... 08 3.1 Necessidade de sincronismo .................................................................... 08 3.2 Lógica (terminais e estados) .................................................................... 08 3.3 Flip-flop SR comandado por pulso de clock ............................................. 08 3.4 Flip-flop JK (eliminação do estado proibido) ............................................ 09 3.5 Flip-flop JK Mestre-Escravo (eliminação da oscilação) ............................ 10 3.6 Flip-flop JK Mestre-Escravo com terminais de programa – entradas preset e clear ........................................................................................... 11 3.7 Flip-flop T (Toggle) ................................................................................... 11 3.8 Flip-flop D (Data) ...................................................................................... 12 Experiência 1 ................................................................................................. 184 REGISTRADORES DE DESLOCAMENTO ................................................... 20 4.1 Conceito ................................................................................................... 20 4.2 Características .......................................................................................... 20 4.3 Aplicações ................................................................................................ 20 4.4 Classificação ............................................................................................ 20 4.5 Configurações .......................................................................................... 20 4.6 Registrador de deslocamento usado como divisor por 2 ......................... 23 4.7 Registrador de deslocamento usado como multiplicador por 2 ................ 23 Experiência 2 .................................................................................................. 265 CONTADORES .............................................................................................. 26 5.1 Contadores assíncronos ........................................................................... 26 5.2 Contadores síncronos .............................................................................. 34 5.3 Contadores para circuitos temporizados .................................................. 38 5.4 Contadores integrados ............................................................................. 39 Experiência 3 .................................................................................................. 50 Experiência 4 .................................................................................................. 52 Experiência 5 .................................................................................................. 536 MEMÓRIAS SEMICONDUTORAS ................................................................ 55 6.1 Introdução ................................................................................................. 55 6.2 Estrutura e organização da memória ....................................................... 55 6.3 Princípios de operação ............................................................................. 56 6.4 Estruturas de endereçamento .................................................................. 57 6.5 Classificação das memórias ..................................................................... 59 6.6 Tipos de memórias ................................................................................... 61 Experiência 6 .................................................................................................. 747 MÁQUINAS DE ESTADOS ............................................................................ 79 7.1 Modelo geral ............................................................................................. 79 7.2 Análise de máquinas de estados .............................................................. 80 7.3 Síntese de máquinas de estados ............................................................. 85REFERÊNCIAS BIBLIOGRÁFICAS ................................................................. 92 1
  • 3. 1 A NECESSIDADE DA MEMÓRIA OU ESTADO SEQÜENCIAL1.1 CONCEITO DE MEMÓRIAQualquer dispositivo ou circuito que tem dois estados estáveis é dito biestável como, porexemplo, uma chave de conexão. Ela pode estar aberta ou fechada, dependendo daposição da alavanca. Esta chave possui uma memória, visto que ela permanecerá em umestado definido até que alguém ou algo mude a posição da alavanca.Quando um sinal de entrada é aplicado num dispositivo, a saída muda em resposta àentrada. Quando o sinal de entrada é removido, a saída retorna ao seu estado original.Este dispositivo não exibe a propriedade de memória, já que sua saída volta ao estadoanterior.Existem dispositivos e circuitos digitais que possuem memória, onde quando um sinal deentrada é aplicado, a saída poderá mudar seu estado, mas permanecerá neste estadomesmo após a entrada ter sido removida. Esta propriedade de reter sua resposta a umaentrada momentânea é chamada memória.Portanto, memória é todo dispositivo que permite a perpetuação de uma informação aolongo do tempo. Costumamos classificar como tendo capacidade de memória a mentehumana e os processadores digitais, mas há inúmeras outras formas de memória. Oslivros, as fotografias, os discos de música são também dispositivos de memória.Mesmo coisas muito simples podem funcionar como memórias. Conta-se que AlbertEinstein usava a caneta no bolso esquerdo ou direito para lembrar se já havia almoçadoou não. Portanto, é a memória que nos dá, pela lembrança do passado, a noção detempo. Sem ela, viveríamos num eterno presente, não poderíamos discriminar o que é,daquilo que já foi e do que será.É o que ocorre aos sistemas digitais baseados em lógica combinacional. Os estados desuas saídas são dependentes apenas dos estados presentes (instantâneos) das entradas,logo, estes sistemas não conseguem lidar com a variável tempo e perceber seqüênciasde eventos, portanto, são incapazes de resolver qualquer problema que envolva a noçãode tempo.Tome-se o exemplo do controle automático de enchimento de uma caixa d’água.Pretende-se que o sistema controle a válvula de entrada V a partir de dois sensores denível de água A e B, como no esquema a seguir. 2
  • 4. A V LÓGICA COMBINACIONAL BPretende-se que a válvula V seja aberta quando o sensor B estiver descoberto e só voltea ser fechada quando o sensor A estiver coberto. Se tentarmos resolver o problemausando lógica combinacional, obtém-se a tabela da verdade.Usando a convenção para: - Sensores A e B: 0 – descoberto; 1 – coberto - Válvula V : 0 – fechada; 1 – aberta A B V 0 0 1 0 1 ? (0 quando esvazia e 1 quando enche) 1 0 X (impossível) 1 1 0Portanto, alguma variável precisa informar à lógica se no momento a caixa está emprocesso de enchimento ou esvaziamento, “lembrando” qual foi o último estadoalcançado, isto é, cheio (V=0) ou vazio (V=1). O novo diagrama é mostrado abaixo. A V LÓGICA COMBINACIONAL B M MEMÓRIAUma nova tabela da verdade, incorporando a variável de memorização é mostradaabaixo. M A B V 0 0 0 1 (liga válvula, caixa acabou de esvaziar) 0 0 1 0 (caixa esvaziando) 0 1 0 X (impossível) 0 1 1 0 (válvula foi recentemente desligada) 1 0 0 1 (válvula foi recentemente ligada) 1 0 1 1 (caixa enchendo) 1 1 0 X (impossível) 1 1 1 0 (desliga válvula, caixa acabou de encher)Ao conjunto do bloco combinacional mais o dispositivo de memória chamamos lógicaseqüencial. Nesta lógica, os estados presentes das saídas não dependem apenas dosestados das entradas, mas também dos estados anteriores do próprio sistema.Para a solução do problema da caixa d’água usamos um dispositivo de memória capaz dearmazenar um bit, que é a definição funcional de flip-flop. 3
  • 5. 1.2 IMPACTO DA MEMÓRIA SEQÜENCIAL NO DESEMPENHO DE SISTEMAS AUTOMATIZADOSOs sistemas digitais dividem-se em duas classes: sistemas combinacionais e sistemasseqüenciais.Nos sistemas combinacionais, uma saída no tempo t depende somente da entrada notempo t. Neste caso, o sistema não tem memória porque a saída não depende deentradas prévias. Portanto, a saída é dependente, única e exclusivamente, das variáveisde entrada.Exemplo: um cadeado de códigos (usado para prender bicicletas) – o cadeado seráaberto num dado tempo t quando o código do cadeado é colocado nas entradas em t,sem considerar a história nas entradas. Se for o código 234, por exemplo, o cadeado seráaberto quando esta combinação for colocada nas entradas, independentemente da ordemde colocação dos dígitos do código.Nos sistemas seqüenciais, uma saída no tempo t depende da entrada no tempo t e,possivelmente, também depende da entrada no tempo anterior a t. A saída é dependentedas variáveis de entrada e/ou de seus estados anteriores armazenados.Exemplo: um sistema de discagem telefônica – o número de um assinante a serdiscado será efetuado num dado instante t, se forem satisfeitas as seguintes condições:a) os dígitos discados antes do instante t devem seguir a seqüência daquela do númerodo assinante; b) o dígito discado no instante t, isto é, o último a ser discado, correspondeao último dígito do número do assinante; c) todos os dígitos devem estar memorizados edisponibilizados na mesma seqüência da discagem no instante t.1.3 OBTENÇÃO DO EFEITO MEMÓRIA (BUFFER REALIMENTADO)Construtivamente, um flip-flop pode ser descrito como um inversor realimentado por umoutro inversor, como mostra o desenho abaixo. D QObservando o diagrama, percebemos que uma vez imposto um estado lógico à entradaD, o estado da saída Q se manterá indefinidamente. Como podemos mudar do estado deQ sem provocar uma contradição com o estado de Q ? A solução é adicionar terminais deentrada, substituindo os inversores por portas lógicas Não-E. S S Q Q Q R Q R 4
  • 6. Agora podemos levar Q a 1 impondo 0 em S (set) e levar Q a 0 impondo 0 em R (reset),armazenando o estado que desejamos no flip-flop.Entretanto, o flip-flop deve ser aperfeiçoado para satisfazer à definição lógica de flip-flop:Um dispositivo com duas saídas complementares Q e Q , com duas entradas S e R queoperam de acordo com a tabela abaixo. S R Q Q 0 0 não permitido 0 1 1 0 1 0 0 1 1 1 QA QAUm circuito eletrônico é biestável quando possui dois estados estáveis, isto é, sua saída é0 Vcc (nível lógico 0) ou +5V (nível lógico 1). Assim, este dispositivo pode ser usado paraarmazenar um dígito binário (bit). 5
  • 7. 2 A DEFINIÇÃO DE FLIP-FLOPSO flip-flop é um elemento de circuito que pode apresentar em seu funcionamento apenasdois estados estáveis. Com a aplicação de um sinal de entrada pode-se efetuar amudança de um estado para outro e de se conhecer o respectivo estado em que seencontra. Assim, este circuito é considerado como uma célula básica de memória dalógica seqüencial capaz de armazenar um bit.2.1 FLIP-FLOP SR BÁSICOPossui duas entradas, definidas como Set e Reset e duas saídas Q e Q. Estas saídassomente podem permanecer com valores lógicos complementares. S R QA QF S R QF 0 0 0 0 - estável QA 0 0 QA 0 0 1 1 - estável 0 1 0 0 1 0 0 - estável 0 1 0 1 0 1 1 0 - instável 1 1 não perm. 1 0 0 1 - instável 1 1 0 1 1 - estável 1 1 0 1 - instável (não permitido) 1 1 1 1 - instável (não permitido)2.2 DIAGRAMA DE TEMPOOs gráficos ou diagramas de nível lógico x tempo fornecem uma representação visualdo desenvolvimento de sinais no tempo, bem como uma demonstração gráfica decomparação entre sinais em vários pontos de um circuito lógico. Assim, são muito usadosem sistemas seqüenciais. 6
  • 8. Exemplo de diagrama de tempo de um flip-flop SR S R Q Q 7
  • 9. 3 APERFEIÇOAMENTO DO FLIP-FLOP3.1 NECESSIDADE DE SINCRONISMOO flip-flop visto anteriormente não permite nenhum tipo de controle sobre as entradas, istoé, quando as informações chegam às entradas, são imediatamente processadas semnenhum tipo de controle.Para corrigir este problema é incorporada uma entrada de controle denominada clock(para flip-flops) ou enable (para latches), permitindo um controle sobre as informações deentrada e estabelecendo um sincronismo na operação do circuito.Desse modo, é possível sincronizar o flip-flop (ativar ou desativar) com o intuito dearmazenar a informação em qualquer instante e, então, reter a informação armazenadapor qualquer período de tempo desejado.3.2 LÓGICA (TERMINAIS E ESTADOS)O flip-flop pode ser representado por um bloco com duas saídas Q e Q , entradas para asvariáveis e uma entrada de controle (clock/enable).As duas saídas correspondem aos dois estados estáveis e complementares. Para que oflip-flop possa assumir um destes estados, é necessário que haja uma combinação dasvariáveis de entrada e de um pulso de controle clock/enable. Com este pulso, o flip-floppermanecerá nesse estado ou mudará até a chegada de um novo pulso de controle, quepoderá novamente manter ou mudar o estado. Portanto, a saída depende dos valores dasentradas e/ou dos estados armazenados;Entrada 1 QClock/Enable FLIP-FLOP QEntrada 23.3 FLIP-FLOP SR COMANDADO POR CONTROLE ENABLEPara Enable = 0 ⇒ a saída Q do flip-flop mantém seu estado armazenado;Para Enable = 1 ⇒ o flip-flop responde conforme os níveis lógicos das entradas. 8
  • 10. CONVENÇÕES E SIMBOLOGIASO latch responde em nível (0 ou 1) e o flip-flop responde em transição (subida oudescida).Se o circuito de controle detecta: - transição ⇒ Clock (Ck) - nível ⇒ Enable (En) 1 0 sub descExemplo de diagrama de tempo de um flip-flop SR ativado em nível lógico 1 1 2 3 4 5 6 7 Ck S R Q Q3.4 FLIP-FLOP JK (ELIMINAÇÃO DO ESTADO PROIBIDO)Objetivo: evitar a saída Q com situação não permitida. J K QA QA S R QF J K QF 0 0 0 1 0 0 0 QA 0 0 QA 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 0 0 0 1 0 1 0 1 1 0 0 1 0 1 1 QA 1 0 0 1 1 0 1 1 1 0 1 0 0 0 1 1 1 0 1 1 0 1 QA 1 1 1 0 0 1 0 9
  • 11. Circuito análogo do Flip-flop JK (com portas lógicas Não-E)Característica inconveniente no funcionamento do circuito⇒ Para J e K = 1, ocorrem constantes oscilações (mudanças de estado) na saída Q, em função das duplas realimentações.Possíveis soluções⇒ forçar o clock para zero num tempo conveniente após a aplicação dos níveis lógicos nas entradas J e K (deve levar em conta o atraso na propagação de cada porta lógica);⇒ inserir blocos (portas lógicas) de atraso em série com as linhas de realimentação e comutar a entrada clock da mesma forma.3.5 FLIP-FLOP JK MESTRE-ESCRAVO (ELIMINAÇÃO DA OSCILAÇÃO)O flip-flop JK, quando ativado, funciona como um circuito combinacional, isto é, ocorre apassagem das entradas J e K e da realimentação, provocando alterações sucessivas nasaída Q.Objetivo: evitar as constantes oscilações na saída Q quando as entradas J e K = 1.Seqüência de funcionamento⇒ Para clock = 1: ocorre a passagem dos níveis lógicos J e K do Mestre; não passagem de Q1 e Q1 , porque o clock do escravo é zero.⇒ Para clock = 0: Q1 e Q1 estavam bloqueadas com o último estado assumido; passagem das entradas S e R (escravo), mudando as saídas Q e Q . 10
  • 12. Conclusão: o circuito só reconhece as entradas J e K quando o clock passa de 1 para zero.3.6 FLIP-FLOP JK MESTRE-ESCRAVO COM TERMINAIS DE PROGRAMA -ENTRADAS PRESET E CLEARA maioria dos flip-flops com clock também possui uma ou mais entradas de programa,ditas assíncronas, que operam independentemente das entradas síncronas e da entradade clock. Estas entradas assíncronas podem ser usadas para colocar o flip-flop no estado0 ou no estado 1, em qualquer instante. Assim, estas entradas se sobrepõem a todas asoutras entradas. Clr Pr QF 0 0 Não permitido 0 1 0 1 0 1 1 1 Func. normal3.7 - FLIP-FLOP TIPO T (TOGGLE)Trata-se de um flip-flop JK com as entradas curto-circuitadas, de modo a assumir apenasduas condições de entrada. Pr T J Q Ck K Q Clr 11
  • 13. J K T QF T QF 0 0 0 QA 0 QA 0 1 1 QA 1 0 1 1 1 QA3.8 - FLIP-FLOP TIPO D (DATA)Trata-se de um flip-flop JK com as entradas invertidas, obtidas através de uma portalógica inversora conectada entre as mesmas. PrD J QCk K Q Clr J K D QF D QF 0 0 0 0 0 1 0 0 1 1 1 0 1 1 1 1 12
  • 14. EXERCÍCIOS1. Analise o flip-flop abaixo, preencha a tabela de transição e especifique o seu tipo. X QA QF X QF 0 0 ⇒ 0 0 1 1 1 0 1 12. Dado o circuito do flip-flop abaixo, determine sua tabela de transição para todas as situações possíveis nas entradas A e B. Após, obtenha a tabela compacta e identifique seu tipo. A B QA QF A B QF 0 0 0 ⇒ 0 0 0 0 1 0 1 0 1 0 1 0 0 1 1 1 1 1 0 0 1 0 1 1 1 0 1 1 13. Desenhe a forma de onda na saída Q do flip-flop JK abaixo. J Q K=1 13
  • 15. JCkQ4. Analise o flip-flop abaixo, preencha a tabela de transição e especifique o seu tipo. X QA QF X QF ↑ 0 ⇒ ↑ ↑ 1 ↓ ↓ 0 ↓ 15. Dado o circuito do flip-flop abaixo, determine sua tabela de transição para todas as situações possíveis nas entradas A e B. Após, obtenha a tabela compacta e identifique seu tipo. X Y QA QF X Y QF 0 0 0 ⇒ 0 0 0 0 1 0 1 0 1 0 1 0 0 1 1 1 1 1 0 0 1 0 1 1 1 0 1 1 1 14
  • 16. 6. Desenhe a forma de onda na saída Q do flip-flop tipo T abaixo.CkCLRPRTQ7. Determine a forma de onda da saída Q do flip-flop tipo D, a partir dos sinais apresentados abaixo:CkPRCLRDQ 15
  • 17. 8. Apresente as saídas Q dos flip-flops abaixo, a partir dos sinais de Clock e Entrada. E Ck Q1 Q2 Q3 Q49. A partir das formas de onda de um flip-flop JK apresentadas abaixo, determine a forma de onda na saída Q.CkCLRPRJKQ 10. Dado o circuito do flip-flop abaixo, determine sua tabela de transição para todas as situações possíveis nas entradas X e Y. Após, obtenha a tabela compacta e identifique seu tipo. 16
  • 18. X Q Ck Q YX Y QA QF X Y QF0 0 0 ⇒ 0 00 0 1 0 10 1 0 1 00 1 1 1 11 0 01 0 11 1 01 1 1 17
  • 19. EXPERIÊNCIA 1 - FLIP-FLOPS1. Identifique a pinagem dos circuitos integrados e monte em matriz de contatos os seguintes circuitos digitais. Em seguida, obtenha a tabela de transição e defina como o flip-flop é ativado. 1.1 - Flip-flop SR com clock, usando portas lógicas Não-E (7400); 1.2 - Flip-flop SR com clock, usando portas lógicas Não-Ou (7402); S Q Ck Q R 1.3 - Flip-flop JK com Preset e Clear (7476); 1.4 - Flip-flop tipo T (7476); 1.5 - Flip-flop tipo D (7474). 18
  • 20. 1.6 – Circuitos anti-repique2. Na seqüência, energize os circuitos e simule, via chaves, os valores possíveis para as entradas;3. Organize e interprete os dados coletados na experimentação. Verifique se os valores encontrados na saída correspondem à análise teórica do circuito (tabela de transição);4. Desmonte os circuitos e reponha o equipamento e componentes aos seus lugares;5. Mantenha sempre limpo e organizado o ambiente de experimentação educativa. 19
  • 21. 4 REGISTRADORES DE DESLOCAMENTO4.1 CONCEITOUm registro de deslocamento (shift register) consiste de um grupo de flip-flopsinterconectados com a propriedade de deslocar dados armazenados nas suas saídas Qde um flip-flop para outro. A direção do deslocamento pode ser para a direita ou para aesquerda, cuja operação é síncrona e sendo regida por um sinal de clock.4.2 CARACTERÍSTICASUm registrador pode deslocar informações de dois tipos:Informação paralelaSão dados que trafegam em várias linhas ou fios, uma para cada bit do número/palavrabinário, não existindo a necessidade de referenciar a um clock.Informação sérieSão dados que trafegam em uma única linha ou fio, um bit de cada vez, a uma taxa detransferência que é constante e em fase com um clock de referência.4.3 APLICAÇÕESOs computadores trabalham com pacotes de informações binárias de 8, 16 ou 32 bits. Osbytes são processados e/ou transportados num computador através de barramentos. Aforma de transmissão paralela é usada em computadores porque é muito mais rápida e asdistâncias são pequenas. Por outro lado, o formato serial é usado para mover dadosde/para teclado e monitor e para comunicação digital entre microcomputadores.Os registradores também são usados para algumas operações aritméticas comocomplementação, multiplicação e divisão binária.4.4 CLASSIFICAÇÃOOs registradores de deslocamento são classificados de acordo com três aspectosbásicos.a) Quanto à forma de manipulação dos dados - Entrada série e saída série - Entrada série e saída paralela - Entrada paralela e saída série - Entrada paralela e saída paralelab) Quanto à direção de deslocamento - Deslocamento para a esquerda (shift left) - Deslocamento para a direita (shift right) - Deslocamento bidirecionalc) Quanto à capacidade de armazenamento - Relacionado com o número de bits que pode ser armazenado no registrador4.5 CONFIGURAÇÕESOs dados num registrador são possíveis de deslocar: - em série e em paralelo - para dentro e para foraEm função disso, podem ser construídos quatro tipos básicos de registradores: - em série para dentro ou carga (load) – em série para fora ou descarga (shift) - em série para carga – em paralelo para descarga - em paralelo para carga – em série para descarga - em paralelo para carga – em paralelo para descarga 20
  • 22. 4.5.1 REGISTRADOR DE DESLOCAMENTO DE ENTRADA SÉRIE E SAÍDA SÉRIEApós a entrada da informação, cada bit é deslocado uma casa à direita após a ocorrênciado clock. Assim, são deslocados 4 bits de dados em modo série para dentro (à direita)dos flip-flops.Entrada de informação: através da entrada série;Saída da informação: em Q0 21
  • 23. 4.5.2 REGISTRADOR DE DESLOCAMENTO DE ENTRADA SÉRIE E SAÍDAS PARALELASO funcionamento deste registrador é idêntico ao registrador anterior, exceto que as saídassão obtidas, simultaneamente, após 4 pulsos de clock, nos terminais Q3, Q2, Q1 e Q0.4.5.3 REGISTRADOR DE DESLOCAMENTO DE ENTRADAS PARALELAS E SAÍDA SÉRIEEntrada da informação:Se limparmos o registrador (Clear=0) e introduzirmos a informação paralela através dosterminais PR, então, as saídas Q dos flip-flops assumirão estes valores.Saída da informação:Para Clear=0, a cada descida do Clock, Q0 irá assumir os valores, seqüencialmente, deQ0, Q1, Q2 e Q3.Se Enable=0 ⇒ Preset (PR) dos flip-flops são iguais a 1 e atuam normais;Se Enable=1 ⇒ Preset (PR) dos flip-flops terão valores complementares às entradas PR3, PR2, PR1, PR0 e, portanto, as saídas assumirão os valores destes terminais.Exemplo: Se PR3 = 0 ⇒ Pr=1 ⇒ Q3 mantém seu estado; Se PR3 = 1 ⇒ Pr=0 ⇒ Q3 = 1. 22
  • 24. 4.5.4 REGISTRADOR DE DESLOCAMENTO DE ENTRADA PARALELA E SAÍDAS PARALELASEntrada de informação: através dos terminais Preset e Clear;Saída da informação: inibindo o clock, as saídas são obtidas pelos terminais Q3, Q2, Q1 eQ0.4.6 REGISTRADOR DE DESLOCAMENTO USADO COMO DIVISOR POR 2 (SHIFT RIGHT) Q3 Q2 Q1 Q0Entrada Registrador de Deslocamento CkEntra-se com zero na Entrada Série e, através do clock, desloca-se uma casa à direita.Exemplo: 1010(2) = 10(10) ⇒ 0101(2) = 5(10)4.7 REGISTRADOR DE DESLOCAMENTO USADO COMO MULTIPLICADOR POR 2 (SHIFT LEFT) Q3 Q2 Q1 Q0Entrada Registrador de Deslocamento CkDesloca-se uma casa à esquerda através do clock e força-se Q0 = 0.Exemplo: 0001(2) = 1(10) ⇒ 0010(2) = 2(10) 23
  • 25. EXERCÍCIOS1. Esboce as formas de onda para o Registrador de Deslocamento abaixo, em função dossinais aplicados, considerando a entrada Enable = 0 PR2 PR1 PR0 Enable Q2 Q1 Q0 E S S S D Q D Q D Q _ _ _ CP Q CP Q CP Q R R R Ck ClrCkClrEQ2Q1Q02. Na questão anterior, aplicando os níveis lógicos nas entradas PRs indicados abaixo,determina as formas de onda nas saídas Q. Considere Enable=1.ClrPR2PR1PR0Q2Q1Q0 24
  • 26. 3. Quanto tempo em segundos levará para deslocar um número binário de 8 bits paradentro do circuito integrado 74164, se o clock é de 1 MHz?4. Desenhe as formas de onda na saída P do circuito abaixo. 25
  • 27. EXPERIÊNCIA 2 - REGISTRADORES DE DESLOCAMENTO1. Identifique a pinagem do circuito integrado e monte em matriz de contatos o seguinte circuito digital: 1.1 - Registrador de Deslocamento de 4 bits (7495) Outputs Shift Shift Right Left Vcc QA QB QC QD Ck1 Ck2 14 13 12 11 10 9 8 7495 – R. D. 4 bits Entrada paralela/série Saída paralela 1 2 3 4 5 6 7 Serial A B C D Mode GND Input control InputsEtapa 1Mode control = 0 ⇒ Ck1 (série/paralelo)Mode control = 1 ⇒ Ck2 (paralelo/paralelo)Etapa 2Ck1 e mode control = 0 ⇒ deslocamento à direitaCk2 e mode control = 1 ⇒ deslocamento à esquerda 1.2 Registrador de Deslocamento de 8 bits através de cascateamento (2 x 7495) saídas 1 saídas 2 ck1 ck2 14 13 12 11 10 9 8 14 13 12 11 10 9 8 7495 (1) 7495 (2) 1 2 3 4 5 6 7 1 2 3 4 5 6 7entrada entrada shift shift mode right left control 26
  • 28. 1.3 Registrador de deslocamento usado na transmissão de dados (74194 e 7495) Ck S1 S0 16 15 14 13 12 11 10 9 14 13 12 11 10 9 8 Vcc QA QB QC QD Ck S1 S0 Vcc QA QB QC QD SR SL 74194 7495 Conversão P/S Conversão S/P Clr SI-right A B C D SI-left GND SI A B C D MC GND 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 Simulação Mode control com chaves SI-R SI-L Mode S1 S0 FUNÇÃO DO 74194 control 0 0 1 ck1 1 1 transfere dados das entradas para as saídas 1 0 0 ck1 0 1 desloca dados da esquerda para a direita 0 0 0 ck2 1 1 transfere dados das entradas para as saídas 0 1 0 ck2 1 0 desloca dados da direita para a esquerda 27
  • 29. 1.4 Registrador de deslocamento de 8 bits em anel (74164) Vcc QH QG QF QE Reset Ck 14 13 12 11 10 9 8 74164 – R. D. 8 bits Entrada série Saídas paralelas 1 2 3 4 5 6 7 A B QA QB QC QD GND2. Na seqüência, energize o circuito e simule, via chaves, os valores possíveis para as entradas;3. Organize e interprete os dados coletados na experimentação. Verifique se os valores encontrados na saída correspondem à análise teórica do circuito;4. Desmonte o circuito e reponha o equipamento e componentes aos seus lugares;5. Mantenha sempre limpo e organizado o ambiente de experimentação educativa. 28
  • 30. 5 CONTADORESConceitoO contador digital é um circuito seqüencial, configurado de tal modo que para cada estadopresente nas saídas dos flip-flops, existe um estado seguinte bem definido. Durante aoperação de contagem, o contador desloca-se de um estado para o outro de acordo comuma seqüência especificada.Características• Variam os seus estados, sob comando de pulsos de clock, de acordo com uma seqüência pré-determinada;• São usados para contagens, divisores de freqüência, geradores de forma de onda, conversores analógico-digitais, etc;Classificação quanto ao sincronismoAssíncrono: quando o sinal de clock é aplicado apenas ao primeiro estágio (flip-flop). Osestágios seguintes utilizam como sinal de sincronismo a saída de cada estágio anterior.Síncrono: quando o sinal de clock é único e externo, sendo aplicado a todos os estágiosao mesmo tempo.Classificação quanto ao modo de contagemCrescente (progressivo): quando conta numa seqüência de números crescentes.Decrescente (regressivo): quando conta numa seqüência de números decrescentes.Aleatória: quando conta numa seqüência qualquer programada.5.1 - CONTADORES ASSÍNCRONOSUm contador assíncrono, de modo geral, tem as saídas e entradas ligadas e polarizadasconforme a rotina: a) a saída de cada flip-flop deve ser conectada a entrada clock dos flip-flops seguintes; b) as entradas J e K de todos os flip-flops devem ser polarizadas com nível lógico 1, na configuração do flip-flop tipo T; c) o sinal de clock do contador deve acionar a entrada clock do primeiro flip-flop.As saídas do primeiro e último flip-flop correspondem, respectivamente, aos bits menos(LSB) e mais (MSB) significativos do contador.A interligação de todas as entradas clear dos flip-flops fornece uma entrada quecorresponde à linha clear (reset) do contador, usada para garantir um estado inicial zero.5.1.1 - CONTADOR BINÁRIOApresenta na saída a seqüência de contagem do código binário. 29
  • 31. Inicialmente, supõem-se as saídas zeradas. Aplica-se um pulso de clock no primeiro flip-flop, cuja mudança de estado na saída ocorrerá na descida do clock. O flip-flop seguintemudará o nível lógico na saída sempre que ocorrer a mudança (descida do clock) de nívellógico no flip-flop anterior. O diagrama de tempo abaixo ilustra melhor a seqüência defuncionamento do contador. Após o 160 pulso de clock, o contador irá reiniciar acontagem. Observa-se que este circuito possui também a característica de divisor defreqüência por 2, 4, 8 e 16 (fn = fck/2n). 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16CkQ0Q1Q2Q3O maior número que um contador pode registrar em sua saída é dado por: (2n – 1), onden é o número de flip-flops do contador.Exemplo: Para uma contagem limite do contador = 3110 = 111112 O número de flip-flops necessários será: 2n – 1 = 31 ⇒ n = 5 flip-flopsObs: A soma dos tempos de transição em cada flip-flop provoca a ocorrência de estadoslógicos falsos, que podem ser indesejáveis quando se têm contadores com muitos flip-flops e alta freqüência do clock.5.1.2 CONTADOR MÓDULO QUALQUERPara o projeto de um contador assíncrono com módulo de contagem qualquer N, bastaverificar quais as saídas do contador para o caso N+1. Estas saídas devem serconectadas a uma porta lógica tipo NÃO-E, cuja saída será remetida para as entradasclear dos flip-flops do contador.Exemplo: Contador de 0-5 - quando as saídas apresentarem Q2Q1Q0 = 110 (2) = 6 (10), um pulso zero será encaminhado às entradas clear, zerando o contador e reiniciando a contagem. 30
  • 32. 5.1.3 - CONTADOR BCD (DÉCADAS)Para contar de 0 a 9: somente quando as saídas apresentarem Q3Q2Q1Q0 = 1010 (2) = 10(10)A lógica auxiliar (porta Não-E) assume nível lógico zero em sua saída, encaminhado atodos os terminais clear , zerando todas as saídas e o contador reinicia a contagem.5.1.4 - CONTADOR BINÁRIO DECRESCENTEO circuito que efetua a contagem decrescente se diferencia da contagem crescenteapenas pela forma de obtenção dos clocks dos flip-flops: a partir das saídascomplementares. Um outro circuito com mesmo resultado pode ser obtido quando assaídas do contador são extraídas das saídas complementares dos flip-flops. O diagramade tempo a seguir demonstra a seqüência de contagem. 31
  • 33. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16CkQ0Q1Q2Q35.1.5 - CONTADOR BINÁRIO CRESCENTE E DECRESCENTEUma superposição de contadores crescente e decrescente resulta num contadorbidirecional, onde uma variável de controle X define se: - contagem crescente ⇒ X = 1 - contagem decrescente ⇒ X = 0Uma outra estrutura pode ser construída usando multiplexadores (TTL 74157) entre osvários estágios do contador que selecionam para a linha clock do próximo estágio a saídaQ ou seu complemento Q do flip-flop.O controle da contagem ascendente ou descente é feito pela entrada de seleção C domultiplex: - Para C = 0 ⇒ a contagem é crescente - Para C = 1 ⇒ a contagem é decrescente 32
  • 34. 5.1.6 CONTADOR ASSÍNCRONO PROGRAMÁVELUm contador digital pode ser programado com um número binário de tamanho igual oumenor que seu módulo. Uma vez definida a programação, pode-se empregar um circuitocomparador que efetua a comparação entre os bits das saídas Q do contador com os bitsprogramados nas entradas A0, A1, A2 e A3. Quando forem iguais, um sinal controla aparada do contador. 33
  • 35. 5.2 CONTADORES SÍNCRONOSUm contador síncrono tem todas as entradas de clock interconectadas, de modo que cadaflip-flop muda de estado lógico ao mesmo tempo.Antes de cada pulso de clock, as entradas devem ser estabelecidas com os níveis lógicosapropriados, assegurando nas saídas os estados lógicos desejados. Isto é, o projeto decontadores síncronos requer a alteração conveniente dos níveis lógicos das entradas J eK dos flip-flops, a cada pulso introduzido no clock.Seguindo tal orientação, pode-se construir uma tabela da transição que estabelece osvalores nas entradas J e K dos flip-flops, obtida a partir das possíveis combinações deestados na saída Q, antes e depois da aplicação do pulso de clock. J K QF Q A QF J K 0 0 QA 0 0 0 X 0 1 0 0 1 1 X 1 0 1 1 0 X 1 1 1 QA 1 1 X 05.2.1 - CONTADOR BINÁRIO (Procedimento de projeto)O procedimento para projeto de um contador síncrono desenvolvido a seguir pode seraplicado a qualquer seqüência desejada.a) Determine o número de bits necessários (número de flip-flops) e a seqüência decontagem desejada.Contagem = 2n – 1, onde: n=número de flip-flopsEx: contagem = 15 = 2n – 1 ⇒ n=4 flip-flops0⇒1⇒2⇒3⇒4⇒5⇒6⇒7⇒8⇒9⇒10⇒11⇒12⇒13⇒14⇒15b) Desenhe o diagrama da transição dos estados possíveis, incluindo aqueles que nãofazem parte da seqüência de contagem desejada. 0000 0001 0010 0011 0100 0101 Os números que na fazem parte da contagem podem ser 1111 orientados para: 0110 a) ir para o início da contagem; b) b) ir para o número imediatamente superior; c) torná-lo irrelevante. 1110 0111 1101 1100 1011 1010 1001 1000 34
  • 36. c) Use o diagrama de transição de estados para construir uma tabela que relacione todosos estados possíveis das saídas do contador. Acrescente colunas para as entradas J e K,indicando seus níveis lógicos necessários para possibilitar as saídas desejadas. Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 0 X 0 X 0 X 1 X 0 0 0 1 0 X 0 X 1 X X 1 0 0 1 0 0 X 0 X X 0 1 X 0 0 1 1 0 X 1 X X 1 X 1 0 1 0 0 0 X X 0 0 X 1 X 0 1 0 1 0 X X 0 1 X X 1 0 1 1 0 0 X X 0 X 0 1 X 0 1 1 1 1 X X 1 X 1 X 1 1 0 0 0 X 0 0 X 0 X 1 X 1 0 0 1 X 0 0 X 1 X X 1 1 0 1 0 X 0 0 X X 0 1 X 1 0 1 1 X 0 1 X X 1 X 1 1 1 0 0 X 0 X 0 0 X 1 X 1 1 0 1 X 0 X 0 1 X X 1 1 1 1 0 X 0 X 0 X 0 1 X 1 1 1 1 X 1 X 1 X 1 X 1d) Obtenha as expressões simplificadas para cada uma das entradas J e K dos flip-flops,utilizando os diagramas de Veitch-Karnaugh. J3 = Q2.Q1.Q0 K3 = Q2.Q1.Q0 J2 = Q1.Q0 K2 = Q1.Q0 J1 = Q0 K1 = Q0 J0 = 1 K0 = 1e) Desenhe o circuito do contador síncrono com 4 flip-flops, utilizando portas lógicasadequadas para as entradas J e K, conforme os resultados obtidos nas expressõeslógicas simplificadas. 35
  • 37. 5.2.2 - CONTADOR BCD (DÉCADAS) Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 0 X 0 X 0 X 1 X 0 0 0 1 0 X 0 X 1 X X 1 0 0 1 0 0 X 0 X X 0 1 X 0 0 1 1 0 X 1 X X 1 X 1 0 1 0 0 0 X X 0 0 X 1 X 0 1 0 1 0 X X 0 1 X X 1 0 1 1 0 0 X X 0 X 0 1 X 0 1 1 1 1 X X 1 X 1 X 1 1 0 0 0 X 0 0 X 0 X 1 X 1 0 0 1 X 1 0 X 0 X X 1 J3 = Q2.Q1.Q0 K3 = Q0 J2 = Q1.Q0 K2 = Q1.Q0 J1 = Q0.Q3 K1 = Q0 J0 = 1 K0 = 15.2.3 - CONTADOR BINÁRIO CRESCENTE/DECRESCENTE DE 3 BITS X Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 0 0 0 0 0 X 0 X 1 X 0 0 0 1 0 X 1 X X 1 0 0 1 0 0 X X 0 1 X 0 0 1 1 1 X X 1 X 1 0 1 0 0 X 0 0 X 1 X 0 1 0 1 X 0 1 X X 1 0 1 1 0 X 0 X 0 1 X 0 1 1 1 X 1 X 1 X 1 1 1 1 1 X 0 X 0 X 1 1 1 1 0 X 0 X 1 1 X 1 1 0 1 X 0 0 X X 1 1 1 0 0 X 1 1 X 1 X 1 0 1 1 0 X X 0 X 1 1 0 1 0 0 X X 1 1 X 1 0 0 1 0 X 0 X X 1 1 0 0 0 1 X 1 X 1 X 36
  • 38. J2 = X.Q1.Q0 + X.Q1.Q0 K2 = X.Q1.Q0 + X.Q1.Q0J1 = X⊕Q0 K1 = X⊕Q0J0 = 1 K0 = 1 37
  • 39. 5.3 - CONTADORES PARA CIRCUITOS TEMPORIZADOS5.3.1 - CONTADOR DE 0 A 59Para contagem de minutos e segundos: ciclo igual a 60.Formas de obtenção:a) um contador assíncrono ou síncrono de contagem 0 a 59.b) dois contadores assíncronos ou síncronos: um para dezena (0 a 5) e outro para unidade (0 a 9)5.3.2 - CONTADOR DE 1 A 12Para contagem de horas: ciclo de 1 a 12.Mais usado é o contador síncrono, pois permite o início da contagem pelo estado 1.5.3.3 - CONTADOR DE 0 A 23Para contagem de horas: ciclo igual a 24.Formas de obtenção:c) um contador assíncrono ou síncrono de contagem 0 a 23.d) dois contadores assíncronos ou síncronos: um para dezena (0 a 2) e outro para unidade (0 a 9) DIAGRAMA DE BLOCOS DE UM RELÓGIO DIGITAL BÁSICO Contador Horas Contador Minutos Contador Segundos Gerador de clock 1 - 12 0 - 59 0 - 59 1 Hz Decodificador Decodificador Decodificador BCD/7 segmentos BCD/7 segmentos BCD/7 segmentos Display - Horas Display - Minutos Display - Segundos 38
  • 40. 5.4 - CONTADORES INTEGRADOS5.4.1 – CONTADOR BCD – TTL 7490Consiste de duas partes distintas: um divisor de freqüência por dois e um divisor porcinco, onde cada divisor possui entrada clock independente. Os divisores podem serinterligados para a obtenção de um divisor por dez, desde que a saída QA seja conectadaexternamente a entrada B. Aplicando o clock na entrada A, o contador assume acontagem BCD e retorna ao estado inicial a cada dez pulsos. A tabela abaixo orientamelhor seu funcionamento. Contador 7490 R0(1) R0(2) R9(1) R9(2) QD QC QB QA 1 1 0 X 0 0 0 0 1 1 X 0 0 0 0 0 X X 1 1 1 0 0 1 X 0 X 0 Contagem 0 X 0 X Contagem 0 X X 0 Contagem X 0 0 X Contagem5.4.2 – CONTADOR-DIVISOR POR 12 – TTL 7492Consiste de duas partes distintas: um divisor de freqüência por dois e um divisor por seis,onde cada divisor possui entrada clock independente. Os divisores podem ser interligadospara a obtenção de um divisor por doze, desde que a saída QA seja conectadaexternamente a entrada B. Aplicando o clock na entrada A, o contador assume acontagem de módulo 12 (0-1-2-3-4-5-8-9-10-11-12-13) e retorna ao estado inicial a cadadoze pulsos. As figuras a seguir ilustram melhor seu funcionamento. 39
  • 41. 5.4.3 – CONTADOR BINÁRIO-DIVISOR POR 16 – TTL 7493Consiste de duas partes distintas: um divisor de freqüência por dois e um divisor por oito,onde cada divisor possui entrada clock independente. Os divisores podem ser interligadospara a obtenção de um divisor por dezesseis, desde que a saída QA seja conectadaexternamente a entrada B. Aplicando o clock na entrada A, o contador assume acontagem binária de 4 bits ou como divisor por 16 e retorna ao estado inicial a cadadezesseis pulsos. As figuras a seguir ilustram melhor seu funcionamento. 40
  • 42. 5.4.4 – CONTADORES CRESCENTE/DECRESCENTE - BCD (TTL 74190) - BINÁRIO (TTL 74191)Os integrados TTL 74190 e 74191 são contadores síncronos reversíveis (up/down) de 4bits. Possuem pinagens compatíveis entre si e se diferenciam por um (74190) apresentarcontagem BCD e outro (74191) apresentar contagem binária.Quando a linha Enable = 1 inibe o circuito para contagem. Esta entrada deve ser alteradaapenas quando o clock estiver em 1.A direção de contagem é definida pela entrada Down/up. Quando em nível 0, o contadorsegue a seqüência crescente. Quando em 1, segue a seqüência decrescente.Os circuitos são completamente programáveis, isto é, as saídas do contador podem sercolocadas em qualquer estado, independente de pulsos de clock. Para isso, coloca-se aentrada Load = 0 e entram-se com os estados desejados nas entradas paralelas de dadosA, B, C e D. Com essa característica é possível o uso desses contadores como divisorespor N, pois é possível alterar o módulo do contador através destas entradas paralelas.Duas saídas são disponíveis para a execução de cascateamento: as saídas Ripple-clocke Max/min. A saída Max/min fornece um pulso positivo quando ocorre um overflow (apóso estado 9 ou 15 na seqüência up) ou underflow (após o estado 0 na seqüência down). Asaída Ripple-clock fornece um pulso negativo quando ocorre um overflow e underflow.O cascateamento pode ser feito se a saída Ripple-clock de um contador for ligada àentrada Enable do contador seguinte (quando as linhas clock estão interligadas) ou àentrada clock (quando as entradas Enable estão interligadas). 41
  • 43. EXERCÍCIOS – CONTADORESCONTADORES ASSÍNCRONOS1. Esquematize o circuito de um contador assíncrono crescente para contagem de horas de 1 a 12.2. Esquematize o circuito de um contador assíncrono decrescente para contagem de minutos de 29 a zero. Q4Q3Q2Q1Q0 = 111012 = 29103. Projete um contador assíncrono crescente de modo a travar (parar) no número 9(10) = 1001(2)4. Dado o circuito do contador assíncrono abaixo, usando flip-flops D, preencha a tabela de transição informando a seqüência de contagem. Q0 Q1 Q2 U1A U1B U2A S S S D Q D Q D Q Ck _ _ _ CP Q CP Q CP Q R R R No Q2 Q1 Q0 0 0 0 05. Projete um contador assíncrono decrescente módulo 12 (11 – 0).6. Projete um contador assíncrono crescente de 0 a 7, com uma lógica auxiliar que possibilite duas condições: a) o travamento (parada) da contagem quando pressionada uma chave de pressão; b) o zeramento do contador quando pressionada uma outra chave de pressão.7. Esquematize o circuito de um contador assíncrono decrescente de 12 a 1 (timer de horas), usando flip-flops JK.8. Esquematize um contador assíncrono para trabalhar como divisor de freqüência por 4. Esboce as formas de onda do clock e das saídas do contador. 42
  • 44. 9. O circuito contador binário de 3 bits abaixo obtido com flip-flops JK ativados na descida do clock, apresenta o seguinte sinal de clock. Desenhe as formas de ondas nas saídas Q. Assuma Q0inicial = 0. Vcc Ck S S S J Q J Q J Q CP _ CP _ CP _ K Q K Q K Q R R RCkQ0Q1Q2 43
  • 45. CONTADORES SÍNCRONOS1. Projete um contador síncrono crescente/decrescente, que gere a seguinte contagem: X=0 ⇒ contagem crescente ⇒ 0-1-2-3 X=1 ⇒ contagem decrescente ⇒ 3-2-1-02. Determine as formas de onda de Q2, Q1 e Q0 para o contador abaixo, em função dos sinais de clock e In aplicados. In Ck Q0 Q1 Q23. Projete um contador síncrono, que gere a contagem da tabela de transição abaixo: Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 1 1 1 1 1 1 44
  • 46. 4. Desenhe as formas de onda nos pontos A e B do contador síncrono abaixo, em funçãodos sinais de clock aplicados. Ck A B5. Determine as formas de onda de Q0, Q1 e Q2 para o contador síncrono abaixo, emfunção dos sinais de Clear e Clock aplicados.ClrCkQ0Q1Q2 45
  • 47. 6. Projete o circuito de um contador síncrono para gerar a seqüência da tabela abaixo. Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 07. Projete um contador síncrono para gerar a seqüência dos números primos: 1-2-3-5-7 46
  • 48. CONTADORES INTEGRADOS1. Interligue os contadores integrados abaixo de modo a formar um de 0-23. Q1 Q0 Q3 Q2 Q1 Q0 Ck 0-2 Ck 0-9 Dezena Unidade Clr Clr2. Interligue os contadores integrados abaixo de modo a formar um de 0-59. Q2 Q1 Q0 Q3 Q2 Q1 Q0 Ck 0-5 Ck 0-9 Dezena Unidade Clr Clr3. Dada a pinagem do contador integrado 7490 abaixo, elabore as devidas interligações, de modo a contar de 0 a 7. 14 13 12 11 10 9 8 Ent.A NC QA QD GND QB QC Contador integrado 7490 Ent.B R0(1) R0(2) NC Vcc R9(1) R9(2) 1 2 3 4 5 6 7 R0(1) R0(2) R9(1) R9(2) QD QC QB QA 1 1 0 X 0 0 0 0 1 1 X 0 0 0 0 0 X X 1 1 1 0 0 1 X 0 X 0 Cont. 0 X 0 X Cont. 0 X X 0 Cont. X 0 0 X Cont. 47
  • 49. 4. Interligue os dois blocos contadores, de modo a formar um sistema contador de 0 a 12. Q0 Q3 Q2 Q1 Q0 Ck 0-1 Ck 0-9 Dezena Unidade Clr Clr5. Interligue os contadores integrados abaixo de modo a formar um de 59-0. Q2 Q1 Q0 Q3 Q2 Q1 Q0 Ck 5-0 Ck 9-0 Dezena Unidade Pr Clr Pr Clr6. Interligue os contadores integrados abaixo de modo a formar um de 23-0. Q1 Q0 Q3 Q2 Q1 Q0 A Data A Ck 2-0 B Ck 9-0 Data B 74190 (Dezena) C 74190 (Unidade) Data C D Data D Load Load 48
  • 50. 7. Desenhe todas as interligações e conexões necessárias nos cis 7490 e 7408, de modo a obter-se um contador crescente de segundos (0-59). 14 13 12 11 10 9 8 Ent.A NC QA QD GND QB QC 7490 (dezena) Vcc 1 14 Ent.B R0(1) R0(2) NC Vcc R9(1) R9(2) 2 13 1 2 3 4 5 6 7 3 12 4 11 7408 14 13 12 11 10 9 8 5 10 Ent.A NC QA QD GND QB QC 6 9 7490 (unidade) 7 GND 8 Ent.B R0(1) R0(2) NC Vcc R9(1) R9(2) 1 2 3 4 5 6 7 R0(1) R0(2) R9(1) R9(2) QD QC QB QA 1 1 0 X 0 0 0 0 1 1 X 0 0 0 0 0 X X 1 1 1 0 0 1 X 0 X 0 Cont. 0 X 0 X Cont. 0 X X 0 Cont. X 0 0 X Cont.PROJETOUma academia de ginástica necessita de um cronômetro progressivo e regressivo paracontagem de tempo dos exercícios físicos, para um tempo de até 1 minuto.Projete o módulo contador de segundos (00⇒59 e 59⇒0), incorporando os seguintesrecursos: a) uma chave para zerar o contador; b) uma chave para travar (parar) o contador em qualquer tempo; c) uma chave para avanço rápido do clock para programação da contagem num determinado tempo. 49
  • 51. EXPERIÊNCIA 3 – CONTADORES ASSÍNCRONOS1. Identifique a pinagem dos circuitos integrados e monte em matriz de contatos os seguintes circuitos digitais: 1.1 - Contador binário crescente de 4 bits (2x7476) 1.2 - Contador binário decrescente de 4 bits (2x7476) 1.3 - Contador BCD crescente de décadas (2x7476, 7420) 1.4 – Contador binário crescente/decrescente (2x7476, 74157) 50
  • 52. 1.5 - Contador assíncrono programável de módulo variável (2x7476, 7485) Q0 Q1 Q2 Q3 1 S S S S Ck J Q J Q J Q J Q CP _ CP _ CP _ CP _ K Q K Q K Q K Q R R R R 74LS85 A3 IA<B A2 IA=B A1 IA>B A0 B3 B2 A<B B1 A=B B0 A>B2. Na seqüência, energize os circuitos e simule, via chaves, os valores possíveis para as entradas;3. Organize e interprete os dados coletados na experimentação. Verifique se os valores encontrados na saída correspondem à análise teórica do circuito;4. Desmonte os circuitos e reponha o equipamento e componentes aos seus lugares;5. Mantenha sempre limpo e organizado o ambiente de experimentação educativa. 51
  • 53. EXPERIÊNCIA 4 - CONTADORES SÍNCRONOS1. Identifique a pinagem dos circuitos integrados e monte em matriz de contatos o seguinte circuito digital: 1.1 - Contador binário crescente de 4 bits (2x7476, 7408) 1.2 - Contador BCD crescente de 4 bits (2x7476, 7408)2. Na seqüência, energize o circuito e simule, via chaves, os valores possíveis para asentradas;3. Organize e interprete os dados coletados na experimentação. Verifique se os valores encontrados na saída correspondem à análise teórica do circuito;4. Desmonte o circuito e reponha o equipamento e componentes aos seus lugares;5. Mantenha sempre limpo e organizado o ambiente de experimentação educativa. 52
  • 54. EXPERIÊNCIA 5 - CONTADORES INTEGRADOS1. Identifique a pinagem dos circuitos integrados e monte em matriz de contatos os seguintes circuitos digitais: 1.1 - Contador BCD 0-9 (7490) 1.2 - Contador/divisor por 12 (7492) 1.3 - Contador binário 0-15 (7493) 53
  • 55. 1.4 - Contador crescente/decrescente BCD 0-9-0 (74190) 1.5 - Contador crescente/decrescente binário 0-15-0 (74191) 1.6 - Contadores em cascata BCD 00-99 (7490 e 74190) Contador dezena Ck Contador unidade 74190 7490 Decodificador BCD Decodificador BCD para display de 7 para display de 7 segmentos segmentos Display Display Dezena Unidade2. Na seqüência, energize os circuitos e simule, via chaves, os valores possíveis para asentradas;3. Organize e interprete os dados coletados na experimentação. Verifique se os valores encontrados na saída correspondem à análise teórica do circuito;4. Desmonte os circuitos e reponha o equipamento e componentes aos seus lugares;5. Mantenha sempre limpo e organizado o ambiente de experimentação educativa. 54
  • 56. 6 MEMÓRIAS SEMICONDUTORAS6.1 INTRODUÇÃOMemórias são dispositivos semicondutores que armazenam informações na forma binária.São informações constituídas de números, letras, caracteres quaisquer, comandos deoperações, endereços, etc. Os bits das informações podem ser acessados, quando noprocedimento de leitura ou gravados/substituídos, quando no procedimento de escrita ouarmazenamento.As memórias semicondutoras são usadas como memória principal (interna) oumemória de trabalho de um computador, pois permanece em comunicação constantecom a unidade central de processamento (CPU) à medida que um programa deinstruções está sendo executado.Uma outra forma de armazenamento no computador é efetuada pela memória auxiliar(externa) ou memória de massa, onde opera com uma velocidade mais baixa que amemória principal e armazena programas e dados que não estão sendo usados a todo omomento pela CPU. Esta memória transfere as informações para a memória principalquando apenas for necessária ou solicitada no processamento.6.2 ESTRUTURA E ORGANIZAÇÃO DA MEMÓRIAUma memória armazena ou acessa as informações digitais em lugares denominadoslocalidades, mediante um endereçamento. Para o acesso a estas localidades, o blocopossui uma série de terminais de entradas de endereços que são ligados a um conjuntode fios denominado barra de endereços (addres bus). Para a entrada e saída dos dados,da mesma forma, o bloco possui uma série de terminais ligados à barra de dados (databus). O bloco ainda possui terminais de controle ligados à barra de controle (controlbus). Barra de endereços MEMÓRIA Barra de NxM dados Barra de controleA barra de dados é bidirecional, isto é, pode ser usada tanto como entrada como parasaída de dados, onde um dos terminais da barra de controle define o sentido.As memórias são especificadas pela notação N x M, onde N indica o número delocalidades de memória (palavras) e M indica o número de bits da informaçãoarmazenada por localidade. O número de bits que constitui uma palavra varia decomputador para computador, estando na faixa de 4 bits até 36 bits, tipicamente. Umadada "pastilha" de memória armazenará um dado número de palavras de tantos bits porpalavra. Por exemplo, uma pastilha de memória popular tem uma capacidade dearmazenamento de 1024 palavras de 4 bits cada, totalizando 4096 bits (4K), que é acapacidade total de memória. 55
  • 57. A organização de uma pastilha de memória é estabelecida como sendo constituída porum grupo de registradores, onde cada registrador armazena uma palavra. A "largura" decada registrador é o número de bits por palavra. O número de registradores é o númerode palavras armazenadas na memória, conforme apresentado na figura a seguir. Valorescomuns para o número de palavras por pastilha são 64, 256, 512, 1024, 2048 e 4096.Todos eles são potências inteiras de 2. Valores comuns para o tamanho da palavra são 1,4 e 8. É possível obter outros tamanhos de palavras, combinando-se diversas pastilhas dememória.O conteúdo de cada registrador está sujeito a duas operações possíveis: leitura e escrita.A leitura é o processo de obter a palavra armazenada no registrador e enviá-la paraalgum outro lugar, onde ela poderá ser usada. O conteúdo do registrador não émodificado pela operação de leitura. Escrita é o processo de colocar uma nova palavraem um registrador particular. É claro que esta operação de escrita destrói a palavra queestava previamente armazenada no registrador. Porém, não são todas as pastilhas dememória que têm a capacidade de ter os seus conteúdos escritos.6.3 PRINCÍPIOS DE OPERAÇÃOApesar das diferenças existentes na implementação de cada um dos tipos de memória,um certo conjunto de princípios básicos de operação permanece o mesmo para todosos sistemas de memória.Cada sistema requer um conjunto de tipos diferentes de entrada e saída para realizar asseguintes funções:a. Selecionar o endereço que está sendo acessado para uma operação de leitura ou escrita;b. Selecionar a operação a ser realizada, leitura ou escrita;c. Fornecer os dados de entrada para a operação de escrita;d. Manter estáveis as informações de saída da memória resultantes de uma operação de leitura, durante um tempo determinado;e. Habilitar (ou desabilitar) a memória, de forma a fazê-la (ou não) responder ao endereço na entrada e ao comando de leitura/escrita. 56
  • 58. A figura abaixo ilustra as funções básicas num diagrama simplificado de uma memória de32 palavras x 4 bits. Para o tamanho da palavra (4 bits) existem 4 linhas de entradas dedados (I3-I2-I1-I0) e 4 linhas de saídas de dados (O3-O2-O1-O0). Durante uma operação deescrita, o dado a ser armazenado na memória deve ser aplicado nas linhas de entrada dedados. Durante uma operação de leitura, a palavra que está sendo lida da memóriaaparece nas linhas de saída de dados.6.4 ESTRUTURAS DE ENDEREÇAMENTOCada registrador ou palavra recebe um número, começando de 0 e continuando até ondefor necessário. Este número especifica, de forma única, a localização do registrador e dapalavra que ele está armazenando, e é chamado de seu endereço. Por exemplo, oendereço 2 refere-se ao registrador 2 ou à palavra 2. Sempre que se quiser referir a umapalavra em particular da memória, usa-se o seu endereço. O endereço de cada palavra éum número importante porque ele é o meio pelo qual um dispositivo externo à pastilha dememória pode selecionar qual a palavra desta que ele deseja acessar para uma operaçãode leitura ou de escrita.Para entender como o endereçamento é utilizado, precisa-se verificar a organizaçãointerna de uma pastilha de memória típica, como mostra a figura abaixo. Este circuitointegrado, em particular, armazena 64 palavras de 4 bits cada (256 bits). Estas palavrastêm endereços variando de 0 a 6310. Para selecionar uma das 64 locações para ler ouescrever, um código binário de endereço é aplicado ao circuito decodificador. Como 26 =64, o decodificador requer um código de entrada de 6 bits. Cada código de endereço ativauma particular saída do decodificador que, por sua vez, habilita o registradorcorrespondente.Por exemplo, suponha um código de endereço de A5 A4 A3 A2 A1 A0 = 011010.Como 0110102 = 2610, a saída 26 do decodificador ficará ALTA, habilitando o registrador26. 57
  • 59. Operação de leituraO código de endereço escolhe um registrador da pastilha de memória para leitura ouescrita. Para ler os conteúdos do registrador selecionado, a entrada LEITURA/ESCRITA(R/W) deverá estar em nível 1. Além disso, a entrada SELEÇÃO DE PASTILHA (CS)deverá estar ativada (em 1, neste caso) . A combinação de R/W = 1 e CS = 1 habilita osamplificadores (buffers) de saída de forma que os conteúdos do registrador selecionadoaparecerão nas quatro saídas de dados. R/W = 1 também desabilita os amplificadores deentrada de modo que as entradas de dados não afetam a memória durante a operação deleitura.Operação de escritaA escrita de uma nova palavra de 4 bits no registrador selecionado requer R/W = 0 e CS =1. Esta combinação habilita os amplificadores de entrada, de modo que a palavra de 4bits aplicada às entradas de dados será carregada no registrador selecionado. R/W = 0também desabilita os amplificadores de saída, de forma que as saídas de dados estão emseu estado de circuito aberto.Seleção da pastilhaA maioria das pastilhas de memória tem uma ou mais entradas SELEÇÃO DE PASTILHA(Chip-Select-CS) que são usadas para habilitar a pastilha inteira ou desabilitá-lacompletamente. No modo desabilitado todas as entradas de dados e as saídas de dadosestarão desabilitadas, de modo que nenhuma operação de leitura, nem de escrita, poderáocorrer. Neste modo, os conteúdos da memória não são afetados. A razão para terentradas CS ficará clara quando combinam-se pastilhas de memória para a obtenção dememórias maiores. Deve ser notado que muitos fabricantes chamam estas entradas deHABILITAÇAO DA PASTILHA (Chip-Enable-CE) em vez de CS.Pinos de entrada/saída comunsPara economizar pinos em um encapsulamento de CI, os fabricantes, freqüentemente,combinam as funções de entrada de dados e de saída de dados usando pinos deentrada/saída comuns. A entrada R/W controla as funções destes pinos de E/S. Duranteuma operação de leitura, os pinos de E/S agem como saídas de dados que reproduzem o 58
  • 60. conteúdo da locação selecionada pelo endereço. Durante uma operação de escrita, ospinos de E/S agem como entradas de dados. Com pinos separados de entrada e desaída, requer-se um total de 18 pinos (incluindo terra e fonte de alimentação). Com quatropinos comuns de E/S, são necessários apenas 14 pinos. A economia de pinos torna-seainda mais significativa em pastilhas com tamanho de palavra anterior.ExemploQuantos pinos seriam necessários para uma pastilha de memória que armazena 256palavras de 8 bits e tem linhas comuns de E/S?Solução: Há 256 locações endereçáveis, isto é, 28 = 256. Portanto, são necessárias 8entradas de endereço para selecionar qualquer endereço entre 00000000 e 11111111(25510). Há oito linhas de E/S, já que o tamanho da palavra é 8 bits. Acrescentando umalinha R/W, uma linha CS, alimentação e terra, resulta um total de 20 pinos.6.5 CLASSIFICAÇÃO DAS MEMÓRIASAs memórias podem ser classificadas segundo os itens abaixo.6.5.1 – Quanto à forma de acessoAs formas de acesso a uma locação de memória podem ser do tipo aleatório ouseqüencial.No acesso aleatório, qualquer locação pode ser acessada aleatoriamente, isto é, pode serlida diretamente sem a necessidade da leitura das demais locações. Possui a vantagemde ter um tempo de acesso pequeno e igual para qualquer uma das localidades damemória.No acesso seqüencial, a locação não pode ser feita diretamente. Assim, várias locaçõesda memória são acessadas até a informação desejada. O tempo de acesso depende daposição onde a informação está armazenada.6.5.2 – Quanto à volatilidadeAs memórias voláteis são aquelas que, ao interromper a alimentação, perdem asinformações armazenadas. Exemplo: memórias RAM.As memórias não voláteis são aquelas que, mesmo sem alimentação, continuam com asinformações armazenadas. Exemplo: memórias ROM, PROM, EPROM. 59
  • 61. 6.5.3 – Quanto ao tipo de armazenamentoAs memórias de armazenamento estático são aquelas em que, uma vez inserido o dadonuma dada localidade, este lá permanece. Têm a vantagem da facilidade de utilização.As memórias de armazenamento dinâmico são aquelas em que se necessita inserir ainformação em intervalos de tempo repetidos, a fim de evitar que as mesmas sejamperdidas.6.5.4 - Quanto à capacidade de armazenamentoA capacidade de armazenamento está relacionada com o número total de bits ou palavrasque a memória pode armazenar. Por exemplo, uma memória de 1.024 x 8 corresponde auma capacidade de 1.024 palavras, cada uma com 8 bits, totalizando 8.192 bits.6.5.5 – Quanto à tecnologiaAs memórias são construídas com tecnologia do tipo semicondutor bipolar, semicondutorde óxido metálico (MOS) ou semicondutor de óxido complementar (CMOS).As memórias do tipo bipolares são encontradas nos circuitos TTL padrão, Schottky e ECL.As memórias do tipo MOS de canal N são as mais usadas por apresentarem grandedensidade e baixo custo. As memórias CMOS são mais lentas do que as NMOS ebipolares, contudo, são de menor consumo e maior imunidade ao ruído.6.5.6 – Quanto ao tipo de saídaAs saídas das memórias podem ser de três tipos: totem-pole, open collector ou three-state. As memórias three-state são as mais usadas por permitirem a criação de bancos dememória, de forma mais eficiente.Saída totem-pole: Possui em sua estrutura interna um transistor conectado ao +Vcc,permitindo alimentar cargas capacitivas. Os transistores de saída estabelecem umaimpedância baixa na saída, possibilitando um rápido chaveamento dos níveis lógicos.Saída open collector (coletor aberto): Não possui um resistor ligando o coletor de saídado transistor ao +Vcc, devendo ser ligado externamente (resistor pull-up). Esta saídapossibilita o controle externo da corrente do coletor de saída, possibilitando o aumento dofan-out, além de poder habilitar saídas diferentes interligadas entre si, podendo assumirníveis lógicos opostos sem danos. A desvantagem é sua baixa velocidade dechaveamento dos níveis lógicos.Saída three-state: Configuração que apresenta uma alta impedância de saída (terceiroestado), em relação à linha na qual está conectada. Funciona como se o dispositivoestivesse desligado. Assim, permite interligar várias saídas em uma mesma linha dedados, fornecendo nível lógico alto ou baixo, sem danificar outros circuitos. 60
  • 62. 6.6 TIPOS DE MEMÓRIASAs memórias são basicamente de dois tipos: RAM e ROM. As memórias RAM são deescrita/leitura e permitem acesso a uma localidade qualquer para escrever a informaçãodesejada, bem como permite o acesso para a leitura do dado armazenado. As memóriasROM são apenas de leitura e contêm uma informação pré-gravada e fixa, portanto,permitindo apenas a sua leitura.6.6.1 MEMÓRIAS ROMAs memórias ROM (Read Only Memory – Memória Apenas de Leitura) permitem somentea leitura dos dados nela gravados. Possuem acesso aleatório e não são voláteis, isto é,não perdem seus dados armazenados quando a fonte de alimentação é desligada.Sua grande aplicação é no armazenamento de sistemas operacionais de computadores eoutros sistemas digitais, em circuitos de geração de caracteres, na construção de circuitoscombinacionais.A figura abaixo apresenta o bloco representativo de uma memória ROM, com terminais ebarramentos. O terminal de controle CS (Chip Select) refere-se à habilitação ou seleçãoda pastilha, ou seja, é uma entrada de nível lógico que, quando em 0, ativa ou habilita assaídas para fornecer os dados armazenados ou para serem lidos, conforme oendereçamento estabelecido. Se o terminal de controle estiver em 1, as saídas estarãodesabilitadas, assumindo estados de alta impedância (tri-state), liberando a barra dedados para uso por outros dispositivos presentes num sistema controlado pormicroprocessador. A escolha do nível lógico 0 para habilitação é por razão emproporcionar maior imunidade ao ruído. Com nível lógico 1, haveria maior suscetibilidadepara o acionamento dos blocos dentro do sistema diante de um transiente indesejável. CS Barra de MEMÓRIA Barra de endereços ROM dadosA arquitetura básica de uma ROM genérica é apresentada em blocos abaixo, com osrespectivos terminais e barramentos de entrada e saída. A0 A1 DECODIFICADOR MATRIZ DE ...................... DE ENDEREÇOS DADOS AN+1 CHAVES DE SAÍDA CS D0 D1 D2 DM+1 61
  • 63. O decodificador de endereços (multiplexador) ativa uma saída de cada vez em função doendereçamento. A matriz de dados (arranjo de linhas e colunas) possibilita a gravaçãodos dados pelo fabricante e conseqüente leitura pelo usuário. Para a saída dos dados, amemória possui um conjunto de chaves lógicas (buffers) que, conforme a habilitaçãoatravés do terminal CS , possibilita a conexão das saídas (em nível 0) ou imprime altaimpedância (em nível 1) desconectando as saídas de dados do sistema.Exemplo 1Para evidenciar a estrutura interna dos blocos e explicar seu funcionamento, seráconstruída uma memória ROM de 4 palavras de 8 bits, cujo conteúdo dos dados émostrado na tabela abaixo. ENDEREÇO DADOS A1 A0 HEX D7 D6 D5 D4 D3 D2 D1 D0 0 0 1 E 0 0 0 1 1 1 1 0 0 1 8 A 1 0 0 0 1 0 1 0 1 0 0 D 0 0 0 0 1 1 0 1 1 1 7 6 0 1 1 1 0 1 1 0O circuito a seguir apresenta o codificador de endereços constituído de portas lógicasinversora e E, a matriz de dados formada por diodos semicondutores e as chaves desaídas constituídas por buffers ativos com zero.A matriz de dados formada por um conjunto de diodos constitui a célula da memória,definindo uma série de portas lógicas OU, de modo que a presença do diodo emdeterminada localidade estabelece nível lógico 1 e, a sua ausência, o nível lógico 0.Para analisar um dado de saída específico, será endereçado A1A0 = 00 e aplicado àentrada de controle CS = 0, ativando o conjunto de buffers. Neste endereço, apenas o fiode saída da primeira porta lógica E é ativado com 1 pelo decodificador, provocando acondução de corrente dos respectivos diodos através dos resistores R ao terra do circuito.Devido a estas conduções, os resistores apresentarão quedas de tensão que serãotranspostas pelos fios até as saídas D4, D3, D2 e D1, resultando no dado 00011110(2) =1E(16). Portanto, as saídas apresentam nível lógico 1 onde houver diodos conectados namatriz e nível lógico 0 na ausência de diodos. 62
  • 64. Na tecnologia de fabricação da matriz de dados, também são utilizados outros elementossemicondutores, tais como transistores bipolares ou transistores de efeito de campo(MOS-FET). O processo de programação é facilitado pelo uso de um gabarito fotográficodas ligações elétricas chamado máscara, donde provêm as memórias denominadasMROM programadas por Máscara.As memórias ROM são produzidas com programações determinadas e sob encomenda,em grande quantidade e normalmente para clientes específicos e/ou fabricantes deequipamentos. Para o pequeno usuário, a solução é o uso das ROMs programáveis.Exemplo 2Uma ROM de 16 palavras com 8 bits foi programada com os dados mostrados na tabela aseguir, na sua forma binária e em hexadecimal. Suponha a leitura dos dadosarmazenados na posição cujas entradas de endereços são A3A2A1A0 = 0111 e habilitandoas saídas com a entrada de controle CS = 0. As entradas de endereços serão codificadasno interior da ROM para selecionar a palavra correta, ou seja, as saídasD7D6D5D4D3D2D1D0 = 11101101. Se a entrada CS = 1, as saídas da memória ROM nãoestarão habilitadas e ficarão em alta impedância. CS D7 A3 D6 D5 A2 Memória ROM D4 A1 16 x 8 D3 D2 A0 D1 D0 63
  • 65. 6.6.1.1 MEMÓRIAS PROMAs memórias PROM (Programmable Read-Only Memory) permitem o armazenamentodos dados pelo próprio usuário. Com a programação, a PROM transforma-se em definitivonuma memória ROM.O princípio básico de programação numa PROM é a destruição de pequenas ligaçõessemicondutoras existentes (diodo ou fusível em série com diodo) internamente naslocalidades onde se quer armazenar a palavra de dados, através de um nível de tensãoconvenientemente especificado pelo fabricante e conforme o endereçamento realizado.Este roteiro é fornecido pelo fabricante através de manuais ou através de kits apropriadospara realizar os procedimentos conforme o tipo de pastilha, com maior eficiência erapidez.6.6.1.2 MEMÓRIAS EPROMAs memórias EPROM (Erasable Programmable Read-Only Memory) permitem programare apagar dados, mediante banho de luz ultravioleta, efetuado através da exposição dapastilha por uma janela existente em seu encapsulamento e, ainda, seremreprogramadas. São também conhecidas como UVPROM (Ultraviolet PROM).É um dispositivo com arquitetura similar às memórias PROM, do tipo MOS, onde agravação é feita através de circuitos eletrônicos especiais e o apagamento do conjuntointeiro das informações armazenadas é feito através da aplicação de raios ultravioleta emuma janela de quartzo localizada numa das faces do chip, durante um intervalo de tempoentre 10 a 30 minutos. Após o apagamento, todas as localidades assumem níveis lógicos1, podendo o processo de regravação e apagamento se repetir por inúmeras vezes. Umafita adesiva opaca deve ser colocada sobre a janela após a reprogramação para evitarque ela seja acidentalmente apagada pela luz ambiente.O desenho a seguir mostra o bloco de uma memória EPROM de 2K x 8 bits, com arespectiva terminologia e função dos terminais dos barramentos. Para a capacidade destamemória, o acesso às localidades é efetuado por 11 fios (211 = 2.048 = 2K) e 8 fios para abarra de dados. +Vcc CE Memória D7 A10 EPROM D6 ..... 2K x 8 D5 A0 D4 OE D3 D2 PGM D1 2716 D0 Vpp A0 - A10 ⇒ barra de endereços OE ⇒ habilitação da saída (Output Enable) D0 – D7 ⇒ barra de dados PGM ⇒ habilitação da programação (Program) CE ⇒ habilitação da pastilha (Chip Vpp ⇒ tensão de programação (Program Supply Enable) Voltage) 64
  • 66. Quando CE =0, ativa o bloco e quando CE =1, o bloco permanece desativado na situaçãode baixo consumo de potência (stand-by). A entrada de controle OE =0 habilita obarramento de saída.A programação é efetuada pelo terminal Vpp com uma tensão típica maior que Vcc, dahabilitação de programação PGM =0, do endereçamento e da aplicação das respectivaspalavras de dados ao bloco, seqüencialmente, possibilitarão o armazenamento dasinformações.6.6.1.3 MEMÓRIAS EEPROMAs memórias EEPROM ou E2PROM (Electrically Erasable Programmable Read-OnlyMemory) permitem o apagamento dos dados eletricamente, além de possibilitar esta açãoisoladamente por palavra de dados, sem necessidade de reprogramação total. Asalterações de programação podem ser efetuadas pelo próprio sistema onde a memóriaestiver inserida, sem necessidade de sua desconexão do soquete. Apesar desta memóriaser acessível para escrita e leitura, a mesma faz parte das memórias PROM. O blocoabaixo representa uma EEPROM de 8K x 8. +Vcc CE I/O7 A12 I/O6 ..... Memória I/O5 A0 EEPROM 8K x 8 I/O4 OE I/O3 I/O2 WE I/O1 2864 I/O0O acesso das localidades desta memória é estabelecido através de 13 entradas deendereço (213 = 8.192 = 8k) e oito pinos de entrada/saída de dados. A barra de dados I/Oé bidirecional por possibilitar a escrita e a leitura.A escrita de uma palavra de dados é obtida através do endereçamento e respectivaaplicação da palavra nos terminais da barra de dados, isto é, com o terminal OE =1 e o dehabilitação da escrita WE =0, dentro de um ciclo de tempo mínimo especificado pelofabricante (normalmente 10 ms).6.6.1.4 CD ROMOs CDs (compact disks) são fabricados com uma superfície altamente reflexiva, onde searmazena os dados através de um feixe laser bastante intenso e focalizado sobre umponto muito pequeno no disco. Esse feixe provoca uma depressão que é capaz deprovocar a difração da luz nesse ponto da superfície. Assim, os dados digitais (1s e 0s)são armazenados no disco, um bit por vez, fazendo ou não essa depressão no materialreflexivo, sendo a gravação organizada em uma espiral contínua de pontos de dados. Aprecisão do feixe laser permite que grande quantidade de dados (maior que 550 Mbytes)seja armazenada num disco de 120 mm. 65
  • 67. Para a leitura, um feixe laser bem menos potente é focalizado na superfície do disco,onde em qualquer ponto, a luz refletida é expressa como níveis lógicos 1 ou 0. Essearranjo ótico é montado num mecanismo de transporte que se move para frente/trás aolongo do raio do disco, seguindo a espiral de dados à medida que o disco é rotacionado.Os dados recebidos do sistema ótico vêm uma linha serial de dados, numa taxa constantede bits com rotação do disco controlada. Se o disco é para reprodução de áudio, a linhade dados é convertida em formato analógico. Se o disco é usado como memória deleitura, os dados são codificados em bytes paralelos para serem processados num outrocircuito digital.6.6.1.5 MEMÓRIAS FLASHAs memórias flash recebem esta denominação por possuírem tempos curtos deapagamento e escrita. A maioria destas memórias efetua o apagamento em bloco e duraem torno de centenas de ms. Entretanto, também são encontradas memórias maisrecentes que oferecem o modo de apagamento por setor.A tabela abaixo mostra as vantagens e desvantagens dos vários tipos de memóriassemicondutoras não-voláteis. À medida que aumenta a flexibilidade para apagar eprogramar, também aumentam a complexidade e o custo do dispositivo. MEMÓRIA CARACTERÍSTICAS Complexidade e custo EEPROM Pode ser apagada eletricamente, no circuito, byte a byte. FLASH Pode ser apagada eletricamente, no circuito, por setor ou do dispositivo todo de uma vez. EPROM Pode ser apagada toda de uma vez com luz UV e apagada e reprogramada fora do circuito. PROM Não pode ser apagada nem reprogramada. MROM6.6.1.6 APLICAÇÕES DE MEMÓRIAS ROM- Firmware – armazenamento de programas ou dados que devem estar disponíveis no processo de inicialização de sistemas microprocessados. Por exemplo, produtos como videocassetes, CD players, fornos microondas etc.- Memória de Bootstrap – tipo de programa armazenado em uma ROM que trata da inicialização do hardware de um computador. Após a inicialização, o programa de bootstrap chama o sistema operacional e o computador começa a executar o sistema operacional.- Tabela de Dados – as ROMs são bastante utilizadas para armazenar tabelas de dados que não variam. Por exemplo, tabela trigonométricas, códigos ASCII, etc.- Conversor de Códigos – este tipo de aplicação toma valores expressos em um determinado tipo de código e produz uma saída expressa em outro código. Por exemplo, o código BCD pode ser convertido para 7 segmentos por uma ROM.- Gerador de Funções – basicamente, um gerador de funções é um circuito que produz formas de onda senóides, triangulares e quadradas. Uma ROM com tabelas de valores armazenados e um conversor D/A podem ser usados para gerar essas formas de onda.- Armazenamento Auxiliar – dados podem ser armazenados em memórias ROM apagáveis (EPROM, EEPROM, FLASH), tornando essas memórias como alternativa aos discos magnéticos de armazenamento. 66
  • 68. 6.6.2 MEMÓRIAS RAMAs memórias RAM (Random Access Memory – Memória de Acesso Aleatório) são do tipovolátil e permitem o acesso aleatório ou randômico (para escrita ou leitura) a qualqueruma das suas locações. São usadas para armazenar temporariamente os programas edados correntes em computadores. Os conteúdos das posições de uma RAM podem serlidos e escritos à medida que um computador executa um programa.A principal desvantagem de uma RAM é o fato de a mesma ser volátil, isto é, ela vaiperder a informação armazenada se a alimentação for desligada ou interrompida. Poroutro lado, tem como vantagem, um tempo de acesso muito reduzido.Quanto ao armazenamento, as memórias RAM são classificadas em estáticas (SRAM -Static Ram) e dinâmicas (DRAM – Dynamic RAM). As estáticas utilizam como célulabásica o flip-flop e outros componentes digitais. As dinâmicas possuem circuitos maissimples, porém, necessitando periodicamente de reinserção de dados em ciclo, uma açãodenominada refresh controlada pelo microprocessador do sistema. A RAM dinâmicaarmazena cada dado por efeito capacitivo do pequeno semicondutor formadointernamente, apresentando a vantagem de alta capacidade de armazenamento porcircuito integrado.A figura abaixo apresenta o bloco representativo de uma memória RAM estática, comterminais de entrada de controle CS , terminal de controle R/ W de dupla função, parapossibilitar a leitura=1 ou escrita=0. CS Barra de MEMÓRIA Barra de endereços RAM dados R/ WO circuito abaixo apresenta a célula básica de uma RAM estática que permite a escrita ea leitura de 1 bit de informação. Para efetuar a escrita, deve-se selecionar a célulaespecífica com o terminal SEL=1 e o terminal de controle de leitura/escrita R/ W =0. Emseguida, aplica-se o dado a ser gravado (1) no terminal D, configurado como entrada.Com todos os níveis lógicos estabelecidos, a célula básica estará configurada para aescrita, pois com 0 na porta Não-E superior irá ativar os dois buffers (substituídos por 67
  • 69. chaves equivalentes), possibilitando que o dado possa ser aplicado ao flip-flop earmazenado em sua saída. Ao mesmo tempo, com 1 na outra porta Não-E inferior, irádesativar o buffer de saída, permitindo apenas a escrita ou a entrada do dado.Para efetuar a leitura, deve-se selecionar SEL=1 e passar o controle R/ W =1, onde odado armazenado será agora obtido no terminal D, configurado como saída. Com 1 naporta Não-E superior, irá desativar os buffers, impedindo a escrita de um novo dado. Asentradas em aberto dos flip-flop assumem 1, fazendo com que suas saídas mantenhamseus níveis lógicos. Enquanto isso, com 0 na porta Não-E inferior, irá ativar o buffer nasaída do flip-flop, possibilitando a sua leitura no terminal D. Se a célula for selecionada(SEL=0), as duas portas Não-E apresentarão 1 em suas saídas, mantendo os buffersdesativados (estado tri-state), impedindo tanto a escrita como a leitura. 68
  • 70. 6.6.2.1 – ARQUITETURA INTERNA DE UMA RAMAtravés da célula básica padrão analisada anteriormente, pode-se construir arquiteturasde memórias RAM estáticas no formato N x M, conforme exemplo abaixo, uma memóriacom estrutura de 4 localidades com 4 bits. CS A0 D0 D1 A1 RAM 4x4 D2 R/ W D3O circuito é constituído de um decodificador de 2 canais, responsável peloendereçamento de cada localidade através de A1 e A0, no conjunto formado por 4 célulasinterligadas horizontalmente. Os terminais de dados D estão interligados, verticalmente,cujo posicionamento do bit na palavra de dados é efetuado através da entrada de controle CS . Para completar, todas as entradas R/ W estão interligadas para propiciar o controlesimultâneo da escrita/leitura em todas as localidades.Como exemplo, será efetuado o armazenamento (escrita) do dado 516 (01012) nalocalidade 116, endereçada por 012. A seleção da pastilha é efetuada com CS =0 e oendereçamento da localidade com A1=0 e A0=1, definindo a habilitação da segunda portaE e sua respectiva saída em 1 que selecionará todas as células básicas através dasentradas SEL. Através do controle R/ W =0, os dados (01012) são aplicados nos terminaisD3, D2, D1 e D0 e armazenados nas respectivas células.Para a leitura da informação, deve-se selecionar a pastilha com CS =0, R/ W =1, eendereçar a localidade, obtendo-se os dados armazenados nas células através dosterminais D. A informação só será perdida quando desligar a alimentação. 69
  • 71. 6.6.2.2 EXPANSÃO DA CAPACIDADE DE UMA MEMÓRIA RAMA expansão da capacidade de uma memória pode ser efetuada pela palavra de dados,pelo aumento de localidade ou por ambos. O primeiro exemplo ao lado consiste de uma expansão por palavra de dados, onde mostra a obtenção de uma memória de 256x8, obtida pela expansão de dois blocos de memória de 256x4. Os terminais de endereçamento A7 a A0, de seleção da pastilha CS e de controle de escrita/leitura R/ W são interligados, pois as operações são comuns aos dois blocos. A barra de dados D7 a D0 é composta pela associação da barra de dados de cada bloco, resultando numa palavra de 8 bits. O segundo exemplo consiste de uma expansão por localidades de memórias, mostrando a formação de uma memória RAM 128x4, obtida a partir de blocos de memórias 32x4. O endereçamento é efetuado pelos terminais A6 a A0, constituídos dos 5 terminais de cada bloco de memória mais 2 terminais auxiliares, onde farão a seleção de cada bloco em seqüência, através das entradas CS . Os terminais de dados D3 a D0, bem como os terminais de escrita/leitura R/ W são apenas interligados. 70
  • 72. Uma última possibilidade de expansão de memória consiste na ampliação de palavra dedados e também do número de localidades. O processo é obtido através da conjugaçãodas duas outras abordadas, onde se aumenta o número de localidades usando o circuitoseletivo e associa-se um outro sistema semelhante para compor a nova palavra de dados.Como exemplo de expansão de memórias na área de microcomputadores, cita-se adisponibilização de slots (série de conectores) para receber novos módulos removíveisdenominados pentes de memórias, possibilitando de forma fácil e prática aexpansibilidade do sistema.6.6.2.3 OUTROS TIPOS DE MEMÓRIAS RAMTecnologia da RAM Dinâmica usada em Computadores Os tipos de DRAM existentes variam em função da capacidade, velocidade,consumo, custo e versatilidade:- SIMM (Single-In-line Memory Module) e DIMM (Dual-In-line Memory Module) – são módulos de memória que permitem uma instalação rápida e são padrões de diversos tipos de DRAMs. Os módulos SIMM e DIMM definem apenas como a DRAM é “empacotada”.- DRAM FPM (Fast Page module) – permite acesso mais rápido a qualquer posição de memória dentro da “página” corrente. Normalmente, a maioria dos dados gravados na memória são seqüenciais. Nesse tipo de DRAM, o endereço da linha (RAS) é enviado uma vez e o endereço da coluna (CAS) é incrementado.- DRAM EDO (Extended data output) – é uma melhoria em relação às FPM. Os dados são colocados na saída e a DRAM EDO já pode decodificar o próximo endereço sem que esses dados tenham sido lidos;- DRAM BEDO (Burst EDO) – Possui uma arquitetura que permite alcançar alta velocidade ao se acessar dados seqüenciais;- SDRAM (Synchronous DRAM) – são organizadas em dois bancos que são acessados alternadamente utilizando um sinal de clock sincronizado com a CPU. Desse modo essas memórias alcançam altas taxas de transferências.Memórias com Funções Especiais- Armazenamento de Dados com o Sistema Desligado – muitos equipamentos armazenam seus dados em memórias RAM alimentadas com baterias de reserva (NVRAM – RAM não-volátil);- Memória Cache – tipo de memória de alta velocidade e baixa capacidade de armazenamento que interage diretamente com a CPU. Na cache estão contidos os dados mais requisitados pelo processador e isso evita um acesso desnecessário na RAM.- Memória FIFO (First-In, First-Out) – também conhecidas como buffers para armazenamento temporário. Por exemplo, os dados são transferidos em altas taxas do PC para a impressora. Como a impressão é mais lenta que a transferência, esses dados devem ser armazenados em FIFOs e daí podem ser impressos. 71
  • 73. EXERCÍCIOS1. Mostrar a forma de onda da saída da memória ROM com conversor D/A da figuraabaixo: Endereço (Hex) Conteúdo (Hex) 0 80 1 42 2 ED 3 01 4 F3 5 39 6 8C 7 B5 8 1A 9 FF A 09 B D2 C 6A D 57 E E0 F 042. Determine o mapeamento de uma memória PROM para atuar como gerador decaracteres para hexadecimal, isto é, a partir de um código binário, forneça os níveis parafazer um display de 7 segmentos – catodo comum apresentar a seqüência do sistemahexadecimal. Especifique a memória e determine sua capacidade.3. Determine o mapeamento de uma memória EPROM para, através do sistema geradorde funções esquematizado, gerar a função digitalizada vista abaixo. Calcule a freqüênciado clock do contador. 72
  • 74. 4. Determine a capacidade de memória e a palavra de endereço inicial e final (emhexadecimal) para cada memória especificada a seguir: a) ROM 512X4 b) EPROM 4Kx8 c) RAM 128Kx8 d) RAM 2Mx165. Implemente um circuito equivalente a uma memória RAM de 64 x 8 bits, usandomemórias RAM de 64 x 4 bits. Determine a capacidade e o endereçamento inicial e final. 73
  • 75. EXPERIÊNCIA 6 - MEMÓRIAS1. Efetuar a montagem e posterior gravação de uma memória RAM de 16 palavras de 4bits = 64 bits (TTL 74189), utilizando um contador binário para o endereçamento daslocalidades de dados. Vcc AD-B AD-C AD-D DI-4 DO -4 DI-3 DO -3 16 15 14 13 12 11 10 9 74189 Memória RAM de 64 bits 1 2 3 4 5 6 7 8 AD-A S W DI-1 DO -1 DI-2 DO -2 GND DI-N ⇒ Entradas de dados S ⇒ Entrada de controle DO -N ⇒ Saídas de dados W ⇒ Controle de Leitura/Escrita AD–N ⇒ Seleção de dados Modo de operação Entradas Saídas S W DO -N Escrita 0 0 Complementa dados das entradas Leitura 0 1 Complementa palavra armazenada Inibição/Escrita 1 0 Complementa dados das entradas Nada 1 1 Nível 1 14 10 ent.A (ck) GND 7493 – Contador Binário ent.B Ro(1) Ro(2) Vcc QD QC QB QA 1 2 3 5 11 8 9 12 Saídas para leds 16 13 14 15 1 11 9 7 5 Vcc AD-D AD-C AD-B AD-A DO -4 DO -3 DO -2 DO -1 74189 – Memória RAM de 64 bits DI-4 DI-3 DI-2 DI-1 S W GND 12 10 6 4 2 3 8 Entradas com chaves 74
  • 76. Como os dados lidos correspondem ao complemento dos dados armazenados, deve-se: - armazenar o complemento da informação ou; - colocar inversores nas saídas das memórias.SEQÜÊNCIA DE OPERAÇÃO a) zerar o contador com R0(1) e R0(2) = 1 e retomar para zero; b) disponibilizar os dados nas entradas; c) trocar S de 1 para 0; d) armazenar dados nas entradas através de W passando de 1 para 0; e) retornar W de 0 para 1 para inibir nova escrita; f) enviar um pulso de clock para novo endereçamento; g) repetir os procedimentos anteriores para cada conjunto de dados a serem armazenados; h) concluída a gravação, efetuar a leitura através de S =0 e W =1, usando o clock interno do equipamento. 75
  • 77. 2. Efetuar a montagem e posterior gravação de uma memória RAM de 1024 palavras de 4bits = 4K (2114), utilizando um contador binário para o endereçamento das localidades dedados. Gravar nas entradas I/O: 0⇒15⇒0, com endereçamento 00000 ⇒ 11111. Após,ler os dados gravados nas saídas I/O. Vcc A7 A8 A9 I/O1 I/O2 I/O3 I/O4 WE 18 17 16 15 14 13 12 11 10 2114 Memória RAM de 1024x4 = 4K 1 2 3 4 5 6 7 8 9 A6 A5 A4 A3 A0 A1 A2 CS GND AN ⇒ Seleção de dados CS ⇒ Entrada de controle I/ON ⇒ Entradas e Saídas de dados WE ⇒ Controle de Leitura/Escrita Modo de operação Entradas CS WE Escrita 0 0 Leitura 0 1 Tri-state 1 X 14 10 ent.A (ck) GND 7493 – Contador Binário ent.B Ro(1) Ro(2) Vcc QD QC QB QA 1 2 3 5 11 8 9 12 18 15 16 17 1 2 3 4 7 6 5 Vcc A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 2114 – Memória RAM de 4K CS WE I/O4 I/O3 I/O2 I/O1 GND 8 10 11 12 13 14 9 Entradas com chaves (Saídas para leds) 76
  • 78. Seqüência de operação para gravação e posterior leitura a) zerar o contador com R0(1)=1 e R0(2)=1 e, após, retomar ambos para zero; b) habilitar a memória com CS =0; c) gravar os dados: c.1 – disponibilizar os dados nas entradas I/O; c.2 – habilitar para escrita mudando WE =1 para WE =0; c.3 – retornar de WE =0 para WE =1; c.4 – aplicar um pulso de clock manual; d) repetir os procedimentos do item anterior para cada conjunto de dados a serem gravados; e) concluída a gravação, não desligue a alimentação, desconectar as entradas das chaves e ligar aos leds. Efetuar a leitura através de CS =0 e WE =1, usando o clock automático interno do módulo digital. Vs A T t 77
  • 79. 3. Efetuar a gravação de uma memória EPROM de 2Kx8=16K (2716), utilizando ogravador de EPROM da Macsym. Gravar os dados 0⇒15⇒0, cuja seleção correspondeaos 32 primeiros endereços 000002 (0016)⇒ 111112 (2016).Posteriormente, efetuar a montagem utilizando um contador binário para oendereçamento das localidades de dados. Por último, ler os dados gravados nas saídasnos leds do módulo didático ou em osciloscópio através de um conversor D/A. Vcc A8 A9 VPP OE A10 CE D7 D6 D5 D4 D3 24 23 22 21 20 19 18 17 16 15 14 13 2716 Memória EPROM de 2Kx8 = 16K 1 2 3 4 5 6 7 8 9 10 11 12 A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 GND A0-A7 ⇒ Endereços D0-D7 ⇒ Saídas de dados CE ⇒ Habilitação do ci VPP ⇒ Tensão de programação +25V OE ⇒ Habilitação da saída Modo de operação Entradas Saídas CE OE VPP D0-D7 Leitura 0 0 +5V D Stand by 1 X +5V Alto Z Programação 1 +25V Q Verifica programa 0 0 +25V D Inibe programa 0 1 +25V Alto Z4. Deseja-se obter uma senóide digitalizada, a partir da expressão: f(x) = 255/2.(1+sen x).Monte uma tabela no editor Excel simulando valores entre 0 e 2π. Com os resultadosobtidos, copie-os num arquivo com extensão “tex” e, em seguida, utilize um arquivo(Txt2bin) para converter os dados em decimal para binário. Por último, os dados serãogravados na memória EPROM de 2Kx8=16K (2716), utilizando o gravador de EPROM daMacsym. Quantos endereços (em hexadecimal) são necessários para gravar todos osdados da senóide?Após a gravação, efetuar a montagem utilizando um contador binário para oendereçamento das localidades de dados. Por último, ler os dados gravados nas saídasem osciloscópio através de um conversor D/A.x = 2π/255 78
  • 80. 7 MÁQUINAS DE ESTADOSAs máquinas de estados, também designadas por máquinas seqüenciais síncronas oucircuitos seqüenciais síncronos, utilizam células de memória síncronas que definem, emqualquer instante, o estado do sistema.7.1 MODELO GERALEm qualquer circuito seqüencial síncrono, é identificável:- uma unidade de memória, constituída por um número finito de células de memória queimplementam a função de memória do sistema;- um decodificador de saída, constituído por um circuito combinacional responsável pelaimplementação das saídas do sistema;- um decodificador de estado seguinte, também designado por decodificador de entrada,constituído por um circuito combinacional que gera as entradas da unidade de memória.Variáveis do modelo geralVariáveis de entradaVariáveis de excitação = saídas do decodificador de estado seguinte = entradas dascélulas de memória síncronas (estado seguinte) = f(Variáveis de entrada, Variáveis deestado)Variáveis de estado = saídas das células de memória síncronas (estado presente)Variáveis de saída = saídas do decodificador de saídaMáquina de estados finitosCircuito seqüencial síncrono, constituído por um número finito de células de memória quereagem à mesma vertente do sinal de relógio (CLK) comum a todas as células.Máquina de MealyVariáveis de saída = saídas do decodificador de saída = f(Variáveis de entrada, Variáveisde estado).O fato de existirem entradas que alimentam diretamente o decodificador de saída introduzum comportamento assíncrono nas saídas.Máquina de MooreVariáveis de saída = saídas do decodificador de saída = f(Variáveis de estado).As variáveis de saída dependem apenas das variáveis de estado, pelo que a alteração deestado nas saídas encontra-se sincronizada com o sinal de relógio.Entradas adicionais assíncronasAlguns circuitos têm uma ou mais entradas assíncronas que, normalmente, efetuam ainicialização ou colocam o sistema num estado desejado. 79
  • 81. 7.2 ANÁLISE DE MÁQUINAS DE ESTADOSA partir do diagrama lógico, pretende-se obter uma descrição funcional do circuito,traduzida num diagrama de estados e, quando possível, numa descrição verbal.Método sistematizado de análisea) Identificar os elementos do circuito de acordo com o modelo geral: decodificador de estado seguinte, unidade de memória, decodificador de saída, variáveis de entrada, variáveis de excitação, variáveis de estado e variáveis de saída.b) Determinar: as expressões das funções lógicas das variáveis de excitação que dependem das variáveis de entrada e das variáveis de estado (funções de excitação); as expressões das funções lógicas das variáveis de saída que dependem das variáveis de estado e das variáveis de entrada (funções de saída).c) Construir a tabela de estados, também designada por tabela de transição de estados.d) Construir, a partir da tabela de estados, o diagrama de estados.e) Determinar a descrição verbal para o comportamento funcional do circuito. a) Identificação dos elementos do circuito b) Funções das variáveis de excitação e de saída c) Tabela de estados d) Diagrama de estados e) Descrição funcional 80
  • 82. Tabela de transição de estados 1 2 3 4 5 Variáveis de Variáveis de Variáveis de Variáveis de Variáveis de estado entrada excitação estado saída (estado (funções de (estado (funções de presente) excitação) seguinte) saída)Elaboração da tabela de estados1. Considerar todas as combinações possíveis dos valores binários para as variáveis de estado e variáveis de entrada (coluna 1 e 2 da tabela). Sendo N o número de variáveis de estado e de entrada, obtém-se 2N combinações distintas destas variáveis.2. Com base nas funções lógicas (funções de excitação) das variáveis de excitação, preencher a coluna 3 da tabela de estados.3. Com base nos valores das variáveis de excitação (coluna 3 = entradas dos flip-flops) e as tabelas funcionais ou as equações características dos flip-flops, determinar o estado seguinte (coluna 4).4. Com base nas funções lógicas (funções de saída) das variáveis de saída, preencher a coluna 5 da tabela de estados. Note-se que o preenchimento é o resultado da avaliação das funções para as combinações de valores definidos na coluna 1 (estado presente) e 2 (variáveis de entrada).Diagrama de estadosO diagrama de estados é uma grafo orientado, constituídos por nós, representativos dosestados, e por arcos orientados, representativos das transições entre estados. Constituiuma representação gráfica dos estados e transições entre estados de um circuitoseqüencial síncrono. Permite uma melhor leitura/interpretação do comportamentofuncional deste tipo de circuitos. A informação contida no diagrama de estados éacompanhada de uma legenda, de modo a associar os elementos gráficos com asvariáveis do circuito seqüencial síncrono.Representação gráfica dos estadosCada estado é representado por um nó (círculo), com a informação que lhe estáassociada. Num circuito seqüencial síncrono com N variáveis de estado, o diagrama deestados é constituído por 2N estados distintos (2N Nós). Neste tipo de máquina, as variáveis de saída encontram-se associadas ao próprio estado, por serem função apenas das variáveis de estado. Estado = designação ou código de estado (valores lógicos das variáveis de estado) Saídas = valores das saídas Neste tipo de máquina, as variáveis de saída encontram-se associadas às transições entre estados, por serem função das variáveis de estado e das variáveis de entrada. Estado = designação ou código de estado (valores lógicos das variáveis de estado) 81
  • 83. Representação gráfica das transições entre estadosAs transições entre estados são representadas por um arco orientado entre o estadopresente e o estado seguinte. De cada estado, partem 2P arcos orientados,representativos das transições possíveis para P variáveis de entrada. Neste tipo de máquina, as variáveis de entrada e de saída estão associadas às transições entre estados. Neste tipo de máquina, apenas as variáveis de entrada estão associadas às transições entre estados.Exemplos de análise de circuitos seqüenciais síncronosEXEMPLO 1Dado o diagrama lógico, determinar a tabela de estados, o diagrama de estados e umapossível descrição verbal do funcionamento do circuito.Diagrama lógicoa) Identificação dos elementos do circuitoVar. entrada: XVar. saída = Var. estado (saídas dos flip-flops): B, AVar. excitação (entradas dos flip-flops): DB,DA 82
  • 84. É uma Máquina de Moore dado que as saídas (B,A) são coincidentes com as variáveis deestado.b) Funções das variáveis de excitaçãoDB = B X + BAX + B AXDA= A⊕Xc) Tabela de estadosNota: A coluna correspondente ao estado seguinte pode ser eliminada já que, tratando-sede flip-flops do tipo D, o estado seguinte corresponde aos valores das variáveis deexcitação.d) Diagrama de estados Legenda Estado: B A Transição entre estados: Xe) Descrição funcionalQuando X =1, o sistema segue a seqüência de estados: 00, 01, 10, 11. Quando X=0, osistema mantém-se no mesmo estado. Ao considerar as saídas BA como um númerobinário de dois bits, está-se perante um contador binário crescente de dois bits, com aentrada X para desinibir/inibir a contagem. 83
  • 85. EXEMPLO 2Dado o diagrama lógico, determinar a tabela de estados, o diagrama de estados e umapossível descrição verbal do funcionamento do circuito.Diagrama lógicoa) Identificação dos elementos do circuitoEntrada assíncrona: RESET’Var. entrada: YVar. saída: ZVar. estado (saídas dos flip-flops): A,BVar. excitação (entradas dos flip-flops): JA,KA,JB,KBÉ uma máquina de Mealy dado que a saída (Z) depende das variáveis de estado (A,B) eda variável de entrada (Y).b) Funções das variáveis de excitação e de saídaJA = B.Y KA = B + YJB = A + Y KB = YZ = A .B.Yc) Tabela de estados 84
  • 86. d) Diagrama de estados Legenda Estado: A B Transição entre estados: Y/Ze) Descrição funcionalA saída Z é colocada a 1 sempre que, em quatro vertentes consecutivas do sinal derelógio, é detectada a seqüência 1001 na entrada Y. A entrada RESET’, quando ativa,coloca o sistema no estado 00.Exemplo:Var. entrada Y: 0001010010000101001001Var. saída Z: 00000000100000000010017.3 SÍNTESE (PROJETO) DE MÁQUINAS DE ESTADOSO procedimento para o projeto (síntese) de um circuito seqüencial síncrono, a partir dadescrição verbal do funcionamento do circuito, é o procedimento inverso ao realizado noprocesso de análise deste tipo de circuitos.Método sistematizado de síntesea) Analisar as especificações do circuito (descrição verbal), obtendo um primeiro diagrama de estados (representados por identificadores).b) Minimizar o número de estados, eliminando eventuais estados redundantes. Um estado é redundante se existir outro estado equivalente no diagrama, isto é, se existir outro estado que para as mesmas especificações das entradas apresente o mesmo estado seguinte e as mesmas especificações de saída.c) Proceder à codificação de estados. Nesta fase determina-se, em primeiro lugar, o número de células da unidade de memória. Normalmente, considera-se o expoente da menor potência de base 2 (2N) que seja maior ou igual ao número de estados do circuito. Refira-se que podem existir situações em que um número maior de células de memória pode conduzir a um circuito globalmente mais simples.Em segundo lugar, é necessário atribuir um código binário a cada um dos estados (código de estado). A atribuição dos códigos de estado condiciona a complexidade da lógica combinacional envolvente (decodificador de estado seguinte e decodificador de saída). As “regras” a seguir enunciadas tendem a minimizar a complexidade destes circuitos. 85
  • 87. Regras 1. Escolher para o estado inicial do circuito um código binário facilmente obtido através da inicialização assíncrona do circuito (tudo a 0’s ou 1’s); 2. Tentar associar aos bits ou conjunto de bits do código de estado um significado relacionado com as entradas ou saídas; 3. Minimizar o número de bits do código de estado que mudam em cada transição entre estados.d) Construir a tabela de estados para flip-flops D.e) Determinar os mapas de Karnaugh para as variáveis de excitação dos flip-flops D e para as variáveis de saída. Obter, se necessário, os mapas de karnaugh para as variáveis de excitação dos flip-flops J-K, a partir dos mapas de karnaugh das variáveis de excitação dos flip-flops D. Normalmente, a utilização de flip-flops J-K conduz a circuitos de menor complexidade. Selecionar o tipo de flip-flops (D ou J-K) e obter as expressões simplificadas das funções de excitação e funções de saída.f) Desenhar o diagrama do circuito lógico. a) Descrição verbal e Diagrama de blocos b) Diagrama de estados Eliminação de estados redundantes c) Codificação de estados d) Tabela de estados e) Mapas de Karnaugh e Funções lógicas minimizadas f) Diagrama do circuito lógico 86
  • 88. Exemplos de síntese de circuitos seqüenciais síncronosEXEMPLO 1Detector de uma seqüência de bits (Máquina de Moore)Especificação funcional: Projetar um circuito seqüencial síncrono que detecte aocorrência de um determinado padrão de bits numa seqüência de valores de entrada. Ocircuito é constituído pela entrada de dados, X, e produz uma única saída Z que écolocada a 1 quando nas últimas três vertentes do sinal de relógio é detectada aseqüência de bits 110.a) Diagrama de blocos X Circuito ZClk Síncronob) Diagrama de estadosTrata-se de uma máquina de Moore, já que a saída depende apenas do estado dosistema. De acordo com as especificações, se nas últimas três vertentes do sinal derelógio tiver sido detectada a seqüência 110 a saída é colocada a 1.- Considera-se um estado inicial A, ao qual se associa o fato de nenhuma subseqüência de 110 ter sido detectada. Se X=0, o estado do sistema mantém-se.- Se X=1, o sistema transita para o estado B (detectada a seqüência 1).- Do estado B, se X=1, o sistema transita para o estado C (detectada a seqüência 11), se X=0, o sistema transita para o estado A (estado inicial).- Se o estado atual é C (detectada a seqüência 11) e X=1 o sistema mantém-se no mesmo estado C (detectada a seqüência 11). Se X=0, o sistema transita para o estado D (detectada a seqüência 110) colocando a saída Z a 1.- Se o estado atual é D (detectada a seqüência 110) a saída Z está a 1. Se X=0, o sistema transita para o estado A (estado inicial). Se X=1, o sistema transita para o estado B (detectada a seqüência 1). Legenda Estado: Identificador/Saída Z Transição de estado: X A – início B – detectada a seqüência 1 C – detectada a seqüência 11 D – detectada a seqüência 110c) Codificação de estadosExistem quatro estados distintos, A, B, C e D, sendo, por isso, necessários 2 bits (2células de memória – Q1, Q0) para codificar cada um dos estados.Obs: A codificação de estados tem por base:- a atribuição do estado 00 ao estado inicial;- o bit Q0 (estado seguinte) coincide com a variável de entrada X. 87
  • 89. d) Tabela de estadosTabela de estados para as variáveis de excitação dos flip-flops De) Mapas de Karnaugh e funções minimizadasf) Diagrama do circuito lógico 88
  • 90. EXEMPLO 2Detector de uma seqüência de bits (Máquina de Mealy)Especificação funcional: Projetar um circuito seqüencial síncrono que detecte aocorrência de um determinado padrão de bits numa seqüência de valores de entrada. Ocircuito é constituído pela entrada de dados, X, e produz uma única saída Z que écolocada a 1 quando nas últimas três vertentes do sinal de relógio é detectada aseqüência de bits 100 e a entrada X está a 1.a) Diagrama de blocos X Circuito ZClk SíncronoEntrada X: 10110100101110001001001110Saída Z: 00000000100000000001001000b) Diagrama de estadosTrata-se de uma máquina de Mealy, já que a saída depende do estado do sistema e davariável de entrada X.De acordo com as especificações, se nas últimas três vertentes do sinal de relógio tiversido detectada a seqüência 100 e a entrada tiver o valor 1 a saída é colocada a 1. É,portanto, necessário memorizar a ocorrência do padrão de bits 100.- Considera-se um estado inicial A, ao qual se associa o fato da seqüência 100 não ter sido detectada até ao momento. Se X=0, o estado do sistema mantém-se.- Se X=1, o sistema transita para o estado B (detectada a seqüência 1).- Do estado B, se X=1, o estado do sistema mantém-se, se X=0, o sistema transita para o estado C (detectada a seqüência 10).- Se o estado atual é C (detectada a seqüência 10) e X=1, o sistema deve regressar ao estado B (detectada a seqüência 1). Se X=0, o sistema deve transitar para um novo estado D (detectada seqüência 100).- Se o estado atual é D (detectada a seqüência 100) e X=1, a saída Z é colocada a 1 e o sistema transita para o estado B (detectada a seqüência 1). Se X=0, o sistema transita para o estado A, pois não foi detectada a seqüência 100. Legenda Estado: Identificador Transição de estado: X/Z 89
  • 91. c) Codificação de estadosExistem quatro estados distintos, A, B, C e D, sendo por isso, necessários 2 bits (2 célulasde memória – Q1, Q0) para codificar cada um dos estados. Dentre as várias hipóteses decodificação, utiliza-se neste exemplo o seguinte sistema de codificação: Estado Código de estado Q1 Q0 A 0 0 B 0 1 C 1 0 D 1 1d) Tabela de estadosTabela de estados para as variáveis de excitação dos flip-flops JKe) Mapas de Karnaugh e funções minimizadas 90
  • 92. f) Diagrama do circuito lógico 91
  • 93. REFERÊNCIAS BIBLIOGRÁFICASBIGNELL, J. W. e DONOVAN, R. L. Eletrônica digital. Volumes 1 e 2, São Paulo:Makron Books, 1995BONATTI, Ivanil e MADUREIRA, Marcos. Introdução à análise e síntese de circuitoslógicos. Campinas: Editora da UNICAMP, 1990.BRAGA, Newton C. Curso de eletrônica digital. São Paulo: Saber Eletrônica Especial n.8, 2002.CAPUANO, Francisco G. Exercícios de eletrônica digital. São Paulo: Érica, 1991.DATAPOOL. Módulo 8410: teoria e prática. Itajubá: Datapool Eletrônica.ERCEGOVA, Milos et alii. Introdução aos sistemas digitais. Porto Alegre: Bookman,2002.FRANCISCO, Francisco Ferreira. Circuitos seqüenciais síncronos. Disponível em:<http://www.estv.ipv.pt/paginaspessoais/ffrancisco/sd/sumarios.htm>. Acesso em: 04 nov.2005.IDOETA, I.V. e CAPUANO, F.G. Elementos de eletrônica digital. São Paulo: Érica,1987.MALVINO, A. P. e LEACH, D. P. Eletrônica digital: princípios e aplicações. Volumes 1e 2, São Paulo: McGraw-Hill, 1987.MELO, Mairton de Oliveira. Eletrônica digital. São Paulo: Makron Books, 1994.MENDONÇA, Alexandre e ZELENOVSKY, Ricardo. Eletrônica digital: curso prático eexercícios. Rio de Janeiro: MZ Editora, 2004.SZAJNBERG, Mordka. Eletrônica digital. Rio de Janeiro: Livros Técnicos e CientíficosLtda, 1988.TOCCI, Ronald J. e WIDMER, Neal S. Sistemas digitais: princípios e aplicações. SãoPaulo: Prentice Hall, 2003. 92

×