What UART should i use for my first computer?
-
BigLadWhillis
- Posts: 19
- Joined: 02 Jan 2020
- Location: Nottingham, England
What UART should i use for my first computer?
I'm working on a computer and am wondering what UART i should use for 57600 baud, preferably i would want it to be easy to use and be reliable. I was looking at the Zilog ZDU0110RJX, Which is used for 57600 baud communication via serial without requiring a external clock, which makes my life so much easier, What I'm wondering is if this chip is useful for my application, I've never done SMD before but it shouldn't be too hard.
Thanks for the help
Thanks for the help
Nice Little Community This Isn't It
-
DerTrueForce
- Posts: 483
- Joined: 04 Jun 2016
- Location: Australia
Re: What UART should i use for my first computer?
That UART is unsuitable, unfortunately. That one uses an I2C interface, and I'm assuming you want one to go on the 6502's main bus, which is a parallel interface. For that purpose, the ones that get recommended a lot are the NXP SC28L91 and SC28L92. The datasheet for that one is not the best, though there are a few people here who have gotten it to work. Those do need an external oscillator or crystal, but that really isn't such a problem. Most UARTS(including the 65c51 and the 28L91 and 92) also have software-selectable baud rates, without needing to change the oscillator.
Re: What UART should i use for my first computer?
The 65c51 is probably the simplest way to go, but it will not do 57K baud (19K max.). The NXP chips are pretty much the best you can get, but the available packaging is all surface mount. Not an issue if you are really experienced a soldering such devices, but not very beginner friendly.
There are other options too, the like the 16550, but I have never used them. They are more complex and larger than the 65C51.
Just a point here. Would it not be better to restrict all your questions regarding this build to a single thread? You seem to be asking the same questions is various different threads. It gets a little difficult to keep track of what has been answered where.
There are other options too, the like the 16550, but I have never used them. They are more complex and larger than the 65C51.
Just a point here. Would it not be better to restrict all your questions regarding this build to a single thread? You seem to be asking the same questions is various different threads. It gets a little difficult to keep track of what has been answered where.
Bill
-
BigLadWhillis
- Posts: 19
- Joined: 02 Jan 2020
- Location: Nottingham, England
Re: What UART should i use for my first computer?
BillO wrote:
Just a point here. Would it not be better to restrict all your questions regarding this build to a single thread? You seem to be asking the same questions is various different threads. It gets a little difficult to keep track of what has been answered where.
Nice Little Community This Isn't It
- GARTHWILSON
- Forum Moderator
- Posts: 8773
- Joined: 30 Aug 2002
- Location: Southern California
- Contact:
Re: What UART should i use for my first computer?
BigLadWhillis wrote:
BillO wrote:
Just a point here. Would it not be better to restrict all your questions regarding this build to a single thread? You seem to be asking the same questions is various different threads. It gets a little difficult to keep track of what has been answered where.
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
Re: What UART should i use for my first computer?
BillO wrote:
The 65c51 is probably the simplest way to go, but it will not do 57K baud (19K max.).
Plus, I wonder, how important is 57K for a beginning 8-bit computer? Are we really in that much of a hurry? LOL
BillO wrote:
The NXP chips are pretty much the best you can get, but the available packaging is all surface mount. Not an issue if you are really experienced a soldering such devices, but not very beginner friendly.
Cat; the other white meat.
- GARTHWILSON
- Forum Moderator
- Posts: 8773
- Joined: 30 Aug 2002
- Location: Southern California
- Contact:
Re: What UART should i use for my first computer?
BillO wrote:
The 65c51 is probably the simplest way to go, but it will not do 57K baud (19K max.).
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
Re: What UART should i use for my first computer?
GARTHWILSON wrote:
BillO wrote:
The 65c51 is probably the simplest way to go, but it will not do 57K baud (19K max.).
Bill
- GARTHWILSON
- Forum Moderator
- Posts: 8773
- Joined: 30 Aug 2002
- Location: Southern California
- Contact:
Re: What UART should i use for my first computer?
BillO wrote:
True, but it makes changing baud rates a bit of a pill.
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
Re: What UART should i use for my first computer?
I meant if you don't have a VIA. Then you need to change crystals or build a BRG (using a VIA or otherwise). But the VIA idea is a pretty neat one.
Bill
- floobydust
- Posts: 1394
- Joined: 05 Mar 2013
Re: What UART should i use for my first computer?
I've used the 6551 and 65C51 for decades. In short, it's dirt simple to make it work in either polled I/O mode or interrupt-driven mode, provided you have a properly working one. I actually bought over 20 of the new WDC chips (both DIP and PLCC) and eventually found the Xmit bug. You have several options to work around it, but for myself, I don't want to be writing code as a band-aid for defective components.
My last SBC project used a Philips/NXP UART, the SCC2691. Granted, this chip is no longer in manufacture and isn't the latest from NXP, but they are (still readily) available in 24-pin DIP, can easily run up to 115.2K reliably and I've written a rock-solid BIOS to support it. There are a few caveats however:
1- 6MHz CPU clock is the typical limit, which is per the datasheet (I do have one chip which is rock solid at 8MHz, out of a stock of 13).
2- Implementing Extended baud rates (higher than 38.4K) could be better implemented, but I've worked around that as well.
3- A test mode register can be toggled, which can appear to crash the UART, but there's no way to know this. The only fix is to toggle it again or physically "hardware reset" the chip.
In short, if you're looking for a solid UART that can handle high baud rates, available in DIP and looking to stay around 6MHz on the CPU clock, I would highly recommend it. I've currently run 3 SBCs with this chip totaling over 50K hours without a single hiccup. Using one of the newer NXP UARTs (SC2692, 28L91/2) would be better, but they are only available in PLCC or QFP.
My last SBC project used a Philips/NXP UART, the SCC2691. Granted, this chip is no longer in manufacture and isn't the latest from NXP, but they are (still readily) available in 24-pin DIP, can easily run up to 115.2K reliably and I've written a rock-solid BIOS to support it. There are a few caveats however:
1- 6MHz CPU clock is the typical limit, which is per the datasheet (I do have one chip which is rock solid at 8MHz, out of a stock of 13).
2- Implementing Extended baud rates (higher than 38.4K) could be better implemented, but I've worked around that as well.
3- A test mode register can be toggled, which can appear to crash the UART, but there's no way to know this. The only fix is to toggle it again or physically "hardware reset" the chip.
In short, if you're looking for a solid UART that can handle high baud rates, available in DIP and looking to stay around 6MHz on the CPU clock, I would highly recommend it. I've currently run 3 SBCs with this chip totaling over 50K hours without a single hiccup. Using one of the newer NXP UARTs (SC2692, 28L91/2) would be better, but they are only available in PLCC or QFP.
Regards, KM
https://github.com/floobydust
https://github.com/floobydust
Re: What UART should i use for my first computer?
Someone should create a small PCB that accepts a PLCC44 or QFP NXP UART, crystal oscillator, caps, etc. and bring it out to DIP package. Something as small as possible that could just plug into a breadboard or socket. Could even have a place for RS-232 level converters.
May not be the smallest PCB in the world, but an easy "drop in serial" design would be pretty cool.
May not be the smallest PCB in the world, but an easy "drop in serial" design would be pretty cool.
Cat; the other white meat.
Re: What UART should i use for my first computer?
cbmeeks wrote:
Someone should create a small PCB that accepts a PLCC44 or QFP NXP UART, crystal oscillator, caps, etc. and bring it out to DIP package. Something as small as possible that could just plug into a breadboard or socket. Could even have a place for RS-232 level converters.
May not be the smallest PCB in the world, but an easy "drop in serial" design would be pretty cool.
May not be the smallest PCB in the world, but an easy "drop in serial" design would be pretty cool.
-Gordon
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/
Re: What UART should i use for my first computer?
drogon wrote:
Maybe just stick an FPGA/CPLD on the carrier and make it 6551 compatible without the bug? This has been done for much more complex stuff in the past - e.g. the TI99 graphics chip thingy... Anyone up for the challenge?
-Gordon
-Gordon
Of course, if someone sold the FPGA/CPLD solution then that would be cool.
I just see the NXP recommended a lot (I have one myself) and the big hurdle for it (for some people) is the package format.
BTW, I own the "TI99 graphics chip thingy". The F18A.
Cat; the other white meat.
- BigDumbDinosaur
- Posts: 9425
- Joined: 28 May 2009
- Location: Midwestern USA (JB Pritzker’s dystopia)
- Contact:
Re: What UART should i use for my first computer?
drogon wrote:
Maybe just stick an FPGA/CPLD on the carrier and make it 6551 compatible without the bug? This has been done for much more complex stuff in the past - e.g. the TI99 graphics chip thingy... Anyone up for the challenge?
In the case of the NXP 28L92, two pins are no-connects, so the adapter could be designed around a 42 pin DIP socket. The logical way to construct the unit would be to directly solder the UART to the board so as the eliminate the cost of a PLCC44 socket. PLCC uses 50 mil J-leads, which can be manually soldered.
cbmeeks wrote:
Could even have a place for RS-232 level converters.
Getting back to the 6551 itself, it's a very obsolete design that reflects 1970s technology. About all it has going for it is it's easy to interface to a 65xx bus and it has a very simple, albeit brain-dead, programming model. Much better UARTs are available.
x86? We ain't got no x86. We don't NEED no stinking x86!