Hardware - A interface PS/2
  • Leonardo Ritter

Hardware - A interface PS/2


Este é o primeiro artigo com o detalhamento de cada interface presente no chip Super I/O. A primeira será a interface PS/2, utilizada para conectar mouse e teclado a placa-mãe.

Os conectores PS/2 foram lançados em 1987, no computador da IBM com o nome de Personal System/2. Eles se tornaram padrão da indústria para conectar mouse e teclado ao computador e ainda é possível encontrar pelo menos 1 destes conectores em placas-mãe atuais.

Os conectores PS/2 são do tipo Mini DIN 45322 e são os substitutos dos mouses com interface DE9 RS-232 e também dos teclados com conector DIN 41524 de 5 pinos, que eram utilizados nos computadores IBM PC/AT e nas placas-mãe de fator-forma AT. É interessante demais conhecer o funcionamento da interface de comunicação que utilizava o conector DIN 41524, e caso queira conhece-la em detalhes, CLIQUE AQUI! Você verá que os antigos teclados utilizavam um protocolo de comunicação idêntico com o PS/2.

Mas porque há dois conectores com cores diferentes, sendo um para teclado e outro para o mouse? O mouse PS/2 é conectado a porta verde e possui um conjunto de comandos que devem ser tratados por um controlador, já o teclado é conectado a porta roxa e possui outro conjunto de comandos, completamente diferente e que deve ser tratado por outro controlador apropriado para tal função.

Devido a utilização de interfaces melhores e mais atuais, como por exemplo, a USB, o Wi-Fi e o Bluetooth, as fabricantes de placas-mãe atuais vem utilizando apenas um conector, onde pode ser colocado tanto um mouse quanto um teclado. Veja abaixo, a imagem de um conector deste:

No circuito, as duas portas PS/2 são ligadas ao Super I/O (e em alguns chipsets Ponte Sul, como por exemplo, alguns modelos da VIA Technology, que possuem um Super I/O integrado) que possui dois circuitos, um para o mouse e outro para o teclado. Nas placas que possuem apenas um conector PS/2 ele é ligado tanto no circuito do Super I/O que processa o sinal vindo o mouse quanto o circuito que processa o sinal vindo do teclado. Quando um mouse PS/2 estiver conectado, o controlador para os sinais do teclado não entende os comandos e os ignora e quando um teclado for conectado, o controlador para os sinais do mouse não entende os comandos e os ignora.

Veja abaixo, a pinagem do conector PS/2 para mouse e para teclado:

Como você pode ver, em cada conector há apenas uma linha de dados half-duplex (canal que serve tanto para enviar quanto para receber informações), uma linha para sinal de clock, que fica entre 10 e 16,7 kHz servindo para sincronizar os transmissores e o polo positivo e negativo de energia para alimentar o periférico. Dois pinos nunca foram utilizados pois serviram como uma "reserva" para incrementar tecnologias no futuro sem que um novo conector precisasse ser criado.

Um mouse ou teclado PS/2 deve puxar no máximo 275 miliAmpéres a 5 Volts do host em que ele está conectado. A interface não possui a tecnologia Hot-Plug, ou seja, você não pode conectar um mouse ou teclado com o computador ligado. Isso acontece pois, estas interfaces são primitivas e na época não havia tecnologias de reconhecimento instantâneo do dispositivo e nem um "controle perfeito" de energia nas portas, o que poderia gerar um surto de corrente e danos no periférico e até mesmo o controlador presente no Super I/O.

Atualmente, com a evolução de tecnologia e a utilização de fusíveis do tipo Poly (não requerem substituição), um mouse ou teclado pode ser conectado ou desconectado com o PC ligado (em algumas placas) com menos riscos de danos mas, mesmo assim não é aconselhável.

Devido o PS/2 ser um padrão da indústria, os circuitos presentes nestas interfaces são padronizados, possuindo poucas diferenças de um modelo placa para outro. Selecionamos 4 esquemas elétricos de portas PS/2 para que você entenda melhor como o conector é ligado ao Super I/O da placa-mãe. Veja as imagens abaixo:

Esquema elétrico dos conectores PS/2 da placa-mãe GBT GA-M61PM S2 Rev.: 1.00

