quinta-feira, 4 de junho de 2015

TEK - Placa 'universal' e coleção de links

Agora que o projeto funcionou com o TK85, resolvi fazer uma versão mais universal, com os seguintes recursos:
  • Matriz de 8x8 expansível a 8 x n. A placa possui pontos de solda para facilitar a expansão.
  • Conectores para teclado: Mini-Din6, 'Header' de 4 pinos e USB (Alguns teclados USB podem funcionar em modo PS/2 caso não consigam se inicializar em modo USB).
  • 2 pinos para leitura de teclas modificadoras ou indicadores, como Caps Lock, etc.
  • 'Header' serial (nível TTL) para facilitar debug de novas versões de firmware, ou para 'cross typing' (Envia teclas pressionadas e ativa teclas recebidas pela serial - recurso ainda não implementado)
  • Conector ISP para facilitar gravação/regravação do microcontrolador.

A placa foi roteada manualmente e ficou com aproximadamente 103mm x 60mm e dupla face. Eu procurei reduzir ao máximo a quantidade de vias para facilitar a confecção caseira (somente 6 vias).

Placa Universal, 8x8
A fim de complementar o projeto, segue abaixo uma coleção de links, desde os primeiros rascunhos até agora.


Emulador De teclado Genérico:
Parte 1 - Primeiras considerações
Parte 2 - Sobre teclados PS/2
Parte 3 - Considerações sobre hardware e tempo de resposta. 
Parte 4 - Primeiro esboço de matriz de registradores de deslocamento
Parte 5 -Codificação da matriz para o TK90X (clone ZX Spectrum)

Versão externa para TK90X: (sem registradores de deslocamento,  baseada em Arduino)
Parte 1 - Temporização da leitura do Teclado pelo Z80
Parte 2 - Gerador de Wait State (hack de flip flop usado como inversor)
Parte 3 - Diagrama de blocos
Parte 4 - Primeiros testes, formas de onda do gerador de Wait
Parte 5 - Placa de circuito impresso para o protótipo (finalizado)
Parte 6 - Tabelas de Scancodes para teclado ABNT
Parte 7 - Embutindo Código assembly embutido no Arduino (para interrupções)
Parte 8 - Cuidado com o bootloader do Arduino, que força a linha PB5 a zero na partida.

Parte 9 - Testes finais - Falha geral!
Parte 10 - Conclusões (porque não funcionou no TK95 mas funcionaria no ZX Spectrum)


Emulador Universal, versão TK85 (Clone ZX81)
Parte 1 - Retomando o projeto
Parte 2 - Novo firmware com PIC16F88 (por falta de espaço na placa de protótipo)
Parte 3 - Funcionamento e formas de onda do registrador de deslocamento
Parte 4 - Testes no TK85. Desta vez sim, sucesso!!!
 
Os arquivos do projeto (placa Eagle 7, código fonte, etc) estão disponíveis na minha pasta do dropbox.


O próximo passo será gerar algumas instruções de conexão da placa e expandir a versão para o TK90X.


 

Um comentário:

DVM - Delphi Virtual Machine disse...

Fantástico!
Agora preciso pensar 2 vezes antes de começar a consertar o teclado original de meu TK85 ou bolar um jeito de colocar uma tampa em cima do original (impressão 3D???) e só adaptar o conector a caixa para aproveitar um dos/das dezenas de teclados que tenho por aqui.
Danjovi, estive ontem no encontro de MSX e disseram que talvez você viesse...pretende vir?
Se vier, tem um tempo para conversarmos?
Obrigado.
Euclides.
euclas@gmail.com