Text preview for : Widget_Servo_Functional_Objective.pdf part of apple Widget Servo Functional Objective apple disk widget Widget_Servo_Functional_Objective.pdf



Back to : Widget_Servo_Functional_O | Home

WIDGET SERVO FUNCTIONAL OBJECTIVE




I. BASIC SERVO FUNCTIONS

Widget servo-control functions are handled by a Z8 microprocessor. The
Z8 handles all I/O operations, timing operations and communication with a
host controller. Control functions to the Z8 Servo Controller are made
through the serial I/O.

The following commands for the Widget servo are:

A. HOME - not detented, heads off data zones located at the inner stop.

B. RECAL - detented at one of two positions.

1. FORMAT RECAL: 32, -0, +3 tracks from HOME use only during data
formatting.

2. RECAL: 72, -0, +3 tracks from HOME use to initialize home pOSi-
tion after power on or following an access or any other error.

c. SEEK - coarse track positioning of data head to any desired track
location.

D. TRACK FOLLOWING - heads are detented on a specific track location and
the device is ready for another command.

E. OFFSET - controlled microstepping of fine position system during
TRACK FOLLOWING (two modes).

1. COMMAND OFFSET - direction and amount of offset is specified to
the servo.

2. AUTO OFFSET - command allows the servo to automatically move off
track by the amount indicated by the embedded servo signal on the
data surface (disk).

F. STATUS - command can read servo status.

G. DIAGNOSTIC - not implemented.

See Table 1 for the actual command description. With the present com-
mand structure a SEEK COMMAND can be augmented with an OFFSET COMMAND.
Upon completion of a seek, the offset command bit is tested to determine
if an offset will occur following a seek (either auto or command offset).
When a SERVO ERROR occurs the Z8 SERVO will attempt to do a short RECAL
(ERROR RECAL). Two attempts are made by the system to do the ERROR RECAL
function. If either of the two RECAL operations t'erminate successfully
D




the protocol status will be SERVO READY, SIO READY and SERVO ERROR.
Should the ERROR RECAL fail then the system will complete the error
recovery by a HOME function.

The two OFFSET commands will be described. First COMMAND OFFSET is a pre-
determined amount of microstepping of the fine position servo. Included
in the OFFSET BYTE (STATREG) bit B6=0 is a COMMAND OFFSET. Bit B7=1 is a
~~rd offset step (toward the spindle); B7=O is a reverse step_ In the
~~it B6=1 the OFFSET command is AUTO OFFSET.

AUTO OFFSET command normally occurs during a write operation. When the
HDA was initially forma ted at the factory special encoded servo data was
written on each track "near" the index zone. The reason for this follows:


Normal coarse and fine position information for the position servos is
derived from an optical signal relative to the actual data head-track
location. Over a period of time the relative position (opti~al signal)
will not be aligned to the absolute head-track position by some unknown
amount (less than 100 uIn). This small change is important for reliabil-
ity during the write operation. Write/Read reliability can be degraded
due to this misalignment. The special disk encoded servo signal is avail-
able to the fine position servo and will correct the difference between
the relative position signal of the optics and the absolute head to track'
position under the data head only at index time. The correction signal
can be held indefinitely or updated (if desired at each index time) or
until a new OFFSET command or move command (SEEK or RECAL) occurs.


II. COMMUNICATION FUNCTIONS

The servo functions described in the previous section only occur when the
servo Z8 microprocessor is in the communication state. Communication
states. occur immediately after a system reset, upon completing head set-
ting after a recal, seek, offset, read servo status or set servo diag-
nostic. A special communication state exists after a servo error has
occurred. If + S10 READY is not active no communication can exist between
the external controller and the servo Z8 processor.

Servo commands are. serial bits grouped as five separate bytes total. Re-
fer to Table 1 parts I through V as the total communication string. First
byte is the command byte (i.e. seek, read status, recal, etc.). Second
byte is the low order difference for a seek (i.e. Byte 2 = $OA is a ten
track seek). Third byte is the offset byte (AUTO or COMMAND OFFSET and
the magnitude/direction for command offset). Fourth byte is the status
and diagnostic byte (use for reading internal servo status or setting
diagnostic commands). Byte five is the check sum byte used to check ver-
ify that the first four bytes were correctly transmitted (communication
error checking).
Part of the communication function requires a specific protocol between
the servo Z8 processor and the external controller.

Servo control and communication are described in CHART I. This chart
illustrates the basic sequencing and control operations. Chart I does
not illustrate the servo error handling or command/protocol handling
functions. Error handling is described in Section IV and illustrated by
CHART II.


III. Z8 SERVO PROTOCOL

