FDC37C672QFP SMSC Corporation, FDC37C672QFP Datasheet - Page 59

no-image

FDC37C672QFP

Manufacturer Part Number
FDC37C672QFP
Description
ENHANCED SUPER I/O CONTROLLER WITH FAST IR
Manufacturer
SMSC Corporation
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
FDC37C672QFP
Manufacturer:
SMSC
Quantity:
45
Part Number:
FDC37C672QFP
Manufacturer:
SMC
Quantity:
20 000
Enhanced Super I/O Controller with Fast IR
Datasheet
8.2.8
8.2.9
SMSC FDC37C672
PRETRK - Pre-Compensation Start Track Number. Programmable from track 0 to 255. Defaults to track 0.
A "00" selects track 0; "FF" selects track 255.
Version
The Version command checks to see if the controller is an enhanced type or the older type (765A). A
value of 90 H is returned as the result byte.
Relative Seek
The command is coded the same as for Seek, except for the MSB of the first byte and the DIR bit.
DIR
RCN Relative Cylinder Number that determines how many tracks to step the head in or out from the
current track number.
The Relative Seek command differs from the Seek command in that it steps the head the absolute number
of tracks specified in the command instead of making a comparison against an internal register. The Seek
command is good for drives that support a maximum of 256 tracks. Relative Seeks cannot be overlapped
with other Relative Seeks. Only one Relative Seek can be active at a time. Relative Seeks may be
overlapped with Seeks and Recalibrates. Bit 4 of Status Register 0 (EC) will be set if Relative Seek
attempts to step outward beyond Track 0.
As an example, assume that a floppy drive has 300 useable tracks. The host needs to read track 300 and
the head is on any track (0-255). If a Seek command is issued, the head will stop at track 255. If a
Relative Seek command is issued, the FDC will move the head the specified number of tracks, regardless
of the internal cylinder position register (but will increment the register). If the head was on track 40 (d), the
maximum track that the FDC could position the head on using Relative Seek will be 295 (D), the initial
track + 255 (D). The maximum count that the head can be moved with a single Relative Seek command is
255 (D).
The internal register, PCN, will overflow as the cylinder number crosses track 255 and will contain 39 (D).
The resulting PCN value is thus (RCN + PCN) mod 256. Functionally, the FDC starts counting from 0
again as the track number goes above 255 (D). It is the user's responsibility to compensate FDC functions
(precompensation track number) when accessing tracks greater than 255. The FDC does not keep track
that it is working in an "extended track area" (greater than 255). Any command issued will use the current
PCN value except for the Recalibrate command, which only looks for the TRACK0 signal. Recalibrate will
return an error if the head is farther than 79 due to its limitation of issuing a maximum of 80 step pulses.
The user simply needs to issue a second Recalibrate command. The Seek command and implied seeks
will function correctly within the 44 (D) track (299-255) area of the "extended track area". It is the user's
responsibility not to issue a new track position that will exceed the maximum track that is present in the
extended area.
To return to the standard floppy range (0-255) of tracks, a Relative Seek should be issued to cross the
track 255 boundary.
A Relative Seek can be used instead of the normal Seek, but the host is required to calculate the
difference between the current head location and the new (target) head location. This may require the
host to issue a Read ID command to ensure that the head is physically on the track that software assumes
it to be. Different FDC commands will return different cylinder results which may be difficult to keep track
of with software without the Read ID command.
Head Step Direction Control
PRELIMINARY DATASHEET
DIR
0
1
Step Head Out
Step Head In
Page 59
ACTION
Rev. 10-29-03

Related parts for FDC37C672QFP