ESCI arbiter function on MC908QB8 and baud rate detection

Discussion created by bigmac on Sep 12, 2006
Latest reply on Sep 18, 2006 by bigmac
Hello all,
There appears to be ambiguity in the MC908QB8 data sheet.  In section 13.9.1, and with SCIACTL register bit ACLK = 0, it is stated that "Arbiter counter is clocked with the bus clock divided by four."  However, in section 13.9.3, again with ACLK = 0, "The counter is clocked with one half the bus clock."  Obviously one of the sections has to be incorrect, but not sure which one.
I wish to consider using the arbiter function for baud rate detection - I wonder if others have used it for this purpose.  Firstly I need to differentiate between a couple of baud rates, and select a standard rate, based on the receipt of one of a few different incoming characters.  I guess this should be relatively straight forward.
The second part of the problem is probably more complex.  I have perceived limitations with using the internal oscillator of the MCU in conjunction with ESCI usage - the long term frequency stability is probably not quite adequate for continued reliability.  The simplest solution is to use an external crystal.  However, this consumes two I/O pins of a 16-pin device, a heavy penalty in some instances.  If I can automatically adjust the ESCI baud rate to exactly match the incoming baud rate, and do this "on the fly", I may be able to utilise the internal oscillator.  I could adjust either the oscillator trim or the ESCI prescale register to compensate for frequency drift.
I would be interested to hear if others have accomplished baud rate measurement and trimming, and the actual strategy utilised.  There doesn't seem to be very much published information on this topic.