Escolar Documentos
Profissional Documentos
Cultura Documentos
Teclado - Descriao Do Funcionamento e Protocolo de Um Teclado PC
Teclado - Descriao Do Funcionamento e Protocolo de Um Teclado PC
ARQUITECTURA DE COMPUTADORES II
Ano Lectivo de 2002-2003
Descrição do funcionamento e
protocolo de um teclado (PC)
Elaborado por:
Bruno Luís – bluis@student.dei.uc.pt – 995011059
Carla Pacheco – cpacheco@student.dei.uc.pt - 501011218
ÍNDICE
INTRODUÇÃO ....................................................................................................................3
O BÁSICO DO TECLADO ..................................................................................................4
MECÂNICA DO TECLADO.................................................................................................5
CONECTORES DE TECLADO ...........................................................................................6
O TECLADO DE COMPUTADORES AMBIENTE DOS .....................................................8
O QUE ACONTECE QUANDO PRESSIONAMOS.............................................................9
UMA TECLA DE UM TECLADO DE COMPUTADOR? .....................................................9
ROTINA DE SERVIÇO DO TECLADO .............................................................................10
VALORES DOS BYTES AUXILIARES PARA “TECLAS ESPECIAIS” ..........................12
COMO DIFEREM AS INTERFACES DOS TECLADOS AT E XT?..................................14
OS DADOS SÃO ENVIADOS PELO TECLADO..............................................................15
PARA O CIRCUITO DE INTERFACE NUMA FORMA SEQUENCIAL ............................15
“SHIFT REGISTER” DE UM MICROPROCESSADOR....................................................17
OUTRAS CONSIDERAÇÕES...........................................................................................18
COMANDOS DO TECLADO.............................................................................................19
SCAN CODES...................................................................................................................21
ESQUEMA E HARDWARE...............................................................................................22
BIBLIOGRAFIA.................................................................................................................23
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 libertação das teclas.
Mechanic contact
Este tem um comutador de acções e usualmente proporciona bom tacto 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.
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.
Quando é pressionada uma tecla num teclado, um “Press Code” é gerado pela
acção da pressão da tecla e um “Release Code” é gerado quando a tecla é liberta. 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).
O circuito de interface dos teclados PX/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.
Estas teclas efectuam 2 bytes de status, alojados na parte mais baixa da memória
RAM, e esses bytes analisam o estado dessas teclas. Quando a rotina de serviço do
teclado aceita um “scan code” do teclado, ela então consulta os dois bytes de status em
417 e 418 (hexadecimal), para ver como o estado dessas teclas afectam os “scan codes”.
Os bits dos bytes de status
Exemplo: A tecla “A”, tem um código de 1E (hex) e pode ser “A”, “a” ou “Alt+A”
dependendo do status do Byte Status.
A tabela seguinte lista os valores do Byte Auxiliar para as “teclas especiais” num
“velho” teclado de 84 teclas. As teclas extra para os modernos teclados de 101 teclas
estão listadas mais à frente.
É de notar que o Byte Principal será sempre “00” para as teclas especiais.
Quando o computador deseja enviar um comando para o teclado, ele força a linha
de dados a estar a “low” e deixa a linha do relógio “high”. Quando o teclado verifica estas
condições, responde com um código (hex) FA. Se o teclado detectar um erro nos dados
transmitidos pelo computador, ele vai responder com um FE (hex) e este código pede a
retransmissão daquele código que estava errado. Os erros são detectados via os Bits de
O modo très elimina todas as confusões do modo 2 atribuíndo a cada uma das
teclas um único “Press code” mas muitos teclados não suportam este modo e muitos não
suportam o comando “Change Mode” (F0).
Para além dos “scan codes”, comandos também podem ser enviados e recebidos
pelo teclado. A secção que se segue, detalha a função desses comandos. É de notar que
estes comandos são apenas os de uso mais comum.
Comandos de “host”
Estes comandos são enviados pelo “host” para o teclado. O comando mais
comum sera o de “setting/resetting” dos Indicatores de Status. (isto é, os LEDs do Num
Lock, Caps Lock e Scroll Lock). Os comandos mais usuais e úteis são os seguintes:
ED Set Status LED’s – Este comando pode ser usado para ligar ou desligar os
LED’s do Num Lock, Caps Lock e Scroll Lock. Depois de enviar ED, o teclado irá
responder com um ACK (FA) e espera por outro byte que determina o Status. O bit 0
controla o Scroll Lock, bit 1 o Num Lock e o bit 2 o Caps Lock. Bits de 3 a 7 são
ignorados.
F0 Set Scan Code Set – Depois de enviar F0, o teclado irá responder com um
ACK (FA) e esperar por outro byte, 01-03 que determina o “scan code” usado. Enviando
00 como segundo byte irá devolver o “scan code set” correntemente em uso.
F4 Host Enable – limpa o buffer dos teclados “output”, permite o scanning do host
e devolve um acknowledge.
Comandos
Se os comandos de Host são enviados do Host para o teclado, então os
comandos de teclado deverão ser enviados do teclado para o Host. Em baixo, alguns dos
comandos que o teclado pode enviar.
FA - Acknowledge
O diagrama abaixo mostra o “scan code” atribuído a cada uma das teclas. O “scan
code” é mostrado abaixo da tecla. Por exemplo, o “scan code” para a tecla “Esc” é o 76.
Todos os “scan codes” estão em notação hexadecimal.
O pino TXD, enquanto transmite num formato RS-232 não está nos níveis de
voltagem RS-232. Se se quer conectá-lo em equipamentos RS-232, então será
necessário juntar um conversor de nível RS-232. Outra opção é, num sistema de
desenvolvimento, conectá-lo directamente ao pino RXD.
O circuito está definido para executar em 4 MHz (2 MHz de Bus Speed). O timing
para a transmissão RS-232 é baseado no Bus Speed, assim o seu processador (cristal)
tem de ser de 4 MHz.
http://h18000.www1.hp.com/athome/international/br/tutorials/keyboard/inde
x.html
http://www.di.uminho.pt/~amp/textos/COA/node9.html
http://www.repairfaq.org/filipg/LINK/PORTS/F_Keyboard_FAQ.html
http://www.simpits.org/engineering/KeyEmu/Key_Emu.html