Monitoreando dos líneas seriales al mismo tiempo

3

Primero esta es la configuración: (tenga en cuenta que uno de los motivos no está conectado, ambos FTDI funcionan correctamente)

Ahora, he usado PuTTY para ver estas dos secuencias seriales, ambas intercambiando datos a 9600 baudios, pero mi problema es registrar la actividad en el tiempo.

También probé algunos monitores en serie que encontré en los tubos, pero la resolución de tiempo es en segundos.

¿Existe una herramienta para monitorear estas dos transmisiones al mismo tiempo? Si no la hay, debería programarme una en Procesamiento (tomará menos tiempo en este idioma, supongo).

PS: el objetivo final de esto es reemplazar el dispositivo remoto (un control remoto con cable real) con una pequeña MCU como el ATtiny85 o ATtiny2313 con una entrada simulada.

PS2: solo tengo estos dos FTDI, un osciloscopio analógico y un multímetro.

    
pregunta J.P.Wack

6 respuestas

6

Si tiene un sistema operativo Windows de 32 bits, le recomendaría que use PortMon . Baja al milisegundo al menos. Incluso podría ser una resolución de microsegundos. Lo he usado mucho en el pasado con gran éxito.

En su caso particular, colocará cada chip FTDI en su propio puerto serie. Luego, en PortMon, simplemente seleccione los puertos que desea monitorear en el menú desplegable. Ambos conjuntos de datos se registran a alta resolución, e incluso puede agregar filtros para reducir la cantidad de datos. Para la supervisión del protocolo serie, agrego el filtro de inclusión IRP_MJ* .

    
respondido por el Dave
1

Docklight es la herramienta que estás buscando: enlace

Lo he usado antes y es genial. Pruébelo, así como PortMon.

    
respondido por el AngryEE
1

Otra opción podría ser com0com o su proyecto hermano hub4com.

    
respondido por el kenny
0

Escribí algo como esto explícitamente para ver la conversación entre mi iPod y el adaptador de iPod en mi auto. La fuente es aquí en GitHub . Es bastante específico para el protocolo del iPod, pero necesito poder ver los datos que se transmiten y reciben desde el iPod en tiempo real y que coincida una respuesta con su solicitud lo más cerca posible. Esto funciona bastante bien para mí.

    
respondido por el blalor
0

Si desea una sincronización precisa, no puede ir a puertos serie separados. Necesita un microcontrolador que pueda capturar los datos de ambas fuentes y enviarlos a la PC a una velocidad de datos que es más del doble de rápida que la velocidad de datos de los dispositivos que se comunican. Supongamos que los dispositivos se comunican a 115.200 baudios y la conexión de PC a 500.000 baudios (una velocidad admitida por el FTDI). Uno podría entonces, 12,500 veces / segundo (cada 80 us), hacer que el microcontrolador produzca un registro de 1-3 bytes, que consiste en un encabezado, y los 7 bits más bajos de transmisión y recepción de bytes de datos (este último solo se incluirá si está presente)

Header formats:
10rrRttT - Both bytes are present; 
             RX byte received rr*20us after start of frame; MSB is R
             TX byte received xx*20us after start of frame; MSB is T
11000rrR - RX byte only is present; data as above
11001ttT - TX byte only is present; data as above
11111111 - Neither RX nor TX data is present; 
           Next one or two bytes may provide a long timestamp

La inclusión de una marca de tiempo en el caso de que no esté presente un byte de datos evitaría tener que enviar 12,500 registros / segundo en momentos en que no se estaba enviando nada.

El uso de un enfoque como este permitiría una evaluación mucho más precisa de la sincronización de los datos de lo que sería posible utilizando dos puertos serie separados (donde la resolución de la sincronización sería de 1 ms como máximo). El software de la PC tendría que estar preparado para analizar los datos, por supuesto.

    
respondido por el supercat
0

Este puede ser un momento en el que buscar los recursos para comprar un analizador lógico basado en USB no sea caro es la respuesta correcta. Recientemente adquirí un USBee SX y estoy muy satisfecho. Fuera de la caja, puede decodificar en serie en varias líneas (solo nivel TTL) y mantener todo sincronizado mejor que el tiempo de un solo bit.

No tiene RAM interna, por lo que empuja todos los datos que extrae del USB. Eso tiene un par de ventajas, y al menos una desventaja. Una gran ventaja es el precio. Casi no hay nada dentro del USBee SX entre sus señales y el USB, por lo que no tiene que costar muchos brazos y piernas. La mayor ventaja es la profundidad de captura. Usted está limitado únicamente por el almacenamiento en la PC. Si necesita una captura de una hora para detectar un error de ventana de sincronización difícil de alcanzar, puede hacerlo.

Una desventaja es que la frecuencia de muestreo superior está limitada para que todas las muestras puedan alimentar el USB. Esto lo hace menos útil para la lógica digital de gama alta, pero para los protocolos de comunicaciones en serie que realmente no son un gran problema.

Las listas de SX por alrededor de US $ 170. A ese precio, no tiene que ahorrar a su empresa muchas horas para pagar ...

Ciertamente no es el único ejemplo de la raza, pero es el único que he usado personalmente.

    
respondido por el RBerteig

Lea otras preguntas en las etiquetas