SISTEMAS DIGITAIS Fluxogramas Prof. Carlos Sêrro Alterado para lógica positiva por Guilherme Arroz Dezembro de 2005 Sistemas Digitais 1 Fluxogramas Prof. Carlos Sêrro Em vez de diagramas de estado ou de tabelas de estados/saídas, existe uma forma alternativa de representação das máquinas sequenciais, mais compacta, que utiliza fluxogramas Os fluxogramas contêm, para cada estado, apenas a informação que lhe é relevante Importante quando o número de entradas/saídas é elevado Dezembro de 2005 Sistemas Digitais 2 Fluxogramas Prof. Carlos Sêrro Num fluxograma, em cada estado actual apenas se indicam as saídas activas nesse estado (que dependem ou não dos valores nas entradas – Mealy ou Moore) as transições relevantes para os estados seguintes, para as entradas com significado nesse estado em vez de se indicarem todas as transições, como nos diagramas/tabelas de estados Dezembro de 2005 Sistemas Digitais 3 Fluxogramas Prof. Carlos Sêrro Num fluxograma cada estado é representado por um rectângulo as entradas vêm em losangos (decisões) as saídas de Moore activas vêm indicadas nos rectângulos (estados) as saídas de Mealy activas vêm indicadas em símbolos próprios, constituídos por rectângulos com extremidades arredondadas Dezembro de 2005 Sistemas Digitais 4 Exemplo Prof. Carlos Sêrro Vamos considerar a geração do fluxograma de uma máquina que controla os acessos a uma estrada de montanha estreita, que só deixa passar um carro de cada vez Dezembro de 2005 Sistemas Digitais 5 Exemplo Prof. Carlos Sêrro Existem duas cancelas nos dois extremos do troço estreito (C1 e C2) seis detectores (ou sensores) nas entradas (D1 a D6) dois semáforos (S1 e S2) Dezembro de 2005 Sistemas Digitais 6 Exemplo Prof. Carlos Sêrro Admitimos que os detectores (entradas) vêm a 1 quando forem pisados as cancelas (saídas) são abertas quando geramos um nível 1 os semáforos (saídas) ficam a verde quando geramos um nível 1 Dezembro de 2005 Sistemas Digitais 7 Exemplo Prof. Carlos Sêrro As cancelas estão normalmente fechadas, e os semáforos S1 e S2 normalmente em vermelho Normalmente quer dizer quando não há passagem de viaturas Dezembro de 2005 Sistemas Digitais 8 Exemplo Prof. Carlos Sêrro Quando surge uma viatura, por exemplo do lado esquerdo, pisa o detector D1 Se não houver nenhum carro a deslocar-se no troço estreito, o semáforo S1 passa a verde, a cancela C1 abre, e a viatura entra Dezembro de 2005 Sistemas Digitais 9 Exemplo Prof. Carlos Sêrro Logo que passa no detector D2, essa barreira é fechada, o semáforo volta a vermelho e a situação fica estável neste estado até a viatura sair da estrada Dezembro de 2005 Sistemas Digitais 10 Exemplo Prof. Carlos Sêrro Quando a viatura chega ao detector D3, a cancela C2 abre e permanece aberta até a viatura pisar o detector D4 Então, a cancela fecha Dezembro de 2005 Sistemas Digitais 11 Exemplo Prof. Carlos Sêrro Se entretanto chegar uma viatura a qualquer dos lados, espera que a primeira saia e só então se inicia de novo o processo no mesmo sentido ou no sentido inverso, conforme o sentido de chegada da viatura Dezembro de 2005 Sistemas Digitais 12 Exemplo Prof. Carlos Sêrro No caso de chegarem duas viaturas ao mesmo tempo, dá-se prioridade ao sentido da esquerda para a direita Esta hipótese simplifica o fluxograma, mas pode ser alterada (prioridades alternadas) Dezembro de 2005 Sistemas Digitais 13 Exemplo Prof. Carlos Sêrro Um diagrama de estados para esta máquina teria 64 transições a partir de cada estado porque há 6 entradas (os detectores) Por isso, um fluxograma é mais interessante, uma vez que em cada estado se vai ter em conta apenas a ou as entradas relevantes para a evolução a partir desse estado Dezembro de 2005 Sistemas Digitais 14 Exemplo Prof. Carlos Sêrro Vamos desenhar o fluxograma de uma máquina de Moore Mais tarde desenharemos o fluxograma de uma máquina de Mealy Dezembro de 2005 Sistemas Digitais 15 Exemplo Prof. Carlos Sêrro Consideremos um estado inicial, E0, em que a máquina espera que apareça uma viatura Neste estado há 3 hipóteses Não surge qualquer viatura, e ficamos em E0 surge uma viatura em D1 e inicia-se o processo de atravessamento da esquerda para a direita surge uma viatura em D5 e inicia-se o processo oposto Dezembro de 2005 Sistemas Digitais 16 Exemplo Prof. Carlos Sêrro No estado E0 esperase por um dos detectores, com prioridade para D1 No estado E1 abre-se a cancela C1 e colocase o semáforo S1 a verde No estado E5 faz-se o mesmo para o outro lado Atravessamento da esq. para a dir. Atravessamento da dir. para a esq. Dezembro de 2005 Sistemas Digitais 17 Exemplo Prof. Carlos Sêrro Notar como no estado E0 as saídas (cancelas e semáforos) estão inactivos Cancelas em baixo e semáforos a vermelho Notar o comentário opcional (Espera) em E0 Dezembro de 2005 Sistemas Digitais 18 Exemplo Prof. Carlos Sêrro Nos estados E1 e E5 a outra cancela está em baixo, e o outro semáforo está vermelho (em ambos os casos, saídas inactivas) Notar como, em cada estado, apenas se indicam as saídas activas Dezembro de 2005 Sistemas Digitais 19 Exemplo Vejamos o fluxograma completo Prof. Carlos Sêrro Dezembro de 2005 Sistemas Digitais 20 Prof. Carlos Sêrro Exemplo Dezembro de 2005 Sistemas Digitais 21 Exemplo No estado E1 espera-se que a viatura pise D2 Prof. Carlos Sêrro Dezembro de 2005 Sistemas Digitais 22 Exemplo Prof. Carlos Sêrro No estado E2 a viatura já entrou na estrada de montanha, as cancelas estão fechadas e os semáforos estão vermelhos Dezembro de 2005 Sistemas Digitais 23 Exemplo Prof. Carlos Sêrro Não se sai deste estado enquanto a viatura estiver no troço estreito Ou seja, enquanto não pisar D3 Dezembro de 2005 Sistemas Digitais 24 Exemplo No estado E3 a viatura ainda está no troço de montanha mas já pisou o sensor D3 A cancela C2 abre Ficamos em E3 enquanto a viatura não pisar D4 Prof. Carlos Sêrro Dezembro de 2005 Sistemas Digitais 25 Exemplo No estado E4 espera-se que a viatura deixe de pisar D4 Enquanto estiver a pisar D4, não se passa ao estado seguinte Prof. Carlos Sêrro Dezembro de 2005 Sistemas Digitais 26 Exemplo Entre o instante em que se entra em E4, com a viatura a começar a pisar D4, e o instante em que se sai de E4, quando deixa de pisar D4, decorrem alguns segundos Prof. Carlos Sêrro São muitos ciclos de relógio Dezembro de 2005 Sistemas Digitais 27 Exemplo Ex: com um relógio de frequência 1 MHz (nem sequer é muito elevada), num segundo dão-se 106 voltas ao estado E4 Prof. Carlos Sêrro 1 µs para cada volta Dezembro de 2005 Sistemas Digitais 28 Exemplo Prof. Carlos Sêrro Este fluxograma é de uma máquina de Moore As saídas dependem, em cada ciclo de relógio, apenas dos estados Dezembro de 2005 Sistemas Digitais 29 Exemplo Prof. Carlos Sêrro Vejamos agora o fluxograma de Mealy para o mesmo problema, mas com uma pequena alteração no estado E1, o semáforo S1 fica activo (verde) apenas até o veículo abandonar o detector D1 logo que isso acontece, o sinal volta a vermelho para impedir que um segundo veículo siga o primeiro Dezembro de 2005 Sistemas Digitais 30 Exemplo Prof. Carlos Sêrro Neste caso a saída S1 depende não só do estado E1 como da entrada D1 (saída de Mealy) Outro tanto se passa no estado E5 com a saída S2 e a entrada D5 Dezembro de 2005 Sistemas Digitais 31 Exemplo Símbolo de uma saída de Mealy Prof. Carlos Sêrro Dezembro de 2005 Sistemas Digitais 32 Exemplo Contraste entre uma saída de Mealy e uma saída de Moore num fluxograma Prof. Carlos Sêrro Dezembro de 2005 Sistemas Digitais 33 Exemplo Prof. Carlos Sêrro Fluxograma de Mealy para a máquina que controlo os acessos ao troço de montanha Dezembro de 2005 Sistemas Digitais 34