One of Winbond's popular series of I/O chips, the W83877F integrates a disk drive adapter, serial
port (UART), parallel port, IDE bus interface, and game port decoder onto a single chip. The
W83877F is an enhanced version of the W83777F, with additional powerful features such as
configurable plug-and-play registers for the whole chip and infrared support in one of the serial ports.
The disk drive adapter functions of the W83877F include a floppy disk drive controller compatible
with 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 W83877F greatly reduces the number of components
required for interfacing with floppy disk drives. The W83877F supports four 360K, 720K, 1.2M, 1.44M,
or 2.88M disk drives and data transfer rates of 250 Kb/S, 300 Kb/S, 500 Kb/S, and 1 Mb/S.
The W83877F provides two high-speed serial communication ports (UARTs), one of which supports
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.
The W83877F supports one PC-compatible printer port. Additional bidirectional I/O capability is
available by hardware control or software programming. The parallel port also supports the Enhanced
Parallel Port (EPP) and Extended Capabilities Port (ECP).
The W83877F supports two embedded hard disk drive (AT bus) interfaces and a game port with
decoded read/write output. The chip's Extension FDD Mode and Extension 2FDD Mode allow one or
two external floppy disk drives to be connected to the computer through the printer interface pins in
notebook computer applications.
The Extension Adapter Mode of the W83877F allows pocket devices to be installed through the
printer interface pins in notebook computer applications according to a protocol set by Winbond, but
with upgraded performance. The JOYSTICK mode allows a joystick to be connected to a parallel port
with a signal switching cable.
The configuration registers support mode selection, function enable/disable, and power down function
selection. Moreover, the configurable PnP registers are compatible with the plug-and-play feature in
Windows 95
TM
, which makes system resource allocation more efficient than ever.
Publication Release Date: January 1996
- 1 -Revision A2
W83877F
FEATURES
FDC:
• Compatible with IBM PC AT disk drive systems
• Variable write pre-compensation with track selectable capability
• DMA enable logic
• Non-burst mode DMA option
• Supports floppy disk drives and tape drives
• Detects all overrun and underrun conditions
• Data rate and drive control registers
• Built-in address mark detection circuit to simplify the read electronics
• IBM PC system address decoder
• Supports up to two embedded hard disk drives (IDE AT BUS)
• Single 24 MHz crystal input
• FDD anti-virus functions with software write protect and FDD write enable signal, write data signal
force inactive
• Supports 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 bps data transfer rate
• Supports vertical recording format
• 16-byte data FIFOs
UART:
• Two high-speed 16550 compatible UARTs with 16-byte send/receive FIFOs
When CR16 Bit 4 (GOIQSEL) = 0: Interrupt request signal B;
12t
When CR16 Bit 4 (GOIQSEL) = 1: General Purpose I/O port 0.
12t
Interrupt request signal C
12t
Interrupt request signal D
12t
Interrupt request signal E
12t
Interrupt request signal F
12t
XTAL oscillator input
c
XTAL oscillator output
8t
1.2 Serial Port Interface
SYMBOLPINI/OFUNCTION
34
47
33
48
32
49
IN
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 indicates the modem or data set
t
is ready to establish a communication link and transfer data to
the UART.
Data Carrier Detect. An active low indicates the modem or data
t
set has detected a data carrier.
SINA
SINB/IRRX1
SOUTA/
PIRIDE
31
IN
50
30
IN
42
38I/O
Ring Indicator. An active low indicates that a ring signal is being
t
received by the modem or data set.
Serial Input. Used to receive serial data from the communication
t
link.
UART A Serial Output. Used to transmit serial data out to the
8t
communication link.
During power-on reset, this pin is pulled up internally and is
defined as PIRIDE, which provides the power-on value for CR16
bit 1 (IRIDE). A 47 kΩ is recommended when intends to pull
down at power-on reset.
- 6 -
1.2 Serial Port Interface, continued
DTRA
DTRB
RTSA
RTSB
SYMBOLPINI/OFUNCTION
W83877F
SOUTB/
IRTX1/
PGMDRQ
PHEFRAS
PPNPCVS
PGOIQSEL
43I/O
35I/O
46O
36I/O
45I/O
UART B Serial Output. Used to transmit serial data out to the
8t
communication link.
During power-on reset, this pin is pulled up internally and is
defined as PGMDRQ, which provides the power-on value for
CR16 bit 3 (GMDRQ). A 47 kΩ is recommended when intends
to pull down at power-on reset.
UART A Data Terminal Ready. An active low 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 PHEFRAS, which provides the power-on value for
CR16 bit 0 (HEFRAS). A 47 kΩ is recommended when intends
to pull up at power-on reset.
UART B Data Terminal Ready. An active low informs the
8t
modem or data set that controller is ready to communicate.
UART A Request To Send. An active low informs the modem or
8t
data set that the controller is ready to send data.
During power-on reset, this pin is pulled up internally and is
defined as PPNPCVS, which provides the power-on value for
CR16 bit 2 (PNPCVS). A 47 kΩ is recommended when intends
to pull down at power-on reset.
UART B Request To Send. An active low informs the modem or
8t
data set that the controller is ready to send data.
During power-on reset, this pin is pulled down internally and is
defined as PGOIQSEL, which provides the power-on value for
CR16 bit 4 (GOIQSEL). A 47 kΩ is recommended when intends
to pull up at power-on reset.
Publication Release Date: January 1996
- 7 -Revision A2
W83877F
GMRD
GMWR
1.3 Game Port/Power Down Interface
If Bit 3 of CR16 (GMDRQ) is 1, Bit 4 of CR3 (GMODS0) determines whether the game port is in
Adapter mode or Portable mode (default is Adapter mode). If Bit 3 of CR16 is 0, pin 39 and 41 are
used for DMA A operation.
SYMBOLPINI/OFUNCTION
41OUT
PFDCEN
DACK_A
OUT
OUT
39OUT
PEXTEN
DRQ_A
OUT
IN
PDCIN3 IN
When CR16 Bit 3 (GMDRQ) = 1:
8t
Adapter mode: Game port read control signal.
8t
Portable mode: When parallel port is selected as Extension
FDD/Extension 2FDD mode, this pin will be active. The active
state is dependent on bit 7 of CRA (PFDCACT), and default is
low active.
8t
When CR16 Bit 3 (GMDRQ) = 0:
DMA acknowledge signal A.
When CR16 Bit 3 (GMDRQ) = 1:
8t
Adapter mode: Game port write control signal.
8t
Portable mode: When a particular extended mode is selected for
the parallel port, this pin will be active. The extended modes
include Extension Adapter mode, EPP mode, ECP mode, and
ECP/EPP mode, which are selected using bit 3 - bit 0 of CRA.
The active state is dependent on bit 6 of CRA (PEXTACT); the
default is low active.
When CR16 Bit 3 (GMDRQ) = 0:
t
DMA request signal A.
This input pin controls the chip power down. When this pin is
c
active, the clock supply to the chip will be inhibited and the
output pins will be tri-stated as defined in CR4 and CR6. The
PDCIN is pulled down internally. Its active state is defined by bit
4 of CRA (PDCHACT). Default is high active.
- 8 -
W83877F
MOB
2
MOB
MOB
2
MOB
ACK
ACK
DSB
2
DSB
DSB
2
DSB
1.4 Multi-Mode Parallel Port
The following pins have eight functions, which are controlled by bits PRTMOD0, PRTMOD1, and
PRTMOD2 of CR0 and CR9 (refer to section 8.0, Extended Functions).
SYMBOLPINI/OFUNCTION
BUSY24IN
OD
IN
OD
26IN
PRINTER MODE: BUSY
t
An active high input indicates that the printer is not ready to
receive data. This pin is pulled high internally. Refer to the
description of the parallel port for the definition of this pin in ECP
and EPP mode.
12
EXTENSION FDD MODE:
This pin is for Extension FDD B; the function of this pin is the
same as that of the
t
pin.
EXTENSION ADAPTER MODE: XIRQ
This pin is an interrupt request generated by the Extension
Adapter and is an active high input.
12
EXTENSION 2FDD MODE:
This pin is for Extension FDD A and B; the function of this pin is
_
the same as that of the
pin.
JOYSTICK MODE: NC pin.
t
PRINTER MODE:
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 the description of the parallel port
for the definition of this pin in ECP and EPP mode.
OD
IN
OD
EXTENSION FDD MODE:
12
This pin is for the Extension FDD B; its functions are the same
as those of the
EXTENSION ADAPTER MODE: XDRQ
t
pin.
DMA request generated by the Extension Adapter. An active
high input.
EXTENSION 2FDD MODE:
12
This pin is for Extension FDD A and B; this function of this pin is
the same as that of the
_
JOYSTICK MODE: NC pin.
pin.
Publication Release Date: January 1996
- 9 -Revision A2
1.4 Multi-Mode Parallel Port, continued
WD
2
WD
2
WE
2
SYMBOLPINI/OFUNCTION
PE27IN
PRINTER MODE: PE
t
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 the description of the parallel port for the definition of
this pin in ECP and EPP mode.
W83877F
OD
OUT
OD
SLCT28IN
OD
OUT
OD
EXTENSION FDD MODE:
12
This pin is for Extension FDD B; its function is the same as that
of the WD pin.
12t
EXTENSION ADAPTER MODE: XA0
This pin is system address A0 for the Extension Adapter.
12
EXTENSION 2FDD MODE:
This pin is for Extension FDD A and B; this function of this pin is
_
the same as that of the WD pin.
JOYSTICK MODE: NC pin.
PRINTER MODE: SLCT
t
An active high input on this pin indicates that the printer is
selected. This pin is pulled high internally. Refer to the
description of the parallel port for the definition of this pin in ECP
and EPP mode.
12
EXTENSION FDD MODE: WE2
This pin is for Extension FDD B; its functions are the same as
12t
those of the WE pin.
EXTENSION ADAPTER MODE: XA1
12
This pin is system address A1 for the Extension Adapter.
EXTENSION 2FDD MODE:
_
This pin is for Extension FDD A and B; this function of this pin is
the same as that of the WE pin.
JOYSTICK MODE: NC pin.
- 10 -
1.4 Multi-Mode Parallel Port, continued
ERR
ERR
HEAD
2
HEAD
HEAD
2
HEAD
SLIN
SLIN
STEP
2
STEP
STEP
2
STEP
SYMBOLPINI/OFUNCTION
W83877F
29IN
OD
OUT
OD
_
22OD
OD
OUT
OD
OUT
t
PRINTER MODE:
An active low input on this pin indicates that the printer has
encountered an error condition. This pin is pulled high internally.
Refer to the description of the parallel port for the definition of
this pin in ECP and EPP mode.
EXTENSION FDD MODE:
12
This pin is for Extension FDD B; its function is the same as that
of the
EXTENSION ADAPTER MODE: XA2
12t
pin.
This pin is system address A2 for the Extension Adapter.
EXTENSION 2FDD MODE:
12
This pin is for Extension FDD A and B; its function is the same
as that of the
pin.
JOYSTICK MODE: NC pin.
12
PRINTER MODE:
Output line for detection of printer selection. This pin is pulled
high internally. Refer to the description of the parallel port for the
definition of this pin in ECP and EPP mode.
EXTENSION FDD MODE:
12
This pin is for Extension FDD B; its function is the same as that
12t
of the
pin.
EXTENSION ADAPTER MODE: XTC
This pin is the DMA terminal count for the Extension Adapter.
The count is sent by TC directly.
12
EXTENSION 2FDD MODE:
This pin is for Extension FDD A and B; its function is the same
12t
as that of the
pin .
JOYSTICK MODE: VDD for joystick.
Publication Release Date: January 1996
- 11 -Revision A2
1.4 Multi-Mode Parallel Port, continued
INIT
INIT
DIR
2
DIR
XDACK
PDACKX
DIR
2
DIR
AFD
AFD
RWC
2
RWC
XRD
XRD
XWR
RWC
2
RWC
SYMBOLPINI/OFUNCTION
W83877F
21OD
OD
OUT
OD
OUT
20OD
OD
OUT
OD
OUT
12
PRINTER MODE:
Output line for the printer initialization. This pin is pulled high
internally. Refer to the description of the parallel port for the
definition of this pin in ECP and EPP mode.
EXTENSION FDD MODE:
12
This pin is for Extension FDD B; its function is the same as that
12t
of the
pin.
EXTENSION ADAPTER MODE:
This pin is the DMA acknowledge output for the Extension
Adapter; the output is sent directly from
12
.
EXTENSION 2FDD MODE:
This pin is for Extension FDD A and B; its function is the same
12t
as that of the
pin.
JOYSTICK MODE: VDD for joystick.
12
PRINTER MODE:
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 the description of the parallel port for the definition of
this pin in ECP and EPP mode.
EXTENSION FDD MODE:
12
This pin is for Extension FDD B; its function is the same as that
12t
of the
pin.
EXTENSION ADAPTER MODE:
This pin is the I/O read command for the Extension Adapter.
When the Extension Adapter base address is written to the
Extension Adapter address register,
and
simultaneously so that the command register on the Extension
Adapter can latch the same base address.
12
EXTENSION 2FDD MODE:
This pin is for Extension FDD A and B; its function is the same
12t
as that of the
pin.
JOYSTICK MODE: VDD for joystick.
go low
- 12 -
1.4 Multi-Mode Parallel Port, continued
STB
STB
XWR
XRD
XWR
INDEX
2
INDEX
INDEX
2
INDEX
SYMBOLPINI/OFUNCTION
W83877F
19OD
OUT
OUT
PD09I/O
I/O
I/O
IN
IN
12
PRINTER MODE:
An active low output is used to latch the parallel data into the
printer. This pin is pulled high internally. Refer to the description
of the parallel port for the definition of this pin in ECP and EPP
-
mode.
EXTENSION FDD MODE:
12t
This pin is a tri-state output.
EXTENSION ADAPTER MODE:
This pin is the I/O write command for the Extension Adapter.
When the Extension Adapter base address is written to the
-
Extension Adapter address register,
simultaneously so that the command register on the Extension
Adapter can latch the same base address.
12t
and
go low
EXTENSION 2FDD MODE: This pin is a tri-state output.
JOYSTICK MODE: VDD for joystick.
PRINTER MODE: PD0
24t
Parallel port data bus bit 0. Refer to the description of the
parallel port for the definition of this pin in ECP and EPP mode.
EXTENSION FDD MODE:
t
This pin is for Extension FDD B; the function of this pin is the
same as that of the
EXTENSION ADAPTER MODE: XD0
24t
pin. This pin is pulled high internally.
This pin is system data bus D0 for the Extension Adapter.
t
EXTENSION 2FDD MODE:
This pin is for Extension FDD A and B; this function of this pin is
the same as
JOYSTICK MODE: JP0
24t
pin. This pin is pulled high internally.
This pin is the paddle 0 input for joystick.
Publication Release Date: January 1996
- 13 -Revision A2
1.4 Multi-Mode Parallel Port, continued
TRAK
02
TRAK
0
TRAK
02
TRAK
0
WP
2
WP
2
SYMBOLPINI/OFUNCTION
W83877F
PD110I/O
I/O
I/O
PD211I/O
I/O
IN
IN
IN
IN
PRINTER MODE: PD1
24t
Parallel port data bus bit 1. Refer to the description of the
parallel port for the definition of this pin in ECP and EPP mode.
EXTENSION FDD MODE:
t
This pin is for Extension FDD B; the function of this pin is the
same as that of the
EXTENSION ADAPTER MODE: XD1
24t
pin. This pin is pulled high internally.
This pin is system data bus D1 for the Extension Adapter.
t
EXTENSION. 2FDD MODE:
This pin is for Extension FDD A and B; this function of this pin is
the same as
24t
JOYSTICK MODE: JP1
pin. This pin is pulled high internally.
This pin is the paddle 1 input for joystick.
PRINTER MODE: PD2
24t
Parallel port data bus bit 2. Refer to the description of the
parallel port for the definition of this pin in ECP and EPP mode.
EXTENSION FDD MODE:
t
This pin is for Extension FDD B; the function of this pin is the
same as that of the WP pin. This pin is pulled high internally.
EXTENSION ADAPTER MODE: XD2
24t
This pin is system data bus D2 for the Extension Adapter.
t
EXTENSION. 2FDD MODE:
This pin is for Extension FDD A and B; this function of this pin is
the same as that of the WP pin. This pin is pulled high
-
internally.
JOYSTICK MODE: NC pin
- 14 -
1.4 Multi-Mode Parallel Port, continued
RDATA
2
RDATA
RDATA
2
RDATA
DSKCHG
2
DSKCHG
DSKCHG
2
DSKCHG
SYMBOLPINI/OFUNCTION
PD312I/O
PRINTER MODE: PD3
24t
Parallel port data bus bit 3. Refer to the description of the
parallel port for the definition of this pin in ECP and EPP mode.
IN
t
EXTENSION FDD MODE:
Motor on B for Extension FDD B; the function of this pin is the
I/O
same as that of the
24t
EXTENSION ADAPTER MODE: XD3
pin. This pin is pulled high internally.
This pin is system data bus D3 for the Extension Adapter.
IN
t
EXTENSION 2FDD MODE:
This pin is for Extension FDD A and B; this function of this pin is
-
the same as that of the
internally.
JOYSTICK MODE: NC pin
PD413I/O
PRINTER MODE: PD4
24t
Parallel port data bus bit 4. Refer to the description of the
parallel port for the definition of this pin in ECP and EPP mode.
IN
t
EXTENSION FDD MODE:
Drive select B for Extension FDD B; the function of this pin is the
I/O
same as that of
EXTENSION ADAPTER MODE: XD4
24t
pin. This pin is pulled high internally.
This pin is system data bus D4 for the Extension Adapter.
IN
t
EXTENSION 2FDD MODE:
This pin is for Extension FDD A and B; this function of this pin is
the same as that of the
t
internally.
IN
JOYSTICK MODE: JB0
This pin is the button 0 input for the joystick.
PD514I/O
PRINTER MODE: PD5
24t
Parallel port data bus bit 5. Refer to the description of the
parallel port for the definition of this pin in ECP and EPP mode.
-
EXTENSION FDD MODE:
This pin is a tri-state output.
I/O
24t
EXTENSION ADAPTER MODE: XD5
This pin is system data bus D5 for the Extension Adapter
-
EXTENSION 2FDD MODE:
This pin is a tri-state output.
IN
t
JOYSTICK MODE: JB1
This pin is the button 1 input for the joystick.
W83877F
pin. This pin is pulled high
pin. This pin is pulled high
Publication Release Date: January 1996
- 15 -Revision A2
1.4 Multi-Mode Parallel Port, continued
MOA
2
MOA
DSA
2
DSA
SYMBOLPINI/OFUNCTION
W83877F
PD616I/O
I/O
OD
PD717I/O
I/O
PRINTER MODE: PD6
24t
Parallel port data bus bit 6. Refer to the description of the
-
parallel port for the definition of this pin in ECP and EPP mode.
EXTENSION FDD MODE:
This pin is a tri-state output.
24t
EXTENSION ADAPTER MODE: XD6
This pin is system data bus D6 for the Extension Adapter
24
EXTENSION. 2FDD MODE:
This pin is for Extension FDD A; its function is the same as that
-
of the
pin.
JOYSTICK MODE: NC pin
PRINTER MODE: PD7
24t
Parallel port data bus bit 7. Refer to the description of the
parallel port for the definition of this pin in ECP and EPP mode.
-
EXTENSION FDD MODE:
This pin is a tri-state output.
EXTENSION ADAPTER MODE: XD7
24t
This pin is system data bus D7 for the Extension Adapter.
OD
EXTENSION 2FDD MODE:
24
This pin is for Extension FDD A; its function is the same as that
of the
-
JOYSTICK MODE: NC pin
pin.
- 16 -
1.5 IDE and FDC Interface
RESIDE
IDBEN
CS1
CS1
CS
0
CS
WE
DIR
HEAD
RWC
WD
STEP
INDEX
SYMBOLPINI/OFUNCTION
IRQ_G
IRQ_H
/
IRTX2
/
IRRX2
/
1OUT
OUT
/
91OUT
OUT
95OUT
OUT
94OUT
IN
85OD
89
When CR16 Bit 1 (IRIDE) = 0: Active low reset signal for IDE;
12t
When CR16 Bit 1 (IRIDE) = 1: Interrupt request signal G.
12t
When CR16 Bit 1 (IRIDE) = 0: Active low enable signal for IDE;
12t
When CR16 Bit 1 (IRIDE) = 1: Interrupt request signal H.
12t
When CR16 Bit 1 (IRIDE) = 0: This pin is used to select the IDE
12t
12t
controller.
CR22.
decodes the HDC addresses specified in
When CR16 Bit 1 (IRIDE) = 1: Function as a InfraRed
transmission data line.
When CR16 Bit 1 (IRIDE) = 0: This pin is used to select the IDE
12t
controller.
t
When CR16 Bit 1 (IRIDE) = 1: Function as a InfraRed receiving
decodes HDC addresses specified in CR21.
line.
Write enable. An open drain output.
24
Direction of the head step motor. An open drain output.
24
W83877F
88OD
87OD
86OD
82OD
81IN
Logic 0 = inward motion
Head select. This open drain output determines which disk drive
24
head is active.
Logic 1 = side 0
Logic 0 = side 1
Reduced write current. This signal can be used on two-speed
24
disk drives to select the transfer rate. An open drain output.
Logic 0 = 250 Kb/s
Logic 1 = 500 Kb/s
When bit 5 of CR9 (EN3MODE) is set to high, the three-mode
FDD function is enabled, and the pin will have a different
definition. Refer to the EN3MODE bit in CR9.
Write data. This logic low open drain writes precompensation
24
serial data to the selected FDD. An open drain output.
Step output pulses. This active low open drain output produces a
24
pulse to move the head to another track.
This schmitt input from the disk drive is active low when the
cs
head is positioned over the beginning of a track marked by an
index hole. This input pin is pulled up internally by an
approximately 1K ohm resistor. The resistor can be disabled by
bit 4 of CR6 (FIPURDWN).
Publication Release Date: January 1996
- 17 -Revision A2
1.5 IDE and FDC Interface, continued
TRAK
0
WP
RDATA
DSKCHG
MOA
MOB
DSA
DSB
SYMBOLPINI/OFUNCTION
W83877F
78IN
77IN
74IN
76IN
79OD
80OD
83OD
84OD
Track 0. This schmitt input from the disk drive is active low when
cs
the head is positioned over the outermost track. This input pin is
pulled up internally by an approximately 1K ohm resistor. The
resistor can be disabled by bit 4 of CR6 (FIPURDWN).
Write protected. This active low schmitt input from the disk drive
cs
indicates that the diskette is write-protected. This input pin is
pulled up internally by an approximately 1K ohm resistor. The
resistor can be disabled by bit 4 of CR6 (FIPURDWN).
The read data input signal from the FDD. This input pin is pulled
cs
up internally by an approximately 1K ohm resistor. The resistor
can be disabled by bit 4 of CR6 (FIPURDWN).
Diskette change. This signal is active low at power on and
cs
whenever the diskette is removed. This input pin is pulled up
internally by an approximately 1K ohm resistor. The resistor can
be disabled by bit 4 of CR6 (FIPURDWN).
Motor A On. When set to 0, this pin enables disk drive 0. This is
24
an open drain output.
Motor B On. When set to 0, this pin enables disk drive 1. This is
24
an open drain output.
Drive Select A. When set to 0, this pin enables disk drive A. This
24
is an open drain output.
Drive Select B. When set to 0, this pin enables disk drive B. This
24
is an open drain output.
VDD15,
+5 power supply for the digital circuitry
56
GND25,
Ground
40
65,
90
2.0 FDC FUNCTIONAL DESCRIPTION
2.1 W83877F FDC
The floppy disk controller of the W83877F 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 1 M bits/sec data rate.
The FDC includes the following blocks: AT interface, Precompensation, Data Rate Selection, Digital
Data Separator, FIFO, and FDC Core.
- 18 -
2.1.1 AT interface
WR
DACK
DACK
W83877F
The interface consists of the standard asynchronous signals: RD,
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 THRESHOLDMAXIMUM DELAY TO SERVICING AT 500K BPS
FIFO THRESHOLDMAXIMUM DELAY TO SERVICING AT 1M BPS
Data Rate
1 Byte
2 Byte
8 Byte
15 Byte
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
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 on
. 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.
¡@
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 W83877F 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.
- 20 -
2.1.7 FDC Commands
Command Symbol Descriptions:
C:Cylinder number 0 - 256
D:Data Pattern
DIR:Step Direction
DIR = 0, step out
DIR = 1, step in
DS0:Disk Drive Select 0
DS1:Disk Drive Select 1
DTL:Data Length
EC:Enable Count
EOT:End of Track
EFIFO:Enable FIFO
EIS:Enable Implied Seek
EOT:End of track
FIFOTHR: FIFO Threshold
GAP: Gap length selection
GPL:Gap Length
H:Head number
HDS: Head number select
HLT:Head Load Time
HUT:Head Unload Time
LOCK:Lock EFIFO, FIFOTHR, PTRTRK bits prevent affected by software reset
MFM:MFM or FM Mode
MT:Multitrack
N:The number of data bytes written in a sector
NCN:New Cylinder Number
ND:Non-DMA Mode
OW:Overwritten
PCN:Present Cylinder Number
POLL:Polling Disable
PRETRK:Precompensation Start Track Number
R:Record
RCN:Relative Cylinder Number
R/W:Read/Write
SC:Sector/per cylinder
SK:Skip deleted data address mark
W83877F
Publication Release Date: January 1996
- 21 -Revision A2
W83877F
SRT:Step Rate Time
ST0:Status Register 0
ST1:Status Register 1
ST2:Status Register 2
ST3:Status Register 3
WG:Write gate alters timing of WE
(1) Read Data
PHASER/W D7 D6 D5 D4 D3 D2 D1 D0REMARKS
CommandW MT MFM SK 0 0 1 1 0Command codes
W 0 0 0 0 0 HDS DS1 DS0
W
W
W
W
W
W
W-------------------- DTL -----------------------
---------------------- C ------------------------
---------------------- H ------------------------
---------------------- R ------------------------
---------------------- N ------------------------
-------------------- EOT -----------------------
-------------------- GPL -----------------------
Sector ID information prior
to command execution
ExecutionData transfer between the
FDD and system
ResultR
R
R
R
R
R
R
-------------------- ST0 -----------------------
-------------------- ST1 -----------------------
-------------------- ST2 -----------------------
---------------------- C ------------------------
---------------------- H ------------------------
---------------------- R ------------------------
---------------------- N ------------------------
Status information after
command execution
Sector ID information after
command execution
- 22 -
W83877F
(2) Read Deleted Data
PHASER/W D7 D6 D5 D4 D3 D2 D1 D0REMARKS
CommandW MT MFM SK 0 1 1 0 0Command codes
W 0 0 0 0 0 HDS DS1 DS0
W
W
W
W
W
W
W-------------------- DTL -----------------------
ExecutionData transfer between the
ResultR
R
R
R
R
R
R
---------------------- C ------------------------
---------------------- H ------------------------
---------------------- R ------------------------
---------------------- N ------------------------
-------------------- EOT -----------------------
-------------------- GPL -----------------------
-------------------- ST0 -----------------------
-------------------- ST1 -----------------------
-------------------- ST2 -----------------------
---------------------- C ------------------------
---------------------- H ------------------------
---------------------- R ------------------------
---------------------- N ------------------------
Sector ID information prior
to command execution
FDD and system
Status information after
command execution
Sector ID information after
command execution
Publication Release Date: January 1996
- 23 -Revision A2
W83877F
(3) Read A Track
PHASER/W D7 D6 D5 D4 D3 D2 D1 D0REMARKS
CommandW0 MFM 0 0 0 0 1 0Command codes
W 0 0 0 0 0 HDS DS1 DS0
W
W
W
W
W
W
W-------------------- DTL -----------------------
ExecutionData transfer between the
ResultR
R
R
R
R
R
---------------------- C ------------------------
---------------------- H ------------------------
---------------------- R ------------------------
---------------------- N ------------------------
-------------------- EOT -----------------------
-------------------- GPL -----------------------
-------------------- ST0 -----------------------
-------------------- ST1 -----------------------
-------------------- ST2 -----------------------
---------------------- C ------------------------
---------------------- H ------------------------
---------------------- R ------------------------
Sector ID information prior
to command execution
FDD and system; FDD
reads contents of all
cylinders from index hole to
EOT
Status information after
command execution
Sector ID information after
command execution
R
---------------------- N ------------------------
- 24 -
W83877F
(4) Read ID
PHASER/WD7 D6 D5 D4 D3 D2 D1 D0REMARKS
CommandW0 MFM 0 0 1 0 1 0Command codes
W 0 0 0 0 0 HDS DS1 DS0
ExecutionThe first correct ID
information on the cylinder
is stored in Data Register
There are several status, data, and control registers in W83877F. These registers are defined below:
ADDRESSREGISTER
OFFSETREADWRITE
base address + 0
base address + 1
base address + 2
base address + 3
base address + 4MS REGISTERDR REGISTER
base address + 5DT (FIFO) REGISTERDT (FIFO) REGISTER
base address + 7DI REGISTERCC REGISTER
SA REGISTER
SB REGISTER
TD REGISTER
DO REGISTER
TD REGISTER
2.2.1 Status Register A (SA Register) (Read base address + 0)
This register is used to monitor several disk interface pins in PS/2 and Model 30 modes. In PS/2
mode, the bit definitions for this register are as follows:
2
34567
1
0
DIR
WP
INDEX
HEAD
TRAK0
STEP
DRV2
INIT PENDING
INIT PENDING (Bit 7):
This bit indicates the value of the floppy disk interrupt output.
(Bit 6):
0A second drive has been installed
1A second drive has not been installed
- 30 -
Loading...
+ 95 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.