Please note that all data and specifications are subject to change without notice. All
the trade marks of products and companies mentioned in this data sheet belong to
their respective owners.
LIFE SUPPORT APPLICATIONS
These products are not designed for use in life support appliances, devices, or
systems where malfunction of these products can reasonably be expected to result in
personal injury. Winbond customers using or selling these products for use in such
applications do so at their own risk and agree to fully indemnify Winbond for any
damages resulting from such improper use or sales.
TABLE OF CONTENTS
W83977EF
GENERAL DESCRIPTION ..................................................................................................................... 1
FEATURES ............................................................................................................................................. 2
integrates the disk drive adapter, serial port (UART), IrDA 1.0 SIR, parallel port, configurable plugand-play registers for the whole chip --- plus additional powerful features:
controller with PS/2 mouse support, 14 general purpose I/O ports, full 16-bit address decoding,
OnNow keyboard Wake-Up, OnNow mouse Wake-Up.
The disk drive adapter functions of
the industry standard 82077/ 765, data separator, write pre-compensation circuit, decode logic, data
rate selection, clock generator, drive interface control logic, and interrupt and DMA logic. The wide
range of functions integrated onto the W83977EF greatly reduces the number of components required
for interfacing with floppy disk drives. The
2.88M disk drives and data transfer rates of 250 Kb/s, 300 Kb/s, 500 Kb/s,1 Mb/s, and 2 Mb/s.
The
W83977EF
serial Infrared communication. Each UART includes a 16-byte send/receive FIFO, a programmable
baud rate generator, complete modem control capability, and a processor interrupt system. Both
UARTs provide legacy speed with baud rate up to 115.2k bps and also advanced speed with baud
rates of
The
also Enhanced Parallel Port (EPP) and Extended Capabilities Port (ECP). Through the printer port
interface pins, also available are: Extension FDD Mode and Extension 2FDD Mode allowing one or
two external floppy disk drives to be connected.
The configuration registers support mode selection, function enable/disable, and power down function
selection. Furthermore, the configurable PnP features are compatible with the plug-and-play feature
demand of Windows 95
W83977EF
Interface), which includes support of legacy and ACPI power management through
function pins.
The keyboard controller is based on 8042 compatible instruction set with a 2K Byte programmable
ROM and a 256-Byte RAM bank. Keyboard BIOS firmware are available with optional AMIKEY
Phoenix MultiKey/42
The
General Purpose I/O ports. These GPIO ports may serve as simple I/O or may be individually
configured to provide a predefined alternate function.
The W83977EF also supports Power-loss control, and makes the system never miss to detect any
Wake-Up event provided by the chipset such as INTEL PIIX4
W83977EF
I/O space resource are flexible to adjust to meet ISA PnP requirement. Moreover
to meet the specification of PC98's requirement in the power management:
Power Management).
Another benifit is that
W83977ATF. Thus makes the design very flexible.
230k, 460k
W83977EF
W83977EF
is an evolving product from Winbond's most popular I/O chip W83877F --- which
, 8042 keyboard
ACPI
W83977EF
provides two high-speed serial communication ports (UARTs), one of which supports
, or
921k bps
supports one PC-compatible printer port (SPP), Bi-directional Printer port (BPP) and
TM
provides functions that complies with
W83977EF
provides a set of flexible I/O control functions to the system designer through a set of
is made to fully comply with
also has auto power management to reduce power consumption.
TM
, or customer code.
W83977EF
which support higher speed modems.
, which makes system resource allocation more efficient than ever.
Microsoft PC98 Hardware Design Guide
is of the same pin assignment of W83977AF, W83977F, W83977TF,
include a floppy disk drive controller compatible with
W83977EF
supports four 360K, 720K, 1.2M, 1.44M, or
(Advanced Configuration and Power
ACPI
SMI
TM
.
. IRQs, DMAs, and
W83977EF
and
ACPI
DPM
or
SCI
TM
2,
-
is made
(Device
Publication Release Date: April 2003
-1 - Revision 1.1
W83977EF
FEATURES
General
• Plug & Play 1.0A compatible
• Support 12 IRQs, 4 DMA channels, full 16-bit address decoding
• Capable of ISA Bus IRQ Sharing
• Compliant with
• Support
• Report ACPI status interrupt by SCI# signal issued from any of the 12 IQRs pins or GPIO xx
• Programmable configuration settings
• single 24/48 Mhz clock input
Microsoft PC98
(Device Power Management),
DPM
FDC
• Compatible with IBM PC AT disk drive systems
• Variable write pre-compensation with track selectable capability
• Support vertical recording format
• DMA enable logic
• 16-byte data FIFOs
• Support floppy disk drives and tape drives
• Detects all overrun and underrun conditions
• Built-in address mark detection circuit to simplify the read electronics
• FDD anti-virus functions with software write protect and FDD write enable signal (write data signal
was forced to be inactive)
Support up to four 3.5-inch or 5.25-inch floppy disk drives
•
Completely compatible with industry standard 82077
•
360K/720K/1.2M/1.44M/2.88M format; 250K, 300K, 500K, 1M, 2M bps data transfer rate
•
Support
•
3-mode FDD, and its Win95 driver
Hardware Design Guide
ACPI
UART
• Two high-speed 16550 compatible UARTs with 16-byte send/receive FIFOs
General purpose I/O port 1bit 7. (CR2C bit 7_6 = 01)
12t
Alternate Function from GP17: Power LED output.
KBC P14 I/O port (CR2C bit 7_6 = 10)
12t
System Control Interrupt (CR2C bit 7_6 = 11)
12t
DMA Channel 1 request signal
12t
DMA Channel 2 request signal
12t
DMA Channel 3 request signal
12t
DMA transfer.
Interrupt request 1
12t
Interrupt request 3
12t
Interrupt request 4
12t
Interrupt request 5
12t
Interrupt request 6
12t
Interrupt request 7
12t
Interrupt request 9
12t
Interrupt request 10
12t
Interrupt request 11
12t
Interrupt request 12
12t
Publication Release Date: April 2003
-7 - Revision 1.1
W83977EF
1.1 Host Interface, continued
SYMBOL PIN I/O FUNCTION
IRQ14 103 OUT
GP14 I/O
(GPACS1#) Alternate Function 1 from GP14: General purpose address
(P17) Alternate Function 2 from GP14: KBC P17 I/O port.
PLEDO OUT
IRQ15 104 OUT
GP15
(GPACS2#)
(P12) Alternate Function 2 from GP15: KBC P12 I/O port.
WDT OUT
CLKIN 1 INt 24 or 48 MHz clock input, selectable through bit 5 of CR24.
I/O
Interrupt request 14. (CR2C bit 1_0 = 00, default)
12t
General purpose I/O port 1 bit 4. (CR2C bit 1_0 = 01)
12t
decode output.
Power LED output. (CR2C bit 1_0 = 10)
12t
Interrupt request 15.(CR2C bit 3_2 = 00, default)
12t
General purpose I/O port 1 bit 5. (CR2C bit 3_2 = 01)
12t
Alternate Function 1 from GP15: General purpose address write
enable output.
Watch-Dog timer output. (CR2C bit 3_2 = 10)
12t
1.2 General Purpose I/O Port
SYMBOL PIN I/O FUNCTION
PWR_CTL# 69 OD
GP20
I/O
(KBRST)
SMI # 70 OD
GP21 I/O
(P13) Alternate Function from GP21: KBC P13 I/O port.
P16 I/O
PANSWOT#
72 OD
GP22
(P14) Alternate Function from GP22: KBC P14 I/O port.
Power supply control
16u
General purpose I/O port 2 bit 0.
16tu
Alternate Function from GP20: Keyboard reset (KBC P20)
12t
For the power management, the
management events, that generate and
is active low by the power
SMI
SCI
(CR2B bit 4_3 = 00, default)
General purpose I/O port 2 bit 1. (CR2B bit 4_3 = 01)
12t
KBC P16 I/O port. (CR2B bit 4_3 = 10)
12t
Panel Switch output. (CR2B bit 5 = 0, default)
12t
I/O
General purpose I/O port 2 bit 2. (CR2B bit 5 = 1)
12t
in ACPI mode.
Publication Release Date: April 2003
-8 - Revision 1.1
1.2 General Purpose I/O Port ,continued
SYMBOL PIN I/O FUNCTION
PANSWIN#
GP23
(P15) Alternate Function from GP23: KBC P15 I/O port
SUSC#
(GA20)
GP25 I/O12 General purpose I/O port 2 bit 5.
73 INt
I/O
12t
39 IN
Panel Switch input. (CR2B bit 7_6 = 00, default)
General purpose I/O port 2 bit 3. (CR2B bit 7_6 = 01)
Suspend C input
ts
Alternate Function from GP25: GATE A20 (KBC P21)
1.3 Serial Port Interface
SYMBOL PIN I/O FUNCTION
CTSA#
CTSB#
DSRA#
DSRB#
41
48
42
49
IN
IN
Clear To Send is the modem control input.
t
The function of these pins can be tested by reading Bit 4 of the
handshake status register.
Data Set Ready. An active low signal indicates the modem or
t
data set is ready to establish a communication link and transfer
data to the UART.
W83977EF
RTSA#
HEFRAS
RTSB#
43
During power-on reset, this pin is pulled down internally and is
50 I/O
UART A Request To Send. An active low signal informs the
I/O
8t
modem or data set that the controller is ready to send data.
defined as HEFRAS, which provides the power-on value for
CR26 bit 6 (HEFRAS). A 4.7 k
pull up. (select 370H as configuration I/O port
UART B Request To Send. An active low signal informs the
8t
modem or data set that the controller is ready to send data.
is recommended if intends to
Ω
′s address)
Publication Release Date: April 2003
-9 - Revision 1.1
1.3 Serial Port Interface, continued
SYMBOL PIN I/O FUNCTION
DTRA#
PNPCSV#
44
I/O
UART A Data Terminal Ready. An active low signal informs the
8t
modem or data set that the controller is ready to communicate.
During power-on reset, this pin is pulled down internally and is
defined as PNPCSV#, which provides the power-on value for
CR24 bit 0 (PNPCSV#). A 4.7 k
pull up. (clear the default value of FDC, UARTs, and PRT)
Ω is recommended if intends to
W83977EF
DTRB#
SINA
SINB
SOUTA
PENKBC
SOUTB
PEN48
DCDA#
DCDB#
RIA#
RIB#
51
45, 52 IN
46
53
47
54
65
66
1.4 Infrared Interface
UART B Data Terminal Ready. An active low signal informs the
I/O
8t
modem or data set that controller is ready to communicate.
Serial Input. Used to receive serial data through the
t
communication link.
I/O
UART A Serial Output. Used to transmit serial data out to the
8t
communication link.
During power-on reset, this pin is pulled down internally and is
defined as PENKBC, which provides the power-on value for
CR24 bit 2 (ENKBC). A 4.7 k
intends to pull up. (enable KBC)
I/O8t UART B Serial Output. During power-on reset, this pin is pulled
down internally and is defined as PEN48, which provides the
power-on value for CR24 bit 6 (EN48). A 4.7 k
recommended if intends to pull up.
IN
IN
Data Carrier Detect. An active low signal indicates the modem or
t
data set has detected a data carrier.
Ring Indicator. An active low signal indicates that a ring signal is
t
being received from the modem or data set.
Ω resistor is recommended if
Ω resistor is
SYMBOL PIN I/O FUNCTION
IRRX 37 INcs Infrared Receiver input.
IRTX 38 OUT
Infrared Transmitter Output.
12t
Publication Release Date: April 2003
-10 - Revision 1.1
W83977EF
1.5 Multi-Mode Parallel Port
The following pins have alternate functions, which are controlled by CR28 and L3-CRF0.
SYMBOL PIN I/O FUNCTION
SLCT 18 INt
OD12
OD12
PE
19 INt
OD12
OD
PRINTER MODE: SLCT
An active high input on this pin indicates that the printer is
selected. This pin is pulled high internally. Refer to description of
the parallel port for definition of this pin in ECP and EPP mode.
EXTENSION FDD MODE:
WE2#
This pin is for Extension FDD B; its function is the same as the
WE# pin of FDC.
EXTENSION 2FDD MODE: WE2#
This pin is for Extension FDD A and B; it function is the same as
the WE# pin of FDC.
PRINTER MODE: PE
An active high input on this pin indicates that the printer has
detected the end of the paper. This pin is pulled high internally.
Refer to description of the parallel port for definition of this pin in
ECP and EPP mode.
EXTENSION FDD MODE: WD2#
This pin is for Extension FDD B; its function is the same as the
WD# pin of FDC.
EXTENSION 2FDD MODE: WD2#
12
This pin is for Extension FDD A and B; its function is the same as
the WD# pin of FDC.
Publication Release Date: April 2003
-11 - Revision 1.1
1.5 Multi-Mode Parallel Port, continued
SYMBOL PIN I/O FUNCTION
BUSY
ACK# 22 INt
ERR#
21 INt
OD12
OD12
OD12
OD12
34
IN
OD12
OD
PRINTER MODE: BUSY
An active high input indicates that the printer is not ready to
receive data. This pin is pulled high internally. Refer to
description of the parallel port for definition of this pin in ECP and
EPP mode.
EXTENSION FDD MODE: MOB2#
This pin is for Extension FDD B; the function of this pin is the
same as the MOB# pin of FDC.
EXTENSION 2FDD MODE:MOB2#
This pin is for Extension FDD A and B; the function of this pin is
the same as the MOB# pin of FDC.
PRINTER MODE: ACK#
An active low input on this pin indicates that the printer has
received data and is ready to accept more data. This pin is
pulled high internally. Refer to description of the parallel port for
definition of this pin in ECP and EPP mode.
EXTENSION FDD MODE: DSB2#
This pin is for the Extension FDD B; its functions is the same as
the DSB# pin of FDC.
EXTENSION 2FDD MODE: DSB2#
This pin is for Extension FDD A and B; it functions is the same as
the DSB# pin of FDC.
PRINTER MODE: ERR#
t
An active low input on this pin indicates that the printer has
encountered an error condition. This pin is pulled high internally.
Refer to description of the parallel port for definition of this pin in
ECP and EPP mode.
EXTENSION FDD MODE: HEAD2#
This pin is for Extension FDD B; its function is the same as the
HEAD#pin of FDC.
12
EXTENSION 2FDD MODE: HEAD2#
This pin is for Extension FDD A and B; its function is the same as
the HEAD# pin of FDC.
W83977EF
Publication Release Date: April 2003
-12 - Revision 1.1
1.5 Multi-Mode Parallel Port, continued
SYMBOL PIN I/O FUNCTION
SLIN# 32 OD12
OD12
OD12
INIT#
33 OD12
OD
OD
PRINTER MODE: SLIN#
Output line for detection of printer selection. This pin is pulled
high internally. Refer to description of the parallel port for
definition of this pin in ECP and EPP mode.
EXTENSION FDD MODE:STEP2#
This pin is for Extension FDD B; its function is the same as the
STEP# pin of FDC.
EXTENSION 2FDD MODE: STEP2#
This pin is for Extension FDD A and B; its function is the same as
the STEP# pin of FDC.
PRINTER MODE: INIT#
Output line for the printer initialization. This pin is pulled high
internally. Refer to description of the parallel port for definition of
this pin in ECP and EPP mode.
EXTENSION FDD MODE: DIR2#
12
This pin is for Extension FDD B; its function is the same as the
DIR# pin of FDC.
EXTENSION 2FDD MODE: DIR2#
12
This pin is for Extension FDD A and B; its function is the same as
the DIR# pin of FDC.
AFD# 35 OD12
OD12
OD12
PRINTER MODE: AFD#
An active low output from this pin causes the printer to auto feed
a line after a line is printed. This pin is pulled high internally.
Refer to description of the parallel port for definition of this pin in
ECP and EPP mode.
EXTENSION FDD MODE: DRVDEN0
This pin is for Extension FDD B; its function is the same as the
DRVDEN0 pin of FDC.
EXTENSION 2FDD MODE: DRVDEN0
This pin is for Extension FDD A and B; its function is the same as
the DRVDEN0 pin of FDC.
W83977EF
Publication Release Date: April 2003
-13 - Revision 1.1
W83977EF
1.5 Multi-Mode Parallel Port, continued
SYMBOL PIN I/O FUNCTION
STB# 36 OD12 PRINTER MODE: STB#
An active low output is used to latch the parallel data into the
printer. This pin is pulled high internally. Refer to description of
the parallel port for definition of this pin in ECP and EPP mode.
- EXTENSION FDD MODE: This pin is a tri-state output.
- EXTENSION 2FDD MODE: This pin is a tri-state output.
31 I/O
PD0
INt EXTENSION FDD MODE: INDEX2#
INt EXTENSION 2FDD MODE: INDEX2#
30 I/O
PD1
29 I/O
PD2
PRINTER MODE: PD0
24t
Parallel port data bus bit 0. Refer to description of the parallel
port for definition of this pin in ECP and EPP mode.
This pin is for Extension FDD B; the function of this pin is the
same as the INDEX# pin of FDC. It is pulled high internally.
This pin is for Extension FDD A and B; the function of this pin is
the same as the INDEX# pin of FDC. It is pulled high internally.
PRINTER MODE: PD1
24t
Parallel port data bus bit 1. Refer to description of the parallel
port for definition of this pin in ECP and EPP mode.
INt
EXTENSION FDD MODE: TRAK02#
This pin is for Extension FDD B; the function of this pin is the
same as the TRAK0# pin of FDC. It is pulled high internally.
IN
EXTENSION. 2FDD MODE: TRAK02#
t
This pin is for Extension FDD A and B; the function of this pin is
the same as the TRAK0# pin of FDC. It is pulled high internally.
PRINTER MODE: PD2
24t
Parallel port data bus bit 2. Refer to description of the parallel
port for definition of this pin in ECP and EPP mode.
INt
EXTENSION FDD MODE: WP2#
This pin is for Extension FDD B; the function of this pin is the
same as the WP# pin of FDC. It is pulled high internally.
INt
EXTENSION. 2FDD MODE: WP2#
This pin is for Extension FDD A and B; the function of this pin is
the same as the WP# pin of FDC. It is pulled high internally.
Publication Release Date: April 2003
-14 - Revision 1.1
1.5 Multi-Mode Parallel Port, continued
SYMBOL PIN I/O FUNCTION
PD3
28 I/O
INt
INt
PRINTER MODE: PD3
24t
Parallel port data bus bit 3. Refer to description of the parallel
port for definition of this pin in ECP and EPP mode.
EXTENSION FDD MODE: RDATA2#
This pin is for Extension FDD B; the function of this pin is the
same as the RDATA# pin of FDC. It is pulled high internally.
EXTENSION 2FDD MODE: RDATA2#
This pin is for Extension FDD A and B; this function of this pin is
the same as the RDATA# pin of FDC. It is pulled high internally.
PRINTER MODE: PD4
INt
IN
24t
Parallel port data bus bit 4. Refer to description of the parallel
port for definition of this pin in ECP and EPP mode.
EXTENSION FDD MODE: DSKCHG2#
This pin is for Extension FDD B; the function of this pin is the
same as the DSKCHG# pin of FDC. It is pulled high internally.
EXTENSION 2FDD MODE: DSKCHG2#
t
27 I/O
PD4
This pin is for Extension FDD A and B; this function of this pin is
the same as the DSKCHG# pin of FDC. It is pulled high internally.
OD
-
-
-
PRINTER MODE: PD5
24t
Parallel port data bus bit 5. Refer to description of the parallel
port for definition of this pin in ECP and EPP mode.
EXTENSION FDD MODE: This pin is a tri-state output.
EXTENSION 2FDD MODE: This pin is a tri-state output.
PRINTER MODE: PD6
24t
Parallel port data bus bit 6. Refer to description of the parallel
port for definition of this pin in ECP and EPP mode.
EXTENSION FDD MODE: This pin is a tri-state output.
EXTENSION. 2FDD MODE: MOA2#
24
This pin is for Extension FDD A; its function is the same as the
MOA# pin of FDC.
PD5
PD6
26 I/O
24 I/O
W83977EF
Publication Release Date: April 2003
-15 - Revision 1.1
W83977EF
1.5 Multi-Mode Parallel Port, continued
SYMBOL PIN I/O FUNCTION
PD7
1.6 FDC Interface
SYMBOL PIN I/O FUNCTION
DRVDEN0 2 OD24 Drive Density Select bit 0.
DRVDEN1 3 OD24 Drive Density Select bit 1. (CR2A bit 1_0 = 00, default)
GP10 IO
(IRQIN1) Alternate Function from GP10: Interrupt channel input.
P12 IO
SCI# OUT
HEAD# 5 OD24 Head select. This open drain output determines which disk drive
WE# 9 OD24 Write enable. An open drain output.
WD# 10 OD24 Write data. This logic low open drain writes pre-compensation
STEP# 11 OD24 Step output pulses. This active low open drain output produces
DIR# 12 OD24 Direction of the head step motor. An open drain output.
MOB# 13 OD24 Motor B On. When set to 0, this pin enables disk drive 1. This is
23 I/O
OD
PRINTER MODE: PD7
24t
Parallel port data bus bit 7. Refer to description of the parallel
port for definition of this pin in ECP and EPP mode.
EXTENSION FDD MODE: This pin is a tri-state output.
-
EXTENSION 2FDD MODE: DSA2#
24
This pin is for Extension FDD A; its function is the same as the
DSA# pin of FDC.
General purpose I/O port 1 bit 0. (CR2A bit 1_0 = 01)
24t
KBC P12 I/O port. (CR2A bit 1_0 = 10)
24t
System Control Interrupt (CR2A bit 1_0 = 11)
12t
head is active.
Logic 1 = side 0
Logic 0 = side 1
serial data to the selected FDD. An open drain output.
a pulse to move the head to another track.
Logic 1 = outward motion
Logic 0 = inward motion
an open drain output.
Publication Release Date: April 2003
-16 - Revision 1.1
W83977EF
1.6 FDC Interface, continued
SYMBOL PIN I/O FUNCTION
DSA# 14 OD24 Drive Select A. When set to 0, this pin enables disk drive A.
This is an open drain output.
DSB# 15 OD24 Drive Select B. When set to 0, this pin enables disk drive B.
This is an open drain output.
MOA# 16 OD24 Motor A On. When set to 0, this pin enables disk drive 0. This is
an open drain output.
DSKCHG# 4 INcs Diskette change. This signal is active low at power on and
whenever the diskette is removed. This input pin is pulled up
internally by a 1 K
7 of L0-CRF0 (FIPURDWN).
RDATA# 6 INcs The read data input signal from the FDD. This input pin is pulled
up internally by a 1 K
bit 7 of L0-CRF0 (FIPURDWN).
WP# 7 INcs Write protected. This active low Schmitt input from the disk drive
indicates that the diskette is write-protected. This input pin is
pulled up internally by a 1 K
disabled by bit 7 of L0-CRF0 (FIPURDWN).
TRAK0# 8 INcs Track 0. This Schmitt-triggered input from the disk drive is active
low when the head is positioned over the outermost track. This
input pin is pulled up internally by a 1 K
can be disabled by bit 7 of L0-CRF0 (FIPURDWN).
INDEX# 17 INcs This Schmitt-triggered input from the disk drive is active low
when the head is positioned over the beginning of a track marked
by an index hole. This input pin is pulled up internally by a 1 K
resistor. The resistor can be disabled by bit 7 of L0-CRF0
(FIPURDWN).
Ω resistor. The resistor can be disabled by bit
Ω resistor. The resistor can be disabled by
Ω resistor. The resistor can be
Ω resistor. The resistor
Ω
Publication Release Date: April 2003
-17 - Revision 1.1
W83977EF
1.7 KBC Interface
SYMBOL PIN I/O FUNCTION
KDATA 59 I/O
MDATA 60 I/O
KCLK 67 I/O
MCLK 68 I/O
GA20 56 I/O
GP11 I/O
(IRQIN2) Alternate Function from GP11: Interrupt channel input.
KBRST 57 I/O
GP12 I/O
(WDTO) Alternate Function 1 from GP12 : Watchdog timer output.
KBLOCK 58 INts W83C45 KINH (P17) Input. (CR2B bit 0 = 0, default)
General purpose I/O port 1 bit 2. (CR2A bit 7 = 1)
12t
General purpose I/O port 1 bit 3. (CR2B bit 0 = 1)
16t
1.8 POWER PINS
SYMBOL PIN FUNCTION
VCC 20, 55, 85,
+5V power supply for the digital circuitry
115
VSB 71 +5V stand-by power supply for the digital circuitry
GND 25, 62, 90,
Ground
120
1.9 ACPI Interface
SYMBOL PIN I/O FUNCTION
VBAT 64 NA battery voltage input
XTAL1 63 INC 32.768Khz Clock Input
XTAL2 61 O8t 32.768Khz Clock Output
Publication Release Date: April 2003
-18 - Revision 1.1
W83977EF
2.0 FDC FUNCTIONAL DESCRIPTION
2.1 W83977EF FDC
The floppy disk controller of the W83977EF integrates all of the logic required for floppy disk control.
The FDC implements a PC/AT or PS/2 solution. All programmable options default to compatible
values. The FIFO provides better system performance in multi-master systems. The digital data
separator supports up to 2 M bits/sec data rate.
The FDC includes the following blocks: AT interface, Precompensation, Data Rate Selection, Digital
Data Separator, FIFO, and FDC Core.
2.1.1 AT interface
The interface consists of the standard asynchronous signals:RD#, WR#, A0-A3, IRQ, DMA control,
and a data bus. The address lines select between the configuration registers, the FIFO and
control/status registers. This interface can be switched between PC/AT, Model 30, or PS/2 normal
modes. The PS/2 register sets are a superset of the registers found in a PC/AT.
2.1.2 FIFO (Data)
The FIFO is 16 bytes in size and has programmable threshold values. All command parameter
information and disk data transfers go through the FIFO. Data transfers are governed by the RQM and
DIO bits in the Main Status Register.
The FIFO defaults to disabled mode after any form of reset. This maintains PC/AT hardware
compatibility. The default values can be changed through the CONFIGURE command. The advantage
of the FIFO is that it allows the system a larger DMA latency without causing disk errors. The following
tables give several examples of the delays with a FIFO. The data are based upon the following
formula:
THRESHOLD #
× (1/DATA/RATE) *8 - 1.5 µS = DELAY
FIFO THRESHOLD MAXIMUM DELAY TO SERVICING AT 500K BPS
1 Byte
2 Byte
8 Byte
15 Byte
FIFO THRESHOLD MAXIMUM DELAY TO SERVICING AT 1M BPS
1 Byte
2 Byte
8 Byte
15 Byte
-19 - Revision 1.1
Data Rate
× 16 µS - 1.5 µS = 14.5 µS
1
16 µS - 1.5 µS = 30.5 µS
2
×
8
× 16 µS - 1.5 µS = 6.5 µS
16 µS - 1.5 µS = 238.5 µS
15
×
Data Rate
1
× 8 µS - 1.5 µS = 6.5 µS
8 µS - 1.5 µS = 14.5 µS
2
×
8
× 8 µS - 1.5 µS = 62.5 µS
15
8 µS - 1.5 µS = 118.5 µS
×
Publication Release Date: April 2003
W83977EF
At the start of a command the FIFO is always disabled and command parameters must be sent based
upon the RQM and DIO bit settings in the main status register. When the FDC enters the command
execution phase, it clears the FIFO of any data to ensure that invalid data are not transferred.
An overrun and underrun will terminate the current command and the data transfer. Disk writes will
complete the current sector by generating a 00 pattern and valid CRC. Reads require the host to
remove the remaining data so that the result phase may be entered.
DMA transfers are enabled with the SPECIFY command and are initiated by the FDC by activating the
DRQ pin during a data transfer command. The FIFO is enabled directly by asserting DACK# and
addresses need not be valid.
Note that if the DMA controller is programmed to function in verify mode a pseudo read is performed
by the FDC based only onDACK#. This mode is only available when the FDC has been configured
into byte mode (FIFO disabled) and is programmed to do a read. With the FIFO enabled the above
operation is performed by using the new VERIFY command. No DMA operation is needed.
¡
2.1.3 Data Separator
The function of the data separator is to lock onto the incoming serial read data. When a lock is
achieved the serial front end logic of the chip is provided with a clock which is synchronized to the
read data. The synchronized clock, called the Data Window, is used to internally sample the serial
data portion of the bit cell, and the alternate state samples the clock portion. Serial to parallel
conversion logic separates the read data into clock and data bytes.
The Digital Data Separator (DDS) has three parts: control logic, error adjustment, and speed tracking.
The DDS circuit cycles once every 12 clock cycles ideally. Any data pulse input will be synchronized
and then adjusted by immediate error adjustment. The control logic will generate RDD and RWD for
every pulse input. During any cycle where no data pulse is present, the DDS cycles are based on
speed. A digital integrator is used to keep track of the speed changes in the input data stream.
2.1.4 Write Precompensation
The write precompensation logic is used to minimize bit shifts in the RDDATA stream from the disk
drive. Shifting of bits is a known phenomenon in magnetic media and is dependent on the disk media
and the floppy drive.
The FDC monitors the bit stream that is being sent to the drive. The data patterns that require
precompensation are well known. Depending upon the pattern, the bit is shifted either early or late
relative to the surrounding bits.
Publication Release Date: April 2003
-20 - Revision 1.1
W83977EF
2.1.5 Perpendicular Recording Mode
The FDC is also capable of interfacing directly to perpendicular recording floppy drives. Perpendicular
recording differs from the traditional longitudinal method in that the magnetic bits are oriented
vertically. This scheme packs more data bits into the same area.
FDCs with perpendicular recording drives can read standard 3.5" floppy disks and can read and write
perpendicular media. Some manufacturers offer drives that can read and write standard and
perpendicular media in a perpendicular media drive.
A single command puts the FDC into perpendicular mode. All other commands operate as they
normally do. The perpendicular mode requires a 1 Mbps data rate for the FDC. At this data rate the
FIFO eases the host interface bottleneck due to the speed of data transfer to or from the disk.
2.1.6 FDC Core
The W83977EF FDC is capable of performing twenty commands. Each command is initiated by a
multi-byte transfer from the microprocessor. The result can also be a multi-byte transfer back to the
microprocessor. Each command consists of three phases: command, execution, and result.
Command
The microprocessor issues all required information to the controller to perform a specific operation.
Execution
The controller performs the specified operation.
Result
After the operation is completed, status information and other housekeeping information is provided to
the microprocessor.