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?
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.
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:
No se necesita un osciloscopio, todo lo que necesita saber es qué tan alto o bajo van los pines.
Transeúnte
Transeúnte
Ignacio Vázquez-Abrams
i336_
estrella azul
Al sr.