Básicamente, es probable que estés fuera de suerte. Un poco más de información podría ayudar. Cuando un esclavo informa al maestro, ¿cuál es el tamaño del paquete? Su cifra de 20 usec para la latencia de los datos sugiere un máximo de 10 bytes o menos por paquete, y si eso es así, simplemente se hose.
Comience con los requisitos básicos. 500 bytes / ms de tiempo 1000 ms / segundo veces 8 unidades esclavas proporciona una velocidad de datos básica al maestro de 4 MB / s, o 32 Mbit / s. Obviamente, un bus RS485 de 10 Mbit / seg no hará el trabajo.
¿Funcionará Ethernet de 100 Mbit? Probablemente no. Debe comprender primero los requisitos generales . Suponiendo que UDP, cada paquete de datos (hasta 1518 máximo) debe ir acompañado de los siguientes campos de encabezado:
12 bytes - Interframe gap
8 bytes - Preámbulo y SFG
14 bytes - encabezado de Ethernet
4 bytes - S-tag
4 bytes - etiqueta C
20 bytes - encabezado IP
8 bytes - encabezado UDP
4 bytes - CRC
74 bytes en total
Tenga en cuenta que este requisito se aplica a todos y cada uno de los paquetes enviados por todos y cada uno de los esclavos.
Entonces, si está intentando enviar paquetes de 10 bytes, cada paquete contendrá un mínimo de 84 bytes. Y tampoco se puede invocar una estructura de encabezado minimalista personalizada. Dado que el maestro tiene que dar servicio a 8 esclavos, se requerirá un enrutador o un interruptor, y esta unidad solo responderá a un protocolo convencional.
No ha especificado exactamente lo que representa el tiempo de los datos. Una velocidad de datos de 500 kB combinada con un requisito de marca de hora de 2 usec sugiere algo así como 500 kHz / 1 byte por muestra o 250 kHz / 2 bytes por velocidad de adquisición de muestras, pero esto es totalmente una conjetura de mi parte. Y, como he dicho, su requisito de latencia de 20 usec sugiere que usted desea un tamaño de paquete pequeño. ¿Pero qué sucede si permite un tamaño de paquete grande, como 500 bytes / paquete?
Lo que podría funcionar es el uso de una disposición de pulsos de sincronización escalonada. Proporcionarías 9 líneas desde el maestro hasta los esclavos. El primero sería un reloj de adquisición a 500 kHz o 250 kHz (suponiendo que mi corazonada es correcta) que se transmitiría a todos los esclavos. Como supongo que es relativamente corto (por ejemplo, menos de 10 metros) entre esclavos, la sincronía del reloj de los esclavos sería mucho menor que su 2 usec. Las otras 8 líneas son pulsos de sincronización con una frecuencia de 1 kHz, pero espaciadas a 125 usec. Cada pulso de sincronización va a un esclavo. Cada esclavo usa una estructura de almacenamiento de datos con doble búfer, y al recibir un impulso de sincronización transmite un paquete de datos de 500 bytes al maestro utilizando Ethernet de 100 MHz. al mismo tiempo que adquiere los datos del siguiente paquete. El tiempo para cada muestra de datos está implícito en la velocidad de reloj de adquisición y la ubicación de la muestra dentro del paquete, con cada paquete que tiene un desplazamiento conocido, un múltiplo de 125 usec. Dado que el paquete Ethernet total es de 574 bytes, la sobrecarga no interferirá con el requisito de rendimiento.