Adaptadores serie a USB: tipos y problemas

5

Tengo un dispositivo electrónico (disponible comercialmente, que otra persona hizo), que consiste esencialmente en una serie de celdas fotoeléctricas, que van a través de una caja negra de electrónica y a un conector de puerto serie.

En nuestro antiguo sistema informático, esto se conectaba al puerto serie y el software a bordo detectaría cuándo se activaba cada célula fotoeléctrica.

Ahora nuestras computadoras no tienen puertos serie, por lo que tenemos un adaptador de serie a USB para conectar el dispositivo a la PC. Sin embargo, con esta configuración, el software no detecta la activación de las células fotoeléctricas.

Mi pregunta es: ¿hay alguna advertencia importante con el uso de adaptadores serie a USB? ¿Cómo trabajan? ¿Pueden fallar en proporcionar la conversión correcta? ¿Son iguales todos los tipos diferentes?

    
pregunta Bill Cheatham

3 respuestas

5

Si su "dispositivo electrónico" tiene un nombre y / o una página web, notificarnos que puede ayudarnos a ayudarle.

No todos los convertidores USB de serie son iguales.

SI su sistema de fotocélulas utiliza comunicaciones en serie RS232 estándar Y no se basó en el "control de flujo de hardware" (RTS / CTS), entonces debería funcionar correctamente en la mayoría de los casos.

Como NO funciona correctamente, debe determinar en qué se diferencia de la versión más simple del uso de RS232.

Vale la pena ver varias posibilidades principales. Hay otros.

Niveles de voltaje:

  • Su dispositivo puede usar niveles RS232 no estándar. Los niveles correctos son del orden de -12V / + 12V, pero podrían, por ejemplo, utilizar 0 / + 5V y seguir funcionando con algunos puertos serie (todos los nits).

Señalización de interrupción:

  • Algunos sistemas que usan un puerto en serie no usan el sistema en serie real TXD / RXD en absoluto, pero usan lo que a veces se denomina "señalización de interrupción". Se produce una interrupción cuando la línea de transmisión de datos se mantiene en el estado de inactividad normalmente no durante un período más largo del habitual. Es posible transmitir datos utilizando este método. Esto no es estándar y es un mal uso del sistema, pero algunos equipos lo utilizan. Algunos convertidores serie USB no admiten la señalización de interrupción.

Se proporciona una discusión de "ruptura" en este tutorial RS232 útil en la sección 1.4 .1 & 1.4.2.
 Resumiendo de allí:

  • 1.4.1 En RS232-C, un valor de 1 se llama Mark y un valor de 0 se llama Space. Cuando una línea de comunicación está inactiva, se dice que la línea está marcada o transmite valores de 1 continuo.

    1.4.2 RS232-C también especifica una señal llamada Interrupción, que se produce al enviar valores de Espaciado continuo (sin bits de Inicio o Parada). Cuando no hay electricidad presente en el circuito de datos, se considera que la línea está enviando Interrupción.

    La señal de interrupción debe ser de una duración más larga que el tiempo necesario para enviar un byte completo más los bits de inicio, parada y paridad. La mayoría de los UART pueden distinguir entre un error de encuadre y una ruptura, pero si el UART no puede hacer esto, la detección de error de encuadre se puede usar para identificar rupturas.

El sistema de desarrollo de microcontroladores PICAXE utiliza señalización de interrupción con todos los problemas que conlleva, y las discusiones sobre cómo superarlos serán útiles para resolver sus problemas SI su problema ES señalización de ruptura

Aquí hay una discusión de señalización de ruptura de PICAXE

Locura de control de flujo de hardware:

Es posible que el convertidor no esté tratando correctamente algunas de las señales de control de hardware utilizadas por su sistema original. A continuación, proporcioné algunos comentarios y un enlace a una referencia completa, PERO lo más fácil fue solucionar las líneas sin datos en su interfaz en el modo original (serie-serie) y con la interfaz USB-serie en su lugar y A ver si hay alguna diferencia. A menudo es posible "regresar" o señales de cable que no se manejan correctamente.

RS232 implementa varios medios para determinar si el transmisor y el receptor están listos para enviar o recibir datos, o pueden enviar o recibir datos. Estos utilizan líneas como RTS, CTS y quizás CD, DSR, DTR y, en casos realmente desagradables, SCD, RI y más.

Este tutorial de RS232 absolutamente excelente pero masivamente abrumador trata estos temas en profundidad con muchos diagramas excelentes, pin descripciones, etc.

Desde aquí: enlace

    
respondido por el Russell McMahon
4

Sí, hay todo tipo de escollos con los convertidores serie a USB. Muchos simplemente implementan el mínimo necesario para comunicaciones seriales simples (es decir, Rx, Tx, tal vez handshaking) y no cualquiera de los otros pines.
Además, la sincronización puede verse afectada ya que el USB agrega otra capa encima de las cosas, por lo que si el dispositivo requiere una sincronización precisa, puede que no funcione correctamente con un cable.

Los voltajes en un cable barato tampoco pueden ser niveles RS232 (por ejemplo, +/- 12V o similar) en lugar de 0V y 5V (voltaje USB)

Esta página analiza algunos de los problemas con más detalle.

Para solucionar este problema, deberías saber un poco sobre cómo funciona el dispositivo, por ejemplo. qué señales usa el dispositivo, etc. Luego, debe encontrar un convertidor compatible, ya sea mirando las especificaciones (si se proporcionan) o puede preguntar al proveedor si su cable será adecuado para lo que sea que su dispositivo necesite.

O eso u obtener un nuevo dispositivo basado en USB ... :-)

    
respondido por el Oli Glaser
0

¿Has probado el convertidor en otra cosa? ¿Se instaló correctamente el controlador? Vea en qué puerto de comunicaciones está configurado el dispositivo en "Administrador de dispositivos" y si hay algún conflicto. He usado varios de estos y todos funcionaron bien.

    
respondido por el SteveR

Lea otras preguntas en las etiquetas