Normalmente, ambas partes deben saber de antemano cuál es la tasa de bits.
Si no es así, a veces puede detectar la velocidad observando el cambio de estado más corto. 0000011111111101111111 pero puede ser un tiempo y puede ver
algo más corto.
Por lo general, ambas partes saben de antemano. Algunas cosas como ethernet, pcie, etc. usarán una velocidad lenta acordada para hablar entre sí, luego cambiarán o probarán una velocidad más alta como parte de un ejercicio de entrenamiento.
También hay soluciones de codificación de bits, el capítulo 4 de Irig 106 si recuerdo bien tiene una buena gráfica, con nrz-l, s, m bifase-l / m / s, etc. Cuando usa bifase, bifase-l en particular algunas industrias lo llaman codificación Manchester o Manchester, en cualquier caso, un bit se define con un cambio de estado de celda de bit medio, por lo que cada bit es dos celdas de medio bit con un alto a bajo o de bajo a alto en el medio que determina un uno o cero . Para flujos largos de datos o datos continuos, nunca verá más de dos celdas de medio bit en el mismo nivel por definición, lo que hace que sea mucho más fácil sincronizar con bits hacia el otro lado. siempre que ambos lados estén de acuerdo, la codificación de los datos es bifase-1.
Además de averiguar la frecuencia de la muestra, hay otro problema típico si cada lado está usando su propio oscilador. Así que incluso con una tasa de datos acordada, cada lado se desplaza con el tiempo, por lo que tiene que resolverlo de alguna manera. en algunas situaciones, como uart, donde el marco / mensaje es muy corto, puede usar el borde de bit de inicio para definir dónde sería una muestra de celda de bit medio para una tasa acordada, y para esa tasa de 10 celdas o para que pueda tener una cantidad justa De diferencia entre los relojes y todavía funciona. Si realmente quisieras por cada borde que muestra (si existe) puedes reajustarlo.
En el mundo de la telemetría (lo que es irig 106), los datos son continuos y la sincronización de bits maneja el sobremuestreo y el seguimiento, pero se necesita cierto número de transiciones a lo largo del tiempo para poder hacer esto, por lo tanto, esas soluciones de codificación que aseguran las transiciones de bits.
algunos protocolos aseguran las transiciones de otras maneras. Ethernet no resuelve con gracia esto, el receptor puede / usará un reloj recuperado para muestrear los datos, pero los datos una vez hechos en bytes y paquetes se almacenan en búfer y se manejan, si su cristal es un poco más lento que el cristal del remitente y usted están a la velocidad de la línea, y usted está haciendo una cosa de almacenamiento y reenvío (hay un enrutador, por ejemplo) luego eventualmente desbordará sus buffers y tendrá que controlar el flujo. así que ahí está el mecanismo.
luego, por supuesto, como se comentó, si está sincronizado en lugar de asíncrono, "simplemente" lleva el reloj con usted, pero dependiendo de las velocidades y la longitud del cable, puede haber un cambio entre el reloj y los datos, por lo que debe tratarse con. Spi tiene este problema, ciertamente, ya que algunos productos (como los flashes) ven su solicitud de envío en el flanco ascendente, comienzan su respuesta en el flanco descendente y muestrean basándose en su flanco ascendente, por lo que tiene medio ciclo de reloj para la ronda. viaje, si, por ejemplo, coloca un cpld o fpga en línea para poder acceder por la puerta trasera al flash (en lugar de un cable o compartir las señales) puede hacer que el viaje de ida y vuelta sea demasiado largo. La memoria QDR tiene este problema y también algunas soluciones, los mismos datos paralelos de la historia con un reloj para el viaje. Si las señales tienen algún problema de tiempo, puede muestrear uno o ambos lados en el momento equivocado. pci lleva un reloj con él, pero es el reloj de referencia, no el reloj de gigaherz usado para hacer los datos (es el reloj de referencia usado para hacer el reloj de gigahertz).
respuesta corta, la mayoría de las veces ambas partes acuerdan la velocidad anticipada, ya sea por protocolo, velocidad fija o por un ejercicio de entrenamiento a una velocidad más baja acordada / definida, o simplemente estamos de acuerdo como Uart, lo sé el otro lado es 1152008N1, así que me puse a ese lado. En ocasiones, con uart, por ejemplo, puede detectar una velocidad, pero tiene que hacer que el otro lado envíe caracteres que permitan que ... (tenga las transiciones correctas, no 00110011, sino 101 o 010 en algún lugar.