From: CBFalconer on 5 Oct 2006 14:51 rickman wrote: > .... snip ... > > And the R/C oscillator is only useful in a small percentage of > applications where you don't need any more timing precision than > what is required to run a UART, and just barely that! A UART needs much better precision (and stability) than you can expect from any r/c oscillator. -- Some informative links: <news:news.announce.newusers <http://www.geocities.com/nnqweb/> <http://www.catb.org/~esr/faqs/smart-questions.html> <http://www.caliburn.nl/topposting.html> <http://www.netmeister.org/news/learn2quote.html> <http://cfaj.freeshell.org/google/>
From: Isaac Bosompem on 5 Oct 2006 16:47 CBFalconer wrote: > rickman wrote: > > > ... snip ... > > > > And the R/C oscillator is only useful in a small percentage of > > applications where you don't need any more timing precision than > > what is required to run a UART, and just barely that! > > A UART needs much better precision (and stability) than you can > expect from any r/c oscillator. > > -- > Some informative links: > <news:news.announce.newusers > <http://www.geocities.com/nnqweb/> > <http://www.catb.org/~esr/faqs/smart-questions.html> > <http://www.caliburn.nl/topposting.html> > <http://www.netmeister.org/news/learn2quote.html> > <http://cfaj.freeshell.org/google/> Yes, from what I've read you only got an error margin of 1 or 2%. Not too big if you ask me. (I got this from the Intersil 82C52 datasheet). -Isaac
From: Terran Melconian on 5 Oct 2006 18:06 On 2006-10-05, Isaac Bosompem <x86asm(a)gmail.com> wrote: > > CBFalconer wrote: > >> A UART needs much better precision (and stability) than you can >> expect from any r/c oscillator. > > Yes, from what I've read you only got an error margin of 1 or 2%. Not > too big if you ask me. Assume a byte is 10 bits long (one start, one stop, no parity). If we sample the bits in the middle of where we think they are, then by the end of the byte we can be off by just under half a bit and still read correctly. This looks like about 5% to me. I wonder how exactly they arrive at 1% or 2%; do you know? I've used the internal oscillator on an AVR and it usually worked (except when it didn't, of course); good enough if it was only to be used for debugging and turned off in the final product.
From: John Temples on 5 Oct 2006 19:02 On 2006-10-05, Terran Melconian <te_rem_ra_ove_an_forspam(a)consistent.org> wrote: > On 2006-10-05, Isaac Bosompem <x86asm(a)gmail.com> wrote: >> >> CBFalconer wrote: >> >>> A UART needs much better precision (and stability) than you can >>> expect from any r/c oscillator. >> >> Yes, from what I've read you only got an error margin of 1 or 2%. Not >> too big if you ask me. > > I wonder how exactly they arrive at 1% or 2%; do you know? Search for Dallas/Maxim's app note 2141, "Determining Clock Accuracy Requirements for UART Communications" -- John W. Temples, III
From: Isaac Bosompem on 5 Oct 2006 20:45
Terran Melconian wrote: > On 2006-10-05, Isaac Bosompem <x86asm(a)gmail.com> wrote: > > > > CBFalconer wrote: > > > >> A UART needs much better precision (and stability) than you can > >> expect from any r/c oscillator. > > > > Yes, from what I've read you only got an error margin of 1 or 2%. Not > > too big if you ask me. > > Assume a byte is 10 bits long (one start, one stop, no parity). If we > sample the bits in the middle of where we think they are, then by the > end of the byte we can be off by just under half a bit and still read > correctly. This looks like about 5% to me. > > I wonder how exactly they arrive at 1% or 2%; do you know? > > I've used the internal oscillator on an AVR and it usually worked > (except when it didn't, of course); good enough if it was only to be > used for debugging and turned off in the final product. Here is the aforementioned document: http://www.maxim-ic.com/appnotes.cfm/appnote_number/2141/ You are actually pretty close. I guess Intersil put in conservative numbers. Under less than harsh settings you get 3.3% according to the document. -Isaac |