16550 Uarts vs 16650 Uarts!

16550 Uarts vs 16650 Uarts!

Post by Warwick Ward-Co » Wed, 18 Sep 1996 04:00:00



I was going through my AST fourport compatible serial card's manual,
and was amazed to see they mentioned the card is compatible with 16650
Uarts I imeadiatly thought that was a typo and then did some poking
arround!

In the serial.c source code there are numerous reference's to a 16650
Uart which seems to be able to handle a 32 bit buffer, but it also seems
to be disabled for some reason.

Does anyone know anything about this uart and how we can ge the full
potential out of it??

Thanks!

 
 
 

16550 Uarts vs 16650 Uarts!

Post by Rick L » Thu, 19 Sep 1996 04:00:00


I belive the 16650 is duart (dual uart in one package)
and you problably have only 2 packages on your board
giving you 4 ports (16550)

: I was going through my AST fourport compatible serial card's manual,
: and was amazed to see they mentioned the card is compatible with 16650
: Uarts I imeadiatly thought that was a typo and then did some poking
: arround!

: In the serial.c source code there are numerous reference's to a 16650
: Uart which seems to be able to handle a 32 bit buffer, but it also seems
: to be disabled for some reason.

: Does anyone know anything about this uart and how we can ge the full
: potential out of it??

: Thanks!

--
The wealth of reality, cannot be seen from your locality.

 
 
 

16550 Uarts vs 16650 Uarts!

Post by Hiran Chaudhur » Sat, 21 Sep 1996 04:00:00




> >I was going through my AST fourport compatible serial card's manual,
> >and was amazed to see they mentioned the card is compatible with 16650
> >Uarts I imeadiatly thought that was a typo and then did some poking
> >arround!

> >In the serial.c source code there are numerous reference's to a 16650
> >Uart which seems to be able to handle a 32 bit buffer, but it also seems
> >to be disabled for some reason.

> I think there were severe problems with it when it was enabled.

Whenever data is received, the UART has to inform the computer and does
this with an IRQ. 8250s did it for every byte since they had to get rid
of it otherwise it would be lost on reception of another byte. The cpu
has to handle an IRQ per byte.

That is fine as long as cpu time is available, but on multitasking
systems and todays transfer speeds the change from user to kernel mode
and whatever is necessary takes too much time. So the 16550 was
introduced.

That chip has two fifo buffers. For incoming and outgoing data there
exists a 16 byte buffer. But how will that be treated? If the UART
receives 16 bytes, the buffer is full and an IRQ is released. The cpu
will collect the buffer contents, but until then any additional data
would make you lose data. So you can program the UART to request the
interrupt when the buffer is filled to an extent (I dont know how many
bytes, but 1 and 14 are there for sure). In case of 1 the fifo would be
'disabled' since after every single byte an interrupt is requested, but
actually any data incoming between IRQ and handling will be stored in
the fifo.

My opinion to the serial driver code: Its fast and reliable. Dont
change anything if you dont have to. The guys who made it knew what
they did.

If you want some more information, read the serial-howto or the 16550
data sheet.

Hiran

 
 
 

16550 Uarts vs 16650 Uarts!

Post by Keith Smi » Sat, 21 Sep 1996 04:00:00



>I belive the 16650 is duart (dual uart in one package)
>and you problably have only 2 packages on your board
>giving you 4 ports (16550)

Don't beleive it.

16650 is a 16550 with a deeper FIFO.

Quote:>: In the serial.c source code there are numerous reference's to a 16650
>: Uart which seems to be able to handle a 32 bit buffer, but it also seems
>: to be disabled for some reason.

32 BYTE not bit.

--

Digital Designs                                 (910) 423-7389/7391 [V.34]
PO Box 85
Hope Mills, NC 28348-0085  ... Somewhere in the Styx of North Carolina ...

 
 
 

16550 Uarts vs 16650 Uarts!

Post by Keith Smi » Sat, 21 Sep 1996 04:00:00


Reposting article removed by rogue canceller.


>I belive the 16650 is duart (dual uart in one package)
>and you problably have only 2 packages on your board
>giving you 4 ports (16550)

Don't beleive it.

16650 is a 16550 with a deeper FIFO.

Quote:>: In the serial.c source code there are numerous reference's to a 16650
>: Uart which seems to be able to handle a 32 bit buffer, but it also seems
>: to be disabled for some reason.

32 BYTE not bit.

--

