Was ist die maximale Taktdifferenz zwischen Sender und Empfänger für eine fehlerfreie asynchrone serielle Kommunikation?
Fühlen Sie sich frei, weitere Werte zu bearbeiten. Das sind die, die ich jetzt verwende.
Atmel ATmega UART:
5 bits, normal speed : ±3.0%
5 bits, double speed : ±2.5%
10 bits, normal speed: ±1.5%
10 bits, double speed: ±1.0%
NXP LPC111x (Cortex-M0) UART: 1,1 % (keine Tabelle)
Mikrochip PIC 18F2XK20/4XK20: nicht definiert. (wtf.)
Wie der ehrwürdige Mr. Horowitz & Hill es ausdrückte:
Durch Neusynchronisieren der START- und STOP-Bits jedes Zeichens benötigt der Empfänger keine hochgenaue Uhr; es muss nur so genau und stabil sein, dass Sender und Empfänger auf einen Bruchteil einer Bitperiode der Zeit eines Zeichens synchronisiert bleiben, dh mit einer Genauigkeit von wenigen Prozent.
Beachten Sie, dass die Leiterlänge eine große Rolle bei seriellen Taktfehlern spielt. Ich bleibe unter 19200 Baud für normale Flachbandkabel mit einer Länge von mehr als 2 Fuß. Macht mich neidisch auf 4 '60 Gb/s USB-Leitungen.
[Zunächst einmal bedeutet das „RS“ in RS-232 „Empfohlener Standard“, was es war, als es in den 1960er Jahren veröffentlicht wurde. Seit Äonen ist es jedoch ein akzeptierter Standard der EIA als EIA-232, und der alte Name wurde seitdem offiziell aufgegeben. Aber es scheint nichts Besseres zu geben, als alte Gewohnheiten zu töten :-) ]
Zum Thema: Die zulässige Takttoleranz hängt von der Erkennungsmethode ab. IIRC der alte 68HC11 hat ein paar Mal zu Beginn, ein paar Mal in der Mitte und am Ende gesampelt. (Die Abtastung erfolgte mit 16-facher Bitrate.) Dies ermöglicht einen Unterschied von einem halben Bit beim letzten Bit . Die meiste Kommunikation auf EIA-232 :-) besteht aus 10 Bits (1 Start, 8 Daten, 1 Stopp), also ist ein halbes Bit im Stoppbit 5% .
Denken Sie daran, dass der Fehler Spitze-zu-Spitze ist – dies kann ein Problem bei hohen Baudraten auf einer zitternden Uhr sein – RC-Oszillatoren können ziemlich viel Jitter haben, so dass eine 1% (Durchschnitt oder RMS) kalibrierte Uhr tatsächlich sofortige Fehler haben kann größer als das. Bei niedrigeren Baudraten wird dies tendenziell gemittelt.
Jason S