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:

ModoMODE1MODE0Función
011Teclado estándar + ratón + HID personalizado (por defecto)
110Solo teclado estándar (teclas ordinarias, sin multimedia)
201Teclado estándar + ratón (recomendado en Linux/Android/macOS)
300Solo 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 serieCFG1CFG0Descripción
011Protocolo estructurado (por defecto). Cada trama sigue un formato definido por el fabricante. Necesario para usar teclado y ratón a la vez.
110ASCII. Se envían directamente caracteres ASCII visibles o caracteres chinos por código de sección. Solo cubre las teclas de carácter visible.
201Transmisió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.