View Single Post
  #10   Report Post  
Old September 22nd 04, 05:04 PM
Mike Andrews
 
Posts: n/a
Default

In (rec.radio.amateur.digital.misc), David Harper wrote:
Ok, I have one more additional question. :-)


For a communications protocol such as RTTY, I know the mark and space
frequencies indicate 0 and 1 values of a (usually) 5-bit character.
But how does the receiving side synchronize with the transmitting
side? How does the receiver continue to properly allocate the
incoming bits? After, say, the 30th bit value, how does the receiver
know that it *IS* the 30th bit value? Especially with three 1's or
three 0's consecutively and no frequency changes...?


Is the receiver just very accurately timed? When it occurs, do the
transitions from 0's to 1's (and vice versa) serve to resynchronize
the receiver with the transmitter?


I don't view it as a storm of questions; I'd be surprised if anyone
did, considering the floods asked by folks in some other newsgroups.

Synchronization can be A Right Bitch. Good, Cheap Timing is part of
the answer, and I think that the receivers also do some timebase
adjustments as needed to keep their bit-rate clocks in sync with the
transmitters'.

When you add start and/or stop bit, things get a lot easier, and
that is the case with most serial communications: you can reset the
character and bit-time clocks per-character. When no sync bits are
present, you have to derive the bit timing and character timing from
the data-bit transitions in the data stream, and things can get a bit
iffy. Telco circuits have hardware that requires K transitions per N
bit times, and will stuff "1" or "0" bits into the stream on one end,
and delete them on the other, before they get to the customer gear,
so that the stream appears to be synchronous, even though it isn't
really synchronous inside the telco circuit.

But TY gear is _asynchronous_: it has bits to signal the start and
end of each character.

The general structure of a TTY character is

Start_Bit, Data_Bits, Stop_Bit.

The Start_Bit tells the machinery that there's a character coming
down the pipe, and that it should get ready to move. When I was doing
military communications, Way Back When, the start bit was a 1.5 bit
time MARK, since there really were parts that had to get ready to
move, clutches to engage, and so on, and the extra time ensured that
things were ready when the first data bit came in. The stop bit was a
1.0 bit SPACE, IIRC, so that there was always a polarity change to
signal a new character. But that's memories almost 40 years old, and
I Could Be Wrong.

Try this for more info:
http://www.repairfaq.org/filipg/LINK/PORTS/F_The_Serial_Port1.html#THESERIALPORT_008

--
Mike Andrews

Tired old sysadmin