Was bedeutet "halbes Bit" in diesem Zusammenhang?

In der RS-232-Spezifikation können die Stoppbits 1, 1,5 oder 2 Stoppbits sein ... Ich frage mich, wie es möglich ist, ein halbes Bit zu haben?

Auch einige ADC-Mathematik verwendet eine Genauigkeit von 0,5 Bit in den IC-Spezifikationen / Datenblättern. Kann jemand in diesem Thema näher darauf eingehen?

Antworten (2)

Ich frage mich, wie es möglich ist, ein halbes bisschen zu haben?

Bei UART-basierten asynchronen seriellen Kommunikationen (für die RS232 ein Beispiel ist) ist ein serielles Datenbyte in einem Startbit und einem oder mehreren Stoppbits "eingeschlossen". Nach dem Stoppbit gibt es eine Lücke vor dem nächsten Datenbyte, und diese Lücke kann als Verlängerung des/der Stoppbit(s) betrachtet werden: -

Geben Sie hier die Bildbeschreibung ein

Viele serielle Datenübertragungen verwenden ein Stoppbit, da der Empfänger die Bytes in der Zeit verarbeiten kann, aber manchmal ist es nützlich, die Lücke zwischen den Datenbytes zu verlängern, indem die Anzahl der Stoppbits erhöht wird. Da sowohl sendende als auch empfangende UARTs eine viel höhere interne Taktrate haben, ist die Herstellung einer gebrochenen Bitlänge einfach.

Für einen ADC habe ich eine Zeichnung angehängt: -

Geben Sie hier die Bildbeschreibung ein

Die blaue Linie stellt eine linear ansteigende analoge Eingangsspannung dar und die Treppe ist die digitale Zahl vom ADC, der versucht, diese analoge Spannung darzustellen. In der Mitte habe ich den theoretischen maximalen Fehler in Rot dargestellt - keine Überraschung, dass er 0,5 Bit entspricht.

In einigen Fällen kann es für einen UART-Sender nützlich sein, eine Bruchzahl von Stoppbits zuzulassen, die etwas kleiner als eins ist (z. B. 15/16). Wenn Gerät X so schnell wie möglich Daten an Gerät Y sendet, Y für jedes empfangene Byte ein Datenbyte an Z senden muss und die Baudrate von X um 0,01 % schneller ist als die von Y, dann geht ein Byte alle 10.000 verloren, es sei denn, Y kann Daten mit weniger als einem vollständigen Stoppbit übertragen. Ich habe einen (und nur einen) UART gesehen, der 15/16 Stoppbits zulassen würde (aus irgendeinem Grund waren die zulässigen Werte (9..16)/16 oder (25..32)/16, aber nicht zB 17/ 16, was für X oben ein netter Wert gewesen sein könnte.
Wie lange dauert die zusätzliche Verzögerung? Wird das Stoppbit immer für 150 % der normalen Übertragungszeit eines Bits übertragen? Gibt es noch andere Fälle?
@supercat Wo hast du es gesehen? Möchten Sie den Link des Datenblatts posten, wenn er verfügbar ist?
@Unknown123: Der UART war der 2681 nxp.com/docs/en/data-sheet/SCC2681.pdf

In beiden von Ihnen erwähnten Fällen ist irgendwo eine analoge Größe im Spiel.

Im RS-232-Fall bezieht sich die Anzahl der „Stoppbits“ auf eine Dauer , sodass 1,5 Stoppbits einfach die 1,5-fache Dauer eines Bits bei der angegebenen Rate bedeuten.

Im ADC-Fall bezieht sich eine Genauigkeit von 0,5 Bit auf die analoge Größe, die umgewandelt wird, also bedeutet 0,5 Bit im Wesentlichen, dass das digitale Ergebnis garantiert die analoge Größe darstellt, die korrekt auf die nächstmögliche digitale Darstellung gerundet ist.