O módulo ser2VGA é um
módulo embarcado que habilita seu micro controlador
através da USART, ter acesso aos dados retornados
de um teclado PS2 e mouse PS2. Também permite
você enviar comandos ou dados para um monitor
VGA. Basta apenas conectar o mouse, teclado e monitor
com entrada VGA, definir algumas configurações
padrões (via teclado) e pronto.
Características
USART TTL 3.3V ou 5V (divisor);
Alimentação principal 5V;
Barrapinos;
Furos 4mm para fixação da placa;
Pino de RESET;
Fácil de instalar;
Reconhece os comandos padrão VT100
(pode ser um terminal burro para LINUX EMBARCADO).
Interface com o teclado PS2 - Protocolo
Ao ligar o módulo, o teclado PS2 inicializará
e acenderá o LED NUM-LOCK. Toda vez que você
pressionar uma tecla, o módulo mandará
para o seu micro controlador o código da tecla
no seguinte formato. (MODO MICROCONTROLADOR).
kbdString + códigoTeclaString + byte
0 (NULL)
Exemplo:
Digamos que se você pressionar a tecla 'a',
na serial do módulo (TXD) será enviada
a seguinte sequência:
kbd000061 seguido pelo byte 0
Onde kbd identifica que a mensagem veio do
teclado PS2 e 000061 são os códigos
da tecla.
Interface com o mouse PS2 - Protocolo
Ao ligar o módulo, o mouse PS2 inicializará
somente se a opção CTRL_F12 (S.O) estiver
como "MODO MICROCONTROLADOR". Toda vez que
você clicar um botão do mouse, ele mandará
para o seu micro controlador, o código do mouse
no seguinte formato:
mseString + botaolinhacolunaString + byte
0 (NULL)
Exemplo:
Digamos que se você click o botão esquerdo
do mouse, estando o ponteiro do mouse na linha 03
e coluna 04, na serial do módulo (TXD) vai
ser enviada a seguinte sequência:
mse000304 seguido pelo byte 0
Onde mse identifica que mensagem veio do mouse
PS2 e 000304 são os códigos que correspondem:
00 = botão esquerdo do mouse; (01 caso seja
o botão direito)
03 = linha do ponteiro do mouse; (HEXADECIMAL)
04 = coluna do ponteiro do mouse. (HEXADECIMAL)
Interface com o monitor VGA - Protocolo
Ao ligar o módulo, você verá
o cursor na linha 00 e coluna 00. A partir desta posição,
tudo o que você mandar para o módulo
(RXD), será impresso no monitor. Exemplo, se
você mandar o byte 65 (ver tabela ASCII) para
o módulo, verá o "A" ser impresso
e o cursor avançar automaticamente para a posição
seguinte.
Se o cursor estiver na última posição
da tela e você imprimir um caractere, o monitor
fará um SCROOL.
Você pode mandar um comando em vez de caractere
para o monitor, neste caso, deve começar com
o byte 27 (ESC).
Veja em ação
Neste vídeo, o módulo
recebe pela serial (RXD) comandos VT100 para posicionar
o cursor em 4 posições diferentes e
então imprimir o valor de um contador nestas
posições. Ao mesmo tempo, o mouse é
movimentado e a qualquer momento que se clica, o coordenada
e botão são enviados pelo TXD, bem como
quando se tecla algo, o código do tecla tambem
é enviado pelo TXD.