Esquema elétrico dos conectores PS/2 da placa-mãe GBT GA-60XT

Esquema elétrico dos conectores PS/2 da placa-mãe MSi MS 7054 Rev.: 0A.

Perceba que neste diagrama da MSi há indutores no lugar dos resistores. Como eu disse, existe um padrão, mas que pode ser alterado, melhorado, enfim, desde que não se perca a compatibilidade com dispositivos.

Esquema elétrico dos conectores PS/2 da placa-mãe GBT GA-8VM800M

A comunicação entre periférico e host, acontece da seguinte maneira:

Quem gera o sinal de clock é o periférico, portanto, para que o host envie algo, ele deve primeiramente levar o sinal de clock a nível LOW (baixo) por 100 microSegundos e na sequência puxar a linha de dados também em nível LOW e no mesmo instante levar a linha de clock para HIGH. A partir disso, o host pode enviar comandos ao periférico.

Abaixo, eu resumo os sinais de comunicação:

Linha de dados = HIGH e linha de clock = HIGH significa que o canal está ocioso;

Linha de dados = HIGH e linha de clock = LOW significa que a comunicação foi inibida;

Linha de dados = LOW e linha de clock = HIGH significa que o host está pedindo para enviar.

A comunicação é feita transmitindo 1 Byte (conjunto de 8 bits) de cada vez. Neste Byte é acrescentado o START bit e o STOP bit, além do bit de paridade. No caso da comunicação do host com o periférico há ainda o bit de confirmação "ACK". "ACK" significa Acknowledge e, sempre que o host envia um dado, o periférico envia este bit para confirmar o recebimento.

Veja abaixo, o desenho de uma transmissão de 8 bits do periférico para o host:

Agora veja o envio de 1 Byte do host para o periférico:

O START bit é sempre nível LOW pois, o estado ocioso é sempre HIGH, já o STOP bit é sempre nível HIGH, indicando retorno ao estado ocioso. O bit "ACK" é a confirmação de que o periférico recebeu o dado do host e o bit "P" é o valor de paridade para que seja efetuado o calculo que indica ou não erro no dado transmitido. Caso haja erro no dado transmitido, o dispositivo que recebeu o dado entende como "comando inválido" e manda o comando de pedido de reenvio do dado.

Caso mais de um Byte precise ser enviado, o sinal de clock permanece e após o STOP bit é dado outro START bit. No caso do envio do host para o periférico, após o "ACK" o sinal de clock continua e o START bit é dado novamente. Para o host anular a transferência, ele deve manter o clock em nível LOW por 100 microSegundos antes que seja dado o STOP bit.

A leitura dos bits no host é feita a partir da borda descendente do sinal de clock enquanto a leitura do sinal recebido pelo periférico é feita na borda ascendente do pulso de clock.

O valor de tensão para os pulsos de nível LOW pode variar dentro da faixa de 0,0 Volts e 0,7 Volts. Já para os pulsos de nível HIGH, o sinal elétrico pode variar dentro da faixa de 2,4 e 5,25 Volts.

Curiosidade: quando você liga seu PC, os três LEDs verdes presentes na maioria dos teclados piscam uma ou mais vezes, indicando que está tudo bem com o PC. Isso só acontece pois o host faz um teste no hardware e se estiver tudo funcionando, ele manda um comando para o teclado pedindo para que ele ascenda os LEDs. Fantástico, né?

Gostou de saber como funciona esta interface? No próximo artgo, explicarei o funcionamente das interfaces serial e paralela, além de várias outras presentes no Super I/O. Se acha que falta alguma coisa ou ficou com alguma dúvida, mande suas palavras para hardwarecentrallr@gmail.com ou comente no facebook! Não se esqueça de curtir e compartilhar!

FONTES e CRÉDITOS:

Texto, imagens e gráficos: Leonardo Ritter

Fontes: Pinouts.ru; Computer Engineering; HardwareBook; Wikipedia (somente artigos com fontes verificadas!); Beyond Logic; Biblioteca do Hardware Central.

Última atualização: 07 de Fevereiro de 2019.


0 visualização

© 2019 Hardware Central Tecnologia Entretenimento e Comunicação do Brasil Ltda. Todos os direitos reservados.

Wix Editor / Revisão da web page: 3.0/2019 (07/10/19)