Sie verwechseln die Spannungspegel (RS-232, nehmen wir an) und das serielle Protokoll (sagen wir einfach uart, wie es aus einer Zeit stammt, bevor alle davon besessen waren, Dinge zu benennen).
Anhand Ihres Beispiels können Sie beispielsweise 0110 nicht von 001100 unterscheiden. Mit dem uart-Protokoll müssen Sie idealerweise die Mitte der Bitzelle abtasten, damit der Empfänger weiß, wo sich die Mitte befindet, sich auf verschiedenen Zeitquellen befindet und nicht genau gleich ist. Die erste Flanke aus dem Leerlauf gibt Ihnen eine Referenz, um in der Lage zu sein Um die Mitte der nächsten N Bits zu treffen, wie groß N ist, hängt es von der Genauigkeit jeder Seite ab, etwa 8 Datenbits. Sie können ziemlich schlampig sein und, wenn Sie möchten, an allen Kanten, die Sie finden, erneut synchronisieren (in Ihrem Beispiel) Wie würden Sie 00000000 oder 11111111 erhalten?)
Das Startbit gibt uns eine Kante, die sich von Leerlauf unterscheidet. Zu erkennen ist, wann die Nachricht beginnt, und eine Referenz zum Abtasten der Bits. Das Stoppbit stellt sicher, dass wir mindestens für ein oder zwei Bitzellen wieder in den Leerlauf zurückkehren. Wenn Sie mit Daten gesättigt sind, keine Lücken, kein Leerlauf außer dem Stoppbit, dann haben Sie ein anderes Problem, das das Uart-Protokoll nicht unbedingt löst (Parität hilft), wenn Sie in die Mitte kommen (jemand steckt dann etwas ein, während sich Daten bewegen oder aus einem anderen Grund) Die Start- und Stoppbits helfen dabei, die Daten ohne Parität zu rahmen. Möglicherweise können Sie immer noch herausfinden, wo Sie sich befinden. Mit Parität haben Sie eine noch bessere Chance, sind aber nicht perfekt.
Jetzt gibt es andere Protokolle. Viele andere Protokolle. Nachschlagen irig-106, anstelle eines Startbits haben Sie ein Synchronisationsmuster, dem Hunderte von Bits vor einem anderen Muster folgen können, keine Totperioden. Das irig-Dokument enthält ein schönes Diagramm mit verschiedenen Codierungen, wobei NRZ-L das ist, was wir von einem einfachen uart gewohnt sind (keine Rückkehr zum Nullpegel). Ein interessantes ist zweiphasig-l Ihr 0110 würde mit der doppelten Frequenz der Daten übertragen und wäre 01101001, im schlimmsten Fall können Sie nie mehr als zwei Halbbitzellen hintereinander auf derselben Ebene haben, viele Kanten, mit denen Bitsynchronisation durchgeführt werden soll.
Ein weiteres interessantes ist mil-std-1553, wo sie Bi-Phase-L verwenden (eine beliebte Codierung mit vielen verschiedenen Namen, nur Biphase oder Manchester usw.), aber es handelt sich nicht um kontinuierliche Daten, sondern um einen Burst von ein bis viele Wörter. Sie verwenden einen absichtlichen Zweiphasen-1-Fehler von drei Halbbitzellen und drei Halbbitzellen als Synchronisationsmuster und gehen dann in die in Zweiphasen-1 codierte Nachricht.
Kein Grund, warum Sie keine Spannungspegel für RS-232, RS-422 usw. mit einem anderen als dem uart-Protokoll verwenden könnten. Sie benötigen jedoch immer noch gelegentlich Kanten in den Daten, um die Uhren zu synchronisieren (wenn Sie die Uhr mit sich führen, ist dies eine andere Geschichte), und Sie müssen wissen, wo sich die Bitgruppen befinden, die Bytes oder Wörter bilden Sie müssen also ein Synchronisationsmuster oder ein Startbit oder ein anderes haben. oder machen Sie etwas wie spi oder i2c, um den Anfang zu markieren. Das klassische Ethernet verwendete eine lange Rechteckwelle mit einigen Bits, um das Ende und den Beginn des Pakets anzuzeigen. MDIO hat etwas Ähnliches.
Letztendlich können Sie kein zuverlässiges serielles Einzelsignalprotokoll haben, ohne zu wissen, wo sich Wort- / Nachrichtengrenzen im Bitstrom befinden. Sie können dies auch nicht tun, ohne zu wissen, wo / wann für jedes Bit abgetastet werden muss.Selbst wenn ein kontinuierlicher Bitstrom und Sie vielleicht denken, Sie wüssten, wann die Zeit Null war und Sie einfach bis 8 zählen und ein anderes Byte markieren können, haben Sie vielleicht Glück, müssen aber trotzdem mit der sendenden Uhr synchronisieren, da Ihre Uhr auf einer anderen basiertReferenz und wird relativ zur Senderuhr driften.Sie können also versuchen, dies durchzuziehen, solange Sie regelmäßig die gefundenen Kanten betrachten und sicherstellen, dass alle N Bits eine Kante vorhanden ist, basierend auf der Mathematik in Bezug auf die Genauigkeit der Uhren.