Adaptec ACB-5500 User Manual page 27

51/4" winchester disk controller scsi to st506
Table of Contents

Advertisement

Once the last block address has been read, the controller will
seek the drive back to track 0, stopping several- times in 'zones'
to read the devect counyt within each zone. This defect count is
also saved in the controller to asllow it to better predict the
location of a block on the disk for accurate seeking.
Once a drive is formatted,
the host can determine the drive size
(READ CAPACITY, 25
8 ,
command) and self-configure without any
driver software modlfication.
This device independence provides
a major advantage for host systems using true SCSI controllers
over the SASI-like units that send parameters at a reset and with
commands.
3.6
COMMUNICATING WITH THE AC8-5500
The SCSI bus is a simple bus to interface.
However, a quick
reading of the SCSI spec may leave you lost due to its extreme
attention to detail.
Also,
some SASI-like controllers exist on
the
market
which
allow
some
deviation
from
the
ANSI/SCSI
protocol.
The important point to remember in designing a drive
routine is that once the controller is started by the host, THE
CONTROLLER CONTROLS THE SCSI BUS.
The controller drives the data
direction line (I/O),
the phase lines (C/O and MSG) and initiates
data transfers (REQ).
The host drive should make no assumptions
about the bus phases or byte counts.
In addition, the controllr
can
(and
wi
11)
change phases betwen operations whi Ie going
through intermediate phases.
Thus, the phase lines (C/O and MSG)
are only valid when the controller asserts REQ.
Do not write
your driver or allow your hardware to follow phases when REQ is
not active or it may be 'fooled'- by phase changes between REQ.
Also,
other controllers only support some 6-byte commands,
thus
some users have set up counters in their software to send a 6-
byte command.
Since the ACB-5500 controller supports 6 and 10-
byte commands, the hardware/software should not count out the
command bytes but rather should send command bytes as long as the
controller requests them.
Trust the controller;
it 'knows' how
many bytes it needs.
The sequence of operations for a single command used in the
simplest of SCSI applications would be:
1)
Select the controller onto the bus (wake it up).
Be sure
select remains asserted until the controller responds Busy.
2)
Send the ACB-5500 the appropriate command bytes until it
changes phases (do not count bytes).
If too many or too few
bytes are REQuested,
check for valid command op code and
proper SCSI REQ/ACK timing.
3)
If required, send/receive data until phase changes (do not
count bytes;
controller will determine data direction).
4)
Receive (REQ/ACK cycle) 1 status byte and save for evaluation
(See Section 4.5).
500504-00
3-6

Advertisement

Table of Contents
loading

Table of Contents