Los puntos que usted hace son absolutamente válidas. Lo que faltan son algunos de los detalles que se podrían obtener por la lectura más sobre los protocolos de comunicación. Aquí están algunos de ellos.
- La velocidad de comunicación siempre debe ser elegido de la máxima requerida de la velocidad, no la que se puede lograr.
La razón de esto es que, con algunas excepciones (transceptores, tampones, etc.) los datos transferidos deben ser obtenidos o procesados de alguna manera. Entrada de interfaz humana ciertamente funciona en época completamente diferente dimensión. Y si su controlador tarda varios segundos en proceso de 1 MB de datos, sería inútil para su traslado a las 16 Mbps de velocidad.
- Porque la señal-a-ruido disminuye con la distancia, el máximo alcanzable de ancho de banda disminuye demasiado.
No hay término "ancho de banda de la distancia de producto" a menudo se utiliza en la comunicación. Esta es otra razón por la directa MCU-a-MCU conexiones rara vez uso que las altas tasas de datos.
- En la moderna Mcu las velocidades de comunicación son a menudo independiente de la CPU relojes.
Por ejemplo, Xmega Mcu periférica relojes en funcionamiento en 2 o incluso 4 veces las velocidades de CPU. Además, los controladores con interfaces USB a menudo tienen sus propias osciladores.
- Diversos protocolos de comunicación son ahora compatibles con el hardware.
Protocolos síncronos como (SPI o I2C en el esclavo lado) tienen sus señales de reloj proveniente de los diferentes MCU. Así, el hardware puede utilizar el reloj para cambiar los datos a/desde el buffer y solo involucran el procesador al final de un mensaje. Más avanzada Mcu con la compatibilidad DMA puede incluso mover los datos entre los diferentes periféricos de memoria o sin la participación de la CPU.
Asincrónica protocolos como UART o PUEDE requerir que se sincronizan los relojes. Que comience a contar el tiempo en el bit de inicio y, a continuación, muestra las entradas una vez aproximadamente en la mitad del reloj de punto (UART) o hasta tres veces alrededor de 75% de reloj de pulso (CAN). Obviamente la integridad de los datos depende de la sincronización de la precisión. Mientras que PUEDE que los controladores pueden ajustar sus relojes mediante cambio de fase de información, más simples, UARTs no se puede.
Una práctica común para lograr una mejor UART de sincronización es el uso de cristales con frecuencias fácilmente divisible comunes de la serie de tasas de baudios. Por ejemplo, en lugar de correr antes mencionados Xmega controladores que se encuentran en su máximo de 32 MHz se puede ver a menudo con 14.7456 cristales, corriendo a 29.5 MHz.
Independientemente del protocolo, la combinación de hardware de almacenamiento en búfer y transferencias de DMA realizar la transferencia de ancho de banda de una manera bastante independiente de la CPU relojes.
- Finalmente, cuando la comunicación se sube la velocidad es más común ver a independiente chips de controlador en lugar de la conexión directa a la MCU.
No sólo eso, sino que normalmente se puede ver en paralelo conexión de autobús entre el MCU y de alta velocidad de transceptores como LAN o pantalla LVDS. Esto es debido a que el bus de comunicación de rendimiento se vuelve más rápido de lo que pueden pasar en la serie comedero solo MCU pin.
Usted ha mencionado Ethernet en uno de sus comentarios. Usted debe darse cuenta de que con Ethernet de 1 Gbps, las velocidades no 16 MHz MCU, tendrá una oportunidad de procesamiento que la avalancha de tráfico. Para esas velocidades usted debe buscar en mucho más capaz de hardware, similar a la utilizada en el RPi, por ejemplo.
Por cierto, este último punto es simplemente otra forma de punto #1, es decir, si no se puede reducir la velocidad de datos a algo que tu MCU puede manejar, es lógico que usted necesita un procesador más rápido para lidiar con el flujo de datos.