quinta-feira, 22 de maio de 2014

Emulador de teclado genérico - Parte 4 (atualizado)

Parte 4: Implementando a matriz.

O primeiro projeto de matriz é do ZX Spectrum e utiliza 8 registradores de deslocamento. Apesar desse arranjo ter capacidade para 64 teclas, apenas 50 são utilizadas (5 bits de cada registrador). As saídas dos registradores são ligados num 'bus' de 5 linhas que é lido pelo Z80.


zoom


Como os sinais de /OE (Output enable) dos registradores vêm direto do Z80 (linhas A8-A15) certamente vai acontecer de mais de uma linha de endereços estar em nível zero ao mesmo tempo e consequentemente sempre vai haver mais de um Hc595 ativo. Para evitar que isso cause uma contenção que poderia queimar os HC595, foi necessário utilizar um diodo em série com cada saída para simular um 'open collector'.

Para ativar os registradores de deslocamento são necessários 3 sinais:
  • Dados
  • Clock
  • Transfer

O funcionamento é simples. Basta enviar os 64 bits pela linha de dados, pulsando o sinal CLOCK a cada bit. Depois que todos os bits forem transferidos basta pulsar o sinal Transfer.

O layout da placa protótipo encontra-se abaixo.


A placa ficou com disposição dos conectores K1 e K2 é propositalmente idêntica à dos conectores dos flats do TK.

Nenhum comentário: