[lkml]   [1999]   [Oct]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: serial.c (half duplex support)
       From: "David Schwartz" <>
    Date: Mon, 25 Oct 1999 15:46:39 -0700

    There is an end of packet character. It consists of 27 idle bit

    Ha, ha. Very funny.

    The problem with detecting the idle time is that at 9600 bps, an idle
    bit is just a little bit over a 1ms; and at high baud rates, the bit
    time becomes an even smaller fraction of a clock tick.

    This means that in order to measure the inter-character arrival time,
    you need to use a high-resolution timing source; and while we have one
    on the i386 (the timestamp instruction, on modern chips), it's not
    portable --- and remember, the serial driver has to work on
    architectures other than the i386: the alpha, PA-RISC, etc. (Sure, on
    some of the other architectures the clock tick is 1/1024 instead of
    1/100, but that still isn't fast enough for baud rates higher than 9600

    If the protocol had used an explicit ASCII character (with some kind of
    obvious escape mechanism) it would mean that the OS wouldn't have to do
    timing measurements at the interrupt receiver. It's easy enough to do
    handle the timing in hardware with a one-shot, but it's much more of a
    mess to do that in software.

    - Ted

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:54    [W:0.018 / U:130.836 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site