The W83759A is an advanced version of Winbond's popular VL-IDE interface chip, the W83759. The
W83759A retains all of the features and compatibility of the W83759 (the chip meets the ANSI ATA
4.0 specification for IDE hard disk operation and the VESA VL-Bus 2.0 specification for PC local bus
devices) while incorporating new features to meet Enhanced IDE, SFF-8011, ATA-2, and Fast-ATA
specifications.
Supports Disk Capacity of Greater than 528 MB
The W83759A's driver can handle remapping from BIOS CHS mode to HDD LBA mode. This scheme
enables users to break the 528 MB per drive barrier, allowing full use of BIOS INT13 CHS information
in drives with a capacity of up to 8.4 GB.
High Speed Host Transfer Rate
The W83759A supports Enhanced IDE PIO mode 3 and Fast ATA PIO mode 3 and 4 timing; jumper
settings or driver programming can be used to select the PIO mode and a 33 or 50 MHz VL-Bus
clock. Different programming timing can be selected for different drives in the same system. The
burst transfer rate is shown in the following table.
Like the W83759, the W83759A supports a secondary IDE address (170h-177h/376h) and IRQ15 for
applications with four hard disk drives. Additionally, the primary and secondary channels can be
independently enabled or disabled by jumper settings or software programming.
Non-disk IDE Peripherals
Because the command cycle can be programmed individually for each drive and dual IDE channels
are supported, non-disk IDE peripherals (such as an ATAPI CD-ROM or tape drive) can be attached
to the secondary IDE without affecting the transfer rate of the ATA disk drive. Sales of ATAPI IDE
CD-ROMs are expected to grow rapidly as these devices become a standard part of many users'
desktop PC setup.
Publication Release Date: May 1995
- 1 -Revision A1
Page 2
Enhanced IDE/Fast ATA Dual Channel Structure
W83759A
Primary Channel
40-pins
Disk
< 8.4 GB
PD0
The W83759A provides all of the next-generation ATA-IDE requirements, including support for high
capacity disk drives, high speed host transfers, multiple IDE peripherals, and non-disk IDE
peripherals. It makes high-performance, low-cost, easy-to-use IDE machines possible.
The W83759A is pin-to-pin backward compatible with the W83759. In addition to the advanced
features described above, the W83759A supports automatic power-down, standby, and suspend APM
power management states for green PC applications. This new chip is packaged in a 100-pin QFP.
The table below compares the W83759 and W83759A:
Dual Channel IDEYesYes
8.4 G Max. Cap.Software DrivingSoftware Driving
Disk
< 8.4 GB
PD1
W83759W83759A
Secondary Channel
40-pins
CD ROM
ATAPIATAPI
SD0
SD1
Tape
PIO Mode 3, 4 ControlNoYes*
DMA Mode ControlNoYes*
IOCHRDY ControlNoYes*
IDE Timing ControlJumperJumper or Driver*
Prefetch ControlNoYes*
Power Saving ControlNoYes*
ATAPI ProtocolSoftware DrivingSoftware Driving
* All control is drive-by-drive (per drive selectability)
- 2 -
Page 3
W83759A
FEATURES
• Pin-to-pin backward compatible with W83759 VL-IDE Interface chip
• VESA VL-Bus Rev 2.0 compatible, connects directly to local bus and four IDE drives
• Direct interface to various ANSI ATA/ATA-2/FAST ATA/IDE-2/Enhanced IDE drives
• Supports 32 and 16-bit data transfer
• Fully software programmable for command active/recovery time and address setup, data hold
time
• Built-in VL-Bus to 16-bit IO data buffer for special applications
• Fully supports Enhanced IDE features, including Fast PIO, Mode 3/4, IORDY flow control,
prefetch control
• Supports dual channels to allow up to four drives or non-disk devices (ATAPI CD-ROM and tape
drives)
• Pipeline pre-fetched reads and posted writes for concurrent disk and host operations
• Independent access timing for all drives (primary/secondary and master/slave)
• All Enhanced IDE new features may be disabled/enabled via driver or power-on setting by per
drive selectability
• ATA/Mode 0-4 PIO speed may be set as default timing of each drive via power-on jumper setting
• Supports slave DMA mode protocol (reserved)
• Supports auto power-down, standby, suspend APM power management state for green PCs
• Primary and secondary channel can be independently enabled/disabled by software or jumper
setting
• Supports drivers for DOS, Windows, OS/2, UNIX, and Netware
When high, chip is in W83759A mode. When low, chip is in
W83759 mode.
LCLK89IVL-Bus clock.
99ISystem reset.
When active, the power-on setting pin acts as input.
95IAddress data strobe.
An active low input signal indicates that there is a valid address
and command on the bus.
W83759A
IORDY
/
98IIn W83759A mode: Enhanced IDE IORDY flow control input. Used
to throttle disk's PIO data transfers to improve PIO mode.
In W83759 mode: Host data or code status. Used to distinguish
between IO and interrupt or halt cycles.
97I-PUHost memory or I/O status.
Used to distinguish between memory and I/O cycles.
96IHost write or read status.
Used to distinguish between write and read cycles.
1
2
92OLocal device.
93Tri-OLocal ready.
IByte enable bits 2 and 0 from the host CPU address bus.
These active low inputs specify which bytes will be valid for host
read and write data transfers. When
a 32-bit hard disk data transfer cycle when
An active low output signal which indicates that the current host
CPU command cycle is a valid W83759A I/O address (1F0h or
170h).
An active low output that indicates when a CPU transfer has been
completed. During a cycle
high. When the cycle is completed,
pulled low and will remain active for one T-state. Then it will drive
high for one T-state before finally being disabled to end the
sequence.
This signal is shared with all other VL-Bus targets and driven by
W83759A only during cycles W83759A has claimed as its own.
will first be enabled and driven
is low, the host performs
is active.
will immediately be
Publication Release Date: May 1995
- 5 -Revision A1
Page 6
Pin Description, continued
RDYRTN
RDYRTN
RDY
[
]
VGAOEH
VGAOEL
IDE0CS0
SYSRST
SYSRST
IDE0CS0
SYSRST
IDE0CS1
SYSRST
SYSRST
IDE0CS1
SYSRST
SYMBOLPINTYPEDESCRIPTION
94IReady return.
An active low signal that indicates the end of the current host
CPU transfer.
Usually
CPU.
HA[9:2]10-3IHost address bits 9 through 2 from the host address bus.
is tied directly to the
signal of the host
W83759A
HD[31:0]
PRDYEN
/
SRDYEN
/
11−14
19−39
42−45
61I/O
62I/O
I/OHost data.
This is the 32-bit bidirectional data bus that connects to the host
CPU. HD[7:0] define the lowest data byte, while D[31:24] define
the most significant byte by the
normally in a high-impedance state and is driven by the
W83759A only during data register (1F0h or 170h) read cycles
and VGA (
When
-PU
-PU
rising edge of
PRDYEN: A high input enables the IORDY flow control function of
the primary channel (IDE0) and a low input disables the IDE0's
flow control function.
output used to select the command block registers in the IDE0
drive (1F0h−1F7h).
When
rising edge of
SRDYEN: A high input enables the IORDY flow control function of
the secondary channel (IDE1) and a low disables the IDE1's flow
control function.
= 0 or
Drive Interface
is active, this is an input that latches on the
: When
is active, this is an input that latches on the
BE 2:0 signals. The HD bus is
= 0) read cycles.
.
is inactive, this pin is an active low
.
: When
output used to select the alternate status register of the control
block registers in the IDE0 drive (3F6).
- 6 -
is inactive, this pin is an active low
Page 7
Pin Description, continued
IDE1CS0
SYSRST
SYSRST
IDE1CS0
SYSRST
IDE1CS1
SYSRST
SYSRST
IDE1CS1
SYSRST
EMD
1
IDEIOR
SYSRST
SYSRST
EMD1
EMD
0
IDEIOR
IDEIOR
EMD1
EMD
0
SYMBOLPINTYPEDESCRIPTION
W83759A
ENIDE
/
TEST
/
/
63I/O
-PU
64I/O
-PU
70I/O
-PU
When
edge of
ENIDE: In W83759 mode (ADV = low), this power-on-setting pin
controls if the chip enable or disable. In W83759A mode (ADV =
high), this pin controls if the IDE0 channel enable or disable. A high
input enables and a low input disables the IDE0 channel.
output and is used to select the command block registers in the
IDE1 drive (170h−177h).
When
edge of
TEST: In W83759 mode, this power-on-setting pin controls whether
both dual channels are enabled or only the primary channel is
enabled. A high input enables IDE0 and IDE1 simultaneously and a
low input enables IDE0 only. In W83759A mode, this pin controls
whether the IDE1 channel enable or disable controls the IDE0
channel as ENIDE.
output used to select the alternate status register of the control
block registers in the IDE1 drive (376).
When
edge of
is active, this is an input that latches on the rising
.
: When
is active, this is an input that latches on the rising
.
: When
is active, this is an input that latches on the rising
.
is inactive, this pin is an active low
is inactive, this pin is an active low
: This power-on-setting pin combines with
initial enhanced timing mode of hard disk access cycles when the
enhanced mode is selected via the POSS3 configuration register.
: Drive I/O read. An active low output that enables data to
be read from the drive. The duration and repetition rate of
cycles are determined by the type of IDE drive, as specified by
MD1 and MD0, in W83759 mode or by
W83759A enhanced mode.
Publication Release Date: May 1995
- 7 -Revision A1
and
to set the
in
Page 8
Pin Description, continued
EMD
0
IDEIOW
SYSRST
SYSRST
EMD
0
EMD
1
IDEIOW
IDEIOW
IDEIOR
SYSRST
SYSRST
SYMBOLPINTYPEDESCRIPTION
W83759A
/
MD1
/IDEA2,
MD0
/IDEA1
71I/O
-PU
69
I/O
-PD
68
When
edge of
: This power-on-setting pin combines with
is active, this is an input that latches on the rising
.
to set the
initial enhanced timing mode of hard disk access cycles when the
enhanced mode is selected via the POSS3 configuration register.
ATA PIO mode
2
3
3
4
Access Time
240 nS
180 nS
180 nS
120 nS
EMD1
1
1
0
0
EMD0
1
0
1
0
: Drive I/O write. An active low output that enables data to
be written to the drive. The duration and repetition rate of
cycles are determined by the type of IDE drive, as specified by
.
When
on the rising edge of
is active, these pins function as inputs and latch
.
MD1, MD0: ATA mode of IDE Drive. MD0 and MD1 are used to
select the hard disk access time.
ATA PIO mode
0
0+
1
2
Access Time
600 nS
500 nS
400 nS
240 nS
EMD1
0
0
1
1
EMD0
0
1
0
1
IDEA2, IDEA1: IDE drive address bits 2 and 1. Drive address bits 2
and 1 are outputs to the IDE connector for register selection in the
drive.
- 8 -
Page 9
Pin Description, continued
SYSRST
SYSRST
SYSRST
SYSRST
VGAOEH
VGAOEL
XIOR
XIOR
XIOW
XIOW
SYMBOLPINTYPEDESCRIPTION
W83759A
SP1
/IDEA0
IDD[15:0]
SA[1:0]47, 46IISA address bits 1 and 0.
67I/O
72−87
-PD
I/O
-PU
When
rising edge of
SP1: VL-Bus speed select. A high input configures the W83759A
to run at from 33 MHz to 50 MHz; a low input configures the
W83759A to run at under 33 MHz.
IDEA0: IDE drive address bit 0. Drive address bit 0 is output to
the IDE connector for register selection in the drive.
When
on the rising edge of
As power-on setting pins, IDD[15:8] are latched to the POSS3
register and IDD[7:0] are latched to the POSS2 register.
As the drive data bus, bits 15 through 0 are the 16-bit bidirectional
data bus that connects to the IDE drive.
IDD[7:0] define the lowest data byte. The IDD bus is normally in a
pull-high state and is driven with valid data by the W83759A only
during IDE or VGA (
ISA-Bus Interface
Used to select the hard disk I/O registers.
is active, this pin is an input that latches on the
is active, these pins function as inputs and latch
= 0) write cycles.
.
.
= 0 or
SD[7:0]58-51I/OThese signals provide data bus bits 0 through 7 for the CPU and
IDE I/O devices. SD0 is the least significant bit and SD7 is the
most significant bit.
48I
49I
AEN50IWhen this line is active (high), the DMA controller has control of
instructs the hard disk I/O device to drive its data onto the
SD data bus.
instructs the hard disk I/O device to read the data on the
SD data bus.
the address bus. A low is the address enable.
Publication Release Date: May 1995
- 9 -Revision A1
Page 10
Pin Description, continued
SUSP
DACK
VGAOEH
SUSP
DACK
VGAOEH
DMASL
VGAOEL
ISDENH
SYSRST
SYSRST
DMASL
VGAOEL
ISDENH
SYMBOLPINTYPEDESCRIPTION
Special Bus Control Interface
W83759A
,
,
59I-PUThis pin is a multi-function input pin.
: In suspend enable mode, indicates that the W83759A
will enter the suspend state when low and resume operation when
high.
: In DMA transfer enable mode, used to indicate when the
DMA transfer cycle occurs.
: In VGA buffer enable mode, this active low input
controls the input enable for the data transceivers that connect
the ID[15:0] pins to the HD[31:16] pins.
,
/
60I/O
-PU
When
rising edge of
: This power-on setting pin combines with SUSPEN
is active, this pin is an input that latches on the
.
(IDD11 power-on setting pin) to determine which mode the
W83759A is in.
DMASL
1
0
0
SUSPEN
X
1
0
Mode
VGA buffer enable
Suspend enable
DMA transfer enable
Vcc41, 65,
91
GND15, 40,
66, 88,
90
: In VGA buffer enable mode, this active low input
controls the input enable for the data transceivers that connect
the ID[15:0] pins to the HD[15:0] pins.
: In DMA transfer enable mode, this output pin controls
the activity of the high byte buffer between IDD[15:8] and
SD[15:8].
+5V power supply
Ground reference
- 10 -
Page 11
W83759A
CONFIGURATION REGISTERS
Several configuration registers are implemented in the W83759A. These registers are accessible in
single-chip mode through the index/data port. The index/data port address is 1B4h/1B8h or
134h/138h, depending on whether pin IDD0 is high or low at power-on.
When the W83759A is in multi-chip mode (IDD1 is low at power-on setting), an ID code should be
written to 1B0h/130h (IDIN port). The W83759A will then enter the programming sequence if the ID
code matches the chip ID (determined by IDD2, IDD3 at power-on setting) or leave the programming
sequence if the ID code does not match. After the chip has entered the programming sequence, the
chip ID can be read by reading 1BCh/13Ch (IDOUT port).
IDD0_P is HIGHIDD0_P is LOW
IDIN port (W/O)1B0h*130h**
Index port (R/W)1B4h134h
data port (R/W)1B8h138h
IDOUT port (R/O)1BCh13Ch
* The alias base addresses of 1B0h are XB0h and YB0h, where "X" means 0, 4, 8, C and "Y" means 1, 5, 9, D.
** The alias base addresses of 130h are X30h and Y30h, where "X" means 0, 4, 8, C and "Y" means 1, 5, 9, D.
CRX8Dh (SD0TIM1)Read/WriteSecondary Drive 0 Timing Control 1
Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
SD0AST1SD0AST0SD0DHT1SD0DHT0
Bit 7-Bit 6
Bit 5-Bit 4
Bit 3
Bit 2
SD0ACT3−0
SD0RCV3−0
SD0AST1−0
SD0DHT1−0
SD0 Data Register Port (170h) Read/Write Active Time
Definition of these bits same as PD0ACT3−0
SD0 Data Register Port (170h) Read/Write Recovery Time
Definition of these bits same as PD0RCV3−0
SD0PRESD0DMASD0RDY
SD0 Data Register Port (170h) Address Setup Time
Definition of these bits same as PD0AST1−0
SD0 Data Register Port (170h) Data Hold Time
Definition of these bits same as PD0RDHT1−0
SD0 Prefetch/Post write control
0 Prefetch/Post write enabled
1 Prefetch/Post write disabled
SD0 DMA mode control
0 DMA mode enabled
1 DMA mode disabled
SD0ADV
Bit 1
Bit 0SD0ADVSD0 Data Register Port (170h) Advanced Timing Enable
SD0 Data Register Port (170h) IOCHRDY Control
0 IOCHRDY enabled
1 IOCHRDY disabled
0 Normal timing (depends on SP1, MD1, MD0
setting)
1 Advanced timing (depends on SD0TIM1−0 setting)
- 24 -
Page 25
W83759A
SD1PRE
SD1DMA
SD1RDY
CRX8Eh (SD1TIM0)Read/WriteSecondary Drive 1 Timing Control 0
The CPU clock rate, hard disk access time, hard disk controller enable, and hard disk I/O select are
latched at the rising edge of
signal timing. Additionally, the W83759A is initialized to a known state by an active low on
Any operation in progress is immediately terminated by
Host in Terface
The W83759A operates as a slave device, responding only to cycles within the host I/O address
space. The IDE drive data port at address 1F0h (170h) is a 16-bit port that requests a double-word
data transfer at address 1F0h (170h). All byte swapping, conversion, word, and double-word assembly
are done at the host interface. Table 1 summarizes the W83759A host interface cycle decoding.
Table 1. W83759A Cycle Definition
. These values are used to control the host and drive access
.
.
ADDRESS SPACEHOST BUS
010
011
010
011
a. CPU WRITE CYCLES
Table 2. W83759A Write Data Operation
BYTE ENABLEW83759A INPUT DATAI/O ADDRESS
1110
1101
1011
0111
1100
0000ValidValid
1F0h−1F7h and 3F6h
1F0h−1F7h and 3F6h
170h−177h and 376h
170h−177h and 376h
8-bit IDE Write Data Path:
CPU → Valid HD Byte → SD[7:0] → W83759A → ID[7:0]
16/32-bit IDE Write Data Path:
CPU → Valid HD Word → W83759A → ID[15:0]
- 28 -
Page 29
W83759A
BE3
BE2
BE1
BE0
IDE0CS0
IDE1CS
0
IDE0CS1
IDE1CS1
IDEIOR
IDEIOW
BE2, BE0
BE2
BE0
IDE0CS0
IDE1CS0
IDE0CS1
IDE1CS1
IDEIOR
IDEIOW
b. CPU READ CYCLES
Table 3. W83759A Read Data Operation
BYTE ENABLEW83759A OUTPUT DATAI/O ADDRESS
HD[31:16]HD[15:0]SD[7:0]
1110
1101
1011
0111
1100
××
××
××
××
×
Valid
0000ValidValid
8-bit IDE Read Data Path:
CPU → Valid HD Byte → Chip Set → SD[7:0] → W83759A → ID[7:0]
16/32-bit IDE Read Data Path:
CPU → Valid HD Word → W83759A → ID[15:0]
Drive Interface
The W83759A is designed to work with standard IDE disk drives. For the IDE interface, the W83759A
provides a 16-bit data path ID[15;0], address lines IDEA[2:0], decoded device select signals
(
.
During normal operation, the drive address outputs IDEA[2:0] are used to select a register in an IDE
drive. These addresses are generated from
type enable decoding for normal operation.
Table 4. IDEA[2:0] Generation
), are generated from
the local bus addresses and ISA bus address. The 16-bit data register may be read or written at I/O
address 1F0h(170h). The 8-bit IDE command and status registers are at I/O addresses 1F1h through
1F7h (and 171h through 177h). The
or
commands are generated for all address
Publication Release Date: May 1995
- 29 -Revision A1
Page 30
W83759A
IDE0CS
0
IDE1CS0
IDE0CS
1
IDE1CS1
IDE0CS0
IDE0CS1
IDE1CS0
IDE1CS1
XIOR
XIOW
regions in which
decoding of these sgnals.
Table 5. Drive Select Signal Operation
SELECT SIGNALADDRESS RANGE
(
) and
I/O Address 1F0h through 1F7h
I/O Address 3F6h
I/O Address 170h through 177h
I/O Address 376h
(
) are active. Table 5 summarizes the
IDE Timing Control
Pin SP1 is used to set the VL-Bus speed. The IDE drive interface will maintain the same ATA PIO
timing parameters for IDE drive 16-bit IO access cycles (1F0/170) regardless of whether the VL-Bus
operates at 33 or 50 MHz.
In W83759 mode, IDE drive timing is controlled by pins MD1 and MD0, which are used to select the
IDE drive PIO mode 0-2. The drive timing depends on the ATA specification for the IDE drive PIO
mode selected.
In W83759A mode, IDE drive timing is controlled by pins EMD1 and EMD0, which are used to select
the IDE drive PIO mode 2-4. The drive timing depends on the ATA specification for the IDE drive PIO
mode selected.
Table 6 summarizes the ATA Rev. 4.0 and ATA-2 PIO timing parameters.
Table 7 and Table 8 summarize the W83759A PIO read/write command pulse and cycle timing when
a 16-bit IDE IO access is performed. Because 8-bit IDE IO accesses are always passed to the ISA
bus, the W83759A transceives data through the ISA data bus and induces IDE read/write commands
from ISA
/
. Thus the 8-bit command timing will always meet ATA timing specifications.
Table 6. ATA Rev. 4.0 and ATA-2 PIO Minimum Timing Parameters Unit: nS
ATA PIOMODE 4MODE 3MODE 2MODE 1MODE 0
8/16-bit IO
access
16-bit6012080180100240125383165600
8-bit6012080180290290290383290600
Table 7. PIO Command Pulse and Cycle Timing (W83759 mode) Unit: LCLK
Note: It is recommended that SP be set to 0 when LCLK is 33 MHz. The initial default value is SP1 = 0. The timing value (nS) is
based on LCLK = 20 nS when SP1 = 1 and LCLK = 30 nS when SP1 = 0.
Table 8. PIO Command Pulse and Cycle Timing (W83759A mode) Unit: LCLK
Note: It is recommended that SP be set to 0 when LCLK is 33 MHz. The initial default value is SP1 = 0. The timing value (nS) is
based on LCLK = 20 nS when SP1 = 1 and LCLK = 30 nS when SP1 = 0.
Prefetch Control
The W83759A IDE command prefetch feature provides concurrent operations by pipelined readahead of the next data word(s) from the drive while the host is transferring previously requested disk
data into system memory. This reduces the amount of time that the host must pause and wait for data
to be accessed. While the host is writing data to memory, the W83759A reads data from the disk
drive. As soon as the host reads the W83759A data, new data are requested by the W83759A from
the disk drive. This prefetch feature is active only for disk data at the 1F0h and 170h IO addresses
and does not oprate on other disk register data.
Power-saving Control
The W83759A provides three power-saving modes. In the initial-level power-saving mode, all of the
drive's control, address, data, and other signals enter a logic 1 standby state when no IDE disk cycle
is active. This reduces unnecessary power use and decreases the amount of EMI radiation generated
by driving the long IDE cable continuously.
Publication Release Date: May 1995
- 31 -Revision A1
Page 32
W83759A
STBY
STBY
DMASL
SYSRST
SUSP
SUSP
LDEV
LDEV
After power on, the W83759A automatically enters the "Auto-Power-Down" (APD) mode. In this mode
the only active logic inside the W83759A is the host address decoder and bus tracking state machine.
Power is saved by not switching logic inside the W83759A that is not being utilized. Whenever an IDE
transfer cycle is detected, the W83759A leaves APD mode and the entire chip becomes active. The
W83759A enters APD mode again after the completion of an IDE transfer cycle.
To support deep-green systems, the W83759A also provides advanced power saving modes, standby
mode, and suspend mode. When standby mode is enabled (
inside the W83759A is stopped until standby mode is disabled (
mode is enabled (SUSPEN bit goes high and
enter suspend state when
goes low and return to normal state when
is low on
ABSOLUTE MAXIMUM RATINGS
(VDD = 5 V ± 5%, VSS = 0V )
PARAMETERRATINGUNIT
Power Supply Voltage-0.3 to 7.0V
Input VoltageVSS-0.3 to VDD +0.3V
Operating Temperature (Ta)0 to + 70
Storage Temperature-55 to + 150
Note: Exposure to conditions beyond those listed under Absolute Maximum Ratings may adversely affect the life and reliability of the
device.
bit goes low), all of the logic
bit goes high). When suspend
rising), the W83759A will
goes high.
°C
°C
DC CHARACTERISTICS
(TA = 0° C to +70° C, VDD = 5V ± 5%, VSS = 0V)
PARAMETERSYM.CONDITIONSMIN.MAX.UNIT
Input Low VoltageVIL-0.30.8V
Input High VoltageVIH2.0VDD + 0.3V
Input High Leakage
with Pull-Down
Input Low Leakage
with Pull-Up
Input High LeakageILIHVIN = VDD-+10
Input Low LeakageILILVIN = 0V--10
Output Low VoltageVOL