Gerador Aleatório
A forma mais conhecida para criar bits aleatórios é utilizando uma porta OU exclusiva com um registrador de deslocamento à direita. As entradas da porta são fixas em determinados bits ao longo do registrador e a saída da porta será o novo bit de entrada à esquerda do registrador. Este é um gerador de 16 bits onde se escolhe através de teclas os bits de entrada da porta para gerar diferenciados padrões aleatórios que então preecherão 1kB de memória RAM.
Posteriormente pode-se então navegar na RAM para visualizar o padrão gerado. Na verdade ele é pseudo-aleatório porque em determinado momento o padrão vai se repetir. O programa tem um critério que pára o gerador quando os 16 bits iniciais se repetem, e assim, nem sempre toda a RAM é preenchida completamente conforme a configuração dos bits de entrada.
Aqui o circuito eletrônico que é basicamente um atmega328 e um display ssd1306. Foi colocado um alto-falante e os bits podem ser aplicados na sequência neste alto-falante com um potenciômetro ajustando as temporizações dos bits, o que gera um som parecido com um chiado e, outra tecla, pega 4 bits na sequência que determinarão um tom de um oscilador que será aplicado no alto-falante, o que gera então, tons aleatórios, também temporizados pelo potenciômetro.
Uma eletrônica analógica gera um ruído-branco numa junção de um transistor para criar bits aleatórios reais em vez dos pseudos e, desta forma, quase sempre toda a RAM é preenchida, mas em se tratando de alto-falante, o resultado é praticamente o mesmo.
A montagem da PCI:
A caixa em PLA:
Um vídeo funcionando:
Esse rascunho mostra quantos bytes foram escritos na RAM de acordo com a configuração da entrada, com um mínimo de 3 bytes mesmo que o padrão se repita dentro disto e com um máximo >1020 que é o tamanho da RAM. Com 16 bits tem-se 120 combinações possíveis:
E aqui os arquivos do projeto com o programa em ASM:







Comentários
Postar um comentário