Реферат: Микроконтроллер 8250
--------
7
--------
|Адрес регистра | Адрес регистра
| 0 DLAB 1 | 1 DLAB 1
N | бита | Регистр делителя | (LS) | | Регистр | делителя | (MS) |
0 | Разряд 0 | | Разряд | 8 | |||
1 | Разряд 1 | | Разряд | 9 | |||
2 | Разряд 2 | | Разряд | 10 | |||
3 | Разряд 3 | | Разряд | 11 | |||
4 | Разряд 4 | | Разряд | 12 | |||
5 | Разряд 5 | | Разряд | 13 | |||
6 | Разряд 6 | | Разряд | 14 | |||
- |
7 ----- | Разряд 7 ---------------- | ------- |
| Разряд ---------- |
15 -------- | ---- |
From news-service Sun May 17 13:24:01 1992
To: subscribers
From: [email protected] (Scott C. Sadow)
Newsgroups: comp.sys.ibm.pc.hardware,comp.sys.ibm.pc.misc,comp.sys.ibm.pc.programmer Subject: [News] UART information: 8250 vs 16450 vs 16550 vs 16550A Message-ID: <[email protected]>
Date: Fri, 15 May 92 13:47:15 GMT
Sender: [email protected]
Status: R
This message describes the differences between the 8250, 16450, 16550, and 16550A UART chips and some programming information for the 16550A. All of this information is from the National Semiconductor manuals. This means there is no guarantee that this is correct for other chips. Any and all information is supplied as-is. Also, if there are any typos or errors, they are probably due to transmission errors. :)
8250: Used in the original PC. For more information on this, refer to any of the many books on serial communtications.
16450: This is essentially an 8250, but the inside of the chip was designed using the latest technology. This chip has a scratch register for programmer use at offset BASE+7.
16550: This is essentially a 16450, but FIFO buffers were added for both transmit and receive. (FIFO means first-in-first-out and is the same as a queue) This was done to lower the overhead of serial communication by decreasing the amount of interrupts needed. However, there were bugs in the chip, so FIFOs should NOT be used. (Characters may be lost in FIFO mode)
16550A: This is a 16550 with working FIFOs.
Chip Detection
It is rather easy to detect what kind of UART is installed:
An 8250 does not have a scratch register
A 16450 does not have a FIFO
A 16550 has bad FIFOs, indicated by bit 7 of IIR
A 16550A has good FIFOs, indicated by bit 7 and bit 6 of IIR