[ntp:questions] PPS on Linux status?

David L. Mills mills at udel.edu
Sat May 19 18:13:43 UTC 2007


David,

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.

Dave

Dave

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
>>driver chips, 
> 
> 
> 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
>>level.
> 
> 
> 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 mailing list