Xref: utzoo comp.dcom.modems:7484 sci.electronics:15835 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sun-barr!rutgers!ncs.dnd.ca!dgbt!barry From: barry@dgbt.doc.ca (Barry McLarnon DGBT/DIP) Newsgroups: comp.dcom.modems,sci.electronics Subject: Re: UARTS for speed... Message-ID: <1990Nov26.163225.22315@dgbt.doc.ca> Date: 26 Nov 90 16:32:25 GMT References: <1990Nov21.145421.23315@elroy.jpl.nasa.gov> Organization: The Communications Research Centre, Ottawa, Canada Lines: 93 From article <1990Nov21.145421.23315@elroy.jpl.nasa.gov>, by cyamamot@kilroy.jpl.nasa.gov (Cliff Yamamoto): > Greetings! > > I've been running my serial line at 38.4Kbaud on my 386 clone for a few > weeks now without any problems (not running Windows or Deskview). However, > I've heard that one can change the UART to offload some work on the CPU. > > Can anyone tell me if the 8250, the 16450 and the 16550A are pin-for-pin > interchangable? I'm not sure if I have the 8250 or the 16450, but I'd like > to eventually plug in a 16550A. Also do all three share the same port and > programming characteristics? Are 16550A readily available? > 16550A's are somewhat hard to come by at the moment, but TI has recently announced the TL16C550A, so that should help improve the supply. The following is a summary I put together some months ago, that seems relevant to this discussion: INS8250 UART Family Comparison NMOS Parts: INS8250 INS8250-B The INS8250 is the original version of the series. The "B" version is identical except for slower CPU bus timings (but fast enough for 4.77 MHz 8088 systems). There is a long list of gotchas and software workarounds for these chips. "XMOS" Parts: INS8250A This is the improved version of the 8250. It features improved bus timing constraints, and design changes have eliminated nearly all of the gotchas associated with the NMOS parts. A major difference from the older parts is that interrupts are now level-sensitive rather than edge-triggered. Unfortunately, this means that interrupt-driven drivers written for the older parts will probably break if you replace one with a newer "A" part. The symptom is that when multiple interrupts are pending, only the first one gets serviced. The necessary fix can be done in either software or hardware. NS16450 This is essentially a higher-speed 8250A, developed for use in IBM AT-class systems. All of the comments in the preceding section apply. There is a potential problem in both this chip and the 8250A which can occur in full duplex operation, involving loss of the THRE interrupt indication. Several workarounds are available to avoid this situation. NS16550 NS16550A The 16550 powers up in a mode completely compatible with the 16450. It has a number of enhancements over the 16450, including faster bus timings, on-board FIFOs, DMA interface, and higher maximum baud rates. However, the original NS16550 was brain-damaged, preventing use of the FIFOs. It should be avoided in favor of the fully-functional NS16550A part. It is possible for software to distinguish between the two parts. CMOS Parts: INS82C50A NS16C450 These are CMOS versions of the 8250A and 16450, and have no significant compatibility problems with the latter. They draw about 1/10 of the maximum operating current of the XMOS parts. Reference: National Semiconductor Application Note 493, "A Comparison of the INS8250, NS16450 and NS16550A Series of UARTS" (included in the "Microcommunication Elements" Databook). [Note: there are now several sources of CMOS 16550A parts, including TI, as mentioned above, and VLSI Technology] Barry -- | Barry McLarnon Communications Research Center, Ottawa, ON, Canada | | Internet: barry@dgbt.doc.ca | | Packet BBS: VE3JF@VE3JF AMPRnet: barry@bbs.ve3jf [44.135.96.6] |