Um contador com uma EPROM? Não, não funcionou ainda...

E no feriado que passou além de assistir toda a primeira temporada de "Mr. Robot" (série sobre um maluco que insere uma Raspberry Pi num controle de temperatura), tive uma ideia para usar a EPROM PLD, mas que não foi muito pra frente. Geralmente eu não escrevo sobre projetos que não deram (muito) certo, mas como esse tem uma característica de funcionar no simulador e não na vida real resolvi publicar.

A ideia era fazer um contador para display de sete segmentos com apenas uma EPROM. Lembrando que é um contador e não um decodificador com EPROM. O contador teria uma entrada de clock e iria contar um digito a mais no display a cada pulso na entrada. Então lá fui eu tirar a poeira do velho apagador de EPROM e escolher algumas EPROMs velhas nas gavetas (2716 e 2732).

Apagador de EPROM

Enquanto ouvia barulho do timer eletromecânico do apagador a funcionar por uma hora, fui editando uma planilha com os endereços e dados da EPROM. Como deu apenas 512 bytes editei o arquivo final direto no editor Hexadecimal:

programação do contador

Gerei o .bin e "rabisquei" o circuito abaixo no Proteus e carreguei o binário na EPROM virtual. E tudo funcionou perfeitamente.
Esquema do contador
Não acreditei de imediato, afinal tem o problema dos tempos diferentes em cada saída. Mesmo com alguns nanosegundos de diferença o circuito não era pra funcionar. E, claro, não funcionou. Montei no protoboard e ele até começa corretamente no zero, mas começa a oscilar. Algumas vezes ele parou no número "sete" e no "oito", mas oscilava no próximo pulso de clock.

Montagem do contador no protoboard
No circuito do esquema e da foto eu coloquei uma chave para fazer o clock. Como não funcionou, desconfiei que podia ser o bouncing da chave, por isso montei um oscilador com um 555 em 1Hz para o clock.

Então é isso aí, caso eu tenha uma ideia de como fazer isso funcionar e conseguir eu atualizo isso aqui. Depois coloco os arquivos do Proteus e o .bin no Github pra quem quiser testar.

5 comentários:

  1. Não sei se estou falando besteira (ou se isto estraga a graça de usar só uma EProm), mas que tal um latch nos endereços? Por exemplo, um 74HC273.

    ResponderExcluir
    Respostas
    1. Hm, até pode dar certo. Mas a ideia aqui é usar apenas uma EPROM no contador, sem nenhum outro CI de apoio...

      Excluir
  2. Nao funciona, voce precisa de um latch na saida. Eu me lembro que estudei isso no passado (pra minha campainha com som sampleado em EPROM). Mas nao me recordo nesse momento o porque do problema. Quando lembrar eu te falo.

    ResponderExcluir
    Respostas
    1. Pois é, nem lembrava desse post... Preciso dar uma reconferida e montar alguma coisa, algum dia. ;-)

      Excluir
  3. Gostaria de tentar aki, poderia compartilhar o codigo? vlw. skma@oi.com.br Alex.

    ResponderExcluir

1. Alguns comentários são moderados automaticamente. Caso isso ocorra pode levar algum tempo até que eu veja e o libere.
2. Comentários fora do assunto do post podem ser apagados.
3. Não, eu não posso consertar os seus aparelhos!