·
Engenharia Elétrica ·
Outros
Send your question to AI and receive an answer instantly
Preview text
UFPA ITEC FEE Eletrônica Digital 68 CAPÍTULO 6 Introdução aos Circuitos Lógicos Sequenciais 61 Conceito de Circuito Sequencial Os circuitos sequenciais são uma classe de circuitos digitais em que os valores lógicos das saídas num determinado instante tn podem depender das combinações de valores das variáveis de entrada nesse mesmo instante e também dos valores anteriores das próprias saídas Não é necessária a manutenção da entrada que gerou um certo estado na saída para que esse estado continue existindo Os estados atuais das saídas podem depender dos valores atuais das entradas e também dos estados anteriores dessas mesmas saídas Por isso os circuitos sequenciais formam a classe dos circuitos digitais com memória A idéiachave para fazerse um elemento lógico com memória é a realimentação das saídas de volta para as entradas do circuito As saídas dos elementos lógicos com memória em um circuito sequencial são chamadas de variáveis de estado e são representadas pela letra Q O estado ou valor atual de uma variável de estado no instante tn é representado por Qn enquanto o próximo estado ou estado futuro num instante tn1 tn é representado por Qn1 Uma combinação particular de valores das variáveis de estado é chamada de um estado do sistema 62 Elemento Biestável de Memória Latch Para que um circuito digital possa armazenar informação ele precisa ser um circuito biestável isto é que possui dois estados estáveis para assim poder armazenar tanto o bit 1 quanto o bit 0 O circuito sequencial biestável mais elementar é o latch trava 621 Latch SR SetReset O principal tipo de latch é o latch SR ou RS mostrado na figura 61 em implementações com portas NOR e NAND a b Figura 61 Latches SR implementados com portas a NOR e b NAND ELETRÔNICA DIGITAL Prof Daniel Cardoso 69 Um latch só implementa uma variável de estado que é Qn e n Q é apenas o seu inverso não se constituindo em uma nova variável de estado O latch SR tem esse nome porque as entradas S e R levam a 1 set e levam a zero reset o seu estado Qn quando estão em nível alto As saídas são reaplicadas às entradas das portas juntamente com os sinais de entrada S e R do circuito e portanto o próximo estado que as saídas irão assumir Qn1 vai depender também de seus valores atuais Qn As formas de onda e a tabelaverdade do latch SR com portas NAND são mostradas na figura 62 e na tabela 61 respectivamente Figura 62 Formas de onda do latch SR com portas NAND U não inicializado S R Qn n Q Qn1 n 1 Q Comentário 0 0 0 1 0 1 Não muda mantém o estado atual 0 0 1 0 1 0 Não muda mantém o estado atual 0 1 X X 0 1 Leva o latch a 0 1 0 X X 1 0 Leva o latch a 1 1 1 X X 1 1 Estado proibido 0 0 1 1 Indeterminado Indeterminado Condição de corrida Tabela 61 Tabelaverdade detalhada de um latch SR com portas NAND As formas de onda mostram que o circuito é mesmo biestável enquanto S e R estão em nível lógico 0 ele consegue reter tanto o estado lógico 1 Q1 Q 0 quanto o estado 0 Q0 Q 1 Quando S e R vão ambas para o nível 1 as saídas ficam ambas em 1 versão NAND Este último estado é indesejável não só porque leva a n Q Qn mas principalmente porque pode provocar uma condição de corrida race no latch se S e R voltarem a 0 simultaneamente o estado que resultará nas saídas é imprevisível pois dependerá de qual das duas portas for a mais rápida As saídas Qn e n Q nunca poderão ser ambas iguais a 0 então somente será 0 a saída da porta mais rápida dentre as duas UFPA ITEC FEE Eletronica Digital A diferenga entre as versoes NOR e NAND do aich SR esta apenas nos valores das saidas Qn e Q no estado proibido mas essa diferenga é irrelevante A tabela verdade final do latch SR é a tabela 62 Ss R Qn oO 0 0 0 i 0 1 1 1 X proibido Tabela 62 Tabelaverdade de um atch SR A equagao fechada para a proxima saida Qn do Jatch SR com portas NAND é Qnat S R Qn O latch SR pode ser implementado de varias maneiras isto com varios arranjos diferentes de portas Qualquer circuito que tenha uma tabelaverdade igual a tabela 62 é um latch SR Se os inversores das entradas do latch SR NAND forem removidos 0 circuito restante com apenas duas portas NAND continua sendo um latch apesar de nao ser mais um latch SR porque sua tabelaverdade sera diferente 63 Flipflops Sensiveis ao Nivel do Reldgio No atch SR ha uma palavra de entrada SR0 que o faz reter nao altera os valores presentes nas saidas fazendoo memorizar a informagao O problema é que se uma das entradas mudar as saidas também podem mudar logo a seguir em resposta Como geralmente nao se tem controle sobre as entradas entao as saidas podem mudar a qualquer momento em funcao dos valores das entradas Portanto o atch é assincrono isto 6 nao se sabe em que instante suas saidas irao mudar de estado Isso quer dizer que o atch nao pode ser sincronizado com outros blocos ldgicos de um mesmo sistema Isso indesejavel porque em sistemas digitais como microprocessadores por exemplo 6 necessario sincronizar a execucao das operagdes para que o funcionamento seja ordenado e as etapas do processamento ocorram em sequéncia e em instantes de tempo bem definidos tudo sob controle de um sinal de sincronismo que coordene os diversos blocos ldgicos Assim os resultados de uma etapa estarao prontos no momento certo para a execucao da etapa seguinte Esse sinal de sincronismo chamado de reldgio clock dita a cadéncia de execugao das operacgoes e define a temporizacao do sistema digital O relogio um sinal quadrado periddico de frequéncia constante e corresponde a pulsagao de um circuito digital sequencial Como uma primeira medida para resolver o problema do atch SR acrescenta se a ele uma entrada de clock representada por Ck ou Clk da forma mostrada na figura 63 criandose assim um atch SR em sincronismo com um sinal de controle ou habilitagao O atch sincrono é chamado de flipflop FF Portanto o flipflop da figura 63 um FF SR cujas saidas agora sO podem mudar de estado enquanto o 70 ELETRÔNICA DIGITAL Prof Daniel Cardoso 71 relógio for igual a 1 enquanto Ck0 o latch trava mantendo fixo o seu estado Qn presente Figura 63 Latch SR com entrada de relógio flipflop SR Seu modo de operação pode ser resumido assim Ck 0 Qn1 Qn para quaisquer valores de S e R Ck 1 O flipflop SR tornase igual ao latch SR As entradas do FF SR da figura 63 podem passar para as saídas durante o nível alto do relógio isto é enquanto Ck 1 Por isso esse tipo de flipflop é chamado de flipflop sensível ao nível do relógio Neste caso ele é sensível ao nível alto do relógio Ck 1 Invertendose a entrada Ck ele passaria a ser um FF SR sensível ao nível baixo do relógio Ck 0 Os símbolos esquemáticos para ambos os circuitos são mostrados na figura 64 a b Figura 64 Símbolos dos flipflops SR sensíveis ao nível a alto e b baixo do relógio Alguns livros e manuais técnicos não consideram um flipflop sensível ao nível do relógio como sendo síncrono e o denominam ainda de latch nesse caso considerase o sinal de relógio como um sinal de habilitação enable do latch Um FF mais simples somente para armazenar o bit de informação é o flipflop tipo D Data que pode ser implementado a partir do FF SR Sua tabelaverdade e símbolo lógico são mostrados na figura 65 O inversor colocado entre as entradas S e R garante que o FF D nunca irá para o estado proibido Ck D Qn1 0 X Qn 1 0 0 1 1 1 Figura 65 Tabelaverdade e símbolo do flipflop D sensível ao nível alto do relógio UFPA ITEC FEE Eletrônica Digital 72 64 Flipflops Gatilhados pela Borda do Relógio Os flipflops sensíveis ao nível do relógio ainda apresentam uma característica indesejável as entradas podem passar para as saídas enquanto o sinal de relógio estiver ativo isto é durante toda a duração de um dos níveis do relógio Portanto no caso de FFs sensíveis ao nível alto se as entradas variarem durante o intervalo de tempo em que Ck1 as saídas podem variar logo a seguir em resposta ou seja o circuito ainda é assíncrono durante o intervalo ativo do relógio Ainda não há uma sincronização total isto é em um instante preciso de tempo Para resolver esse problema foi criada a arquitetura mestreescravo de flipflops MasterSlave ou MS os quais são sincronizados com o instante de uma das transições bordas do relógio O FF SR mestreescravo mostrado na figura 66 consiste de dois flipflops SR sensíveis ao nível e ligados em série um acionando as entradas do outro o primeiro FF é chamado de mestre e o segundo de escravo O sinal de relógio do escravo é o inverso do sinal de relógio do mestre de modo que somente um dos FFs estará ativo de cada vez Enquanto Ck1 a informação pode ser escrita no FF mestre mas não passa para as saídas do FF escravo pois a entrada de relógio deste é 0 Quando o relógio vai a 0 simultaneamente as entradas do mestre ficam bloqueadas e as entradas do escravo são liberadas permitindo que a informação que antes tinha sido escrita no mestre apareça na saída Qn final do flipflop O FF MS portanto transfere a informação da entrada para a saída em duas etapas Figura 66 Conceito do FF mestreescravo O FF MS é gatilhado nas transições bordas do sinal de relógio edge triggered que ocorrem em instantes bem definidos Ele somente vai mudar de estado em resposta a uma borda do relógio e não no instante em que os sinais de entrada S ou R mudarem tal como pode acontecer com os FFs sensíveis ao nível do relógio O ELETRÔNICA DIGITAL Prof Daniel Cardoso 73 FF MS da figura 66 é gatilhado na descida do pulso de relógio transferindo a informação da saída do mestre para a saída do escravo Para tornar esse FF gatilhado na borda de subida do sinal de relógio aplicase este sinal diretamente no FF escravo e o seu inverso no FF mestre conectase a porta NOT do escravo para o mestre Os símbolos para FFs gatilhados na borda ou transição do relógio são mostrados na figura 67 a b Figura 67 Símbolos dos FFs MestreEscravo do tipo SR gatilhados a na subida e b na descida do relógio A tabelaverdade e o símbolo do flipflop tipo D gatilhado na borda de subida do relógio são mostrados na figura 68 Figura 68 Tabelaverdade e símbolo do flipflop D gatilhado na subida do relógio 641 FlipFlop JK O FF SR mestreescravo ainda tem o mesmo problema de estado proibido do latch SR no qual ambas as saídas são iguais e que pode levar a uma condição de corrida com saídas imprevisíveis Para eliminar a entrada proibida foi criado um novo tipo de flipflop o flipflop JK que nunca levará a um estado indeterminado e cuja tabelaverdade é J K Qn1 n 1 Q Comentário 0 0 Qn n Q Mantém o estado atual 0 1 0 1 Reset 1 0 1 0 Set 1 1 n Q Qn Inverte o estado do flipflop toggle Tabela 63 Tabelaverdade do flipflop JK A tabela 63 mostra que J desempenha a função de levar a 1 o FF enquanto K tem a função de levar a 0 o FF O FF JK tem uma funcionalidade extra de inversão do estado atual toggle no lugar do estado indesejável do FF SR A saída n Q é Ck Qn1 D UFPA ITEC FEE Eletrônica Digital 74 sempre o inverso da saída Qn A tabelaverdade resumida e o símbolo esquemático de um FF JK gatilhado na descida do relógio são mostrados na figura 69 J K Qn1 0 0 Qn 0 1 0 1 0 1 1 1 n Q Figura 69 Tabelaverdade e símbolo do flipflop JK gatilhado na descida do relógio Podese construir o FF JK usando o FF SR como ponto de partida pois conhecemse as tabelasverdade de ambos os flipflops Mas para desenvolver o FF JK a partir do FF SR é interessante dispor de uma tabelaverdade expandida que trate a saída atual Qn como uma entrada do circuito e mostre todas as combinações de valores de S R e Qn com o valor final para Qn1 Esta é a tabela 64 S R Qn Qn1 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 X 1 1 1 X Tabela 64 Tabelaverdade expandida para o FF SR O que se precisa fazer é determinar as expressões de S e R em função das entradas globais J K e Qn Por isso o esquemático da figura 610 mostra esses três sinais como as entradas de um circuito combinacional desconhecido que produz S e R A realimentação da variável de estado Qn para a entrada é necessária porque para que o FF JK possa inverter o estado atual ele precisa saber qual é o valor desse estado Figura 610 Projeto do FF JK em função do FF SR Os valores necessários em S e R para causar as transições de Qn para Qn1 desejadas de um FF JK são dados na tabela de projeto 65 Fazendose os mapas de Karnaugh para S e R em função de J K e Qn encontramse as expressões para S e R S J n Q R KQn ELETRÔNICA DIGITAL Prof Daniel Cardoso 75 J K Qn Qn1 S R 0 0 0 0 0 X 0 0 1 1 X 0 0 1 0 0 0 X 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 1 X 0 1 1 0 1 1 0 1 1 1 0 0 1 Tabela 65 Projeto das expressões das entradas S e R Agora conhecese o conteúdo da caixa incógnita da figura 610 são duas portas AND O FF JK realimenta as saídas para as entradas eliminando o estado proibido Seu esquemático didático é mostrado nas figuras 611 e 612 Figura 611 Esquemático do FF JK Figura 612 Esquemático interno didático do FF JK 642 FlipFlop T O flipflop T Toggle é obtido a partir do FF JK colocandose em curto as entradas J e K Assim quando T 0 o FF T mantém o estado atual e quando T 1 ele o inverte O FF T é muito utilizado em contadores e divisores de frequência pois quando T 1 ele divide por dois a frequência do sinal de relógio UFPA ITEC FEE Eletrônica Digital 76 Portanto os FFs sensíveis à borda do sinal de relógio podem ser dos tipos SR JK D ou T e as tabelasverdade são as mesmas dos FFs sensíveis ao nível correspondentes com a diferença de que a saída Q só assumirá o seu próximo estado Qn1 após a borda correta do relógio de subida ou de descida conforme o circuito Figura 613 Tabelaverdade e símbolo do flipflop T gatilhado na subida do relógio 643 Entradas de Preset e Clear Não há como prever o estado que a saída Qn de um flipflop irá assumir no instante em que se liga o circuito a não ser que se apliquem vetores de entrada que o levem seguramente a um estado conhecido A inicialização do FF em 0 ou 1 é normalmente feita com sinais de controle especiais chamados de preset preestabelece e clear limpa conforme a tabela 66 O sinal de preset leva a saída a 1 e o sinal de clear também chamado de reset leva a saída a 0 limpa o conteúdo do FF Portanto o preset e o clear inicializam a saída Qn Preset PR e clear CL são geralmente ativos em nível baixo isto é a ação acontece quando o sinal correspondente é 0 PR CL Qn 0 0 X 0 1 1 1 0 0 1 1 Qn Tabela 66 Funcionamento das entradas preset e clear A figura 614 mostra o esquema didático e o símbolo em bloco de um FF JK com preset e clear As bolinhas nas entradas PR e CL não são inversores elas servem para indicar que esses sinais exercem sua função quando estão em nível lógico baixo Os sinais preset e clear são assíncronos e têm prioridade sobre o sinal de relógio e as entradas de dados Isso significa que a qualquer momento podese impor ao circuito assumir Q1 ou Q0 com a entrada PR ou CL em 0 PR e CL não devem ser feitos simultaneamente iguais a 0 pois seria como tentar fazer as duas coisas ao mesmo tempo e o valor da saída Qn será imprevisível Ck T Qn1 0 Qn 1 n Q ELETRÔNICA DIGITAL Prof Daniel Cardoso 77 Figura 614 Esquema didático e símbolo do FF JK com entradas de preset e clear UFPA ITEC FEE Eletrônica Digital 78 CAPÍTULO 7 Registradores e Contadores 71 Registradores Um flipflop pode armazenar um bit Quando se deseja armazenar uma palavra binária é necessário utilizar um flipflop para cada bit dessa palavra Por exemplo para armazenar um byte devese empregar oito flipflops Esse conjunto de flipflops que armazena uma palavra binária é chamado de registrador O tamanho do registrador é o tamanho da palavra que ele pode armazenar ou o seu número de flip flops Assim um flipflop é um caso particular de registrador para armazenar um bit apenas O flipflop mais conveniente para armazenar palavras é o flipflop D A figura 71 mostra oito flipflops D formando um registrador de 8 bits com entrada paralela e saída paralela gatilhado na subida do relógio e com saídas de três estados Figura 71 Registrador paraleloparalelo de 8 bits com habilitação da saída ELETRÔNICA DIGITAL Prof Daniel Cardoso 79 711 Registradores de Deslocamento Shift Registers Em um registrador de deslocamento os flipflops são conectados de modo que a saída de cada flipflop passa para a entrada do flipflop adjacente Na figura 72 uma única entrada de dados é aplicada ao primeiro flipflop e transições sucessivas do relógio farão os dados se deslocarem para a direita uma posição a cada subida do sinal de relógio Portanto para um valor inicial de 00000000 no registrador de deslocamento e um 1 aplicado ao primeiro flipflop pulsos de relógio sucessivos resultarão nos valores 10000000 11000000 11100000 11110000 11111000 11111100 11111110 e 11111111 no registrador assumindo que o 1 seja mantido aplicado para cada subida do relógio Se o 1 fosse removido um 0 fosse aplicado imediatamente após a primeira transição do relógio a sequência armazenada no registrador seria 10000000 01000000 00100000 00010000 00001000 00000100 00000010 e 00000001 Figura 72 Registrador de deslocamento sérieparalelo de 8 bits Este registrador possui entrada serial e saída paralela podendo atuar como um conversor serialparalelo Isto é a informação é entrada serialmente um bit de cada vez em um terminal de dados único e é lida em paralelo todos os bits juntos dos flip flops A palavra de dados finalmente armazenada no registrador vai depender dos valores lógicos presentes na linha serial de dados no instante de cada transição ativadora do relógio Para se ter um registrador de deslocamento de saída serial basta recuperar a palavra de dados serialmente na saída do último flipflop Q7 Em algumas aplicações é necessário estabelecer os conteúdos dos registradores em um valor específico para fins de inicialização do sistema Isso pode ser conseguido utilizandose flipflops que possuam as entradas assíncronas de Preset ou Set e Clear ou Reset Para levar todas as saídas de flipflops a 0 todas as entradas de reset devem ser conectadas juntas e acionadas por um sinal de inicialização Um registrador de deslocamento também pode ser formado com flipflops JK conectandose as saídas Q e Q de cada flipflop às entradas J e K respectivamente do próximo flipflop como mostrado na figura 73 UFPA ITEC FEE Eletrônica Digital 80 Figura 73 Registrador de deslocamento sérieparalelo de 8 bits com flipflops JK A função clássica de um registrador é armazenar palavras numerais binários Um registrador de deslocamento pode ser usado também para dividir ou multiplicar o numeral binário por uma potência de 2 pelo deslocamento desse numeral pela quantidade certa de posições para a direita ou para a esquerda respectivamente Por exemplo se o numeral dez está armazenado em um registrador de 8 bits 00001010 em binário um deslocamento para a direita resulta na palavra 00000101 5 em decimal Se o registrador de deslocamento fosse organizado para deslocar para a esquerda o que exigiria que as conexões entre os flipflops fossem feitas da direita para a esquerda o numeral armazenado seria multiplicado por uma potência de 2 com expoente igual à quantidade de posições deslocadas As entradas assíncronas de Preset e Clear dos flipflops podem ser aproveitadas para inicializar o conteúdo de um registrador com uma palavra binária qualquer A figura 74 mostra um registrador de deslocamento com um comando de carregamento LOAD paralelo e assíncrono de palavras Enquanto LOAD 0 as saídas das portas NAND mantémse em 1 desabilitando os Presets dos flipflops Para inicializar os conteúdos dos FFs Q3 Q2 Q1 e Q0 com uma palavra é necessário primeiro aplicar um pulso baixo em CLR zerando as saídas Q Em seguida aplicase a palavra a ser carregada no registrador nas entradas PR3 a PR0 e depois colocase a linha LOAD em nível alto Figura 74 Registrador de deslocamento com carregamento paralelo assíncrono ELETRÔNICA DIGITAL Prof Daniel Cardoso 81 Por exemplo para o registrador carregar a palavra 10012 em seus flipflops faz se PR3PR0 1001 em seguida aplicase um pulso baixo em CLR e levase LOAD a nível alto Logo em seguida Q3Q0 1001 72 Contadores Um contador é um circuito sequencial que gera uma sequência de saída específica e recorrente Contadores são construídos utilizandose um flipflop para cada bit da sequência de contagem 721 Contadores Assíncronos O tipo mais simples de contador binário pode ser construído quando as transições das saídas não precisam estar em perfeito sincronismo isto é pequenos atrasos nas mudanças das saídas são aceitáveis Este projeto é chamado de contador assíncrono ou contador com ondulação ripple counter pois embora ainda exista um sinal de relógio aplicado ao circuito os flipflops individuais são gatilhados pelas saídas dos flipflops anteriores nos contadores ripple a saída de um flipflop é conectada à entrada de relógio do próximo Por causa disso os sinais ondulam de um lado para outro do contador e haverá pequenos atrasos antes das saídas assumirem seus valores finais O módulo de um contador é a quantidade de estados da contagem O contador da figura 75a conta de 010 até 1510 e reinicia por isso tratase de um contador módulo 16 Na contagem Q0 é o LSB e Q3 é o MSB Este contador também pode ser visto como um divisor de frequência por 2n pois a frequência de Q0 é ½ da frequência do relógio a frequência de Q1 é ½ da frequência de Q0 a frequência de Q2 é ½ da de Q1 e assim por diante como mostrado na figura 75b Figura 75a Contador assíncrono ripple counter de 4 bits módulo 16 UFPA ITEC FEE Eletrônica Digital 82 Figura 75b Diagrama de formas de onda da contagem crescente em 4 bits módulo 16 O módulo de um contador assíncrono pode ser modificado com o acréscimo de portas lógicas que restabeleçam o estado inicial da contagem no momento em que o estado final for ultrapassado Por exemplo o circuito da figura 76 é um contador de década isto é módulo 10 assíncrono ele conta de 010 00002 até 910 10012 e quando o estado 1010 10102 é atingido a porta NAND provoca a reinicialização reset do contador para 010 e o ciclo recomeça Um contador de década é muito útil para contar em BCD ou em decimal Figura 76 Contador assíncrono adaptado para contar até 910 decade counter 722 Contadores Síncronos Os contadores síncronos são aqueles em que todos os flipflops recebem o mesmo sinal de relógio e são gatilhados simultaneamente por ele Com isso eliminam se os atrasos na passagem de um estado da contagem para o próximo e na reinicialização forçada do contador para gerar uma contagem de módulo arbitrário como acontece com os contadores assíncronos Por causa da sincronização simultânea todas as mudanças necessárias nas saídas ocorrem juntas e a palavra binária correta aparece após o tempo de atraso de propagação de um flipflop ao invés do tempo de atraso de n FFs ELETRÔNICA DIGITAL Prof Daniel Cardoso 83 O circuito da figura 77 é um contador síncrono de 4 bits e módulo 16 Os contadores síncronos precisarão sempre ter uma parte combinacional para definir o próximo estado que seus flipflops devem assumir após cada transição ativa do relógio As entradas para essa parte combinacional serão as saídas dos flipflops Qs chamadas de variáveis de estado e as saídas do bloco combinacional irão acionar as entradas dos flipflops Portanto a parte combinacional de um contador faz a realimentação das saídas para as entradas da parte sequencial Figura 77 Contador síncrono de módulo 16 O problema do projeto de contadores síncronos passa a ser a determinação das funções lógicas que devem ser aplicadas a cada entrada de flipflop para criar a sequência de contagem desejada Este problema pode ser resolvido para qualquer contagem seguindose o procedimento sistemático com as etapas abaixo 1 Calcular a quantidade de flipflops necessária para realizar o contador e decidir que tipo de flipflop será utilizado para implementálo SR JK D ou T 2 Escrever a tabela de excitação para o tipo de flipflop escolhido 3 Fazer um diagrama de transição de estados ou uma tabela de transição de estados indicando o próximo estado para cada estado assumido pelo contador 4 Acrescentar na tabela de transição de estados colunas extras para as entradas dos flipflops e preenchêlas com os valores que cada entrada deve ter para produzir a mudança de estado correspondente 5 Fazer os mapas de Karnaugh para obter a expressão simplificada de cada entrada de flipflop em função das variáveis de estado Qs 6 Esquematizar o contador O tipo de flipflop mais flexível para emprego em contadores é o FF JK porque ele pode ser levado a complementar as suas saídas com a aplicação das entradas J K 1 além de ser capaz de leválas a 1 J 1 K 0 ou a 0 J 0 K 1 O flipflop D pode ser usado mas geralmente ele vai exigir um número maior de portas lógicas para conseguir gerar a sequência de contagem Ou seja se o flipflop utilizado for mais simples então a parte combinacional será mais complexa Entretanto embora o flip flop D não seja a escolha mais natural ele pode acabar sendo escolhido por requerer UFPA ITEC FEE Eletrônica Digital 84 menos transistores internos que um flipflop JK E o projeto final pode requerer menos interconexões do que uma solução com FF JK Como exemplo explicase a seguir o projeto de um contador módulo 8 Tal contador necessita de 3 variáveis de estado Q2 Q1 Q0 portanto de 3 flipflops Decidindose utilizar flipflops JK precisase conhecer a tabela de excitação desse tipo de flipflop Tratase de uma tabela que apresenta os valores necessários nas entradas para produzir um efeito conhecido na saída ou seja as entradas são dadas em função das saídas Essa tabela é mostrada na tabela 71 Qn Qn1 J K 0 0 0 X 0 1 1 X 1 0 X 1 1 1 X 0 Tabela 71 Tabela de excitação do flipflop JK A tabela de transição de estados para o contador módulo 8 é mostrada na tabela 72 e a tabela 73 mostra as colunas das entradas em função das transições das saídas Estado atual Estado futuro Q2n Q1n Q0n Q2n1 Q1n1 Q0n1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 0 0 0 Tabela 72 Tabela de transição de estados para o contador módulo 8 J2 K2 J1 K1 J0 K0 0 X 0 X 1 X 0 X 1 X X 1 0 X X 0 1 X 1 X X 1 X 1 X 0 0 X 1 X X 0 1 X X 1 X 0 X 0 1 X X 1 X 1 X 1 Tabela 73 Valores de J e K de cada flipflop para produzir as transições acima Agora montamse os mapas de Karnaugh para cada entrada de flipflop J K em função de Q2n Q1n e Q0n As expressões das entradas serão ELETRÔNICA DIGITAL Prof Daniel Cardoso 85 J0 K0 1 J1 K1 Q0 J2 K2 Q0Q1 E o esquema do contador módulo 8 é mostrado na figura 78 Figura 78 Contador síncrono módulo 8 7221 Contadores em anel O circuito contador em anel ring counter mostrado na figura 79 com 4 bits serve para gerar uma sequência cíclica de pulsos de controle A entrada Inic deve ser colocada em 0 momentaneamente estabelecendo o estado inicial do contador em 10002 antes de sua operação normal Para quatro pulsos de relógio as saídas Q Q3 Q0 seguirão o padrão 1000 0100 0010 0001 1000 ciclicamente Figura 79 Contador em anel ring counter Se a saída Q e não Q for retornada para a entrada D do primeiro flipflop obtémse um circuito chamado contador em anel torcido twisted ring counter também UFPA ITEC FEE Eletrônica Digital 86 conhecido como contador Johnson mostrado na figura 710 A entrada Inic deve ser colocada em 0 momentaneamente estabelecendo o estado inicial do contador em 00002 antes de sua operação normal Os estados das saídas Q Q3 Q0 após cada pulso de relógio seguirão o padrão 0000 1000 1100 1110 1111 0111 0011 0001 0000 Nesta sequência somente um bit muda de um estado para o outro Figura 710 Contador Johnson twisted ring counter ELETRÔNICA DIGITAL Prof Daniel Cardoso 87 CAPÍTULO 8 Análise e Projeto de Circuitos Sequenciais 81 Introdução As máquinas de estados finitos são sistemas sequenciais síncronos genéricos que percorrem um número finito de estados A transição de um estado para outro ocorre somente na borda ativa do relógio Um estado é uma combinação particular de valores das variáveis de estado As variáveis de estado são as saídas dos elementos lógicos com memória flipflops Existem dois modelos gerais para máquinas de estado as máquinas Mealy e as máquinas Moore O modelo de uma máquina de estado Mealy é mostrado na figura 81 usando flipflops do tipo D outros tipos de flipflops também podem ser usados O circuito possui um conjunto de n entradas identificadas Xn1X0 e um conjunto de m saídas Zm1Z0 Há dois conjuntos de k sinais internos Qk1Q0 e Yk1Y0 Os sinais Q são as variáveis de estado atuais armazenadas nos flipflops que definem o estado atual do circuito Os sinais Y são as variáveis de estado futuro geradas para produzir o próximo estado do circuito e são entradas para os flipflops Os sinais Y são funções combinacionais das entradas do circuito Xn1X0 e do estado atual Qk1Q0 As saídas do circuito Zm1Z0 também são funções combinacionais das entradas e do estado atual Para criar um circuito sequencial síncrono baseado neste modelo é necessário deduzir as funções combinacionais das variáveis de próximo estado Yk1Y0 e das saídas Zm1Z0 Primeiramente é preciso estabelecer quantos flipflops são necessários para um projeto específico o valor de k Se dois estados são requeridos então uma variável de estado é necessária que valerá 0 para um estado e 1 para o outro Se três ou quatro estados são requeridos então duas variáveis de estado são necessárias pois há quatro palavras com duas variáveis 00 01 10 e 11 e cada palavra codificará um estado Em geral se entre 2k1 1 e 2k estados são requeridos k variáveis de estado e portanto k flipflops são necessários Após uma transição ativa do relógio que pode ser a de subida ou a de descida um tempo suficiente deve ser dado para os sinais passarem pela lógica combinacional para estabelecer os valores do próximo estado antes da próxima transição ativa do relógio Observase na figura 81 que mudanças de valores nas entradas primárias não causam mudanças de estado imediatas pois uma mudança de estado será determinada pelas entradas e pelo estado atual em sincronismo com a transição ativa do relógio Entretanto como as saídas do circuito são funções combinacionais que incluem as entradas Xn1X0 mudanças nestas entradas podem fazer as saídas mudarem imediatamente e não em sincronismo com o relógio Este comportamento se for indesejável em uma aplicação pode ser evitado tornandose as saídas funções combinacionais somente das variáveis de estado atuais Este novo modelo de máquina de estado é o modelo Moore mostrado na figura 82 UFPA ITEC FEE Eletrônica Digital 88 Figura 81 Máquina de estados finitos de modelo Mealy Um circuito sequencial síncrono pode geralmente ser projetado tanto a partir de um modelo Mealy quanto de um modelo Moore mas se um modelo Mealy for usado as saídas poderão ser imediatamente afetadas por mudanças nas entradas Isto é as saídas podem variar de forma assíncrona ao invés de somente após uma transição de relógio Na máquina de estados de modelo Mealy as saídas Zm1Z0 podem assumir valores diferentes dentro de um mesmo estado do circuito Portanto os comportamentos de um circuito de modelo Mealy e do seu equivalente de modelo Moore podem ser diferentes neste aspecto Para projetar uma máquina de estados finitos usando um dos dois modelos há dois conjuntos de funções para determinar as funções para as variáveis de estado futuro Yk1Y0 e as funções para as saídas Zm1Z0 O procedimento de projeto iniciase com a criação de um diagrama de estados derivado da especificação do problema Quando as saídas dos flipflops as variáveis de estado forem também as saídas do circuito o modelo mais adequado será naturalmente o modelo Moore Por exemplo um contador é geralmente um circuito de modelo Moore porque suas saídas costumam ser tomadas diretamente dos flipflops isto é Z Q ELETRÔNICA DIGITAL Prof Daniel Cardoso 89 Figura 82 Máquina de estados finitos de modelo Moore
Send your question to AI and receive an answer instantly
Preview text
UFPA ITEC FEE Eletrônica Digital 68 CAPÍTULO 6 Introdução aos Circuitos Lógicos Sequenciais 61 Conceito de Circuito Sequencial Os circuitos sequenciais são uma classe de circuitos digitais em que os valores lógicos das saídas num determinado instante tn podem depender das combinações de valores das variáveis de entrada nesse mesmo instante e também dos valores anteriores das próprias saídas Não é necessária a manutenção da entrada que gerou um certo estado na saída para que esse estado continue existindo Os estados atuais das saídas podem depender dos valores atuais das entradas e também dos estados anteriores dessas mesmas saídas Por isso os circuitos sequenciais formam a classe dos circuitos digitais com memória A idéiachave para fazerse um elemento lógico com memória é a realimentação das saídas de volta para as entradas do circuito As saídas dos elementos lógicos com memória em um circuito sequencial são chamadas de variáveis de estado e são representadas pela letra Q O estado ou valor atual de uma variável de estado no instante tn é representado por Qn enquanto o próximo estado ou estado futuro num instante tn1 tn é representado por Qn1 Uma combinação particular de valores das variáveis de estado é chamada de um estado do sistema 62 Elemento Biestável de Memória Latch Para que um circuito digital possa armazenar informação ele precisa ser um circuito biestável isto é que possui dois estados estáveis para assim poder armazenar tanto o bit 1 quanto o bit 0 O circuito sequencial biestável mais elementar é o latch trava 621 Latch SR SetReset O principal tipo de latch é o latch SR ou RS mostrado na figura 61 em implementações com portas NOR e NAND a b Figura 61 Latches SR implementados com portas a NOR e b NAND ELETRÔNICA DIGITAL Prof Daniel Cardoso 69 Um latch só implementa uma variável de estado que é Qn e n Q é apenas o seu inverso não se constituindo em uma nova variável de estado O latch SR tem esse nome porque as entradas S e R levam a 1 set e levam a zero reset o seu estado Qn quando estão em nível alto As saídas são reaplicadas às entradas das portas juntamente com os sinais de entrada S e R do circuito e portanto o próximo estado que as saídas irão assumir Qn1 vai depender também de seus valores atuais Qn As formas de onda e a tabelaverdade do latch SR com portas NAND são mostradas na figura 62 e na tabela 61 respectivamente Figura 62 Formas de onda do latch SR com portas NAND U não inicializado S R Qn n Q Qn1 n 1 Q Comentário 0 0 0 1 0 1 Não muda mantém o estado atual 0 0 1 0 1 0 Não muda mantém o estado atual 0 1 X X 0 1 Leva o latch a 0 1 0 X X 1 0 Leva o latch a 1 1 1 X X 1 1 Estado proibido 0 0 1 1 Indeterminado Indeterminado Condição de corrida Tabela 61 Tabelaverdade detalhada de um latch SR com portas NAND As formas de onda mostram que o circuito é mesmo biestável enquanto S e R estão em nível lógico 0 ele consegue reter tanto o estado lógico 1 Q1 Q 0 quanto o estado 0 Q0 Q 1 Quando S e R vão ambas para o nível 1 as saídas ficam ambas em 1 versão NAND Este último estado é indesejável não só porque leva a n Q Qn mas principalmente porque pode provocar uma condição de corrida race no latch se S e R voltarem a 0 simultaneamente o estado que resultará nas saídas é imprevisível pois dependerá de qual das duas portas for a mais rápida As saídas Qn e n Q nunca poderão ser ambas iguais a 0 então somente será 0 a saída da porta mais rápida dentre as duas UFPA ITEC FEE Eletronica Digital A diferenga entre as versoes NOR e NAND do aich SR esta apenas nos valores das saidas Qn e Q no estado proibido mas essa diferenga é irrelevante A tabela verdade final do latch SR é a tabela 62 Ss R Qn oO 0 0 0 i 0 1 1 1 X proibido Tabela 62 Tabelaverdade de um atch SR A equagao fechada para a proxima saida Qn do Jatch SR com portas NAND é Qnat S R Qn O latch SR pode ser implementado de varias maneiras isto com varios arranjos diferentes de portas Qualquer circuito que tenha uma tabelaverdade igual a tabela 62 é um latch SR Se os inversores das entradas do latch SR NAND forem removidos 0 circuito restante com apenas duas portas NAND continua sendo um latch apesar de nao ser mais um latch SR porque sua tabelaverdade sera diferente 63 Flipflops Sensiveis ao Nivel do Reldgio No atch SR ha uma palavra de entrada SR0 que o faz reter nao altera os valores presentes nas saidas fazendoo memorizar a informagao O problema é que se uma das entradas mudar as saidas também podem mudar logo a seguir em resposta Como geralmente nao se tem controle sobre as entradas entao as saidas podem mudar a qualquer momento em funcao dos valores das entradas Portanto o atch é assincrono isto 6 nao se sabe em que instante suas saidas irao mudar de estado Isso quer dizer que o atch nao pode ser sincronizado com outros blocos ldgicos de um mesmo sistema Isso indesejavel porque em sistemas digitais como microprocessadores por exemplo 6 necessario sincronizar a execucao das operagdes para que o funcionamento seja ordenado e as etapas do processamento ocorram em sequéncia e em instantes de tempo bem definidos tudo sob controle de um sinal de sincronismo que coordene os diversos blocos ldgicos Assim os resultados de uma etapa estarao prontos no momento certo para a execucao da etapa seguinte Esse sinal de sincronismo chamado de reldgio clock dita a cadéncia de execugao das operacgoes e define a temporizacao do sistema digital O relogio um sinal quadrado periddico de frequéncia constante e corresponde a pulsagao de um circuito digital sequencial Como uma primeira medida para resolver o problema do atch SR acrescenta se a ele uma entrada de clock representada por Ck ou Clk da forma mostrada na figura 63 criandose assim um atch SR em sincronismo com um sinal de controle ou habilitagao O atch sincrono é chamado de flipflop FF Portanto o flipflop da figura 63 um FF SR cujas saidas agora sO podem mudar de estado enquanto o 70 ELETRÔNICA DIGITAL Prof Daniel Cardoso 71 relógio for igual a 1 enquanto Ck0 o latch trava mantendo fixo o seu estado Qn presente Figura 63 Latch SR com entrada de relógio flipflop SR Seu modo de operação pode ser resumido assim Ck 0 Qn1 Qn para quaisquer valores de S e R Ck 1 O flipflop SR tornase igual ao latch SR As entradas do FF SR da figura 63 podem passar para as saídas durante o nível alto do relógio isto é enquanto Ck 1 Por isso esse tipo de flipflop é chamado de flipflop sensível ao nível do relógio Neste caso ele é sensível ao nível alto do relógio Ck 1 Invertendose a entrada Ck ele passaria a ser um FF SR sensível ao nível baixo do relógio Ck 0 Os símbolos esquemáticos para ambos os circuitos são mostrados na figura 64 a b Figura 64 Símbolos dos flipflops SR sensíveis ao nível a alto e b baixo do relógio Alguns livros e manuais técnicos não consideram um flipflop sensível ao nível do relógio como sendo síncrono e o denominam ainda de latch nesse caso considerase o sinal de relógio como um sinal de habilitação enable do latch Um FF mais simples somente para armazenar o bit de informação é o flipflop tipo D Data que pode ser implementado a partir do FF SR Sua tabelaverdade e símbolo lógico são mostrados na figura 65 O inversor colocado entre as entradas S e R garante que o FF D nunca irá para o estado proibido Ck D Qn1 0 X Qn 1 0 0 1 1 1 Figura 65 Tabelaverdade e símbolo do flipflop D sensível ao nível alto do relógio UFPA ITEC FEE Eletrônica Digital 72 64 Flipflops Gatilhados pela Borda do Relógio Os flipflops sensíveis ao nível do relógio ainda apresentam uma característica indesejável as entradas podem passar para as saídas enquanto o sinal de relógio estiver ativo isto é durante toda a duração de um dos níveis do relógio Portanto no caso de FFs sensíveis ao nível alto se as entradas variarem durante o intervalo de tempo em que Ck1 as saídas podem variar logo a seguir em resposta ou seja o circuito ainda é assíncrono durante o intervalo ativo do relógio Ainda não há uma sincronização total isto é em um instante preciso de tempo Para resolver esse problema foi criada a arquitetura mestreescravo de flipflops MasterSlave ou MS os quais são sincronizados com o instante de uma das transições bordas do relógio O FF SR mestreescravo mostrado na figura 66 consiste de dois flipflops SR sensíveis ao nível e ligados em série um acionando as entradas do outro o primeiro FF é chamado de mestre e o segundo de escravo O sinal de relógio do escravo é o inverso do sinal de relógio do mestre de modo que somente um dos FFs estará ativo de cada vez Enquanto Ck1 a informação pode ser escrita no FF mestre mas não passa para as saídas do FF escravo pois a entrada de relógio deste é 0 Quando o relógio vai a 0 simultaneamente as entradas do mestre ficam bloqueadas e as entradas do escravo são liberadas permitindo que a informação que antes tinha sido escrita no mestre apareça na saída Qn final do flipflop O FF MS portanto transfere a informação da entrada para a saída em duas etapas Figura 66 Conceito do FF mestreescravo O FF MS é gatilhado nas transições bordas do sinal de relógio edge triggered que ocorrem em instantes bem definidos Ele somente vai mudar de estado em resposta a uma borda do relógio e não no instante em que os sinais de entrada S ou R mudarem tal como pode acontecer com os FFs sensíveis ao nível do relógio O ELETRÔNICA DIGITAL Prof Daniel Cardoso 73 FF MS da figura 66 é gatilhado na descida do pulso de relógio transferindo a informação da saída do mestre para a saída do escravo Para tornar esse FF gatilhado na borda de subida do sinal de relógio aplicase este sinal diretamente no FF escravo e o seu inverso no FF mestre conectase a porta NOT do escravo para o mestre Os símbolos para FFs gatilhados na borda ou transição do relógio são mostrados na figura 67 a b Figura 67 Símbolos dos FFs MestreEscravo do tipo SR gatilhados a na subida e b na descida do relógio A tabelaverdade e o símbolo do flipflop tipo D gatilhado na borda de subida do relógio são mostrados na figura 68 Figura 68 Tabelaverdade e símbolo do flipflop D gatilhado na subida do relógio 641 FlipFlop JK O FF SR mestreescravo ainda tem o mesmo problema de estado proibido do latch SR no qual ambas as saídas são iguais e que pode levar a uma condição de corrida com saídas imprevisíveis Para eliminar a entrada proibida foi criado um novo tipo de flipflop o flipflop JK que nunca levará a um estado indeterminado e cuja tabelaverdade é J K Qn1 n 1 Q Comentário 0 0 Qn n Q Mantém o estado atual 0 1 0 1 Reset 1 0 1 0 Set 1 1 n Q Qn Inverte o estado do flipflop toggle Tabela 63 Tabelaverdade do flipflop JK A tabela 63 mostra que J desempenha a função de levar a 1 o FF enquanto K tem a função de levar a 0 o FF O FF JK tem uma funcionalidade extra de inversão do estado atual toggle no lugar do estado indesejável do FF SR A saída n Q é Ck Qn1 D UFPA ITEC FEE Eletrônica Digital 74 sempre o inverso da saída Qn A tabelaverdade resumida e o símbolo esquemático de um FF JK gatilhado na descida do relógio são mostrados na figura 69 J K Qn1 0 0 Qn 0 1 0 1 0 1 1 1 n Q Figura 69 Tabelaverdade e símbolo do flipflop JK gatilhado na descida do relógio Podese construir o FF JK usando o FF SR como ponto de partida pois conhecemse as tabelasverdade de ambos os flipflops Mas para desenvolver o FF JK a partir do FF SR é interessante dispor de uma tabelaverdade expandida que trate a saída atual Qn como uma entrada do circuito e mostre todas as combinações de valores de S R e Qn com o valor final para Qn1 Esta é a tabela 64 S R Qn Qn1 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 X 1 1 1 X Tabela 64 Tabelaverdade expandida para o FF SR O que se precisa fazer é determinar as expressões de S e R em função das entradas globais J K e Qn Por isso o esquemático da figura 610 mostra esses três sinais como as entradas de um circuito combinacional desconhecido que produz S e R A realimentação da variável de estado Qn para a entrada é necessária porque para que o FF JK possa inverter o estado atual ele precisa saber qual é o valor desse estado Figura 610 Projeto do FF JK em função do FF SR Os valores necessários em S e R para causar as transições de Qn para Qn1 desejadas de um FF JK são dados na tabela de projeto 65 Fazendose os mapas de Karnaugh para S e R em função de J K e Qn encontramse as expressões para S e R S J n Q R KQn ELETRÔNICA DIGITAL Prof Daniel Cardoso 75 J K Qn Qn1 S R 0 0 0 0 0 X 0 0 1 1 X 0 0 1 0 0 0 X 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 1 X 0 1 1 0 1 1 0 1 1 1 0 0 1 Tabela 65 Projeto das expressões das entradas S e R Agora conhecese o conteúdo da caixa incógnita da figura 610 são duas portas AND O FF JK realimenta as saídas para as entradas eliminando o estado proibido Seu esquemático didático é mostrado nas figuras 611 e 612 Figura 611 Esquemático do FF JK Figura 612 Esquemático interno didático do FF JK 642 FlipFlop T O flipflop T Toggle é obtido a partir do FF JK colocandose em curto as entradas J e K Assim quando T 0 o FF T mantém o estado atual e quando T 1 ele o inverte O FF T é muito utilizado em contadores e divisores de frequência pois quando T 1 ele divide por dois a frequência do sinal de relógio UFPA ITEC FEE Eletrônica Digital 76 Portanto os FFs sensíveis à borda do sinal de relógio podem ser dos tipos SR JK D ou T e as tabelasverdade são as mesmas dos FFs sensíveis ao nível correspondentes com a diferença de que a saída Q só assumirá o seu próximo estado Qn1 após a borda correta do relógio de subida ou de descida conforme o circuito Figura 613 Tabelaverdade e símbolo do flipflop T gatilhado na subida do relógio 643 Entradas de Preset e Clear Não há como prever o estado que a saída Qn de um flipflop irá assumir no instante em que se liga o circuito a não ser que se apliquem vetores de entrada que o levem seguramente a um estado conhecido A inicialização do FF em 0 ou 1 é normalmente feita com sinais de controle especiais chamados de preset preestabelece e clear limpa conforme a tabela 66 O sinal de preset leva a saída a 1 e o sinal de clear também chamado de reset leva a saída a 0 limpa o conteúdo do FF Portanto o preset e o clear inicializam a saída Qn Preset PR e clear CL são geralmente ativos em nível baixo isto é a ação acontece quando o sinal correspondente é 0 PR CL Qn 0 0 X 0 1 1 1 0 0 1 1 Qn Tabela 66 Funcionamento das entradas preset e clear A figura 614 mostra o esquema didático e o símbolo em bloco de um FF JK com preset e clear As bolinhas nas entradas PR e CL não são inversores elas servem para indicar que esses sinais exercem sua função quando estão em nível lógico baixo Os sinais preset e clear são assíncronos e têm prioridade sobre o sinal de relógio e as entradas de dados Isso significa que a qualquer momento podese impor ao circuito assumir Q1 ou Q0 com a entrada PR ou CL em 0 PR e CL não devem ser feitos simultaneamente iguais a 0 pois seria como tentar fazer as duas coisas ao mesmo tempo e o valor da saída Qn será imprevisível Ck T Qn1 0 Qn 1 n Q ELETRÔNICA DIGITAL Prof Daniel Cardoso 77 Figura 614 Esquema didático e símbolo do FF JK com entradas de preset e clear UFPA ITEC FEE Eletrônica Digital 78 CAPÍTULO 7 Registradores e Contadores 71 Registradores Um flipflop pode armazenar um bit Quando se deseja armazenar uma palavra binária é necessário utilizar um flipflop para cada bit dessa palavra Por exemplo para armazenar um byte devese empregar oito flipflops Esse conjunto de flipflops que armazena uma palavra binária é chamado de registrador O tamanho do registrador é o tamanho da palavra que ele pode armazenar ou o seu número de flip flops Assim um flipflop é um caso particular de registrador para armazenar um bit apenas O flipflop mais conveniente para armazenar palavras é o flipflop D A figura 71 mostra oito flipflops D formando um registrador de 8 bits com entrada paralela e saída paralela gatilhado na subida do relógio e com saídas de três estados Figura 71 Registrador paraleloparalelo de 8 bits com habilitação da saída ELETRÔNICA DIGITAL Prof Daniel Cardoso 79 711 Registradores de Deslocamento Shift Registers Em um registrador de deslocamento os flipflops são conectados de modo que a saída de cada flipflop passa para a entrada do flipflop adjacente Na figura 72 uma única entrada de dados é aplicada ao primeiro flipflop e transições sucessivas do relógio farão os dados se deslocarem para a direita uma posição a cada subida do sinal de relógio Portanto para um valor inicial de 00000000 no registrador de deslocamento e um 1 aplicado ao primeiro flipflop pulsos de relógio sucessivos resultarão nos valores 10000000 11000000 11100000 11110000 11111000 11111100 11111110 e 11111111 no registrador assumindo que o 1 seja mantido aplicado para cada subida do relógio Se o 1 fosse removido um 0 fosse aplicado imediatamente após a primeira transição do relógio a sequência armazenada no registrador seria 10000000 01000000 00100000 00010000 00001000 00000100 00000010 e 00000001 Figura 72 Registrador de deslocamento sérieparalelo de 8 bits Este registrador possui entrada serial e saída paralela podendo atuar como um conversor serialparalelo Isto é a informação é entrada serialmente um bit de cada vez em um terminal de dados único e é lida em paralelo todos os bits juntos dos flip flops A palavra de dados finalmente armazenada no registrador vai depender dos valores lógicos presentes na linha serial de dados no instante de cada transição ativadora do relógio Para se ter um registrador de deslocamento de saída serial basta recuperar a palavra de dados serialmente na saída do último flipflop Q7 Em algumas aplicações é necessário estabelecer os conteúdos dos registradores em um valor específico para fins de inicialização do sistema Isso pode ser conseguido utilizandose flipflops que possuam as entradas assíncronas de Preset ou Set e Clear ou Reset Para levar todas as saídas de flipflops a 0 todas as entradas de reset devem ser conectadas juntas e acionadas por um sinal de inicialização Um registrador de deslocamento também pode ser formado com flipflops JK conectandose as saídas Q e Q de cada flipflop às entradas J e K respectivamente do próximo flipflop como mostrado na figura 73 UFPA ITEC FEE Eletrônica Digital 80 Figura 73 Registrador de deslocamento sérieparalelo de 8 bits com flipflops JK A função clássica de um registrador é armazenar palavras numerais binários Um registrador de deslocamento pode ser usado também para dividir ou multiplicar o numeral binário por uma potência de 2 pelo deslocamento desse numeral pela quantidade certa de posições para a direita ou para a esquerda respectivamente Por exemplo se o numeral dez está armazenado em um registrador de 8 bits 00001010 em binário um deslocamento para a direita resulta na palavra 00000101 5 em decimal Se o registrador de deslocamento fosse organizado para deslocar para a esquerda o que exigiria que as conexões entre os flipflops fossem feitas da direita para a esquerda o numeral armazenado seria multiplicado por uma potência de 2 com expoente igual à quantidade de posições deslocadas As entradas assíncronas de Preset e Clear dos flipflops podem ser aproveitadas para inicializar o conteúdo de um registrador com uma palavra binária qualquer A figura 74 mostra um registrador de deslocamento com um comando de carregamento LOAD paralelo e assíncrono de palavras Enquanto LOAD 0 as saídas das portas NAND mantémse em 1 desabilitando os Presets dos flipflops Para inicializar os conteúdos dos FFs Q3 Q2 Q1 e Q0 com uma palavra é necessário primeiro aplicar um pulso baixo em CLR zerando as saídas Q Em seguida aplicase a palavra a ser carregada no registrador nas entradas PR3 a PR0 e depois colocase a linha LOAD em nível alto Figura 74 Registrador de deslocamento com carregamento paralelo assíncrono ELETRÔNICA DIGITAL Prof Daniel Cardoso 81 Por exemplo para o registrador carregar a palavra 10012 em seus flipflops faz se PR3PR0 1001 em seguida aplicase um pulso baixo em CLR e levase LOAD a nível alto Logo em seguida Q3Q0 1001 72 Contadores Um contador é um circuito sequencial que gera uma sequência de saída específica e recorrente Contadores são construídos utilizandose um flipflop para cada bit da sequência de contagem 721 Contadores Assíncronos O tipo mais simples de contador binário pode ser construído quando as transições das saídas não precisam estar em perfeito sincronismo isto é pequenos atrasos nas mudanças das saídas são aceitáveis Este projeto é chamado de contador assíncrono ou contador com ondulação ripple counter pois embora ainda exista um sinal de relógio aplicado ao circuito os flipflops individuais são gatilhados pelas saídas dos flipflops anteriores nos contadores ripple a saída de um flipflop é conectada à entrada de relógio do próximo Por causa disso os sinais ondulam de um lado para outro do contador e haverá pequenos atrasos antes das saídas assumirem seus valores finais O módulo de um contador é a quantidade de estados da contagem O contador da figura 75a conta de 010 até 1510 e reinicia por isso tratase de um contador módulo 16 Na contagem Q0 é o LSB e Q3 é o MSB Este contador também pode ser visto como um divisor de frequência por 2n pois a frequência de Q0 é ½ da frequência do relógio a frequência de Q1 é ½ da frequência de Q0 a frequência de Q2 é ½ da de Q1 e assim por diante como mostrado na figura 75b Figura 75a Contador assíncrono ripple counter de 4 bits módulo 16 UFPA ITEC FEE Eletrônica Digital 82 Figura 75b Diagrama de formas de onda da contagem crescente em 4 bits módulo 16 O módulo de um contador assíncrono pode ser modificado com o acréscimo de portas lógicas que restabeleçam o estado inicial da contagem no momento em que o estado final for ultrapassado Por exemplo o circuito da figura 76 é um contador de década isto é módulo 10 assíncrono ele conta de 010 00002 até 910 10012 e quando o estado 1010 10102 é atingido a porta NAND provoca a reinicialização reset do contador para 010 e o ciclo recomeça Um contador de década é muito útil para contar em BCD ou em decimal Figura 76 Contador assíncrono adaptado para contar até 910 decade counter 722 Contadores Síncronos Os contadores síncronos são aqueles em que todos os flipflops recebem o mesmo sinal de relógio e são gatilhados simultaneamente por ele Com isso eliminam se os atrasos na passagem de um estado da contagem para o próximo e na reinicialização forçada do contador para gerar uma contagem de módulo arbitrário como acontece com os contadores assíncronos Por causa da sincronização simultânea todas as mudanças necessárias nas saídas ocorrem juntas e a palavra binária correta aparece após o tempo de atraso de propagação de um flipflop ao invés do tempo de atraso de n FFs ELETRÔNICA DIGITAL Prof Daniel Cardoso 83 O circuito da figura 77 é um contador síncrono de 4 bits e módulo 16 Os contadores síncronos precisarão sempre ter uma parte combinacional para definir o próximo estado que seus flipflops devem assumir após cada transição ativa do relógio As entradas para essa parte combinacional serão as saídas dos flipflops Qs chamadas de variáveis de estado e as saídas do bloco combinacional irão acionar as entradas dos flipflops Portanto a parte combinacional de um contador faz a realimentação das saídas para as entradas da parte sequencial Figura 77 Contador síncrono de módulo 16 O problema do projeto de contadores síncronos passa a ser a determinação das funções lógicas que devem ser aplicadas a cada entrada de flipflop para criar a sequência de contagem desejada Este problema pode ser resolvido para qualquer contagem seguindose o procedimento sistemático com as etapas abaixo 1 Calcular a quantidade de flipflops necessária para realizar o contador e decidir que tipo de flipflop será utilizado para implementálo SR JK D ou T 2 Escrever a tabela de excitação para o tipo de flipflop escolhido 3 Fazer um diagrama de transição de estados ou uma tabela de transição de estados indicando o próximo estado para cada estado assumido pelo contador 4 Acrescentar na tabela de transição de estados colunas extras para as entradas dos flipflops e preenchêlas com os valores que cada entrada deve ter para produzir a mudança de estado correspondente 5 Fazer os mapas de Karnaugh para obter a expressão simplificada de cada entrada de flipflop em função das variáveis de estado Qs 6 Esquematizar o contador O tipo de flipflop mais flexível para emprego em contadores é o FF JK porque ele pode ser levado a complementar as suas saídas com a aplicação das entradas J K 1 além de ser capaz de leválas a 1 J 1 K 0 ou a 0 J 0 K 1 O flipflop D pode ser usado mas geralmente ele vai exigir um número maior de portas lógicas para conseguir gerar a sequência de contagem Ou seja se o flipflop utilizado for mais simples então a parte combinacional será mais complexa Entretanto embora o flip flop D não seja a escolha mais natural ele pode acabar sendo escolhido por requerer UFPA ITEC FEE Eletrônica Digital 84 menos transistores internos que um flipflop JK E o projeto final pode requerer menos interconexões do que uma solução com FF JK Como exemplo explicase a seguir o projeto de um contador módulo 8 Tal contador necessita de 3 variáveis de estado Q2 Q1 Q0 portanto de 3 flipflops Decidindose utilizar flipflops JK precisase conhecer a tabela de excitação desse tipo de flipflop Tratase de uma tabela que apresenta os valores necessários nas entradas para produzir um efeito conhecido na saída ou seja as entradas são dadas em função das saídas Essa tabela é mostrada na tabela 71 Qn Qn1 J K 0 0 0 X 0 1 1 X 1 0 X 1 1 1 X 0 Tabela 71 Tabela de excitação do flipflop JK A tabela de transição de estados para o contador módulo 8 é mostrada na tabela 72 e a tabela 73 mostra as colunas das entradas em função das transições das saídas Estado atual Estado futuro Q2n Q1n Q0n Q2n1 Q1n1 Q0n1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 0 0 0 Tabela 72 Tabela de transição de estados para o contador módulo 8 J2 K2 J1 K1 J0 K0 0 X 0 X 1 X 0 X 1 X X 1 0 X X 0 1 X 1 X X 1 X 1 X 0 0 X 1 X X 0 1 X X 1 X 0 X 0 1 X X 1 X 1 X 1 Tabela 73 Valores de J e K de cada flipflop para produzir as transições acima Agora montamse os mapas de Karnaugh para cada entrada de flipflop J K em função de Q2n Q1n e Q0n As expressões das entradas serão ELETRÔNICA DIGITAL Prof Daniel Cardoso 85 J0 K0 1 J1 K1 Q0 J2 K2 Q0Q1 E o esquema do contador módulo 8 é mostrado na figura 78 Figura 78 Contador síncrono módulo 8 7221 Contadores em anel O circuito contador em anel ring counter mostrado na figura 79 com 4 bits serve para gerar uma sequência cíclica de pulsos de controle A entrada Inic deve ser colocada em 0 momentaneamente estabelecendo o estado inicial do contador em 10002 antes de sua operação normal Para quatro pulsos de relógio as saídas Q Q3 Q0 seguirão o padrão 1000 0100 0010 0001 1000 ciclicamente Figura 79 Contador em anel ring counter Se a saída Q e não Q for retornada para a entrada D do primeiro flipflop obtémse um circuito chamado contador em anel torcido twisted ring counter também UFPA ITEC FEE Eletrônica Digital 86 conhecido como contador Johnson mostrado na figura 710 A entrada Inic deve ser colocada em 0 momentaneamente estabelecendo o estado inicial do contador em 00002 antes de sua operação normal Os estados das saídas Q Q3 Q0 após cada pulso de relógio seguirão o padrão 0000 1000 1100 1110 1111 0111 0011 0001 0000 Nesta sequência somente um bit muda de um estado para o outro Figura 710 Contador Johnson twisted ring counter ELETRÔNICA DIGITAL Prof Daniel Cardoso 87 CAPÍTULO 8 Análise e Projeto de Circuitos Sequenciais 81 Introdução As máquinas de estados finitos são sistemas sequenciais síncronos genéricos que percorrem um número finito de estados A transição de um estado para outro ocorre somente na borda ativa do relógio Um estado é uma combinação particular de valores das variáveis de estado As variáveis de estado são as saídas dos elementos lógicos com memória flipflops Existem dois modelos gerais para máquinas de estado as máquinas Mealy e as máquinas Moore O modelo de uma máquina de estado Mealy é mostrado na figura 81 usando flipflops do tipo D outros tipos de flipflops também podem ser usados O circuito possui um conjunto de n entradas identificadas Xn1X0 e um conjunto de m saídas Zm1Z0 Há dois conjuntos de k sinais internos Qk1Q0 e Yk1Y0 Os sinais Q são as variáveis de estado atuais armazenadas nos flipflops que definem o estado atual do circuito Os sinais Y são as variáveis de estado futuro geradas para produzir o próximo estado do circuito e são entradas para os flipflops Os sinais Y são funções combinacionais das entradas do circuito Xn1X0 e do estado atual Qk1Q0 As saídas do circuito Zm1Z0 também são funções combinacionais das entradas e do estado atual Para criar um circuito sequencial síncrono baseado neste modelo é necessário deduzir as funções combinacionais das variáveis de próximo estado Yk1Y0 e das saídas Zm1Z0 Primeiramente é preciso estabelecer quantos flipflops são necessários para um projeto específico o valor de k Se dois estados são requeridos então uma variável de estado é necessária que valerá 0 para um estado e 1 para o outro Se três ou quatro estados são requeridos então duas variáveis de estado são necessárias pois há quatro palavras com duas variáveis 00 01 10 e 11 e cada palavra codificará um estado Em geral se entre 2k1 1 e 2k estados são requeridos k variáveis de estado e portanto k flipflops são necessários Após uma transição ativa do relógio que pode ser a de subida ou a de descida um tempo suficiente deve ser dado para os sinais passarem pela lógica combinacional para estabelecer os valores do próximo estado antes da próxima transição ativa do relógio Observase na figura 81 que mudanças de valores nas entradas primárias não causam mudanças de estado imediatas pois uma mudança de estado será determinada pelas entradas e pelo estado atual em sincronismo com a transição ativa do relógio Entretanto como as saídas do circuito são funções combinacionais que incluem as entradas Xn1X0 mudanças nestas entradas podem fazer as saídas mudarem imediatamente e não em sincronismo com o relógio Este comportamento se for indesejável em uma aplicação pode ser evitado tornandose as saídas funções combinacionais somente das variáveis de estado atuais Este novo modelo de máquina de estado é o modelo Moore mostrado na figura 82 UFPA ITEC FEE Eletrônica Digital 88 Figura 81 Máquina de estados finitos de modelo Mealy Um circuito sequencial síncrono pode geralmente ser projetado tanto a partir de um modelo Mealy quanto de um modelo Moore mas se um modelo Mealy for usado as saídas poderão ser imediatamente afetadas por mudanças nas entradas Isto é as saídas podem variar de forma assíncrona ao invés de somente após uma transição de relógio Na máquina de estados de modelo Mealy as saídas Zm1Z0 podem assumir valores diferentes dentro de um mesmo estado do circuito Portanto os comportamentos de um circuito de modelo Mealy e do seu equivalente de modelo Moore podem ser diferentes neste aspecto Para projetar uma máquina de estados finitos usando um dos dois modelos há dois conjuntos de funções para determinar as funções para as variáveis de estado futuro Yk1Y0 e as funções para as saídas Zm1Z0 O procedimento de projeto iniciase com a criação de um diagrama de estados derivado da especificação do problema Quando as saídas dos flipflops as variáveis de estado forem também as saídas do circuito o modelo mais adequado será naturalmente o modelo Moore Por exemplo um contador é geralmente um circuito de modelo Moore porque suas saídas costumam ser tomadas diretamente dos flipflops isto é Z Q ELETRÔNICA DIGITAL Prof Daniel Cardoso 89 Figura 82 Máquina de estados finitos de modelo Moore