Newsgroups: comp.periphs.scsi

SCSI2 is pin compatible with SCSI1.
For some reason there's a lot of people with the impression that
"SCSI1 into SCSI2 won't go" and vice versa. This is incorrect.

SCSI2 in most respects is almost identical to SCSI1. SCSI2 is an
enhancement of the SCSI1 spec. In almost all areas, backward
compatibility is maintained such that SCSI1 and SCSI2 devices may
be mixed on the same types of busses.
SCSI1 + "additions" = SCSI2 where

"additions" = Adding the "P" cable as an unofficial way to implement
              16 bit "Wide" SCSI. (The P cable is not actually part of
              SCSI2, but it is a sort of "addendum" :-)

              Chopping some bus-timing margins down to allow
              10 MByte/Sec transfers on a single ended bus.
              This is  popularly known as "FAST SCSI".

              Making mandatory the IDENTIFY message-out.

              Adding the ability for command queueing (mainly
              for the disk drive community to increase performance
              thru parralel requests to drives).

              Sorting out the "commands" and the "sense" codes
              a lot of which was not formally part of the SCSI1
              standard. Most of the SCSI2 work went into these
              commands and sense codes. The objective was to ensure
              industry uses the SAME coodes in the SAME ways to
              ensure plug compatibility.

CABLING/CONNECTORS
--------------------

There are 2 main cabling schemes:

The "A" cable which provides for an 8-bit data bus. The cable is
50 way.

The "P" cable which provides for a 16-bit data bus. The cable is
68 way. 16 bit is someties referred to as "Wide SCSI".
Whilst the concept of 16-bit (and 32-bit SCSI) was available in
SCSI1, it was implemented on a pair of separate cables (A+B) which
never took-off.

Almost all SCSI devices currently are "A" cable/8-bit bus devices.
"Wide" SCSI is not very popular at present with few host bus adapters
and few peripherals available. This is headed for change since
"Wide" means you double bus bandwidth. I would guess > 99% of all
SCSI is currently 8-bit only.

Connectors:

Connectors always have been a bit of a mess. In addition, everyone
has different types of cable as well. The main idea is to connect
2 sets of 50 wires together. Both SCSI1 and SCSI2 have a standard
"low density" connector with pins pitched 0.1 inches apart.
"high density" connectors with pins pitched 0.05 inches apart
are becoming more popular. High density connectors are
unique to SCSI2. The pin-outs are the same.

COMPATIBILITY: You can plug SCSI1 8-bit into SCSI2 8-bit.
               You can mix 8 bit devices and 16 bit devices on the
               same bus (although this will take some wiring to
               map the 8-bit 50 way connections into the 16-bit 68
               way + addition of proper termination. I've no doubt
               there will be suppliers with "converter" products
               when the need arises).

ELECTRICAL
--------------------
The 3 big electrical compatibility issues are:
    Single Ended / Differential
    FAST SCSI versus "Normal" SCSI
    Synchronous

Single-ended/Differential:
--------------------------
Most SCSI devices out there are currently "Single Ended" which means
that each signal sent on the bus has 1 corresponding "wire".
Differential busses have 2 wires per signal. When the signal changes
state, the wires switch polarity.

COMPATIBILITY: Single ended and Differential bus definitions date
               back to SCSI1 so you can plug SCSI1 single-ended into
               SCSI2 single-ended and SCSI1 differential into
               SCSI2 differential.
               YOU CANNOT plug a single ended device onto a differential
               bus and vice versa. Things will stop working !

Capabilities: Single ended is cheap !
              Poor signal quality however restricts the maximum bus
              size to 6 meters (worse for FAST busses - see below).

              Differential costs more, but allows bus lengths to
              25 meters.

Differential will become more popular (despite cost) since it is a
good way of overcoming signal margin problems caused by "FAST SCSI".

Fast SCSI:
---------------
There has been much confusion over FAST SCSI.
It is new to SCSI2. It means that on an 8-bit bus, data transfer
transfer rates of up to 10Mbytes/Sec can be achieved. On a 16 bit
bus 20Mbytes/Sec can be achieved. The speed increase is entirely
down to "twiddling" the signals more rapidly. The penalty is
that a FAST single-ended bus must not exceed 3 meters in length
and should not have more than 4 devices attached.

COMPATIBILITY: You can plug "FAST" and "slow" devices onto the same
               bus. You can plug SCSI1"slow" and SCSI2 "FAST" etc....
               There are not really any compatibility problems at all
               here yet this seems to be one area where people think
               that "things wont plug and play".

One cautionary note about FAST SCSI is that the signals are far more
"marginal" and things are very succeptible to cheap cabling connectors
and poor bus termination. ie. there is a danger of a less reliable bus.

Synchronous
---------------
There are 2 modes of transferring data on a SCSI bus: asynchronous and
synchronous. All devices must implement asynchronus.
Most current devices offer "synchronous" as this enables faster
transfer rates. Synchronous transfers date back to SCSI1. There is
nothing "new" about synchronous in SCSI2.

Slow SCSI asynchronous rate = 1.5 Mbytes/Sec
Slow SCSI synchronous rate  = 5.0 Mbytes/Sec
FAST SCSI asynchronous rate = 3.0 Mbytes/Sec
FAST SCSI synchronous rate = 10.0 Mbytes/Sec
(If the bus is 16-bit then doulbe the above figures).

COMPATIBILITY: You can mix'n'match synchronous/asynchronous peripherals
               and systems on the same bus. There shouldn't really be
               any problems with synchronous but many have ocurred
               for two reasons:
                i) A poor quality bus (eg. bad cables and/or termination)
                   will work happily with asynchronus transfers
                   but fail when you try synchronous transfers.
               ii) Programming devices/hosts to perform synchronous
                   transfers is "tricky" and early implementors
                   sometimes blew-it.
               For the above reasons, a lot of devices have jumpers/
               switches to disable synchronous.

-----------------------------------------------------------------
Kevin Jones.                       | Hewlett Packard Ltd,
                                   | Computer Peripherals Bristol,
kev%hpcpbla@hplb.hpl.hp.com        | Filton Road,
                                   | Stoke Gifford,
                                   | Bristol.   BS12 6QZ.
                                   | ENGLAND.
-----------------------------------------------------------------

This response does not represent the official position of, or
statement by, the Hewlett-Packard Company.  The above data is
provided for informational purposes only. It is supplied
without warranty of any kind.