Primero, esta es la configuración: (tenga en cuenta que uno de los terrenos no está conectado, ambos FTDI funcionan correctamente)
Ahora, he usado PuTTY para observar estos dos flujos en serie, ambos intercambiando datos a 9600 baudios, pero mi problema es registrar la actividad en función del tiempo.
También probé algunos monitores seriales que encontré en los tubos, pero la resolución de tiempo es en segundos.
¿Existe una herramienta para monitorear estos dos flujos al mismo tiempo? Si no lo hay, debería programar uno yo mismo en Processing (supongo que tomará menos tiempo en este idioma).
PD: el objetivo final de esto es reemplazar el dispositivo remoto (un control remoto con cable real) con una pequeña MCU como ATtiny85 o ATtiny2313 con una entrada simulada.
PS2: Solo tengo estos dos FTDI, un osciloscopio analógico y un multímetro.
Si tiene un sistema operativo Windows de 32 bits, le recomendaría usar PortMon . Se reduce al milisegundo por lo 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 en alta resolución e incluso puede agregar filtros para reducir la cantidad de datos. Para el monitoreo del protocolo en serie, agrego el filtro de inclusión IRP_MJ*
.
Docklight es la herramienta que estás buscando: http://www.docklight.de/
Lo he usado antes y es genial. Pruébelo al igual que PortMon.
Otra opción podría ser com0com o su proyecto hermano hub4com.
Escribí algo como esto explícitamente para ver la conversación entre mi iPod y el adaptador de iPod en mi auto. La fuente está aquí en GitHub . Es bastante específico para el protocolo del iPod, pero necesito poder ver los datos que se transmiten y reciben del iPod en tiempo real y hacer coincidir una respuesta con su solicitud lo más cerca posible. Esto funciona bastante bien para mí.
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 sea más del doble de la velocidad de datos de los dispositivos que se comunican. Suponga que los dispositivos se comunican a 115 200 baudios y la conexión a la PC es a 500 000 baudios (una velocidad admitida por FTDI). Entonces, uno podría, 12,500 veces/segundo (cada 80us), hacer que el microcontrolador genere un registro de 1-3 bytes, que consta de un encabezado, y los 7 bits inferiores de transmisión y recepción de bytes de datos (este último solo se incluye si está presente)
Formatos de encabezado: 10rrRttT: ambos bytes están presentes; RX byte recibido rr*20us después del inicio de la trama; MSB es R Byte de TX recibido xx*20us después del inicio de la trama; MSB es T 11000rrR: solo está presente el byte RX; datos como arriba 11001ttT - Sólo está presente el byte TX; datos como arriba 11111111 - No hay datos RX ni TX presentes; Los siguientes uno o dos bytes pueden proporcionar una marca de tiempo larga
Incluir una marca de tiempo en el caso de que no haya ningún byte de datos evitaría tener que enviar 12.500 registros/segundo en momentos en los 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 datos que la que sería posible utilizando dos puertos serie separados (donde la resolución de sincronización sería de 1 ms en el mejor de los casos). El software de PC tendría que estar preparado para analizar los datos, por supuesto.
Este puede ser un momento en el que buscar los recursos para comprar un analizador lógico económico basado en USB sea 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 mantenerlo todo sincronizado mucho mejor que el tiempo de un solo bit.
No tiene RAM interna, por lo que envía todos los datos que muestra al 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 costarle muchos brazos y piernas. La mayor ventaja es la profundidad de captura. Solo está limitado por el almacenamiento en la PC. Si necesita una captura de una hora para detectar un error de ventana de tiempo esquivo, puede hacerlo.
Una desventaja es que la frecuencia de muestreo superior está limitada, por lo que toda la muestra se puede cargar en el USB. Esto lo hace menos útil para la lógica digital de gama alta, pero para los protocolos de comunicaciones en serie no es gran cosa.
El SX cuesta alrededor de US$170. A ese precio, no tiene que ahorrarle a su empresa muchas horas para pagar...
Ciertamente no es el único ejemplo de la raza, pero es el único que he usado personalmente.
connor lobo
JPWack
JPWack
akohlsmith
eric m
rberteig
eric m