[ntp:questions] PPS on Linux status?
David L. Mills
mills at udel.edu
Sat May 19 18:13:43 UTC 2007
The original 1964 RS-232 specification for the Bell System 103A modem
specified bipolar levels at least +-6 V. This was also the case for the
201A, 202A and others. However, the Bell System 113A modem used 0 V for
logic 0 and +6 V or logic 1. There has been mass confusion ever since;
sometimes TTL levels work, sometimes not. It's easy to wire a couple of
transistors to match TTL levels to bipolar.
David Woolley wrote:
> In article <38doh4-vi2.ln1 at gateway.py.meinberg.de>,
> Martin Burnicki <martin.burnicki at meinberg.de> wrote:
>>The reason for this is mostly historical. On-board logic levels used to be
>>close to 0V for logical "low" and close to +5V for logical "high" signals.
> Whilst it certainly is historical, I have doubts about this interpretation.
> In particular, it doesn't explain why control signals use positive logic.
>>Those on-board signals were converted to RS232 levels using inverting
> That's definitely wrong, as the standard pre-dates that level of logic
> integration. When it was developed, logic would have been ECL or DTL.
> ECL uses very low voltage differentials and DTL doesn't naturally produce
> the TTL 5 volts power supplies. At the low level (probably zero,
> at that time) of integration for DTL logic, the distinction between
> positive and negative logic would really depend on whether you wanted
> a NOR or a NAND function.
>> so you have negative voltages for a logical RS232 "high"
>>level on the wire.
> The 12 volts bipolar probably comes from using polarised relays with a 12
> volt (13.8V) standard coil voltage (12, 24 and 48 volts are standard lead
> acid battery configurations, with 48 still used for telephone systems).
> I suspect that the use of negative logic, for the data (but not the
> control signals), came about as a result of not wanting teletype motors
> to run when the connection is broken. With current loop teletypes,
> the idle state is with current flow and is the marking state. When 7
> bit an 8 bit teletype codes were developed, they arbitrarily chose mark
> to be binary one.
> The start of a current loop character is signalled by breaking the loop,
> which means that a disconnected cable produces a continuous start signal
> and the teletype motor keeps running, wearing out the machine. I suspect
> it was decided that the default state for RS232 should be that the control
> signals should be false and the teletype be stopped. That requires a logic
> low on the control signals correspond to a marking state on the data, and
> therefore requires the opposite polarity to that which produces a one in
> the character codes.
>>Normally a PC's serial port expects RS232 levels as inputs, so the PPS pulse
>>which if normally fed to the Carrier Detect (DCD) pin should also be RS232
> Note that, as a control signal, DCD uses positive logic.
>>However, in practice the RS23 chips built into standard PCs accept also
>>voltage levels in the range of 0..+5V as input levels.
> This is actually a very old characteristic of RS232. It ensures that
> disconnected (0 volts) is treated as negative, so a false control signal
> and a marking data signal, which is the correct fail safe configuration.
More information about the questions