Tengo un teclado de una vieja funda de tableta con un conector mini-USB que quiero leer usando un microcontrolador PIC32.
Cuando aplico 5V al teclado (completamente independiente, sin ningún otro circuito alrededor), el teclado hace algo en las líneas de datos cuando presiono algunas teclas, pero no parece estar usando el protocolo que conozco :
Aquí, D+ y D- parecen ser inversos entre sí la mayor parte del tiempo, y D- es bajo cuando está inactivo. Mi teclado no muestra el mismo patrón.
D- es alto cuando está inactivo. D+ también es alto cuando está inactivo, no solo cambié las líneas. No tengo las herramientas para realizar un análisis en profundidad, pero sé que las dos líneas no son simplemente iguales.
¿Hay teclados USB que tengan un protocolo diferente (por ejemplo, D-invertida o algo completamente diferente)? ¿Qué podría estar pasando aquí?
Muchos teclados admiten PS/2 para compatibilidad con versiones anteriores: detectan si están conectados a un host USB y, si no, se comportarán como un teclado PS/2.
Es posible que esto sea lo que está viendo: si no ha conectado nada a las líneas D+/D-, el teclado determinará que no está conectado a un host USB y recurrirá a PS/2. Si no tuviera este modo, probablemente no vería nada en las líneas de datos ya que no hay un host conectado para emitir comandos.
Hay adaptadores USB a PS/2 que son básicamente pasivos y conectan las señales D+ y D- a las señales de reloj y datos del conector PS/2. Podría valer la pena probar uno de estos (si tiene uno por ahí y una computadora que tiene un puerto PS/2) para verificar.
usuario17592
tom carpintero
usuario17592