Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

8250 UART Replacement

13 views
Skip to first unread message

John Nangreaves

unread,
Mar 16, 1998, 3:00:00 AM3/16/98
to

I have a microcontroller system I have put a lot of time (and money)
into, that uses an 8250 UART for a development systems interface.

I want to move the clock speed up to 24MHz from the current 12MHz,
but the 8250's don't work properly at such a high speed (they glitch
in many different ways).

Any suggestions as to where I can get 24MHz 8250's or something that
is 100% (I mean absolutely 100%, not Microsoft-type 100%) compatible?
I have tried a few 8250's & 82C50's from Intel, National & Harris,
with no luck. I don't want to spend lots of time and effort
re-coding the operating systems either.

Thanks in advance.

--
John Nangreaves
Senior Technologist
Magneto-Inductive Systems Ltd.
(anti-spamming measures may be in effect)

Tgtaylor1

unread,
Mar 16, 1998, 3:00:00 AM3/16/98
to

>I have a microcontroller system I have put a lot of time (and money)
>into, that uses an 8250 UART for a development systems interface.
>
>I want to move the clock speed up to 24MHz from the current 12MHz,
>but the 8250's don't work properly at such a high speed (they glitch
>in many different ways).
>
>Any suggestions as to where I can get 24MHz 8250's or something that
>is 100% (I mean absolutely 100%, not Microsoft-type 100%) compatible?
> I have tried a few 8250's & 82C50's from Intel, National & Harris,
>with no luck. I don't want to spend lots of time and effort
>re-coding the operating systems either.
>
>

Well, one way or the other, somthing has got to change. Even if you find a chip
that will work at that speed, you'll need to modify the code to change the
divider. A simple divide by 2 Flip flop will make the job easy, but you would
need to tack on HW.


jack schidt

unread,
Mar 16, 1998, 3:00:00 AM3/16/98
to

The problem is the asynchronous/one shot design of the genuine NMOS 8250.
The part internally is not edge synchronized on many register operations,
and is resynchronized at the completion of the current clock cycle. In
short, the 8250 is a working basket case. Doubling the clock will clearly
break the one-shot mechanisms.

I once worked with a company that National had second sourced with the 8250.
The device came out performing like an 8250-A. You could still tell the
difference between our 8250, National's 8250-A, and National's 8250-B
[approved for the XT] by writing a simple transmission test loop, and
changing the baud rate while the THR was full. Each part would crap out in
a certain manner.

The point here is that the original three 8250's were not completely
compatible themselves.

When anyone but National fabricated this device, all derivatives exhibit
minor differences due to the original design's NMOS parameters. CMOS
derivatives had to duplicate the one-shot mechanisms in their own process,
so that the thing would still work, the end result is that increased speed
is not possible.

Seeing this, IBM chose the 16450 for the AT generation. Have you tried one
of these? These have extra bytes of FIFO [that must be enabled], and
program like an 8250. You may be able to push them a bit more, but 2X clock
seems unlikely, since much of the internal architecture remained.

Question? Why are you doubling the clock? Can you find a flop or something
[maybe its own crystal] to solve this?


John Nangreaves wrote in message <01bd50d6$0d1a6920$9702a8c0@john-misl>...


>I have a microcontroller system I have put a lot of time (and money)
>into, that uses an 8250 UART for a development systems interface.
>
>I want to move the clock speed up to 24MHz from the current 12MHz,
>but the 8250's don't work properly at such a high speed (they glitch
>in many different ways).
>
>Any suggestions as to where I can get 24MHz 8250's or something that
>is 100% (I mean absolutely 100%, not Microsoft-type 100%) compatible?
> I have tried a few 8250's & 82C50's from Intel, National & Harris,
>with no luck. I don't want to spend lots of time and effort
>re-coding the operating systems either.
>

Jim

unread,
Mar 16, 1998, 3:00:00 AM3/16/98
to

On 16 Mar 1998 12:22:00 GMT, "John Nangreaves"
<NOSPA...@mi-systems.com> wrote:

