Confunde los niveles de voltaje (se supone que RS-232) y el protocolo en serie (digamos simplemente uart como venía de un tiempo antes de que todos estuvieran obsesionados con nombrar cosas).
Por ejemplo, con su ejemplo no puede decirle a 0110 desde 001100. Con el protocolo uart necesita muestrear idealmente el medio de la celda de bits, para que el receptor sepa dónde está el medio, al estar en diferentes fuentes de tiempo y no exactamente igual, el primer borde de inactividad le brinda una referencia para poder para llegar a la mitad de los siguientes N bits, el tamaño de N depende de la precisión de cada lado, 8 o más bits de datos puede ser bastante descuidado y, si lo desea, puede volver a sincronizarse en cualquier borde que encuentre (en su ejemplo ¿Cómo recibiría 00000000? o 11111111?)
El bit de inicio nos da un borde que se distingue de inactivo, para indicar cuándo comienza el mensaje y una referencia para muestrear los bits. El bit de parada asegura que volvamos al estado inactivo al menos para una celda de bit o dos. Cuando está saturado de datos, no hay huecos, no está inactivo más que el bit de parada, entonces tiene otro problema que el protocolo uart no resuelve necesariamente (la paridad ayuda) si entra en el medio (alguien conecta la cosa mientras los datos se mueven , o por cualquier otra razón) los bits de inicio y fin ayudan a encuadrar los datos sin paridad, de modo que aún puede averiguar dónde se encuentra, con paridad tiene una posibilidad aún mejor, pero no perfecta.
Ahora hay otros protocolos. Muchos otros protocolos. Vaya a buscar irig-106, en lugar de un bit de inicio, tiene un patrón de sincronización que puede ser seguido por cientos de bits antes de otro patrón, sin períodos muertos. El documento de Irig tiene un buen gráfico de varias codificaciones en las que NRZ-L es lo que estamos acostumbrados con una uart simple (sin retorno a nivel cero), uno interesante es bi-fase-l Donde hay una celda de bit medio de cambio de estado, por lo que su 0110 se transmitiría a 2 veces la frecuencia de los datos y sería 01101001; en el peor de los casos, nunca podrá tener más de dos semicubos en una fila en el mismo nivel, muchos bordes con los que sincronizar bits.
Otro interesante es mil-std-1553, donde utilizan bi-phase-L (que es una codificación popular con muchos nombres diferentes, solo bifase o manchester, etc.) pero no es información continua, es una explosión de una a muchas palabras utilizan un error intencional de bifase-l de tres celdas de medio bit y tres celdas de medio bit como patrón de sincronización y luego ingresan en el mensaje codificado en bifase-l.
No hay ninguna razón por la que no pueda utilizar los niveles de voltaje RS-232, RS-422, etc. con un protocolo diferente al de uart. Pero de todos modos a menudo se necesitan bordes en los datos para sincronizar los relojes (si lleva el reloj, entonces esa es otra historia) y necesita alguna forma de saber dónde están los grupos de bits que forman bytes o palabras. así que tienes que tener un patrón de sincronización o un bit de inicio u otro. o haz algo como spi o i2c para marcar el comienzo. Ethernet clásica usó una onda cuadrada larga con algunos bits para indicar el final de eso y el inicio del paquete. MDIO tiene algo similar.
Al final del día, no puede tener un protocolo serial de señal única confiable sin saber cómo están los límites de palabra / mensaje en el flujo de bits, y tampoco puede hacerlo sin saber dónde / cuándo muestrear cada bit. Incluso si se trata de un flujo de bits continuo y quizás piense que sabía cuándo era el tiempo cero y solo puede contar hasta 8 y marcar otro byte, puede tener suerte, pero aún debe sincronizar con el reloj de envío, ya que su reloj se basa en una fuente diferente. Referencia y se desviará en relación con el reloj de los remitentes. Por lo tanto, puede intentar lograr esto siempre que mire periódicamente los bordes que encuentre, y asegúrese de que haya un borde en cada N bits en función de las matemáticas relacionadas con la precisión de los relojes.