DP8497VF [NSC]

暂无描述;
DP8497VF
型号: DP8497VF
厂家: National Semiconductor    National Semiconductor
描述:

暂无描述

控制器
文件: 总92页 (文件大小:955K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
PRELIMINARY  
December 1991  
DP8496/DP8497  
SCSI-2 Disk Data Controller  
General Description  
The DP8496/7 is a highly integrated, high-performance  
Features  
Y
High disk data rates:  
Ð DP8496/7-33 33 Mbit/sec  
Ð DP8496/7-50 50 Mbit/sec  
CMOS SCSI disk data controller. It is designed for use in-  
side intelligent hard disk drives that utilize the Small Com-  
puter System Interface (SCSI) standard. It can also be used  
in ESDI, SMD and ST506 bridging controller applications.  
The DP8496/7 includes most of the data path functions  
needed to implement a complete hard disk controller. It in-  
cludes a full featured SCSI Bus Controller, Buffer Memory  
Interface with pipelined pointers, fast Disk Data Controller,  
and a Processor Interface.  
Y
Synchronous SCSI-2 transfer rates up to 10 MByte/sec  
with offset up to 16 (Fast option)  
Y
Y
Asynchronous SCSI transfer rates up to 5 MByte/sec  
Support for Fast Page Mode and Static Column De-  
code type DRAMs  
Y
Y
Y
Attains sustained buffer bandwidths above 9 MByte/sec  
with byte-wide memory configuration  
With the addition of National Semiconductor read-channel  
chips such as a PLL Synchronizer, and Encoder/Decoder, a  
pulse detector, and a head amplifier, complete data-path  
electronics of a SCSI drive can be implemented. A micro-  
controller, such as National’s HPCTM, may be used to man-  
age the SCSI commands and the drive specific control sig-  
nals. The high level of intelligence implemented on the  
DP8496/7 means lower overhead for the disk-drive’s em-  
bedded microcontroller, making possible a high-perform-  
ance design employing only one micro-controller.  
Word-wide buffer memory port allows sustained band-  
widths of 17 MByte/sec  
Buffer memory up to  
SRAM  
4 MBytes DRAM or 1 MByte  
Y
Y
Y
On-chip DMA with buffered pointer addresses  
Multi-phase type SCSI commands  
Parity error checking on SCSI, buffer memory, and all  
internal data paths  
Y
Y
Y
Programmable format and sectoring modes including  
soft, pseudo-hard, and hard  
The DP8496 provides on-chip single-ended transceivers for  
driving the SCSI bus. The DP8497 provides all control sig-  
nals necessary for direct interfacing with differential trans-  
ceivers recommended for Fast SCSI option of SCSI-2.  
32, 48 or 56-bit computer generated ECC with on-chip  
correction  
On-chip single-ended transceivers on DP8496. DP8497  
interfaces directly with differential transceivers for Fast  
SCSI  
Y
Available in 100-pin PQFP package  
System Diagram  
TL/F/11212–1  
TRI-STATEÉ is a registered trademark of National Semiconductor Corporation.  
HPCTM is a trademark of National Semiconductor Corporation.  
C
1995 National Semiconductor Corporation  
TL/F/11212  
RRD-B30M105/Printed in U. S. A.  
Table of Contents  
1.0 OVERVIEW  
7.0 A.C. SPECIFICATIONS (Continued)  
7.4 Ready Pin  
2.0 PIN DESCRIPTION  
7.5 Mode Pin (Mot.)  
3.0 REGISTER LIST  
3.1 Reset Summary  
7.6 Register Read (Mot.)  
7.7 Register Write (Mot.)  
3.2 Initialization Registers  
7.8 Interrupts  
4.0 FUNCTIONAL DESCRIPTION  
4.1 Processor Interface  
7.9 Buffer Memory Static Read  
7.10 Buffer Memory Static Write  
7.11 Buffer Memory Dynamic RAM Read/Write  
7.12 Buffer Memory DRAM Refresh  
7.13 Disk Read Data Timing  
7.14 Disk Write Data Timing  
7.15 Disk Address Mark  
4.1.1 Access by Different Type Processors  
4.2 Buffer Memory Interface  
4.2.1 Static RAM  
4.2.2 Dynamic RAM  
4.2.3 Data Transfer Timing  
4.2.4 Pointers  
7.16 SCSI Reset  
4.2.5 Buffer Management  
4.2.6 Processor Access to Buffer Memory  
4.2.7 16-Bit Wide Access  
4.2.8 Sequential Accesses of Buffer Memory  
4.2.9 Parity  
7.17 SCSI Arbitration  
7.18 SCSI Selection as Init (w/o Arb.)  
7.19 SCSI Selection as Init (with Arb.)  
7.20 SCSI Reselection as Init  
7.21 SCSI Selection (Targ)  
7.22 SCSI Reselection (Targ)  
7.23 SCSI Lost Arbitration  
4.2.10 Register Description  
4.3 Disk Data Controller  
4.3.1 Command Operation  
4.3.2 Disk Command and Control Registers  
4.3.3 Format Registers  
7.24 SCSI Abort (Re)Selection  
7.25 SCSI Async Info In (Init)  
7.26 SCSI Async Info In (Targ)  
7.27 SCSI Async Info Out (Init)  
7.28 SCSI Async Info Out (Targ)  
7.29 SCSI Sync Info In (Init)  
7.30 SCSI Sync Info In (Targ)  
7.31 SCSI Sync Info Out (Init)  
7.32 SCSI Sync Info Out (Targ)  
7.33 SCSI Bus Free (Init)  
4.3.4 Disk Operations  
4.4 SCSI Interface  
4.4.1 Simple SCSI Operations  
4.4.2 SCSI Registers  
4.4.3 SCSI Operations  
4.5 Timer  
4.5.1 Timer Register Descriptions  
5.0 APPLICATION INFORMATION: BUFFER MEMORY  
INTERFACING IN A FAST SCSI IMPLEMENTATION  
7.34 SCSI Bus Free (Targ)  
7.35 Differential Transceiver Direction Control  
7.36 Direction Control for Target and Initiator  
6.0 D.C. SPECIFICATIONS  
7.0 A.C. SPECIFICATIONS  
7.1 Clock Timing  
8.0 A.C TEST CONDITIONS  
9.0 PHYSICAL DIMENSIONS  
7.2 Register Read (Intel)  
7.3 Register Write (Intel)  
2
1.0 Overview  
The DP8496/7 contains four major sections. Each section is  
listed below along with the major functions performed within  
that section.  
Buffer RAM is needed for all disk or SCSI data transfers.  
This RAM is connected to the Buffer Memory Interface sec-  
tion. The DP8496/7 assumes exclusive access to this buffer  
RAM. This enables the chip to utilize the full bandwidth of  
the RAM to streamline any combination of disk, SCSI or  
processor transfers. All transfer of data is done with on-chip  
DMA. Address pointers may be pipelined which will allow  
different groups of data to be placed in non-consecutive  
locations in buffer memory.  
1. Processor Interface  
Processor Interface for chip control  
2. Buffer Memory Interface  
SRAM/DRAM control timing  
Memory access arbitration  
Memory access prioritization  
3. Disk Data Controller  
The Disk Data Controller section transfers NRZ data to the  
serial disk data path. Sector size, gaps, synch bytes, etc. are  
programmable. It can work with hard or soft sectored drives.  
ESDI soft sectored (pseudo-hard) AMF/AME handshaking  
is programmable. Fixed 32/48/56-bit ECC polynomial hard-  
ware automatically generates and checks error correction  
fields. Correction calculation is done on chip which will re-  
lieve the processor of the time and code space overhead of  
this function.  
Serializer/Deserializer (SERDES)  
Read/Write/Format Control  
CRC/ECC generation/checking/correcting  
4. SCSI Bus Controller  
SCSI Data Transfer Control  
SCSI Bus ControlÐphase changes  
Parity generation/checking  
On-chip bus transceivers  
The SCSI Bus Controller section saves the user board area  
by integrating the 48 mA open drain drivers. The controller  
was designed to minimize the number of interrupts generat-  
ed due to phase changes, parity errors and the like. Groups  
of often used phase sequences can be invoked with a sin-  
gle command.  
The Processor Interface section allows the drive’s proces-  
sor access to all programmable features of the chip. This  
interface is used to initiate and control any function or oper-  
ation on both disk and SCSI data. All DP8496/7 registers  
are accessed through this section.  
An internal timer is also available on the DP8496/7 which  
may be used to accurately control the execution of certain  
commands for the disk or SCSI sections.  
Block Diagram  
TL/F/11212–2  
3
2.0 Pin Description  
**Extra Ground Pins Only on DP8496  
TL/F/11212–3  
Connection Diagram  
100-Pin QFP  
Signals shown in bold are unique to the DP8497  
TL/F/11212–4  
Order Number DP8496VF or DP8497VF  
See NS Package Number VF100B  
4
2.0 Pin Description (Continued)  
Symbol  
Pin  
Type  
Function  
DISK DATA CONTROLLER PINS  
RGATE  
RCLK  
20  
21  
O
I
READ GATE: This active high output is asserted while the Disk Data Controller is reading data  
from the disk. It commands an external data separator to acquire lock and enables the RDATA  
pin.  
READ CLOCK: This input is the disk data rate clock. When RGATE is deasserted low, this pin  
will receive the crystal or servo derived clock. When RGATE is asserted high, this pin will  
receive the recovered NRZ clock from the decoder. Each rising edge of the clock at this input  
is used to strobe RDATA into the Disk Data Controller. The AC timing characteristics should  
not be violated, even during the time of transition between clock sources.  
RDATA  
22  
I
READ DATA: This active high input accepts NRZ disk data from the data synchronizer/  
decoder.  
WGATE  
WCLK  
23  
24  
O
O
WRITE GATE: This active high output is asserted while writing data to the disk.  
WRITE CLOCK: This output is derived from RCLK and is used to clock NRZ WDATA out from  
the DP8496/7. The rising edge indicates vaild WDATA.  
WDATA  
INDEX  
25  
26  
27  
O
I
WRITE DATA: This active high output is the NRZ data to be written to the disk. It is  
synchronized to WCLK. It is held deasserted any time WGATE is deasserted.  
INDEX: This active high input from the disk drive signifies the start of a track. Disk Data  
Controller commands may be synchronized to it.  
AMF/SEC  
I
ADDRESS MARK FOUND/SECTOR: This active high input denotes the start of a sector in  
hard and pseudo-hard sectored drives. Soft sectored drives use AMF to denote the start of  
header and data fields.  
AME  
28  
O
ADDRESS MARK ENABLE: This active high output forces the read-channel encoder to  
generate an Address Mark. It is also used to enable Address Mark detection for pseudo-hard  
sectored drives.  
PROCESSOR INTERFACE PINS  
CRST  
37  
4047  
29  
I
RESET: This active low Schmitt input will reset the DP8496/7 immediately without regard to  
data transfers which may be in progress. Registers affected are listed in Table 3.1.  
PADB0:7  
ADSi  
I/O  
PROCESSOR/ADDRESS/DATA BUS 07: These eight active high, bi-directional lines  
transfer information between the DP8496/7 and the processor.  
I
I
ADDRESS STROBE IN: This active high input latches the address from PADB0–7 on the  
falling edge. The latched address is used to select internal registers.  
RDi or DS  
30  
The function of this pin is determined by the processor mode initialized by the RDY/MODE pin.  
READ STROBE (IN): NSC/Intel mode: This active low input combined with a low level on CS  
will assert data from the addressed register onto the PADB0–7 bus.  
DATA STROBE: Zilog/Motorola Mode: This active low input combined with a low level on CS  
will either assert data from the addressed register onto the PADB0–7 bus, or it will write data  
present on the PADB0–7 bus into the register. The data direction is determined by the W/R  
pin.  
WRi or  
R/W  
31  
32  
I
I
The function of this pin is determined by the processor mode initialized by the RDY/MODE pin.  
WRITE STROBE (IN)ÐNSC/Intel Mode: This active low input combined with a low level on CS  
will write data present on the PADB0–7 bus into the addressed register.  
READ/WRITEÐZilog/Motorola Mode: This pin determines the direction of data transfer on  
e
Write.  
e
the PADB0–7 bus while the CS and DS pins are both asserted. High  
Read, Low  
CS  
CHIP SELECT: This active low input must be asserted to access any of the registers.  
5
2.0 Pin Description (Continued)  
Symbol  
Pin  
Type  
Function  
PROCESSOR INTERFACE PINS (Continued)  
RDY or  
MODE  
33  
I/O  
The function of this pin is determined by the state of the CRST pin.  
READY (CRST Pin Deasserted): When low, this output indicates that the Buffer Memory Data  
register access must be extended by the processor. This pin can be connected to the  
processor’s wait-state input. Refer to Section 4.2.8 for a more complete description of this option.  
This pin is only active while in the NSC/Intel mode. This pin will be driven low internally while in  
the Zilog/Motorola mode.  
MODE (CRST Pin Asserted): This input will determine the processor access mode of the  
DP8496/7. If this pin is left floating or pulled or driven high while CRST is asserted, the  
National/Intel mode will be enabled. If this pin is pulled or driven low while CRST is asserted, the  
Zilog/Motorola mode will be enabled.  
While CRST is asserted, an internal pull-up resister is active. See the DC specifications for  
characteristics.  
DINT  
34  
O
DISK INTERRUPT: This active low output will be asserted on any Disk Data Controller condition  
enabled by the Disk Interrupt Enable register. If the CI (Combine Interrupts) bit in the Setup 3  
register is set to ‘‘1’’, this pin will become asserted if either a Disk Data Controller or a SCSI Bus  
Controller interrupt occurs.  
SINT  
35  
36  
O
I
SCSI INTERRUPT: This active low output will be asserted on any SCSI Bus Controller condition  
enabled by the SCSI Interrupt Enable register.  
BCLK  
BUS CLOCK: This input is used by the Buffer Memory Interface for access timing and DMA  
arbitration. It is also used by the SCSI Bus Controller for timing.  
SCSI BUS CONTROLLER PINS (All SCSI Signals are Active High on the DP8497)  
SDB0:7,  
SDBP  
5759  
6163  
6567  
I/O  
SCSI DATA, PARITY BUS: These nine active low, open drain, bi-directional lines should be  
connected directly to the SCSI data bus.  
BSY  
SEL  
C/D  
I/O  
70  
75  
76  
78  
77  
71  
69  
73  
72  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
BUSY: Same as above. Should be connected to SCSI control bus.  
SELECT: Same as above.  
COMMAND/DATA: Same as above.  
INPUT/OUTPUT: Same as above.  
REQUEST: Same as above.  
REQ  
ACK  
ATN  
MSG  
RST  
ACKNOWLEDGE: Same as above.  
ATTENTION: Same as above.  
MESSAGE: Same as above.  
SCSI RESET: If CRST is asserted during power-up, the RST pin will not produce a glitch. See  
AC Specifications for input de-glitch description.  
6
2.0 Pin Description (Continued)  
Symbol  
Pin  
Type  
Function  
SCSI BUS TRANSCEIVER DIRECTION CONTROL PINS (DP8497 Only)  
DSDB0:7,  
DSDBP  
4856  
O
DIRECTION CONTROL FOR SCSI DATA, PARITY BUS: Each of these signals connects to  
the appropriate enable pin of the differential transceivers used for a Fast SCSI  
implementation and controls the direction of its corresponding SCSI data bus signal. A high  
level on these pins enables the driver while a low level enables the receiver.  
DTARG  
DINIT  
79  
80  
O
O
DIRECTION CONTROL FOR TARGET SIGNALS: Same as above. Controls the direction of  
C/D, I/O, REQ and MSG signals.  
DIRECTION CONTROL FOR INITIATOR SIGNALS: Same as above. Controls the direction  
of ACK and ATN signals.  
DBSY  
DSEL  
DRST  
81  
82  
83  
O
O
O
DIRECTION CONTROL FOR BSY: Same as above. Controls the direction of BSY signal.  
DIRECTION CONTROL FOR SEL: Same as above. Controls the direction of SEL signal.  
DIRECTION CONTROL FOR RST: Same as above. Controls the direction of RST signal.  
BUFFER MEMORY INTERFACE PINS  
DB10:7,  
DB1–P  
8492  
I/O  
DATA BUS 1: These nine active high, bi-directional lines transfer data between the  
DP8496/7 and the least significant 8-bits plus parity of buffer memory.  
ADB20:7,  
ADB2–P  
9397  
99100  
1–2  
I/O  
ADDRESS DATA BUS 2: These nine active high, bi-directional lines transfer data between  
the DP8496/7 and the most significant 8-bits plus parity of buffer memory if word mode is  
enabled. These pins also contain address information for static RAM. See Tables 4.2 and  
4.3.  
AB30:7  
AB40:2  
4–11  
1214  
18  
O
O
O
ADDRESS BUS 3: These eight active high outputs represent address information for both  
SRAM and DRAM. See Tables 4.2 to 4.5.  
ADDRESS BUS 4: These three active high outputs represent address information for both  
SRAM and DRAM. See Tables 4.2 to 4.5.  
RDo or  
CAS  
The function of this pin is determined by the use of SRAM or DRAM.  
READ STROBE (OUT): SRAM.  
COLUMN ADDRESS STROBE: DRAM.  
WRo  
19  
17  
O
O
WRITE STROBE (OUT): Always.  
ADSo or  
RAS  
The function of this pin is determined by the use of SRAM or DRAM.  
ADDRESS STROBE (OUT): SRAM. In word mode, controls address latch for ADB2 bus.  
High level on this signal should be used by an external latch to accept address inputsÐ  
latching them on the falling edge.  
ROW ADDRESS STROBE: DRAM.  
7
2.0 Pin Description (Continued)  
Pin  
Symbol  
Function  
Buffer Memory  
Address/Data Bus 2  
Pin  
Symbol  
DSDB4  
Function  
1
2
ADB2–7  
ADB2–P  
52  
53  
54  
55  
56  
Direction Control (Continued)  
DSDB5  
DSDB6  
a
3
V
5 V  
DC  
CC2  
DSDB7  
4
5
6
7
8
9
AB3–0  
AB3–1  
AB3–2  
AB3–3  
AB3–4  
AB3–5  
Buffer Memory  
Address Bus 3  
DSDBP(DP8497)  
GND9 (DP8496)  
GND on DP8496 Only  
SCSI Data Bus  
57  
58  
59  
SDB-0  
SDB-1  
SDB-2  
10 AB3–6  
11 AB3–7  
60  
GND2  
GND  
61  
62  
63  
SDB-3  
SDB-4  
SDB-5  
SCSI Data Bus  
12 AB4–0  
13 AB4–1  
14 AB4–2  
Buffer Memory  
Address Bus 4  
64  
GND7  
GND  
15 GND1  
16 GND5  
GND  
GND  
65  
66  
67  
SDB-6  
SDB-7  
SDB-P  
SCSI Data Bus  
17  
18  
19  
ADSo/RAS  
Buffer Memory  
Strobes  
SCSI Parity  
GND  
RDo/CAS  
WRo  
68  
GND3  
69  
70  
71  
72  
73  
ATN  
BSY  
ACK  
RST  
MSG  
SCSI Attention  
SCSI Busy  
20 RGATE  
21 RCLK  
Disk Read Gate  
Disk Read Clock  
Disk Read Data  
SCSI Acknowledge  
SCSI Reset  
22 RDATA  
23 WGATE  
24 WCLK  
25 WDATA  
26 INDEX  
27 AMF/SEC  
Disk Write Gate  
SCSI Message  
Disk Write Clock  
Disk Write Data  
74  
GND6  
GND  
Disk Index Input  
Disk Address Mark Found or  
Sector Input  
75  
76  
77  
78  
SEL  
C/D  
REQ  
I/O  
SCSI Select  
SCSI Cmd/Data  
SCSI Request  
SCSI Input/Output  
28 AME  
Address Mark Enable  
29 ADSi  
Processor Port  
Strobes  
79  
GND8 (DP8496)  
DTARG (’97)  
DINIT  
Additional GND on DP8496  
Transceiver Direction  
Control on DP8497 only  
(N/C on DP8496)  
30 RDi/DS  
31 WRi/R/W  
32 CS  
80  
81  
82  
83  
DBSY  
33 RDY/MODE Ready/Mode  
DSEL  
34 DINT  
35 SINT  
36 BCLK  
37 CRST  
Disk Interrupt  
SCSI Interrupt  
Bus Clock  
DRST  
84  
85  
86  
87  
88  
89  
90  
91  
92  
DB1–0  
DB1–1  
DB1–2  
DB1–3  
DB1–4  
DB1–5  
DB1–6  
DB1–7  
DB1–P  
Buffer Memory Data  
Bus 1  
Chip Reset  
a
a
38  
39  
V
V
5 V  
5 V  
CC1  
DC  
CC3  
DC  
40 PADB-0  
41 PADB-1  
42 PADB-2  
43 PADB-3  
44 PADB-4  
45 PADB-5  
46 PADB-6  
47 PADB-7  
Processor Address/  
Data Bus  
93  
94  
95  
96  
97  
ADB2–0  
ADB2–1  
ADB2–2  
ADB2–3  
ADB2–4  
Buffer Memory  
Address/Data Bus 2  
48 DSDB0  
49 DSDB1  
50 DSDB2  
51 DSDB3  
Transceiver Direction  
Control for DP8497  
(N/C on DP8496)  
98  
99  
GND4  
GND  
ADB2–5  
Buffer Memory  
100 ADB2–6  
Address/Data Bus 2  
8
3.0 Register List  
DISK DATA CONTROLLER REGISTERS  
SCSI REGISTERS  
Addr.  
Addr.  
0006 ECC Shift Registers 0–6  
07 ECC Control  
080F Reserved  
Name  
Label R/W Pg.  
Name  
Label  
R/W Pg.  
ESRx  
EC  
R
29  
40  
41  
42  
43  
44  
45  
46  
47  
48  
49  
4A  
4B  
4C  
4D  
4E  
4F  
SCSI Command  
SCSI Data  
SCMD  
SDAT  
SCTL  
SOP  
W
39  
53  
53  
53  
54  
55  
56  
56  
56  
57  
60  
60  
60  
60  
60  
60  
R/W 28  
R/W  
R/W  
R/W  
R/W  
SCSI Control  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
Disk Command  
DCMD  
W
23  
SCSI Operation  
Synchronous Transfer  
Identify  
Disk Control  
DCTL R/W 25  
DINT R/W 27  
DINTE R/W 27  
SYNC  
Disk Interrupt  
Disk Interrupt Enable  
Disk Status  
IDENT R/W  
Destination ID  
DID  
SID  
R/W  
R/W  
R
DSTAT  
SN  
R
26  
Source ID  
Sector Number  
R/W 28  
SCSI Status  
SSTAT  
SINT  
Header Byte Count/Interlock HBC R/W 28  
SCSI Interrupt  
R
Sector Count  
SC  
R/W 28  
SCSI Interrupt Enable  
SCSI Block Count  
SCSI Block Size (MSB)  
SCSI Block Size (LSB)  
Differential SCSI 1  
Differential SCSI 2  
SINTE R/W  
ECC Byte Count (Low)  
ECC Byte Count (High)  
ECCL  
ECCH  
R
R
29  
29  
SBC  
R/W  
R/W  
R/W  
R/W  
R/W  
SBSH  
SBSL  
SDIF1  
SDIF2  
1A1F Reserved  
DISK FORMAT REGISTERS  
505F Reserved  
Addr.  
Name  
Label R/W Pg.  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
2A  
2B  
2C  
2D  
2E  
2F  
Post Sector/Index Count  
Header Preamble Count  
Preamble Pattern  
PSIG R/W 29  
HPC R/W 29  
PREP R/W 30  
SETUP AND TIMER REGISTERS  
Addr.  
Name  
Setup 1  
Label  
R/W  
Pg.  
Ý
Ý
Header Synch 1, 2 Counts HSC R/W 30  
60  
61  
62  
63  
64  
SUP1  
SUP2  
SUP3  
TPRE  
TCNT  
R/W  
R/W  
R/W  
R/W  
R/W  
10  
11  
12  
64  
64  
Ý
Header Synch 1 Pattern  
HSP1 R/W 30  
HSP2 R/W 30  
HC01 R/W 30  
HP0 R/W 31  
HP1 R/W 31  
HC23 R/W 31  
HP2 R/W 31  
HP3 R/W 31  
HC45 R/W 31  
HP4 R/W 31  
HP5 R/W 31  
HECC R/W 31  
Setup 2  
Ý
Header Synch 2 Pattern  
Setup 3  
Header Byte 0, 1 Control  
Header Byte 0 Pattern  
Header Byte 1 Pattern  
Header Byte 2, 3 Control  
Header Byte 2 Pattern  
Header Byte 3 Pattern  
Header Byte 4, 5 Control  
Header Byte 4 Pattern  
Header Byte 5 Pattern  
Header ECC & Postamble  
Count  
Timer Prescale  
Timer Count  
BUFFER MEMORY REGISTERS  
Addr.  
Name  
Label R/W Pg.  
65  
66  
67  
68  
69  
6A  
6B  
6C  
6D  
6E  
Disk Pointer (MSB)  
Disk Pointer  
DP2  
DP1  
DP0  
SP2  
SP1  
SP0  
PP2  
PP1  
PP0  
R/W 19  
R/W 19  
R/W 19  
R/W 19  
R/W 19  
R/W 19  
R/W 19  
R/W 19  
R/W 19  
Disk Pointer (LSB)  
SCSI Pointer (MSB)  
SCSI Pointer  
SCSI Pointer (LSB)  
Processor Pointer (MSB)  
Processor Pointer  
Processor Pointer (LSB)  
Buffer Memory Data  
30  
31  
32  
33  
34  
35  
36  
37  
38  
Postamble Pattern  
POSTP R/W 31  
DPC R/W 31  
DSC R/W 31  
DSP1 R/W 32  
DSP2 R/W 32  
SBCL R/W 32  
SBCH R/W 32  
DFP R/W 32  
DECC R/W 32  
Data Preamble Count  
Ý
Ý
Data Synch 1, 2 Count  
Ý
Data Synch 1 Pattern  
BMD R/W 19  
Ý
Data Synch 2 Pattern  
6F7F Reserved  
Sector Byte Count (Low)  
Sector Byte Count (High)  
Data Format Pattern  
Data ECC & Postamble  
Count  
39  
3A  
Gap 3 Byte Count  
GAPC R/W 32  
GAPP R/W 32  
Gap 3 & PSIG Pattern  
3B3F Reserved  
9
3.0 Register List (Continued)  
3.1 RESET SUMMARY  
Setup 1 (SUP1)  
60h  
R/W  
0
7
6
5
4
3
2
1
There are four different types of resets that may be issued.  
Each reset has its own function and purpose. These are  
summarized in Table 3.1.  
CLK1  
CLK0  
SWS  
DFP  
DD1  
DD0  
RSEL  
RWID  
The contents of this register will be invalid after asserting  
the CRST pin. It must be initialized before proper chip oper-  
ation.  
3.2 INITIALIZATION REGISTERS  
The three basic Setup Registers, that must be initialized be-  
fore proper chip operation can begin, are described in this  
section. All other registers are described in their respective  
sections in the Functional Description chapter; i.e., in the  
Disk Data Controller, SCSI Bus Controller, Processor Inter-  
face, Buffer Memory Interface, and Timer sections.  
CLK(1:0): BCLK Frequency  
The Bus Clock (BCLK) is used for many functions within the  
DP8496/7. It is used in the SCSI Bus Controller, Buffer  
Memory Interface, and Timer sections. Therefore, the  
choice of Bus Clock frequency is very important. Table 3.2  
lists the frequency range allowable for each bit combination  
of this field to guarantee timing specifications within the  
SCSI standard.  
Setup 1 register is typically written only once after a reset to  
establish the physical path between the DP8496/7 and its  
buffer memory.  
Setup 2 register contains control bits which may be modified  
by the processor for power-up tests, error recovery or nor-  
mal operations.  
The minimum BCLK frequency allowed is 10 MHz. Choosing  
a clock frequency nearest the upper limit in a range results  
in the optimal and fastest execution fo SCSI operations.  
Setup 3 register is typically written only once after a reset to  
establish pin configuration.  
TABLE 3.1. Summary of Resets  
Reset Type  
Purpose  
Result  
Assert RST Bit in Reset Disk  
Clears and terminates current Disk command and any pipelined command.  
Clears Disk Status register.  
Disk Control  
Register  
Data Controller  
Clears bits 0–5 and 7 of the Disk Interrupt register.  
Deasserts RGATE, WGATE, and AME pins.  
Issue SCSI  
Reset SCSI  
Clears all SCSI Bus signals.  
Reset Command Bus Controller  
Clears and terminates current SCSI command and any pipelined command.  
Clears the following registers: SCSI Data, SCSI Control, SCSI Operation except the PEP  
(Parity Error to Processor) bit, Identify, Destination ID except the ID field, SCSI Status  
except the DBR (Data Buffer Ready) bit.  
Generates an ‘‘Operation Complete’’ interrupt.  
SCSI Bus Reset  
Reset All SCSI  
Devices on  
SCSI Bus  
Clears all SCSI Bus signals except the RST signal.  
Clears and terminates current command and any pipelined command.  
Generates a ‘‘SCSI Bus Reset’’ interrupt.  
Assert CRST  
Pin  
Power-Up Reset Sets RST bit in Disk Control register (see RST bit in Disk Control register result above).  
or Reset All  
Hardware  
Same result as issuing a SCSI Reset command (see above) except does NOT generate an  
interrupt.  
Clears the SCSI Operation register.  
Clears the SCSI Interrupt and SCSI Interrupt Enable registers.  
The contents of the Setup 1 register becomes invalid.  
The contents of the Setup 2 register becomes invalid except the SPP (SCSI Parity Polarity)  
bit which is set to a ‘‘1’’ and the SPE bit which is reset to ‘‘0’’.  
Resets Timer Prescale and Timer Count registers.  
Clears Buffer Memory Data register. (This register will not reflect the contents of buffer  
memory until the Processor Pointer registers are initialized.)  
The RDY/MODE pin functions as an input.  
10  
3.0 Register List (Continued)  
TABLE 3.2. BCLK Frequency Range  
RWID: RAM Data Path Width  
The value of this bit is used by the SDDC to determine  
whether to provide addresses for a byte-wide memory con-  
figuration or word-wide configurationÐwhen disk or SCSI  
data accesses are made. The state of this bit has no effect  
on the processor address pointer, which always increments  
by one.  
BCLK Freq.  
Code  
BCLK Range  
CLK1  
CLK0  
s s  
10.00 BCLK 15.00 MHz  
0
1
0
1
0
0
1
1
s
s
15.00 BCLK 17.50 MHz  
1
Byte Mode. 8-bit wide buffer memory is being used. All  
address pointers will increment by one.  
s
s
17.50 BCLK 20.00 MHz  
s
s
20.00 BCLK 25.00 MHz  
0
Word Mode. 16-bit wide buffer memory is being used.  
Disk and SCSI address pointers will increment by two.  
Note: Though not in binary order, this table is correct.  
SWS: SRAM Wait State  
Setup 2 (SUP2)  
61h  
R/W  
0
7
6
5
4
3
2
1
This bit allows the user to extend SRAM wait states so that  
slower SRAMs may be used.  
AI  
BPP  
BPE  
SPP  
SPE  
SID2  
SID1  
SID0  
0: Normal wait states. Single byte burst takes 5 cycles, 4  
word bursts take 12 cycles, and 6 byte bursts take 17  
BCLK cycles.  
The contents of this register will be invalid after assertion of  
the CRST pin. This register must be initialized before proper  
chip operation.  
1: Extended wait states. Single byte burst is extended to 6  
cycles; the 4 word burst transfer is extended to 16 cy-  
cles; and the 6 byte burst transfer is extended to 23 cy-  
cles.  
AI: Auto Increment  
1
The Processor Pointer will increment after each ac-  
cess, read or write, of the Buffer Memory Data register.  
0
No incrementing will occur. The Processor Pointer will  
remain unchanged unless it is loaded with a new value.  
DFP: Disable Fast Page  
1: Fast Page DRAM access mode will be disabled. This  
way normal DRAMs can be used. If SRAMs are being  
used, then SRAM ‘‘Fast mode’’ will also be disabled;  
thus SRAM transfers will occur in single byte/word  
bursts.  
BPP: Buffer Parity Polarity  
1
Even parity is checked or generated at the buffer mem-  
ory port if enabled by the BPE bit.  
0
Odd parity is checked or generated at the buffer memo-  
ry port if enabled by the BPE bit.  
0: Fast Page DRAM access mode will be enabled.  
DD(1:0): DRAM Size  
BPE: Buffer Parity Enable  
If DRAM is used, the DP8496/7 needs to know the organi-  
zation, e.g., 64k x n, 256k x n, etc. This field controls the row  
and column address so that the least significant address  
bits are always on the column address. This will guarantee  
proper refresh timing during Buffer Memory transfers. The  
proper bit settings are shown in Table 3.3.  
1
Enables the checking or generation of parity at the buff-  
er memory port for various types of transfers:  
When Writing Parity is generated for the data exiting at  
to Buffer:  
the buffer port; except in the case of  
SCSI to Buffer transfer, when, the parity  
is generated only if SCSI Parity is not en-  
If SRAM is used, these bits are ‘‘don’t care’’.  
e
e
1, then the  
abled (SPE  
0). If SPE  
parity accompanying SCSI Bus Data is  
checked upon exiting the chip at buffer  
port.  
TABLE 3.3. Organization of DRAM  
DRAM Depth  
RSZ1 RSZ0  
Organization of DRAM  
When Reading Parity is checked at the port where the  
from Buffer:  
data exits the chip; except in the case of  
Buffer to SCSI transfer with the SCSI  
Parity disabled: here the parity is  
checked on the incoming data at the  
buffer port. Also, in the case of proces-  
sor reads of buffer memory, the parity is  
checked on the incoming data at the  
buffer port.  
0
0
64k x n, (64k x 1, 64k x 4 . . . )  
256k x n, (256k x 1, 256k x 4 . . . )  
1M x n, (1M x 1, 1M x 4 . . . )  
4M x n, (4M x 1, 4M x 4 . . . )  
0
1
1
1
0
1
RSEL: DRAM/SRAM Select  
The DRAM/SRAM switch. This bit changes the memory ac-  
cess timing to control static or dynamic RAM memory. This  
bit must be set before any accesses are attempted to buffer  
memory. If DRAM is selected, the proper refresh timing to  
initiate CAS before RAS automatic refreshing is provided  
without any further intervention through the Processor Inter-  
face.  
0
Parity is not generated or checked at the buffer memory  
port. Parity may still be employed at the SCSI port by  
using the SPE bit of this register.  
1
0
DRAM  
SRAM  
11  
3.0 Register List (Continued)  
SPP: SCSI Parity Polarity  
REV(3:0): Revision Number  
Set to ‘‘1’’ when CRST is asserted or a SCSI Reset com-  
mand is issued. This is to prevent the parity bit from driving  
the bus immediately after a reset while in Manual Mode.  
(Manual Mode described in Section 4.4.3.)  
These four bits reflect the functional version number of the  
chip. If a modification is made to the DP8496/7 that may  
require software or hardware modifications in a system, this  
value will be modified as well. The Revision Number corre-  
sponding to this data sheet is 3h.  
1
Even parity is checked or generated on the SCSI bus if  
enabled by the SPE bit.  
The Revision Number will not be affected by a write to this  
register.  
0
Odd parity is checked or generated on the SCSI bus if  
enabled by the SPE bit.  
4.0 Functional Description  
4.1 PROCESSOR INTERFACE  
SPE: SCSI Parity Enable  
Set to ‘‘0’’ when CRST is asserted or a SCSI Reset com-  
mand is issued. Other than in Arbitration phase, parity is  
always provided when writing to the SCSI bus; parity is  
e
The processor port of the DP8496/7 can interface with  
equal ease with NSC/Intel-type and Motorola/Zilog-type  
processors. An 8-bit multiplexed Address/Data port is pro-  
vided, and through it the processor can randomly access all  
SDDC registers. The chip also provides two interrupt lines to  
allow separate disk and SCSI interrupts.  
checked if buffer parity is being used (BPE  
1), or generat-  
0). Parity verifi-  
e
ed if buffer parity is not being used (BPE  
cation while reading the SCSI bus is dependent upon this bit  
and some other variables as desribed below.  
To the processor, the DP8496/7 appears as a slave periph-  
eral at all times and can be accessed with programmed I/O  
in memory mapped or I/O mapped systems. All control reg-  
isters are eight bits wide. Some functions are programmed  
through more than one register. For example, address  
pointers are accessed through three different registers be-  
cause the address may be up to 22 bits wide. The buffer  
memory data is accessed through one register called the  
Buffer Memory Data register (6Eh). There are two interrupt  
registers in the DP8496/7, the SCSI Interrupt register (49h)  
and the Disk Interrupt register (12h). Each of these interrupt  
registers has an associated mask and status register.  
1
0
SCSI Parity is verified on read data conditional to A/M  
bit of the SCSI Operation Register (43h) and HE bit of  
the Synchronous Transfer Register (44h)Ðas specified  
in Table 3.4.  
SCSI Parity is never verified.  
TABLE 3.4. SCSI Parity  
Auto/ Handshake When is parity checked during  
a read from the SCSI bus?  
Man.  
Enable  
1
X
Target: Parity checked when  
ACK asserted.  
Initiator: Parity checked when  
REQ asserted.  
TABLE 4.1. DP8496/DP8497 Address Map  
Address  
DP8496/7 Section  
(Re)Select: Parity Checked while  
SCSI ID matches, SEL true, BSY  
false.  
001F  
203F  
405F  
607F  
Disk Data Controller  
Disk Format Registers  
SCSI Bus Controller  
0
0
1
0
Target: Parity checked when  
ACK asserted.  
Buffer Memory, Setup & Timer  
Initiator: Parity checked when  
REQ asserted.  
All the registers in the DP8496/7 have unique addresses  
and most are readable and writable. They can be accessed  
in single instructions with a local processor. The DP8496/7  
never becomes a bus master on the processor bus.  
Parity not checked.  
Refer to Table 4.10 in Section 4.2.9 for more detail on parity.  
4.1.1 Access by Different Type Processors  
SID(2:0): SCSI ID  
At the time of chip reset, the user can configure the  
DP8496/7 to work with NSC/Intel-type or Motorola/Zilog-  
type processors. While the CRST pin is asserted, the RDY/  
MODE pin functions as a MODE input. This input will deter-  
mine the processor access mode of the DP8496/7. If this  
pin is left floating or pulled or driven high while CRST is  
asserted, the National/Intel mode will be enabled. If this pin  
is pulled or driven low while CRST is asserted, the Zilog/  
Motorola mode will be enabled.  
The unique binary address which identifies the SCSI device  
is loaded here. This number is usually obtained by the proc-  
essor after a Chip Reset from a PROM or from switches or  
jumpers. This is not to be confused with the LUN (Logical  
Unit Number) of which each SCSI device can have eight.  
This field will be internally translated to the one-of-eight  
form required for the SCSI bus.  
Setup 3 (SUP3)  
62h  
3
R/W  
0
7
6
5
4
2
1
If NSC/Intel-type mode is selected, then pins RDi/DS and  
WRi/R/W act as Read Strobe and Write Strobe and they  
are used to read and write data from/to the addressed reg-  
ister. If the Motorola/Zilog-type mode is selected, then the  
same pins act as Data Strobe and Read/Write; where Data  
Strobe is used to strobe data when reading or writing, while  
the direction of data is determined by the Read/Write sig-  
nal. In either mode, the address is strobed into the SDDC  
with the ADSi signal.  
CI  
x
x
x
REV3  
REV2  
REV1  
REV0  
Asserting the CRST pin will not effect this register. This reg-  
ister must be initialized before proper interrupt operation.  
CI: Combine Interrupts  
1
Enabled Disk and SCSI interrupts appear on the DINT  
pin. The SINT pin is never asserted.  
0
Enabled Disk interrupts appear on the DINT pin. En-  
abled SCSI interrupts appear on the SINT pin.  
12  
4.0 Functional Description (Continued)  
The Processor Interface bus timing can be asynchronous to  
any clock on the DP8496/7.  
TABLE 4.3. SRAM Address Pins: 16-Bit Interface  
ADB2 (MUXed)  
AB4  
AB3  
4.2 BUFFER MEMORY INTERFACE  
Pins  
7
6
5
4
3
2
1
0
2
1
0 7 6 5 4 3 2 1 0  
All data transfers to and from the disk and to and from the  
SCSI bus go through buffer memory. Buffer memory is at-  
tached directly to the Buffer Memory Interface. Access by  
the DP8496/7 to buffer memory is performed via the inter-  
nal DMA controller. All access to the buffer memory is priori-  
tized and arbitrated through the DP8496/7. Thus, concur-  
rent disk, SCSI, and processor accesses to the buffer mem-  
ory are allowed. In normal operation no other bus masters  
access the buffer memory.  
Addr 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1  
Bit  
4.2.2 Dynamic RAM  
Since dynamic RAMs contain their own address latches, no  
external latches are needed in byte- or word-wide mode.  
Multiplexed row and column addresses are issued on the 11  
physical address lines of AB3 and AB4, with the least signifi-  
cant address bits being issued on the CAS strobe. A full  
4 MB address range is available in byte wide mode which  
can be apportioned on 64k, 256k, 1M or 4M by n-bit bound-  
aries. A full 2M address range is available in word wide  
mode which can be apportioned on 64k, 256k, or 1M by  
n-bit boundaries.  
The user has the option of configuring the memory in a byte-  
wide or word-wide arrangement. If byte wide SRAM or any  
type of DRAM is used, no components other than the mem-  
ory chips are necessary on the buffer memory interface.  
The only external component that may be needed is an 8-bit  
address demultiplexing latch if word-wide SRAM is used.  
The specified pins that are used in byte mode are described  
in Table 4.4. The specific pins that are used in word mode  
are described in Table 4.5. The redundant signals on AB4  
may be ignored.  
Appropriate buffer memory configuration must be specified  
in the setup registers, Setup 1 and Setup 2, before proper  
chip operation can begin. Setup 1 register is used to config-  
ure the port timing to static or dynamic modes, program the  
optional wait states, specify the DRAM depth and data bus  
width, and to enable fast page mode DRAM control. Setup 2  
register is used to enable and configure buffer memory pari-  
ty.  
TABLE 4.4. DRAM Address Pins: 8-Bit Interface  
Addr.  
Depth  
AB4  
1
AB3  
Strobe  
2
0
7
6
5
4
3
2
1
0
4.2.1 Static RAM  
64k  
256k  
1M  
RAS 21 19 17 15 14 13 12 11 10  
CAS 10  
9
1
8
0
In SRAM mode there are 19 address bits available to sup-  
port up to 512 kBytes in byte mode, or 1 MBytes in word  
mode. There is a large degree of flexibility of SRAM configu-  
rations that may be interfaced to the Buffer Memory Inter-  
face. The specific pins that are used in byte mode are de-  
scribed in Table 4.2. The address bits 19, 20, and 21 still  
exist in all pointer registers but they are not output to the  
interface.  
9
8
7
6
5
4
3
2
RAS 21 19 17 15 14 13 12 11 10  
CAS 10  
9
1
16  
0
9
8
7
6
5
4
3
2
RAS 21 19 17 15 14 13 12 11 10 18 16  
CAS 10  
9
8
7
6
5
4
3
2
1
0
4M  
RAS 21 19 17 15 14 13 12 11 20 18 16  
CAS 10  
9
8
7
6
5
4
3
2
1
0
TABLE 4.2. SRAM Address Pins: 8-Bit Interface  
ADB2  
AB4  
AB3  
TABLE 4.5. DRAM Address Pins: 16-Bit Interface  
Pins  
7
6
5
4
3
2
1
0
2 1 0 7 6 5 4 3 2 1 0  
Addr.  
Depth  
AB4  
1
AB3  
Strobe  
Addr 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0  
Bit  
2
0
7
6
5
4
3
2
1
0
64k  
256k  
1M  
RAS  
X
20 18 16 15 14 13 12 11 10  
9
1
SRAM used word-wide can transfer a little less than twice  
as fast as byte-wide given equal clock rates. The address  
increments by two in word mode making address bit 1 of the  
pointers the least significant address bit presented on the  
physical interface. The processor will still access the RAM  
as individual upper and lower bytes of a single word by using  
address bit 0 in the Processor Pointer. A0 will determine  
which byte is present in the Buffer Memory Data registerÐ  
low byte or high byte.  
CAS 11 10  
RAS  
CAS 11 10  
RAS 20 18 16 15 14 13 12 11 19 17  
CAS 11 10  
RAS 20 18 16 15 14 13 12 21 19 17  
CAS 11 10  
9
8
7
6
5
4
3
2
X
20 18 16 15 14 13 12 11 10 17  
9
8
7
6
5
4
3
2
1
X
9
8
7
6
5
4
3
2
1
2M  
X
9
8
7
6
5
4
3
2
1
The specific pins that are used in word mode are described  
in Table 4.3. The ADSo pin is used to strobe an external 8-  
bit latch, capturing A1219 so the ADB2 bus can be used  
for bi-directional data during the remainder of the memory  
cycle.  
Note: The address signal x will always be equal to V  
.
DD  
13  
4.0 Functional Description (Continued)  
The maximum capacitive loading on the Buffer Memory In-  
terface should be taken into account when designing the  
buffer memory interface. The address/data pins are de-  
signed to directly drive up to 12 DRAM chips with board  
traces of reasonable length. By using 256k x 1 chips, 256k  
can easily be addressed in 8-bit mode. By using higher den-  
sity DRAMs, like 1M x 4 and 1M x 1, the full addressing  
range of 4M in byte-wide mode, and 2M in word-wide mode,  
can be utilized with chip counts up to or less than 12.  
The on-chip arbitration circuitry uses the prioritization  
scheme shown in Table 4.7 to smoothly manage the data  
flow and insure that the FIFOs don’t overflow or underflow.  
TABLE 4.7. Buffer Memory Transfer Priority  
Rank  
Type of Transfer  
1
2
3
4
5
6
7
DRAM Refresh  
Disk Data Burst  
SCSI Data Burst  
No refresh address counters are provided on-chip. This ne-  
cessitates the use of DRAMs with on-board counters and  
the ability to do a ‘‘CAS before RAS’’ type refresh.  
Processor Access  
Disk DataÐSingle Byte/Word  
SCSI DataÐSingle Byte/Word  
Idle  
4.2.3 Data Transfer Timing  
Two basic transfer modes are possible, normal mode and  
the fast page mode. If the fast page mode is disabled, by  
setting the DFP bit to 1 in Setup 1 register (60h), then a  
single memory transfer will occur every 5 BCLK cycles for  
DRAM and every 5 or 6 cycles for SRAM, depending on the  
SWS bit of the SUP1 register.  
The DP8496/7 arbiter does not waste any cycles between  
consecutive transfers, even if those transfers used different  
pointers. Pointers are seamlessly switched so that all mem-  
ory transfers use consecutive BCLK cycles.  
Keeping in mind the above priority scheme, some design  
trade-offs must be made between the available bandwidth  
of the buffer memory port and rates of disk, SCSI and proc-  
essor accesses that are to be supported. A sound design  
would assure that enough bandwidth is left over after ac-  
commodating simultaneous full-speed disk and SCSI trans-  
fers so that occasional processor access can be serviced  
within reasonable time. Section 4.2.6 describes how proces-  
sor accesses of buffer memory are handled.  
If the fast page mode is selected, by setting the DFP bit to 0,  
then the DP8496/7 will transfer up to 6 bytes (or 4 words in  
word-mode) of data at a time in a ‘‘burst’’, as long as only  
the least significant 8 bits of address change. In the case of  
DRAMs then, the DP8496/7 only has to change the ad-  
dress and toggle the CAS line for each byte or word of the  
burst transferred after the first one. The number of bytes or  
words transferred in a ‘‘burst’’ are shown in Table 4.6 and  
depend on number of bytes or words present in the on-chip  
FIFOs, the address pointers’ relation to the page boundary,  
and refresh, etc. Operation in this mode yields highest at-  
tainable buffer memory bandwidths, but it requires the use  
of fast page mode type DRAMs.  
Detailed timing specifications for the buffer memory port  
can be found in Chapter 6 of this document. For a given bus  
clock frequency, calculations for gross available bandwidth  
can be carried out by using Table 4.6. For example, with bus  
clock frequency set at 20 MHz, and with 6 bytes of fast-  
page mode transfers taking 12 cycles, bandwidth of  
10 MByte/sec is calculated for a byte-wide operation. How-  
ever, after this number is adjusted for the DRAM refresh  
cycle overhead, maximum bandwidth is reduced to  
9.6 MByte/sec. There are other practical factors that would  
further reduce this number to the attainable, sustained  
TABLE 4.6. Fast Page Mode Transfer Periods  
DRAM  
Transfer  
Period  
SRAM  
Transfer  
Period  
Number of  
Transfers  
e
e
6 Bytes  
12*BCLK Period 17*BCLK Pd (SWS  
23*BCLK Pd (SWS  
0)  
1)  
e
bandwidth for a particular transfer. For the case of BCLK  
20 MHz, this value turns out to be 9.3 MHz.  
4 Bytes  
1 Byte  
9*BCLK Period  
5*BCLK Period  
As a calculation based on the timing specifications in Chap-  
ter 6 would show, 100 ns DRAMs would work with the  
DP8496/7 operating with bus clock of 20 MHz. By using  
faster BCLK and DRAMs the user can achieve sustained  
byte-wide bandwidths of above 11 MByte/sec.  
e
e
4 Words  
9*BCLK Period 12*BCLK Pd (SWS  
16*BCLK Pd (SWS  
8*BCLK Period  
6*BCLK Period  
5*BCLK Period  
0)  
1)  
3 Words  
2 Words  
1 Word  
TABLE 4.8. DRAM Bandwidth Capabilities  
Note: SWS is bit 5 in SUP1 register (60h)  
Attainable Bandwidth  
Desired Fastest Usable  
The DP8496/7 issues a DRAM refresh cycle every 128 bys  
clock periods. Of these, 5 bus clock periods are used by the  
refresh cycle to complete, so 123 bus clock periods are left  
for actual data transfers. Thus, the minimum specified bus  
clock rate of 10 MHz will guarantee a refresh cycle time of  
less than 12.8 ms per row.  
DRAM  
BCLK  
Byte-Wide Word-Wide  
100 ns  
100 ns  
80 ns  
18 MHz  
20 MHz  
22 MHz  
24 MHz  
8.4 MHz  
9.3 MHz  
10.2 MHz  
11.2 MHz  
15.3 MHz  
17.0 MHz  
18.7 MHz  
20.4 MHz  
The DP8496/7 automatically manages concurrent buffer  
accesses by disk, SCSI and processor, while also executing  
DRAM refresh cycles within the requisite time. Small FIFO’s  
have been integrated into the DP8496/7 to allow for buffer  
memory latency due to contention. The Disk Data Controller  
has a 14 byte (or 7 word) FIFO and the SCSI Bus Controller  
has a 32 byte (or 16 word) FIFO. The word-wide FIFOs are  
used if the 16-bit mode is used for buffer memory.  
80 ns  
The maximum BCLK frequency is specified in Chapter 7.  
For maximum performance, however, word-wide memory  
architecture can be employed; and then, with 100 ns  
DRAMs and 20 MHz BCLK, sustained bandwidth of  
17 MB/s can be attained.  
14  
4.0 Functional Description (Continued)  
4.2.4 Pointers  
The processor is allowed read/write access to the Holding  
registers. It is only allowed to read the Active registers.  
Three 22-bit pointers represent the three possible address-  
es into the buffer memory. These addresses are used by the  
Disk Data Controller, SCSI Bus Controller, and the Proces-  
sor Interface. The Disk and SCSI pointers are double buff-  
ered in what are called the Active and Holding register sets.  
Both of these Active pointers automatically increment on  
every transfer to buffer memory. The Processor pointer is  
only single buffered. It will increment automatically if en-  
abled in the Setup 2 register.  
Normally the processor will only access the Holding regis-  
ters. The Active registers are really the block counters and  
address pointers actually used to transfer the data. Thus  
only in unusual situations will the Active registers need to be  
read. The A/H (Active/Holding) bit in the SCSI Operation  
register determines which register set the processor will ac-  
cess.  
The Processor Pointer does not have a Holding register.  
The Processor Pointer Active register will be accessed inde-  
pendent of the A/H bit.  
4.2.5 Buffer Management  
The processor will normally initialize the Holding registers  
with values before an operation is started. When the opera-  
tion begins the DP8496/7 will copy the contents of the  
Holding registers into the Active registers (which are actual-  
ly counters). This double buffering allows the processor to  
load new values into the Holding registers while the previ-  
ous operation is still continuing. This feature allows for ver-  
satile management of contiguous or non-contiguous buffers.  
The Disk, SCSI, and Processor Pointer registers contents  
have no relationship to one another, thus one pointer is not  
automatically kept a certain distance from the other.  
Instead, the monitoring by the processor of block and sector  
[
transfers is facilitated through the use of interrupts. Polling  
could also be used by reading the SCSI Interrupt (49h) and  
]
Disk Interrupt (12h) registers.  
Interrupts are programmable at three different levels (see  
Figure 4.2 ):  
1. At the end of each block transferred.  
2. After a certain number of blocks have been transferred.  
This is called a ‘‘group’’.  
3. After all programmed blocks have been transferred, or  
‘‘command completion’’.  
(See the descriptions of DINTE (13h) and SINTE (4Ah) reg-  
isters in Sections 4.3 and 4.4, respectively)  
This provides a point of synchronization for the processor to  
safely monitor the progress of both disk and SCSI transfers  
and thus prevent overflow or underflow of the buffer memo-  
ry. Overflow and underflow are analogous to pointers over-  
taking one another. The processor is responsible for pre-  
venting this.  
TL/F/11212–5  
FIGURE 4.1. Holding and Active Registers  
TL/F/11212–6  
FIGURE 4.2. Flexible Interrupt Levels  
15  
4.0 Functional Description (Continued)  
4.2.6 Processor Access to Buffer Memory  
Byte wide data written to the Buffer Memory Data register  
by the processor replaces the low byte or high byte depend-  
ing on the least significant bit in the Processor Pointer 0  
register. After the other byte has been obtained by reading  
the addressed word location, the 16-bit word is written back  
to buffer memory. This ensures that only one byte is effect-  
ed with each write.  
The processor gains access to the buffer memory by load-  
ing the Processor Pointer 0–2 registers with the address of  
the byte in buffer memory that needs to be accessed. The  
Processor Pointer 0 register should be loaded last. The data  
is then read from or written to the Buffer Memory Data regis-  
ter.  
If the AI (Auto Increment) mode is enabled in the Setup 2  
register, the Processor Pointer will increment by one after  
each read of the Buffer Memory Data register by the proces-  
sor or after each transfer from the Buffer Memory Data reg-  
ister to the buffer memory. To complete a 16-bit processor  
read the processor must read the Buffer Memory Data reg-  
ister again. When writing, the processor must write to the  
Buffer Memory Data register again to change the other byte  
of the memory word. After this second byte is altered, the  
16-bit word is again written back to buffer memory. This  
sequence completes a processor modification of a 16-bit  
buffer memory location.  
The Buffer Memory Data register can be read or written to  
just like any other register on the DP8496/7. The same AC  
specifications apply to this register. However, the data read  
from the Buffer Memory Data register may not be valid im-  
mediately and the data written to the Buffer Memory Data  
register may not be transferred to the buffer memory imme-  
diately.  
The Buffer Memory Data register is simply another DMA  
channel trying to access the buffer memory. Since the arbi-  
tration priority of the Processor Interface is not the highest,  
there may be a delay before the contents of the Buffer  
Memory Data register are actually transferred to or from the  
buffer memory. The amount of the delay depends on how  
much extra bandwidth was allowed by the system designer  
in the buffer memory data path.  
If Auto Increment mode is enabled and the processor writes  
to the Buffer Memory Data register twiceÐloading the low  
byte and the high byteÐ before the DP8496/7 initiates a  
buffer memory read, no buffer memory read will occur. This  
new 16-bit value will then be written to buffer memory twice.  
The data is transferred twice to buffer memory to increment  
the processor pointer to the next word.  
The Processor Pointer registers should be loaded by the  
processor from most-significant byte to least-significant  
byte. Immediately after the Processor Pointer 0 register is  
written to, the DP8496/7 will initiate an arbitration for a read  
from buffer memory at the location pointed to by the Proc-  
essor Pointer registers. Once granted, the buffer memory  
location is read and the value is placed in the Buffer Memo-  
ry Data register.  
4.2.8 Sequential Accesses of Buffer Memory  
To make sequential reads and writes by the processor more  
convenient, the Processor Pointer registers may be pro-  
grammed to automatically increment after each access to  
the Buffer Memory Data register. The AI (Auto Increment)  
bit in the Setup 2 register determines whether the Processor  
Pointer will automatically increment. The Processor Pointer  
will increment after each read or write of the Buffer Memory  
Data register, then the DP8496/7 will read the next RAM  
location from buffer memory. Sequential writes are accom-  
plished in the same way. Mixed reads and writes are also  
allowed.  
In the case of a write operation, the Buffer Memory Data  
register may be written to immediately after loading the  
Processor Pointer 0 register. If the processor writes to the  
buffer memory data register before the DP8496/7 com-  
pletes a buffer memory read, no buffer memory read will  
occur.  
To determine when the transfer has completed, one of the  
three techniques described in Section 4.2.8 must be used.  
Same techniques should be used if sequential reads or  
writes are issued.  
There are three methods to insure safe transfer of data  
to/from buffer memory by the processor: Using the RDY  
pin, software polling, or using the Interrupt Error.  
4.2.7 16-Bit Wide Access  
The method chosen will largely be based upon the proces-  
sor facilities available. If the processor has a Ready, DTACK  
or some other asynchronous access control pin, the RDY  
output pin of the DP8496/7 can be used to automatically  
control access to Buffer Memory Data register. If a proces-  
sor is chosen without such a facility, the software polling  
operation is the next best choice.  
If the 16-bit buffer memory mode is enabled in the Setup 1  
register, byte wide processor access to DP8496/7 does not  
change. The processor should load the Processor Pointer  
registers from most-significant byte to the least-significant  
byte. Immediately after the Processor Pointer 0 register is  
written to, the DP8496/7 will initiate an arbitration for a read  
from buffer memory at the location pointed to by the Proc-  
essor Pointer registers.  
The Disk Interrupt Enable register is used to select between  
the different processor access techniques. Only bit 6 of this  
register is used for this purpose. The other bits of this regis-  
ter will be described in the Disk Data Controller description  
in Section 4.3.2. A summary of the RDY pin function and the  
buffer memory interrupt function is shown in Table 4.9.  
This will result in the entire 16-bit word being read from  
buffer memory. However, the Buffer Memory Data register  
will only allow access to the 8 bits that were requested  
based on the least significant bit in the Processor Pointer 0  
register. The least significant bit in the Processor Pointer 0  
register determines whether the low byte (0) or high byte (1)  
can be accessed by the processor. By using an even proc-  
essor pointer address and setting AI (Auto Increment) to  
‘‘1’’, the low byte and high bytes of each word will be ac-  
cessed in order.  
Disk Interrupt Enable  
13h  
R/W  
0
7
6
5
4
3
2
1
TI  
BMD  
I/S  
GCI  
SCI  
HNC  
HC  
CCI  
16  
4.0 Functional Description (Continued)  
Ready Pin  
time between each access to the Buffer Memory register. If  
an interrupt occurs, simply clear the interrupt, wait an addi-  
tional amount of time, and try the access again.  
The RDY pin may be connected to the processor’s memory  
access control pin (or ‘‘wait state’’ pin). After WR or RD  
goes low, the processor will be ‘‘wait-stated’’ until the data  
from buffer memory becomes available. This is the easiest  
method of access to buffer memory since the job of regulat-  
ing the speed of the processor access is done entirely in  
hardware by the DP8496/7. The only requirement is that the  
processor used with the DP8496/7 have some type of asyn-  
chronous access line.  
Interrupt after Indicates that the previous write has not yet  
a write:  
been transferred to the buffer memory. The  
previous data is still retained and the DMA  
process is unaffected by the new write. The  
data just written will be ignored.  
Interrupt after Indicates that the Buffer Memory Data regis-  
ter has not yet been bloaded with the data  
requested. The data just read is invalid.  
a Read:  
When the processor reads the Buffer Memory Data register,  
the RDY pin will become deasserted if the data is not yet  
available. It will become asserted when the data is valid. For  
a write operation, the RDY pin will become deasserted if a  
previous write has not yet been transferred to buffer memo-  
ry.  
TABLE 4.9. RDY Pin and Interrupt Summary  
BMD Bit in Disk  
Function of E/R Bit in  
Disk Interrupt Register  
Interrupt Enable RDY Pin  
Register  
To enable this mode, the BMD (Buffer Memory Data) bit in  
the Disk Interrupt Enable register must be set to zero. The  
RDY pin will be always deasserted while in the Zilog/Moto-  
rola mode.  
1
0
Disabled Buffer Memory Error  
Enabled Buffer Memory Ready  
If non-contiguous address locations are to be accessed, the  
processor must verify that the Processor Pointer registers  
can be modified. To do this, the BMD bit in the Disk Interrupt  
Enable register must be set to ‘‘0’’. This enables the soft-  
ware polling mode. While in this mode, the Processor must  
poll the E/R bit in the Disk Interrupt register. When this bit is  
‘‘1’’, the Processor Pointer registers may be modified. The  
Interrupt Error mode may then be re-enabled by setting the  
BMD bit in the Disk Interrupt Enable register back to ‘‘1’’.  
If non-contiguous address locations are to be accessed, the  
processor must poll the E/R (Error/Ready) bit in the Disk  
Interrupt register for a ‘‘1’’ before the Processor Pointer reg-  
isters may be modified.  
Software Polling  
If no asynchronous access pin is available, or you choose  
not to use it, software polling may be used. With the BMD  
(Buffer Memory Data) bit in the Disk Interrupt Enable regis-  
ter set to ‘‘0’’, not only is the Ready pin enabled, but the  
R/E (Ready/Error) bit in the Disk Interrupt register will oper-  
ate as ‘‘Buffer Memory Data Ready’’ and may be polled. A  
‘‘1’’ in the E/R bit indicates that the Buffer Memory Data  
register is ready for either reading or writing, a ‘‘0’’ means  
that it is not ready.  
4.2.9 Parity  
Buffer memory parity is generated when writing to buffer  
memory and verified while reading from buffer memory only  
if enabled by the BPE (Buffer Parity Enable) bit in the Setup  
2 register.  
In general, parity (if enabled) is always checked at the point  
where the data exits the chip. Therefore, parity errors gener-  
ated within the DP8496/7 are checked as well as external  
parity errors.  
A ‘‘1’’ in the E/R bit also indicates that the Processor Point-  
er registers may be modified by the Processor.  
Disk Interrupt  
12h  
R/W  
0
7
6
5
4
3
2
1
When the processor accesses data from buffer memory,  
parity information cannot be determined through the Buffer  
Memory Data register. If the Setup 2 register is configured  
to check buffer memory parity, a parity error detected while  
reading the Buffer Memory Data register will be reported in  
the SCSI Operation register (43h). The SCSI Operation reg-  
ister may be polled after a block of data has been read from  
the Buffer Memory Data register. Once a parity error is de-  
tected, it is cleared only by reading the SCSI Operation reg-  
ister.  
TI  
E/R  
I/S  
GCI  
SCI  
HNC  
CCI  
Interrupt Error  
By setting the BMD (Buffer Memory Data) bit in the Disk  
Interrupt Enable register to a ‘‘1’’, the RDY pin is disabled.  
Also, the E/R bit in Disk Interrupt register will operate as a  
true interrupt. This ‘‘Error’’ interrupt indicates that the Buffer  
Memory Data register has been accessed before the data is  
valid. The processor should simply wait a certain amount of  
17  
4.0 Functional Description (Continued)  
TABLE 4.10. Operation of Parity Generation and Checking  
Control Bits (SUP2)  
Action on Port  
Buffer  
Error  
Direction of Transfer  
Report  
SPEN  
DBPEN  
SPP  
DBPP  
Disk  
SCSI  
0
1
1
1
1
x
0
0
0
0
1
1
1
1
x
x
x
x
x
x
1
x
x
0
1
0
1
x
0
1
0
1
0
1
0
1
x
x
x
x
x
x
x
0
1
1
0
x
SCSI to Buffer  
SCSI to Buffer  
SCSI to Buffer  
SCSI to Buffer  
SCSI to Buffer  
Buffer to SCSI  
Buffer to SCSI  
Buffer to SCSI  
Buffer to SCSI  
Buffer to SCSI  
Buffer to SCSI  
Buffer to SCSI  
Buffer to SCSI  
Buffer to SCSI  
Not between SCSI & Buffer  
Disk to Buffer  
Ð
Ð
Generate  
Check  
Ð
Check  
Check  
Check  
Check  
Generate  
Ð
Ð
1
x
Ð
Check  
a
Inv. Check  
1
x
Ð
Inv. Check  
a
1
x
Ð
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
Ð
Ð
Ð
2
0
1
1
0
0
1
1
0
x
Ð
Check  
Check  
Ð
Ð
2
a
Ð
Inv. Check  
Ð
2
a
Ð
Inv. Check  
Ð
2
Ð
Ð
Ð
Check  
Check  
Check  
Check  
Ð
2
Ð
2
Ð
Invert  
Invert  
Ð
2
Ð
2
Ð
Ð
Ð
3
x
Ð
Generate  
Invert  
Ð
Ð
0
1
x
Buffer to Disk  
Check  
Check  
Ð
Ð
Buffer to Disk  
Ð
3
Processor to Buffer  
Buffer to Processor  
Generate  
Check  
Ð
Ð
4
x
Ð
Ð
Error Reporting:  
1. SCSI Bus Error in CIC field of SINT register (49h) and SCSI Parity Error in SSTAT register (48h).  
2. Buffer Parity Error in CIC field of SINT register and Buffer Memory Error in SSTAT register.  
3. Error in DINT register (12h) and Disk Parity error in EC field of DSTAT register (14h).  
4. PEP bit in the SOP register (43h).  
18  
4.0 Functional Description (Continued)  
4.2.10 Register Description  
in the active registers is incremented each time an access  
to buffer memory is made by the disk controller. The active  
register set may be read only by the processor by using the  
same register address, but by first setting the A/H bit in the  
SCSI Operation register.  
Disk PointerÐMSB (DP2)  
65h  
R/W  
0
7
6
5
4
4
4
3
3
3
2
2
2
1
1
1
x
x
Address  
Processor PointerÐMSB (PP2) 6Bh  
R/W  
0
Disk Pointer (DP1)  
66h  
R/W  
0
7
6
5
4
4
4
3
3
3
2
2
2
1
1
1
7
6
5
x
x
Address  
Address  
Processor Pointer (PP1)  
6Ch  
R/W  
0
Disk PointerÐLSB (DP0)  
67h  
R/W  
0
7
6
5
7
6
5
Address  
Address  
Processor PointerÐLSB (PP0)  
6Dh  
R/W  
0
The 22-bit address value programmed in these registers is  
used as pointer into the buffer memory for all data transfers  
between the disk port and buffer. The DP8496/7 uses these  
registers as ‘‘holding registers’’ in that the contents of these  
registers are loaded into a set of ‘‘active registers’’ upon  
start of operation. Thus the holding registers may be ac-  
cessed even while an operation is continuing. The value in  
the active registers is incremented each time an access to  
buffer memory is made by the disk controller. The active  
register set may be read only by the processor by using the  
same register address, but by first setting the A/H bit in the  
SCSI Operation register.  
7
6
5
Address  
The 22-bit address value programmed in these registers is  
used as pointer into the buffer memory for all data transfers  
between processor and buffer. The value in these registers  
is incremented automatically each time an access to buffer  
memory is completedÐif the AI bit is Setup 2 register is set.  
The user should write into the PP0 register lastÐas that  
initiates a read operation. In case of a write operation, the  
BMD register should next be written.  
SPSI PointerÐMSB (SP2)  
68h  
R/W  
0
Buffer Memory Data (BMD)  
6Eh  
R/W  
0
7
6
5
4
4
4
3
3
3
2
2
2
1
1
1
7
6
5
4
3
2
1
x
x
Address  
Data  
This register provides the processor a window into the buff-  
er memory for reading or writing at the address pointed to  
by the PP2, PP1, and PP0 registers. While the writing of  
pointer LSB into the PP0 register initiates a read operation,  
the act of writing to this register initiates a write operationÐ  
terminating the read operation in effect.  
SCSI Pointer (SP1)  
69h  
R/W  
0
7
6
5
Address  
SCSI PointerÐLSB (SP0)  
6Ah  
R/W  
0
7
6
5
For 16-bit wide memory operations, the processor has to  
read or write this register twice to access both the low-order  
and high-order bytes. Bit 0 and PP0 register is used to deter-  
Address  
The 22-bit address value programmed in these registers is  
used as pointer into the buffer memory for all data transfers  
between the SCSI port and buffer. The DP8496/7 uses  
these registers as ‘‘holding registers’’ in that the contents of  
these registers are loaded into a set of ‘‘active registers’’  
upon start of operation. Thus the holding registers may be  
accessed even while an operation is continuing. The value  
e
1). However, the processor does not  
mine if the byte in BMD register is low-order (PP0:0  
e
0) or  
high-order (PP0:0  
have to wait for one byte to be transferred before accessing  
the other byte of the same word since the DP8496/7 will  
read or write from the memory the full word.  
19  
4.0 Functional Description (Continued)  
4.3 DISK DATA CONTROLLER  
Additional features include a Sector or Index pulse interrupt  
option. This makes processor monitoring of disk rotational  
speed easier and also location of sectors based on time  
since last index pulse for soft sectored drives or count of  
sector interrupts for hard sectored drives. Also programma-  
ble control over AME and AMF/Sector pins supports pseu-  
do-hard sectored (ESDI soft sectored) as well as hard and  
soft sectored drives.  
The Disk Data Controller is concerned only with the data  
aspects of the disk drive. Control signals for head move-  
ment, head selection, track zero detection, etc. are left to  
the processor or through an external I/O port. Because of  
this, the DP8496/7 can easily be used in a wide variety of  
SCSI disk systems.  
Track format is specified through the internal pattern and  
count registers loaded by the host processor at initialization.  
A unique format can be developed for each application tak-  
ing into account speed tolerances, PLL lock-on time and  
write splice length, etc.  
All registers are buffered such that individual bits will not  
change while RD strobe is active except where specified.  
4.3.1 Command Operation  
User issues disk commands by writing to the Disk Com-  
mand register (DCMD, 10h) after format registers and other  
disk control registers have been specified. Most disk com-  
mands follow the flowcharts shown in Figures 4.3, 4.4, and  
4.5. The command will begin after the starting condition  
specified by the SCT (Start Control) bit in the Disk Com-  
mand register and the DCOZ (Drive Command On Zero) bit  
in the Timer Prescale register. Each command is really bro-  
ken into two sub-commands: a Header Segment command  
and a Data Segment command. If a single sector command  
is issued (determined by the MSO (Multi-Sector Operation)  
bit in the Drive Control register) the command will terminate  
at the end of the specified sector. Multi-sector commands  
will update the Sector Number register and the Sector  
Count register after processing each sector and will contin-  
ue until the Sector Count register reaches zero.  
An additional field before the Header and Data Preambles  
(Header Gap and Data Gap) controls RGATE vs. WGATE  
assertion times. This assures that the PLL never sees a  
write splice between the header and data field. Byte count  
programmability of these fields ensures that minimum track  
area for the write splice.  
The data field length (sector size) can range from 16 kBytes  
to 64 kBytes with a two byte resolution.  
Finally, both the ID and Data portions of the sector can be  
protected with CRC or ECC ranging in length from 16 bits  
(CRC) to 32, 48 or 56 bits (ECC). All the polynomials are  
fixed computer generated codes except the 16-bit CRC  
which is a CCITT standard. Very little processor overhead is  
needed for disk data error correction due to on-chip logic.  
TL/F/1121210  
FIGURE 4.3. Disk Command Flowchart  
20  
4.0 Functional Description (Continued)  
TL/F/1121211  
e
Note: HFASM  
Header Failed Although Sector Matched as enabled in the Header Byte Control registers.  
FIGURE 4.4. Header Segment Flowchart  
21  
4.0 Functional Description (Continued)  
TL/F/1121212  
FIGURE 4.5. Data Segment Flowchart  
22  
4.0 Functional Description (Continued)  
4.3.2 Disk Command and Control Registers  
TABLE 4.12. Disk Command List  
Disk Comand  
Operation  
Disk Command(DCMD)  
10h  
W Only  
0
7
6
5
4
3
2
1
Opcode (Hex)  
MSO  
SCT  
X
Disk Command Opcode  
0
No Operation  
Writing to this register will initiate a disk command. Normal-  
ly, other disk format and control registers are configured  
before writing to this register, as described in Figure 4.6 in  
the section describing Disck Operations (4.3.4). After all  
other registers are loaded, writing to this register will initiate  
the operation.  
4
5
6
7
Ignore Header/Ignore Data  
Ignore Header/Verify Data  
Ignore Header/Write Data  
Ignore Header/Read Data  
8
9
Compare Header/Ignore Data(*)  
Compare Header/Verify Data  
Compare Header/Write Data  
Compare Header/Read Data  
Disk commands may be pipelined. Just before a new com-  
mand begins, the Disk Command register is downloaded  
internally. A new command may then be written to the Disk  
Command register. See Section 4.3.4 for additional com-  
ments on pipelining.  
A
B
0C  
0D  
Write Header/Ignore Data  
Write Header/Write Data  
MSO: Multi-Sector Operation  
10  
11  
12  
13  
Format Type A  
Format Type B  
Format Type C  
Format Type D  
1
Multi-sector operation the Sector Number register and  
the Sector Count register.  
0
Single sector operation.  
SCT: Start Control  
14  
15  
Read Header/Ignore Data  
Read Header/Read Data  
The Disk Command will not start until the conditions speci-  
fied in Table 4.11 are satisfied. Note, however, that the  
DCOZ bit in the TIMER PRESCALE register overrides the  
SCT bit. When the DCOZ bit is set the command will start  
when the time counts down to zeroÐregardless of the state  
of SCT bit.  
18  
19  
Write Unformatted  
Read Unformatted  
1C  
Start Correction Cycle  
*The Compare Header/Ignore Data command transfers all the headers to  
buffer memory.  
TABLE 4.11. Start Control  
SCT  
Drive Type  
Soft  
Starting Condition  
Immediate  
Ignore Header/Ignore Data  
This command will optionally check the Header CRC/ECC  
or Data CRC/ECC fields, or both without comparing the  
header or reading the data. The CRC/ECC verification is  
enabled in the ECC Control register. This command will  
search for a Header Synch field, count through the other  
header fields, and optionally check the Header CRC/ECC. It  
will then search for the Data Synch field, count through the  
data field, and optionally check the Data CRC/ECC.  
1
Pseudo-Hard  
Hard  
After AMF  
After Index or Sector  
After Index  
Soft  
0
Pseudo-Hard  
Hard  
After AMF after First Index  
After Index  
Ignore Header/Verify Data  
This command will search for a Header Synch field, count  
through the other header fields, and optionally check the  
Header CRC/ECC. It will then perform a byte for byte com-  
parison with the data field and buffer memory and optionally  
check the Data CRC/ECC.  
Disk Command Opcode  
This field contains the opcode of the actual command that  
the Disk Data Controller will perform.  
Table 4.12 shows a list of valid command opcodes. No oth-  
er opcodes may be used.  
Ignore Header/Write Data  
No Operation  
This command will search for a Header Synch field, count  
through the other header fields, and optionally check the  
Header CRC/ECC. It will then write data from the buffer  
memory to the data field.  
NOP corresponds to a sector operation. When the opera-  
tion begins (depending upon the specified starting condi-  
tion) the disk sequencer will blindly count through the Post  
Index Gap, Data CRC/ECC, and Data Postamble fields and  
then terminate with a Disk Operation Complete interrupt.  
RGATE and WGATE are never asserted but signals associ-  
ated with the specified starting condition must be present in  
addition to RCLK. In soft sectored mode, the NOP will begin  
immediately if the SCT (Start Control) bit is set to one.  
Ignore Header/Read Data  
This command will search for a Header Synch field, count  
through the other header fields, and optionally check the  
Header CRC/ECC. It will then read the data field, transfer-  
ring it to the buffer memory, and optionally check the Data  
CRC/ECC.  
Multi-sector NOPs are permitted in which case the Sector  
Count active register will be decremented and the Sector  
Number register incremented for each sector operation.  
23  
4.0 Functional Description (Continued)  
Compare Header/Ignore Data  
The ECC/CRC for the ID Segment and the Data Segment  
will be automatically generated during the format operation.  
This is true for all four types of the Format command (A, B,  
C, and D).  
This command is unique. As the Header Segments read  
from the disk are being scanned for a comparison to the  
Header Byte Control and Pattern registers, the header bytes  
are all transferred to buffer memory. The header bytes from  
each sector read will be placed in the buffer memory after  
the previous sector’s header bytes. If the number of header  
bytes from a sector is odd, an extra dummy byte will be  
transferred to buffer memory at the end of each sector.  
Format Type B  
Internal header bytes, data from buffer memory  
All header fields are generated from the internal Disk Data  
Controller registers. The data field of the Data Segment is  
obtained from buffer memory. This allows formatting with  
real data in the data field. This mode is usually used for an  
interleave of one. The multi-sector operation capability of  
the DP8496/7 increments the Sector Number register which  
is written in each sector.  
Only the Header Bytes are transferred. No Synch or  
CRC/ECC data will be transferred.  
This command is normally used in the single sector mode  
e
(MSO  
0). This command will terminate under the same  
conditions as any other single sector command: a header  
match is found, an error occurs, or 2 index pulses are re-  
ceived without a header match.  
Format Type C  
Header from buffer memory, internal data pattern.  
The header bytes in the Header Segment are obtained from  
buffer memory. All data fields are from the internal registers.  
The header bytes should be arranged contiguously in buffer  
memory. If the number of header bytes in each sector is  
odd, an extra dummy byte must be appended to the end of  
each sector’s header in buffer memory. This approach is  
ideal for sector interleaving of greater than one and offers  
the minimum of processor intervention during the formatting  
process.  
Compare Header/Verify Data  
Headers are compared as defined in the Header Byte Con-  
trol and Pattern registers. Header CRC/ECC is optionally  
checked. When a matching header is found, a byte for byte  
comparison between the data field and buffer memory will  
be performed. Data CRC/ECC will be optionally checked.  
Buffer memory parity is not checked during this operation.  
Compare Header/Write Data  
This is the ‘‘normal’’ write data command. Headers are  
compared as defined in the Header Byte Control and Pat-  
tern registers. Header CRC/ECC is optionally checked.  
When a matching header is found, data will be written from  
the buffer memory to the data field.  
Format Type D  
Header from buffer memory, data from buffer memory.  
The header bytes in the Header Segment and the data field  
in the Data Segment are obtained from buffer memory. The  
buffer memory should be arranged with the header bytes for  
one sector followed by its data field. This should be repeat-  
ed for each sector to be formatted. For the case where  
word-wide memory configuration is employed, if the number  
of header bytes in each sector is odd, an extra dummy byte  
must be appended to the end of each sector’s header in  
buffer memory.  
Compare Header/Read Data  
This is the ‘‘normal’’ read data command. Headers are com-  
pared as defined in the Header Byte Control and Pattern  
registers. Header CRC/ECC is optionally checked. When a  
matching header is found, the data field will be read from  
the disk and transferred to buffer memory. Data CRC/ECC  
will be optionally checked.  
Read Header/Ignore Data  
Write Header/Ignore Data  
This is a ‘‘normal’’ read header command. After the first  
Header Sync is found, the Header Bytes are transferred to  
buffer memory. If the number of Header Bytes read is odd,  
an extra dummy byte will be transferred to buffer memory  
after each sector. Header CRC/ECC is optionally checked.  
The data field CRC/ECC may also be optionally checked.  
This operation will work properly only with hard sectored  
drives. The Post Sector/Index Gap will be counted through  
or written (based on the WPSIG (Write Post/Sector Index  
Gap) bit in the Disk Control register). The Header Gap,  
Header Preamble, Synch fields, Header fields, CRC/ECC,  
and Header Postamble will all be written. The data field  
CRC/ECC will be optionally checked.  
Read Header/Read Data  
Header and data bytes are transferred to buffer memory.  
After the first Header Synch is found, the Header Bytes are  
transferred to buffer memory. If the number of Header Bytes  
read is odd, an extra dummy byte will be transferred to buff-  
er memory after each sector. Header CRC/ECC is optional-  
ly checked.  
Write Header/Write Data  
This operation will work properly only with hard sectored  
drives. All Header fields and Data fields will be written to the  
disk if they are enabled EXCEPT Gap3 . Gap3 will not be  
written with this operation.  
Format Type A  
Write Unformatted  
Internal header bytes, internal data pattern.  
This command will write a Data Segment only (although the  
Data Segment registers may be programmed to appear as a  
Header Segment). No header fields will be read, counted  
through, or written. After the specified starting condition, the  
Post Sector/Index Gap (if enabled), Data Preamble, Data  
Synch, Data Field, CRC/ECC (if enabled) and Data Postam-  
ble are written to the disk.  
This is the most simple type of format. All fields in the head-  
er and data segments are generated from the internal Disk  
Data Controller registers. This mode is usually used for an  
interleave of one. The multi-sector operation capability of  
the DP8496/7 increments the Sector Number register which  
is written in each sector.  
24  
4.0 Functional Description (Continued)  
This command may be used for many special applications  
such as:  
1
0
An interrupt will be generated as determined by Table  
4.17. In general this will generate an interrupt at each  
Index pulse for soft sectored drives, each Index or AMF  
signal for pseudo-hard sectored drives, or at each In-  
dex or Sector pulse for hard sectored drives.  
1. Writing data fields that are split by servo information.  
2. Writing to non-hard sectored Header Segments.  
3. Headerless sectoring.  
An interrupt will be generated by each Index pulse.  
This command could be useful when used with the LOI  
(Load On Index) bit in the Timer Prescaler register. Write  
Unformatted can be ‘‘dropped’’ accurately on the track us-  
ing the time from Index as a count.  
HSS: Hard or Soft Sectored  
Works in conjunction with the DT (Drive Type) bit to control  
the AME and the AMF/Sector pins. In general, this bit  
should be set for hard or pseudo-hard sectored drives and  
cleared for soft sectored drives. Refer to Table 4.17 for the  
specific use of this bit.  
Read Unformatted  
This command will read a Data Segment only (although the  
Data Segment registers may be programmed to appear as a  
Header Segment). No header fields will be read, counted  
through, or written. After the specified starting condition, a  
Data Synch will be searched for. After Data Synch is found,  
the data field will be read and transferred to buffer memory.  
Data CRC/ECC will be optionally checked.  
DT: Drive Type  
Works in conjunction with the HSS (Hard/Soft Sectored) bit  
to control the AME and the AMF/Sector pins. In general,  
this bit should be set for pseudo-hard sectored drives. Refer  
to Table 4.17 for the specific use of this bit.  
This command could be useful when used with the LOI  
(Load On Index) bit in the Timer Prescale register. Read  
Unformatted can be ‘‘dropped’’ accurately on the track us-  
ing the time from Index as a count. It is also useful for read-  
ing split data fields due to embedded servo.  
WPSIG: Write Post Sector/Index Gap  
This bit is only used in Write Header or Format operations.  
1
WGATE is asserted during the Post Sector/Index Gap  
when a header is written.  
0
WGATE is not asserted during the Post Sector/Index  
Gap.  
Start Correction Cycle  
This command will start the internal ECC correction cycle.  
When the correction cycle has completed, A Disk Comple-  
tion Interrupt will be generated. If the correction cycle was  
successful, no error will be indicated. If unsuccessful, a Disk  
Complete Interrupt will occur with an error indication. The  
Disk Status register will report the Correction Failed condi-  
tion. This operation, like all other operations, may be started  
any time another disk operation is not in progress. Refer to  
Section 4.3.4 for a discussion of the procedure for correct-  
ing the data.  
WGF: Write Gate Format  
This bit will allow a single revolution format operation with  
an RLL code. In some applications, if WGATE pulses low for  
2 bit times, an external ENDEC will generate a valid pream-  
ble pattern. This bit will only effect the operation of WGATE  
during the Data Gap field.  
1
WGATE is deasserted for 2 bit times at the beginning of  
the Data Gap field of each sector written.  
0
WGATE remains asserted throughout the Data Gap  
field.  
Disk Control (DCTL)  
11h  
R/W  
0
7
6
5
4
3
2
1
PLL: PLL Recovery Time  
IR  
I/S  
HSS  
DT  
WPSIG  
WGF  
PLL  
RES  
This bit is only used in soft sectored mode. It is used to  
control the amount of PLL relock time given to an external  
synchronizer. When used with the National’s DP8459 or  
DP8469 the two byte choice gives the shortest necessary  
preamble lengths and takes advantage of the zero phase  
start of these PLLs. When using other PLLs, the six byte  
choice should be used. See Section 4.3.4.  
IR: Interlock Required  
1
The Interlock register (Header Byte Counter register)  
must be written to after the Disk Data Controller has  
completed a header operation and before the begin-  
ning of the Data Postamble field. If the Interlock register  
is not written to in time, the command will terminate  
with the LI (Late Interlock) bit in the Disk Status register  
set to ‘‘1’’. This allows the safe updating of header for-  
matting registers during a Format operation. Normally  
used with the H/NC (Header Complete or Next Com-  
mand) bit in the Disk Interrupt Enable register set to ‘‘1’’  
to enable Header Complete interrupts. See Section  
4.3.4 for a description of this technique.  
1
RGATE is deasserted for six byte times following a  
synch mis-compare in Soft Sector mode.  
0
RGATE is deasserted for two byte times following a  
synch mis-compare in Soft Sector mode.  
RES: Reset  
1 Reset Active: Setting this bit initiates a Disk Data Con-  
troller reset operation. Any disk command which may  
be in progress will be terminated after transferring up to  
four additional bytes. See Table 3.1 for a summary of  
registers affected by this reset.  
0
Normal operation. No interlock function.  
I/S: Index/Sector/AMF Interrupt  
This bit controls the generation of an interrupt at each index,  
sector, or AMF. This interrupt may be masked by the I/S  
(Index/Sector) bit in the Disk Interrupt Enable register.  
This bit will also be set by asserting the CRST pin.  
Once this bit is set (even by CRST), the only method to  
clear it is by writing a zero to this bit.  
0
Normal Operation: Clearing this bit terminates the reset  
condition. The processor must wait a minimum of 17  
RCLK cycles after reset has begun before clearing re-  
set.  
25  
4.0 Functional Description (Continued)  
Disk Status (DSTAT)  
14h  
R Only  
011 Data Synch Failed: If a sector or index pulse occurs  
while the DP8496/7 is waiting to byte align on the first  
7
6
5
4
3
2
1
0
Ý
Ý
Ý
data synch field (Synch 1, or Synch 2 if Synch  
1
LI  
DL  
SOR  
EC  
SC  
is disabled). This error will occur at the sector or index  
pulse.  
These codes allow processor monitoring of the progress of  
disk commands and a check on completion. Some of the  
information here is redundant to information provided in the  
Disk Interrupt register.  
This error code is also set if the DP8496/7 byte aligns  
to the first synch byte of the data field but does not  
Ý
match to subsequent bytes (more bytes of Synch  
Ý
1
or Synch 2). This error will occur at the synch byte  
that does not match.  
LI: Late Interlock  
Will only occur if the IR (Interlock Required) bit in the Disk  
Control register is set to ‘‘1’’. The processor has failed to  
write to the Interlock register (Header Byte Count register)  
before the end of the data field of the present sector. The  
current command will terminate at the end of the data field.  
This status register will be updated immediately.  
100 Correction Failed: Only possible after a Start Correc-  
tion Cycle command. This indicates that the error can-  
not be corrected by the DP8496/7.  
101 Data Field Error:: Occurs when a CRC/ECC error is  
detected during an Ignore, Verify, or Read Data Field  
operation if the Data CRC/ECC verification is enabled  
in the ECC Control register.  
This error will only occur due to system design errors.  
This error could occur in combination with the Data Field  
Error, Sector Overrun Error, or the Data Lost Error.  
110 Read Header Fault: Occurs only when a CRC/ECC  
error is detected during a Read Header operation if  
Header CRC/ECC verification is enabled by the ECC  
Control register. CRC/ECC faults during an Ignore or  
Compare Header operations are reported in the  
Status Code field as a Header Fault. This error occurs  
at the end of the header field.  
DL: Data Lost  
This error will occur during a disk transfer if the FIFO over-  
flows or underflows as data is transferred to or from buffer  
memory. The data transferred to or from the disk during this  
condition is invalid. The status register will be updated im-  
mediately. The current command will terminate after the  
current sector is completely written to the disk. The com-  
mand will terminate immediately for a non-write operation.  
111 Disk Parity Error: Occurs if a parity error is detected  
in the buffer memory during any disk write operation if  
buffer parity is enabled in the Setup 2 register. The  
data will be written to the disk normally as if there  
were no error. This status register will be updated im-  
mediately. The current command will terminate after  
the current sector is completely written to the disk.  
This error will only occur due to system design errors. For  
example, when not enough memory bandwidth has been  
allocated for the disk data rate. Since disk transfers have  
the highest priority, this should be a rare occurrence indeed!  
This error could occur in combination with the Sector Over-  
run Error, Late Interlock Error, Data Field Error, Header  
Fault Error, or the Disk Parity Error.  
SC: Status Codes  
00 Idle: The Disk Data Controller is not executing a com-  
mand, or has started executing a command but is wait-  
ing for the starting condition.  
SOR: Sector Overrun  
01 Header In Progress: The sequencer in the Disk Data  
Controller is in the Header section of the flowchart in  
This error will occur when a sector or index pulse is detect-  
ed while reading or writing in the middle of a sector. Specifi-  
cally, for soft sectored drives, if RGATE is active, the first  
header synch byte has already been found, and a sector or  
index pulse is received, this error will be set. For hard sec-  
tored drives, the same conditions apply except no synch  
bytes need to be found.  
Figure 4.4 . The disk sequencer is searching for  
a
match on a compare header operation, reading a head-  
er in a read header operation, or writing a header in a  
write header or format operation.  
If a ‘‘Sector Not Found’’ or ‘‘Header Failed Although  
Sector Matched’’ error occurs, this Status Code will re-  
main frozen until the next Disk Command or Reset.  
Also, if WGATE is active, this error will occur when a sector  
or index pulse is received, except in the case of a soft sec-  
tored Format command while GAP 3 is being written.  
10 Header Fault: While the Disk Data Controller is search-  
ing for the requested header during any header opera-  
tion, all headers read will be scanned for CRC/ECC  
errors if enabled. This Header Fault code (10) will be  
set if a CRC/ECC error is detected in any header field  
encountered. However, if the header being sought is  
found and has no CRC/ECC error, the Header Fault  
code is changed to Data Operation In Progress (11). If  
the header being sought is not found and a Header  
Fault occurred, the Header Fault code (10) will remain  
frozen until the next Disk Command or Reset. This  
code could provide useful diagnostic information if a  
Sector Not Found error occurs.  
This error could occur in combination with the Data Lost  
Error, Late Interlock Error, Data Field Error, Header Fault  
Error, or the Disk Parity Error.  
EC: Error Code  
000 No Encoded Error.  
001 Header Failed Although Sector Matched: At least  
one of the header bytes marked with the SM (Sector  
Matched) bit in the corresponding Header Control reg-  
ister(s) matched correctly, but other header bytes  
were in error. This error will occur at the end of the  
header field who’s sector number matched.  
010 Sector Not Found: When the desired header cannot  
be found before two consecutive index pulses in any  
non-write Header operation. This error will occur at the  
second index pulse.  
26  
4.0 Functional Description (Continued)  
11 Data Operation In Progress: The sequencer in the  
Disk Data Controller is in the Data section of the flow-  
chart in Figure 4.5 . In compare header operation, the  
header has been found. In a read header operation, a  
header has been read. In a write header operation a  
header has been written. This state is entered at the  
end of the Data Synch field which coincides with Head-  
er Complete Interrupt if enabled. This is at the point at  
which the Sector Byte Count registers are down-load-  
ed.  
GCI: Group Complete Interrupt  
This indicates that the Sector Count register can be reload-  
ed. This occurs at the end of the data field of the last sector  
in a multi-sector command. This interrupt will only be set if  
the Sector Count register has been written to since the last  
down-load of the Sector Count register.  
SCI: Sector Complete Interrupt  
This interrupt is set after the last byte of a sector has been  
read and the CRC/ECC was good. This interrupt will not be  
set at the end of the last sector of a multi-sector operation.  
OR  
Correction Cycle In Progress: Set when the Start  
Correction Cycle command is written to the Disk Com-  
mand register and remains until the Disk Complete In-  
terrupt.  
H/NC: Header Complete or Next Command  
This is a dual function interrupt defined by HC bit in the Disk  
Interrupt Enable register.  
When HC bit in the Disk Interrupt Enable register is ‘‘1’’  
(Header Complete), an interrupt will be generated at the end  
of the ID Segment. This is also where the Sector Byte Count  
registers are down-loaded. This will indicate when a new  
sector byte count or other format register can be loaded.  
This feature could be used to alter the length of sectors on  
the same track. See Section 4.3.4.  
Disk Interrupt (DINT)  
12h  
R/W  
0
7
6
5
4
3
2
1
TI  
E/R  
I/S  
GCI  
SCI  
H/NC  
CCI  
This register indicates interrupts that have occurred. There  
are two types of interrupts, checkpoint and completion.  
When HC in the Disk Interrupt Enable register is ‘‘0’’ (Next  
Command), an interrupt will be generated, as soon as a  
pending disk command is down-loaded. This will indicate  
when a new command may be written to the Disk Command  
register for disk command pipelining. See Section 4.3.4.  
Checkpoint interrupts (bits 27) are separated into separate  
bits and may be asserted simultaneously. These interrupts  
may be cleared only by writing a ‘’1’’ into the corresponding  
bit location. These bits may be cleared individually or simul-  
taneously.  
Completion interrupts are encoded into bits 01. Only one  
completion interrupt may be read at time. Completion inter-  
rupts may be cleared only by writing the same two bit pat-  
tern back to the Disk Interrupt register. A completion inter-  
rupt may be cleared simultaneously with other checkpoint  
interrupts.  
CCI: Command Completion Interrupt  
One of these three codes will be obtained upon completing  
a disk command. They are cleared by writing the exact code  
pattern back to this register. For instance, a ‘‘11’’ will not  
clear a ‘‘01’’ coded interrupt.  
00 No Interrupt.  
Interrupts will be reported in the Disk Interrupt register al-  
ways, independent of the Disk Interrupt Enable register.  
01 No Error: Disk command complete. Set upon comple-  
tion of any buffer memory activity and reads or writes to  
the drive. Also set upon the successful completion of a  
correcton cycle.  
If enabled interrupts remain after writing to the Disk Interrupt  
register, the DINT pin will deassert momentarily to retrigger  
an edge sensitive interrupt input to the processor.  
10 Error: Any error which aborts a disk command other  
than a Verify command. The specific error condition is  
coded in the Disk Status register.  
This register is latched to prevent the contents from chang-  
ing while reading the register.  
11 Verify Data Error: If a data mis-compare occurs during  
a Verify Data command, this code will result. If this error  
occurs during a multi-sector operation, the rest of multi-  
sector operation will not complete. Other errors may  
occur at the same time as this error and will be reported  
appropriately in the Disk Status register.  
TI: Timer Interrupt  
This bit is set when the Timer Count register has reached  
zero. The Timer description can be found in Section 4.5.  
E/R: Buffer Memory Data Error/Ready  
If the BMD (Buffer Memory Data) bit in the Disk Interrupt  
Enable register is set to ‘‘0’’, the E/R bit indicates that the  
Buffer Memory Data register is ready to be read or written.  
Also, the Processor Pointer registers may be modified.  
Disk Interrupt Enable (DINTE)  
13h  
R/W  
0
7
6
5
4
3
2
1
TI  
BMD  
I/S  
GCI  
SCI  
H/NC  
HC  
CCI  
If the BMD bit in the Disk Interrupt Enable register is set to  
‘‘1’’, this bit indicates that an interrupt error has occurred.  
The processor has attempted to read or write to the Buffer  
Memory Data register too quickly. The read or write was  
unsuccessful. See Section 4.2.8.  
TI, I/S, GCI, SCI, H/NC  
Setting these bits to a ‘‘1’’ will individually enable the corre-  
sponding interrupt as described in the Disk Interrupt regis-  
ter. When set to a zero, the interrupt functions are still active  
in the Disk Interrupt register, but will not assert the interrupt  
pin. Interrupts should be cleared from the Disk Interrupt reg-  
ister whether or not they are enabled in the Disk Interrupt  
Enable register.  
I/S: Index or Sector  
This interrupt is generated according to Table 4.17 if the I/S  
(Index/Sector) bit in the Disk Control register is set to one. If  
the I/S it is set to zero, this interrupt will be generated at  
each Index pulse.  
27  
4.0 Functional Description (Continued)  
BMD: Buffer Memory Data  
Sector Count (SC)  
17h  
R/W  
0
7
6
5
4
3
2
1
1
Enables the Buffer Memory Data register Error interrupt  
function. Interrupt will occur when the processor has  
read or written the Buffer Memory Data register too  
quickly.  
Count  
Sets the number of sectors to operate on in a multi-sector  
operation.  
0
Enables Buffer Memory Data Ready function (no inter-  
rupt). The processor can poll the Disk Interrupt register  
to see if enough time has passed to read or write to the  
Buffer Memory Data register.  
Sector Count is really two registers called Active and Hold-  
ing. The holding register is down-loaded by the Disk Data  
Controller to the active register at the same time a new  
command is down-loaded from the Disk Command register  
(just before the new command begins).  
HC: Header Complete  
1
0
Defines the H/NC interrupt as ‘‘Header Complete’’.  
Defines the H/NC interrupt as ‘‘Next Command’’.  
The Sector Count register is also down-loaded following the  
last sector operation which decrements the active Sector  
Count to zero. This down-load will only occur if a new value  
has been written to the Sector Count register after a previ-  
ous down-load and before the zero detection. If this down-  
load occurs, the current disk command will continue with  
this new Sector Count.  
CCI: Command Complete Interrupt  
1
Enables all disk Command Complete Interrupts (CCI  
field in the Disk Interrupt register).  
0
Disables all disk Command Complete Interrupts.  
The processor may access either active or holding register  
through this address as controlled by the A/H (Ac-  
tive/Holding) bit in the SCSI Operation register. Normally,  
the processor should only access the holding register.  
Sector Number (SN)  
15h  
R/W  
0
7
6
5
4
3
2
1
Pattern  
The contents of this register will replace any header byte  
where the SN (Sector Number Substitution) bit is set to ‘‘1’’  
in the corresponding Header Byte Control register. This reg-  
ister will be incremented after each sector operation is com-  
pleted during a multi-sector command. This register should  
be initialized with the desired starting sector number for a  
multi-sector command.  
ECC Control (EC)  
07h  
R/W  
0
7
6
5
4
3
2
1
PRE  
DE  
HE  
Span  
PRE: Preset Control  
0
1
A zeros preset is used for all CRC/ECC calculations.  
A ones preset is used for all CRC/ECC calculations.  
This is the normal setting for most applications.  
This allows sequential logical sectors to be accessed during  
multi-sector commands without processor intervention.  
DE: Data Error Check Enable  
Header Byte Count/Interlock (HBC) 16h  
R/W  
0
7
6
5
4
3
2
1
This bit controls the verification of the CRC/ECC in the Data  
Segment during a Read, Ignore, or Verify Data operation.  
x
x
x
x
x
Count  
1
0
Data field CRC/ECC is verified.  
Count is the number of header bytes in the Header Seg-  
ment. The Count field must be loaded by the processor only  
for a Format C or Format D command. This count will allow  
the Disk Data Controller to request the proper number of  
header bytes from the buffer memory. Allowable values for  
count are 3 to 6. An even number of header bytes will al-  
ways be transferred to and from buffer memory even though  
only the specified count will be used in the header.  
Data field CRC/ECC is not verified.  
HE: Header Error Check Enable  
This bit controls the verification of the CRC/ECC in the  
Header Segment during an Ignore, Compare or Read Head-  
er operation.  
1
0
Header field CRC/ECC is verified.  
Header field CRC/ECC is not verified.  
This register is also used in interlock mode to signal com-  
pletion to the Disk Data Controller if registers were updated  
by the processor between sectors. If the processor fails to  
write to this register before the end of the sector when the  
interlock mode is enabled, a Late Interlock error will be gen-  
erated and the disk operation will be aborted.  
SPAN  
Span bits 0–4 are set for the longest burst error that is to be  
corrected. Allowable values are 3 to 28, depending on poly-  
nomial. Values under 3 will default to 3. Refer to Table 4.18  
in Section 4.3.4 for recommended values for SPAN. This  
value is only used during the Start Correction Cycle com-  
mand.  
28  
4.0 Functional Description (Continued)  
TABLE 4.13. ECC Byte Ordering  
Syndrom Bytes (Most Significant to Least Significant)  
(Individual Bits Are in Reverse Order)  
CRC/ECC  
Selected  
When Read  
Most Significant Byte  
Least Significant Byte  
16-Bit  
32-Bit  
48-Bit  
56-Bit  
ESR6  
ESR6  
ESR6  
ESR6  
ESR0  
ESR5  
ESR5  
ESR5  
ESR1  
ESR4  
ESR4  
ESR0  
ESR2  
ESR3  
No  
Correction Cycle  
ESR1  
ESR2  
ESR0  
ESR1  
ESR0  
Correction Mask (Read in Order)  
(Individual Bits Are in Correct Order)  
1st  
2nd  
3rd  
4th  
5th  
32-Bit  
48-Bit  
56-Bit  
ESR1  
ESR1  
ESR1  
ESR5  
ESR2  
ESR2  
ESR6  
ESR4  
ESR3  
After Successful  
Correction Cycle  
ESR5  
ESR4  
ESR5  
e
Note: ESRx  
ECC Shift Register x.  
ECC Shift Register (ESRx)  
0006h  
R Only  
4.14 and Table 4.15 to relate each pattern and control regis-  
ter to the actual disk format.  
7
6
5
4
3
2
1
0
Pattern  
These registers should be loaded during the initialization  
process for the particular format chosen. Reset does not  
effect these registers.  
The shift register will yield different types of information de-  
pending on when it is read. If read after a successful disk  
data read or write operation, they contain zeros.  
Be sure to observe the restrictions on count fields being set  
to zero as specified in the individual register descriptions.  
There are some count fields which may not be zero. All  
fields listed in Table 4.14 and 4.15 are programmable.  
Reading the shift register after an CRC/ECC error produces  
the syndrome bytes for that particular error. This syndrome  
may be stored and compared with syndromes from multiple  
reads to verify a hard error condition.  
RGATE and WGATE are asserted during certain fields. This  
is shown in Figure 4.9 and Figure 4.10 at the end of the  
section on Disk Operations (4.3.4).  
An error correction command may be issued to attempt to  
correct the data read from the disk. When the ECC Shift  
Register is read after a successful correction cycle it con-  
tains a correction mask which can be used to correct the  
error contained in Buffer Memory. See Section 4.3 for a  
discussion of the procedure for error correction.  
Post Sector/Index Count (PSIG) 20h  
R/W  
0
7
6
5
4
3
2
1
Count  
Sets the number of bytes in the Post Sector/Index field. The  
pattern used is from the Gap 3 Pattern register. WGATE will  
be asserted during this field according to the WPSIG (Write  
Post Sector/Index Gap) bit in the Disk Control register. This  
field can be used to skip sectored or wedge servo fields.  
RGATE is never asserted during this field for hard and pseu-  
do-hard sectored drives. The Post Sector/Index field is not  
used if the DCOZ (Drive Command On Zero) bit is set in the  
Timer Prescale register).  
ECC Byte CountÐLow (ECCL)  
18h  
R Only  
0
7
6
5
4
3
2
1
Byte Count (Low)  
ECC Byte CountÐHigh (ECCH) 19h  
R Only  
0
7
6
5
4
3
2
1
Byte Count (High)  
These two registers contain an offset byte count after a  
correction cycle, which when added to the address of the  
start of the offending sector, identifies the location of the  
error. These registers only contain valid information after  
the end of a correction cycle.  
For soft-sectored drives, PSIG is only used before the first  
sector. For other sectors, PSIG is assumed to have a length  
of one. Range is 1FF.  
Header Preamble Count (HPC)  
21h  
R/W  
0
7
6
5
4
3
2
1
4.3.3 Format Registers  
Header Gap  
Header Preamble  
The disk format is defined by using the format pattern and  
control registers. Generally these registers are set up in  
pairs: a pattern register and a control register. In each pair,  
the pattern register is loaded with an appropriate 8-bit pat-  
tern that will be written to the disk during a Format or Write  
operation, or will be used during a Read or Compare opera-  
tion for byte alignment or a comparison in locating a sector.  
The control register will generally determine how many  
times the pattern is repeated, or the count. Refer to Table  
Header Gap  
Sets the number of bytes in the Header Gap field. The pat-  
tern used is from the Preamble Pattern register. Used to  
separate the time between RGATE and WGATE assertions.  
WGATE is always asserted during this field for a write oper-  
ation. RGATE is never asserted during this field for hard and  
pseudo-hard sectored drives. Range is 17.  
29  
4.0 Functional Description (Continued)  
TABLE 4.14. Register Addresses for Format of ID Segment (Hex)  
Hdr  
Hdr  
CRC/  
ECC  
Hdr  
PSIG  
Snyc1  
Snyc2  
Hdr0  
Hdr1  
Hdr2  
Hdr3  
Hdr4  
Hdr5  
Gap  
Prmbl  
Post  
Pattern  
Control  
Range  
3A  
20  
22  
21  
22  
21  
24  
23  
25  
23  
27  
26  
28  
26  
2A  
29  
2B  
29  
2D  
2C  
2E  
2C  
auto  
2F  
30  
2F  
1–FF  
1–7  
0–1F  
0–7  
0–1F  
0–1  
0–1  
0–1  
0–1  
0–1  
0–1  
0–7  
3–1F  
TABLE 4.15. Register Addresses for Format of Data Segment (Hex)  
Data  
Data  
CRC/ Data  
Sync1 Sync2  
Data Field  
Gap3  
Gap Prmbl  
ECC  
auto  
38  
Post  
Pattern  
Control  
Range  
22  
31  
22  
31  
33  
32  
34  
32  
37  
35, 36  
30  
3A  
39  
38  
1–7  
0–1F  
0–7  
0–1F  
10FFFE (Must Be Even)  
0–7  
1–1F 1FF  
Header Byte 0,1 Control (HC01) 26h  
R/W  
Header Preamble  
7
6
5
4
3
2
1
0
Sets the number of bytes in the Header Preamble for the  
PLL to lock to. The pattern used is from the Preamble Pat-  
tern register. Range is 01F.  
NC0  
SM0  
SN0  
HB0  
NC1  
SM1  
SN1  
HB1  
This register does not perform any pattern repetition, nor  
does it define a field size. It is provided to control the func-  
tion of each corresponding header byte. There is one Head-  
er Byte Control register for each pair of the six Header Byte  
Pattern registers. The upper four bits correspond to one pat-  
tern register. The lower four bits correspond to another pat-  
tern register.  
Preamble Pattern (PREP)  
22h  
R/W  
0
7
6
5
4
3
2
1
Pattern  
Pattern used for the Header Gap, Header Preamble, Data  
Gap, and Data Preamble fields. This pattern must be all  
zeros for a soft-sectored drive.  
NC: Not Compared  
Ý
Ý
Header Sync 1, 2 Count (HSC) 23h  
R/W  
0
1
This header byte will always match true for a Compare  
Header operation.  
7
6
5
4
3
2
1
Ý
Ý
2
Synch  
1
Synch  
0
This header byte will be compared normally without  
modification of the outcome.  
Ý
Ý
Sets the number of bytes in the Synch 1 and Synch 2  
fields. The range of Synch 1 is 07. The range of Synch  
SM: Header Failed Although Sector Matched Enable  
Ý
Ý
At least one must be non-zero.  
Ý
Ý
2 is 01F. Both Synch 1 and Synch 2 cannot be zero.  
1
The Header Failed Although Sector Matched function is  
enabled for this header byte. While searching for a  
matching Header Segment, if this field matches while  
other header bytes don’t, an error is reported in the  
Disk Status register. Typically, this would be the sector  
number field. See Section 4.3.4 for additional informa-  
tion.  
For soft sectored drives, AME is generated while writing the  
Ý
Synch 1 field to the disk. AMF is expected while reading  
Ý
Synch 1 from the disk.  
Ý
Header Synch 1 Pattern (HSP1) 24h  
R/W  
0
7
6
5
4
3
2
1
0
The Header Failed Although Sector Matched function is  
not enabled for this header byte.  
Pattern  
SN: Sector Number Substitution  
Ý
Pattern used for the Synch 1 field. Can be used as an  
Address Mark in soft sectored formats.  
1
The contents of the Sector Number register are substi-  
tuted for this Header Byte pattern during a Write Head-  
er operation and compared during a Compare Header  
operation. This is normally used in multi-sector com-  
mands.  
Ý
Header Synch 2 Pattern (HSP2) 25h  
R/W  
0
7
6
5
4
3
2
1
Pattern  
0
The contents of the Header Byte Pattern register is writ-  
ten to the disk for a Write Header operation and com-  
pared during a Compare Header operation.  
Ý
Pattern used for the Synch 2 field.  
30  
4.0 Functional Description (Continued)  
HB: Header Byte Active  
Header Byte 5 Pattern (HP5)  
2Eh  
R/W  
0
7
6
5
4
3
2
1
1
This header byte contains valid data and will be used in  
the header operation.  
Pattern  
These seven locations (0006h) contain the CRC/ECC shift  
register contents. The register ordering is determined by the  
CRC/ECC polynomial selected and whether a correction cy-  
cle has taken place. This ordering is shown in Table 4.13.  
Pattern used for Header Byte 5.  
Header ECC and Postamble Count (HECC) 2Fh  
R/W  
0
7
6
5
4
3
2
1
0
This header byte is not included in the header byte field  
and will not be used in the header operation. The SN,  
SM, and NC bits for this header byte must also be set to  
zero. Only the upper 4 bits or the lower 4 bits may be  
set to all zero for each Header Byte Control register,  
not both. This implies that the minimum number of  
Header Bytes is three, and the maximum is six.  
CRC/ECC  
Postamble Count  
CRC/ECC  
000: No CRC/ECC  
010: 16-Bit CRC  
100: 32-Bit ECC  
110: 48-Bit ECC  
111: 56-Bit ECC  
Header Byte 0 Pattern (HP0)  
27h  
R/W  
0
7
6
5
4
3
2
1
Postamble Count  
Pattern  
Number of bytes in the Header Postamble. Range is 31F.  
Pattern used for Header Byte 0.  
Postamble Pattern (POSTP)  
30h  
R/W  
0
Header Byte 1 Pattern (HP1)  
28h  
R/W  
0
7
6
5
4
3
2
1
7
6
5
4
3
2
1
Pattern  
Pattern  
Pattern used for Header Postamble field and Data Postam-  
ble field.  
Pattern used for Header Byte 1.  
Header Byte 2,3 Control (HC23) 29h  
R/W  
0
Data Preamble Count (DPC)  
31h  
R/W  
0
7
6
5
4
3
2
1
7
6
5
4
3
2
1
NC2  
SM2  
SN2  
HB2  
NC3  
SM3  
SN3  
HB3  
Data Gap  
Data Preamble  
Same as Header Byte 0,1 Control but for Header Bytes 2  
and 3.  
Data Gap  
Sets the number of bytes in the Data Gap field. The pattern  
used is from the Preamble Pattern register. Used to sepa-  
rate the time between RGATE and WGATE assertions.  
WGATE is always asserted during this field for a write oper-  
ation. RGATE is never asserted during this field for hard and  
pseudo-hard sectored drives. Range is 17.  
Header Byte 2 Pattern (HP2)  
2Ah  
R/W  
0
7
6
5
4
3
2
1
Pattern  
Pattern used for Header Byte 2.  
Data Preamble  
Header Byte 3 Pattern (HP3)  
2Bh  
R/W  
0
Sets the number of bytes in the Data Preamble for the PLL  
to lock to. The pattern used is from the Preamble Pattern  
register. Range is 01F.  
7
6
5
4
3
2
1
Pattern  
Pattern used for Header Byte 3.  
Ý
Ý
Data Synch 1, 2 Count (DSC) 32h  
R/W  
0
7
6
5
4
3
2
1
Header Byte 4,5 Control (HC45) 2Ch  
R/W  
0
Ý
Ý
2
Synch  
1
Synch  
7
6
5
4
3
2
1
NC4  
SM4  
SN4  
HB4  
NC5  
SM5  
SN5  
HB5  
Ý
Ý
2
fields. The range of Synch 1 is 07. The range of Synch  
Sets the number of bytes in the Synch 1 and Synch  
Ý
Same as Header Byte 0,1 Control but for Header Bytes 4  
and 5.  
Ý
At least one must be non-zero.  
Ý
Ý
2 is 01F. Both Synch 1 and Synch 2 cannot be zero.  
Header Byte 4 Pattern (HP4)  
2Dh  
R/W  
0
For soft sectored drives, AME is generated while writing the  
Ý
7
6
5
4
3
2
1
Synch 1 field to the disk. AMF is expected while reading  
Ý
Synch 1 from the disk.  
Pattern  
Pattern used for Header Byte 4.  
31  
4.0 Functional Description (Continued)  
Ý
Data Synch 1 Pattern (DSP1)  
33h  
R/W  
Gap 3 Byte Count (GAPC)  
39h  
R/W  
0
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
Pattern  
Count  
Ý
Pattern used for the Synch 1 field. Can be used as an  
Address Mark in soft sectored formats.  
Number of bytes in Gap 3. In hard sectored mode, this  
count must be programmed small enough to time-out before  
the next Index or Sector pulse.  
Ý
Data Synch 2 Pattern (DSP2)  
34h  
R/W  
0
7
6
5
4
3
2
1
During a soft-sectored Format operation, Gap 3 functions  
normally except after the last sector. After the last sector,  
the Gap 3 pattern is repeated until the Index pulse is re-  
ceived. The Gap 3 Byte Count is ignored after the last sec-  
tor.  
Pattern  
Ý
Pattern used for the Synch 2 field.  
Sector Byte CountÐLow (SBCL) 35h  
R/W  
0
Gap 3 Pattern/PSIG (GAPP)  
3Ah  
R/W  
0
7
6
5
4
3
2
2
1
1
7
6
5
4
3
2
1
Count  
Pattern  
Sector Byte CountÐHigh (SBCH) 36h  
R/W  
0
Pattern used in Gap 3 field and Post Sector/Index Gap field.  
7
6
5
4
3
Count  
These two registers set the number of data bytes in a sec-  
tor. The range of the combined value for the Byte Count is  
10hFFFEh. This must be an even number.  
Data Format Pattern (DFP)  
37h  
R/W  
0
7
6
5
4
3
2
1
Pattern  
Pattern used for the data field during a Format Type A or C.  
For Format Types B and C, the data field will be transferred  
from buffer memory.  
Data ECC and Postamble Count (DECC) 38h  
R/W  
0
7
6
5
4
3
2
1
CRC/ECC  
Postamble Count  
CRC/ECC  
000: No CRC/ECC  
010: 16-Bit CRC  
100: 32-Bit ECC  
110: 48-Bit ECC  
111: 56-Bit ECC  
Postamble Count  
Number of bytes in the Data Postamble. Range is 11F.  
32  
4.0 Functional Description (Continued)  
4.3.4 Disk Operations  
The flowchart inFigure 4.6 describes how to implement sim-  
ple commands such as reading data from the disk, writing  
data to the disk, and formatting the disk. This flowchart has  
been kept quite simple. More advanced techniques may be  
used to streamline performance, such as pipelining com-  
mands. Some of these techniques are described later.  
The DP8496/7 has been designed to offer a great deal of  
flexibility in many areas. The disk formats that may be used  
are quite varied. The procedures that the processor may  
use to access information on the disk are varied as well.  
TL/F/1121213  
FIGURE 4.6. Software Flowchart for Simple Disk Operations  
33  
4.0 Functional Description (Continued)  
Extending the Current Disk Command  
interrupt occurs, a new disk command may be written to the  
Disk command register. This new disk command will be  
downloaded and executed after the current disk command  
has completed all of its operations. If the current disk com-  
mand is multi-sectored, the new disk command will not be  
downloaded until all the sector operations have completed.  
Disk commands with the MSO (Multi-Sector Operation) bit  
set to ‘‘1’’ in the Disk Command register may be extended  
to transfer more sectors than originally programmed. If a  
new value is written to the Sector Count register while a disk  
command is executing, the new value will be downloaded  
from the holding register to the active register when the  
active Sector Count reaches zero. A new Disk Pointer will  
also be downloaded at the same time if a new value has  
been written to the Disk Pointer registers.  
The Sector Count register will also be downloaded at the  
same time a disk command is downloaded. If a new value is  
not written to this register, the value from the previous  
download will be used. A new Disk Pointer will also be  
downloaded at the same time as the new disk commandÐ  
but only if the Disk Pointer has been written to since the last  
disk command download.  
A new, pipelined Sector Count may be written to the Sector  
Count register any time before the active Sector Count  
reaches zero. The Sector Count register should not be up-  
dated again (after the first pipelined value) until the previous  
pipelined value has been downloaded. The ‘‘Group Com-  
plete’’ interrupt indicates when a pipelined Sector Count  
and Disk Pointer is downloaded. After this interrupt is re-  
ceived, the Sector Count register and Disk Pointer registers  
may be updated again.  
Disk commands may be pipelined multiple times if desired.  
Simply wait for the ‘‘Next Command’’ interrupt between  
each update of the Disk Command register.  
Special Formats  
Some applications require tracks that are formatted with  
sectors of varying lengths, or sectors with different synch  
bytes, or other unique format variations. This requires modi-  
fying the header format registers ‘‘on the fly’’ during a for-  
mat operation. It is important to modify these registers only  
while they are not being used by the Disk Data Controller.  
A disk command may be extended multiple times if desired.  
Simply wait for the ‘‘Group Complete’’ interrupt between  
each update of the Sector Count register.  
Table 4.16 summarizes these interrupts.  
Pipelining Disk Commands  
The processor can use the Interlock mode and the Header  
Complete interrupt to allow modification of the disk format  
registers for the ID Segment (addresses 21h, 23h2Fh) or  
the Sector Byte Count registers (35h, 36h) during the format  
operation. The Header Complete interrupt is generated after  
the Sector Byte Count registers have been downloaded at  
the beginning of the data field. The processor has until the  
Data Postamble field to make any necessary changes to the  
desired registers and then write to the Interlock (Header  
Byte Count) register, telling the DP8496/7 that changes are  
complete. If Interlock is not received in time, a Late Interlock  
interrupt is generated.  
Disk commands may be pipelined. If a new disk command is  
written to the Disk Command register while an operation is  
executing, the new disk command will be buffered and  
downloaded internally when the current command has com-  
pleted.  
To assist in determining when a new disk command may be  
written to the Disk Command register for pipelining, an inter-  
rupt may be used. If the H/NC (Header Complete/Next  
Command) bit in the Disk Interrupt Enable register is set to  
‘‘0’’, the ‘‘Next Command’’ interrupt is enabled. When this  
TABLE 4.16. Disk Buffer Management Interrupts  
New  
Sector  
Count  
Been  
Sector  
Count  
New Disk  
Command  
Been  
Command  
Type  
Interrupt  
Type  
Comments  
Reached  
Zero?  
Loaded?  
Loaded?  
No  
X
X
SCI  
GCI  
Interim sector completed of a multi-sector operation  
Yes  
No  
Yes  
The last sector of the previous Sector Count has been  
transferred to/from the disk. Command is extended with new  
Sector Count.  
Multi-Sector  
Yes  
Yes  
X
CCI  
Previous disk command has completed. New pipelined  
command is starting.  
e
(MSO  
1)  
Yes  
X
No  
No  
X
CCI  
CCI  
Previous disk command has completed. No new command.  
Single  
Sector  
Yes  
Single sector command has completed. New pipelined command  
is starting.  
e
(MSO  
0)  
X
No  
X
CCI  
Single sector command has completed.  
e
e
e
Group Complete Interrupt, CCI Command  
Note: MSO (Multi-Sector Operation) bit is in the Disk Command register. SCI  
Sector Complete Interrupt, GCI  
Complete Interrupt.  
34  
4.0 Functional Description (Continued)  
The altered format registers will apply to the next sector to  
be operated on, regardless of whether the drive command  
is a multi-sector type or not.  
Ý
is expected for each Synch 1 byte read. In MFM systems  
this is commonly generated by a missing clock from an A1h  
byte.  
A new drive command may also be loaded along with updat-  
ing the Format registers. This would facilitate a Read Head-  
er/Read Data command (to locate track position) followed  
by a Compare Header/Read Data command (multi-sector)  
to read the rest of the track. See the previous sub-section  
for a description of how commands are pipelined.  
In the pseudo-hard sectored mode AME is used to perform  
two different functions. During a format, AME is asserted  
during the Header Gap field. This, along with the fact that  
WGATE was already asserted instructs the drive to write an  
Address Mark (the Header Gap Count should be loaded  
with a 3 according to the ANSI draft proposed ESDI specifi-  
cation). During a read or write data operation AME is assert-  
ed after the specified starting condition for a soft sectored  
drive (immediately, wait for index, wait for timer, etc.). The  
Disk Data Controller will then wait for AMF to be asserted by  
the drive before executing the command. AME will be as-  
serted again before each sector operation, and the Disk  
Data Controller will wait for the AMF before continuing.  
Changing disk format registers other than the ones listed  
above can have critical timing restrictions. In general, if the  
field to be changed for the next sector has been, or is being  
written to disk for the current sector, it is safe to change the  
count and pattern registers for that field.  
The ‘‘Header Complete’’ interrupt is enabled by setting the  
H/NC (Header Complete/Next Command) bit in the Disk  
Interrupt Enable register to a ‘‘1’’.  
Table 4.17 shows the proper state for the HSS and DT bits  
(Hard/Soft Sectored and Drive Type) in the Disk Control  
register based on the drive used.  
Single Sector Formatting  
Format operations normally start with an index pulse and  
end with the next index pulse, thus formatting one track.  
Individual sectors can be formatted for hard sectored drives  
only, via the Write Header/Write Data command. A Com-  
pare Header/Read Data may be issued before the Write  
Header/Write Data command to locate the sector preced-  
ing the sector to be formatted.  
Disk Data Error Handling  
The DP8496/7 uses a fixed 32, 48 or 56-bit ECC polynomial  
for detection and correction of errors. Correction is per-  
formed entirely on-chip with one of the fixed polynomials.  
The processor needs only to EX-OR the correction mask  
bytes contained on-chip after a successful correction cycle  
with the bytes in error in buffer memory.  
AMF/AME Operation  
It is not recommended to use the maximum correction span  
listed in Table 4.18. The chance for a mis-correction is too  
great. The recommended correction span produces the  
best trade-off between correction span and probability of  
mis-correction. The correction span is set in the ECC Con-  
trol register.  
Address mark found (input) and address mark enable (out-  
put) pins are usually used with soft sectored drives to syn-  
chronize the actual disk with DP8496/7 data operations. On  
true soft sectored drives (ST506/412 type), AME is generat-  
Ý
ed for each byte of Synch 1 generated during a format or  
write operation. On a compare or read operation, AMF  
TABLE 4.17. Drive Types  
PSIG  
AME Asserted  
during . . .  
AMF/Sector  
If I/S* Set to ‘‘1’’,  
Int. Generated:  
Drive Type  
Operation  
HSS  
DT  
Written  
Pulse Expected  
Ý
Hdr. Synch 1,  
Soft Sectored  
ST506 Type  
Format  
First Sector  
of Track  
Format  
Write  
0
0
0
0
0
0
X
Ý
Data Synch  
1
Ý
Ý
No  
No  
Data Synch  
1
Hdr. Synch  
1
Index  
Ý
Hdr. Synch 1,  
Read  
Never  
Ý
Data Synch  
1
Pseudo Hard  
Sectored  
First Sector  
of Track  
Format  
Write  
0
1
1
1
Hdr. Gap  
X
Index  
(ESDI Soft  
AMF for ESDI  
Handshake  
No  
ESDI Handshake  
Sectored)  
Index or AMF  
Using Gap Type  
Address Mark  
AMF for ESDI  
Handshake  
Read  
Format  
Format  
1
1
1
1
0
1
No  
ESDI Handshake  
Never  
Hard Sectored  
Not Using Gap  
Type Address  
Mark  
All Sectors  
All Sectors  
Sector  
Sector  
Post Sector/Index  
Gap  
Index or Sector  
Write  
Read  
1
1
0
0
No  
No  
Never  
Never  
Sector Pulse  
Sector Pulse  
Note: I/S (Index/Sector) bit is in Disk Control register. If the I/S bit is set to ‘‘0’’, an interrupt is generated at each Index pulse only.  
35  
4.0 Functional Description (Continued)  
TABLE 4.18. ECC Correction Span  
The proper procedure to perform error correction is listed  
below:  
Polynomial  
Maximum  
Recommended  
1. Clear Disk Interrupt register.  
16-Bit CRC  
32-Bit ECC  
48-Bit ECC  
56-Bit ECC  
None  
11 Bits  
15 Bits  
22 Bits  
None  
5 Bits  
2. Set the Sector Byte Count registers to the sum of the  
original sector length plus the length of the ECC polyno-  
mial (4, 6, or 7 bytes).  
11 Bits  
17 Bits  
3. Issue the Start Correction Cycle command.  
4. After the command has finished (interrupt generated),  
check the Disk Interrupt register. If an error is indicated,  
the Correction Failed bit in the Disk Status register will  
also be set. The ECC error is not correctable by the  
DP8496/7.  
CRC may be used for either Header or Data fields, or both.  
This is set in the Data or Header ECC count registers. The  
CRC-CCITT polynomial used by the DP8496/7 is given be-  
low:  
16  
x
12  
x
5
x
e
a
a
a
1
P(x)  
5. If no error is reported, the error is correctable. The ad-  
dress of the first byte in buffer memory that must be  
corrected is given by the formula below:  
The 32-bit code is a public domain, computer generated  
code. This is listed below:  
32  
28  
26  
19  
17  
x
e
a
x
a
x
a
x
a
1
P(x)  
x
x
10  
x
x
2
a
[
Contents of ECC Byte  
[
Count Register  
]
Address of Start of Sector  
b
6
a
a
a
a
]
1
The 48 and 56-bit polynomials must be licensed by National  
Semiconductor to users of the DP8496/7 for exclusive use  
in products containing the DP8496/7. The codes generated  
on disks by these polynomials may be distributed freely, as  
when used in floppy or removable hard disk media. There is  
no charge for this license.  
If the contents of the ECC Byte Count register is greater  
than or equal to the sector length, the error is in the ECC  
itself. The data in buffer memory is already correct and  
should not be modified.  
6. Use the Processor Pointer and Buffer Memory Data reg-  
ister to read the invalid bytes from buffer memory. Use  
the data in the ECC Shift Registers specified in Table  
4.13. EX-OR the first ECC Shift register byte with the first  
buffer memory byte in error. EX-OR the second ECC  
Shift register byte with the second buffer memory byte in  
error, etc.  
Operation during Correction  
The DP8496/7 can be set to correct an error any time after  
an error has been detected and before another command  
has been issued. A correction cycle will not take place un-  
less a Start Correction Cycle command has been issued.  
By the time an error is reported by the DP8496/7, the data  
read from the disk will have been transferred to buffer mem-  
ory. To correct an error, a Start Correction command must  
be issued by the processor. During the execution of this  
command, the buffer memory will not be accessed by the  
Disk Data Controller, which leaves the buffer memory free  
for other non-disk operations. At the end of the correction  
command, the processor must use the information provided  
by the DP8496/7 to manually correct the data residing in  
buffer memory.  
7. Write the corrected data back to buffer memory with the  
Processor Pointer and the Buffer Memory Data register.  
Header Diagnostic Operations  
The Header Failed Although Sector Matched function is en-  
abled independently for each header byte by the SM (Head-  
er Failed Although Sector Matched) bit in the Header Con-  
trol registers. If a Compare Header/Ignore Data operation is  
performed and the total header did not compare but any  
byte with the SM bit enabled did compare correctly, an ‘‘Er-  
ror’’ completion interrupt will be generated. The ‘‘Header  
Failed Although Sector Matched’’ status will be reported in  
the Disk Status register. The processor could then read the  
header bytes from buffer memory.  
The time it takes the Start Correction command to complete  
is determined by the error’s location in the sector. The near-  
er to the start of the sector, the longer the DP8496/7 takes  
to locate the error. This time can be determined using the  
formula shown in Figure 4.7 . It should be noted that this is  
the internal correction time only. More time is required for  
the processor to perform additional operations.  
To find the last header bytes read from the disk in the buffer  
memory, the following steps may be taken:  
1. Set the A/H (Active/Holding) bit in the SCSI Operation  
register to ‘‘1’’.  
2. The first byte of the failing header information is located  
in buffer memory at the address pointed to by:  
b
[
Number of Bytes  
[
Contents of Disk Pointer Register  
]
in Each Header  
]
TL/F/1121214  
b
3. Set the A/H bit in the SCSI Operation register back to  
‘‘0’’.  
L
X
&
Correction time  
f
e
e
e
L
X
f
Length of data and ECC fields (bits)  
Distance from start of sector to first bit in error (bits)  
Read clock frequency (Hz)  
FIGURE 4.7. Time for ECC Correction  
36  
4.0 Functional Description (Continued)  
TL/F/1121215  
FIGURE 4.8. RGATE Operation during Search for Synch  
RGATE Timing for Soft Sectors  
frequency while searching for  
a preamble and address  
mark. This algorithm is shown in Figure 4.8. While reading a  
preamble (or what the DP8496/7 thinks is a preamble), the  
first non-zero bit clears a bit counter. If the data read for this  
bit and the next 7 bits do not match the proper Synch regis-  
ter, RGATE is deasserted. If a Synch match is made, the  
read operation continues to its conclusion.  
Ideally RGATE should transition from deasserted to assert-  
ed only while the drive’s head is positioned over a preamble  
field. Proper programming of the gap lengths in the Format  
registers strive for this condition.  
However, for soft sectored drives, it is impossible to avoid  
asserting RGATE over non-preamble fields as shown in Fig-  
ure 4.9 .  
If RGATE is deasserted, it will remain deasserted for either  
two or six byte times. This time is determined by the PLL  
(PLL Recovery Time) bit in the Disk Control register.  
For soft sectored drives, the DP8496/7, employs a RGATE  
algorithm to allow an external PLL to re-lock to the proper  
37  
4.0 Functional Description (Continued)  
RGATE during Header Segment  
(Hard and Pseudo-Hard Sectored)  
RGATE during Header Segment (Soft Sectored)  
TL/F/1121217  
TL/F/1121216  
WGATE during Header Segment (Hard Sectored)  
WGATE during Header Segment  
(Soft and Pseudo-Hard Sectored)  
TL/F/1121218  
TL/F/1121219  
Note 1: While searching for the Header Preamble, RGATE will transition from asserted to deasserted following the algorithm shown in Figure 4.8.  
Note 2: RGATE will become deasserted one byte time after the end of CRC/ECC field.  
Note *: PSIG* field for soft sectored drives only appears before the first sector. For other sectors, PSIG* will have a field length of one byte.  
FIGURE 4.9. RGATE and WGATE Timing during Header Segment  
RGATE during Data Segment  
(Hard and Pseudo-Hard Sectored)  
RGATE during Data Segment (Soft Sectored)  
TL/F/1121221  
TL/F/1121220  
WGATE during Data Segment (Hard Sectored)  
WGATE during Data Segment  
(Soft and Pseudo-Hard Sectored)  
TL/F/1121222  
TL/F/1121223  
Note 1: RGATE will become deasserted one byte time after the end of CRC/ECC field. Also, if an additional sector is to be read, RGATE will become re-asserted  
after a Header Gap time plus two bytes after this point.  
FIGURE 4.10. RGATE and WGATE Timing during Data Segment  
38  
4.0 Functional Description (Continued)  
4.4 SCSI INTERFACE  
4.4.1 Simple SCSI Operations  
Primary among the objectives for the SCSI interface is to  
simplify the microprocessor’s interaction with the  
DP8496/7. The most complex portion of SCSI related code  
is usually dedicated to interrupt handling, whether vectored  
or polled. In the DP8496/7, the multi-phase commands and  
combination commands help to reduce the number of inter-  
rupts and to pre-define the reason for those interrupts which  
do occur. An interrupt mask register enables the software to  
control interrupt flow. Also, a physically separate pin dedi-  
cated for SCSI interrupts (SINT) can shorten the processor  
response time. The chip is also capable of operating in ei-  
ther the target mode, for which it is optimized, or the initiator  
mode.  
The flowchart in Figure 4.11 describes how to implement  
simple SCSI operations such as reading data from the disk  
and writing data to the disk. This flowchart has been kept  
quite simple. The next section describes the various regis-  
ters that the user must program in order to configure and  
control the SCSI Controller’s operation. More advanced  
SCSI operations are then described in Section 4.4.3.  
4.4.2 SCSI Registers  
SCSI Command (SCMD)  
40h  
W Only  
0
7
6
5
4
3
2
1
SCSI Command Opcode  
The SCSI Port can be controlled by the processor by utiliz-  
ing the DP8496/7 in one of two different modes: Automatic  
or Manual. Automatic mode enables the SCSI Command  
register and the state machines which make up the SCSI  
protocol engine to interpret and perform multi-phase or  
combination commands.  
While in Automatic mode, writing an opcode to this register  
will initiate a SCSI command. Normally other SCSI registers  
are configured before writing to this register. After the prop-  
er registers are loded, writing to this register will initiate the  
operation. Invalid opcodes should NEVER be issued. After  
any invalid opcode is written to this register, the DP8496/7  
should be reset with the CRST pin.  
Manual mode disables the SCSI Command register and  
SCSI protocol engine. The processor must then manipulate  
both the SCSI control and data bus through programmed  
I/O. The SCSI Control register and the SCSI Data register  
are the windows into the SCSI bus which allow this manipu-  
lation.  
In general SCSI commands cannot be pipelined. The combi-  
nation commands eliminate the need for most pipelining.  
New commands should be written to the SCSI Command  
register only after the previous command has completed its  
operation as indicated by its completion interrupt. See Sec-  
tion 4.4.3 for a description of certain commands that may be  
pipelined.  
The DP8496/7 may be switched between the Automatic  
and Manual modes of operation. There are a few restric-  
tions, however, and these are detailed in the SCSI Opera-  
tion register description in Section 4.4.2.  
SCSI commands which transfer information blocks may be  
extended, however. If a new value is written to the SCSI  
Block Count register, the command will continue by down-  
loading the new holding register value to the active SCSI  
Block Count register when the current active contents  
reaches zero. This is described in Section 4.4.3.  
The DP8496 provides 48 mA, single-ended transceivers on  
all SCSI bus signal pins; so the bus lines can be driven  
directly. The DP8497 version is designed to interface with  
differential transceivers external to the chip for Fast SCSI  
applications. Therefore, on the DP8497 all SCSI outputs are  
the standard, 2 mA type. Fourteen additional pins on the  
DP8497 provide direction control for the external differential  
transceivers. In the manual mode of operation, the user  
controls the transceiver direction by programming two regis-  
ters, SDIF1 and SDIF2 (4Eh and 4Fh). Also note that on the  
DP8497 all SCSI signals are active high.  
39  
4.0 Functional Description (Continued)  
TL/F/1121224  
FIGURE 4.11. Software Flowchart for Simple SCSI Operation  
40  
4.0 Functional Description (Continued)  
e
00)  
The valid SCSI Commands are listed in Table 4.19. Flow-  
charts of the multi-phase commands are shown in Figures  
4.12 to 4.19 at the end of this description of the SCMD  
register.  
Clear Pending Command (Opcode  
This command will clear the SCSI Command register of any  
outstanding or pending commands. This may be used in the  
following situations.  
1. After a ‘‘Wait for Select’’ command is written to the SCSI  
Command register, a Clear Pending Command may be  
issued to prevent the ‘‘Wait for Select’’ command from  
executing. See Section 4.4.3 for a description of the  
proper sequence to clear the ‘‘Wait for Select’’.  
TABLE 4.19. SCSI Command Opcodes  
Op-  
Command  
Mode  
Int?  
Code  
00  
2B  
32  
30  
10  
08  
3E  
3F  
3A  
3B  
0A  
0B  
0E  
0F  
3C  
38  
33  
31  
1F  
1B  
1C  
Clear Pending Command  
Reset  
I/T  
I/T  
I/T  
I
N
Y
N
N
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
2. If a new command is written to the SCSI Command regis-  
ter, and you want to prevent it from executing you may  
issue the Clear Pending Command. The following condi-  
tion may create this situation:  
Disconnect  
Message Accepted  
(Re)Select  
I/T  
I/T  
T
A. If a command is pipelined, the Clear Pending Com-  
mand may be issued to clear the pipelined command  
before it is executed. See 4.4.3 for pipelining restric-  
tions.  
Abort (Re)Select  
Receive Command  
Receive Data  
T
Receive Message  
Receive Unspecified  
Send Status  
T
B. If a command is pipelined, and the currently executing  
command terminates with an error, the pipelined  
command will not execute until the interrupt is  
cleared. The Clear Pending Command may be issued  
to clear the pipelined command before it is executed.  
T
T
Send Data  
T
Send Message  
T
Send Unspecified  
Transfer Info  
T
C. If an asynchronous event generates a completion in-  
terrupt (SCSI Bus Reset or (Re)Select) just before a  
command is written to the SCSI Command register,  
the command will be pipelined and will not execute  
until the interrupt is cleared. The Clear Pending Com-  
mand may be issued to clear the pipelined command  
before it is executed.  
I
Transfer Pad  
I
Send Disconnect  
Send End  
T
T
Reselect-Receive Data  
Reselect-Send Data  
Reselect-Receive Data-  
Disconnect  
T
T
3. Before modifying the T/I (Target/Initiator) bit in the SCSI  
Operation register, the Clear Pending Command should  
be issued. This will prevent an ‘‘Invalid Command’’ inter-  
rupt from being issued if the last command written to the  
SCSI Command register is invalid for the new mode set  
with the T/I bit. This operation is not required if you are  
sure that the last command is not invalid for the new  
mode.  
T
18  
Reselect-Send Data-  
Disconnect  
T
Y
1D  
19  
35  
36  
Reselect-Receive Data-End  
Reselect-Send Data-End  
Wait for Sel.-Busy-End  
Wait for Sel.-Receive  
Command  
T
T
T
T
Y
Y
Y
Y
4. The Clear Pending Command is used to clear the self  
test mode. The Clear Pending Command should be is-  
sued after issuing the Disconnect Self Test command.  
37  
Wait for Sel.-Receive  
Command-Disconnect  
(Re)Select Self Test  
Disconnect Self Test  
Send Data Loopback  
Receive Data Loopback  
Transfer Info Loopback  
T
Y
90  
B2  
8B  
BF  
BC  
I/T  
I/T  
T
Y
N
Y
Y
Y
T
I
e
e
Target  
Mode: I  
Initiator, T  
e
INT  
Interrupt generated at command termination? (Y/N)  
41  
4.0 Functional Description (Continued)  
e
Reset (Opcode  
2B)  
While in the Initiator mode, the ATN signal may be con-  
trolled during selection by the SWA (Select With Attention)  
bit in the SCSI Operation register.  
This command will terminate and clear the current com-  
mand (if any) and will clear any pipelined command. Refer  
to Table 3.1 for other registers that are affected by this com-  
mand. This command may be issued at any time.  
e
Abort (Re)Selection (Opcode  
08h)  
This command is used to terminate a pending (Re)select  
combination command. This command will function correct-  
ly only if the initial (re)selection has not yet begun, or while  
the (re)selection is in progress.  
At the completion of this command, the ‘‘Operation Com-  
plete’’ interrupt will be generated. This interrupt may be buff-  
ered after another interrupt as described in the SCSI Inter-  
rupt register.  
If this command is issued before or during arbitration, the  
SCSI bus is immediately released. This will result in an ‘‘Op-  
eration Complete’’ interrupt.  
e
Disconnect (Opcode  
32h)  
This command will immediately release the SCSI lines to  
the Bus Free phase. This command must be issued only if  
there are no pending commands (Status Code in SCSI  
If issued after this point but before the desired SCSI device  
has responded with the BSY signal, the SCSI Data Bus will  
be released. If the BSY signal is not detected after a certain  
delay, the SEL signal will be deasserted and the command  
will terminate with an ‘‘Operation Complete’’ interrupt. If the  
BSY signal is detected, a ‘‘Last Command Ignored’’ inter-  
rupt will be generated and the DP8496/7 will continue as if  
the Abort (Re)Selection command had not been issued at  
all (except for the ‘‘Last Command Ignored’’ interrupt). This  
follows option 2 of paragraph 5.1.3.5 of the X3.131-1986  
specification.  
e
Status register  
0111).  
This command will not generate an interrupt because it is  
immediate, without the possibility of an error.  
e
Message Accepted (Opcode  
30h)  
Valid only as an initiator. This command should be used  
after a Transfer Info or Transfer Pad command while in the  
Message In phase. At the termination of the Transfer Info or  
Transfer Pad command, the ACK signal will normally be  
deasserted. However, if these commands are issued while  
in the Message In phase, the ACK signal will remain assert-  
ed at the termination of the command. The Message Ac-  
cepted command can be used to deassert the ACK signal in  
this case.  
If this command is issued after the desired SCSI device has  
already responded with the BSY signal, no interrupt will be  
generated for this command. The DP8496/7 will continue  
as if the Abort (Re)Selection command had not been issued  
at all.  
If the message is to be accepted, issue the Message Ac-  
cepted command which will deassert the ACK signal. If the  
message is to be rejected, the ATN signal should be assert-  
ed before the Message Accepted command is issued. The  
ATN signal may be asserted by setting the ATN bit in the  
SCSI Control register.  
To verify the result of this command, the SCSI Status regis-  
ter should be read at least 20 BCLK periods after this com-  
mand is issued. If the Status Code is less than 7 (0000–  
0111), the Abort (Re)Select command was issued in time.  
Simply wait for the completion interrupt.  
If the Status Code is 7 or greater (01111111), the Abort  
(Re)Select command was issued too late. The Selection  
has already completed, and there may be no completion  
interrupt generated by the Abort (Re)Selection command.  
However, a completion interrupt will be generated when the  
original (Re)Select or (Re)Select combination command ter-  
minates.  
e
(Re)Select (Opcode  
10h)  
This command initiates a rather lengthy series of events  
commencing with detecting the Bus Free phase. An Arbitra-  
tion phase is executed next if enabled in the SCSI Operation  
register. This phase asserts the SCSI ID (initialized in the  
Setup 2 register) on the SCSI bus and detects if any device  
of higher priority is arbitrating with it. The DP8496/7 will  
cycle through this sequence until it wins arbitration. After  
winning arbitration, the chip Selects the Target or Reselects  
the Initiator whose ID is contained in the Destination ID reg-  
ister. It will wait for a response from that device indefinitely  
with SEL and ID’s asserted and BSY deasserted. When the  
selected device responds by asserting BSY, the command  
will terminate with a completion interrupt.  
e
3Fh)  
Receive Command (Opcode  
e
3Eh)  
Receive Data (Opcode  
e
Receive Message (Opcode  
Receive Unspecified (Opcode  
3Ah)  
e
3Bh)  
e
Send Status (Opcode  
0Ah)  
0Bh)  
e
Send Data (Opcode  
Send Message (Opcode  
Send Unspecified (Opcode  
e
0Eh)  
e
0F)  
None of the above sequences are protected by time-outs,  
because it is much more efficient to bracket the entire se-  
lection process with a single, processor controlled timer.  
The Send and Receive commands listed above are used to  
transfer information on the SCSI bus. The information trans-  
ferred will be to or from the buffer memory.  
The choice between Selection and Reselection is deter-  
mined by the T/I (Target/Initiator) bit in the SCSI Operation  
register. While in the Target mode, this command will exe-  
cute a Reselection. While in the Initiator mode, a Selection  
will be executed.  
These commands are only valid if the DP8496/7 is config-  
ured as a Target in the Automatic mode. The DP8496/7  
must already be connected (BSY asserted). The function of  
these commands are all similar except for the I/O, C/D and  
MSG lines. The state of these control lines are listed in  
Table 4.20.  
42  
4.0 Functional Description (Continued)  
The Receive Data command and the Send Data command  
will automatically use synchronous transfers on the SCSI  
bus if enabled in the Synchronous Transfer register.  
e
38h)  
Transfer Pad (Op-Code  
This command is identical to the Transfer Info command,  
except the data transferred on the SCSI bus will not be read  
or written to the buffer memory.  
A SCSI bus parity error or the assertion of the ATN signal  
will terminate these commands. The termination will occur  
immediately or at the end of the current phase based on the  
SE (Stop Enable) bit in the SCSI Operation register. Refer to  
the SE bit description for other conditions which will termi-  
nate these commands.  
For Send type transfers, the last byte transferred to the Tar-  
get in Automatic mode or a byte loaded into the SCSI Data  
register is repeatedly sent. For Receive type transfers, the  
DP8496/7 will blindly receive the bytes. The data will not be  
transferred to buffer memory. Parity is checked if enabled in  
the Setup 2 register.  
The number of bytes transferred over the SCSI bus is deter-  
mined by the product of the SCSI Block Size register and  
the SCSI Block Count register.  
The number of bytes transferred over the SCSI bus is deter-  
mined by the product of the SCSI Block Size register and  
the SCSI Block Count register.  
After command termination, the SCSI bus control signals  
will be left in the state used by the command.  
This command may be useful if the Target requests more  
information than the Initiator has to give it.  
TABLE 4.20. SCSI Control Signals  
e
Send Disconnect (Opcode  
33h)  
Command  
Bus Phase  
C/D I/O MSG  
The DP8496/7 will change to the Message In phase and  
transfer a Save Data Pointers message followed by a Dis-  
connect message. The bus will then be released to Bus  
Free phase. This command can be used to temporarily in-  
terrupt a data transfer and prepare the initiator for a subse-  
quent reconnection.  
Receive Command  
Receive Data  
Command  
Data Out  
1
0
1
0
0
0
0
0
0
0
1
1
Receive Message  
Receive Unspecified  
Message Out  
Undefined  
Send Status  
Status  
Data In  
1
0
1
0
1
1
1
1
0
0
1
1
If the ATN signal is asserted, this command will terminate  
immediately with an ‘‘Uncompleted Command’’ interrupt.  
Send Data  
Send Message  
Send Unspecified  
Message In  
Undefined  
e
Send End (Opcode  
31h)  
While connected as a Target, the Send End command will  
change to Status phase, send good status, change to Mes-  
sage In phase, and transfer a Command Complete mes-  
sage. The bus will then be released to Bus Free phase. This  
command would be used to end a complete SCSI Com-  
mand after the Data Phase.  
e
e
Deasserted  
Note: 1  
Asserted, 0  
e
Transfer Info (Opcode  
3Ch)  
This command is used to transfer information over the SCSI  
bus, similar to the Receive and Send commands. However,  
this command is used only in the Initiator mode. The infor-  
mation transferred will be to or from the buffer memory de-  
pending on the state of the I/O signal.  
If the ATN signal is asserted, this command will terminate  
immediately with an ‘‘Uncompleted Command’’ interrupt.  
The transfer type (Receive, Send, Command, Data, Mes-  
sage) is determined by the control signals present on the  
SCSI bus listed in Table 4.20.  
e
Reselect/Receive Data (Opcode  
1Fh)  
This combination command is identical to issuing the Rese-  
lect command (10h), followed by a single byte Message In  
phase using the Identify register contents, followed by the  
Receive Data Command (3Fh).  
The correct transfer mode (synchronous or asynchronous)  
must be set in the Synchronous Transfer register prior to  
issuing this command. The transfer mode is not automati-  
cally selected by the bus phase. If a non-data phase is being  
used, be sure to set for asynchronous transfers.  
The Message In phase is unique. Instead of transferring  
data from buffer memory, a single byte is transferred from  
the identify register. The Identify register must be initialized  
before this command is issued.  
In any transfer type other than Mesasge In, the command  
completes with ACK deasserted. In the case of a Mesage In  
Time-out on Reselection can be monitored by checking the  
Status Code in the SCSI Status register.  
e
e
e
1, MSB 1), ACK is left asserted  
transfer (I/O  
1, C/D  
upon the last byte transferred. When a new Transfer Info or  
Transfer Pad command is issued, the ACK signal will be-  
come deasserted. Since the ACK signal remains asserted  
after the Message In phase, the target is prevented from  
starting a synchronous data transfer before a new Transfer  
Info command has been issued. This will prevent a FIFO  
overflow. This handling of ACK will also allow the software  
to accept or reject a message.  
e
Reselect/Send Data (Opcode  
1Bh)  
This combination command is identical to issuing the Rese-  
lect command (10h), followed by a single byte Message In  
phase using the Identify register contents, followed by the  
Send Data command (0Bh).  
Reselect/Receive Data/Disconnect  
e
(Opcode  
1Ch)  
If the Target chooses to terminate the command, perhaps  
by changing the phase lines, before the normal termination,  
an ‘‘Uncompleted Command’’ interrupt will be generated.  
This combination command is identical to issuing the Rese-  
lect command (10h), followed by a single byte Message In  
phase using the Identify register contents, followed by the  
Receive Data command (3Fh), followed by the Send Dis-  
connect command (33h).  
The number of bytes transferred over the SCSI bus is deter-  
mined by the product of the SCSI Block Size register and  
the SCSI Block Count register.  
43  
4.0 Functional Description (Continued)  
All the normal interrupts will be generated during the data  
transfer phase of the command (Block Transfer Complete,  
Group Transfer Complete, etc.). In addition, a ‘‘Group Com-  
plete’’ interrupt will always be generated just before the Dis-  
connect operation begins. This will allow the processor to  
process the information read from the SCSI bus while the  
disconnect operation is taking place.  
After the first byte of the Command Phase has been read  
from the SCSI bus, the DP8496/7 will interpret the Group  
Number in bits 5, 6 and 7. This determines the total number  
of bytes in the SCSI Command Descriptor Block as shown  
in Table 4.21. The correct number of bytes are then read  
from the SCSI bus. The entire SCSI Command Descriptor  
Block will be transferred to buffer memory.  
Reselect/Send Data/Disconnect  
e
TABLE 4.21. Group Numbers  
(Opcode  
18h)  
Ý
Group Number  
of Bytes in  
This combination command is identical to issuing the Rese-  
lect command (10h), followed by a single byte Message In  
phase using the Identify register contents, followed by the  
Send Data command (0Bh), followed by the Send Discon-  
nect command (33h).  
7
6
5
Command  
0
0
0
6
0
0
1
0
1
0
1
0
1
10  
10  
12  
A ‘‘Group Complete’’ interrupt will always be generated just  
before the Disconnect operation begins. This will allow the  
processor to set up the SCSI Bus Controller for a new com-  
mand while the disconnect operation is taking place.  
Note: Any other group combinations are unknown length and will cause an  
‘‘Uncompleted Command’’ interrupt.  
A SCSI bus parity error or the assertion of the ATN signal  
will terminate this command. The termination will occur im-  
mediately or at the end of the current phase based on the  
SE (Stop Enable) bit in the SCSI Operation register. Also,  
during a Message Out phase, if the ATN signal goes low,  
the command will terminate based on the SE bit.  
e
Reselect/Receive Data/End (Opcode  
1Dh)  
This combination command is identical to issuing the Rese-  
lect command (10h), followed by a single byte Message In  
phase using the Identify register contents, followed by the  
Receive Data command (3Fh), followed by the Send End  
command (31h).  
The command will terminate after the last Command De-  
scriptor byte has been read. An ‘‘Operation Complete’’ in-  
terrupt will be generated. The SCSI Control signals will re-  
main in the Command Phase.  
A ‘‘Group Complete’’ interrupt will always be generated just  
before the Disconnect operation begins. This will allow the  
processor to process the information read from the SCSI  
bus while the disconnect operation is taking place.  
The Clear Pending Command can be issued to terminate  
this command if the DP8496/7 has not yet been selected.  
e
Reselect/Send Data/End (Opcode  
19h)  
If the DP8496/7 is reselected as an Initiator (before it has  
been selected as a Target), the chip will respond properly  
as an Initiator on the SCSI bus as if there were no active  
command. The Wait-for-Select/Receive command will then  
terminate with a ‘‘(Re)Selected’’ interrupt and the ‘‘Last  
Command Ignored’’ bit set also.  
This combination command is identical to issuing the Rese-  
lect command (10h), followed by a single byte Message In  
phase using the Identify register contents, followed by the  
Send Data command (0Bh), followed by the Send End com-  
mand (31h).  
A ‘‘Group Complete’’ interrupt will always be generated just  
before the Disconnect operation begins. This will allow the  
processor to set up the SCSI Bus Controller for a new com-  
mand while the disconnect operation is taking place.  
Wait-for-Select/Receive Command/Disconnect  
e
(Op-Code  
37h)  
This command is identical to the previous command, except  
with the addition of an optional Disconnect function at the  
end.  
Wait-for-Select/Receive Command  
e
(Opcode  
36h)  
If the SCSI Command Descriptor Block that is read from the  
SCSI bus is a read disk command, the DP8496/7 will enter  
the ‘‘Message In’’ phase, send a ‘‘Disconnect’’ message  
and terminate with an ‘‘Operation Complete’’ interrupt. A  
read command is determined by the first byte of the Com-  
mand Descriptor Block that was transferred during the Com-  
mand Phase. If this byte is either a 08h, 28h, 48h, or A8h,  
then this is interpreted as a read command.  
This command should normally be issued any time there is  
no other SCSI bus data transfers in progress. This will allow  
new SCSI commands to be received by the DP8496/7 (con-  
figured as a target).  
The DP8496/7 will wait until it recognizes itself being select-  
ed with BSY deasserted, SEL asserted, and its own ID pres-  
ent on the SCSI data bus. If the ATN signal was also assert-  
ed, a Message Out phase will be generated with an Identify  
Message. The Identify byte will be loaded into the Identify  
register, not buffer memory. If the ATN signal was not as-  
serted the Command Phase will be entered immediately,  
without a Message Out phase.  
If it is not a read command, the command will terminate  
after the last Command Descriptor byte has been read. An  
‘‘Uncompleted Command’’ interrupt will be generated. In  
this case the SCSI Control signals may not remain in the  
Command Phase.  
If a Message Out phase is executing and the ATN signal  
remains asserted when the ACK signal is deasserted, the  
command is terminated with an ‘‘Uncompleted Command’’  
interrupt. This indicates that the Initiator is sending an ex-  
tended or multi-byte message.  
e
Wait-for-Select/Send Busy (Opcode  
35h)  
If no command can be accepted by the Target, this com-  
mand will turn away all Selections in a clean manner with  
minimal processor overhead. This command operates the  
44  
4.0 Functional Description (Continued)  
e
BFh)  
same as the Wait-for-Select/Receive command, except af-  
ter receiving the Command Descriptor Block, the DP8496/7  
will send a busy status, Command Complete message, and  
will disconnect. It will then generate an ‘‘Operation Com-  
plete’’ interrupt.  
Receive Data Loopback (Opcode  
Operates the same as the Receive Data command in the  
Target mode. The processor should initialize the SCSI Data  
register with a value before this command is issued. The  
contents of the SCSI Data register plus parity will be assert-  
ed on the internal SCSI data bus. The SCSI parity bit is  
calculated when a byte is written to the SCSI Data register  
by the processor. This value will be read and transferred to  
buffer memory. SCSI parity is checked if enabled. The asyn-  
chronous mode must be used.  
The Command Descriptor Block read from the SCSI bus will  
not be transferred to buffer memory.  
This command will remain active until overwritten with an-  
other command. This command is unique in that it will re-en-  
able itself after each successful ‘‘Operation Complete’’ in-  
terrupt. If the target needs to monitor selection attempts,  
the desired registers (Identify register) must be read by the  
processor before the next selection occurs.  
e
Transfer Info Loopback (Opcode  
BCh)  
Operates the same as the Transfer Info command in the  
Initiator mode. The I/O bit in the SCSI Control register  
should be set high or low to indicate the direction of the  
transfer. The asynchronous mode must be used.  
Any other interrupt besides ‘‘Operation Complete’’ will  
pause this command. The Clear Pending Command should  
be issued before this interrupt is cleared to prevent the  
Wait-for-Select/Send Busy command from re-enabling itself  
again after the error is cleared.  
If receiving data from the SCSI bus, the processor should  
initialize the SCSI Data register with a value before this com-  
mand is issued. The contents of the SCSI Data register plus  
parity will be asserted on the internal SCSI data bus. The  
SCSI parity bit is calculated when a byte is written to the  
SCSI Data register by the processor. This value will be read  
and transferred to buffer memory. SCSI parity is checked if  
enabled.  
Self Test Commands  
The five self test commands operate exactly the same as  
the corresponding non-self test commands. However, the  
SCSI bus is held TRI-STATE and the inputs are ignored.  
É
The SCSI outputs are still active internal to the chip and the  
SCSI inputs are emulated for the correct response. The oth-  
er pins of the DP8496/7 (non-SCSI) operate normally.  
If sending data to the SCSI bus, the data is read from buffer  
memory and parity is checked if enabled. The data asserted  
internally on the SCSI bus may be monitored by reading the  
SCSI Data register.  
Once the first self test command is issued, the DP8496/7  
enters its self test mode. The Clear Pending Command  
must be issued to clear the self test mode. Be sure to issue  
the Disconnect Self Test command before leaving the self  
test mode to ensure that all the internal SCSI bus signals  
are deasserted.  
Forcing Parity Errors in Self Test Mode  
In order to force a SCSI bus parity error in either a Receive  
Data Loopback or Transfer Info Loopback (with the I/O bit  
set to ‘‘1’’ in the SCSI Control register), the following se-  
quence may be used.  
e
(Re)Select Self Test (Opcode  
90h)  
Operates the same as the (Re)Select command but with all  
necessary input handshaking internally generated on chip.  
This should be the first self test command issued.  
1. Set the SPE (SCSI Parity Enable) bit in the Setup 2 regis-  
ter to a ‘‘1’’.  
2. Issue (Re)Select Self Test.  
e
3. Write a byte into SCSI Data register.  
Disconnect Self Test (Opcode  
B2h)  
4. Switch SCSI Parity Polarity (the SPP bit in the Setup 2  
register)  
Operates the same as the Disconnect command. This com-  
mand should be issued before the self test mode is cleared.  
5. Issue a receive type loopback command.  
e
Send Data Loopback (Opcode  
8Bh)  
6. Should obtain parity error in the SCSI Status register.  
Operates the same as the Send Data command in the Tar-  
get mode. The data is read from buffer memory and parity is  
checked if enabled. The data asserted internally on the  
SCSI bus may be monitored by reading the SCSI Data regis-  
ter. The asynchronous mode must be used.  
Command Flowcharts  
The following flowcharts describe in detail the operation of  
the multiphase commands.  
45  
4.0 Functional Description (Continued)  
TL/F/1121225  
*If this routine called as a subroutine, the Completion Interrupt is not generated here.  
**After reaching this point, the ‘‘point of no return’’, the Abort (Re)Select opcode will not function.  
FIGURE 4.12. (Re)Select Flowchart  
46  
4.0 Functional Description (Continued)  
TL/F/1121226  
**Continue with whatever operation was occurring when Abort (Re)Select opcode was issued.  
FIGURE 4.13. Abort (Re)Select Flowchart  
47  
4.0 Functional Description (Continued)  
TL/F/1121227  
*If this routine called as a subroutine, the Completion Interrupt is not generated here.  
FIGURE 4.14. Target Information Transfer Flowchart  
48  
4.0 Functional Description (Continued)  
TL/F/1121228  
FIGURE 4.15. Initiator Information Transfer Flowchart  
49  
4.0 Functional Description (Continued)  
TL/F/1121229  
*If this routine called as a subroutine, the Completion Interrupt is not generated here.  
FIGURE 4.16. Send Disconnect Flowchart  
TL/F/1121230  
*If this routine called as a subroutine, the Completion Interrupt is not generated here.  
FIGURE 4.17. Send End Flowchart  
50  
4.0 Functional Description (Continued)  
TL/F/1121231  
FIGURE 4.18. Reselect Combination Flowchart  
51  
4.0 Functional Description (Continued)  
TL/F/1121232  
FIGURE 4.19. ‘‘Wait for Select’’ Type Flowchart  
52  
4.0 Functional Description (Continued)  
SCSI Data (SDAT)  
41h  
R/W  
SCSI Operation (SOP)  
43h  
R/W  
0
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
Data  
T/I  
SWA  
A/M  
SE  
A/H  
APE  
PEP  
RST  
This register allows access to the SCSI Data Bus by the  
processor while in Manual Mode. See Section 4.4.3 for de-  
tails about Manual Mode data transfers. These bits are as-  
serted only if a ‘‘1’’ is written. On the single-ended SCSI bus  
that is open-drain, writing a ‘‘0’’ turns off the driver and al-  
lows the bus to float.  
This register must be loaded before SCSI Block Count and  
SCSI Block Size registers.  
T/I: Target/Initiator  
This bit must not be changed while an information transfer  
phase is in progress. It can be changed after an unexpected  
Selection or Reselection, but in these cases it must be  
changed before a transfer command is issued. It also can  
be changed while the SCSI bus is idle.  
This register should only be used while in the Manual Mode.  
There are two exceptions:  
1. Just before switching from Automatic to Manual Mode.  
See Section 4.4.3.  
Caution: If the last command written to the SCSI Command  
register is legal in the current mode only (Target or Initiator),  
a Clear Pending Command should be issued before the (T/I  
bit is modified. Even if the last command has completed and  
the interrupt has been processed, the Clear Pending Com-  
mand should be issued. If this is not done, an ‘‘Invalid Com-  
mand’’ interrupt will be generated after the T/I bit is  
changed.  
2. Just before a Transfer Pad command. See the Transfer  
Pad command description.  
SCSI Control (SCTL)  
42h  
R/W  
0
7
6
5
4
3
2
1
BSY  
SEL  
ATN  
C/D  
I/O  
MSG  
REQ  
ACK  
The SCSI Control register is really an image of eight out of  
the nine SCSI control lines. The direction and R/W attri-  
butes of these bits are determined by the Target or Initiator  
mode and whether in Automatic or Manual operation. A  
summary of bit attributes are given in Table 4.22. When they  
are read, ATN, C/D, I/O, and MSG bits reflect the logical  
OR of what is on the SCSI bus and what the chip is attempt-  
ing to drive. These two values may not be the same under  
some abnormal conditions. For example, on the DP8497,  
incorrect use of the Differential SCSI register in manual  
mode or an external circuit fault may cause such a conflict.  
1
Target Mode. All commands and modes relevant to the  
Target functions are enabled. ((Re)Select command  
becomes Reselect)  
0
Initiator Mode. All commands and modes relevant to  
the Initiator function are enabled. ((Re)Select command  
becomes Select)  
SWA: Select With Attention  
1
When in the Initiator mode and Selecting, the ATN sig-  
nal will be asserted as per SCSI specifications.  
0
When in the Initiator mode and Selecting, the ATN line  
will not be asserted.  
The SCSI RST signal does not appear in this register but is  
driven by the DP8496/7 from the SCSI Operation register.  
When RST is driven by another SCSI device it will generate  
a ‘‘SCSI Reset’’ interrupt.  
When executing Transfer Info/Pad commands, ATN can be  
controlled through the SCSI Control register. In addition,  
when executing Transfer Info/Pad commands while execut-  
ing any Information In phase, ATN will be asserted on a  
SCSI bus parity error if enabled in the Setup 2 register.  
Note the ATN line is writable in Automatic mode when con-  
figured as an Initiator. However, the SWA (Select With At-  
tention) bit in the SCSI Operation register should be used to  
assert the ATN signal properly during the Selection phase.  
The ATN bit is only intended to be written during the Trans-  
fer Info or Transfer Pad commands.  
A/M: Automatic/Manual Mode  
1
Enables the Automatic mode of operation, enabling the  
SCSI sequencer. SCSI commands may be issued to the  
SCSI Command register. The chip will respond properly  
to (Re)Selections.  
These bits are asserted only if a ‘‘1’’ is written. Since the  
SCSI bus is open-drain, writing a ‘‘0’’ turns off the driver and  
allows the bus to float.  
0
Manual Mode completely disables the SCSI sequencer  
and clears any curent SCSI command. No SCSI com-  
mands may be issued in this mode, but it has no effect  
on the Disk Data Controller. In this mode the processor  
has complete control over the SCSI bus and any se-  
quence, legal or illegal, can be performed.  
TABLE 4.22. Bit Attributes in SCSI Control Register  
Target  
Auto  
Initiator  
Auto  
Sig.  
Dir.  
Man.  
Dir.  
Man.  
Automatic to Manual Restrictions: Before switching from  
Automatic mode to Manual mode, the T/I (Target/Initiator)  
bit in this same register should be set to the desired value.  
Also the HE (Handshake Enable) bit in the Synchronous  
Transfer register should be programmed. If the DP8496/7 is  
not currently connected to the SCSI bus, the HE bit should  
be set to ‘‘0’’. This guarantees that all 18 SCSI signals will  
remain glitchless during the A/M bit transition. If the HE bit  
is set to ‘‘1’’, only the 9 SCSI Bus Control signals are guar-  
anteed to remain glitchless.  
BSY  
SEL  
ATN  
I/O  
I/O  
I/O  
R
R
R
R/W  
R/W  
R
I/O  
I/O  
O
R
R
R/W  
R/W  
R/W  
R/W  
C/D  
I/O  
O
O
O
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
I
I
I
R
R
R
R
R
R
MSG  
REQ  
ACK  
O
I
R
R
R/W  
R
I
R
R
R
O
R/W  
53  
4.0 Functional Description (Continued)  
The SCSI Data register should be programmed with the de-  
sired value to be driven on the SCSI bus. If the bus should  
not be driven immediately, a zero should be written to the  
SCSI Data register and the SPP (SCSI Parity Polarity) bit in  
the Setup 2 register should be set to ‘‘1’’ for even parity to  
prevent the SCSI parity bit being asserted on the SCSI bus.  
0
The Select command will not contain an Arbitration  
Phase.  
In Target mode, an Arbitration Phase will always be execut-  
ed for Reselected and Reselect combination commands.  
The APE bit is also used to clear an ‘‘Invalid Command’’  
condition. Clearing an ‘‘Invalid Command’’ interrupt is a two-  
step process. First, the APE should be modified twice (set,  
then reset, or reset, then set). Second, clear the interrupt by  
writing the three-bit pattern for ‘‘Invalid Command’’ (100)  
back to the SCSI Interrupt register.  
If the DP8496/7 is currently connected, there should be no  
SCSI bus activity during the A/M bit transition.  
Immediately after switching to Manual mode a command  
complete interrupt will be generated.  
Manual to Automatic Restrictions: Before switching from  
Manual mode to Automatic mode, a Clear Pending Com-  
mand should be written to the SCSI Command register. The  
DP8496/7 must be disconnected.  
PEP: Parity Error to Processor  
If the Setup 2 register is configured to check buffer memory  
parity, a parity error detected while the processor reads the  
Buffer Memory Data register will set this bit. This bit may be  
read after a block of data has been read from the Buffer  
Memory Data register. Once this bit is set, it can only be  
cleared by reading this register. It will not be cleared by the  
SCSI Reset command.  
SE: Stop Enable  
1
For the following conditions the current command will  
be terminated immediately. There will be a ‘‘SCSI Bus  
Error’’ interrupt for a SCSI parity error, or an ‘‘Uncom-  
pleted Command’’ with ‘‘Attention Detected’’ for the  
ATN signal.  
RST: SCSI Bus Reset  
1
The SCSI RST signal will be held asserted as long as  
this bit is set. This is valid in any mode; Initiator, Target,  
Automatic or Manual. Be sure to keep this asserted for  
the minimum time required by the SCSI specification  
(25 ms).  
1. In Initiator or Target mode, a SCSI parity error is  
detected while receiving information.  
2. While in Target mode, the ATN signal is detected  
going high during any SCSI transfer,  
If in Target mode, during a Message Out phase, and the  
ATN signal becomes deasserted before the leading  
edge of the REQ signal for the last byte, the command  
will terminate immediately with an ‘‘Uncompleted Com-  
mand’’ interrupt.  
0
Normal operating mode. The SCSI RST signal will not  
be asserted by the DP8496/7.  
Reading this bit will simply reflect the last value written to  
this bit, not the current state of the SCSI RST signal. A  
‘‘SCSI Reset’’ interrupt will be generated if the SCSI RST  
signal is asserted. This interrupt is generated whether the  
RST signal was asserted by the DP8496/7, or by any other  
source.  
0
Command will terminate immediately as desribed  
above only for the following situations while in Target  
mode:  
1. SCSI parity error during Command Phase.  
2. SCSI parity error during Message Out Phase.  
3. ATN going high during Status Phase.  
Synchronous Transfer (SYNC)  
44h  
R/W  
0
7
6
5
4
3
2
1
Transfer  
Period  
HE  
Offset  
4. ATN going high during Message In Phase.  
In all other situations the command will terminate at the  
end of the current phase instead of immediately. The  
reported interrupts will be the same as above.  
Synchronous transfers are only legal in the Data Phase  
while in Automatic mode.  
Adequate memory bandwidth should be provided for full  
speed disk and SCSI transfers. If the bandwidth is inade-  
quate and the DP8496/7 is receiving SCSI data, overruns  
may occur (this would be reported in the SCSI Status regis-  
ter). If the DP8496/7 is sending SCSI data, the data may not  
be sent at full speed.  
If in target mode, during a Message Out phase, and the  
ATN signal becomes deasserted before the leading  
edge of the REQ signal for the last byte, the command  
will terminate at the end of the Message Out phase with  
an ‘‘Uncompleted Command’’ interrupt.  
A/H: Active/Holding  
HE: Handshake Enable  
1
The processor has access to the Active set of Disk and  
SCSI pointers and block counts. Caution: the contents  
of the Active registers may change as they are being  
read if data transfers are currently taking place. See  
Section 4.2.6 for more information.  
This bit is valid only in the Manual mode and further defines  
the way the SCSI Data register operates.  
1
This mode is used to transfer single bytes over the  
SCSI bus using the DBR (Data Buffer Ready) bit in the  
SCSI Status register. The processor should poll the  
DBR bit for the proper state depending on the data di-  
rection. The processor can then read or write to the  
SCSI Data register. In this mode, the REQ and ACK  
signals handshake properly for every byte. As an appli-  
cation, message and status phases could be imple-  
mented this way. HE should be set to ‘‘1’’ only after the  
SCSI Operation register and SCSI Control register are  
loaded correctly.  
0
The processor has access to the Holding set of regis-  
ters. This is the normal mode of operation.  
APE: Arbitration Phase Enable  
This bit is only significant while in Automatic mode as an  
Initiator. This bit should only be modified when there are no  
active or pending commands and while disconnected.  
1
The Select command will contain an Arbitration Phase  
between detection of bus free and the Selection Phase.  
54  
4.0 Functional Description (Continued)  
0
The SCSI Data register is simply a transparent latch  
between the SCSI bus and the processor. The REQ  
and ACK signals are not automatically asserted REQ  
and ACK (and other SCSI control signals) may be modi-  
fied by the processor through the SCSI Control register.  
TL/F/1121233  
Parity is not verified when reading data from the SCSI  
bus. Parity is always generated when writing to the  
SCSI bus.  
FIGURE 4.20. Synchronous Transfer Period  
Offset  
The offset value specifies the number of outstanding bytes  
allowed before handshaking is inhibited. A value of zero re-  
sults in an offset of 16.  
For information transfers, it is not recommended to use  
e
HE  
0, because parity is not checked.  
Transfer Period  
If the Block Count register is greater than one, or if the  
Block Count is pipelined, the offset value must not be great-  
er than the Block Size registers. Otherwise, data may be  
written to buffer memory incorrectly. If the Block Count is  
one, and there is no pipelining, then there is no restriction  
on the value of the offset.  
This field determines the time between adjacent Synchro-  
nous Data transfers. It is also used to choose between Syn-  
chronous and Asynchronous Transfer modes.  
A value of zero will give Asynchronous Transfers with fast  
handshaking between REQ and ACK. A value of one will  
give Asynchronous Transfers an extra BCLK period per  
REQ and ACK handshake. (It is also possible for the user to  
set the setup time delay between REQ and ACK and the  
SCSI data signals by setting the SCK1 and SCK0 bits of the  
Differential SCSI 2 register.)  
Identify (IDENT)  
45h  
R/W  
0
7
6
5
4
3
2
1
I
DISC  
TAR  
Reserved  
LUN  
The Identify register is used only with Reselect combination  
and ‘‘Wait for Select’’ type commands. This is actually a  
simple 8-bit register with no fixed structure. All of the bits  
may be read and written by the processor. However, in most  
applications the bit definitions should correspond with the  
ANSI SCSI specification.  
A value of two to seven enables Synchronous Transfers  
with a Transfer Period (TP) equal to BCLK period multiplied  
by the value programmed (27).  
While in the Target Mode, if a non-Data Phase is executing,  
Asynchronous transfers will be used, regardless of the value  
in this field. This is done because Synchronous transfers are  
only allowed during the Data In Phase and the Data Out  
Phase.  
The Reselect combination commands use the contents of  
the Identify register during the Message In phase following  
Reselection. The processor must load the Identify register  
before a Reselect combination command is issued.  
Caution: While in Initiator Mode, the DP8496/7 will NOT  
automatically switch between Synchronous and Asynchro-  
nous modes. This must be switched by the processor.  
The ‘‘Wait for Select’’ commands modify the Identify regis-  
ter. This byte is received from the Message Out phase after  
a connection. The data here is valid as soon as the mes-  
sage phase is completed, although the processor is not no-  
tified with an interrupt until the entire command is complete.  
The Identify register is overwritten upon the next ‘‘Wait for  
Select’’ operation or when the processor loads the Identify  
register preceding a Reselect combination command.  
Table 4.23 summarizes the transfer mode used based on  
this field and the phase in progress.  
The value in this field, along with the BCLK frequency, also  
determines the DP8496/7s adherence to other synchro-  
nous SCSI timing specificationsÐREQ assertion period  
(90 ns, 30 ns for Fast), REQ negation period (90 ns, 30 ns  
for Fast), DATA setup time (55 ns, 25 ns for Fast), and Data  
Hold Time (100 ns, 35 ns for Fast). The equations for these  
times are specified in the A.C. Specification section of this  
datasheetÐin subsections 6.29 thru 6.32. Maximum BCLK  
is specified in subsection 6.1.  
Caution: This register must be initialized with a valid value  
after a reset before any command is written to the SCSI  
Command register. Otherwise an ‘‘Uncompleted Com-  
mand’’ interrupt will be generated. A valid value is any value  
with bit 7 set and bits 3 and 4 cleared.  
TABLE 4.23. Transfer Mode and Period  
Current SCSI Phase of DP8496/DP8497  
Trns.  
Target, Data In  
Target, Data Out  
Initiator, All Phases  
Target, All Phases  
EXCEPT Data In and  
Data Out  
Prd.  
0
1
2
3
4
5
6
7
Async  
Async  
Slow Async  
Async  
Slow Async  
e
e
e
e
e
e
Sync, TP  
Sync, TP  
Sync, TP  
Sync, TP  
Sync, TP  
Sync, TP  
2*BCLK  
3*BCLK  
4*BCLK  
5*BCLK  
6*BCLK  
7*BCLK  
Async  
Async  
Async  
Async  
Async  
e
Notes: TP  
Transfer Period.  
See AC Timing for Async vs. Slow Async.  
55  
4.0 Functional Description (Continued)  
I: Identify Message  
MCH: Match  
Since this register is used only for the Identify Message, this  
bit must always be set to ‘‘1’’. If it is not set to ‘‘1’’, no new  
command can be executed.  
1
Looks for a match with the indicated Phase Code. If  
found, a ‘‘Phase Compare’’ interrupt will be generated.  
0
Looks for a mismatch of the current SCSI bus phase  
with the indicated Phase Code. This code should be  
loaded after the Target’s phase is stable (REQ is as-  
serted) if the DP8496/7 is in Initiator mode. If the phase  
changes, a ‘‘Phase Compare’’ interrupt will be generat-  
ed.  
This bit will always be a ‘‘1’’ when read following a success-  
ful ‘‘Wait for Select’’ operation which included a Message  
Out phase. Otherwise, an ‘‘Uncompleted Command’’ inter-  
rupt would be generated.  
DISC: Disconnect Privilege  
Destination ID  
When this register is used for the Message In phase during  
a Reselect combination command, this bit has no meaning.  
This ID is OR’ed with SCSI ID from the Setup 2 register. This  
OR’ed value is asserted on the SCSI bus during Selection or  
Reselection phases. Parity is also generated.  
Following a ‘‘Wait for Select’’ command which included a  
Message Out phase, this bit indicates the ability of the Initia-  
tor to support disconnection and reconnection. A ‘‘1’’ indi-  
cates this support. A ‘‘0’’ indicates no support.  
Source ID (SID)  
47h  
R Only  
0
7
6
5
4
3
2
1
TAR: Logical Unit Target  
VID  
x
x
x
x
Source ID  
When this register is used for the Message In phase during  
a Reselect combination command, this bit has no meaning.  
While in Target mode during the Selection Phase, or while in  
Initiator mode during the Reselection Phase, the Initiator’s  
ID and the Target ID are both present on the SCSI bus. Our  
Target ID (SCSI ID in Setup 2 register) is masked off, and  
the resulting Initiator ID can be read from Source ID field.  
The VID (Valid ID) bit will be ‘‘1’’.  
Following a ‘‘Wait for Select’’ command which included a  
Message Out phase, this bit specifies where the Identify  
Message is directed to. A ‘‘0’’ indicates a logical unit (see  
the LUN field). A ‘‘1’’ indicates a target routine. See the  
SCSI-2 specification.  
If there is no Initiator ID on the SCSI bus during Selection,  
the VID bit will be ‘‘0’’. If the DP8496/7 is not properly Se-  
lected (ex. three or more bits set), the DP8496/7 will not  
respond and the VID bit will be ‘‘0’’.  
Reserved  
Since these bits are reserved, it is recommended that these  
bits be set to ‘‘0’’ before a Reselect combination command  
is issued.  
SCSI Status (SSTAT)  
48h  
R Only  
0
These bits will always be a ‘‘0’’ when read following a suc-  
cessful ‘‘Wait for Select’’ operation which included a Mes-  
sage Out phase. Otherwise, an ‘‘Uncompleted Command’’  
interrupt would be generated.  
7
6
5
4
3
2
1
DBR  
BMR  
Error Code  
Status Code  
DBR: Data Buffer Ready  
LUN: Logical Unit Number  
In Manual mode with the HE (Handshake Enable) bit set to  
‘‘1’’, DBR is used to indicate when to send or receive the  
next byte.  
Before a Reselect combination operation, this field should  
be set with the Logical Unit Number from which the data is  
being read from or being written to.  
1
The SCSI Data register is full. If receiving, the SCSI  
Data register should be read. If transmitting, the proces-  
Following a ‘‘Wait for Select’’ command which included a  
Message Out phase, this field indicates the Logical Unit  
Number associated with the command to follow. They  
should match the LUN bits contained in the Command De-  
scriptor Block.  
e
sor should wait until DBR  
0.  
0
The SCSI Data register is empty. If receiving, the proc-  
essor should wait for another byte to arrive. If transmit-  
ting, the SCSI Data register should be written.  
Destination ID (DID)  
46h  
R/W  
0
The DBR bit is reset whenever an error is cleared in the  
SCSI Interrupt register. An error is defined as a Completion  
Interrupt Code value between 2h and 7h in the SCSI Inter-  
rupt register.  
7
6
5
4
3
2
1
Phase Code  
MCH  
Destination ID  
Phase Code  
BME: Buffer Memory Parity Error  
These four bits set up the SCSI bus phase for which the  
DP8496/7 will match or not match to generate the Phase  
Compare interrupt. Comparison is qualified with the active  
edge of the REQ signal in both match and mismatch cases.  
A parity error was detected while writing data to the SCSI  
port from buffer memory. This indicates a parity error in buff-  
er memory. This will terminate any SCSI command at the  
end of the current transfer phase.  
The Phase Code bit patterns are exactly the same as the  
Status Code patterns defined in Table 4.25 in the SCSI  
Status register.  
The ‘‘Buffer Memory Parity Error’’ completion interrupt will  
be generated.  
This bit is cleared to zero when a new command is down-  
loaded and executed.  
56  
4.0 Functional Description (Continued)  
Error Code  
Important: In Initiator mode, information transfer phases are  
updated on the leading edge of REQ. If, during a Transfer  
Info or Transfer Pad command, the phase changes from  
that detected on the first REQ, the command will be aborted  
with an ‘‘Uncompleted Command’ interrupt if there is no  
parity error.  
The error code is used in conjunction with the Status Codes  
to determine the present state of the SCSI interface. In the  
case of a SCSI Data Overrun error occurring at the same  
time as a SCSI parity error, the more serious error, SCSI  
Data Overrun, will be encoded. In the case where the SE bit  
of the SCSI Operation register is set and therefore a SCSI  
parity error causes the current command to terminate imme-  
diately, a SCSI data overrun may be caused. In this case  
also the error code for SCSI Data Overrun will be reported,  
effectively masking the original SCSI parity error from being  
reported.  
TABLE 4.25. Status Codes  
Status  
Code  
Comment  
3
2
1
0
0
0
0
0
Bus Free or Idle due to Reset command,  
CRST pin, SCSI bus reset, normal  
disconnection for initiator, or Abort  
(Re)Selection command.  
TABLE 4.24. Error Codes  
Error Code  
Error  
5
4
0
0
0
1
Bus Free due to command complete  
(except after Abort (Re)Select command  
or Reset command). Target mode only.  
0
0
1
0
1
1
No Error  
SCSI Parity Error  
SCSI Data Overrun  
0
0
0
0
0
0
1
1
1
1
0
0
0
1
0
1
A DP8496/7 initiated Arbitration phase is  
pending or in progress.  
The Error Code field is cleared to zero when a new com-  
mand is downloaded and executed.  
A DP8496/7 initiated (Re)Selection phase  
is in progress.  
SCSI Parity Error (0 1)  
Selected. The DP8496/7 has been  
Selected as a Target.  
This code is present in any Selection or Information transfer  
phase upon detection of a parity error from the SCSI bus in  
either Auto or Manual mode.  
Reselected. The DP8496/7 has been  
Reselected as an Initiator and the  
‘‘Reselected’’ interrupt completion code  
has not yet been cleared.  
SCSI Data Overrun (1 1)  
This code is set if the DP8496/7 receives too many bytes to  
transfer in the available bandwidth to buffer memory. Data  
loss has occurred! If this error occurs in any transfer mode,  
it indicates a lack of available buffer memory bandwidth. If it  
occurs during an Asynchronous transfer, some AC timing  
specification has been violatedÐsuch as too fast a REQ/  
ACK period for a given BCLK. There must be at least 2  
BCLK periods per REQ or ACK period.  
0
1
1
0
Unexpected bus free in Initiator mode.  
Command has been aborted.  
0
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
Connected, but no pending command  
Data Out Phase  
Unspecified Info Out Phase  
Command Phase  
Also set if 2 REQ pulses are received before a Transfer Info  
or Transfer Pad command in Initiator mode is issued by the  
processor. This indicates that the Target device is in Syn-  
chronous Transfer mode and the DP8496/7 is not set up to  
respond in this mode.  
Message Out Phase  
Data In Phase  
Unspecified Info In Phase  
Status Phase  
During synchronous transfers, if the number of outstanding  
REQ or ACK pulses received is greater than the pro-  
grammed offset (offset overflow), this error will be set.  
Message In Phase  
Also set if there are any abnormal handshakes between  
REQ and ACK. Examples may be an ACK which deasserts  
before REQ or any non-match of REQ/ACK pulses follow-  
ing a Synchronous mode transfer.  
While in the Initiator mode, the Status Code will be frozen at  
the time that an error completion code is generated (not  
code ‘‘001’’). When the completion interrupt is cleared, the  
Status Code will return to normal operation. A completion  
code of ‘‘001’’ will not freeze the Status Code.  
Status Code  
This field indicates present bus condition and in the case of  
bus free phase, how the DP8496/7 arrived in the phase. All  
bits are latched on the leading edge of the RD strobe and  
will not change during the read cycle.  
SCSI Interrupt (SINT)  
49h  
R/W  
0
7
6
5
4
3
2
1
PCMP  
ATN  
GTC  
BTC  
LCI  
Completion Interrupt Code  
Note that the state of the ATN signal can be read at any  
time in any mode through the SCSI Control register.  
This register indicates interrupts that have occurred. There  
are two types of interrupts, checkpoint and completion.  
The Status Code is not valid while in the Manual mode. The  
Status Code is also not valid after an ‘‘Invalid Command’’  
interrupt has been generated.  
Checkpoint interrupts (bits 37) are separated into separate  
bits and may be asserted simultaneously. These interrupts  
may be cleared only by writing a ‘‘1’’ into the corresponding  
bit location. These bits may be cleared individually or simul-  
taneously.  
57  
4.0 Functional Description (Continued)  
Completion interrupts are encoded into bits 02. Only one  
completion interrupt may be read at a time. Completion in-  
terrupts may be buffered behind each other if more than  
one completion interrupt has occurred. See Table 4.27 for a  
description of buffered interrupts. Completion interrupts may  
be cleared only by writing the same three bit pattern back to  
the SCSI Interrupt register. This will clear that interrupt and  
allow a new or buffered completion interrupt to occur. A  
completion interrupt may be cleared simultaneously with  
other checkpoint interrupts.  
LCI: Last Command Ignored  
Can occur on the following conditions:  
1. When a ‘‘Wait for Select’’ type command is overwritten  
with another command, the new command will not be  
executed if the DP8496/7 has started to respond to the  
anticipated Selection from another SCSI device.  
2. A (Re)Select or Reselect combination command may be  
ignored if the DP8496/7 has been or is in the process of  
being (Re)Selected by another SCSI device. This will  
also produce a ‘‘(Re)Selected’’ completion interrupt.  
Interrupts will be reported in the SCSI Interrupt register al-  
ways, independent of the SCSI Interrupt Enable register.  
3. If the Abort (Re)Select command is issued and the  
DP8496/7 has already started a (Re)Selection phase  
and received a response from the other device, the  
(Re)Selection phase will not be aborted and the LCI bit  
will be set.  
If enabled interrupts remain after writing to the SCSI Inter-  
rupt register, the SINT pin will deassert momentarily to re-  
trigger an edge sensitive interrupt input to the processor.  
This register is latched to prevent the contents from chang-  
ing while reading the register.  
4. Any ‘‘Wait for Select’’ type command is ignored if the  
DP8496/7 has been or is in the process of being rese-  
lected by another SCSI device. This will also produce a  
‘‘(Re)Selected’’ completion interrupt.  
PCMP: Phase Compare  
Set when the Phase Code selected in the Destination ID  
e
0)  
e
5. A new command is loaded before a ‘‘(Re)Selected’’ in-  
terrupt is cleared.  
register either matches (MCH  
1) or differs (MCH  
from the current phase of the SCSI bus. The MCH (Match)  
bit is also found in the Destination ID register.  
Completion Interrupt Code  
Application Hint: One use of this interrupt is to inform the  
processor of the start of data transfer (a Match of Data In or  
Out phase) and thus the point at which a new SCSI pointer  
and block count can be loaded on a combination type com-  
mand. If in Initiator mode, the mismatch mode could be set  
up to notify the processor if the phase changes from the  
current phase.  
Table 4.26 lists the possible completion interrupts. While in  
Manual mode, only codes ‘‘000’’, ‘‘010’’, and ‘‘111’’ may be  
generated.  
If an error completion code is generated, even if it is buff-  
ered, no new operations will be performed. When the error  
completion code is cleared, new SCSI commands may be  
executed. See the end of this register description for an  
explantion of buffered interrupts.  
ATN: Attention Detected  
1
Set on assertion of the ATN signal when DP8496/7 is  
configured as a Target in Automatic mode during an  
information transfer phase. Also set on assertion of the  
ATN line during selection phase unless executing a  
‘‘Wait for Select’’ type command.  
TABLE 4.26. Completion Interrupt Codes  
Comp. Int.  
Code  
Cause  
2
1
0
The current command will terminate immediately or at  
the end of the current phase depending on the state of  
the SE (Stop Enable) bit in the SCSI Operation register.  
The SCSI Control register can be used to monitor when  
the ATN signal goes away.  
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
No Interrupt  
No Error  
SCSI Bus Error*  
Buffer Memory Parity Error  
Invalid Command  
0
ATN signal not detected.  
Uncompleted Command  
(Re)Selected  
GTC: Group Transfer Complete Interrupt  
This interrupt indicates that the SCSI Block Count register  
may be reloaded. This occurs at the end of a block transfer  
where the block counter has reached zero, and a new block  
count has been downloaded. This interrupt will only be set if  
the SCSI Block Count register has been written to since the  
last download of the SCSI Block Count.  
SCSI Bus Reset Received or Generated  
*SCSI Bus Error can either be parity or data lost. Read SCSI Status register  
to determine which.  
No Error (001)  
This is the normal completion interrupt of SCSI commands.  
This is presented upon the successful completion of a SCSI  
command. The phase of the SCSI bus depends on the com-  
mand executed and can be found by reading the SCSI  
Status register.  
This bit is not asserted during a Transfer Pad command.  
In addition, while executing a Reselect Combination com-  
mand that ends with a Disconnect or Send End option, the  
Group Complete Interrupt will be asserted after the last  
block of data has been transferred (before sending any  
Status or Message information).  
SCSI Bus Error (010)  
While in Automatic mode, this interrupt indicates one of two  
possible conditions. Either the DP8496/7 observed a SCSI  
parity error, or data was lost in the synchronous transfer  
mode due to lack of bandwidth to the buffer memory. The  
exact error can be determined by reading the Error Code  
field in the SCSI Status register.  
BTC: Block Transfer Complete Interrupt  
This interrupt indicates the Complete transfer of one block,  
as defined by the SCSI Block Size registers reaching zero.  
This bit will not be set when the GTC (Group Transfer Com-  
plete) bit or any completion interrupt code is asserted. It is  
also not asserted for a Transfer Pad command in initiator  
mode.  
58  
4.0 Functional Description (Continued)  
This interrupt will be presented after the command has com-  
pleted.  
While executing a Reselect combination command, if the  
ATN signal is asserted during the Reselection phase, if  
the SE (Stop Enable) bit in the SCSI Operation register is  
set to ‘‘1’’.  
#
While in Manual mode, this error can only indicate a SCSI  
parity error.  
While in a Message Out phase, if the ATN signal be-  
comes deasserted after REQ is false and while ACK is  
true.  
#
#
Buffer Memory Parity Error (011)  
A parity error was detected while writing data to the SCSI  
port from buffer memory. This indicates a parity error in buff-  
er memory. This will terminate any SCSI command at the  
end of the current transfer phase.  
While in a Message Out phase, if the ATN signal be-  
comes deasserted after both REQ and ACK are false.  
In the Initiator mode, this interrupt will occur for an unex-  
pected bus free condition. It will also occur if the bus phase  
changes after the first REQ is received. The DP8496/7 rec-  
ords the SCSI bus phase when the Target asserts REQ. Any  
change of the bus phase with REQ asserted will immediate-  
ly terminate the current command with this interrupt.  
The BME (Buffer Memory Parity Error) bit in the SCSI Status  
register should be set to ‘‘1’’ also.  
Invalid Command (100)  
An invalid command for the present mode of the chip was  
received in the SCSI Command register. It is not guaranteed  
that all invalid commands will be detected. You should NEV-  
ER issue an invalid command.  
(Re)Selected (110)  
This interrupt could be generated without any SCSI com-  
mand being issued. The moment Automatic mode is en-  
abled, the DP8496/7 is susceptible to being (re)selected. It  
is also possible to (re)select the DP8496/7 after a SCSI  
command has been issued by the processor. If the  
DP8496/7 loses Arbitration and the winning device chooses  
to select the DP8496/7, the chip will allow this and respond  
properly.  
Clearing an ‘‘Invalid Command’’ interrupt is a two-step pro-  
cess. First, the APE (Arbitration Phase Enable) bit in the  
SCSI Operation register should be modified twice (set, then  
reset, or reset, then set). Second, clear the interrupt by writ-  
ing the three-bit pattern (100) back to the SCSI Interrupt  
register.  
Uncompleted Command (101)  
This interrupt will usually be unexpected and tell the proces-  
sor that the DP8496/7 has responded to a Selection. As a  
Target, the ATN line must be checked after receiving this  
interrupt to determine if a Message Out phase is required.  
As an Initiator, this interrupt would indicate a Reselection  
from a Target.  
In Target mode, this interrupt occurs when an Initiator sends  
something unexpected. For example, the ATN signal re-  
mains asserted after the first mesage byte in combination  
commands, or something other than a SCSI read command  
is received in a Wait for Select/Disconnect command.  
When this completion interrupt is generated, the SCSI  
Status register will freeze in the state in which the SCSI bus  
was in when the ‘‘Uncompleted Command’’ interrupt was  
generated. While in Initiator mode, the actual phase may  
now differ.  
If a ‘‘Wait for Select’’ type command is currently executing  
and waiting to be Selected, it will terminate with an ‘‘Opera-  
tion Complete’’ interrupt, not a ‘‘(Re)Selected’’ interrupt.  
SCI Bus Reset (111)  
This interrupt could be generated without any SCSI com-  
mand being issued. A reset signal greater than one BCLK  
period in length was received on the SCSI bus. The  
DP8496/7 is now in Bus Free phase and any command  
pending or executing has been terminated.  
When the ‘‘Uncompleted Command’’ interrupt is cleared,  
the SCSI Status register will return to normal operation and  
will reflect the current status of the SCSI bus.  
The unexpected events include:  
While executing a ‘‘Wait for Select/Disconnect’’ com-  
mand, if a non-read SCSI Command Descriptor Block is  
received.  
#
Buffered Interrupts  
The 3-bit Interrupt Code field can only present one type of  
Interrupt at one time. There may be occasions where more  
than one interrupt has occurred. If this is true, then the first  
interrupt that occurred will be reported by the Interrupt Code  
field. The second interrupt will be buffered internally. When  
the first completion code is cleared, the buffered completion  
code will be reported in the Interrupt Code field. The SINT  
pin will pulse inactive for a short period of time between  
interrupts.  
While executing a ‘‘Wait for Select’’ type command, if a  
message byte other than Identify is received or if a re-  
served bit is not zero.  
#
While executing a ‘‘Wait for Select’’ type command, if the  
first byte of the Command Descriptor Block does not  
map to a Group 0, 1, 2, or 5 type command.  
#
While executing any command, if the ATN signal remains  
asserted after the trailing edge of ACK on the last byte of  
the Message Out phase.  
#
The exception to this is the ‘‘No Error’’ completion interrupt.  
If this interrupt is generated, it need not be cleared before  
another completion interrupt is generated. A new comple-  
tion interrupt will overwrite any pending ‘‘No Error’’ comple-  
tion interrupt. This is summarized in Table 4.27.  
While executing a Message Out phase, if the ATN signal  
is deasserted before the leading edge of the REQ for the  
last byte.  
#
While executing any information transfer phase, if the  
ATN signal is asserted.  
#
59  
4.0 Functional Description (Continued)  
TABLE 4.27. Interrupt Buffering  
TL/F/1121234  
SCSI Interrupt Enable (SINTE)  
4Ah  
R/W  
0
SCSI Block SizeÐLow (SBSL)  
4Dh  
R/W  
7
6
5
4
3
2
1
7
6
5
4
3
2
1
0
PCMP  
ATN  
GTC  
BTC  
LCI  
x
x
CI  
SizeÐLow Order Byte  
This register simply enables selected interrupts to physically  
assert the SINT pin. If an interrupt is disabled via this regis-  
ter, all the effects of the interrupt remain the same except it  
will not affect the SINT pin.  
The size of the user’s SCSI blocks is programmed in these  
two registers. This value, in conjunction with the block count  
value in the SBC register, determines the total number of  
bytes to be transferred.  
Bits 3–7 enable individual checkpoint type interrupts. A ‘‘1’’  
allows the individual interrupt to assert the interrupt pin. A  
‘‘0’’ prevents it.  
Differential SCSI 1 (SDIF1)  
4Eh  
R/W  
0
7
6
5
4
3
2
1
DCSDB7 DCSDB6 DCSDB5 DCSDB4 DCSDB3 DCSDB2 DCSDB1 DCSDB0  
The CI (Completion Interrupts) bit allows all completion type  
interrupts to assert the interrupt pin. The completion inter-  
rupts cannot be enabled individually.  
Differential SCSI 1 (SDIF1)  
4Fh  
R/W  
7
6
5
4
3
2
1
0
Interrupts should be cleared from the SCSI Interrupt register  
whether or not they are enabled in the SCSI Interrupt En-  
able register.  
SCK1  
SCK0 DCBSY DCSEL DCTARG DCINIT DCRST DCSDBP  
(Other than the SCK1 and SCK0 bits, all other bits are meaningful only on  
the DP8497.)  
SCSI Block Count (SBC)  
4Bh  
R/W  
0
DCSDB(7:0), DCSDBP  
7
6
5
4
3
2
1
The polarity of each of these bits sets the polarity of the  
DSDB(7:0) and DSDBP pins of the DP8497 and also the  
direction of the on-chip transceiver at the associated signal  
pin; thus providing differential transceiver direction control  
to the user in manual mode operation. A ‘‘1’’ in any of these  
bits, and therefore a high level on the corresponding direc-  
tion control pin, means the transceivers are in ‘‘drive’’  
mode; while a ‘‘0’’ signifies the ‘‘receive’’ mode.  
Count  
The value programmed in this register sets the number of  
blocks to be transferred. A value of 00h means 256 blocks.  
This value, in conjunction with the block size value in SBSH  
and SBSL registers, determines the total number of bytes to  
be transferred.  
SCSI Block SizeÐHigh (SBSH)  
4Ch  
R/W  
0
In effect only during manual mode.  
7
6
5
4
3
2
1
SizeÐHigh Order Byte  
60  
4.0 Functional Description (Continued)  
DCBSY  
The SCSI Pointer can also be modified when extending the  
current executing SCSI commandÐallowing for noncontigu-  
ous buffer memory transfers. If the current executing SCSI  
command is a single phase information transfer command,  
the SCSI Pointer can be modified after 10 BCLK periods  
have passed since the SCSI command was issued. If the  
current executing SCSI command is a reselect combination  
command, the SCSI Pointer can be modified after detecting  
the SCSI data transfer phase. The SCSI pointer should not  
be updated again (after the first pipelined value) until the  
previous pipelined value has been downloaded. If the SCSI  
pointer have been modified, the ‘‘Group Complete’’ interrupt  
indicates when the pipelined SCSI pointer is downloaded.  
Same as above. Affects the DBSY pin. In effect only during  
manual mode.  
DCSEL  
Same as above. Affects the SEL pin. In effect only during  
manual mode.  
DCTARG  
Same as above. Affects the DTARG pin which controls the  
direction of target signals: C/D, I/O, REQ, MSG. In effect  
only during manual mode.  
DCINIT  
If the SCSI pointer has not been modified when extending  
the current executing SCSI command, a SCSI pointer down-  
load will not occur and contiguous buffer memory transfers  
will result. Although ‘‘Group Complete’’ interrupts will still  
occur at the completion of each transfer.  
Same as above. Affects the DINIT pin which controls the  
direction of initiator signals: ACK, ATN. In effect only during  
manual mode.  
DCRST  
Same as above. Affects the DRST pin. In effect only during  
manual mode.  
The ‘‘Group Complete’’ interrupt indicates when the pipe-  
lined Block Count and the SCSI Pointer (if modified) are  
downloaded. After this interrupt is received, the Block Count  
register and SCSI Pointer registers may be updated again.  
SCK(1:0)  
By programming these two bits the user can adjust the set-  
up time delay of REQ and ACK signals with respect to the  
SCSI Data signals. Delay values of approximately 1, 1.5, or  
2 Bus Clock periods are possible, depending on the values  
of these bits and the CLK(1:0) bits of the Setup 1 register.  
Default values for these bits are 00.  
A SCSI command may be extended multiple times if de-  
sired. Simply wait for the ‘‘Group Complete’’ interrupt be-  
tween each update of the Block Count register.  
Table 4.29 summarizes these interrupts.  
Pipelining SCSI Commands  
There are several combinations of SCSI commands that  
can be pipelined:  
TABLE 4.28. SCSI Strobe Time Settings  
SCSI Clock Bits (1:0)  
Receive Data followed by Send Disconnect  
Receive Data followed by Send End  
Send Data followed by Send Disconnect  
Send Data followed by Send End  
Reselect-Receive Data followed by Send Disconnect  
Reselect-Receive Data followed by Send End  
Reselect-Send Data followed by Send Disconnect  
Reselect-Send Data followed by Send End  
00  
1.0  
1.5  
1.5  
1.5  
01  
1.0  
1.0  
1.0  
1.0  
11  
2.0  
2.0  
2.0  
2.0  
10  
1.5  
1.5  
1.5  
1.5  
BCLK  
Freq  
(1:0)  
00  
01  
10  
11  
Except for the Clear Pending command only these com-  
mand pairs can be pipelined. The Send End, Send Discon-  
nect and Clear Pending commands are the only commands  
allowed to be pipelined. No additional commands can be  
written to the SCSI Command register until the pipelined  
command has completed its operation.  
Where:  
b
a
1.0 is defined as bcp  
1.5 is defined as bcp  
b
2.0 is defined as 2*bcp  
bcp, bch and bcl refer to the BCLK period, high pulse width, and low pulse  
k; k is a characterization constant  
b
k; k is a characterization constant  
bc  
k; bc is either bcl or bch  
width, respectively.  
4.4.3. SCSI Operations  
The Clear Pending Command can be issued to clear the  
pipelined command if the first command is still executing  
and the pipelined command has not yet begun.  
Extending the Current SCSI Command  
SCSI commands may be programmed to transfer more  
blocks than originaly programmed. If a new value is written  
to the Block Count holding register while a SCSI command  
is executing, the new value will be downloaded from the  
holding register to the active register when the active Block  
Count reaches zero. This new Block Count must be written  
to the Block Count holding register any time before the ac-  
tive Block Count reaches zero. The Block Count register  
should not be updated again (after the first pipelined value)  
until the previous pipelined value has been downloaded.  
The ‘‘Group Complete’’ interrupt indicates when the pipe-  
lined Block Count is downloaded.  
In addition, changing the SCSI pointer or the Block Count  
register does not affect the pipelined Send End or Send  
Disconnect command. If the Block Count register is modi-  
fied after the Send End or Send Disconnect command has  
been pipelined the current executing SCSI command may  
possibly be extended.  
A pipelined command should not be issued before 10 BCLK  
periods have passed since the first command was issued.  
It is important to understand how the DP8496/7 determines  
completion interrupts when pipelining commands. It is pos-  
sible to completely miss a completion interrupt if errors do  
not occur for either of the pipelined commands. Refer to  
Table 4.27 for a description of when completion interrupts  
are generated and how they are buffered.  
61  
4.0 Functional Description (Continued)  
TABLE 4.29. SCSI Bufer Management Interrupts  
Block  
Count  
New SCSI  
Command  
Been  
New Block  
Count Been  
Loaded  
Interrupt  
Comments  
Reached  
Zero?  
Type  
Loaded?  
No  
X
X
X
BTC  
GTC  
Single block transfer complete.  
Yes  
Yes  
The last block of the Group has been transferred to/from the SCSI Bus.  
Command is extended with new Block Count.  
Yes  
Yes  
No  
No  
No  
CCI  
Previous SCSI command has completed. New pipelined command is  
starting.  
Yes  
CCI  
Previous SCSI command has completed. No new command.  
e
e
e
Group Complete Interrupt, CCI Command Complete Interrupt.  
Note: BTC  
Single Complete Interrupt, GTC  
Automatic Mode  
Data written to the SCSI Data register will be asserted im-  
mediately on the SCSI bus and data read from the SCSI  
Data register will be an exact and immediate reflection of  
the SCSI bus.  
The Automatic Mode transfers data between the SCSI bus  
and external buffer memory using internal DMA. The Auto-  
matic Mode is enabled by setting the A/M (Automa-  
tic/Manual) bit in the SCSI Operation register.  
By setting the HE bit to a ‘‘1’’, the SCSI Data register be-  
comes latched and the processor can easily transfer single  
bytes of data. The DBR (Data Buffer Ready) bit in the SCSI  
Status register should be polled to pace the data transfer. If  
sending data out of the DP8496/7, the DBR bit should be  
polled for a ‘‘0’’. This indicates the SCSI Data register is  
empty and ready for another byte to be sent. If receiving  
data into the DP8496/7, the DBR bit should be polled for a  
‘‘1’’. This indicates the SCSI Data register is full and a byte  
is ready to be read by the processor.  
If the Synchronous Transfer register is set for synchronous  
transfers, the transfer mode will automatically change be-  
tween synchronous and asynchronous depending on the in-  
formation transfer phase, if the DP8496/7 is configured as a  
Target. If configured as an Initiator, the Synchronous Trans-  
fer register must be setup correctly for the phase prior to  
issuing the Transfer Info command.  
Transfers of odd byte blocks are allowed in both Asynchro-  
nous and Synchronous modes. However, the SCSI FIFO will  
be flushed after each block transferred if the block size is  
odd in word mode. Therefore, the maximum data transfer  
rate will be achieved only for transfers of even byte counts  
while in word mode. While in byte mode, odd and even  
transfers are equally fast.  
A Few Cautions (while in Manual Mode):  
If the DP8496/7 is a target receiving information from the  
SCSI Bus then the processor should switch the I/O line  
before reading the last byte. This is to prevent the  
DP8496/7 from issuing another REQ and causing a DMA  
overrun condition on the Initiator side.  
In both synchronous and asynchronous transfer modes,  
successive requests or acknowledges cannot occur faster  
than two bus clock cycles apart. If this condition occurs, a  
‘‘SCSI Bus Error’’ interrupt will be generated and a ‘‘SCSI  
Data Overrun’’ error code will be set in the SCSI Status  
register.  
If in Manual Mode and not active on the SCSI bus, several  
conditions must be met to prevent the DP8496/7 from driv-  
ing the SCSI bus or causing unexpected error conditions  
within itself. The HE (Handshake Enable) bit in the Synchro-  
nous Transfer register must be 0, the SCSI Data register  
must be 00, the SPP (SCSI Parity Polarity) bit in the Setup 2  
register must be 1 (even parity). These conditions are all set  
up upon assertion of the CRST pin or a SCSI Reset com-  
mand. Be sure that these conditions are set up before  
switching the A/M bit from Automatic to Manual Mode.  
Manual Mode Information Transfer  
Manual Mode is enabled by clearing the A/M (Automatic/  
Manual) bit in the SCSI Operation register. This is the de-  
fault mode after a CRST or a SCSI Reset Command. While  
in this mode all the commands in the SCSI Command regis-  
ter become unavailable. This mode is intended to accom-  
modate lower level processor controlled transfers which  
may be unique to an application. In other words, the SCSI  
protocol becomes completely processor controlled.  
If connected as a Target in Manual Mode, REQ is asserted  
as soon as the HE (Handshake Enable) bit in the Synchro-  
nous Transfer register is switched from ‘‘0’’ to ‘‘1’’.  
Note that no DMA transfers occur between the SCSI bus  
and buffer memory while in Manual Mode.  
A typical sequence may be to issue a (Re)Select command  
in the Automatic Mode, since this is not easy or fast in the  
Manual Mode, then switch to Manual Mode for further, per-  
haps unique, transfers or phase sequences.  
While in Manual Mode, there is no automatic protection  
against generating illegal SCSI operations. Care should be  
taken to ensure that other devices on the SCSI bus are not  
adversely affected by custom sequences.  
Data can then be transferred in two different ways while in  
Manual Mode. By setting the HE (Handshake Enable) bit in  
the Synchronous Transfer register to a ‘‘0’’, the SCSI data  
bus appears as a simple transceiver without a latch. This  
mode is intended for unique applications which require proc-  
essor control over the Arbitration and Selection phases.  
Differential Transceiver Control in Manual Mode  
On the DP8497, fourteen pins are dedicated to the task of  
controlling the direction of off-chip differential transceivers  
required for Fast SCSI type applications. Control of these  
62  
4.0 Functional Description (Continued)  
signals in manual mode can be accomplished by writing to  
the Differential SCSI 1 and 2, SDIF1 and SDIF2 (4Eh and  
4Fh), registers.  
transfer sequence. Simply issue the appropriate Reselect  
combination command and the Reselection sequence will  
automatically be skipped. The command will start by send-  
ing the Idenfity message.  
SCSI Bus Reset  
The ‘‘Wait-for-Select’’ type commands are terminated either  
by completing their execution, being overwritten by another  
command, or aborted by an unexpected condition.  
Normally, if the RST signal on the SCSI bus becomes as-  
serted, the DP8496/7 will deassert all the SCSI bus signals.  
A ‘‘SCSI Bus Reset Received’’ interrupt will be generated. If  
a SCSI command is executing, it will be terminated immedi-  
ately with a ‘‘SCSI Bus Reset Received’’ interrupt. This in-  
terrupt may be buffered after other pending interrupts as  
defined in Table 4.27.  
However, if a ‘‘Wait for Select’’ command is overwritten by  
another command after it has started responding to a selec-  
tion, but before an interrupt has been issued, a ‘‘Last Com-  
mand Ignored’’ interrupt will be generated through the SCSI  
Interrupt register.  
The RST signal on the SCSI bus will be ignored by the  
DP8496/7 for only one condition. This condition is while in  
the Manual Mode with the HE (Handshake Enable) bit in the  
Synchronous Transfer register is set to ‘‘0’’. In this situation  
the DP8496/7 will not be affected by the RST signal. This is  
a dangerous mode to be in on a normally operating SCSI  
bus! The intended use of this mode is to allow manipulation  
of SCSI bus signals while SCSI Bus Reset shuts down all  
other devices on the SCSI bus.  
It is important to consider the SCSI Pointer while overwriting  
a ‘‘Wait for Select’’ with another command such as a Rese-  
lect combination command. Typically two different pointer  
locations will be necessary; one for the Command Descrip-  
tor Block of the ‘‘Wait for select’’ command and one for the  
data block(s) of the Reselect command. The software must  
make sure there is no chance the ‘‘Wait for Select’’ com-  
mand is executing before changing the SCSI Pointer. The  
following procedure will ensure proper SCSI Pointer modifi-  
cation.  
Target and Initiator Modes  
The DP8496/7 has commands in the Automatic Mode for  
both the Initiator and Target roles. However, since the chip  
will primarily be used in the Target Mode, there are combi-  
nation commands which optimize performance for this role.  
Single- and multi-phase commands are available for the Ini-  
tiator role, for example: Select, Transfer Info and Transfer  
Pad. Single- and multi-phase commands are also available  
for the Target role. But, combination commands are also  
available in the Target mode which can minimize processor  
overhead. Manual mode can be used with either Target or  
Initiator modes.  
1. Issue a Clear Pending Command to overwrite the ‘‘Wait  
for Select’’ command.  
2. Read the SCSI Status register and check for the Selec-  
tion in Process code.  
e
3. If the SCSI Bus is free (Status Code  
0000 or 0001),  
then the ‘‘Wait for Select’’ command has been success-  
fully aborted. You are free to update the SCSI Pointer.  
4. If any other Status Code, wait for an interrupt to indicate  
the completion of the ‘‘Wait for Select’’ command (or  
perhaps an unexpected reselection). Then, update the  
SCSI Pointer.  
SCSI Parity  
Unexpected (Re)Selection  
Odd or even parity generation and checking on SCSI trans-  
fers is offered. The user enables parity and selects parity  
polarity by setting the SPE and SPP bits of the Setup 2  
register. Refer to Setup 2 register (61h) description in Sec-  
tion 3.2 and Table 4.10 in Section 4.2.9 for more details.  
Even if no command is currently executing, the DP8496/7  
will still respond to a (Re)Selection from an Initiator or Tar-  
get broadcasting the proper ID while in Automatic Mode.  
This will generate a ‘‘(Re)Selected’’ interrupt.  
Asserting CRST or issuing a SCSI Reset command will set  
the Manual Mode to avoid a Selection response before the  
system is initialized.  
When in Initiator mode, the DP8496/7 will assert ATN  
whenever it detects a parity error on the received data, if  
SCSI parity is enabled.  
A (re)selection is usually asynchronous to normal opera-  
tions. Therefore, new commands may be written to the SCSI  
Command register at critical times related to a (re)selection.  
Here is a summary of responses by the DP8496/7 based on  
the relationship between writing to the SCSI Command reg-  
ister and a (re)Selection attempt. This assumes that the  
DP8496/7 is not connected and there is no command cur-  
rently executing.  
Combination Commands  
Combination commands bring together most of the com-  
monly used sequences for Target operation. Their primary  
purpose is to reduce the number of interrupts and thus the  
processor overhead required in SCSI transactions.  
Most combination commands may be issued before or after  
a SCSI connection. However, two commands (Send Discon-  
nect and Send End) can only be issued after a SCSI con-  
nection has been established.  
1. A new command is written just before (re)selection. As-  
suming the DP8496/7 losses arbitration and the winning  
The other combination commands are of two classes: those  
which wait to be selected and those which reselect. Both of  
these classes can be issued before or after a SCSI connec-  
tion has been established. For example, an Initiator may  
have selected the Target before any ‘‘Wait for Select’’ com-  
mand was issued by the local processor. This ‘‘Wait for Se-  
lect’’ command can still be issued after the selection is com-  
plete and the specified transfer phases will be accom-  
plished. Likewise, the Target may have used the stand-  
alone Reselect command to re-establish a connection with  
some Initiator and now wish an Identify message and data  
initiator (or Target) selects the DP8496/7,  
‘‘(Re)Selected’’ interrupt will be generated and a ‘‘Last  
Command Ignored’’ status will be reported.  
a
2. A new comand is written during a (re)selection. In this  
case the DP8496/7 will generate a ‘‘(Re)Selected’’ inter-  
rupt and ‘‘Last Command Ignored’’ interrupt.  
3. A new command is written after a (re)selection. Since the  
(re)selection is complete, a ‘‘(Re)Selected’’ interrupt will  
be generated and a ‘‘Last Command Ignored’’ status will  
be reported.  
63  
4.0 Functional Description (Continued)  
4.5 TIMER  
DCOZ: Drive Command On Zero  
Since there are time-outs of various lengths used through-  
out SCSI bus transactions and time periods that need to be  
measured for other external and internal system timing, a  
general purpose Timer is put on-chip. It can be programmed  
to generate interrupts at a constant rate. In addition to Se-  
lection/Reselection time-outs and monitoring for a ‘‘hung’’  
bus, this Timer can be reset by the index pulse and used to  
check disk rotational speed, seek time-outs, head position  
and many other events. Execution of disk commands can  
also be delayed until a time-out for positioning of certain  
operations on disk data.  
1
Drive commands loaded to Disk Command register will  
not be started until the Timer Count register counts  
down to zero. The Timer Count register should be load-  
ed after the Disk Command register with a value calcu-  
lated to position the command at the track position de-  
sired. Typically the LOI (Load On Index) bit will be set  
and command would be a Read or Write Unformatted.  
0
Drive commands are executed normally.  
Prescale Code  
TABLE 4.31. Prescale Code  
The Timer interrupt is observable in the Disk Interrupt regis-  
ter and is maskable in the Disk Interrupt Enable register.  
Two registers control the timer, the Timer Prescale register  
and the Timer Count register. Timer Prescale not only con-  
trols the divisor, but three set/reset functions. Timer Count  
is simply the number of periods in the interval and it reads  
back the current count. Timer Count is loaded last and  
starts the timer.  
Prescale  
Code  
Prescale  
Prescale  
Value  
Code (Hex)  
3
2
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
4
8
16  
32  
TABLE 4.30. Timer Periods  
64  
128  
256  
512  
1024  
2048  
4096  
8192  
16k  
32k  
64k  
128k  
BCLK  
10 MHz  
14 MHz  
18 MHz  
22 MHz  
Min Period  
400 ns  
Max Period  
3.36 sec.  
2.40 sec.  
1.86 sec.  
1.53 sec.  
286 ns  
222 ns  
182 ns  
4.5.1 Timer Register Descriptions  
Timer Prescale (TPRE)  
63h  
R/W  
0
7
6
5
4
3
2
1
LOI  
ROZ  
DCOZ  
x
Prescale Code  
LOI and ROZ Bits  
This register is reset by the CRST pin and the reset com-  
mands.  
Load On Index and Restart On Zero bits can be used in any  
combination. When both the LOI and ROZ bits are set, the  
LOI function takes priority. If the Index pulse is received, a  
reload is done regardless of the count. The interesting case  
is when the Timer Count register reaches zero before the  
next index pulse. Multiple interrupts can be generated dur-  
ing the disk revolution with each revolution synchronized to  
the index pulse. A useful setup might be to program the  
prescale and count to interrupt for each sector on a track.  
LOI: Load On Index  
1
Restarts counting sequence when leading edge of in-  
dex pulse is received. This works independently of en-  
abling the Index interrupt. This bit reloads the timer  
count and leaves the prescale value unchanged. The  
[
next interrupt generated will be 1/BCLK * PRESCALE  
]
* TIMER COUNT seconds away. No interrupt will be  
generated until the Index pulse has been received and  
the count value has elapsed.  
Timer Count (TCNT)  
64h  
R/W  
0
7
6
5
4
3
2
1
0
The index pulse has no effect on the Timer.  
Count  
ROZ: Reload On Zero  
The action of loading the register starts the counting pro-  
cess. Timer Count is loaded by the processor and specifies  
1
When the Timer Count reaches zero, it is automatically  
reloaded with the initial value loaded by the processor.  
An interrupt is generated, if enabled, when the Timer  
Count register reaches zero. This mode can be used as  
a ‘‘rate generator’’ giving an interrupt at a periodic rate.  
[
]
the number of 1/BCLK * PRESCALE periods to count. It  
decrements to zero and creates an interrupt if enabled. The  
Timer Count is readable at any time and contains the cur-  
rent count as it is decrementing.  
0
No reloading of the Timer Count register occurs. An  
interrupt occurs, if enabled, when the Timer Count reg-  
ister reaches zero. The Timer Interrupt will not occur  
again until a new value is loaded into Timer Counter.  
64  
5.0 Application Information: Buffer Memory Interfacing  
in a Fast SCSI Implementation  
Today’s hard disk systems require high throughput in each  
stage from the magnetic media to the CPU. Additionally,  
users wish to have wide access to a great many different  
drive types and manufacturers. This was the motivation for  
the SCSI interface. To achieve high throughput, SCSI-2 de-  
fines a differential cable transmission scheme and a Fast  
option that allows transfers at 10 MBytes/sec. At the same  
time faster serial data rate from the disk drive is required in  
order to utilize this increased bus bandwidth. Thus disk data  
rates of 33 Mbits/sec, (or 4.2 MBytes/sec) are becoming  
common. Into this fray of information exchange is the added  
requirements of error correction and drive control, hence  
the need for a processor to also have access to the data.  
have transferred 4 words in 9 BCLK cycles that same four  
a
word transfer now takes 5 (1 word)  
8 (three words) or 13  
BCLK cycles. The system will only cross a page boundary at  
the most once every page size. In the DP8496/7 this is 256  
addresses. If transfers are never aligned to page bounda-  
ries, the following sequence of events will occur for a 256  
word transfer:  
3 blocks of 54 words each, terminated with a refresh.  
1 block of 54 words, terminated with a refresh and a  
page boundary.  
1 block of 40 words, to complete the 256 word  
transfer.  
This example application, shown in Figure 5.1, illustrates  
how the DP8497 can be used to implement a drive design  
that achieves 10 MBytes/sec SCSI transfer rate and a  
33 Mbit/sec disk data rate while using only low-cost 100 ns  
variety DRAMs. The key feature of the DP8497 that makes  
this possible is its word-wide buffer memory port. This ex-  
ample application requires the buffer memory port to pro-  
Total of 256 words transferred.  
This requires the following number of corresponding cycles:  
3 blocks of 128 BCLK cycles.  
1 block of 132 cycles, because of the page boundary.  
1 block of 90 cycles for the remaining 40 words.  
a
DRAM  
vide enough bandwidth to support 10 MBytes/sec (SCSI)  
a
Total of 606 BCLK cycles taken.  
a
4.2 MBytes/sec (Disk)  
Processor Accesses  
Therefore the corresponding transfer rate becomes 16.898  
MBytes/sec. Note that the reduction in bandwidth due to  
page effects is only 0.7%. Figure 5.3 illustrates the net, at-  
tainable bandwidth as a function of BCLK frequency.  
Refreshes under the maximum load. The DP8496/7 auto-  
matically handles refresh if DRAMs are used. The refresh  
occurs once every 128 BCLK cycles and takes 5 BCLK cy-  
cles to complete. Hence a refresh cycle starts after 123  
BCLK cycles. Under the maximum load, the FIFOs will  
transfer 4 words in 9 BLCK cycles. This gives over 13 trans-  
fers per refresh. Using a word length of 2 bytes, this means  
The 512 KByte buffer memory shown in the schematic  
makes possible large cache buffers for the purpose of re-  
ducing effective access times. The 256k  
c
18 DRAM chip  
was chosen to minimize the number of chips, while still  
maintaining the word-wide bandwidth. In this way, only one  
DRAM chip is used. However, cheaper x4 DRAM chips may  
be used at the cost of increased board space. The  
DP8496/7s support other widths of DRAMs such as 256k x  
4s and 1 Meg x 1s. The SDDC can support the load of up to  
12 DRAMs. The example also uses parity to help ensure  
that the data from the host computer is not errantly changed  
on its way to the magnetic media, or visa versa.  
c
c
4 or 104 bytes will be transferred in 123  
that 2  
13  
BLCK cycles. If BCLK is running at 20 MHz, then there is at  
least 16.91 MBytes/sec available for disk, SCSI and proces-  
sor accesses. With the above constraints this allows the  
processor to have access to a bandwidth of 2.7 MBytes/sec  
under the worst case.  
Standard 100 ns fast page mode DRAMs have a cycle time  
of 180 ns for a random access. Page mode DRAMs, the  
most common type, allow a faster access to data that  
shares the same ‘‘page’’ as the previous access. Each of  
these ‘‘same page’’ accesses takes 55 ns. Thus with a burst  
of 4 words under a high load condition, there is one random  
access (usually) followed by 3 fast accesses to the same  
page. The minimum time in which these accesses could be  
The Rest of the Circuit:  
To start, the connection between the SCSI cable and the  
differential transceivers requires termination. The termina-  
tion resistors are not shown in the schematic; however, they  
should be the same as defined in the SCSI standard. This is  
shown in Figure 5.2.  
a
c
55 ns or 345 ns. The time  
achieved would be 180 ns  
3
for a burst read of 4 words is 9 BCLKs; thus at a BCLK of  
20 MHz, the total time taken is 450 ns. This is more than  
enough time for the DRAM. With this ability it is possible to  
have a sustained memory bandwidth of 16.9 MBytes/sec  
with 100 ns Page mode DRAMs. However, the random and  
page access times, cycle time, and setup and hold times  
should be checked against the buffer memory timing spec  
for the particular type of DRAMs used.  
The DB8497 has the differential transceiver enable controls  
on chip. These connect directly to the drive enable pins on  
the DS36954As. In this way, complete differential SCSI can  
be achieved by only adding the transceiver chips and termi-  
nation resistors.  
The mController used is the HPC46003. This 16-bit proces-  
sor is capable of achieving high instruction rates and uses a  
very compact coding scheme. Other versions of the mCon-  
troller have internal ROM that may be mask programmed.  
All versions have at least 256 bytes of internal RAM.  
Since page mode DRAMs have a limited page size, there is  
often a need to change pages. This action requires a new  
row address to be presented to the DRAMs. If a burst will  
require the address to change its page, then the burst is  
truncated to fit up to the end of the page, and a new burst  
transfer occurs at the beginning of the page boundary. The  
worst case is when there is only one word that can be trans-  
ferred at the end of the page. Thus when the burst should  
This circuit has an external 32 KBytes of ROM for prototyp-  
ing. An additional 32 KBytes of RAM is provided to allow the  
HPC to download programs through its UART, again for pro-  
totyping, and also for additional storage. Since the mCon-  
troller has been forced into 8-bit access, only a single latch  
is required to hold the address for the RAM and ROM.  
65  
5.0 Application Information: Buffer Memory Interfacing  
in a Fast SCSI Implementation (Continued)  
TL/F/11212–7  
FIGURE 5.1. Typical Application Diagram  
66  
5.0 Application Information: Buffer Memory Interfacing  
in a Fast SCSI Implementation (Continued)  
There is also a PAL programmed to provide the chip select  
signals. Additionally, the HPC46003 has many input and  
output pins available for drive control.  
The setup register SUP2 is concerned with how the proces-  
sor accesses are performed and the enabling and type of  
parity for the buffer and SCSI interfaces. Here it is loaded as  
follows:  
The disk connections are straight forward. The disk control-  
ler accepts the unencoded NRZ from any encoder/decoder,  
here the 1,7 ENDEC is shown. The Read channel is the last  
block before the head’s preamp. This schematic shows only  
those read-channel connections that apply to the disk con-  
troller portion of the disk.  
Ý
Bit  
Name  
Description  
7
AI  
Auto Increment. Depends on how the proc-  
essor wants to access the buffer memory.  
Since it depends on the software, it is set to  
0 here for example.  
The ‘96B/97 have an advanced SCSI controller. This  
means the on-board mController does not need extremely  
sophisticated firmware for controlling the SCSI interface.  
They also have high level disk control commands. The  
mController can just issue simple commands with no further  
need for intervention.  
6
5
4
3
BPP  
BPE  
SPP  
SPE  
Buffer Parity Polarity. Even parity is chosen  
arbitrarily, so this bit is set to 1.  
Buffer Parity Enable. This is a 1 to enable the  
buffer memory parity checks.  
SCSI Parity Polarity. Here Odd parity is cho-  
sen, so the bit is set to 0.  
To set up the DP8496/DP8497 a few registers need to be  
initialized. The first setup register is SUP1 at 60h. The bits in  
this application are defined as:  
SCSI Parity Enable. This is set to 1 to check  
the parity on the SCSI bus when the condi-  
tions are met.  
Ý
Bit  
7, 6  
Name  
Description  
CLK (1:0) These two bits are set to 01 for  
20 MHz bus clock.  
a
2–0 SID  
SCSI ID. This is set in this example to be 110  
(6) to make it the next highest priority after  
the initiator. This is a good priority for a boot  
drive. But typically, the mC’s firmware will set  
this value based on switches or jumpers set  
by the user.  
5
SWS  
This bit is for SRAM wait states, it does  
not apply to systems using DRAMs for  
their buffer memory. Here it is set to 0 as  
a default.  
4
DFP  
This bit when set disables the use of  
fast page mode DRAMs. Here it is set to  
0 because fast page mode is necessary  
to acheive the high bandwidth.  
Thus the value to be written to the SUP2 register at 61h is  
01101110 or 7Eh.  
The third setup register SUP3 has only one bit to set for this  
configuration. The bit is the CI bit, the Combine Interrupts  
bit. It is 0 to make the disk related interrupts appear on the  
DINT pin and the SCSI related interrupts to appear on the  
SINT pin. Therefore a value of 00 should be written to the  
SUP3 register at 62h.  
3, 2  
DD (1:0)  
These bits select the DRAM size. Since  
256k x 16’s are used, the values for  
these bits should be 01.  
1
0
RSEL  
RWID  
This is the RAM select bit. Here it is 1 to  
select DRAMs.  
The DP8496/DP8497 devices are extremely efficient in pro-  
viding high speed disk control and a SCSI interface. The  
disk control and interface functions in this application of a  
512 KByte buffer, Fast 10 MBytes/sec differential SCSI,  
and a high performance mController can be made using only  
12 chips.  
RAM Data Path Width. Here it is 0 for  
word mode.  
Therefore the value to load at 60h in the DP8496/DP8497 is  
01000110 or 46h.  
TL/F/11212–8  
FIGURE 5.2  
67  
5.0 Application Information: Buffer Memory Interfacing  
in a Fast SCSI Implementation (Continued)  
TL/F/1121273  
FIGURE 5.3. Net, Attainable Bandwidth of DP8496/DP8497  
68  
6.0 D.C. Specifications  
Absolute Maximum Ratings (Notes 1 and 2)  
Operating Conditions  
If Military/Aerospace specified devices are required,  
please contact the National Semiconductor Sales  
Office/Distributors for availability and specifications.  
Min  
4.5  
Max  
5.5  
Units  
V
Supply Voltage (V  
)
CC  
a
Operating Temperature (T )  
A
0
70  
C
§
b
a
0.5V to 7.0V  
Supply Voltage (V  
)
CC  
e
e
ESD Tolerance:  
C
R
100 pF 2000  
1.5 kX  
V
ZAP  
b
b
a
a
DC Input Voltage (V  
)
0.5V to V  
0.5V to V  
0.5V  
0.5V  
IN  
CC  
CC  
ZAP  
(Note 4)  
DC Output Voltage (V  
)
OUT  
b
a
65 C to 165 C  
Storage Temperature (T  
) Range  
§
§
1.5W  
STG  
Package Power Dissipation (P )  
D
Lead Temperature (T )  
L
(Soldering, 10 Seconds)  
260 C  
§
e
e
g
5V 10%, T  
DC Electrical Characteristics V  
0 C to 70 C unless otherwise specified. (Note 3)  
§ §  
CC  
A
Symbol  
Parameter  
High Level Input Voltage  
Low Level Input Voltage  
Input Current  
Conditions  
Min  
Max  
Units  
V
V
V
2.0  
IH  
0.8  
V
IL  
e
g
g
I
I
I
V
V
V
V
or GND  
20  
20  
mA  
mA  
IH  
IN  
CC  
e
Output TRI-STATE Leakage Current  
V
or GND  
OZ  
CC  
OUT  
CC  
or V , I  
IL OUT  
e
e
0 mA,  
Average V Supply Curent  
CC  
V
IH  
IN  
50  
mA  
e
e
33 MHz  
BCLK  
20 MHz, RCLK  
BUFFER MEMORY PINS (DB1, ADB2, AB3, AB4, ADSo, RDo, WRo)  
e
e
e
e
e
b
V
V
High Level Output Voltage  
V
IN  
V
IN  
V
IN  
V
IN  
V
IH  
V
IH  
V
IH  
V
IH  
or V , I  
IL  
20 mA  
8.0 mA  
20 mA  
8.0 mA  
V
CC  
0.1  
V
V
V
V
OH  
l
OUT  
OUT  
OUT  
OUT  
l
l
l
l
e
e
e
or V , I  
IL  
3.5  
l
Low Level Output Voltage (SCSI)  
or V , I  
IL  
0.1  
0.4  
OL  
l
or V , I  
IL  
l
SCSI BUS PINS (SCSI Data and SCSI Control Pins on DP8496 Only)  
e
g
I
Output High Leakage Current  
V
V
V
V
or GND  
20  
mA  
V
LKG  
OUT  
CC  
e
e
e
V
Low Level Output Voltage (SCSI)  
V
or V , I  
20 mA  
0.1  
0.5  
OL  
IN  
IN  
IH  
IH  
IL  
l
or V , I  
OUT  
OUT  
l
l
e
V
48.0 mA  
V
IL  
l
RDY/MODE PIN IN MODE CONFIGURATION  
Input Low Current  
e
b
I
V
IN  
GND  
500  
mA  
IL  
ALL OTHER PINS (Including SCSI Data, Control, and Transceiver Direction Control Pins on DP8497)  
e
e
e
e
e
e
e
e
b
V
High Level Output Voltage  
V
IN  
V
IN  
V
IN  
V
IN  
V
IH  
V
IH  
V
IH  
V
IH  
or V , I  
IL  
20 mA  
2.0 mA  
20 mA  
2.0 mA  
V
CC  
0.1  
V
V
V
V
OH  
OL  
l
OUT  
OUT  
OUT  
OUT  
l
l
l
l
or V , I  
IL  
3.5  
l
V
Low Level Output Voltage (SCSI)  
or V , I  
IL  
0.1  
0.4  
l
or V , I  
IL  
l
SCSI INPUT PINS CHARACTERISTICS (SCSI Data and SCSI Control Pins)  
Symbol Parameter Conditions  
Input Hysteresis  
Nominal Switching Threshold  
Typ  
Units  
V
V
0.2  
1.4  
V
V
HYS  
TH  
Note 1: Absolute Maximum Ratings are those values beyond which damage to the device may occur.  
Note 2: Unless otherwise specified, all voltages are referenced to ground.  
Note 3: These DC Electrical Characteristics are measured staticly, and not under dynamic conditions.  
Note 4: Value based on test complying with NSC SOP-5-028 human body model ESD testing using the ETS-910 tester.  
69  
7.0 A.C. Specifications  
Refer to Section 8.0 for AC Timing Test Conditions  
The timing values and formulae specified in this preliminary document are based on the chip’s design values; and therefore are  
intended to assist the user in making initial design choices. Final AC Specifications will be determined after a thorough charac-  
terization of the product has been performend.  
7.1 CLOCK TIMING  
TL/F/1121235  
DP8496/7-33  
DP8496/7-50  
Ý
ID  
Symbol  
Parameter  
Max  
Units  
Min  
18  
18  
40  
13  
13  
30  
Min  
18  
18  
40  
9
1.1  
bcl  
bch  
bcp  
rcl  
BCLK Low (Note 1)  
BCLK High (Note 1)  
BCLK Period (Note 1)  
RCLK Low  
60  
60  
ns  
ns  
ns  
ns  
ns  
ns  
1.2  
1.3  
1.4  
1.5  
1.6  
100  
600  
600  
1000  
rch  
rcp  
RCLK High  
9
RCLK Period  
20  
Note 1: BCLK frequency should not be less than 10 MHz to ensure proper DRAM refresh and to guarantee proper SCSI bus timing. Please refer to Table 4.21A for  
Synchronous Information Transfers.  
Note 2: BCLK can be as low as 2 MHz to save power while the chip is idle, however, the DRAM contents will be invalid.  
7.2 REGISTER READ (NSC/Intel Mode)  
TL/F/1121236  
Ý
ID  
Symbol  
aswi  
Parameter  
Address Strobe Width  
Min  
Max  
Units  
ns  
2.1  
20  
2.2  
2.3  
2.4  
2.5  
2.6  
2.7  
2.8  
asdv  
asas  
ahas  
asrd  
Address Strobe to Data Valid  
Address Setup to Address Strobe  
Address Hold from Address Strobe  
Address Strobe to RD Strobe  
Data Valid from RD  
120  
ns  
9
ns  
10  
20  
ns  
ns  
dvcs  
rdwi  
50  
30  
ns  
RD Strobe Width  
50  
20  
ns  
dhcs  
Data Hold from RD  
ns  
70  
7.0 A.C. Specifications (Continued)  
7.3 REGISTER WRITE (NSC/Intel Mode)  
TL/F/1121237  
Ý
ID  
Symbol  
aswi  
Parameter  
Min  
20  
Max  
Units  
ns  
3.1  
Address Strobe Width  
3.2  
3.3  
3.4  
3.5  
3.6  
3.7  
aswr  
asas  
ahas  
dvwr  
dhwr  
wrwi  
Address Strobe to Write Strobe  
Address Setup to Address Strobe  
Address Hold from Address Strobe  
Data Valid to WR Strobe  
Data Hold from WR Strobe  
WR Strobe Width  
20  
ns  
9
ns  
10  
ns  
100  
10  
ns  
ns  
100  
ns  
7.4 READY PIN  
TL/F/1121238  
Ý
ID  
Symbol  
srdyt  
Parameter  
Min  
Max  
Units  
ns  
4.1  
Strobe to Assertion of RDY  
RDY Released to End of Strobe  
55  
4.2  
rdys  
55  
ns  
7.5 MODE PIN  
TL/F/1121239  
Ý
ID  
Symbol  
crstwi  
mds  
Parameter  
Min  
Max  
Units  
5.1  
Chip Reset Strobe Width  
Mode Setup to CRST  
Mode Hold from CRST  
5 bcp  
100  
50  
ns  
5.1  
5.1  
mdh  
ns  
Note 1: The RDY/MODE pin will be driven low internally. It no longer functions as an output after reset goes inactive.  
71  
7.0 A.C. Specifications (Continued)  
7.6 REGISTER READ (Zilog/Motorola Mode)  
TL/F/1121240  
Ý
ID  
Symbol  
aswi  
Parameter  
Min  
Max  
Units  
ns  
6.1  
Address Strobe Width  
20  
6.2  
6.3  
6.4  
6.5  
6.6  
6.7  
6.8  
6.9  
6.10  
asdv  
asas  
ahas  
asds  
dvds  
dswi  
Address Strobe to Data Valid  
Address Setup to Address Strobe  
Address Hold from Address Strobe  
Address Strobe to Data Strobe  
Data Valid from Data Strobe  
Data Strobe Width  
120  
ns  
9
ns  
10  
20  
ns  
ns  
50  
30  
ns  
50  
20  
30  
30  
ns  
dhds  
rwas  
dsrw  
Data Hold from Data Strobe  
R/W Strobe to Address Strobe  
Data Strobe to R/W  
ns  
ns  
ns  
7.7 REGISTER WRITE (Zilog/Motorola Mode)  
TL/F/1121241  
Ý
ID  
Symbol  
aswi  
Parameter  
Min  
20  
Max  
Units  
ns  
7.1  
Address Strobe Width  
7.2  
7.3  
7.4  
7.5  
7.6  
7.7  
7.8  
7.9  
asds  
asas  
ahas  
dvds  
dhds  
dswi  
Address Strobe to Write Strobe  
Address Setup to Address Strobe  
Address Hold from Address Strobe  
Data Valid to WR Strobe  
Data Hold from WR Strobe  
WR Strobe Width  
20  
ns  
9
ns  
10  
ns  
100  
10  
ns  
ns  
100  
10  
ns  
rwds  
dsrw  
R/W Strobe to Data Strobe  
Data Strobe to R/W Strobe  
ns  
10  
ns  
72  
7.0 A.C. Specifications (Continued)  
7.8 INTERRUPTS (Note 1)  
TL/F/1121242  
e
BCLK  
Min  
20 MHz  
Max  
Ý
ID  
Symbol  
Parameter  
Formula  
Units  
8.1  
8.1  
wraint  
wrdint  
WR Strobe Assertion to INT Deassertion  
WR Strobe Deassertion to INT Assertion  
30  
ns  
ns  
e
e
Min  
2bcp,  
3bcp  
100  
180  
a
30  
Max  
Note 1: This waveform represents when the Disk Interrupt or SCSI Interrupt register is written to, but interrupts are still pending.  
7.9 BUFFER MEMORY STATIC RAM READ  
TL/F/1121243  
e
BCLK  
Min  
20 MHz  
Ý
ID  
Symbol  
Parameter  
Formula  
Units  
Max  
30  
9.1  
cash  
casl  
asw  
asrd  
rdw  
BCLK to Address Strobe High  
BCLK to Address Strobe Low  
Address Strobe Width  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
9.2  
9.3  
30  
b
b
a
bcp  
bch  
bcp  
5
45  
18  
68  
9.4  
Address Strobe to RD Strobe  
RD Strobe Width  
5
a
b
5
9.5  
W
bcl  
a
a
b
bcl 13  
9.6  
rdd  
RD Strobe to Data  
W
bcp  
60  
9.7  
ds  
Data Setup to RD Strobe  
Data Hold from RD Strobe  
Address Setup to Address Strobe  
Address Setup to Data  
13  
10  
18  
110  
8
9.8  
dh  
b
a
9.9  
adsas  
adsd  
adhrd  
adhas  
bcl  
5
bcl 13  
a
2bcp  
b
9.10  
9.11  
9.12  
W
b
bch 15  
Address Hold from RD Strobe  
b
bch 15  
Address Hold from Address  
Strobe (16-Bit Mode)  
8
ns  
Note 1: While in the 8-bit mode, the last waveform is not used. While in the 16-bit mode, the last waveform is used and the previous waveform represents AB3 and  
AB4 only.  
Note 2: bcp, bcl & bch refer to the BCLK frequency in use.  
e
e
bcp.  
Note 3: If the Wait States field in the Setup 1 register is ‘‘00’’, then W  
0. Otherwise, W  
73  
7.0 A.C. Specifications (Continued)  
7.10 BUFFER MEMORY STATIC RAM WRITE  
TL/F/1121244  
e
BCLK  
Min  
20 MHz  
Ý
ID  
Symbol  
Parameter  
Formula  
Units  
Max  
30  
10.1  
10.2  
10.3  
10.4  
10.5  
10.6  
10.7  
10.8  
10.9  
10.10  
10.11  
cash  
casl  
BCLK to Address Strobe High  
BCLK to Address Strobe Low  
Address Strobe Width  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
30  
b
b
a
asw  
bcp  
bch  
bcp  
5
45  
18  
68  
58  
8
aswr  
wrw  
Address Strobe to WR Strobe  
WR Strobe Width  
5
a
b
5
W
bcl  
a
a b  
bcl 15  
dswr  
dhwr  
adsas  
adswr  
adhwr  
adhas  
Data Setup to WR Strobe  
W
bcp  
b
bch 15  
Data Hold from WR Strobe  
Address Setup to Address Strobe  
Address Setup to WR Strobe  
Address Hold from WR Strobe  
Address Hold from Address Strobe (16-Bit Mode)  
b
bcl  
5
18  
118  
8
a
a
b
bcl 5  
W
2bcp  
b
bcl 15  
b
bch 15  
8
Note 1: While in the 8-bit mode, the last waveform is not used. While in 16-bit mode, the last waveform is used and the previous waveform represents AB3 and AB4  
only.  
Note 2: bcp, bcl & bch refer to he BCLK frequency in use.  
e
e
bcp.  
Note 3: If the Wait States field in the Setup 1 register is ‘‘00’’, then W  
0. Otherwise, W  
74  
7.0 A.C. Specifications (Continued)  
7.11 BUFFER MEMORY DYNAMIC RAM READ/WRITE  
TL/F/1121245  
Timing parameter descriptions and specifications are shown on next page.  
Note 1: This diagram shows a fast page mode type operation. Normal one transfer operation would not have multiple CAS cycles and associated column address  
and data changes as shown here.  
Note 2: RAS may be asserted on either edge of BCLK.  
Note 3: WR remains deasserted during a read operation.  
Note 4: ADB2 is used for 16-bit mode only.  
Note 5: Transition edges shown in dashed line would occur in the normal mode (non fast page mode) transfers.  
Note 6: For a Read operation, the last waveform is not used. For a Write operation the second from last waveform is not used.  
75  
7.0 A.C. Specifications (Continued)  
e
Formula  
BCLK  
Min  
20 MHz  
Max  
30  
Ý
ID  
Symbol  
Parameter  
Units  
Min  
Max  
11.1  
11.2  
11.3  
crasa  
crasd  
rc  
BCLK to RAS Asserted  
ns  
ns  
BCLK to RAS and CAS Deasserted  
30  
Read/Write Cycle Time Single xfr  
5*bcp  
9*bcp  
12*bcp  
250  
450  
600  
4x Burst  
6x Burst  
ns  
ns  
a
b
b
11.4  
ras  
RAS/WR Pulse Width  
Single xfr 2*bcp  
4x Burst  
bcl 10  
b
3*bcp 10  
112  
345  
490  
140  
355  
510  
a
7*bcp  
5
7*bcp  
5
b
a
6x Burst  
10*bcp 10  
10*bcp  
10  
b
11.5  
11.6  
rp  
RAS Precharge Time  
RAS to CAS Delay Time  
CAS Pulse Width  
2*bcp  
5
95  
62  
45  
17  
12  
40  
12  
40  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
a
b
bcl 10  
a
b
bcl 10  
rcd  
cas  
bcp  
bcp  
68  
55  
b
b
a
5
11.7  
bcp  
bcl  
5
bcp  
11.8  
cp/cpn CAS Precharge Time  
5
b
bch 10  
11.9  
asr  
rah  
asc  
cah  
rac  
cac  
off  
Row Address Setup Time  
Row Address Hold Time  
b
bcp 10  
11.10  
11.11  
11.12  
11.13  
11.14  
11.15  
11.16  
11.17  
11.18  
11.19  
11.20  
11.21  
11.22  
11.23  
11.24  
11.25  
11.26  
11.27  
11.28  
b
bch 10  
Column Address Setup Time  
Column Address Hold Time  
Access Time from RAS (Read Only)  
Access Time from CAS (Read Only)  
Data Hold from CAS High (Read)  
Data Setup (Write Only)  
b
bcp 10  
a
b
bcl 10  
2*bcp  
112  
40  
b
bcp 10  
a
0
bcp  
bcl  
0
32  
78  
b
10  
ds  
bc  
min  
a
b
bcl 10  
dhr  
dh  
Data Hold from RAS (Write Only)  
Data Hold from CAS (Write Only)  
Fast Page Mode Cycle Time  
Access Time from Column Address  
RAS to Column Addr. Delay Time  
RAS Hold Time  
2*bcp  
112  
40  
b
bcp 10  
a
b
bcl 10  
pc  
bcp  
62  
a
b
10  
aa  
bcp  
bc  
68  
40  
max  
b
bcp 10  
rad  
rsh  
ral  
b
bcp 10  
40  
68  
a
a
b
bch 10  
Column Addr. to RAS Lead Time  
Write Command Setup Time  
Write Command Hold Time  
Column Add. Hold Time from RAS  
CAS Hold Time  
bcp  
bcp  
b
bcl 10  
wcs  
wch  
ar  
68  
b
bcp 10  
40  
a
a
b
bcl 10  
2*bcp  
2*bcp  
112  
112  
90  
b
bcl 10  
csh  
crp  
b
2*bcp 10  
CAS to RAS Precharge Time  
Note: bcp means Bus Clock period being used. bch and bcl refer to the positive and negative pulse widths of Bus Clock, respectively.  
bc means the greater of the bch or bcl, depending on the Bus Clock’s duty cycle; bc means the lesser of the bch or bcl, depending on the Bus Clock’s duty  
max  
cycle.  
min  
76  
7.0 A.C. Specifications (Continued)  
7.12 BUFFER MEMORY DYNAMIC RAM REFRESH  
TL/F/1121246  
e
Formula  
Min  
BCLK  
Min  
20 MHz  
Max  
30  
Ý
ID  
Symbol  
Parameter  
Units  
Max  
12.1  
12.2  
12.3  
12.4  
12.5  
12.6  
12.7  
12.8  
12.9  
crasa  
crasd  
rcr  
BCLK to RAS Asserted (See 11.1)  
BCLK to RAS and CAS Deasserted (11.2)  
Read/Write Cycle Time for Refresh  
RAS Pulse Width for Refresh  
RAS Precharge Time for Refresh  
CAS to RAS Setup Time  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
30  
a
bcp  
bcl  
72  
117  
117  
45  
a
b
5
rasr  
rpr  
2*bcp  
2*bcp  
bch  
bcl  
a
b
5
b
a
5
csr  
bcp  
5
bcp  
55  
a
b
chr  
CAS Hold Time  
2*bcp  
bch  
5
117  
67  
a
b
cpn  
rpc  
CAS Precharge Time  
bcp  
bcp  
bcl  
5
5
a
b
RAS to CAS Precharge Time  
bcl  
67  
Note 1: bcp means Bus Clock Period being used. bch and bcl refer to the positive and negative pulse widths of Bus Clock in use.  
Note 2: RAS may be asserted on either edge of BCLK.  
7.13 DISK READ DATA AND READ GATE TIMING  
TL/F/1121247  
DP8496/7-33  
DP8496/7-50  
Ý
ID  
Symbol  
Parameter  
Max  
Units  
Min  
7
Min  
5
13.1  
13.2  
13.3  
13.4  
13.5  
rds  
rdh  
is  
Read Data Setup to RCLK  
Read Data Hold from RCLK  
Index Setup to RCLK  
ns  
ns  
ns  
ns  
ns  
10  
10  
10  
9
10  
10  
ih  
Index Hold from RCLK  
RCLK to Read Gate  
crg  
15  
77  
7.0 A.C. Specifications (Continued)  
7.14 DISK WRITE DATA AND WRITE GATE TIMING  
TL/F/1121248  
Ý
ID  
Symbol  
rcwch  
rcwcl  
rcwga  
rcwgd  
wds  
Parameter  
Min  
Max  
15  
Units  
ns  
14.1  
14.2  
14.3  
14.4  
14.5  
14.6  
RCLK to WCLK High (Note 1)  
RCLK to WCLK Low (Note 1)  
RCLK to Write Gate Asserted  
RCLK to Write Gate Deasserted  
Write Data Setup to WCLK (Note 2)  
Write Data Hold from WCLK (Note 2)  
15  
ns  
15  
18  
ns  
ns  
b
b
rcl  
5
ns  
wdh  
rch  
5
ns  
Note 1: The absolute value of rcwchrcwcl is 5 ns (max).  
Note 2: rcl refers to the RCLK low time in use. rch refers to the RCLK high time in use. This formula is tested ony at the frequencies listed in Table 8.1.  
Note 3: The WCLK transitions start before the WGATE is asserted and three cycles occur before WGATE assertion.  
7.15 DISK ADDRESS MARK (PSEUDO-HARD SECTORED FORMAT)  
TL/F/1121249  
Ý
ID  
Symbol  
came  
Parameter  
Min  
Max  
Units  
ns  
15.1  
15.2  
RCLK to Address Mark Enable  
Address Mark Found Setup to RCLK  
15  
amfs  
10  
ns  
7.16 SCSI RESET  
TL/F/1121250  
Ý
ID  
Symbol  
srst  
Parameter  
Min  
Max  
Units  
ns  
16.1  
16.2  
SCSI RST to All SCSI Lines Undriven  
SCSI RST Width (Note 1)  
600  
rstw  
2*bcp  
ns  
Note 1: bcp refers to the BCLK period in use. This formula is tested only at the frequencies listed in Table 8.1.  
All SCSI signals are active-high on the DP8497.  
78  
7.0 A.C. Specifications (Continued)  
7.17 SCSI ARBITRATION  
TL/F/1121251  
Optimal BCLK  
Worst Case  
Ý
ID  
Symbol  
Parameter  
Units  
Min  
1.2  
2.4  
1.2  
Max  
1.5  
4.0  
1.4  
30  
Min  
Max  
17.1  
17.2  
17.3  
17.4  
17.5  
bfbl  
blsl  
Bus Free to BSY Out Asserted  
1.2  
2.4  
1.2  
2.2  
5.0  
2.1  
30  
ms  
ms  
ms  
ns  
ms  
BSY Out Asserted to SEL Out Asserted  
SEL Out Asserted to SCSI Data Change  
BSY Out Asserted to Valid SCSI ID  
Bus Free to Valid SCSI ID  
sea  
b
b
blidv  
bfidi  
30  
30  
1.2  
1.5  
1.2  
2.2  
Note: BCLK is defined in the Setup 1 register. Optimal BCLK is defined as follows:  
Bclk Freq Code  
7
6
Optimal Frequency  
0
1
0
1
0
0
1
1
15 MHz  
17.5 MHz  
20 MHz  
25 MHz  
ALL SCSI Signals are active-high on the DP8497.  
7.18 SCSI SELECTION AS INITIATOR (W/O Arbitration)  
TL/F/1121252  
Optimal BCLK  
Worst Case  
Ý
ID  
Symbol  
Parameter  
Units  
Min  
90  
Max  
Min  
90  
Max  
18.1  
18.2  
18.3  
18.4  
18.5  
bsel  
idsel  
selid  
idatn  
bidi  
BSY In Asserted to SEL Out Deasserted  
Valid SCSI ID Out to SEL Out Asserted  
SEL Out Deasserted to SCSI ID Out Invalid  
Valid SCSI ID Out to ATN Out Asserted (if Enabled)  
BSY In Asserted to SCSI ID Out Invalid  
ns  
ns  
ns  
ns  
ns  
90  
230  
30  
90  
350  
30  
b
b
b
b
30  
30  
30  
30  
30  
30  
90  
90  
Note: ALL SCSI Signals are active-high on the DP8497.  
79  
7.0 A.C. Specifications (Continued)  
7.19 SCSI SELECTION AS INITIATOR (With Arbitration)  
TL/F/1121253  
Optimal BCLK  
Worst Case  
Ý
ID  
Symbol  
Parameter  
Units  
Min  
Max  
Min  
400  
90  
Max  
19.1  
19.2  
19.3  
19.4  
19.5  
19.6  
19.7  
bobi  
bisel  
selid  
selbo  
seld  
BSY Out Released to BSY In Asserted (Note 1)  
BSY In Asserted to SEL Out Deasserted  
SEL Out Asserted to Valid SCSI ID Out  
400  
90  
ns  
ns  
ms  
ns  
ns  
ns  
ns  
1.2  
90  
1.4  
230  
30  
1.2  
90  
2.1  
350  
30  
Valid SCSI ID Out to BSY Out Deasserted  
SEL Out Deasserted to SCSI ID Out Invalid  
Valid SCSI ID Out to ATN Out Asserted (If Enabled)  
BSY In Asserted to SCSI ID Out Invalid  
b
b
b
b
30  
30  
30  
30  
datn  
bIIDI  
30  
30  
90  
90  
Note 1: BSY may be asserted sooner, but it will not be detected until (bobi) time has passed.  
All SCSI signals are active-high on the DP8497.  
6.20 SCSI RESELECTION AS INITIATOR  
TL/F/1121254  
Optimal BCLK  
Worst Case  
Ý
ID  
Symbol  
Parameter  
Units  
Min  
400  
0
Max  
Min  
400  
0
Max  
20.1  
20.2  
20.3  
bihbol  
blsh  
blih  
BSY In Deasserted to BSY Out Asserted (Note 1)  
BSY Out Asserted to SEL In Hold  
800  
1300  
ns  
ns  
ns  
BSY In Asserted to SCSI ID Hold  
0
0
Note 1: This time starts when BSY is deasserted AND SEL is asserted AND I/O is asserted AND the logical OR of SCSI ID is valid.  
All SCSI signals are active-high on the DP8497.  
80  
7.0 A.C. Specifications (Continued)  
7.21 SCSI SELECTION AS TARGET  
TL/F/1121255  
Optimal BCLK  
Worst Case  
Ý
ID  
Symbol  
Parameter  
Units  
Min  
400  
0
Max  
Min  
400  
0
Max  
21.1  
21.2  
21.3  
21.4  
bihbol  
blsh  
BSY In Deasserted to BSY Out Asserted (Note 1)  
BSY Out Asserted to SEL In Hold  
800  
1300  
ns  
ns  
ns  
ns  
blih  
BSY In Asserted to SCSI ID Hold  
0
0
shiov  
SEL In Deasserted to I/O, C/D, MSG Asserted  
100  
100  
Note 1: This time starts when BSY is deasserted AND SEL is asserted AND I/O is asserted AND the logical OR of SCSI ID is valid.  
All SCSI signals are active-high on the DP8497.  
7.22 SCSI RESELECTION AS TARGET  
TL/F/1121256  
Optimal BCLK  
Worst Case  
Ý
ID  
Symbol  
Parameter  
Units  
Min  
400  
90  
Max  
Min  
400  
90  
Max  
22.1  
22.2  
22.3  
22.4  
22.5  
22.6  
22.7  
bobv  
blsu  
sliv  
BSY Out Deasserted to BSY In Valid (Note 1)  
BSY In Asserted to SEL Out Deasserted  
SEL Out Asserted to SCSI ID Out Valid  
SCSI ID Out Valid to BSY Out Deasserted  
SEL Out Deasserted to SCSI Data Deasserted  
SEL Out Asserted to I/O Asserted  
ns  
ns  
ms  
ns  
ns  
ms  
ns  
1.2  
90  
1.4  
230  
30  
1.2  
90  
2.1  
350  
30  
ivbo  
shdz  
sliol  
blidi  
b
b
30  
1.2  
90  
30  
1.2  
90  
1.4  
2.1  
BSY in Asserted to SCSI ID Out In Valid  
Note 1: BSY may be asserted sooner, but it will not be detected until (bobv) time has passed.  
All SCSI signals are active-high on the DP8497.  
81  
7.0 A.C. Specifications (Continued)  
7.23 SCSI LOST ARBITRATION  
TL/F/1121257  
Ý
ID  
Symbol  
Parameter  
Min  
Max  
Units  
23.1  
slbf  
SEL In Low to Bus Free  
bcp  
400  
ns  
Note: All SCSI signals are active-high on the DP8497.  
7.24 SCSI ABORT (RE)SELECTION  
TL/F/1121258  
Optimal BCLK  
Worst Case  
Ý
ID  
Symbol  
Parameter  
Units  
Min  
1 bcp  
201  
Max  
4 bcp  
250  
Min  
1 bcp  
201  
Max  
4 bcp  
400  
24.1  
24.2  
bss  
BSY Setup to SEL (Last Chance) (Note 1)  
SCSI ID Released to SEL Out High  
ns  
iuso  
ms  
Note 1: bcp refers to the BCLK period in use. This formula is tested only at the frequencies listed in Table 8.1.  
All SCSI signals are active-high on the DP8497.  
82  
7.0 A.C. Specifications (Continued)  
7.25 SCSI ASYNCHRONOUS INFORMATION IN PHASE AS INITIATOR  
TL/F/1121259  
Ý
ID  
Symbol  
iodz  
Parameter  
I/O Valid to SCSI Data Released  
Phase Change to REQ  
Min  
Typ  
Max  
Units  
ns  
25.1  
25.2  
25.3  
25.4  
25.5  
25.6  
25.7  
4 bcp  
pcreq  
sds  
50  
0
ns  
Data Setup to REQ  
ns  
reqlackl  
sdh  
REQ Low to ACK Low (Notes 1 and 2)  
Data Hold from ACK  
90  
40  
185  
60  
ns  
0
ns  
reqhackh  
phack  
REQ High to ACK High (Note 3)  
Phase Hold from ACK High  
ns  
0
ns  
Note 1: bcp is the BCLK period in use.  
e
e
1 then add an additional bcp.  
Note 2: Transfer Period (in Synchronous Transfer register)  
0. If Transfer Period  
Note 3: This value is not valid for very last transfer. ACK will stay asserted.  
All SCSI signals are active-high on the DP8497.  
83  
7.0 A.C. Specifications (Continued)  
7.26 SCSI ASYNCHRONOUS INFORMATION IN PHASE AS TARGET  
TL/F/1121260  
Optimal BCLK  
Typ  
Worst Case  
Ý
ID  
Symbol  
Parameter  
Units  
Min  
800  
400  
Max  
1100  
550  
Min  
800  
Max  
1700  
800  
26.1  
26.2  
26.3  
26.4  
26.5  
26.6  
26.7  
iodz  
pcreq  
sds  
I/O Valid to SCSI Data Driven  
Phase Change to REQ  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
400  
Data Setup to REQ  
(Note 3)  
0
(Note 3)  
0
sdh  
Data Hold from ACK  
acklreqh  
ackhreql  
phack  
ACK Low to REQ High  
30  
45  
TBD  
TBD  
ACK High to REQ Low (Notes 1 and 2)  
Phase Hold from ACK High  
115  
185  
40  
40  
Note 1: bcp refers to the BCLK period in use. This formula is tested only at the frequencies listed in Table 8.1.  
e
e
1 then add an additional bcp.  
Note 2: Transfer Period (in Synchronous Transfer register)  
0. If Transfer Period  
Note 3: This value is programmable. It is a functon of the BCLK Frequency bits in SUP1 register and the SCSI clock bits in SDIF2 register.  
The SCSI 1 specification (including cable skew) is 55 ns. The SCSI 2 specification (including cable skew) is 25 ns.  
SCSI Clock Bits (1:0)  
00  
1.0  
1.5  
1.5  
1.5  
01  
1.0  
1.0  
1.0  
1.0  
11  
2.0  
2.0  
2.0  
2.0  
10  
1.5  
1.5  
1.5  
1.5  
BCLK  
Freq  
(1:0)  
00  
01  
10  
11  
b
a
Where 1.0 is defined as bcp  
Where 1.5 is defined as bcp  
k; k is a characterization constant  
b
bc  
k; bc is either bcl or bch  
k; k is a characterization constant  
All SCSI signals are active-high on the DP8497.  
b
Where 2.0 is defined as 2*bcp  
84  
7.0 A.C. Specifications (Continued)  
7.27 SCSI ASYNCHRONOUS INFORMATION OUT PHASE AS INITIATOR  
TL/F/1121261  
Ý
ID  
Symbol  
iodz  
Parameter  
Min  
45  
Typ  
Max  
Units  
ns  
27.1  
27.2  
27.3  
27.4  
27.5  
27.6  
27.7  
I/O Valid to SCSI Data Valid  
Phase Change to REQ  
pcreq  
sds  
50  
ns  
Data Setup to ACK  
(Note 4)  
ns  
reqlackl  
sdh  
REQ Low to ACK Low (Note 1)  
Data Hold from REQ  
90  
40  
235  
60  
ns  
0
ns  
reqhackh  
phack  
REQ High to ACK High (Note 3)  
Phase Hold from ACK High  
ns  
0
ns  
e
e
1 then add an additional bcp.  
Note 1: Transfer Period (in Synchronous Transfer register)  
0. If Transfer Period  
Note 2: bcp refers to the BCLK period in use. This formula is tested only at the frequencies listed in Table 8.1.  
Note 3: This value is not valid for the very last transfer. ACK will stay asserted.  
Note 4: This value is programmable. It is a functon of the BCLK Frequency bits in SUP1 register and the SCSI clock bits in SDIF2 register.  
The SCSI 1 specification (including cable skew) is 55 ns. The SCSI 2 specification (including cable skew) is 25 ns.  
SCSI Clock Bits (1:0)  
00  
1.0  
1.5  
1.5  
1.5  
01  
1.0  
1.0  
1.0  
1.0  
11  
2.0  
2.0  
2.0  
2.0  
10  
1.5  
1.5  
1.5  
1.5  
BCLK  
Freq  
(1:0)  
00  
01  
10  
11  
b
a
Where 1.0 is defined as bcp  
Where 1.5 is defined as bcp  
k; k is a characterization constant  
b
bc  
k; bc is either bcl or bch  
k; k is a characterization constant  
All SCSI signals are active-high on the DP8497.  
b
Where 2.0 is defined as 2*bcp  
85  
7.0 A.C. Specifications (Continued)  
7.28 SCSI ASYNCHRONOUS INFORMATION OUT PHASE AS TARGET  
TL/F/1121262  
Optimal BCLK  
Typ  
Worst Case  
Ý
ID  
Symbol  
Parameter  
Units  
Min  
Max  
45  
Min  
Max  
45  
28.1  
28.2  
28.3  
28.4  
28.5  
28.6  
28.7  
iodz  
pcreq  
sds  
I/O Valid to SCSI Data Released  
Phase Change to REQ  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
400  
0
550  
400  
0
800  
Data Setup to ACK  
sdh  
Data Hold from REQ  
0
0
acklreqh  
ackhreql  
phack  
ACK Low to REQ High  
30  
70  
45  
TBD  
TBD  
ACK High to REQ Low (Notes 1 and 2)  
Phase Hold from ACK High  
135  
40  
40  
Note 1: bcp refers to the BCLK period in use. This formula is tested only at the frequencies listed in Table 8.1.  
e
e
1 then add an additional bcp.  
Note 2: Transfer Period (in Synchronous Transfer register)  
0. If Transfer Period  
All SCSI signals are active-high on the DP8497.  
7.29 SCSI SYNCHRONOUS INFORMATION IN PHASE AS INITIATOR  
TL/F/1121263  
Ý
ID  
Symbol  
syds  
Parameter  
Min  
0
Max  
Units  
29.1  
29.2  
29.3  
29.4  
29.5  
29.6  
Synchronous Data Setup  
Synchronous Data Hold (Note 1)  
REQ Deassertion Period  
ns  
ns  
ns  
ns  
ns  
ns  
sydh  
20  
20  
20  
90  
90  
reqdp  
reqap  
ackap  
ackdp  
REQ Assertion Period  
ACK Assertion Period (Note 2)  
ACK Deassertion Period (Note 2)  
Note 1: This parameter meets the SCSI 1 specification of 45 ns. Characterization data will determine if the SCSI 2 specification of 10 ns can be obtained.  
Note 2: The ACK assertion and deassertion time is programmable. The following equations determine these times:  
For n even: 0.5 * n * bcp-k  
b
a
bc)-k; where bc is bcl or bch  
For n odd: (0.5 * (n  
is a characterization constantÐtarget value of which is 10 ns.  
All SCSI signals are active-high on the DP8497.  
1) * bcp  
k
86  
7.0 A.C. Specifications (Continued)  
7.30 SCSI SYNCHRONOUS INFORMATION IN PHASE AS TARGET  
TL/F/1121264  
Ý
ID  
Symbol  
syds  
Parameter  
Min  
(Note 1)  
(Note 2)  
(Note 3)  
(Note 3)  
20  
Max  
Units  
ns  
30.1  
30.2  
30.3  
30.4  
30.5  
30.6  
Synchronous Data Setup (Note 1)  
Synchronous Data Hold (Note 2)  
REQ Deassertion Period (Note 3)  
REQ Assertion Period (Note 3)  
ACK Assertion Period  
sydh  
ns  
reqdp  
reqap  
ackap  
ackdp  
ns  
ns  
ns  
ACK Deassertion Period  
20  
ns  
Note 1: The setup time is programmable. The following equations determine these typical times:  
e
e
For n  
For n  
2: bcp-k  
b
a
bc)-k; where bc is bcl or bch  
4, 6: (0.5 * (n  
2) * bcp  
1) * bcp)-k  
Note 2: The hold time is programmable. The following equations determine these typical times:  
b
For n Odd: (0.5 * (n  
e
e
For n  
For n  
2: bcp-k  
a
4, 6: (0.5 * n * bcp  
bc)-k; where bc is bcl or bch  
a
For n Odd: (0.5 * (n  
1) * bcp)-k  
Note 3: The ACK assertion and deassertion time is programmable. The following equations determine these typical times:  
For n Even: (0.5 * n * bcp)-k  
b
a
bc)-k; where bc is bcl or bch  
For n Odd: (0.5 * (n  
1) * bcp  
k is a characterization constantÐtarget value of which is 10 ns.  
All SCSI signals are active-high on the DP8497.  
87  
7.0 A.C. Specifications (Continued)  
7.31 SCSI SYNCHRONOUS INFORMATION OUT PHASE AS INITIATOR  
TL/F/1121265  
Ý
ID  
Symbol  
reqap  
reqdp  
sydh  
Parameter  
Min  
20  
Max  
Units  
ns  
31.1  
31.2  
31.3  
31.4  
31.5  
31.6  
REQ Assertion Period  
REQ Deassertion Period  
20  
ns  
Synchronous Data Hold (Note 2)  
Synchronous Data Setup (Note 1)  
ACK Assertion Period (Note 3)  
ACK Deassertion Period (Note 3)  
(Note 2)  
(Note 1)  
(Note 3)  
(Note 3)  
ns  
syds  
ns  
ackap  
ackdp  
ns  
ns  
Note 1: The setup time is programmable. The following equations determine these typical times:  
e
e
For n  
For n  
2: bcp-k  
b
a
bc)-k; where bc is bcl or bch  
4, 6: (0.5 * (n  
2) * bcp  
1) * bcp)-k  
Note 2: The hold time is programmable. The following equations determine these typical times:  
b
For n Odd: (0.5 * (n  
e
e
For n  
For n  
2: bcp-k  
a
4, 6: (0.5 * n * bcp  
bc)-k; where bc is bcl or bch  
a
For n Odd: (0.5 * (n  
1) * bcp)-k  
Note 3: The ACK assertion and deassertion time is programmable. The following equations determine these typical times:  
For n Even: (0.5 * n * bcp)-k  
b
a
bc)-k; where bc is bcl or bch  
For n Odd: (0.5 * (n  
1) * bcp  
k is a characterization constantÐtarget value for which is 10 ns.  
All SCSI signals are active-high on the DP8497.  
7.32 SCSI SYNCHRONOUS INFORMATION OUT PHASE AS TARGET  
TL/F/1121266  
Ý
ID  
Symbol  
reqap  
reqdp  
sydh  
Parameter  
Min  
(Note 1)  
(Note 1)  
20  
Max  
Units  
ns  
32.1  
32.2  
32.3  
32.4  
32.5  
32.6  
REQ Assertion Period  
REQ Deassertion Period  
Synchronous Data Hold  
Synchronous Data Setup  
ACK Assertion Period  
ACK Deassertion Period  
ns  
ns  
syds  
0
ns  
ackap  
ackdp  
20  
ns  
20  
ns  
Note 1: The REQ assertion and deassertion time is programmable. The following equations determine these typical times:  
For n even: (0.5 * n * bcp)-k  
b
a
bc)-k; where bc is bcl or bch  
For n odd: (0.5 * (n  
1) * bcp  
k is a characterization constantÐtarget value for which is 10 ns.  
88  
7.0 A.C. Specifications (Continued)  
7.33 SCSI BUS FREE FROM INFORMATION PHASE AS INITIATOR  
TL/F/1121267  
Optimal BCLK  
Worst Case  
Ý
ID  
Symbol  
Parameter  
Units  
Min  
Max  
Min  
Max  
33.1  
bihbf  
BSY Deasserted to Bus Free  
400  
800  
400  
1200  
ns  
7.34 SCSI BUS FREE FROM INFORMATION PHASE AS TARGET  
TL/F/1121268  
Ý
ID  
Symbol  
Parameter  
BSY Deasserted to Bus Free  
Min  
Max  
Units  
ns  
34.1  
bohbf  
200  
Note: All SCSI signals are active-high on the DP8497.  
7.35 DIFFERENTIAL TRANSCEIVER DIRECTION CONTROL (DP8497 Only)  
TL/F/1121269  
Arbitration  
Selection  
Info Transfer  
Ý
ID  
Symbol  
Parameter  
Units  
Min  
Max  
Min  
Max  
Min  
Max  
35.1  
35.2  
35.3  
35.4  
ddsad  
Data Direction Signal Assertion  
to Data Valid  
b
b
b
b
b
30  
30  
30  
30  
30  
30  
30  
0
ns  
ns  
ns  
ns  
pdsap  
diddsd  
pipdsd  
Parity Direction Signal Assertion  
to Parity Valid  
N/A  
N/A  
30  
30  
30  
30  
0
0
0
Data Invalid to Data Direction  
Signal Deassertion  
b
30  
Parity Invalid to Parity Direction  
Signal Deassertion  
N/A  
N/A  
Note: All SCSI signals are active-high on the DP8497.  
89  
7.0 A.C. Specifications (Continued)  
7.35 DIFFERENTIAL TRANSCEIVER DIRECTION CONTROL (DP8497 Only) (Continued)  
TL/F/1121270  
Ý
ID  
Symbol  
Parameter  
Min  
Max  
Units  
35.5  
bdsab  
sdsas  
rdsar  
BSY Direction Signal Assertion to BSY Assertion  
SEL Direction Signal Assertion to SEL Assertion  
RST Direction Signal Assertion to RST Assertion  
b
b
30  
30  
30  
30  
ns  
35.6  
bdbdsd  
sdsdsd  
rdrdsd  
BSY Deassertion to BSY Direction Signal Deassertion  
SEL Deassertion to SEL Direction Signal Deassertion  
RST Deassertion to RST Direction Signal Deassertion  
ns  
Note: All SCSI signals are active-high on the DP8497.  
7.36 DIFFERENTIAL TRANSCEIVER DIRECTION CONTROL FOR TARGET AND INITIATOR SIGNALS (DP8497 Only)  
a) DP8496/DP8497 Attempting SELECT or RESELECT  
TL/F/1121271  
b) DP8496/DP8497 Being SELECTed or RESELECTed  
TL/F/1121272  
Ý
ID  
Symbol  
Parameter  
Min  
Max  
Units  
soatds  
soaids  
SEL Output Assertion to TARG Direction Signal Assertion  
SEL Output Assertion to INIT Direction Signal Assertion  
b
bcp 30  
a
30  
36.1  
36.2  
bcp  
ns  
sidtds  
sidids  
SEL Input Assertion to TARG Direction Signal Assertion  
SEL Input Assertion to INIT Direction Signal Assertion  
bcp  
6*bcp  
ns  
Note 1: DTARG and DINIT are deasserted in the BUS FREE phase.  
Note 2: bcp refers to the Bus Clock Period in use.  
All SCSI signals are active-high on the DP8497.  
90  
8.0 A.C. Test Conditions  
The A.C. Characteristics in Section 7.0 are tested under the  
conditions described below. If a variable is included in the  
Min or Max column, the value of that variable should be  
based on the conditions used in the current applicationÐ  
not the Min or Max specification from a table.  
TABLE 8.3. Capacitance  
Symbol  
Parameter  
Typ  
Units  
pF  
C
C
Input Capacitance  
Output Capacitance  
5
8
IN  
pF  
OUT  
The AC specifications are tested at different BCLK and  
RCLK frequencies. The frequencies tested are listed in Ta-  
ble 8.1. If a variable is included in the Min or Max column,  
you may calculate an estimate for that characteristic for any  
frequency. However, only the frequencies listed in Table 8.1  
are guaranteed.  
e
e
1 MHz.  
Note 1: T  
25 C, f  
§
Note 2: These parameters are not 100% tested.  
A
TABLE 8.1. Guaranteed Frequencies  
BCLK  
15 MHz  
17.5 MHz  
20 MHz  
TL/F/11212–9  
TABLE 8.2. Test Conditions  
FIGURE 8.1. Test Jig  
Input Pulse Levels  
GND to 3V  
5 ns  
e
pins. Includes jig and scope capacitance.  
Note 1: C  
110 pF for Buffer Memory Interface pins; 50 pF for all other  
L
Input Rise and Fall Times  
Input and Output Reference Levels  
TRI-STATE Reference Levels  
1.3V  
e
active low and active low to high impedance measurements. S1  
e
V
Note 2: S1  
open for push-pull outputs. S1  
for high impedance to  
CC  
e
high impedance to active high and active high to high impedance measure-  
b
GND for  
Active High 0.5V  
a
Active Low  
0.5V  
e
ments. R  
1.0 kX (See Note 3).  
L
Note 3: For the SCSI interface pins (SCSI Data bus and SCSI Control lines)  
e
150X.  
e
S1  
V
CC  
and R  
L
91  
Physical Dimensions inches (millimeters)  
Plastic Quad Flatpack, EIAJ, 100 Lead  
Order Number DP8496VF or DP8497VF  
NS Package Number VF100B  
LIFE SUPPORT POLICY  
NATIONAL’S PRODUCTS ARE NOT AUTHORIZED FOR USE AS CRITICAL COMPONENTS IN LIFE SUPPORT  
DEVICES OR SYSTEMS WITHOUT THE EXPRESS WRITTEN APPROVAL OF THE PRESIDENT OF NATIONAL  
SEMICONDUCTOR CORPORATION. As used herein:  
1. Life support devices or systems are devices or  
systems which, (a) are intended for surgical implant  
into the body, or (b) support or sustain life, and whose  
failure to perform, when properly used in accordance  
with instructions for use provided in the labeling, can  
be reasonably expected to result in a significant injury  
to the user.  
2. A critical component is any component of a life  
support device or system whose failure to perform can  
be reasonably expected to cause the failure of the life  
support device or system, or to affect its safety or  
effectiveness.  
National Semiconductor  
Corporation  
National Semiconductor  
Europe  
National Semiconductor  
Hong Kong Ltd.  
National Semiconductor  
Japan Ltd.  
a
1111 West Bardin Road  
Arlington, TX 76017  
Tel: 1(800) 272-9959  
Fax: 1(800) 737-7018  
Fax:  
(
49) 0-180-530 85 86  
@
13th Floor, Straight Block,  
Ocean Centre, 5 Canton Rd.  
Tsimshatsui, Kowloon  
Hong Kong  
Tel: (852) 2737-1600  
Fax: (852) 2736-9960  
Tel: 81-043-299-2309  
Fax: 81-043-299-2408  
Email: cnjwge tevm2.nsc.com  
a
a
a
a
Deutsch Tel:  
English Tel:  
Fran3ais Tel:  
Italiano Tel:  
(
(
(
(
49) 0-180-530 85 85  
49) 0-180-532 78 32  
49) 0-180-532 93 58  
49) 0-180-534 16 80  
National does not assume any responsibility for use of any circuitry described, no circuit patent licenses are implied and National reserves the right at any time without notice to change said circuitry and specifications.  