>I have a microcontroller system I have put a lot of time (and money)
>into, that uses an 8250 UART for a development systems interface.
>
>I want to move the clock speed up to 24MHz from the current 12MHz,
>but the 8250's don't work properly at such a high speed (they glitch
>in many different ways).
>
>Any suggestions as to where I can get 24MHz 8250's or something that
>is 100% (I mean absolutely 100%, not Microsoft-type 100%) compatible?
> I have tried a few 8250's & 82C50's from Intel, National & Harris,
>with no luck. I don't want to spend lots of time and effort
>re-coding the operating systems either.

Surely changing the UART driving software won't be too much of a
task, will it? Then you could use any UART you wish.

How about using a small microcontroller (PIC?) with its own on-board
UART and making that "look" like an 8250?

Jim


ed ngai

unread,
Mar 16, 1998, 3:00:00 AM3/16/98
to

John Nangreaves wrote:
> I have a microcontroller system I have put a lot of time (and money)
> into, that uses an 8250 UART for a development systems interface.
> I want to move the clock speed up to 24MHz from the current 12MHz,
> but the 8250's don't work properly at such a high speed (they glitch
> in many different ways).
> Any suggestions as to where I can get 24MHz 8250's or something that
> is 100% (I mean absolutely 100%, not Microsoft-type 100%) compatible?
> I have tried a few 8250's & 82C50's from Intel, National & Harris,
> with no luck. I don't want to spend lots of time and effort
> re-coding the operating systems either.

is there a reason why you can't go to a 16c550 ? it's faster isn't it
??
or ... maybe a pic? the microchip databook... pic17c4x, operating speed
dc - 25 MHz clk input, dc - 160 ns instruction cycle ...? it would be
awhile to develope the asm code , or use basic pic language? would that
work? (i don't use pic's now, but feel somewhere down the line i will.)

ed

Alan Fowler

unread,
Mar 17, 1998, 3:00:00 AM3/17/98
to

"John Nangreaves" <NOSPA...@mi-systems.com> wrote:

>I have a microcontroller system I have put a lot of time (and money)
>into, that uses an 8250 UART for a development systems interface.

>I want to move the clock speed up to 24MHz from the current 12MHz,
>but the 8250's don't work properly at such a high speed (they glitch
>in many different ways).

>Any suggestions as to where I can get 24MHz 8250's or something that
>is 100% (I mean absolutely 100%, not Microsoft-type 100%) compatible?
> I have tried a few 8250's & 82C50's from Intel, National & Harris,
>with no luck. I don't want to spend lots of time and effort
>re-coding the operating systems either.

>Thanks in advance.

>--
John,
I think it will depend on which version of the 8250 you used in
the original design. There were three versions, the 8250, 8250A
and 8250B.

According to Scott Mueller "Upgrading and Repairing PCs" 3rd
edition, page 464 (published by QUE):

"The original chip had several known bugs, and the PC and XT ROM
BIOS was written to take these into account. The 8250A removed
the bug, and it would no longer work with the PC or XT ROM BIOS.
It would work in an AT , but couldn't handle 9600 bit/sec. The
8250B put the bug back in and worked in PC an XT computers. It
wouldn't work in ATs.

The 16450 is a higher speed version of the 8250 with the bugs
removed. The 16550 is similar to a 16450, but has a 16 byte
buffer."

Two points about the 16550. It boots up as a 8250 and the
buffer has to be enabled by additional software. I think there
are one or two pins with different functions to the 8250 but you
will need to check the data sheets.

It appears that if you do not rewrite your software the 16550
will simply be a high speed 8250.

regards, Alan.
.
My correct mail address is amfo...@melbpc.org.au
Please delete anything between the "@" and "melbpc" when replying.

,-._|\ Alan Fowler. (Alan M. Fowler FIEAust CPEng)
/ Oz \ Mail Address: PO Box 1008G, North Balwyn 3104 Vic, AUSTRALIA.
\_,--.x/ Phone: +613-9857-7128 Member, Melbourne PC User Group.
v +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


