SCSI interface information
(C) 1997-2006 André Fachat <afachat@gmx.de>
SCSI Standard
SCSI means "Small Computer System Interface". It is an interface that connectes computers with peripheral devices, like disks, scanners, CD-ROMs etc. As such it is very flexible.
The first SCSI interfaces were using asynchronous I/O mode. Each transfered byte was requested and acknowledged with a special handshake. Nowadays synchronous modes with up to 80 or more MByte/s are supported. Yet, all devices still know the asynchronous mode and can be used with this interface (at least I did not encounter one, but I also did not test that many).
The SCSI-II standard defines a number of command sets for a variety of devices. Disks are accessed as "direct access devices", and commands for CD-ROM devices, Printers, coprocessors etc are defined. The commands are transferred in a standard way, which makes the transport level flexible. And once you know how to send one command, you can easily send any other. To send a command you can have a look at the software from this site, that includes SCSI drivers for the 6502 in the GeckOS operating system.
The SCSI-II standard is refered to as ANSI X3.131-1990 Small Computer Systems Interface-2 (SCSI-II). The SCSI-I standard is X3.131-1986. The SCSI-III standard still specifies the asynchronous mode for parallel cable transfer, which is used in my current designs. In the resources section below are links to the standards and to a very good article on SCSI.
A good source (although a bit hard to read) is the linux kernel source
code. Recommended reading are the comments at the beginning of
drivers/scsi/aha152x.c, the defines in include/scsi/*,
especially the SCSI command opcodes. greping for them in the code
will give you an idea
how to use them. One example is the function scan_scsis_single()
in drivers/scsi/scsi.c.
All code references relative to the main source directory, usually under
/usr/src/linux/, of linux kernel version 2.0.36 (although
the linux version should not matter that much here).
Resources
- The SCSI-III standard
- The SCSI-II standard (as PDF)
- A very good IBM developerWorks article on SCSI by Peter Seebach.
- Wikipedia on SCSI.
Disclaimer
All Copyrights are acknowledged. There is no warranty attached to the informatio n on these pages.
Contents last modified 2006-11-02.
Return to Homepage