The protocol between the Z8 SERVO microcomputer and the CONTROLLER is
based on five I/O lines .;) Two of the I/O lines are serial input (to za
servo from controller )~~;~~rial output (from Z8 servo to controller). i(Jt>ata
.~



stream between the Z8 servo and controller is 8 bi.it <4C~.II with no parity
bit (the fifth byte of the command string contain~;'fC!h.eck sum byte use~for
error checking). There are three additional output lines between the Z8
servo used as control lines to the controller. CombiniJ;lg the two serial
I/O lines and the three unidirectional port lines generates the bases of
the protocol between the Z8 servo and controller. The important opera-
tions between the Z8 servo and controller are:

1. Send commands to Z8 servo.

2. Read Z8 servo status.

3. Check validity of all four command bytes.

4. I/O timing signals between the Z8 servo and controller.

5. Z8 servo reset.

Sequencing the Z8 servo controller is an important process following a
Power Up (Power On Reset) or
if the controller should issue a Z8 Servo
Reset at any time. After a Z8 Servo Reset is inhibited the Z8 I/O ports
and internal register are initialized. This takes approximately 75 msec
after the Z8 Servo Reset is inhibited. The protocol baup. rate is auto-
matically set to 19.2KB and then the system is parked at:!llOME position
and SIO READY is set active. ***IMPORTANT***. If the desired baud rate
needs to be increased to 57.6KBj **after a Z8 Servo Reset is the ()NLY
time this can be done***. Once set to 57.6KB the communication r~re
mains at 57.6KB until a Z8 SerVo Reset occurs. Set,ting 57.6KB is achieved
as follows:

1. Z8 Servo I1Power On or Controller" Reset

2. Wait for SIO Ready

3. Send a READ STATUS COMMAND as follows:

BYTE 1 =$ 00
BYTE 2 = $ 00
BYTE 3 =$ 00
BYTE 4 = $ 87
/"."""'---")
Af er the ompletion of transmitting the bytes, the Z8 Servo Controller
to 57.6KB and will be waiting for the next transmitted command


Before the controller transmits the command byte the controller must pole
the SIO READY line from the Z8 servo to determine if it is active (+5
volts). If the line is active then a command can be transmitted to the
ZS'servo. The program in the ZS servo will determine what to do with the
command bytes (depending upon the current status of the ZS servo). After
the command (five bytes long) has been transmitted to the Z8 servo, the
program in the Z8 servo will determine if the command bytes (first four
bytes) are in error by evaluating the check sum byte (fifth byte trans-
mitted). See table Chart III and IV for the error handling. After the
controller has transmitted the last serial string it must wait 250 usec
then test for SERVO ERROR active (+5 volts). If SERVOiERRoR is active the
command was rejected (check sum error or invalid command). If the SERVO
ERROR is set active 600~sec after the comman~_~~ sent (and not 250 sec),
this was a command reject. The SERVO ERROR must be cleared by READ
STATUS COMMAND or RECAL COMMAND before transDii'tting another command.
See CHART 1 for time diagram. of the command sequence and I/O protocol.

As long as SIO READY is active the controller can communicate with the Z8
Servo Controller. If SERVO READY is not
active the only command that will
cause the Widget Servo to set SERVO Ri.ADY active is a RECAL COMMAND (NOR-
MAL or FORMAT). Read Status will oiiiy clear SERVO ERROR. And all other
commands will be rejected.

Next, if: SERVO READY is active and SERVO ERROR is also active, SERVO
ERROR can be cleared by:

1. Any READ STATUS COMMAND.

2. AnyRECAL COMMAND.

3. Any other commands will be rejected and maintain SERVO ERROR.

If a SEEK COMMAND is transmitted with both SERVO READY and SERVO ERROR
active the command will be rejected.

It is important to check the status of all three status lines from the
ZS Servo. It is best to avoid sending a SEEK COMMAND with SERVO READY
and SERVO ERROR active.

Chart V parts A-I illustrate some of the serial communication commands
arid error conditions that can occur between the controller and Z8 SERVO.


IV. ERROR HANDLING

SERVO ERROR will be generated during the following conditions:

1. During Recal mode (velocity control only) access time-out.lf a Recal
function exceeds 150 msec then an access timeout occurs.
2. During Seek mode (velocity control only) access time-out. If a Seek
function exceeds 150~msec then an access time-out occurs.

3. During Settling mode (following a Recal, Seek, or Offset) if there:'!1:,,//
is;/
excessive On Track pulses (3 crossings) indicating excessive head ~/
motion a Settling error check will occur.

4. During a command transmission if a communication error occurs (check
sum. error).

5. During a command tansmission if a invalid command is sent.




/
APPENDIX A:



I. The purpose of the FINE POSITION SERVO is to maintain detent or lock on
a given data track. Any misregistrations of the head/arm due to windage,
mechanical observed by the optics position signal are corrected by the
close loop position servo. Misregistrations at the data head relative to
the actual data track on the disk must be corrected by the AUTO OFFSET
command. Figure I illustrates a block diagram of the Widget FINE POSI-
TION SERVO. The amount of misregistration at the data track sensed after
a AUTO OFFSET command are summed into the servo and the servo is automat-
ically repositioned over the data track.

II. The COARSJ POSITION SERVO (SEEK) has the function of moving the data
head arbi~~ily from a current track to any other arbitrary track loca-
tion within the total number of track locations between the inner to
outer crash stops. When a. command is transmitted to the Z8 Servo con-
troller, the Z8 decodes and interprets the command into a servo function.
If a SEEK command is sent to the Z8 Servo Controller a direction and
number of tracks to move is also sent. The system starts its move to the
new track location. When. the arm has moved to its new location the Z8
Servo Controller provides control and delay necessary to allow the data
head and the FINE POSITION SERVO to come to rest immediately following a
SEEK.. This insures that motion in FINE POSITION SERVO and data head will
be under control when the READ/WRITE channel begins operation. Reliabil-
ity of the data channel is assured with high margins. Figure I illustrates
a block diagram of the Widget COARSE POSITION SERVO.

The differences between the FINE POSITION SERVO and the COARSE POSITION
SERVO is/handled by the Z8 Servo Controller. The two servos share for
the most part the same set of electronics. The Z8 Servo Controller and
analog multiplexers switch between the signal paths. In general there
are some circuits that are not shared because of their uniqueness for a
particular servo.
APPENDIX B:



An important part of the Widget Servo System is the optics signa~~ The optics
signals provide, the necessary signals for the fiGe position servol\~osition the
data head accurately over the data track and to provide the system velocity
;s i g 118 1 during seek mode. The alignment of the optics signal is described in
the following section on "WIDGET OPTICS ALIGNMENT PROCEDURE."
WIDGET SERVO

VARIOUS KEY WAVEFORMS




CONTENTS

Page 1 Optics Adjustment
Page 2 Current Sense and Position A
Page 3 Current Sense and Position A (Forward and Rev Seeks)
Page 4 Velocity and Position A
Page 5 Velocity and Position A (Forward and Rev Seeks)
Page 6 DAC Output and Position A
Page 7 DAC Output and Position A (Forward and Rev Seeks)
Page 8 Curve Shift Function and Position A ( 1 track seek)
Page 9 Curve .Shift Function and Position A (60 track seek)
'vAVEFOID1: Optics Adjustment



Scope Adjustments:

Channel Probe Tip Test Point Notes

Chan 1 Position A TP9 2V/div
Chan 2 Position B TP~ 2V/div
Trig In Not used

Horiz X-Y Mode

Servo:
Alternate Seeks, 512 tracks

Press Z; 82, 0, 0, 0
86, 0, 0, 0




PAGE 1
"WA~EFORH: Current Sense and Position A



Scope Adjustments:

Channel 1!robe Tip Test Point Notes

Chan 1 Current Sense TP19 5V/div
Chan 2 Position A TP9 SV/div
Trig In Access Mode TP27 Positive trig, Ext/IO

Horiz: Sms/Div Calibrated


I Servo:

Alternate Seek~, 96 tracks (Hex $60)

Press Z; 80, 60, 0, 0
84, 60, 0, 0




i-

t
1-- ____ I
_




PAGE :l
WAVEFORM: Current Sense and Position A
(Forward and Reverse Seeks)


Scope Adjustments:

Channel Probe Tip Test Point Notes

Chan 1 Current Sense TPl9 5V/div
Chan 2 Position A TP9 5V/div
Trig In Acces s tvlode TP27 Positive trig, Ext/lO

Horiz: 2ms/Div Uncalibrated


Servo:

Alternate Seeks, 96 tracks (Hex $60)

Press Z; 80, 60,. 0, a
84, 60, 0, 0




: I
I -
- !
~-




PAGE 3
WAVEFORM: Velocity and Position A



Scope Adjustments:

Channel Probe Tip Test Point Notes

Chan 1 Velocity TP7 2V/div
Chan 2 Position A TP9 5V/div
Trig In Access Mode TP27 Positive trig, Ext/IO
Horiz: 5ms/Div Calibrated


Servo:

Alternate Seeks, 96 tracks (Hex $60)

Press Z; 80) 60, 0) 0
84, 60, 0, 0




I

100,




~O- -It
L
,---~I riII
,

i
I
"
a
I
', ..
'
u
~ - .. . .. .
,
~~

-
...

~!II
. ..... ...... .. .... . .... . ... '1i
I
~ t

ll