Si un equipo envía los datos, por ejemplo 001101, ¿cómo el otro equipo sabe donde empieza un poco y el otro se termina? Si fueras solo monitorear el cambio, obtendrás 0101, que es totalmente inexacto. ¿Es sólo un momento? (Pido disculpas si se trata de una pregunta de noob)
Respuestas
¿Demasiados anuncios?Es una cosa de tiempo (no me gusta la palabra 'solo').
En el caso de un UART, en el que la A está parado para asincrónico, hay un estado de inactividad de línea y, a continuación, un start bit, que borde el receptor utiliza para sincronizar su tiempo. Después de eso, todos los bits se envían cada uno con un período igual. La palabra termina con un bit de parada, que asegura que haya una transición a cualquier bit de arranque siguiente.
Normalmente, ambos lados tienen que saber de antemano lo que el bitrate es.
Si no, entonces a veces se puede detectar la velocidad mirando a la menor de cambio de estado. 0000011111111101111111 pero puede ser un tiempo y usted puede ver algo más corto.
Por lo general, ambos lados saber antes de tiempo. Algunas cosas, como ethernet, pcie, etc utilizará un lento acordado en la velocidad a hablar el uno al otro, luego cambiar a la prueba o a mayor velocidad, como parte de un ejercicio de entrenamiento.
También hay bits de codificación de soluciones, irig 106 capítulo 4 si no recuerdo mal, tiene un bonito cuadro, con nrz-l,s,m bifásica-l/m/s, etc. Cuando se utiliza bifásica, bifásica-l, en particular, algunos sectores de la llamada es el manchester o el manchester II de la codificación, de cualquier manera, un bit se define con un mediados de los bits de estado de la célula cambio para cada bit es la mitad de dos bits células con un alto a bajo o de bajo a alto en el centro, lo que determina un uno o cero. Para largas secuencias de datos o datos continuos, usted nunca va a ver más de dos la mitad de bits de las células en el mismo nivel, por definición, lo que es mucho más fácil bitsync a la otherside. en tanto ambas partes de acuerdo en la codificación de los datos es bifásica-l.
Además de averiguar con qué frecuencia muestra, existe otro problema típico si cada lado se está utilizando su propio oscilador. Así que incluso con un acuerdo sobre la tasa de datos de cada lado se desplaza a lo largo del tiempo, así que usted tiene que resolver de alguna manera. algunas situaciones como uart, donde su marco/mensaje es muy corto, puede utilizar el bit de inicio de borde a ambos definir dónde mediados de los bits de la célula de la muestra sería de acuerdo con la tarifa, y para que la tasa de 10 células o así que usted puede tener una buena cantidad de la diferencia entre los relojes y todavía funciona. Si realmente quería para cada borde que no show (si cualquiera) puede volver a ajustar.
En la telemetría mundo (el irig 106 cosa) los datos es continuo y la bitsync asas de corrección y mantenimiento de pista, pero se necesita un cierto número de transiciones en el tiempo para ser capaz de hacer esto por lo tanto los que la codificación de las soluciones que aseguran a poco las transiciones.
algunos de los protocolos de asegurar las transiciones de otras maneras. ethernet no correctamente solucionar este problema, el receptor puede utilizar una recuperado de reloj para el muestreo de los datos, pero los datos una vez realizado en bytes y paquetes obtiene almacenadas y tratadas, si el cristal es un poco más lento que el cristal del remitente y está a la velocidad de línea, y usted está haciendo una tienda y la cosa (es un router que permite decir), entonces, finalmente, el desbordamiento de sus tapones y tener el control de flujo. así que ese es el mecanismo de allí.
luego, por supuesto, como ya se ha comentado, si son sincrónicos en lugar de async, "simplemente" llevar el reloj con usted, pero dependiendo de las velocidades y longitudes de cable no puede haber un cambio entre el reloj y los datos de modo que tiene que ser tratada. spi tiene este problema, sin duda, como algunos productos (como destellos) consulte a su solicitud de que se envió en el flanco de subida, comienzan su respuesta en el flanco descendente y se muestra basada en el flanco de subida, por lo que tiene la mitad de un ciclo de reloj para la ida y la vuelta, si, por ejemplo, poner un cpld o fpga en línea para que pueda puerta trasera de acceso a la flash (en lugar de alambre o compartir las señales) se puede hacer el viaje demasiado largo. QDR memoria tiene este problema y algunas soluciones para que así, la misma historia paralela de datos con un reloj a lo largo del paseo si las señales tienen ningún cuestiones de tiempo puede ser de muestreo de una o ambas partes en el momento equivocado. pci lleva un reloj con ella, sino que es el reloj de referencia no la gigaherz reloj se utiliza para hacer que los datos (es el reloj de referencia utilizado para hacer el gigahercio reloj).
respuesta corta, la mayoría del tiempo ambos lados están de acuerdo en la velocidad antes de tiempo, ya sea por protocolo, velocidad fija, o por un ejercicio de entrenamiento en un acuerdo/define la velocidad más lenta, o puramente simplemente nos acepta como uart, sé que el otro lado es 1152008N1 así que me puse a mi lado. En ocasiones con uart por ejemplo, se puede detectar una velocidad, pero tienes que tener el otro lado enviar caracteres que permiten que...(tienen el derecho de las transiciones no 00110011 pero 010 101 o en algún lugar.
Hay dos enfoques generales:
Asincrónica
Una comunicación serie asíncrona es una forma de comunicación en serie en la que extremos de la comunicación " interfaces no están constantemente sincronizado por una señal de reloj común.
Una UART es una pieza de hardware que permite que un dispositivo para enviar y recibir datos de forma asíncrona , es decir, no sincronizado con una señal de reloj.
Si usted fuera a mirar en un puerto serial RS232 pines, que se nota que hay de recepción de Datos (RXD) y de Transmisión de Datos (TXD) pines, pero un "reloj" pin está notablemente ausente.
Los dos lados de la canal de comunicación tienen que estar de acuerdo (antes de tiempo) a la tasa a la cual los bits van a ser enviados. Esta es la razón por la que usted tiene que configurar la velocidad en baudios (velocidad de símbolo) para que sus dispositivos de puerto serie a trabajar.
También verás cosas como "start" y "stop" bits-estos se utilizan para ayudar a sincronizar el receptor a la entrada del arroyo.
Asincrónica autobuses incluyen:
- SATA
- UART
- USB
Sincrónico
Comunicación síncrona requiere que los relojes en la transmisión y recepción de los dispositivos se sincronizan – que se ejecuta en el mismo ritmo, de modo que el receptor pueda muestra de la señal en los mismos intervalos de tiempo utilizado por el transmisor. No empiece o deje de bits son necesarios.
Sincrónico autobuses uso de un reloj de la señal, una onda cuadrada, que se eleva y cae en un muy regulares, tasa específica. Todos los de las otras señales están sincronizados para esta señal; sus valores normalmente se muestrean a una subida o caída de borde del reloj.
Debido a que el extremo receptor tiene una buena referencia de reloj, sincrónico de autobuses se puede ejecutar en una tasa mucho más alta.
La mayoría de los de a bordo, chip-a-chip autobuses son sincrónicos, incluyendo:
- DDR
- I2C
- PCI
En los días de la TTL, bloques de disco comenzaron con un 0-1 alterna patrón, que hemos sincronizados con un PLL. El patrón terminó con 11 para indicar el inicio de los datos leídos. El PLL proporciona el reloj de lectura, y se utilizó un oscilador de cristal (un entero 5MHz) para el reloj de escritura. Leer datos de muestras de reloj de 1/2 entre los bordes de la estructura de bits.
Lo que usted está preguntando acerca de es la sincronización. Con el fin de comunicar la información a través de algún tipo de vínculo, usted tiene que proporcionar una forma para sincronizar los "bits" de información y su inicio. Hay una multitud de enfoques para lograr esto y todos se adaptan hacia el ambiente físico (PHY) de que se trata. Más específicamente, es esta cables a una distancia corta en un PCB, así que usted puede utilizar un bus paralelo, con un reloj y de lectura/escritura de strobe (como la memoria), o una serie de cable de enlace (por ejemplo, I2C, SPI, USB, Ethernet,...), de la línea de alimentación del módem, la fibra óptica, la I/R, mandos a distancia, RF inalámbrico, ... y muchos más.
Más específico a tu pregunta, y como se mencionó algunos de los otros participantes en este hilo, comunicaciones en serie cae en binario síncrono o asíncrono de temporización. La idea es que usted necesita para crear un reloj que muestra los datos para ver si los bits de datos es un uno o un cero (o más y menos tensión en algunas implementaciones como el RS-232). Si por separado enviar el reloj como una señal separada, a continuación, es sincrónica. Si asincrónica, luego de enviar los datos y añadir información adicional (patrones conocidos en el inicio y parada de la transmisión; o los datos se pueden codificar con algo como la codificación Manchester, que combina el reloj y de datos de una manera inteligente). El punto aquí es que usted necesita para activar el bit de transiciones que usted recibe de una manera que calibra su reloj local, por lo que puede bloquear el flujo de bits y muestra correctamente durante algunos longitud de trama. Cada nuevo fotograma es una oportunidad para corregir su reloj al remitente del reloj para permanecer sincronizado.
También se necesita es una manera de sincronizar con el comienzo de la transmisión. Esto se puede hacer de varias maneras, pero a menudo se basa en un preámbulo patrón. Un patrón es utilizado para descubrir el principio.
Espero que ayudaron - ¡buena pregunta!