Controlador para Teclado PS2 Sistemas Digitais Controlador para Teclado PS2
Pinos de Conector PS2 Também chamado mini-DIN. Possui 6 pinos 2 comunicação 2 alimentação 2 não usados Comunicação síncrona de 10khz a 16khz no nível TTL 1 bit de Start 8 bits de Dados 1 bit de Paridade 1 bit de Stop
Protocolo PS2 O primeiro bit é sempre o Start bit (indo para 0) Depois 8 bits de dados, com o menos significativo enviado primeiro Depois o bit de paridade (a paridade é ímpar) Igual a 0 se o número de 1’s nos bits de dados for ímpar Igual a 1 se o número de 1’s nos bits de dados for par Depois 1 Stop bit (indo para 1)
Scan Codes Teclado envia pacotes de dados (scan codes) para o host indicando qual chave tem sido pressionada. Quando a chave é pressionada um make code é transmitido Quando a chave é solta um break code é transmitido. Toda chave é associada a um único make e break code.
Scan Codes Sequência enviada pelo teclado (em hexadecimal) Nas teclas “normais”, o código da tecla é enviado quando a tecla pressionada. O caracter 0xF0 mais o código da tecla é enviado quando a tecla é liberta. Tecla “A”: 0x1C (tecla pressionada) 0xF0 0x1C (tecla liberta) Tecla “1”: 0x16 (tecla pressionada) 0xF0 0x16 (tecla liberta)
Scan Codes Sequência enviada pelo teclado (em hexadecimal) Nas teclas “especiais”, o código da tecla (2 bytes, sendo que o primeiro é 0xE0) é enviado quando a tecla é pressionada. Os mesmos 2 bytes mais o byte 0xF0 no meio são enviados quando a tecla é liberta. Tecla “Ins”: 0xE0 0x70 (tecla pressionada) 0xE0 0xF0 0x70 (tecla liberta) Tecla “End”: 0xE0 0x69 (tecla pressionada) 0xE0 0xF0 0x69 (tecla liberta)
Pinos de Conector PS2
PS2 Serial Port DE2
Exemplo Transmissão serial do código 4E (0100 1110) Máquina de Estados (Contador síncrono de 0 a 10)
Atividade