Adaptadores USB a serie: drivers, niveles y trampas
Cómo funcionan los adaptadores USB a serie, por qué importan los drivers y los chips falsificados, diferencias entre RS-232 y TTL, y cómo comunicar equipos DB9.
Un adaptador USB a serie es un pequeño convertidor que transforma un puerto USB en un puerto serie RS-232, para que un ordenador sin puerto serie pueda comunicarse con la consola de un router, un PLC, una impresora de etiquetas, una balanza o un equipo de laboratorio. El adaptador contiene un chip convertidor, y ese chip lo es todo: decide qué driver necesita el ordenador, qué niveles de señal aparecen en los pines y si el adaptador seguirá funcionando tras la próxima actualización del sistema operativo. Elija el equivocado y no obtendrá nada, caracteres corruptos o dañará el hardware del otro extremo.
Qué hay dentro del adaptador
Un adaptador USB a RS-232 es tres cosas en una carcasa moldeada: una interfaz USB, un chip controlador serie y un adaptador de niveles que genera voltajes RS-232 reales. El chip controlador se presenta al ordenador como un puerto COM virtual. El sistema operativo carga un driver para ese chip, y el driver hace que el puerto aparezca como un puerto serie normal para el software de terminal.
Por eso el driver importa más que el cable. El chip interior determina el driver, y el driver determina si el adaptador funciona en su sistema operativo. Los adaptadores basados en chips bien soportados generalmente se instalan desde el propio sistema operativo o desde un paquete de driver firmado. Los adaptadores basados en copias no licenciadas de esos chips pueden ser bloqueados por el driver del fabricante original, que es el fallo clásico: el adaptador funcionó durante años y, de repente, una actualización del driver dejó de reconocerlo.
Los chips falsificados son un problema real en este mercado. Un chip convertidor que no es la pieza original puede reportar la misma identidad, por lo que el driver original se carga, detecta la discrepancia y rechaza el dispositivo. Los síntomas incluyen un puerto que aparece y desaparece, un dispositivo que muestra un error en el administrador de dispositivos o un puerto que se abre pero no envía nada. La solución práctica es comprar adaptadores basados en chips con un driver publicado y mantenido, y conservar ese instalador de driver junto al equipo al que sirve.
RS-232, TTL y la diferencia que daña el hardware
RS-232 no es lo mismo que la señal serie en una placa de microcontrolador. RS-232 utiliza señales asimétricas donde un voltaje entre +3 V y +15 V es un 0 lógico (espacio) y entre -3 V y -15 V es un 1 lógico (marca). Un puerto serie TTL o CMOS, como los que se encuentran en placas de microcontrolador y muchos conectores integrados, utiliza niveles lógicos de 3,3 V o 5 V.
Conectar los dos directamente puede dañar el lado de bajo voltaje. Una salida RS-232 real oscila entre voltajes positivos y negativos que una entrada de 3,3 V no está diseñada para aceptar. Si el equipo espera TTL, use un adaptador USB a TTL o un adaptador de niveles, no un adaptador USB a RS-232. Si el equipo espera RS-232, un adaptador USB a TTL no lo excitará.
| Tipo de adaptador | Niveles de salida | Uso típico |
|---|---|---|
| USB a RS-232 | +3 V a +15 V y -3 V a -15 V | Equipos DB9 o DB25, consolas, módems, balanzas |
| USB a TTL | Lógica de 3,3 V o 5 V | Placas de microcontrolador, conectores integrados |
| USB a RS-422/485 | Diferencial | Tramos largos, Modbus RTU, control de iluminación DMX512 |
El estándar permite RS-232 hasta 15 m (50 ft) a 19.200 baudios; velocidades más bajas llegan más lejos. RS-422 y RS-485 son diferenciales y alcanzan distancias mucho mayores, hasta 1200 m (4000 ft) a velocidades más bajas, por eso los equipos industriales suelen usarlos.
Conectores y patillajes que encontrará
La mayoría de los adaptadores USB a serie terminan en un conector DE-9 macho, normalmente llamado DB9. El patillaje del PC (DTE) es fijo: pin 1 DCD, pin 2 RXD, pin 3 TXD, pin 4 DTR, pin 5 masa de señal, pin 6 DSR, pin 7 RTS, pin 8 CTS, pin 9 RI. Los equipos más antiguos pueden usar un DB25, donde el patillaje es diferente: pin 2 TXD, pin 3 RXD, pin 4 RTS, pin 5 CTS, pin 6 DSR, pin 7 masa de señal, pin 8 DCD, pin 20 DTR, pin 22 RI. La referencia completa RS-232 serial pinouts: DB9 and DB25 lista ambos, y merece la pena consultarla antes de fabricar un cable.
DTE significa ordenador o terminal; DCE significa módem. Un cable directo une DTE con DCE. Dos DTE necesitan un cable null modem, donde TXD y RXD se cruzan, RTS y CTS se cruzan, DTR se cruza con DSR y DCD, y la masa de señal pasa directa. Un cambiador de género intercambia macho y hembra sin cruzar nada, por lo que no convierte un cable directo en un cable null modem. Si dos ordenadores o dos equipos terminales no se comunican, la página null modem cables and adapters cubre el cableado y los adaptadores ya hechos.
Drivers, puertos y el sistema operativo
Un adaptador USB a RS-232 aparece como un puerto COM en Windows y como un dispositivo tal como /dev/ttyUSB0 o /dev/tty.usbserial en Linux y macOS. El número de puerto puede cambiar cuando se desconecta y se vuelve a conectar el adaptador, o cuando se mueve a un puerto USB diferente. El software de terminal que almacena un puerto COM fijo fallará al abrir el puerto, lo que parece un fallo del adaptador pero no lo es.
Dos hábitos evitan la mayoría de estos problemas. Primero, conecte el adaptador al mismo puerto USB cada vez, para que el número de puerto se mantenga estable. Segundo, anote el número de puerto en la documentación del equipo. En Linux, una regla basada en el número de serie del adaptador puede fijar el nombre del dispositivo; no todos los adaptadores reportan un número de serie, así que compruébelo antes de confiar en ello.
El USB en sí no es el límite aquí. Incluso USB 1.1 Full Speed a 12 Mbps es mucho más rápido que cualquier velocidad en baudios serie común, y el lado USB del adaptador no es lo que limita el enlace. La página USB 3.0, 3.1, 3.2 and USB4: speeds and names decoded explica las etiquetas de velocidad si está eligiendo entre adaptadores y hubs, pero para trabajo serie cualquier puerto USB que funcione es suficiente.
Volver a comunicar equipos antiguos
Recorra el enlace en orden y cambie una cosa a la vez.
- Confirme que el adaptador es reconocido. Revise el administrador de dispositivos o el registro del sistema para ver un dispositivo serie y anote el nombre del puerto.
- Confirme que el driver coincide con el chip. Si el adaptador no es reconocido, instale el driver para el chip que lleva dentro, no uno genérico.
- Confirme el tipo de cable. Directo para DTE a DCE, null modem para DTE a DTE.
- Confirme la configuración serie. Velocidad en baudios, bits de datos, paridad, bits de parada y control de flujo deben coincidir en ambos extremos. El control de flujo es el culpable habitual: el control de flujo por hardware (RTS/CTS) se bloqueará si el cable no lleva esos pines.
- Confirme los niveles. Los equipos RS-232 necesitan un adaptador RS-232; los conectores TTL necesitan un adaptador TTL.
Para trabajo de consola, un cable rollover invierte los ocho pines de extremo a extremo y se usa con un adaptador RJ45 a DB9 en puertos de consola estilo Cisco. Muchos dispositivos más nuevos tienen un puerto de consola USB en su lugar, que no necesita adaptador alguno.
Qué sale mal
Una actualización del driver bloquea el adaptador. Los chips falsificados son rechazados por el driver del fabricante original. El adaptador no está defectuoso; el driver ya no lo acepta. Conserve un instalador de driver que funcione o reemplace el adaptador por uno basado en un chip con un driver mantenido.
Se usa un adaptador USB a TTL en un equipo RS-232, o al revés. El primer caso normalmente no da comunicación; el segundo puede dañar el lado de bajo voltaje. Haga coincidir el adaptador con los niveles que espera el equipo.
Se usa el cable equivocado entre dos DTE. Un cable directo entre dos ordenadores o dos terminales no funcionará. Se necesita un cable o adaptador null modem.
El número de puerto cambia. El adaptador está bien, pero el software de terminal busca el puerto antiguo. Vuelva a seleccionar el puerto o fije el nombre del dispositivo.
El control de flujo está mal configurado. Con control de flujo por hardware seleccionado y sin cableado RTS/CTS, el enlace se atasca tras los primeros caracteres. Pruebe sin control de flujo o con control de flujo por software para comprobar el enlace, luego configúrelo correctamente.
Se espera que un cambiador de género cruce señales. Solo intercambia macho y hembra. No convierte un cable directo en un cable null modem.
Se espera que el adaptador alimente el equipo. Un puerto serie es un enlace de datos, no una fuente de alimentación. Un equipo que necesita su propia alimentación sigue necesitándola.
Se intentan tiradas largas de cable a altas velocidades en baudios. RS-232 está limitado a 15 m (50 ft) a 19.200 baudios, y menos a velocidades superiores. Para tiradas largas, use RS-422 o RS-485 en su lugar.
Se añade una extensión USB sin comprobar la alimentación. Un hub sin alimentación comparte la energía del puerto host entre sus dispositivos. Si el adaptador es poco fiable a través de un hub, conéctelo directamente o use un hub alimentado.
Preguntas comunes
¿Por qué mi adaptador USB a serie dejó de funcionar tras una actualización del driver?
Es probable que el adaptador contenga una copia falsificada de un chip convertidor. El driver del fabricante original detecta la discrepancia y rechaza el dispositivo. El adaptador no está defectuoso, pero no funcionará con ese driver. Reemplácelo por un adaptador basado en un chip con un driver mantenido, o conserve un instalador de driver que funcione para el equipo al que sirve.
¿Cuál es la diferencia entre un adaptador USB a RS-232 y un adaptador USB a TTL?
RS-232 utiliza señales asimétricas donde +3 V a +15 V es un 0 lógico y -3 V a -15 V es un 1 lógico. TTL utiliza niveles lógicos de 3,3 V o 5 V. Conectar los dos directamente puede dañar el lado de bajo voltaje, así que haga coincidir el adaptador con el equipo: RS-232 para puertos DB9 o DB25, TTL para conectores de microcontrolador.
¿Cómo conecto dos ordenadores con adaptadores USB a serie?
Cada ordenador necesita su propio adaptador, y los dos adaptadores se unen con un cable null modem o un adaptador null modem. Un cable null modem cruza TXD y RXD, cruza RTS y CTS, y cruza DTR con DSR y DCD, con la masa de señal pasando directa. Un cable directo no funcionará entre dos DTE.
¿Qué distancia puedo alcanzar con un cable de adaptador USB a serie?
El lado RS-232 está limitado a 15 m (50 ft) a 19.200 baudios, y menos a velocidades en baudios superiores. El lado USB está limitado por las reglas de cables USB, no por el adaptador. Para tiradas más largas, use RS-422 o RS-485, que son diferenciales y alcanzan hasta 1200 m (4000 ft) a velocidades más bajas.
¿Por qué cambia constantemente el número de mi puerto serie?
El número de puerto se asigna cuando se conecta el adaptador, y puede cambiar si el adaptador se mueve a un puerto USB diferente. Conecte el adaptador al mismo puerto USB cada vez, o fije el nombre del dispositivo usando el número de serie del adaptador donde el sistema operativo lo permita. No todos los adaptadores reportan un número de serie.
Leer a continuación
Cables módem nulo: cableado, adaptadores y patillajes
Un cable módem nulo cruza TX y RX para conectar dos computadoras directamente. Cubre patillajes DB9 y DB25, adaptadores versus cables y pruebas de bucle.
Cables de impresora paralelo: IEEE 1284, DB25 y Centronics
Cables de impresora paralelo IEEE 1284 explicados: conectores DB25 y Centronics 36, límites de longitud, modos y cuándo funciona un adaptador USB a paralelo.
Pinout RS-232: DB9 y DB25 explicados
Referencia completa del pinout RS-232 para conectores DB9 y DB25: asignación de pines DTE y DCE, niveles de tensión, límites de cable y el error TTL que daña placas.