Re: Autochanging of Rx baudrate on the fly

From: David Brown (david_at_no.westcontrol.spam.com)
Date: 09/15/03

  • Next message: Ian McBride: "Re: uCLinux for Coldfire or ARM"
    Date: Mon, 15 Sep 2003 11:35:21 +0200
    
    

    "Damion de Soto" <damion@snapgear.com> wrote in message
    news:3F6502BD.1050000@snapgear.com...
    > Anton Erasmus wrote:
    > > After reading the thread about the baud rates to a remote console
    > > changing during the boot process, I got to wondering if it is possible
    > > to keep the console at 115200 baud and then have a layer that
    > > decodes the data at various "baud rates". I.e. is it possible to
    > > actually decode the original data sent at the lower rates if the uart
    > > is set to a higher rate ?
    >
    > I was discussing this the other day, in relation to how (modern) modems
    themselves
    > can operate at whatever baudrate you send to them.
    > You could either get the similar serial uart hardware into your PC, but
    i'm not sure
    > if this exists -i think it'd be a good idea and can't see it being very
    expensive.
    >
    > I think we also decided it would be possible in software too, although
    i've never
    > seen anything out there already and only have vague ideas on how to
    convert the
    > hardware clock-syncing methods into software algorithms.
    >
    > if you write one yourself, let me know :)
    >

    As far as I knew, the way modems handle "autobaud" is to measure the timing
    of characters comming in, and try to match it to a sensible rate on the
    assumption that it is an "A" (0x41) character at the start of an AT command.
    Once they spot an "A", they lock on to that baud rate and can't easily be
    changed. I can't see how it would be practical to implement anything like
    that on a PC without extra hardware.

    What is practical, and I have done it many times (on small micros rather
    than embedded linux, but the principle's the same) is to have two or three
    different baud rates and switch between them. If you hear incoming data
    that makes sense, then "lock" to that baud rate (and maybe start switching
    again after a certain timeout without new valid data). It makes more sense
    when using a telegram-oriented protocol rather than when using a simple
    serial console, but it could be done (tell the user they must press "return"
    a few times until they get a command prompt).


  • Next message: Ian McBride: "Re: uCLinux for Coldfire or ARM"

    Relevant Pages

    • Re: Autochanging of Rx baudrate on the fly
      ... > After reading the thread about the baud rates to a remote console ... > changing during the boot process, I got to wondering if it is possible ... You could either get the similar serial uart hardware into your PC, ...
      (comp.os.linux.embedded)
    • Autochanging of Rx baudrate on the fly
      ... After reading the thread about the baud rates to a remote console ... decodes the data at various "baud rates". ... actually decode the original data sent at the lower rates if the uart ...
      (comp.os.linux.embedded)
    • Re: Can Python serial support run at 45.45 baud?
      ... John Nagle wrote: ... so arbitrary baud rates can be set. ... The last time I looked at serial port hardware, UARTs took a base clock rate and divided it sequentially with flip-flops to get all the possible rates. ...
      (comp.lang.python)
    • Re: Cisco Switch Catalys 2960 Unreadable characters
      ... Something strange happening ...I tell you ppl about switch and how i get ... through different baud rates on your terminal software. ... Unreadable characters i try to change computer console cable etc.. ... still get Unreadable characters did any one know whats happening pls ...
      (comp.dcom.sys.cisco)
    • Re: 2924 XL: Insufficient memory when booting
      ... After all the time spent debugging my problem, I was ready to install the switch in the rack and start switching cables from my older switch. ... Seemed it decided to ramndomly switch baud rates. ...
      (comp.dcom.sys.cisco)