Re: Triton DMA

Doug Ledford (dledford@dialnet.net)
Sun, 30 Nov 1997 13:34:29 -0600 (CST)


On 30-Nov-97 Rogier Wolff wrote:
>I'm not sure that you understand what termination is.

If you say so :)

>If you have a cable, and hoist one end of it from 0V to 5V in a few
>ns, the other end will take a while before it notices that you did
>that (speed of light at least). Worst case the other end will have a
>completely different wave form, and you will have trouble deducing what
>the other end did to generate this. However with a small trick, you
>can make the wave form travel intact along the wire (the "transmission
>line effect"): you have to make the conductor be surrounded by a
>cylindrical grounded plane. Coax. This effect is reasonably strong: A
>grounded wire on both sides of the conductor in a flat cable is already
>a reasonable approximation of the coax leading to the transmission
>line effect.

And is the reason that SCSI cables have 50 or 68 pins (80 if your
differential SCSI). Of those 50 pins, 25 are ground pins, of the 68 pins,
34 are ground pins, etc. However, this does not yet hit on the real need
for termination.

>The trouble starts when such a conductor abruptly ends. At that point,
>the travelling wave form simply bounces back and starts propagating
>back to where it came from. However with current performance
>requirements, the source will be wanting to send the next bit along
>the wire by then. This will lead to data corruption. To prevent this
>the transmission line will have to be lead to believe that there is no
>abrupt ending to the cable. This turns out to be relatively easy: a
>simple resistor to a DC level will do. With SCSI termination, they
>have one more trick: The DC level has been chosen such that without
>any drivers the signal level will be somewhere around the switch point
>of the then-common TTL chips. This requires someone to actively pull
>it down to get a reliable "0", or to actively pull it up to make a
>reliable "1". This distributes the burden of transmitting data over
>both the pull-down and the pull-up output transistor, instead of only
>requiring just one. (You also get faster circuits if you use both of
>them.)
>
>Coming back to what you said, "open" versus "closed and grounded" does
>not make sense to me.

It will shortly.

> If there would be "current driven" drivers
>around, that might make sense, but a SCSI driver simply needs to drive
>the signal level to 0V or 5V.

You seem to forget that amperage and voltage are invariable partial elements
to an overall equation that includes ohmage.

> Without termination however you get
>interference from the bounce-back of the travelling wave front.

Without termination you get much worse than that. You get an unreadable
SCSI bus. It is possible for a single TTL driver to bring on open circuit
up to a 5 volt level. However, knowing when 5 volts has been attained
requires a reference ground (all of those grounds pins are used here because
the ground reference between different power supply connectors could vary
quite easily, especially when you consider external devices with their own
power supplies). Now, something that's true of an open circuit is that you
have infinite ohmage. So, if V=Ir, r is infinite, then V is meaningless.
Why, because the very first time some device tries to actually *read* that
signal to determine high or low state, the equation gets blown to hell and
the signal becomes undetermined. This is true because any attempt to read
the signal voltage against the reference ground voltage will *always* create
some amount of power drain on the signal, resulting in a drastic and abrupt
change in the ohmage characteristics, which then causes the TTL driver to
experience a massive surge of outgoing current (relative to the current it
was supplying) and along with that you get a massive momentery drain in
voltage. So, one of the key purposes of termination is to provide a place
to sink current at a specified ohmage. The purpose of doing so is that this
way, the drain created by a device reading the bus will be essentially
unnoticed when added in parallel with the drian of the terminator and
therefore a bus reading device won't cause drastic changes in the cables
electrical properties.

Now, either passive or active termination will suffice to perform this
function (sinking the current). It must be applied at both ends of the bus
or else one end will reflect to the other to get it's sink. However, since
SCSI busses differ in lengths, and cables differ in electrical properties,
this is where active termination becomes preferable.

Passive termination is a simple series of 200/300 ohm resistors at the end
of the SCSI bus to sink current and absorb the surges that might create
bounce back wave forms. It works only so long as the terminator perfectly
matches what the original signal expected. This is rare. So, with passive
termination there is always a certain amount of background noise on the SCSI
bus. This noise is usually inconsequentail as timing and relative strengths
of the noise vs. the real signal tended to cause the noise to get ignored.
With faster bus speeds this becomes not so much true (at 10MHz, depending on
cable length, the noise could actually start to cause problems).

So, introduce active termination. Active termination is essentially passive
termination implemented on an IC. Why put passive termination on an IC?
Because they added feedback capability to it. That's why. Now, instead of
simply providing a current sink at the end of the cable, active termination
uses feedback to adjust its own ohmage to what the cable and drivers require
on the fly. With a very long cable and passive termination, signal
degradation and other factors could cause the signal strength towards the
end of the cable to drop, active termination senses and corrects these
conditions by adjusting it ohmage value. With active termination you
maintain a 5 volt signal across the length of the wire, regardless of what
that length is (up to the spec limits).

So, in answer to varies statements and questions, yes termination is
intended to address the wave front propogation issues, but at a more
fundamental level, it was also designed to provide reliable signal
references and readability for multiple devices. Throwing seven devices on
a SCSI bus wouldn't work if the TTL drivers weren't designed to run a
reasonable current through the wire and a wire end terminator because the
seven devices would end up sinking too much current for the driver and
degrading the signal itself. With the change from SCSI-I to SCSI-II specs
they increased the max transfer rate from 5MHz to 10MHz, which worsened the
wave issues and helped bring about the corresponding change from passive to
active termination. It also brought about the Wide SCSI bus and worsened
the possibility of device loads, giving another reason for the change from
passive to active termination. Since active terminators adjust themselves
to the characteristics of the wire and of the driver providing the signal,
they end up doing a much better job of sinking the needed current, stopping
wave propogation, and maintaining the proper voltage levels on the cable.

----------------------------------
E-Mail: Doug Ledford <dledford@dialnet.net>
Date: 30-Nov-97
Time: 13:34:30
----------------------------------