相关型号:

DP84T22

microCMOS Programmable 256k/1M/4M Dynamic RAM Controller/Drivers
NSC

DP84T22-25

microCMOS Programmable 256k/1M/4M Dynamic RAM Controller/Drivers
NSC

DP84T22V-25

IC,MEMORY CONTROLLER,CMOS,LDCC,84PIN
TI

DP8500

DP8520A/DP8521A/DP8522A microCMOS Programmable 256k/1M/4M Video RAM Controller/Drivers
NSC

DP8500V

IC,GRAPHICS PROCESSOR,CMOS,LDCC,68PIN,PLASTIC
TI

DP8510

BITBLT PROCESSING UNIT
NSC

DP8510V

IC SPECIALTY MICROPROCESSOR CIRCUIT, PQCC44, PLASTIC, CC-44, Microprocessor IC:Other
NSC

DP8511

BITBLT PROCESSING UNIT(BPU)
NSC

DP8511V

BITBLT PROCESSING UNIT(BPU)
NSC

DP8511V

SPECIALTY MICROPROCESSOR CIRCUIT, PQCC44, PLASTIC, CC-44
TI

DP8520A

DP8520A/DP8521A/DP8522A microCMOS Programmable 256k/1M/4M Video RAM Controller/Drivers
NSC

DP8520AV-20

DP8520A/DP8521A/DP8522A microCMOS Programmable 256k/1M/4M Video RAM Controller/Drivers
NSC