• Please review our updated Terms and Rules here

16550 UART Clock Source

glitch

Veteran Member
Joined
Feb 1, 2010
Messages
5,051
Location
Central VA
I'm in the process of designing the I/O board for my 8085 SBC, which will use a 16550 UART for its serial section. Naturally, the 16550 needs a clock source, which is what I'm in the process of choosing. Being as how I haven't worked on a hardware level with the 16550 before, I have a few questions:

1) Clock Source -- TTL Oscillator or Crystal?

Does it matter? A TTL oscillator might be simpler in that it's a single part, but I think I may be able to squish the oscillator section into a smaller area using a crystal, 1/8W resistors and capacitors. Is there an advantage to one over the other?

2) Clock Speed -- 1.8432 MHz or 18.432 MHz?

Again, does it matter? I know the 8251 wants a clock substantially faster than its baudrate clock, but it doesn't seem that the 16550 has a clock requirement. I doubt the higher baudrates available with a 18.432 MHz clock will make much difference for this application, but the crystals are easier to find in the low-profile cans (important as these are stacking boards).

Any insight is welcome -- I'll probably wire-wrap this on an S-100 prototype board and poke bytes at the 16550 through the monitor.
 
I like the integrated XCO over that of discretes--frequency stability and duty cycle of the waveform tends to be better and you're dealing with a "known". You can get half-size XCOs (8 pin DIP form factor) if space is important.

I've used 1.8432 and 18.432 MHz sources. For the traditional bitrates, there doesn't appear to be any practical difference in performance. UARTs typically have a capture ratio of somewhere around +/- 15%.

For general-purpose async communications, I'm not a big fan of the 8250 family. The chip is oversized (unless you use a PLCC version) and affords only a single channel. An 8274 will get you two; a 2660 is smaller and adds sync capability.
 
As far as frequency, pick the one that is cheaper & easier to fit into your mechanical constraints. With a 16-bit divisor, you should be able to make any baud rate up to 115200 just fine with both.
 
I'd forgotten about half-size cans...that will probably end up being smaller than discrete components (all through-hole), and if someone needs a faster/different baud rate, you can pull the device out of the socket and replace it...no worrying about capacitor values. Probably go with the XCO package then!

For general-purpose async communications, I'm not a big fan of the 8250 family. The chip is oversized (unless you use a PLCC version) and affords only a single channel. An 8274 will get you two; a 2660 is smaller and adds sync capability.

No worries about space-wasting, 44-pin PLCC in a through-hole socket. This is just a prototype before I lay out a production PCB, so the UART may end up changing anyway -- I'm going to pick up some of the Zilog ESCC devices to prototype with as well. They might be better suited, especially since I'm using the Zilog CIO 8536 for parallel I/O and timers and could use the priority interrupt system built in to that family of devices.
 
Back
Top