¿Cómo puedo saber si un dispositivo RS232 aleatorio "conocido no TTL" funcionará con cualquier convertidor USB-RS232 aleatorio antiguo?

He estado buscando convertidores RS232 por un tiempo, tratando de entender la forma en que funciona RS232 (o al menos cómo se supone que debe hacerlo) y la forma en que los convertidores RS232-USB (la mayoría de las veces, parece que no trabajar. Tratar de entender el estado de las cosas me ha dejado un poco confundido, así que pregunto aquí para tratar de resolver algo de mi perplejidad: P

Para empezar, Wikipedia afirma lo siguiente sobre RS-232 (énfasis mío):

El estándar RS-232 define los niveles de voltaje que corresponden a los niveles de uno lógico y cero lógico para la transmisión de datos y las líneas de señal de control. Las señales válidas están en el rango de +3 a +15 voltios o en el rango de -3 a -15 voltios con respecto al pin común/tierra; en consecuencia, el rango entre -3 y +3 voltios no es un nivel RS-232 válido . ...

El estándar especifica un voltaje máximo de circuito abierto de 25 voltios: los niveles de señal de ± 5 V, ± 10 V, ± 12 V y ± 15 V se ven comúnmente según los voltajes disponibles para el circuito del controlador de línea. Algunos chips controladores RS-232 tienen circuitos incorporados para producir los voltajes requeridos a partir de un suministro de 3 o 5 voltios. Los controladores y receptores RS-232 deben poder soportar un cortocircuito indefinido a tierra o cualquier nivel de voltaje de hasta ±25 voltios.

Un poco más adelante, WP también dice:

Es posible que otros estándares de señalización en serie no interoperen con los puertos RS-232 que cumplen con los estándares. Por ejemplo, el uso de niveles TTL cercanos a +5 y 0 V coloca el nivel de marca en el área indefinida del estándar. Dichos niveles a veces se utilizan con receptores GPS y buscadores de profundidad compatibles con NMEA 0183.

Todo eso tiene sentido. Pero luego entro en la madriguera del conejo...

Cuando busco un módulo convertidor USB-RS232 (como alternativa a las cosas de $ 40 que son solo ganancias puras) que en realidad sigue esta especificación, en su lugar encuentro un Internet lleno de convertidores que indican su voltaje operativo como 3.3V o 5V . No puedo encontrar ningún dispositivo explícito de 10 V, 12 V o 15 V en ninguna parte . Esto es un poco preocupante, porque tengo la impresión de que si el convertidor solo puede tolerar 3,3 V o 5 V, un dispositivo RS232 "real" (?!) Con voltajes de salida/señalización de 10 V o 12 V tiene una probabilidad razonablemente alta de el convertidor se quema espontáneamente de mala manera (además de no responder a las entradas de 3.3V/5V fuera de especificación del convertidor). Por lo tanto, mi primera preguntaes, ¿cómo puedo saber/encontrar/descifrar/identificar/etc. qué convertidores/dispositivos funcionarán y cuáles no, sin un osciloscopio?

La otra tendencia inquietante que he encontrado es que los convertidores de nivel de voltaje ZT213/MAXx23x solo parecen cambiar el nivel de TX y RX, y tiran todas las señales RS232 auxiliares (pero en ciertas situaciones muy importantes) por la ventana. Mi segunda pregunta es , ¿qué hago si tengo un dispositivo RS232 "real" (?!) que usa niveles de señal de ≥10 V que necesita (por ejemplo) una línea DTR, y todo lo que tengo es un convertidor USB-RS232 de 5 V ? ¿Qué cambiador de nivel puedo/debo usar entonces?

Finalmente, esto probablemente no esté cubierto por el artículo de WP sobre RS-232 porque está muy fuera de especificación, pero mi tercera pregunta es esta: he encontrado que muchos de los convertidores se conocen como UART. No entiendo si esta referencia se usa con respecto al conjunto de chips del convertidor en sí, o si la implicación es que se trata de un convertidor de USB a UART, donde el UART es el dispositivo de destino. ¿Cuál es el trato con esto?

UART es un receptor/transmisor asíncrono universal, también conocido como un dispositivo serial. RS232 es un estándar de cableado y señalización/eléctrico. Piense en rs232 como la capa física/mac de la pila, mientras que uart es la capa tcp/ip.
Y busque un cable ftdi usb real a rs232. FTDI fabrica adaptadores completos de USB RS232 a serie, con pines de protocolo de enlace incluidos. Usb a ttl es normalmente solo tx/rx 5v o similar
Silicon Labs también tiene algunos chips de conversión completos.
Tengo la impresión de que en realidad sería una mejor relación calidad-precio combinar un adaptador TTL barato con un cambiador de nivel separado, considerando el hecho de que las unidades prefabricadas de nivel de entrada cuestan al menos $ 13 y las equipadas con LED ( el tipo que me gustaría) son $ 30- $ 40 (!).
El MAX232/3232 estándar tiene dos transmisores y dos receptores, por lo que puede tener dos señales más además de TXD y RXD. Si necesita más, puede agregar otro MAX232. También hay otras combinaciones, pero rara vez se usan y tienden a ser costosas (ver para.maximintegrated.com/results.mvp?fam=rs232 ).
En mi experiencia, parece que algunos de los adaptadores USB a TTL tienen "RS-232" en su nombre simplemente porque el chip que usan es uno cuyo propósito previsto es para usar en un adaptador completo de USB a RS-232, por lo que el El chip se describe como un adaptador USB a RS-232 en su hoja de datos. En dicho adaptador, las conversiones de nivel lógico a alto voltaje se realizarían externamente al chip. Sin embargo, estos adaptadores USB a TTL baratos usan ese chip, omiten el bit de circuito adicional y aún toman prestado el nombre RS-232, posiblemente debido a un malentendido acerca de por qué no es RS-232 real si omite las piezas adicionales.

Respuestas (2)

Hay algunos cables que se convierten directamente de USB a RS-232, todos deben decirlo y todos deben cumplir (razonablemente) con la especificación RS-232.

Sin embargo, también hay muchos cables que traducen datos seriales asincrónicos de USB a TTL, y estos tendrán una clasificación de 3,3 V o 5,0 V. Dicho cable necesita un convertidor TTL a RS-232 separado, como el antiguo chip MAX232.

Aquí es donde comienza la confusión: muchas personas llaman a cualquier forma de datos en serie asíncronos "RS-232", aunque ese término solo se aplica correctamente al estándar de interfaz eléctrica. Debe prestar atención exactamente a lo que dice el vendedor sobre sus cables.

Una pista es que si el cable tiene un conector D-sub (DE-9 o DB-25), probablemente sea RS-232. Si tiene un conector de cabecera rectangular, probablemente sea TTL. YMMV.

El término UART se refiere al dispositivo de hardware que genera y recibe datos seriales asíncronos. Técnicamente, el cable USB a TTL contiene un chip que consta de dos interfaces: una interfaz de dispositivo USB y un UART. El chip pasa datos en ambas direcciones entre estas dos interfaces.

"Si tiene un conector de encabezado rectangular, probablemente sea TTL", desafortunadamente esto no es cierto, a veces los encabezados son RS-232 completos, a veces son CMOS tradicionales de 5V, a veces son CMOS compatibles con TTL de 5V, a veces son 3.3V con entradas tolerantes a 5V. A veces son 3,3 V sin entradas tolerantes a 5 V. Incluso he visto encabezados con conexiones UART de 1.8V. Realmente necesita verificar tanto el pinout como los niveles de voltaje antes de conectar cualquier cosa a un encabezado de pin.
@PeterGreen: Por eso dije "YMMV" (su millaje puede variar). Y para que quede claro, me refería al conector del adaptador USB-UART, no a ningún encabezado que pudiera estar en el sistema de destino.

Es difícil de decir en general. Si bien el estándar RS232 es bastante liberal, algunos dispositivos RS232 son muy estrictos. Este era un problema en las computadoras portátiles más antiguas con puertos RS232 incorporados, que solo subían a ± 7 V o ± 10 V para ahorrar energía, mientras que el dispositivo RS232 se negaba a leer los dispositivos, esperando un total de ± 12 V o ± 15 V. . Este es el mismo problema que tienen algunos adaptadores USB-RS232.

USB a TTL es bastante obvio. TTL es 5 V o 3,3 V (u otro, algunos dispositivos tienen un voltaje de referencia arbitrario y pueden bajar a niveles de 1,8 V, el estándar de nivel más nuevo para dispositivos de muy baja potencia). Si bien la mayoría solo divide las líneas RX y TX, los circuitos integrados más comunes pueden hacer un puerto completo. FTDI, Prolific, Silicon Labs tienen todos IC de puerto y nivel rs232 completos. Algunas versiones son solo TTL y algunos cables usan controladores RS232 como el MAX232. Y luego están los ics sin nombre, las imitaciones y las falsificaciones. Así que hay muchas variaciones.

La única forma real de saberlo es:

  1. Mediante reseñas o preguntando a otras personas en una comunidad que puedan dar fe de un producto.
  2. Comprar módulos o cables donde pueda ver los circuitos integrados y el diseño de la placa o el esquema.
  3. Comprar uno y desarmarlo, luego usar un multímetro para verificar los niveles.

No se necesita un osciloscopio, todo lo que necesita saber es qué tan alto o bajo van los pines.