John Nangreaves

unread,
Mar 17, 1998, 3:00:00 AM3/17/98
to

Due to the somewhat unconventional use of the 8250 in the system, the
16450 won't work without a re-code (which is ultimately what I'm
trying to avoid).
The UART has its own crystal (it's actually part of an add-on
development system board); the problem is that the bus access time is
too fast for the 8250, so it gets glitched data.

Thanks for the reply though.

jack schidt <ja...@wintel.net> wrote in article
<68D9B3C592E684E1.497DE945...@library-proxy.airn
ews.net>...

> >I have a microcontroller system I have put a lot of time (and
money)
> >into, that uses an 8250 UART for a development systems interface.
> >
> >I want to move the clock speed up to 24MHz from the current 12MHz,
> >but the 8250's don't work properly at such a high speed (they
glitch
> >in many different ways).
> >
> >Any suggestions as to where I can get 24MHz 8250's or something
that
> >is 100% (I mean absolutely 100%, not Microsoft-type 100%)
compatible?
> > I have tried a few 8250's & 82C50's from Intel, National &
Harris,
> >with no luck. I don't want to spend lots of time and effort
> >re-coding the operating systems either.
> >
> >Thanks in advance.
> >
> >--

John Nangreaves

unread,
Mar 17, 1998, 3:00:00 AM3/17/98
to

Both suggestions have already been considered, as well as making one
from a CPLD. Too much effort, it's probably easier to rewrite the
BIOS for another chip, although the unconventional use of the UART is
a bit of a brain strain.

Thanks for the reply, though!


Jim <j...@webrider.net.au> wrote in article
<350d949...@news.mel.aone.net.au>...


> On 16 Mar 1998 12:22:00 GMT, "John Nangreaves"
> <NOSPA...@mi-systems.com> wrote:
>

> >I have a microcontroller system I have put a lot of time (and
money)
> >into, that uses an 8250 UART for a development systems interface.
> >
> >I want to move the clock speed up to 24MHz from the current 12MHz,
> >but the 8250's don't work properly at such a high speed (they
glitch
> >in many different ways).
> >
> >Any suggestions as to where I can get 24MHz 8250's or something
that
> >is 100% (I mean absolutely 100%, not Microsoft-type 100%)
compatible?
> > I have tried a few 8250's & 82C50's from Intel, National &
Harris,
> >with no luck. I don't want to spend lots of time and effort
> >re-coding the operating systems either.
>

John Nangreaves

unread,
Mar 17, 1998, 3:00:00 AM3/17/98
to

Should I say 'been there, done that'?
Your suggestions have already been considered; the easiest/cheapest
way out is a faster 8250.
N.B. The 164(5)50 is not exactly 100% compatible.
Also, it seems to me we share an industry... look hard at PICs, they
are often a good answer, even compared to CPLDs, which also are often
a good answer (and were considered here too).

Thanks for the reply!

ed ngai <en...@sprintmail.com> wrote in article
<350DF6...@sprintmail.com>...


> John Nangreaves wrote:
> > I have a microcontroller system I have put a lot of time (and
money)
> > into, that uses an 8250 UART for a development systems interface.
> > I want to move the clock speed up to 24MHz from the current
12MHz,
> > but the 8250's don't work properly at such a high speed (they
glitch
> > in many different ways).
> > Any suggestions as to where I can get 24MHz 8250's or something
that
> > is 100% (I mean absolutely 100%, not Microsoft-type 100%)
compatible?
> > I have tried a few 8250's & 82C50's from Intel, National &
Harris,
> > with no luck. I don't want to spend lots of time and effort
> > re-coding the operating systems either.
>

John Nangreaves

unread,
Mar 17, 1998, 3:00:00 AM3/17/98
to

The 164(5)50s aren't 100% 8250 register compatible; I found this out
the hard way, of course. Our development system uses the 8250
somewhat unconventionally in order to move a lot of functions through
a 'simple' interface.