Digital Designs                                 (910) 423-7389/7391 [V.34]
PO Box 85
Hope Mills, NC 28348-0085  ... Somewhere in the Styx of North Carolina ...

 
 
 

16550 Uarts vs 16650 Uarts!

Post by Bill Fost » Sun, 22 Sep 1996 04:00:00


According to Boca's webpage (www.bocaresearch.com) it is like the 16550, but
designed for higher speed use by having a 32 byte buffer. I was looking into
this myself since it would be very useful with external ISDN modems.

I would be willing to help with the driver and/or testing if someone could
give me some hints as to why it has to be disabled.

Bill Foster


>I belive the 16650 is duart (dual uart in one package)
>and you problably have only 2 packages on your board
>giving you 4 ports (16550)


>: I was going through my AST fourport compatible serial card's manual,
>: and was amazed to see they mentioned the card is compatible with 16650
>: Uarts I imeadiatly thought that was a typo and then did some poking
>: arround!

>: In the serial.c source code there are numerous reference's to a 16650
>: Uart which seems to be able to handle a 32 bit buffer, but it also seems
>: to be disabled for some reason.

>: Does anyone know anything about this uart and how we can ge the full
>: potential out of it??

>: Thanks!

>--
>The wealth of reality, cannot be seen from your locality.

 
 
 

16550 Uarts vs 16650 Uarts!

Post by Florian Loho » Sun, 22 Sep 1996 04:00:00


: I belive the 16650 is duart (dual uart in one package)
: and you problably have only 2 packages on your board
: giving you 4 ports (16550)

Wrong ... the 16552 is the DUART (the 16554 is 4 times) ...
The 16650 is an a 16550 with 32 Byte
receive and 32 Byte send fifo. Biggest feature is the automated
RTS/CTS hardware handshaking. The 16650 is designed
to be detected as an 16550 and work like that. You can enable extended
features. Problem is that it is not 100% compatible with an 16550 in
fifo handling so that the linux serial drivers disable fifos to
be able to work with it. I think it is time for a new serial driver
which can handle 16450(8250), 16550, 16650, 68681, and some more
in nearly all memory locations. And support for the Arnet 8 times Serial
board.

Flo

--

Privates Internet Ostwestfalen-Lippe, Guetersloh - http://www.gt.owl.de
   Der Wind weht aus Beziehungkriese bis Plattencrash, Staerke 9-15

 
 
 

16550 Uarts vs 16650 Uarts!

Post by Tommy Tho » Thu, 26 Sep 1996 04:00:00



| >I belive the 16650 is duart (dual uart in one package)
| >and you problably have only 2 packages on your board
| >giving you 4 ports (16550)
|
| Don't beleive it.
|
| 16650 is a 16550 with a deeper FIFO.
|
| >: In the serial.c source code there are numerous reference's to a 16650
| >: Uart which seems to be able to handle a 32 bit buffer, but it also seems
| >: to be disabled for some reason.
|
| 32 BYTE not bit.

Somebody also mentioned that the 16650 is the first UART capable of
controling the hardware control flow by itself (although with that
deep fifo you should never need it).

/Tommy

 
 
 

1. 16550 Uarts vs 16650 Uarts!


   Date: Sat, 12 Oct 1996 07:55:31 GMT

   But 230400 and 460800 bps was already possible before that patch!
   It's only the POSIX speedsetting braindamage that disallowed that.

   I am running one line at 7812 bps and one at 76800 bps using a 460800
   baud_base.  That cannot be done using POSIX tcsetospeed even with your
   patch.  You would have to add an infinite series of Bxxxx entries to the
   silly table.

   The TIOCSSERIAL ioctl does it without pain, so I just use that.  Hopefully
   the POSIX folks wake up sometime and add a speed setting call that gets
   an integer argument that directly specifies the bitrate.

Yes, but it's much easier to get application programmers to support
230400 and 460800 if you provide a way to do it within the standard
POSIX framework.  I agree with you that the standard POSIX framework
is.... non-optimal.  However, backwards compatibility with old systems
was a extremely important for the POSIX folks, for better or for worse.

                                                - Ted

2. redhat 4.0 and user accounts

3. 16550 and 16650 UARTS

4. Extigy

5. Is my modem UART 16450 or UART 16550 ?

6. sync umount?

7. IO Card UARTS 16550 vs 16450??

8. Office XPensive

9. 16650 UART based boards

10. 3com Impact IQ with Lavaport-ISA 16650 UART serial

11. 16650 UART Support

12. 16650 UART support ?