Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 06 Nov 1997 17:42:34 GMT
From:      mouth@ibm.net (John Kelly)
To:        hackers@FreeBSD.ORG
Subject:   Startech 16650
Message-ID:  <3461f284.240807732@smtp-gw01.ny.us.ibm.net>
In-Reply-To: <Pine.BSF.3.96.971105204554.14865A-100000@cello.synapse.net>
References:  <Pine.BSF.3.96.971105204554.14865A-100000@cello.synapse.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 5 Nov 1997 20:50:51 -0500 (EST), Evan Champion
<evanc@synapse.net> wrote:

>> What's a 16650 (is this the thing w/ the 256 byte FIFO) ?
>
>32 byte, on-chip flow control and 460.8 Kbps max port speed.

The Startech 16C650 has a 32-byte FIFO, but they also make a quad
version, 4 UARTs on a chip called the 16C654 which has 64-byte FIFOs.

460.8k is the max port speed for common implementations, and that
would be the case where a 7.3728 MHz clock is used.  But the databook
says the chip can take any clock input up to 24 MHz, giving a maximum
possible "baud" rate of 1,500k, assuming your serial cable and other
external hardware could handle signals at that speed.

>No, 16650's run the port at 4x whatever speed you set it to.

Only if using a 7.3728 MHz clock.  But if using the typical 1.8432 MHz
clock found on older serial adapters you will get the usual 1x speeds.

>So a port set at 57600 is treated as 230.4 Kbps.

Again, only with the 7.3728 MHz clock.  I have a serial card which
lets me select the clock via hardware jumpers:  1.8432 MHz for 1x
speeds, 3.6864 MHz for 2x speeds, or 7.3728 MHz for 4x speeds.

Also, there is a new software bit setting on the 650 to create even
more UART confusion:  MCR bit 7.  If set to "1" on the 650, then the
clock is further divided by 4 to provide speed compatibility with
software written for the older 550 UART.  The reason for dividing by 4
is because a 7.3728 MHz clock is exactly 4 times faster than the
1.8432 MHz clock typically used with a 550.

In other words, if using a 7.3728 MHz clock with a 650, and you want
the older 1x speeds instead of the newer 4x speeds, set MCR bit 7 to
"1" on the 650.

On the other hand, if you can select the older 1.8432 MHz clock via
hardware jumpers as my serial card allows, you don't have to worry
about setting MCR bit 7 -- and in fact don't want to, because if using
a 1.8432 MHz clock, you would inadvertently  lower all your expected
baud rates by a factor of 4.

This situation provides much opportunity for confusion among serial
device driver writers and users.  BTW, who maintains the FreeBSD SIO
driver?

John





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3461f284.240807732>