The consensus seems to be that I will be re-coding and using a
16450-type device, but it sure would be nice to find an 8250 that can
handle being on a 24MHz bus!


Alan Fowler <amfo...@melbpc.org.au> wrote in article
<6elfrv$9ta$2...@possum.melbpc.org.au>...


> "John Nangreaves" <NOSPA...@mi-systems.com> wrote:
>
> >I have a microcontroller system I have put a lot of time (and
money)
> >into, that uses an 8250 UART for a development systems interface.
>
> >I want to move the clock speed up to 24MHz from the current 12MHz,
> >but the 8250's don't work properly at such a high speed (they
glitch
> >in many different ways).
>
> >Any suggestions as to where I can get 24MHz 8250's or something
that
> >is 100% (I mean absolutely 100%, not Microsoft-type 100%)
compatible?
> > I have tried a few 8250's & 82C50's from Intel, National &
Harris,
> >with no luck. I don't want to spend lots of time and effort
> >re-coding the operating systems either.
>

James Beck

unread,
Mar 17, 1998, 3:00:00 AM3/17/98
to

It sounds like the only solutions are: do the recoding and change
UARTs, or find some way (if the existing bus has it available) to
throw in a few wait states when accessing the 8250's address space. I
don't believe there is anything else that can be done.

Jim

Branko Badrljica

unread,
Mar 17, 1998, 3:00:00 AM3/17/98
to

It seems to me that you will have to code, question is what.
Theoreticaly, if you don't find a suitable UART, you have three choices:

1. recode your application code and use UART of the more modern kind

2. build your own "turbo 20V etc" version of 8250 inside CPLD or FPGA.
In that case you have to write ABEL/VHDL etc. source.

3. Maybe you could use microcontroller as an interface between some nice new
UART and the rest of the system. One that could fit nicely (maybe, depending
on the app.) is PIC 16C65. It has built-in UART and 8 bit host port, through
which it could communicate with the system. You would probably need also a
small PLD for decoding (register select etc.). Check also 17C752 and 17C756.

One that could definitely solve your problem is AD's DSP 2181 with some kind
of UART chip like MAX3100, but this is probably overkill...

Regards,


Branko

ed ngai wrote:

> John Nangreaves wrote:
> > I have a microcontroller system I have put a lot of time (and money)
> > into, that uses an 8250 UART for a development systems interface.
> > I want to move the clock speed up to 24MHz from the current 12MHz,
> > but the 8250's don't work properly at such a high speed (they glitch
> > in many different ways).
> > Any suggestions as to where I can get 24MHz 8250's or something that
> > is 100% (I mean absolutely 100%, not Microsoft-type 100%) compatible?
> > I have tried a few 8250's & 82C50's from Intel, National & Harris,
> > with no luck. I don't want to spend lots of time and effort
> > re-coding the operating systems either.
>

Dave Baldwin / DIBsed

unread,
Mar 17, 1998, 3:00:00 AM3/17/98
to John Nangreaves

John Nangreaves wrote:
>
> Due to the somewhat unconventional use of the 8250 in the system, the
> 16450 won't work without a re-code (which is ultimately what I'm
> trying to avoid).

I'm curious what you could do with an 8250 that wouldn't work with the
16450. ??

--
-=-=-=-=-=-=-=-=- "http://www.psyber.com/~dibsed" -=-=-=-=-=-=-=-=-=-=-
DIBs Electronic Design | Dave Baldwin: dib...@psyber.com
Voice : (916) 722-3877 | Hands-on hardware and software
TCJ/DIBs BBS: (916) 722-5799 | TCJ/DIBs FAX: (916) 722-7480
-=-=-=-=- The Computer Journal "http://www.psyber.com/~tcj" -=-=-=-=-

Michael Black

unread,
Mar 18, 1998, 3:00:00 AM3/18/98
to

What about the 16550? I thought it was pin compatible with the 8250; I'm
sure I once even checked the pinouts myself. Since it's a relaticely
newer device perhaps it does work okay at a higher clock frequency.

