> On Mon, 24 Apr 2006 08:02:47 -0700, Chops wrote: >> Ten of 115200bps is a pretty non-trivial task. By my calculations, >> it gives you about 4 microseconds per character to do... everything. > > Very true -- this issue comes up on the Rabbit Semiconductor users > group frequently... The R3000 CPU has six UART channels and the Rabbit > C compilers all provide interrupt driven serial library routines. > Invariably, some newbie asks "why am I missing characters when I try to > run 4 (or 6) serial ports at 115Kbps?". > > In fact, even one channel of data at 115Kbps is quite a load for most > lowly 8 bit controllers running at a moderate clock rate. > > Matt Pobursky > Maximum Performance Systems Absolutely. Some years ago I developed a system based on an x86 platform that used many high speed UARTs. The UARTs were not the standard ones used by PCs, but rather Zilog SCC chips. As originally designed, the system ran under Borland's 32-bit DOS extender. Unfortunately, it turned out to be completely unworkable, even with a 200MHz+ 32-bit CPU, because of the ridiculously long pathlengh in handling interrupts in the DOS extender. I eventually had to develop my own Win32 subset equivalent kernel that processed the character interrupts with almost no overhead. It works really well now! A similar example is when one of my customers insisted that his PDP-73 could easily handle multiple 9600 bps serial data streams. Again, this turned out to be a disaster and in this case we had to crank the data rate down to 2400 bps to get the application to work at all. :-( Bob Ammerman RAm Systems -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist