From: Steve Nuchia (steve@sccsi.com)
Date: 07/02/93


From: steve@sccsi.com (Steve Nuchia)
Subject: Re: 16550A FIFO IRQ setting question and ideas
Date: Fri, 2 Jul 1993 22:16:36 GMT

In article <1993Jun30.062729.5571@unlv.edu> ftlofaro@unlv.edu (Frank Lofaro) writes:
>to either 1, 4, 8, or 14 bytes. It was set to 8, I changed the
>definition of the setup command to use a 14 byte trigger instead of
>an 8 byte trigger. Was this a good way to do it, or should I have

If it didn't increase the drop rate for incoming charaters on
your ports, it was a good thing to do.

>What are the advantages/disadvantages of a high or low trigger rate? I

The higher the trigger the lower the ratio of interrupt overhead to
useful work. However, if you set it too high there won't be enough
room in the FIFO to allow for worst-case interrupt latency and you
will get lossage.

You want it as high as possible. How high that is depends on
your worst case interrupt latency.

>delay. If less bytes than the trigger come in, when is the FIFO
>drained? Thanks for any info you can give.

After four frame-times (or is it 32 bit times?) with a partially
filled input FIFO and no input transitions (or is it no completed
input frames?) the '550 signals an interrupt. At reasonable data
rates the latency is negligable, though it might have an appreciable
effect in PPP.

The documentation isn't clear on the precice logic behind the
trigger timout, but four byte-times of silence is close. The
timeout is controlled by the baud rate divisor. Setting a
baud rate on the computer<->modem link that is more than four
times the modulation speed will cause your interrupts per byte
ratio to climb in most cases.

-- 
Steve Nuchia      South Coast Computing Services, Inc.      (713) 661-3301
Consultancy in technical computing.  Communications services.  Hardware.
4-port serial card for AT bus.  Public shell/internet accounts in Houston.