·
Biomedicina ·
Laboratório de Sistemas Digitais
Envie sua pergunta para a IA e receba a resposta na hora
Recomendado para você
Texto de pré-visualização
01112023 1229 Sistemas Digitais SISTEMAS DIGITAIS UNIDADE 4 CONTADORES BINARIOS Fernando Cortez Sica httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 122 01112023 1229 Sistemas Digitais httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 222 01112023 1229 Sistemas Digitais ee Introducao g 01a prezado estudante Seja bemvindo a esta unidade de Sistemas Digitais A partir de seus conhecimentos sobre latches e flipflops chegou a hora de dialogarmos sobre outro representante da l6gica sequencial os contadores Mas o que vém a ser os contadores Como o préprio nome diz sdo circuitos responsaveis por estabelecer uma sequéncia de contagem Sera que as contagens devem ser sempre lineares ou seja com os numeros consecutivos Na verdade nao Por esse motivo abordaremos os contadores sincronos e assincronos Os assincronos permitem que sejam produzidas apenas contagens lineares j4 com os sincronos podemos definir sequéncias ndo lineares Mas qual é a utilidadeaplicagdo das contagens produzidas pelos contadores além do ébvio Bem com a contagem podemos visar por exemplo a divisdo de frequéncia e o controle inerente a uma maquina de estados E sera que com os componentes digitais é possivel montar um circuito contador Sim porém para isso vamos descrever dois novos tipos de flipflops os flipflops tipo JK e tipo T Tenha em mente que eles sao a base dos circuitos contadores tanto assincronos quanto sincronos Assim como os demais circuitos combinacionais e sequenciais os contadores também podem ser implementados utilizando Linguagens de Descriado de Hardware HDL ou Hardware Description Language ou circuitos integrados que implementam os flipflops ou que implementam os prdéprios contadores Para que possamos conversar sobre o assunto vamos primeiro abordar os novos tipos de flipflops tipo JK e tipo T para que possamos aplicalos aos contadores assincronos Apés vermos os conceitos envolvidos ea forma de implementacdo dos contadores assincronos falaremos sobre como limitar a sua contagem Em seguida dialogaremos sobre os contadores sincronos sobre como podemos implementalos bem como sobre suas vantagens sobre os assincronos Por fim para que possamos conversar sobre 0 emprego de contadores nas maquinas de estado conceituaremos tais maquinas de estados e onde poderemos utilizalas Preparado para iniciar este estudo Entao vamos 1a 41 Contadores binarios assincronos Como mencionamos para que possamos conversar sobre contadores teremos que falar sobre dois novos tipos de flipflops Relembrando flipflops so componentes da ldégica digital sequencial capazes de armazenar informacées Para que ocorra a carga do bit os flipflops sao sensiveis as transi6es do sinal do clock tanto de subida quanto de descida 411 Flipflop tipo JK e tipo T Um flipflop tipo JK lembra um pouco o flipflop tipo RS ou seja os seus terminais desempenham as funcionalidades de SET e RESET Porém nado ha a preocupacado como nos RS de evitar que os dois terminais sejam ativados simultaneamente A figura a seguir mostra a tabelaverdade e o diagrama esquematico do flipflop tipo JK httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 322 01112023 1229 Sistemas Digitais 5 Q 00 01 0 CLK 10 1 11 K Q Figura 1 Tabelaverdade e simbologia do flipflop tipo JK A safda Qt1 reflete o momento futuro do valor armazenado em fungao do valor corrente no tempo t valor Qt Fonte Elaborada pelo autor 2019 Como vocé pode observar na tabelaverdade apresentada na figura quando os terminais J e K recebem simultaneamente o valor ldgico 0 o valor armazenado no flipflop JK permanece inalterado mesmo no pulso do clock Por sua vez quando ativados isoladamente os terminais J e K fazem com que o valor armazenado se torne 1 e 0 respectivamente A diferenca do JK para o RS encontrase na ultima linha Enquanto que no RS devese evitar essa combinacado com ambos os terminais R e S no nivel légico 1 no flipflop JK essa combinaao faz com que o valor armazenado seja complementado ou seja caso esteja armazenado o valor 1 o proximo valor sera 0 e viceversa IDOETA CAPUANO 2012 a VOCE O CONHECE e O flipflop JK foi assim batizado em homenagem ao criador do circuito integrado Jack Kilby um engenheiro da Texas Instruments Para conhecer sua histéria vocé podera acessar o artigo escrito por Dingman 2013 que esta disponivel em httpspcworldcombralendadejackkilbyeos5 5anosdocircuitointegrado httpspcworldcombralendadejackkilbyeos5 5anosdocircuitointegrado eee eee eeeeeeeeeeee rere e ener eee renee eee eee eee httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 422 01112023 1229 Sistemas Digitais Uma variaado do flipflop JK consiste no flipflop T O tipo T Toggle alternadncia pode ser implementado a partir de um JK com seus terminais interconectados Assim 0 flipflop assume apenas duas possibilidades ou mantém o valor armazenado ou o inverte A figura a seguir mostra a implementacdo do flip flop T bem como sua tabelaverdade e um exemplo de uso Confira T J Q T Q CLK CLK CLK K Q Q Vicc T Q uk I OO CLK 0 Q Figura 2 Implementacdo de um flipflop tipo T a partir de um tipo JK parte superior tabelaverdade e exemplo de aplicacdo do flipflop tipo T Fonte Elaborada pelo autor 2019 Na parte superior da figura temos a forma de implementacdo de um flipflop tipo T a partir de um JK Podemos notar que os terminais J e K estado conectados entre si fazendo com que 0 tipo T tenha apenas duas possibilidades expressas na tabelaverdade inserida na figura ou mantémse o valor armazenado quando T for associado ao valor ldgico O ou o valor armazenado é invertido quando T receber o valor ldgico 1 Para uma melhor abstrado temos ainda na figura uma aplicado envolvendo o flipflop tipo T Tratase de uma chave ligadesliga A cada toque no botdo um pulso é enviado ao clock do flipflop fazendo com que haja a alternancia do estado do circuito controlado pelo flipflop no caso do exemplo um LED Assim podemos ligar e desligar o circuito por exemplo um aparelho ao pressionarmos um botdo Mas como utilizar efetivamente 0 flipflop JK ou T nos circuitos contadores Conversaremos agora sobre esse assunto 6o 412 Contadores assincronos Como conversamos ha pouco os flipflops tipo JK e tipo T tém a particularidade de permitir uma alternancia do valor armazenado Essa alterndncia sera diretamente aproveitada nos contadores Para comecarmos a falar sobre a relacao entre esses flipflops e o contador assincrono podemos adiantar que uma httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 522 01112023 1229 Sistemas Digitais contagem linear consiste na produdo de valores consecutivos Valores consecutivos se alternam entre positivos e negativos Em representacdo binaria qual é 0 ultimo bit o menos significativo ultimo bit a direita quando 0 nimero é par E quando o numero é impar Ja podemos comegar a notar essa alternancia 0 ultimo bit varia entre 0 e 1 para representar os valores pares e mpares respectivamente JA comecou a imaginar como fica a implementado Podemos iniciar nossa implementado envolvendo um flipflop JK ou T no bit menos significativo do contador A cada pulso de clock que podera ser por exemplo a cada pessoa que passe em uma catraca o valor é alternado expressando os pares e impares Mas como ficariam os demais bits da palavra sob contagem Para melhor abstrairmos vamos analisar a tabelaverdade expressa na figura a seguir Na mesma figura perceba encontrase também a implementacdo de um contador para uma palavra de trés bits ou seja realiza a contagem do valor 0002 010 até 1112 710 ca o o o 0 0 1 0 0 maa 1 o o 1 0 1 1 0 4 t o J Q J Q J 7 Q CLK cp CLK cp CLK cp CLK K K Q K Q OC se 0 c B A Figura 3 Tabela de transiées dos valores em um contador binario assincrono ea respectiva implementagao utilizando flipflops JK Fonte Elaborado pelo autor 2019 Na figura percebemos que a mudanga de um bit da palavra binaria se da apenas quando houver a transido de descida do bit de ordem imediatamente inferior Por exemplo o bit B apenas varia quando o bit C passa do nivel légico 1 para o nivel l6gico 0 0 mesmo se aplica ao bit A que depende da transiao de descida do bit B Esse é 0 motivo de utilizarmos flipflops com a légica negativa no sinal do clock 0 simbolo de inversao junto a entrada do clock sinaliza o uso da légica negativa Assim os flipflops apenas sao ativados na transiao de descida do sinal do clock Quando ativado o flipflop JK poderia ter sido usado o tipo T alterna seu valor armazenado devido ao fato de que seus terminais J e K estao conectados ao nivel ldgico 1 No nivel ldgico 1 estéo também conectados todos os terminais S set e R reset dos flipflops Tais terminais httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 622 01112023 1229 Sistemas Digitais quando ativados fazem com que o valor armazenado assuma o valor 1 ou 0 respectivamente independentemente do sinal do clock ou dos terminais J e K Os terminais S e R nesse caso também operam na légica negativa ou seja sao ativados quando alimentados com o nivel légico 0 eee eeeeeeeeeeeeeeeeeeeeee ee eeeee eee eee VOCE QUER VER e Comercialmente existem diversas implementagées de contadores binarios por meio de circuitos integrados Dentro das implementacées podemos encontrar aqueles que fazem tanto a contagem crescente quanto a decrescente em que a selecdo da funcionalidade é feita por meio de um pino de controle Para saber um pouco sobre uma implementacdo comercial de contador vocé podera assistir ao video do canal Eletrénica Facil 2015 disponivel em httpswwwyoutubecomwatch vv2AW8mwxLsg httpswwwyoutubecomwatchvv2 AW8mwxLSg eee eeeeeeeeeeeeeeeeeeeeee ee eeeee eee eee Vocé deve estar se perguntando Mas e para realizar contagens decrescentes Bem para que a contagem seja realizada decrescentemente basta realizar uma das seguintes op6es Coletar os Os valores decrescentes correspondem aos bits complementados dos valores valores crescentes das saidas negadas Usara Podese para realizar a contagem decrescente utilizar a l6gica positiva junto ao sinal légica do clock Dessa forma as alteragées dos valores armazenados nos flipflops ocorrerao positiva na transicdo de subida do sinal de clock Nesse caso devese manter as saidas da no sinal palavra sob contagem atreladas aos pinos Q dos flipflops do clock Mas e se uma aplicacdo como os segundos de um reldgio requerer uma contagem que nado chega até a capacidade maxima de contagem do dispositivo Como proceder para limitar uma contagem Veremos isso a seguir httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 722 01112023 1229 Sistemas Digitais SN VAMOS PRATICAR Um gerador de onda triangular pode ser obtido por intermédio da ligacac conversor DA digital analégico na saida de um contador binario cr decrescente Implemente um contador bindrio que alterne automatican seu modo de contagem ou sejaem um certo momento ele se comporta ci contador crescente variando os valores por exemplo de 0 a 7 e ao z topo da contagem ele passa a ser decrescente variando os seus valores di Essa alternancia deve ser automatica quando a contagem atingir o seu limi Da 413 Limitagdo de contagem nos contadores assincronos Vamos supor que precisamos implementar 0 campo das unidades e das dezenas de segundos de um reldgio Sabemos que as unidades dos segundos variam de 0 até 9 e por sua vez o campo das dezenas dos segundos varia de 0 até 5 Inicialmente podemos observar que para expressar valores de 0 até 9 precisaremos de 4 bits Porém com os 4 bits poderemos ter uma contagem de 0 até 15 2 1 Assim nao podemos deixar com que a contagem chegue até o valor maximo ou seja devemos reiniciala antes Mas como fazer isso Nesse ponto surge uma das aplicacées dos sinais de SET e RESET dos flipflops Quando a contagem alcangar o primeiro valor indesejavel no caso o valor 10 devese ativar os terminais RESET de todos os flipflops fazendo com que o valor armazenado volte a valer 0 A figura a seguir mostra como limitar as contagens e ainda como estabelecer a relacdo entre a contagem das unidades e as dezenas dos segundos de um relégio httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 822 01112023 1229 Sistemas Digitais ae Dezenas dos segundos 2 L J J Q J Q J7 Q cp CLK op CLK op CLK Ke Ky Ky 9 Lt Unidades dos segundos i s J Q J Q J Q J Q CLK cp CLK cp CLK cp CLK cp CLK Ke Q Ke Q K Q Ky Q i tJ LJ Figura 4 Exemplificacao da limitacdo de contagem dos contadores assincronos na geracdo das dezenas e das unidades dos segundos em um rel6dgio Fonte Elaborada pelo autor 2019 Na figura perceba que temos dois circuitos contadores assincronos um relativo a contagem de 0 a 9 unidade dos segundos e o outro responsavel pela contagem de 0 a 5 dezenas dos segundos O clock externo atribuido ao contador das unidades de segundos deve ser de 1 pulso por segundo 1 Hz Por sua vez o clock do contador das dezenas de segundos é 0 proprio sinal de reset do contador das unidades A cada reciclagem da contagem das unidades incrementase a dezena dos segundos Podemos notar ainda em relaao a figura anterior que a limitacdo da contagem é realizada por intermédio de uma porta NAND devido a légica negativa do sinal de reset dos flipflops quando atingir um valor invalido por exemplo 610 1102 no contador das dezenas A porta NAND resultara no nivel légico 0 ativando os terminais de reset e consequentemente zerando o valor armazenado no contador O processo de limitagado da contagem pode ser aplicado para se obter divisdo de frequéncia No caso das unidades dos segundos para que o sinal de reset seja emitido sdo necessarios 10 pulsos de clock Dessa forma temos um divisor de frequéncia por 10 também denominado como divisor de década Os contadores assincronos sao assim chamados porque cada flipflop atua em uma frequéncia distinta O primeiro flipflop atua na frequéncia F o segundo ja na frequéncia F2 0 terceiro em F4 e assim por diante Uma limitacdo inerente aos contadores assincronos consiste no tempo para que dado um pulso de clock tenhamos o valor de forma estavel Para a estabilidade do valor os pulsos de clock devem ser httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 922 01112023 1229 Sistemas Digitais propagados de flipflop em flipflop causando lentidado na operaao Além disso caso fagamos a coleta do valor antes que todos os sinais de clock tenham sido propagados podemos coletar um valor erréneo representando assim um ruido do valor Para resolvermos isso podemos implementar um contador denominado contador sincrono o qual abordaremos a seguir Continue acompanhando ee VAMOS PRATICAR e Mencionamos que podemos limitar a contagem de um contador binario E divisor de frequéncia denominado divisor de década que limita a conte valor 10 Implemente um contador com essa particularidade ee e e 42 Contadores binarios sincronos Como mencionado um contador assincrono apresenta como ponto negativo a possibilidade de um valor err6neo de contagem durante a transido do sinal do clock entre os seus flipflops Para resolver esse problema podemos fazer uso dos contadores binarios sincronos Saiba mais sobre eles a seguir 421 Tabelas de transioes de valores dos flipflops do tipo JK Os contadores sincronos sao assim denominados como tal pelo fato de que todos os flipflops integrantes recebem o sinal de clock ao mesmo tempo VAHID LASCHUK 2008 Dessa forma as suas ativagées ocorrem simultaneamente Mas devido a ativacdo ao mesmo tempo como definir 0 que cada flipflop deve fazer Para isso cada entrada J e K deve ser associada a um circuito combinacional que fornece um valor de acordo com o estado atual de contagem Isso possibilita também a geracdo de contagens nao lineares ou seja os valores de contagem nao necessitam ser sequenciais httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 1022 01112023 1229 Sistemas Digitais eee e renee eee eee VOCE QUER LER e Como qualquer outro sistema ldégico digital tanto combinacional quanto sequencial os contadores sincronos também poderdo ser implementados utilizando uma HDL Para conhecer um pouco mais sobre esse universo da descrido de hardware usando Verilog assim como verificar como implementar um contador usando essa técnica vocé podera acessar o artigo de Alexandro Delgado e Ogg 2011 disponivel em httpswwwinufpebrvoosdAula6Verilogpdf httpswwwcinufpebrvoosdAula6Verilogpdf ee Mas em que embasar a geracao dos valores dos circuitos combinacionais cujas saidas serao atribuidas aos terminais J e K dos flipflops Para isso teremos que olhar as transiées de cada bit da palavra referente a contagem entre cada linha subsequente Antes de exemplificarmos esse processo apresentaremos na figura a seguir as possibilidades de transiées e os valores associados as entradas J e K J1 JX KX Kl ce JO0 JxX KX K0 Figura 5 Valores das entradas J e K associados as transiées relativas a contagem demandada As transi6es devem ser observadas em cada bit na sequéncia de linha por linha Fonte Elaborada pelo autor 2019 Veremos agora como efetivamente implementar os contadores sincronos httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 1122 01112023 1229 Sistemas Digitais e ee 422 Implementagao dos contadores binarios sincronos Para que possamos conversar sobre como podemos implementar um contador binario sincrono vamos supor que queremos construir um contador cuja contagem é 0 3 2 4 5 Como 0 valor maximo da contagem é 5 necessitamos de 3 bits consequentemente 3 flipflops A figura a seguir ilustra a tabelaverdade contemplando as transides dos bits da palavra sob contagem assim como os valores associados aos terminais J e K dos flipflops constituintes do contador CSE 0 0 0 0 1 x 2 of 110 x x 0x 1 2 oF yo a x 0X 4 1 00 x ojo x1 x s 1 ota Kd Figura 6 Tabelaverdade referente a contagem 0 3 2 4 5 com os valores de Ja Ka Jb e Kb associados as transiées dos bits A e B em destaque Fonte Elaborada pelo autor 2019 Na figura temos a formacdo dos valores relativos aos terminais Ja Ka Jb Kb Jc e Kc relativos as transicées dos bits A B e C que comp6em a palavra sob contagem Por exemplo na transido do valor da contagem 0 para 3 temos no bit A a transicao 0 0 Assim temos os valores Ja e Ka relativos a essa transido valendo 0 e xX respectivamente Por sua vez por exemplo na transiao dos valores de 2 para 4 temos em B a transido do valor légico 1 para o valor légico 0 Dessa forma Jb e Kb para a referida transido devem corresponder a X e 1 respectivamente Extraindo todas as expressGdes e realizando o processo de simplificacdo temos as seguintes expresses booleanas e JaABC e KaABC e JbAC e KbAC e JcBC e KcAQB Essas expressGes poderdo ser observadas na figura a seguir que ilustra a implementacado do contador sincrono que realiza a sequéncia 0 3 2 45 httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 1222 01112023 1229 Sistemas Digitais CLK G 8 8 J J Q J 7 Q J Q op CLK cp CLK a CLK Ky Ke Q Ky B c A Figura 7 Implementacdo do contador sincrono para a exibicao no display da sequéncia 0 3 27 4 5 Notase que pelo fato do sinal do clock chegar simultaneamente a todos os flipflops a ordem dos bits de saida é irrelevante Fonte Elaborada pelo autor 2019 Existem alguns nimeros que nado foram contemplados na sequéncia No caso do exemplo anterior temos os valores 1 6 e 7 Para evitar transtornos em possiveis desvios de contagem causados por exemplo por distirbios externos ou fadiga dos préprios componentes utilizados sugerimos adotar uma das trés possibilidades relacionadas a seguir Voltar imediatamente a um valor da contagem de forma assincrona Nesse CaSO acionase imediatamente os terminais PRESET ou set e CLEAR ou reset dos flipflops httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 1322 01112023 1229 Sistemas Digitais Criar transides entre cada elemento fora da contagem para um valor da contagem Por exemplo no nosso caso 1 0 6 0 e 7 0 Nessa possibilidade a volta a contagem determinada é realizada de forma sincrona esperase o pulso do clock para voltar a sequéncia correta Criar uma sequéncia a parte envolvendo os elementos fora da contagem para que no final convirja para algum valor da contagem estabelecida No nosso caso terfamos por exemplo 7 6 1 0 A volta a sequéncia correta nesse caso é também realizada de forma sincrona Existem outras aplicaées para utilizarmos os contadores sincronos Veremos a seguir uma aplicacdo direta Tratase da manipulacdo de maquinas de estado VAMOS PRATICAR Sabemos que um contador sincrono permite realizar uma contagem cc sequéncia nao linear Implemente no caso um contador para realizar a s sequéncia0 3 27103 43 Maquinas de estados httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 1422 01112023 1229 Sistemas Digitais De acordo com Tocci Widmer e Moss 2018 maquinas de estados sao circuitos com a capacidade de determinar um préximo estado em fungdo do estado corrente e das variaveis de entrada Mas 0 que sdo estados Estados correspondem as funcionalidades implementadas Se pensarmos no mundo da programacao podemos inclusive fazer uma analogia com uma fungao Assim temos funcdes em execucao Mas como passar de uma fundo para outra ou seja como passar de um estado para o outro Saiba que a passagem de estados é decorrente da acdo de eventos Um evento pode ser por exemplo a variacado do valor de uma variavel ou resposta de um sensor Com essa breve conceituagdo vamos ver na pratica o que é uma maquina de estados e como podemos implementala Continue acompanhando n o 431 Implementagao de Maquinas de estados Para que possamos dialogar sobre como implementar uma maquina de estados vamos imaginar uma maquina automatica para a venda de refrigerantes Como estados podemos mencionar Estad Representa o estado de standby ou seja a maquina fica aguardando uma aao A stado aa Inicial unica acdo plausivel de acontecimento para sair do estado de standby podera ser de nicia insercdo de dinheiro Esse estado representa a acdo de contabilizacao da quantia depositadas na maquina Inserindo de refrigerantes A cada inserdo ocorre a somatoéria do valor inserido para a Dinheiro totalizagao do saldo Para sair desse estado 0 usuario podera pressionar 0 botao de cancelamento da compra ou 0 botdo para a selecao do produto Denota o procedimento para a liberagdo do produto selecionado atuando sobre as Lib d partes mecanicas da maquina Enquanto o produto ainda estiver em liberacdo a iberando ge Produt maquina permanecera nesse estado Para simplificar nosso exemplo nado esta sendo roduto testado se o saldo inserido é suficiente para a compra do produto A maquina finalizara esse estado somente quando a liberacdo do produto for conclufda O estado Devolvendo Troco envolve as acées para a devolucao do saldo ainda disponivel apéds a compra ou apds o usuario ter solicitado 0 cancelamento da Devolvend T compra A maquina permanecera nesse estado enquanto ainda houver saldo a ser o Troco Li liberado Apds a liberacdo total da quantia devida ao usuario a maquina retornara ao estado de standby Como podemos notar os estados correspondem as acées que poderao ser realizadas pelo sistema httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 1522 01112023 1229 Sistemas Digitais SSS CASO Um projetista recebeu a incumbéncia de implementar um circuito para detectar uma sequéncia de dados recebidos por uma rede de computadores Essa sequéncia é relacionada ao protocolo utilizado de forma a identificar sinais de controle Verificando a sequéncia ele logo percebeu que a melhor forma de se implementar é utilizando uma maquina de estados Porém ele sabe que existem dois modelos para se implementar a maquina de Moore e a maquina de Mealy Pesquisando ele tomou conhecimento que nas maquinas de Moore as saidas sdo decorrentes apenas do estado atual e nas maquinas de Mealy as saidas sao decorrentes tanto do estado atual quanto dos valores assumidas pelas entradas Em relado ao recebimento de informaoes pela rede ele ficou com receio de que as variacgoes das informacées das entradas pudessem afetar o valor da saida de forma assincrona ou seja caso as entradas fossem modificadas poderiam ser provocados ruidos nos valores obtidos na saida do circuito Porém por outro lado as respostas geradas por uma maquina de Moore sao mais lentas em relacdo a de Mealy que proporciona também uma implementacdo menos complexa e consequentemente mais barata em relacdo a de Moore Porém apés refletir sobre a questdo o projetista resolveu adotar 0 modelo de Moore em fungdo da questao relacionada ao ruido que poderia aparecer na maquina de Mealy para esse tipo de aplicado ee A passagem de um estado para o outro ocorre na ocorréncia de eventos Como eventos ainda utilizando a maquina automatica para venda de refrigerantes podemos citar algumas acées Confira Dinheiro Corresponde a acao de insercdo de dinheiro e a respectiva passagem da cédula ou Inserido moeda no sensor que identifica o valor depositado Botao Acao decorrente do pressionamento pelo usuario do botado para a selecdo de um Seleciona produto Produto Pressiona do Botao Denota a acdo de pressionamento pelo usuario do botdo para o cancelamento da Cancelam operacdo de compra de refrigerantes ento Pressiona do httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 1622 01112023 1229 Sistemas Digitais Produto Evento que indica que o produto ainda nado completou o seu curso para a liberaao em Indicativo fornecido por exemplo do sensor de passagem do produto Liberaao Produto Evento que indica que o produto ja foi liberado Liberado Ainda tem Evento associado ao saldo restante a ser devolvido ao usuario Saldoa Devolver Saldo Evento disparado quando o saldo estiver zerado Zerado Por se tratar de uma maquina sincrona ou seja sincronizada pelos pulsos de clock o Nada evento nada é associado quando nenhuma acao externa foi realizada momento do pulso do clock Na maquina de estados os estados sao representados por nds elipses ou circunferéncias e os eventos sdo representados por arcos ou links setas interligando os estados Juntando os estados e os eventos mencionados podemos estabelecer a maquina completa conforme ilustra a figura a seguir httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 1722 01112023 1229 Sistemas Digitais Nada 0 Estado Inicial 0 Dinheiro Inserido 1 Nada 0 Saldo Botao Cancelamento Cc zerado 1 Pressionado 2 Inserindo a Devolvend Dinheiro 2 Dinheiro evolvendo Dinheiro Inserido 1 Troco 1 a Botao Seleciona Ainda tem saldo Produto a devolver 0 Pressionado 3 Produto Liberado 1 Liberando Produto em Produto 3 Liberacao 0 Figura 8 Exemplo de uma maquina de estados para a venda automatica de refrigerantes Os nés representam os estados e os arcos representam os eventos Fonte Elaborada pelo autor 2019 Como ilustrado na figura podemos notar que os eventos interligam os estados Os eventos apenas atuam sobre o estado corrente da maquina de estados caso estiverem associados ao proprio estado corrente Por exemplo caso o usuario pressione o botdo de selecdo de produto enquanto a maquina estiver no estado inicial nada acontecera pois o referido evento ndo esta associado ao estado inicial Ainda em relacdo a figura anterior podemos notar que tanto os estados quanto os eventos encontramse numerados A numeraao dos eventos é reiniciada dentro de cada estado A numeracdo se faz presente pelo fato de que com ela montaremos a tabela de transiées Vocé percebe alguma aproximaao com algum tdépico ja conversado neste capitulo Se olhar atentamente na maquina de estado vocé vera uma sequéncia de valores por exemplo do estado 0 para o estado 3 Dessa forma podemos ja identificar a sequéncia 0 3 Ficou mais claro que estamos tratando de um circuito contador binario sincrono certo Mas como podemos montar a tabela completa contemplando os estados e os eventos Nesse caso poderemos juntar a identificagdo dos estados com a identificagdo dos eventos formando portanto uma palavra que correspondera aos bits de entrada da tabelaverdade do contador sincrono Mas quais serdo os bits de saida Para a questao da maquina de refrigerantes desejamos obter como saida o proprio estado corrente httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 1822 01112023 1229 Sistemas Digitais Assim construiremos uma tabelaverdade tendo como entradas os bits E e Eo para denotar os estados e também os bits Vy e Vo para representar os eventos Tratando de um contador binario sincrono as saidas da tabelaverdade corresponderao aos bits dos terminais J e K dos flipflops JK associados aos bits dos estados Podemos entao notar que o estado atual influenciara na obtendo do novo estado eee reer renee renner eee VOCE SABIA e Vocé sabia que maquinas de estado ndo sao implementadas somente a nivel de hardware Os sistemas computacionais baseados em software também podem ser modelados utilizandose as maquinas de estado Para saber mais acesso 0 artigo escrito por Bertoleti 2015 disponivel em httpswwwembarcadoscombrmaquinadeestado httpswwwembarcadoscombrmaquinadeestado es A figura a seguir contempla a tabelaverdade usada para a obtencdo das transicées relativas 4 maquina automatica para venda de refrigerantes realcando as transides presentes na maquina de estado httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 1922 01112023 1229 Sistemas Digitais 0 0 Oo O O xX O X 0 0 Oo 1 1 xX O X 0 1 0 0 0 xX XxX OQ 0 1 oO 1 0O xX xX 1 Cc 1 oO OO O X 0 O X 1 Oo 90 1 xX O O X ltl oO 1 0 xX 1 1 X C 1 oO 1 1 xX QO 1 Xx 1l 1 060 0 X 0 XxX QO 1 1 0 a1 XxX 1 xX O Figura 9 Tabelaverdade relativa as transi6es entre os estados para a obtencdo dos valores dos terminais dos flipflops representativos do estado corrente As cores dos valores de cada J e K correspondem as cores das transiGes Fonte Elaborada pelo autor 2019 Podemos notar pela figura que os valores relativos aos terminais J e K sao obtidos observandose as transides ocasionadas pelo estado atual em conjunto com os eventos acontecidos Por exemplo a primeira linha da tabelaverdade referese ao estado 0evento 0 Para essa combinacdo de estadoevento temse a transido apontando para a propria linha Assim tanto E1 quanto E2 possuem a transido 0 0 resultando no valor légico 0 para JE1 e JEO e no valor ldgico X para KE1 e KEO Por sua vez a segunda linha estado 0 evento 1 tem sua transido para a quinta linha estado 2 Assim E1 tem uma transido 0 1 e EO uma transiao 0 0 resultando portanto nos valores 1 Xx O X para os terminais JE1 KE1 JEO e KEO respectivamente Realizando a extrado das express6es a partir da tabelaverdade contida na figura temos e JE1E0V1VO0 e KE1E0V1V0E1E0VO e JEOE1E0V1 e KEOE1V1V0 Notamos que necessitamos extrair as express6es apenas dos flipflops relativos a geracdo do estado corrente bits E1 e E0 devido ao fato de que os bits V1 e VO sdo variaveis de entrada provenientes dos sensores da maquina automatica de venda de refrigerantes Assim os sensores sdo multiplexados de forma que apenas aqueles relacionados ao estado atual possam ter seus valores manipulados pelo contador binario sincrono httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 2022 01112023 1229 Sistemas Digitais VAMOS PRATICAR e Mencionamos que uma maquina de estado tem por objetivo represent sequéncia de estados Por sua vez um contador também visa estabelec sequéncia de estados que sdo os proprios valores sob contagem Assim maquinas de estados implemente um contador Gray de 2 bits Lembrand contagem Gray segue a seguinte sequéncia 000111e 10 Sintese Chegamos ao fim desta unidade Neste nosso encontro pudemos dialogar sobre circuitos com a propriedade de realizar contagens os chamados circuitos contadores binarios Conceituamos e analisamos as diferencas dos contadores binarios assincronos e os contadores binarios sincronos Vimos ainda uma aplicacao direta do contador sincrono que consiste na maquina de estados Dessa forma vocé com os conhecimentos aqui adquiridos podera implementar sistemas légicos digitais para a manipulacao de palavras binarias seja como elemento principal de processamento seja como circuitos auxiliares ou de interfaceamento légico Os pontos aqui abordados também servirdo de base para um entendimento de como funciona um sistema ldgico digital ou ainda servir como bagagem para a tomada de decisdes nos momentos de sua implementagdo quer usando circuitos integrados ou quer usando HDL Nesta unidade vocé teve a oportunidade de e ter contato com ateoria relacionada aos contadores binarios e saber diferenciar e aplicar solucoes baseadas em contadores binarios assincronos e contadores binarios sincronos e desenvolver maquinas de estado implementar sistemas logicos digitais que envolvam contadores binarios 4 Clique para baixar o contetido deste tema httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 2122 01112023 1229 Sistemas Digitais Bibliografia ALEXANDRO D DELGADO R OGG V Sistemas Digitais Linguagem Verilog Recife Universidade Federal de Pernanbuco Centro de Informatica 2011 Disponivel em httpswwwcinufpebrvoosdAula6VerilogpdfhttpswwwcinufpebrvoosdAula6Verilogpdf httpswwwcinufpebrvoosdAula6Verilogpdf Acesso em 23092019 BERTOLETI P Maquina de Estado 07 ago 2015 Disponivel em httpswwwembarcadoscombrmaquinadeestado httpswwwembarcadoscombrmaquinade estado httpswwwembarcadoscombrmaquinadeestado Acesso em 23092019 DINGMAN H A lenda de Jack Kilby e os 55 anos do circuito integrado 13 set 2013 Disponivel em httpspcworldcombralendadejackkilbyeos55anosdocircuito integradohttpspcworldcombralendadejackkilbyeos55anosdocircuitointegrado httpspcworldcombralendadejackkilbyeos55anosdocircuitointegrado Acesso em 23092019 ELETRONICA FACIL Eletrénica Digital 33 Contador crescente e decrescente usando o CI 4510 12 maio 2015 Disponivel em httpswwwyoutubecomwatch vv2AW8mwxLSghttpswwwyoutubecomwatchvv2AW8mwxLSg httpswwwyoutubecomwatch vv2AW8mwxLSg Acesso em 23092019 IDOETA I V CAPUANO F G Elementos de Eletroénica Digital 41 ed Sdo Paulo Erica 2012 TOCCI R J WIDMER N S MOSS G L Sistemas Digitais Principios e Aplicagédes 12 ed Sdo Paulo Pearson Education do Brasil 2018 VAHID F LASCHUK A Sistemas Digitais Projeto otimizacgao e HDLs Porto Alegre Bookman 2008 httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 2222
Envie sua pergunta para a IA e receba a resposta na hora
Recomendado para você
Texto de pré-visualização
01112023 1229 Sistemas Digitais SISTEMAS DIGITAIS UNIDADE 4 CONTADORES BINARIOS Fernando Cortez Sica httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 122 01112023 1229 Sistemas Digitais httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 222 01112023 1229 Sistemas Digitais ee Introducao g 01a prezado estudante Seja bemvindo a esta unidade de Sistemas Digitais A partir de seus conhecimentos sobre latches e flipflops chegou a hora de dialogarmos sobre outro representante da l6gica sequencial os contadores Mas o que vém a ser os contadores Como o préprio nome diz sdo circuitos responsaveis por estabelecer uma sequéncia de contagem Sera que as contagens devem ser sempre lineares ou seja com os numeros consecutivos Na verdade nao Por esse motivo abordaremos os contadores sincronos e assincronos Os assincronos permitem que sejam produzidas apenas contagens lineares j4 com os sincronos podemos definir sequéncias ndo lineares Mas qual é a utilidadeaplicagdo das contagens produzidas pelos contadores além do ébvio Bem com a contagem podemos visar por exemplo a divisdo de frequéncia e o controle inerente a uma maquina de estados E sera que com os componentes digitais é possivel montar um circuito contador Sim porém para isso vamos descrever dois novos tipos de flipflops os flipflops tipo JK e tipo T Tenha em mente que eles sao a base dos circuitos contadores tanto assincronos quanto sincronos Assim como os demais circuitos combinacionais e sequenciais os contadores também podem ser implementados utilizando Linguagens de Descriado de Hardware HDL ou Hardware Description Language ou circuitos integrados que implementam os flipflops ou que implementam os prdéprios contadores Para que possamos conversar sobre o assunto vamos primeiro abordar os novos tipos de flipflops tipo JK e tipo T para que possamos aplicalos aos contadores assincronos Apés vermos os conceitos envolvidos ea forma de implementacdo dos contadores assincronos falaremos sobre como limitar a sua contagem Em seguida dialogaremos sobre os contadores sincronos sobre como podemos implementalos bem como sobre suas vantagens sobre os assincronos Por fim para que possamos conversar sobre 0 emprego de contadores nas maquinas de estado conceituaremos tais maquinas de estados e onde poderemos utilizalas Preparado para iniciar este estudo Entao vamos 1a 41 Contadores binarios assincronos Como mencionamos para que possamos conversar sobre contadores teremos que falar sobre dois novos tipos de flipflops Relembrando flipflops so componentes da ldégica digital sequencial capazes de armazenar informacées Para que ocorra a carga do bit os flipflops sao sensiveis as transi6es do sinal do clock tanto de subida quanto de descida 411 Flipflop tipo JK e tipo T Um flipflop tipo JK lembra um pouco o flipflop tipo RS ou seja os seus terminais desempenham as funcionalidades de SET e RESET Porém nado ha a preocupacado como nos RS de evitar que os dois terminais sejam ativados simultaneamente A figura a seguir mostra a tabelaverdade e o diagrama esquematico do flipflop tipo JK httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 322 01112023 1229 Sistemas Digitais 5 Q 00 01 0 CLK 10 1 11 K Q Figura 1 Tabelaverdade e simbologia do flipflop tipo JK A safda Qt1 reflete o momento futuro do valor armazenado em fungao do valor corrente no tempo t valor Qt Fonte Elaborada pelo autor 2019 Como vocé pode observar na tabelaverdade apresentada na figura quando os terminais J e K recebem simultaneamente o valor ldgico 0 o valor armazenado no flipflop JK permanece inalterado mesmo no pulso do clock Por sua vez quando ativados isoladamente os terminais J e K fazem com que o valor armazenado se torne 1 e 0 respectivamente A diferenca do JK para o RS encontrase na ultima linha Enquanto que no RS devese evitar essa combinacado com ambos os terminais R e S no nivel légico 1 no flipflop JK essa combinaao faz com que o valor armazenado seja complementado ou seja caso esteja armazenado o valor 1 o proximo valor sera 0 e viceversa IDOETA CAPUANO 2012 a VOCE O CONHECE e O flipflop JK foi assim batizado em homenagem ao criador do circuito integrado Jack Kilby um engenheiro da Texas Instruments Para conhecer sua histéria vocé podera acessar o artigo escrito por Dingman 2013 que esta disponivel em httpspcworldcombralendadejackkilbyeos5 5anosdocircuitointegrado httpspcworldcombralendadejackkilbyeos5 5anosdocircuitointegrado eee eee eeeeeeeeeeee rere e ener eee renee eee eee eee httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 422 01112023 1229 Sistemas Digitais Uma variaado do flipflop JK consiste no flipflop T O tipo T Toggle alternadncia pode ser implementado a partir de um JK com seus terminais interconectados Assim 0 flipflop assume apenas duas possibilidades ou mantém o valor armazenado ou o inverte A figura a seguir mostra a implementacdo do flip flop T bem como sua tabelaverdade e um exemplo de uso Confira T J Q T Q CLK CLK CLK K Q Q Vicc T Q uk I OO CLK 0 Q Figura 2 Implementacdo de um flipflop tipo T a partir de um tipo JK parte superior tabelaverdade e exemplo de aplicacdo do flipflop tipo T Fonte Elaborada pelo autor 2019 Na parte superior da figura temos a forma de implementacdo de um flipflop tipo T a partir de um JK Podemos notar que os terminais J e K estado conectados entre si fazendo com que 0 tipo T tenha apenas duas possibilidades expressas na tabelaverdade inserida na figura ou mantémse o valor armazenado quando T for associado ao valor ldgico O ou o valor armazenado é invertido quando T receber o valor ldgico 1 Para uma melhor abstrado temos ainda na figura uma aplicado envolvendo o flipflop tipo T Tratase de uma chave ligadesliga A cada toque no botdo um pulso é enviado ao clock do flipflop fazendo com que haja a alternancia do estado do circuito controlado pelo flipflop no caso do exemplo um LED Assim podemos ligar e desligar o circuito por exemplo um aparelho ao pressionarmos um botdo Mas como utilizar efetivamente 0 flipflop JK ou T nos circuitos contadores Conversaremos agora sobre esse assunto 6o 412 Contadores assincronos Como conversamos ha pouco os flipflops tipo JK e tipo T tém a particularidade de permitir uma alternancia do valor armazenado Essa alterndncia sera diretamente aproveitada nos contadores Para comecarmos a falar sobre a relacao entre esses flipflops e o contador assincrono podemos adiantar que uma httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 522 01112023 1229 Sistemas Digitais contagem linear consiste na produdo de valores consecutivos Valores consecutivos se alternam entre positivos e negativos Em representacdo binaria qual é 0 ultimo bit o menos significativo ultimo bit a direita quando 0 nimero é par E quando o numero é impar Ja podemos comegar a notar essa alternancia 0 ultimo bit varia entre 0 e 1 para representar os valores pares e mpares respectivamente JA comecou a imaginar como fica a implementado Podemos iniciar nossa implementado envolvendo um flipflop JK ou T no bit menos significativo do contador A cada pulso de clock que podera ser por exemplo a cada pessoa que passe em uma catraca o valor é alternado expressando os pares e impares Mas como ficariam os demais bits da palavra sob contagem Para melhor abstrairmos vamos analisar a tabelaverdade expressa na figura a seguir Na mesma figura perceba encontrase também a implementacdo de um contador para uma palavra de trés bits ou seja realiza a contagem do valor 0002 010 até 1112 710 ca o o o 0 0 1 0 0 maa 1 o o 1 0 1 1 0 4 t o J Q J Q J 7 Q CLK cp CLK cp CLK cp CLK K K Q K Q OC se 0 c B A Figura 3 Tabela de transiées dos valores em um contador binario assincrono ea respectiva implementagao utilizando flipflops JK Fonte Elaborado pelo autor 2019 Na figura percebemos que a mudanga de um bit da palavra binaria se da apenas quando houver a transido de descida do bit de ordem imediatamente inferior Por exemplo o bit B apenas varia quando o bit C passa do nivel légico 1 para o nivel l6gico 0 0 mesmo se aplica ao bit A que depende da transiao de descida do bit B Esse é 0 motivo de utilizarmos flipflops com a légica negativa no sinal do clock 0 simbolo de inversao junto a entrada do clock sinaliza o uso da légica negativa Assim os flipflops apenas sao ativados na transiao de descida do sinal do clock Quando ativado o flipflop JK poderia ter sido usado o tipo T alterna seu valor armazenado devido ao fato de que seus terminais J e K estao conectados ao nivel ldgico 1 No nivel ldgico 1 estéo também conectados todos os terminais S set e R reset dos flipflops Tais terminais httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 622 01112023 1229 Sistemas Digitais quando ativados fazem com que o valor armazenado assuma o valor 1 ou 0 respectivamente independentemente do sinal do clock ou dos terminais J e K Os terminais S e R nesse caso também operam na légica negativa ou seja sao ativados quando alimentados com o nivel légico 0 eee eeeeeeeeeeeeeeeeeeeeee ee eeeee eee eee VOCE QUER VER e Comercialmente existem diversas implementagées de contadores binarios por meio de circuitos integrados Dentro das implementacées podemos encontrar aqueles que fazem tanto a contagem crescente quanto a decrescente em que a selecdo da funcionalidade é feita por meio de um pino de controle Para saber um pouco sobre uma implementacdo comercial de contador vocé podera assistir ao video do canal Eletrénica Facil 2015 disponivel em httpswwwyoutubecomwatch vv2AW8mwxLsg httpswwwyoutubecomwatchvv2 AW8mwxLSg eee eeeeeeeeeeeeeeeeeeeeee ee eeeee eee eee Vocé deve estar se perguntando Mas e para realizar contagens decrescentes Bem para que a contagem seja realizada decrescentemente basta realizar uma das seguintes op6es Coletar os Os valores decrescentes correspondem aos bits complementados dos valores valores crescentes das saidas negadas Usara Podese para realizar a contagem decrescente utilizar a l6gica positiva junto ao sinal légica do clock Dessa forma as alteragées dos valores armazenados nos flipflops ocorrerao positiva na transicdo de subida do sinal de clock Nesse caso devese manter as saidas da no sinal palavra sob contagem atreladas aos pinos Q dos flipflops do clock Mas e se uma aplicacdo como os segundos de um reldgio requerer uma contagem que nado chega até a capacidade maxima de contagem do dispositivo Como proceder para limitar uma contagem Veremos isso a seguir httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 722 01112023 1229 Sistemas Digitais SN VAMOS PRATICAR Um gerador de onda triangular pode ser obtido por intermédio da ligacac conversor DA digital analégico na saida de um contador binario cr decrescente Implemente um contador bindrio que alterne automatican seu modo de contagem ou sejaem um certo momento ele se comporta ci contador crescente variando os valores por exemplo de 0 a 7 e ao z topo da contagem ele passa a ser decrescente variando os seus valores di Essa alternancia deve ser automatica quando a contagem atingir o seu limi Da 413 Limitagdo de contagem nos contadores assincronos Vamos supor que precisamos implementar 0 campo das unidades e das dezenas de segundos de um reldgio Sabemos que as unidades dos segundos variam de 0 até 9 e por sua vez o campo das dezenas dos segundos varia de 0 até 5 Inicialmente podemos observar que para expressar valores de 0 até 9 precisaremos de 4 bits Porém com os 4 bits poderemos ter uma contagem de 0 até 15 2 1 Assim nao podemos deixar com que a contagem chegue até o valor maximo ou seja devemos reiniciala antes Mas como fazer isso Nesse ponto surge uma das aplicacées dos sinais de SET e RESET dos flipflops Quando a contagem alcangar o primeiro valor indesejavel no caso o valor 10 devese ativar os terminais RESET de todos os flipflops fazendo com que o valor armazenado volte a valer 0 A figura a seguir mostra como limitar as contagens e ainda como estabelecer a relacdo entre a contagem das unidades e as dezenas dos segundos de um relégio httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 822 01112023 1229 Sistemas Digitais ae Dezenas dos segundos 2 L J J Q J Q J7 Q cp CLK op CLK op CLK Ke Ky Ky 9 Lt Unidades dos segundos i s J Q J Q J Q J Q CLK cp CLK cp CLK cp CLK cp CLK Ke Q Ke Q K Q Ky Q i tJ LJ Figura 4 Exemplificacao da limitacdo de contagem dos contadores assincronos na geracdo das dezenas e das unidades dos segundos em um rel6dgio Fonte Elaborada pelo autor 2019 Na figura perceba que temos dois circuitos contadores assincronos um relativo a contagem de 0 a 9 unidade dos segundos e o outro responsavel pela contagem de 0 a 5 dezenas dos segundos O clock externo atribuido ao contador das unidades de segundos deve ser de 1 pulso por segundo 1 Hz Por sua vez o clock do contador das dezenas de segundos é 0 proprio sinal de reset do contador das unidades A cada reciclagem da contagem das unidades incrementase a dezena dos segundos Podemos notar ainda em relaao a figura anterior que a limitacdo da contagem é realizada por intermédio de uma porta NAND devido a légica negativa do sinal de reset dos flipflops quando atingir um valor invalido por exemplo 610 1102 no contador das dezenas A porta NAND resultara no nivel légico 0 ativando os terminais de reset e consequentemente zerando o valor armazenado no contador O processo de limitagado da contagem pode ser aplicado para se obter divisdo de frequéncia No caso das unidades dos segundos para que o sinal de reset seja emitido sdo necessarios 10 pulsos de clock Dessa forma temos um divisor de frequéncia por 10 também denominado como divisor de década Os contadores assincronos sao assim chamados porque cada flipflop atua em uma frequéncia distinta O primeiro flipflop atua na frequéncia F o segundo ja na frequéncia F2 0 terceiro em F4 e assim por diante Uma limitacdo inerente aos contadores assincronos consiste no tempo para que dado um pulso de clock tenhamos o valor de forma estavel Para a estabilidade do valor os pulsos de clock devem ser httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 922 01112023 1229 Sistemas Digitais propagados de flipflop em flipflop causando lentidado na operaao Além disso caso fagamos a coleta do valor antes que todos os sinais de clock tenham sido propagados podemos coletar um valor erréneo representando assim um ruido do valor Para resolvermos isso podemos implementar um contador denominado contador sincrono o qual abordaremos a seguir Continue acompanhando ee VAMOS PRATICAR e Mencionamos que podemos limitar a contagem de um contador binario E divisor de frequéncia denominado divisor de década que limita a conte valor 10 Implemente um contador com essa particularidade ee e e 42 Contadores binarios sincronos Como mencionado um contador assincrono apresenta como ponto negativo a possibilidade de um valor err6neo de contagem durante a transido do sinal do clock entre os seus flipflops Para resolver esse problema podemos fazer uso dos contadores binarios sincronos Saiba mais sobre eles a seguir 421 Tabelas de transioes de valores dos flipflops do tipo JK Os contadores sincronos sao assim denominados como tal pelo fato de que todos os flipflops integrantes recebem o sinal de clock ao mesmo tempo VAHID LASCHUK 2008 Dessa forma as suas ativagées ocorrem simultaneamente Mas devido a ativacdo ao mesmo tempo como definir 0 que cada flipflop deve fazer Para isso cada entrada J e K deve ser associada a um circuito combinacional que fornece um valor de acordo com o estado atual de contagem Isso possibilita também a geracdo de contagens nao lineares ou seja os valores de contagem nao necessitam ser sequenciais httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 1022 01112023 1229 Sistemas Digitais eee e renee eee eee VOCE QUER LER e Como qualquer outro sistema ldégico digital tanto combinacional quanto sequencial os contadores sincronos também poderdo ser implementados utilizando uma HDL Para conhecer um pouco mais sobre esse universo da descrido de hardware usando Verilog assim como verificar como implementar um contador usando essa técnica vocé podera acessar o artigo de Alexandro Delgado e Ogg 2011 disponivel em httpswwwinufpebrvoosdAula6Verilogpdf httpswwwcinufpebrvoosdAula6Verilogpdf ee Mas em que embasar a geracao dos valores dos circuitos combinacionais cujas saidas serao atribuidas aos terminais J e K dos flipflops Para isso teremos que olhar as transiées de cada bit da palavra referente a contagem entre cada linha subsequente Antes de exemplificarmos esse processo apresentaremos na figura a seguir as possibilidades de transiées e os valores associados as entradas J e K J1 JX KX Kl ce JO0 JxX KX K0 Figura 5 Valores das entradas J e K associados as transiées relativas a contagem demandada As transi6es devem ser observadas em cada bit na sequéncia de linha por linha Fonte Elaborada pelo autor 2019 Veremos agora como efetivamente implementar os contadores sincronos httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 1122 01112023 1229 Sistemas Digitais e ee 422 Implementagao dos contadores binarios sincronos Para que possamos conversar sobre como podemos implementar um contador binario sincrono vamos supor que queremos construir um contador cuja contagem é 0 3 2 4 5 Como 0 valor maximo da contagem é 5 necessitamos de 3 bits consequentemente 3 flipflops A figura a seguir ilustra a tabelaverdade contemplando as transides dos bits da palavra sob contagem assim como os valores associados aos terminais J e K dos flipflops constituintes do contador CSE 0 0 0 0 1 x 2 of 110 x x 0x 1 2 oF yo a x 0X 4 1 00 x ojo x1 x s 1 ota Kd Figura 6 Tabelaverdade referente a contagem 0 3 2 4 5 com os valores de Ja Ka Jb e Kb associados as transiées dos bits A e B em destaque Fonte Elaborada pelo autor 2019 Na figura temos a formacdo dos valores relativos aos terminais Ja Ka Jb Kb Jc e Kc relativos as transicées dos bits A B e C que comp6em a palavra sob contagem Por exemplo na transido do valor da contagem 0 para 3 temos no bit A a transicao 0 0 Assim temos os valores Ja e Ka relativos a essa transido valendo 0 e xX respectivamente Por sua vez por exemplo na transiao dos valores de 2 para 4 temos em B a transido do valor légico 1 para o valor légico 0 Dessa forma Jb e Kb para a referida transido devem corresponder a X e 1 respectivamente Extraindo todas as expressGdes e realizando o processo de simplificacdo temos as seguintes expresses booleanas e JaABC e KaABC e JbAC e KbAC e JcBC e KcAQB Essas expressGes poderdo ser observadas na figura a seguir que ilustra a implementacado do contador sincrono que realiza a sequéncia 0 3 2 45 httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 1222 01112023 1229 Sistemas Digitais CLK G 8 8 J J Q J 7 Q J Q op CLK cp CLK a CLK Ky Ke Q Ky B c A Figura 7 Implementacdo do contador sincrono para a exibicao no display da sequéncia 0 3 27 4 5 Notase que pelo fato do sinal do clock chegar simultaneamente a todos os flipflops a ordem dos bits de saida é irrelevante Fonte Elaborada pelo autor 2019 Existem alguns nimeros que nado foram contemplados na sequéncia No caso do exemplo anterior temos os valores 1 6 e 7 Para evitar transtornos em possiveis desvios de contagem causados por exemplo por distirbios externos ou fadiga dos préprios componentes utilizados sugerimos adotar uma das trés possibilidades relacionadas a seguir Voltar imediatamente a um valor da contagem de forma assincrona Nesse CaSO acionase imediatamente os terminais PRESET ou set e CLEAR ou reset dos flipflops httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 1322 01112023 1229 Sistemas Digitais Criar transides entre cada elemento fora da contagem para um valor da contagem Por exemplo no nosso caso 1 0 6 0 e 7 0 Nessa possibilidade a volta a contagem determinada é realizada de forma sincrona esperase o pulso do clock para voltar a sequéncia correta Criar uma sequéncia a parte envolvendo os elementos fora da contagem para que no final convirja para algum valor da contagem estabelecida No nosso caso terfamos por exemplo 7 6 1 0 A volta a sequéncia correta nesse caso é também realizada de forma sincrona Existem outras aplicaées para utilizarmos os contadores sincronos Veremos a seguir uma aplicacdo direta Tratase da manipulacdo de maquinas de estado VAMOS PRATICAR Sabemos que um contador sincrono permite realizar uma contagem cc sequéncia nao linear Implemente no caso um contador para realizar a s sequéncia0 3 27103 43 Maquinas de estados httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 1422 01112023 1229 Sistemas Digitais De acordo com Tocci Widmer e Moss 2018 maquinas de estados sao circuitos com a capacidade de determinar um préximo estado em fungdo do estado corrente e das variaveis de entrada Mas 0 que sdo estados Estados correspondem as funcionalidades implementadas Se pensarmos no mundo da programacao podemos inclusive fazer uma analogia com uma fungao Assim temos funcdes em execucao Mas como passar de uma fundo para outra ou seja como passar de um estado para o outro Saiba que a passagem de estados é decorrente da acdo de eventos Um evento pode ser por exemplo a variacado do valor de uma variavel ou resposta de um sensor Com essa breve conceituagdo vamos ver na pratica o que é uma maquina de estados e como podemos implementala Continue acompanhando n o 431 Implementagao de Maquinas de estados Para que possamos dialogar sobre como implementar uma maquina de estados vamos imaginar uma maquina automatica para a venda de refrigerantes Como estados podemos mencionar Estad Representa o estado de standby ou seja a maquina fica aguardando uma aao A stado aa Inicial unica acdo plausivel de acontecimento para sair do estado de standby podera ser de nicia insercdo de dinheiro Esse estado representa a acdo de contabilizacao da quantia depositadas na maquina Inserindo de refrigerantes A cada inserdo ocorre a somatoéria do valor inserido para a Dinheiro totalizagao do saldo Para sair desse estado 0 usuario podera pressionar 0 botao de cancelamento da compra ou 0 botdo para a selecao do produto Denota o procedimento para a liberagdo do produto selecionado atuando sobre as Lib d partes mecanicas da maquina Enquanto o produto ainda estiver em liberacdo a iberando ge Produt maquina permanecera nesse estado Para simplificar nosso exemplo nado esta sendo roduto testado se o saldo inserido é suficiente para a compra do produto A maquina finalizara esse estado somente quando a liberacdo do produto for conclufda O estado Devolvendo Troco envolve as acées para a devolucao do saldo ainda disponivel apéds a compra ou apds o usuario ter solicitado 0 cancelamento da Devolvend T compra A maquina permanecera nesse estado enquanto ainda houver saldo a ser o Troco Li liberado Apds a liberacdo total da quantia devida ao usuario a maquina retornara ao estado de standby Como podemos notar os estados correspondem as acées que poderao ser realizadas pelo sistema httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 1522 01112023 1229 Sistemas Digitais SSS CASO Um projetista recebeu a incumbéncia de implementar um circuito para detectar uma sequéncia de dados recebidos por uma rede de computadores Essa sequéncia é relacionada ao protocolo utilizado de forma a identificar sinais de controle Verificando a sequéncia ele logo percebeu que a melhor forma de se implementar é utilizando uma maquina de estados Porém ele sabe que existem dois modelos para se implementar a maquina de Moore e a maquina de Mealy Pesquisando ele tomou conhecimento que nas maquinas de Moore as saidas sdo decorrentes apenas do estado atual e nas maquinas de Mealy as saidas sao decorrentes tanto do estado atual quanto dos valores assumidas pelas entradas Em relado ao recebimento de informaoes pela rede ele ficou com receio de que as variacgoes das informacées das entradas pudessem afetar o valor da saida de forma assincrona ou seja caso as entradas fossem modificadas poderiam ser provocados ruidos nos valores obtidos na saida do circuito Porém por outro lado as respostas geradas por uma maquina de Moore sao mais lentas em relacdo a de Mealy que proporciona também uma implementacdo menos complexa e consequentemente mais barata em relacdo a de Moore Porém apés refletir sobre a questdo o projetista resolveu adotar 0 modelo de Moore em fungdo da questao relacionada ao ruido que poderia aparecer na maquina de Mealy para esse tipo de aplicado ee A passagem de um estado para o outro ocorre na ocorréncia de eventos Como eventos ainda utilizando a maquina automatica para venda de refrigerantes podemos citar algumas acées Confira Dinheiro Corresponde a acao de insercdo de dinheiro e a respectiva passagem da cédula ou Inserido moeda no sensor que identifica o valor depositado Botao Acao decorrente do pressionamento pelo usuario do botado para a selecdo de um Seleciona produto Produto Pressiona do Botao Denota a acdo de pressionamento pelo usuario do botdo para o cancelamento da Cancelam operacdo de compra de refrigerantes ento Pressiona do httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 1622 01112023 1229 Sistemas Digitais Produto Evento que indica que o produto ainda nado completou o seu curso para a liberaao em Indicativo fornecido por exemplo do sensor de passagem do produto Liberaao Produto Evento que indica que o produto ja foi liberado Liberado Ainda tem Evento associado ao saldo restante a ser devolvido ao usuario Saldoa Devolver Saldo Evento disparado quando o saldo estiver zerado Zerado Por se tratar de uma maquina sincrona ou seja sincronizada pelos pulsos de clock o Nada evento nada é associado quando nenhuma acao externa foi realizada momento do pulso do clock Na maquina de estados os estados sao representados por nds elipses ou circunferéncias e os eventos sdo representados por arcos ou links setas interligando os estados Juntando os estados e os eventos mencionados podemos estabelecer a maquina completa conforme ilustra a figura a seguir httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 1722 01112023 1229 Sistemas Digitais Nada 0 Estado Inicial 0 Dinheiro Inserido 1 Nada 0 Saldo Botao Cancelamento Cc zerado 1 Pressionado 2 Inserindo a Devolvend Dinheiro 2 Dinheiro evolvendo Dinheiro Inserido 1 Troco 1 a Botao Seleciona Ainda tem saldo Produto a devolver 0 Pressionado 3 Produto Liberado 1 Liberando Produto em Produto 3 Liberacao 0 Figura 8 Exemplo de uma maquina de estados para a venda automatica de refrigerantes Os nés representam os estados e os arcos representam os eventos Fonte Elaborada pelo autor 2019 Como ilustrado na figura podemos notar que os eventos interligam os estados Os eventos apenas atuam sobre o estado corrente da maquina de estados caso estiverem associados ao proprio estado corrente Por exemplo caso o usuario pressione o botdo de selecdo de produto enquanto a maquina estiver no estado inicial nada acontecera pois o referido evento ndo esta associado ao estado inicial Ainda em relacdo a figura anterior podemos notar que tanto os estados quanto os eventos encontramse numerados A numeraao dos eventos é reiniciada dentro de cada estado A numeracdo se faz presente pelo fato de que com ela montaremos a tabela de transiées Vocé percebe alguma aproximaao com algum tdépico ja conversado neste capitulo Se olhar atentamente na maquina de estado vocé vera uma sequéncia de valores por exemplo do estado 0 para o estado 3 Dessa forma podemos ja identificar a sequéncia 0 3 Ficou mais claro que estamos tratando de um circuito contador binario sincrono certo Mas como podemos montar a tabela completa contemplando os estados e os eventos Nesse caso poderemos juntar a identificagdo dos estados com a identificagdo dos eventos formando portanto uma palavra que correspondera aos bits de entrada da tabelaverdade do contador sincrono Mas quais serdo os bits de saida Para a questao da maquina de refrigerantes desejamos obter como saida o proprio estado corrente httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 1822 01112023 1229 Sistemas Digitais Assim construiremos uma tabelaverdade tendo como entradas os bits E e Eo para denotar os estados e também os bits Vy e Vo para representar os eventos Tratando de um contador binario sincrono as saidas da tabelaverdade corresponderao aos bits dos terminais J e K dos flipflops JK associados aos bits dos estados Podemos entao notar que o estado atual influenciara na obtendo do novo estado eee reer renee renner eee VOCE SABIA e Vocé sabia que maquinas de estado ndo sao implementadas somente a nivel de hardware Os sistemas computacionais baseados em software também podem ser modelados utilizandose as maquinas de estado Para saber mais acesso 0 artigo escrito por Bertoleti 2015 disponivel em httpswwwembarcadoscombrmaquinadeestado httpswwwembarcadoscombrmaquinadeestado es A figura a seguir contempla a tabelaverdade usada para a obtencdo das transicées relativas 4 maquina automatica para venda de refrigerantes realcando as transides presentes na maquina de estado httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 1922 01112023 1229 Sistemas Digitais 0 0 Oo O O xX O X 0 0 Oo 1 1 xX O X 0 1 0 0 0 xX XxX OQ 0 1 oO 1 0O xX xX 1 Cc 1 oO OO O X 0 O X 1 Oo 90 1 xX O O X ltl oO 1 0 xX 1 1 X C 1 oO 1 1 xX QO 1 Xx 1l 1 060 0 X 0 XxX QO 1 1 0 a1 XxX 1 xX O Figura 9 Tabelaverdade relativa as transi6es entre os estados para a obtencdo dos valores dos terminais dos flipflops representativos do estado corrente As cores dos valores de cada J e K correspondem as cores das transiGes Fonte Elaborada pelo autor 2019 Podemos notar pela figura que os valores relativos aos terminais J e K sao obtidos observandose as transides ocasionadas pelo estado atual em conjunto com os eventos acontecidos Por exemplo a primeira linha da tabelaverdade referese ao estado 0evento 0 Para essa combinacdo de estadoevento temse a transido apontando para a propria linha Assim tanto E1 quanto E2 possuem a transido 0 0 resultando no valor légico 0 para JE1 e JEO e no valor ldgico X para KE1 e KEO Por sua vez a segunda linha estado 0 evento 1 tem sua transido para a quinta linha estado 2 Assim E1 tem uma transido 0 1 e EO uma transiao 0 0 resultando portanto nos valores 1 Xx O X para os terminais JE1 KE1 JEO e KEO respectivamente Realizando a extrado das express6es a partir da tabelaverdade contida na figura temos e JE1E0V1VO0 e KE1E0V1V0E1E0VO e JEOE1E0V1 e KEOE1V1V0 Notamos que necessitamos extrair as express6es apenas dos flipflops relativos a geracdo do estado corrente bits E1 e E0 devido ao fato de que os bits V1 e VO sdo variaveis de entrada provenientes dos sensores da maquina automatica de venda de refrigerantes Assim os sensores sdo multiplexados de forma que apenas aqueles relacionados ao estado atual possam ter seus valores manipulados pelo contador binario sincrono httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 2022 01112023 1229 Sistemas Digitais VAMOS PRATICAR e Mencionamos que uma maquina de estado tem por objetivo represent sequéncia de estados Por sua vez um contador também visa estabelec sequéncia de estados que sdo os proprios valores sob contagem Assim maquinas de estados implemente um contador Gray de 2 bits Lembrand contagem Gray segue a seguinte sequéncia 000111e 10 Sintese Chegamos ao fim desta unidade Neste nosso encontro pudemos dialogar sobre circuitos com a propriedade de realizar contagens os chamados circuitos contadores binarios Conceituamos e analisamos as diferencas dos contadores binarios assincronos e os contadores binarios sincronos Vimos ainda uma aplicacao direta do contador sincrono que consiste na maquina de estados Dessa forma vocé com os conhecimentos aqui adquiridos podera implementar sistemas légicos digitais para a manipulacao de palavras binarias seja como elemento principal de processamento seja como circuitos auxiliares ou de interfaceamento légico Os pontos aqui abordados também servirdo de base para um entendimento de como funciona um sistema ldgico digital ou ainda servir como bagagem para a tomada de decisdes nos momentos de sua implementagdo quer usando circuitos integrados ou quer usando HDL Nesta unidade vocé teve a oportunidade de e ter contato com ateoria relacionada aos contadores binarios e saber diferenciar e aplicar solucoes baseadas em contadores binarios assincronos e contadores binarios sincronos e desenvolver maquinas de estado implementar sistemas logicos digitais que envolvam contadores binarios 4 Clique para baixar o contetido deste tema httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 2122 01112023 1229 Sistemas Digitais Bibliografia ALEXANDRO D DELGADO R OGG V Sistemas Digitais Linguagem Verilog Recife Universidade Federal de Pernanbuco Centro de Informatica 2011 Disponivel em httpswwwcinufpebrvoosdAula6VerilogpdfhttpswwwcinufpebrvoosdAula6Verilogpdf httpswwwcinufpebrvoosdAula6Verilogpdf Acesso em 23092019 BERTOLETI P Maquina de Estado 07 ago 2015 Disponivel em httpswwwembarcadoscombrmaquinadeestado httpswwwembarcadoscombrmaquinade estado httpswwwembarcadoscombrmaquinadeestado Acesso em 23092019 DINGMAN H A lenda de Jack Kilby e os 55 anos do circuito integrado 13 set 2013 Disponivel em httpspcworldcombralendadejackkilbyeos55anosdocircuito integradohttpspcworldcombralendadejackkilbyeos55anosdocircuitointegrado httpspcworldcombralendadejackkilbyeos55anosdocircuitointegrado Acesso em 23092019 ELETRONICA FACIL Eletrénica Digital 33 Contador crescente e decrescente usando o CI 4510 12 maio 2015 Disponivel em httpswwwyoutubecomwatch vv2AW8mwxLSghttpswwwyoutubecomwatchvv2AW8mwxLSg httpswwwyoutubecomwatch vv2AW8mwxLSg Acesso em 23092019 IDOETA I V CAPUANO F G Elementos de Eletroénica Digital 41 ed Sdo Paulo Erica 2012 TOCCI R J WIDMER N S MOSS G L Sistemas Digitais Principios e Aplicagédes 12 ed Sdo Paulo Pearson Education do Brasil 2018 VAHID F LASCHUK A Sistemas Digitais Projeto otimizacgao e HDLs Porto Alegre Bookman 2008 httpscodelyfmucontents3amazonawscomMoodleEADConteudoENGSISDIG19unidade4ebookindexhtml 2222