O teclado PS2

Olá pessoal,

Todos sabemos hoje a dificuldade de se encontrar um teclado de MSX, principalmente um que esteje realmente bom, além disso quem tem esse teclado hoje em dia quando quer vender pede os olhos da cara, pensando nisso começamos a algumas semanas a pensar em um projeto de teclado usado no PC e abordaremos a princípio o modelo PS2. Esse tipo de teclado é muito fácil de se achar, além disso o seu preço é muito convidativo, dependendo do modelo podemos encontra-lo no mercado por menos de U$ 10,00 dólares.

ps2_keyboard

 Acima um modelo de teclado PS2.

Agora vamos dar uma olhada no conector do PS2 propriamente dito, ou melhor, vamos ver sua pinagem.

PS2_Connector1

Pinagem do conector PS2 macho e fêmea.

Analisando o esquema acima, podemos ver quais são os pinos e como eles se comportam.

De posse desses dados já podemos começar a projetar um circuito para que possamos ler os dados do teclado PS2, assim saberemos como esses códigos chegam e como teremos que trata-lo para enfim envia-los ao nosso MSX.

Pareçe simples, mas posso garantir a vocês que teremos um longo caminho para conseguirmos construir esse adaptador, apesar de não ser algo complexo em um primeiro momento, teremos muitas coisas a analisar.

A IBM AT introduziu um teclado de 101 teclas que depressa se tornou modelo de referência para a maior parte dos PC’s.

Este teclado tinha as teclas funcionais ao longo do topo do teclado e um teclado numérico do seu lado direito.

Havia também duas teclas extra-funcionais incluídas neste teclado.

Um típico teclado moderno consiste num chip de processador conectado com a matriz de teclas ordenadas num array de X e Y linhas.

Os primeiros teclados usavam um chip de processador 8048 e uma matriz de 8 por 11 ou 12. A matriz consistia usualmente em oito linhas de saída e 11 ou 12 linhas de entrada. Mais tarde, os teclados passaram a usar processadores 8049 e o teclado de 101 teclas precisavam de pelo menos uma matriz de 10 por 11 para aceder a todas as teclas.

O processador do teclado usa uma tabela de procura, para encontrar o código que representa a tecla que foi pressionada. Quando o processador do teclado encontra a tecla pressionada durante a sua procura na matriz, ele envia um código para representar essa tecla para um circuito de interface do teclado no computador.

No passado, muitos sistemas usaram o código ASCII para representar as teclas na matriz mas os computadores de ambiente DOS usavam um complexo procedimento para os códigos de pressão e liberação das teclas.

Foram usados três tipos de contatos nos teclados a saber;

Mechanic contact

Este tem um comutador de ações e usualmente proporciona bom tato e respostas audíveis. Os melhores teclados têm uma esperança de vida de 1 ou 2 milhões de pressionamento de teclas por tecla.

Conductive rubber pad

Este tipo de teclado tem evoluído ao longo dos anos. Os exemplos mais antigos tinham pouca sensibilidade e eram a maior parte das vezes, informais. Hoje em dia, este tipo de teclado está disponível em ambas as formas, soft-touch e click type e é bastante formal.

Capacitive contact

Estes teclados de alta qualidade eram populares nos primórdios dos PC’s mas eram muito caros de produzir. O original PC da IBM, PC/XT e PC/AT usavam este tipo de teclado. A matriz de teclas é uma série de muito pequenos condensadores unindo as linhas X e Y da matriz. O topo da tecla pressiona um prato condensador até junto de dois pratos condensadores na placa do circuito dentro do teclado, aumentando assim a capacitância entre as linhas X e Y da matriz.

O teclado está conectado ao computador via dois tipos de conectores. Anteriormente, a maior parte dos computadores usavam conectores 5 Pin DIN nas suas placas de sistema e isto fornecia mais 5 volts e ligação à terra do teclado, e recebia dados e sinais de relógio do teclado.

Os pinos no conector 5 Pin DIN estão assim definidos:

Pin 1 = Clock (do teclado)

Pin 2 = Data (do teclado)

Pin 3 = Reset (não é usado)

Pin 4 = Ligação à terra

Pin 5 = suplemento de 5 volts

A PS/2 IBM introduziu um pequeno conector, uma miniatura de um conector 6 Pin DIN, e a interface desta PS/2 e se tornou um modelo de referência.

Os pinos de um conector de um teclado PS/2 estão definidos da seguinte forma:

Pin 1 = Data (do teclado)

Pin 2 = n/c

Pin 3 = Ligação à terra

Pin 4 = suplemento de 5 volts

Pin 5 = Clock

Pin 6 = n/c

Quando é pressionada uma tecla num teclado, um “Press Code” é gerado pela ação da pressão da tecla e um “Release Code” é gerado quando a tecla é solta. Os “Press Code” e “Release Code” são usados para produzir o “Typematic” (uma característica do teclado que faz com que uma tecla repita a sua escrita continuamente enquanto estiver pressionada).

Os dados do teclado são enviados para o Circuito de Interface do Teclado na placa de sistema. Cada byte dos dados é submetido ao “clock” no circuito de interface por um “Clock signal”, proporcionado pelo próprio teclado.

O circuito de interface dos teclados PC/XT (a primeira geração dos 8 bits de bus nos computadores DOS) é um pouco diferente àquele usado nos AT. A interface usada nos computadores de 8 bits era unidireccional, o teclado apenas fala com o computador e ao contrário, isso não acontece. Os computadores AT introduziram uma interface bidireccional e usam um chip de microprocessador 8042 para aceitar os dados vindos do teclado, e fornecer algum processamento destes. Os processos básicos envolvidos são os mesmos para ambos os tipos de interface.

Quando uma tecla de um teclado é pressionada, o processador do teclado determina um “scan code” da tecla em questão pela sua posição na matriz de teclas. O “scan code” para cada tecla representa a posição das teclas no teclado.

Quando o teclado tem um tecla pressionada, ele aciona através do seu relógio um “scan code” representado aquela tecla, para o circuito de interface do teclado na placa de sistema.

Quando o circuito de interface recebe os 8 bits (teclados XT) ou 11 bits (todos os outros computadores DOS) dos dados da tecla, ele gera uma interrupção de hardware no IRQ1, para dar início à rotina de serviço do teclado.

Quando o processador do computador detecta o sinal de interrupção de hardware IRQ 1, via um chip controlador IRQ 8259, ele dá início à rotina de interrupção de manuseamento com o objectivo de encontrar o número de interrupção que a causou. É usado então este número para encontrar o vetor, da Tabela de Vetores de Interrupções, que aponta para a rotina de serviço do teclado. O vetor é o endereço do início desse serviço.

Ufa galera, por hoje é só, no próximo post, vou continuar explicando como funciona o teclado do PC.

Até breve

MsxRevival.

Anúncios

2 comentários em “O teclado PS2

    • oi marco, acredito que não seje possível, pois o keypad do microC não foi feito exatamente para essa finalidade, o que aconteçe é que o msx trata o teclado de um modo diferente do ps2 da ibm, o msx lê o teclado de tempos em tempos e retorna a varedura, portanto você não consegue ligar diretamente, pois vc teria que ficar monitorando os pedidos do msx para atender o envio, isso fica mais simples se usar um microcontrolador que faria esse trabalho, e a partir daí vc tratar o que aconteçe entre um teclado e outro. Não é qualquer microcontrolador que pode fazer esse trabalho.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s