Michael


On 16 Mar 1998, John Nangreaves wrote:

> I have a microcontroller system I have put a lot of time (and money)
> into, that uses an 8250 UART for a development systems interface.
>
> I want to move the clock speed up to 24MHz from the current 12MHz,
> but the 8250's don't work properly at such a high speed (they glitch
> in many different ways).
>
> Any suggestions as to where I can get 24MHz 8250's or something that
> is 100% (I mean absolutely 100%, not Microsoft-type 100%) compatible?
> I have tried a few 8250's & 82C50's from Intel, National & Harris,
> with no luck. I don't want to spend lots of time and effort
> re-coding the operating systems either.
>

msi...@tefbbs.com

unread,
Mar 19, 1998, 3:00:00 AM3/19/98
to

If you have to recode the OS just to change uarts your OS is in a lot
of hurt. I recently changed the UART from an SIO to a SCC. All I did
was change the init code (stolen from another application) and change
a few addresses to conform to the new map. No big deal.
Get a better UART. Don't fool with crap. It will cost you in the long
run.

Simon
---------------------------------------------------------------------------------------------------------
"jack schidt" <ja...@wintel.net> wrote:

>>I have a microcontroller system I have put a lot of time (and money)
>>into, that uses an 8250 UART for a development systems interface.
>>
>>I want to move the clock speed up to 24MHz from the current 12MHz,
>>but the 8250's don't work properly at such a high speed (they glitch
>>in many different ways).
>>
>>Any suggestions as to where I can get 24MHz 8250's or something that
>>is 100% (I mean absolutely 100%, not Microsoft-type 100%) compatible?
>> I have tried a few 8250's & 82C50's from Intel, National & Harris,
>>with no luck. I don't want to spend lots of time and effort
>>re-coding the operating systems either.
>>
>>Thanks in advance.
>>
>>--
>>John Nangreaves
>>Senior Technologist
>>Magneto-Inductive Systems Ltd.
>>(anti-spamming measures may be in effect)
>

Opinions expressed herein are solely my own and may or may not reflect my opinion at this particular time or any other.

msi...@tefbbs.com

unread,
Mar 19, 1998, 3:00:00 AM3/19/98
to

A one shot and a latch might make a good temporary solution. The one
shot will have to be tuned. Try a 74ACT574. A HC574 might work as
well.
A 573 might be even better.

Simon
------------------------------------------------------------------------------------------------------------------------

"John Nangreaves" <NOSPA...@mi-systems.com> wrote:

>Due to the somewhat unconventional use of the 8250 in the system, the
>16450 won't work without a re-code (which is ultimately what I'm
>trying to avoid).

>The UART has its own crystal (it's actually part of an add-on
>development system board); the problem is that the bus access time is
>too fast for the 8250, so it gets glitched data.
>
>Thanks for the reply though.
>
>jack schidt <ja...@wintel.net> wrote in article
><68D9B3C592E684E1.497DE945...@library-proxy.airn
>ews.net>...

gre...@concentric.net

unread,
Mar 19, 1998, 3:00:00 AM3/19/98
to

In <01bd51a1$a6fb1820$9902a8c0@john-misl>, "John Nangreaves" <NOSPA...@mi-systems.com> writes:
>The 164(5)50s aren't 100% 8250 register compatible; I found this out
>the hard way, of course. Our development system uses the 8250
>somewhat unconventionally in order to move a lot of functions through
>a 'simple' interface.
>
>The consensus seems to be that I will be re-coding and using a
>16450-type device, but it sure would be nice to find an 8250 that can
>handle being on a 24MHz bus!
>
>
So why can't you just add wait states to the bus cycle that
access the UART ??


====================================
Receipt of unsolicited e-mail will result in
legal action pursuant to applicable federal laws.
Translation: NO SPAM! or else. (2 Spammers down, and counting)
Specific single replies to this posting are OK.
====================================


0 new messages