Universidade Federal de Itajubá IESTI - Instituto de Engenharia de Sistemas e Tecnologia da Informação ELT601 – Eletrônica Digital II Lista de Exercícios Máquinas de estados finitos 1) Elabore um diagrama de estados que leve a saída z a nível lógico ‘1’ sempre que a seqüência “11” for detectada em sua entrada x. Apresente o diagrama tanto por meio de um modelo de Moore quanto de Mealy e desconsidere a sobreposição de seqüências na entrada. 0 0 x z 1 0 1 1 0 0 0 0 1 0 1 1 1 0 0 0 1 0 1 1 0 0 1 1 0 0 2) Modifique o diagrama de estados de forma que seqüências sobrepostas sejam também detectadas. 0 0 x z 1 0 1 1 0 0 0 0 1 0 1 1 1 1 1 1 1 1 3) Levante o diagrama de estados para uma máquina de estado que seja capaz de detectar a seqüência binária “101”. Apresente o diagrama utilizando o modelo de Moore e considere que a máquina de estado seja capaz de detectar seqüências intercaladas. 0 0 x z 1 0 0 0 1 1 0 0 1 1 0 0 0 0 1 0 0 0 1 1 0 0 4) Reapresente o diagrama de estado elaborado em (3) segundo o modelo de uma máquina de estado de Mealy. 5) Para os seguintes diagramas de estados, levante o valor de saída para cada bit presente na seqüência de entrada “011000111001”. a) b) 1 0/0 1/1 S0 S1 A/0 1/0 E/1 0 1 1 0 S2 C/0 D/0 1 1/1 B/0 0 0 0/1 0/1 0 1 6) Implemente o circuito inerente ao diagrama de estados obtido em (1). Considere o modelo de Mealy e utilize flip-flops JK. 7) Implemente o circuito inerente ao diagrama de estados em modelo de Moore obtido em (1). Utilize flip-flops D. 8) Implemente o circuito que reproduza o diagrama de estados apresentado em (5)(b). Utilize flip-flops D. 9) Projete uma máquina de estados que contenha uma entrada, de nome x, e duas saída, z2 e z1, tal que a palavra binária formada por z2z1 contenha o número de bits 1 presentes nos dois últimos bits recebidos em sua entrada. Utilize o modelo de Moore e flip-flops JK. 10) Implemente uma máquina de estados que seja capaz de gerar a seqüência 001, 010,100 de forma cíclica. Utilize flip-flops JK e o modelo de Moore para a máquina a ser implementada. 11) À máquina projetada em (10), acrescente uma entrada x tal que para x=0, a contagem seja efetuada de forma crescente e já para x=1, decrescente. Prof. Rodrigo de Paula Rodrigues 1/2 12) Em máquinas automáticas de compra de refrigerantes e afins, um mecanismo de contagem de moedas é utilizado para se controlar tanto a liberação do produto quanto a liberação de troco. Devido a sua operação, este mecanismo pode ser modelado como uma máquina de estados finitos que receba uma seqüência de moedas depositadas para então controlar a liberação do produto e a liberação de troco para o montante depositado. Uma arquitetura possível para o mecanismo citado pode ser como a apresentada na figura abaixo, em que uma unidade de controle receba dois sinais de entrada (M2 e M1) provenientes de um detector de moedas e então controle, por meio de seus sinais de saída (P e T), as unidades de liberação do produto e de troco, respectivamente. P Detector de moedas M 2 Liberação do produto Unidade de controle Liberação de troco T Considerando que os sinais de liberação sejam ativos em nível lógico “1” e que o detector de moedas gere sinais como os apresentados na tabela abaixo, projete uma máquina de estado baseada no modelo de Moore para atuar como unidade de controle do sistema exemplificado. De uma forma geral, esta unidade de controle deve ser tal que à medida que sejam depositados valores (e tais valores gerem saídas no detector de moedas), a soma total seja computada e o sinal de liberação do produto seja ativado tão logo a soma chegue e/ou ultrapasse a quantia de 2 unidades monetárias. Caso a quantia depositada ultrapasse o limite citado, o sinal de liberação de troco deve ser levado a nível lógico ‘1’. Assuma que a cada depósito efetuado, um sinal de pulso é enviado à máquina de estado e considere, ainda, que assim que houver a liberação do produto, o próximo depósito deverá reiniciar a soma. Moeda 0.25 0.50 1.00 M 2 M1 00 01 10 11 13) Projete uma máquina de estados para controlar a operação de um robô que se movimente e desvie de objetos a sua frente. Assuma que este robô seja composto basicamente por um detector de objetos e duas rodas que o possibilitem virar tanto à direita quanto à esquerda. detector C2C1 00 01 10 11 rodas Ação Seguir em frente Virar À direta Virar à esquerda Não operar (vista inferior do robô) Este detector de objetos é posicionado no nariz do robô e sua saída é conectada à entrada de sua unidade de controle por meio de um sinal x, tal que enquanto x = ‘1’, um objeto é detectado à sua frente. Já as saídas desta unidade de controle, C1C2, devem controlar o movimento a ser efetuado pelo robô tal qual a codificação apresentada acima. Um exemplo de estados que possam ser utilizados no projeto é apresentado na tabela abaixo. saída blocos movimentáveis Prof. Rodrigo de Paula Rodrigues Estado A B C D Descrição Obstáculo não detectado, última virada à esquerda Obstáculo detectado e virando à direita Obstáculo não detectado, última virada à direita Obstáculo detectado e virando à esquerda 2/2