Emulador de teclado y ratón USB por puerto serie
CH9329
Pinout
| Pin | Función |
|---|---|
| ACT# | Salida de estado de configuración USB completada, activa a nivel bajo. |
| MODE0 | Pin de configuración del modo de operación 0, con resistencia pull-up interna. Trabaja junto con MODE1. |
| MODE1 | Pin de configuración del modo de operación 1, con resistencia pull-up interna. Trabaja junto con MODE0. |
| CFG0 | Pin de configuración del modo de comunicación serie 0, con resistencia pull-up interna. Trabaja junto con CFG1. |
| CFG1 | Pin de configuración del modo de comunicación serie 1, con resistencia pull-up interna. Trabaja junto con CFG0. |
| RST | Entrada de reset externo, activa a nivel alto, con resistencia pull-down interna. |
| TXD | Salida de datos serie (UART TX). |
| RXD | Entrada de datos serie (UART RX), con resistencia pull-up interna. |
| UP | Indicación de subida de paquete USB exitosa. El nivel se invierte con cada paquete enviado correctamente. |
| DEF | Restauración de parámetros de fábrica. Mantener a nivel bajo más de 3 s para restablecer la configuración original, con resistencia pull-up interna. |
| SET | Pin de configuración de parámetros, activo a nivel bajo, con resistencia pull-up interna. Fuerza el modo de transmisión por protocolo mientras esté a nivel bajo. |
| UD+ | Señal USB D+. Conectar directamente al conector USB. |
| UD- | Señal USB D−. Conectar directamente al conector USB. |
| GND | Masa del circuito. |
| VCC | Entrada de alimentación (3,7–5,5 V). Requiere condensador de desacoplo de 0,1 µF. |
| V33 | Salida del regulador USB interno (3,3 V). Conectar a VCC si la alimentación es de 3,3 V; conectar condensador de 0,1 µF si VCC es 5 V. |
CH9329
El CH9329 es un circuito integrado de Nanjing Qinheng Microelectronics Co., Ltd. (WCH) que convierte datos recibidos por UART en paquetes USB HID, permitiendo que cualquier dispositivo con puerto serie emule un teclado, un ratón o un dispositivo HID personalizado ante un ordenador. El PC lo reconoce como un periférico USB estándar y no necesita controladores adicionales: Windows, Linux, Android y macOS traen los drivers preinstalados.
El chip integra toda la circuitería USB necesaria: oscilador de cristal interno, PLL con reloj USB de 24 MHz, resistencias de adaptación de las líneas D+/D−, pull-up de 1,5 kΩ para la identificación como dispositivo, y regulador interno de 3,3 V para el transceptor USB. El circuito externo se reduce a dos condensadores de desacoplo y el conector USB.
La comunicación serie utiliza un formato estándar (1 bit de inicio, 8 bits de datos, 1 bit de parada) con un baudrate por defecto de 9600 bps, configurable hasta 115200 bps (este último solo con alimentación de 5 V).
Encapsulado SOP-16.
Cómo funciona
Modos de operación. Dos pines (MODE0 y MODE1) seleccionan uno de cuatro modos de operación que determinan cómo se identifica el chip ante el ordenador:
| Modo | MODE1 | MODE0 | Función |
|---|---|---|---|
| 0 | 1 | 1 | Teclado estándar + ratón + HID personalizado (por defecto) |
| 1 | 1 | 0 | Solo teclado estándar (teclas ordinarias, sin multimedia) |
| 2 | 0 | 1 | Teclado estándar + ratón (recomendado en Linux/Android/macOS) |
| 3 | 0 | 0 | Solo HID personalizado (transmisión transparente serie ↔ HID) |
Si los pines MODE0 y MODE1 quedan al aire, el chip trabaja en el modo 0 por defecto, que es el más completo: teclado con teclas ordinarias y multimedia, ratón relativo y absoluto, y canal HID personalizado.
Modos de comunicación serie. Otros dos pines (CFG0 y CFG1) seleccionan cómo debe formatearse la trama serie que recibe el CH9329:
| Modo serie | CFG1 | CFG0 | Descripción |
|---|---|---|---|
| 0 | 1 | 1 | Protocolo estructurado (por defecto). Cada trama sigue un formato definido por el fabricante. Necesario para usar teclado y ratón a la vez. |
| 1 | 1 | 0 | ASCII. Se envían directamente caracteres ASCII visibles o caracteres chinos por código de sección. Solo cubre las teclas de carácter visible. |
| 2 | 0 | 1 | Transmisión transparente. Se envían datos hexadecimales sin formato; cada 8 bytes forman un paquete USB. Adecuado para el modo de operación 3. |
Si CFG0 y CFG1 quedan al aire, se activa el modo 0 (protocolo), que es el más versátil.
Pines de control. El pin ACT# indica a nivel bajo que la conexión USB con el ordenador se ha establecido correctamente. El pin UP conmuta su nivel cada vez que se sube un paquete de datos con éxito. El pin SET, al forzarlo a nivel bajo, hace que el chip entre temporalmente en modo de protocolo, permitiendo reconfigurar sus parámetros desde el dispositivo serie. El pin DEF, mantenido a nivel bajo durante más de 3 s, restablece todos los parámetros a los valores de fábrica.
Configuración avanzada. Mediante el software de PC proporcionado por WCH, se pueden personalizar el modo de operación, el modo de comunicación serie, el baudrate, la dirección de comunicación (permite varios CH9329 en el mismo bus serie), los tiempos de espera, el carácter de Enter, cadenas de filtrado, y los descriptores USB (VID, PID, cadenas de fabricante, producto y número de serie). Los parámetros quedan almacenados de forma permanente en el chip y se mantienen tras apagar la alimentación.
Alimentación. El rango de tensión de alimentación es de 3,7 a 5,5 V. Cuando se usa a 5 V, el pin V33 se conecta a un condensador de desacoplo de 0,1 µF (el regulador interno genera los 3,3 V para el transceptor USB). Cuando se usa a 3,3 V, V33 se conecta directamente a VCC. El consumo estático típico es de 11 mA.
Otras aplicaciones
Más allá de la emulación de teclado y ratón, el CH9329 se utiliza en:
- Automatización y control remoto. Enviar pulsaciones de teclado o movimientos de ratón a un PC desde un microcontrolador, un PLC o un sistema embebido, sin necesidad de software especial en el lado del ordenador.
- KVM y conmutadores. Integración en soluciones KVM sobre IP o serie, donde el dispositivo remoto necesita inyectar eventos de teclado y ratón en el ordenador controlado.
- Test y depuración. Emular la entrada de un usuario humano para pruebas de software, automatización de BIOS o tareas repetitivas en máquinas que solo aceptan dispositivos HID estándar.
- Dispositivos HID personalizados. En el modo 3 (HID personalizado), el chip actúa como puente serie ↔ USB bidireccional para transmisión de datos genéricos sin necesidad de driver, útil en instrumentación y dispositivos de adquisición de datos.
Referencias y documentación adicional
- PDFDatasheet del CH9329
Esta es la fuente principal a partir de la cual se ha creado este artículo.
- WEB