Joined: Thu May 28, 2009 9:46 pm Posts: 8483 Location: Midwestern USA
|
cbmeeks wrote: I personally like the 6551 and 65C51. Not because they are great but because I just like them. lol (my first UART I ever programmed in my SBC). Actually, the 6551 is pretty horrid...
Quote: I few years ago I bought a PLCC44 version of an NXP (can't remember the model) and never really used it. In fact, I think they are no longer in production. Most likely, what you have is the 28L92. NXP no longer produces them, but TI continues to produce their equivalent in QFP. Exar also has the 88C92, which is a PLCC equivalent to the NXP 26C92, the 28L92’s immediate ancestor and very similar in operation.
You should know that PLCC packages, in general, are being phased out. I expect that in the not-too-distant future, WDC will announce end-of-life for the PLCC44 versions of their products. The main rationale for the phase-out is all industrial-scale electronics assembly these days is robotic, which, of course, can readily handle the really fine-pitched SMT packages that we hobbyists tend to avoid. So the coarser-pitched SMT products are no longer widely used in new designs and in many cases, have become uneconomical to produce.
Quote: So for grins and giggles, I looked on Mouser to see what it would recommend in a cheap, PLCC44 UART that had a couple channels and came across this one: https://www.mouser.com/ProductDetail/Te ... QHmw%3D%3DNot being an expert, it seems like it might be a pretty decent chip to use in my current WIP. It has dual buffers, 16 byte FIFO's and even works with 3V or 5V. The 16C2552 is basically a superannuated 16C450 with dual channels, the 16C450 design dating back to the 1980s. Although the 16C450 was an improvement on the older National 8250, it is weak compared to modern UARTs, and continues with the same lackluster performance and programming headaches of the original. Bus timing is very slow with this device, over 50 nanoseconds for a read or write cycle. You would likely have to limit Ø2 speeds to around 6 MHz, or implement wait-stating, in order to avoid timing violations.
The reason I, floobydust and others prefer the NXP 26.. and 28.. UARTs is a friendlier programming model, better timing characteristics, and hardware features. A particular feature is the sub-microsecond timer that may be used is to generate non-standard data rates, or a jiffy IRQ (my usage—I run it at 100 Hz). No 16C... UART that I know of has that capability.
Quote: What do you guys recommend? I'd like to get something that is still being manufactured. I’d go with Exar’s 88C92, even though it is being EOLed. The 88C92, although a little more expensive than the 16C2552, has more capability, a simple circuit interface that is 6502-friendly, and a less onerous programming model.
With one exception, the 88C92 is programmed the same as the 28L92, and the circuit interface is the same as that for the 28L92. The 88C92, like the 28L92, has the sub-microsecond timer I mentioned above, plus the ability to discretely report interrupt status in hardware for both channels’ receivers and transmitters. This latter feature, when coupled with a simple bus driver (I use the 74AHCT540), allows you to poll channel IRQ status with a single read operation. That is a huge assist in writing succinct driver code, and is something I use in my POC units to expedite channel interrupt processing.
A while back, I posted about the eventual disappearance of the NXP and Exar products, and what could be done about it. TI continues to produce their rendition of the 28L92, which is in a QFP package. I indicated at the time that if there was some interest, I would design and produce a module mounting the TI 28L92, along with a clock oscillator (socketed) and inverter to drive the 28L92’s active-high reset input. The module would be interfaced to the host computer through an easy-to-use dual-inline 40 pin arrangement. There would also be a six-pin header so an FTDI LC234X USB adapter could be directly connected to channel-A of the UART. I have designed this module, as well as the PCB. If I get five or more requests for it, I will get it produced.
_________________ x86? We ain't got no x86. We don't NEED no stinking x86!
|
|