[sebhc] hard sector substitute
leeahart at earthlink.net
Wed Jun 30 14:20:02 CDT 2004
melamy at earthlink.net wrote:
> the PLL still does not have feedback to adjust ANYTHING between
> index holes. All it can do is keep things constant until the
> next index hole which is hardly adjusting things dynamically
> during a single rotation
Oh yes it does! This is why I suggested you study up on PLLs.
A PLL consists of 3 basic parts; a VCO (voltage controlled oscillator),
a phase detector (that compares the VCO frequency to the input
frequency), and a loop filter (an RC network that determines how the
phase detector's output affects the VCO).
Suppose it is "in lock". Then the phase detector outputs say the
frequency *and phase* of the VCO and input frequencies are identical.
The phase detector output is 0 error. The loop filter converts this to a
constant DC voltage, so the VCO frequency does not change.
Suppose the input frequency changes. The phase detector immediately
outputs an error signal because the *phase* of the frequencies is
changing (it would have been constant if in lock). This rapidly changing
error signal is integrated by the loop filter to become a changing DC
voltage to steer the VCO in the direction of the frequency error.
In the case of switching between two H17 disks, the frequency of the
index pulses is the same, but the phase suddenly changes. The newly
selected drive's index pulse will occur from immediately to the full
proper time later; so the average error is 1/2 a rotation. This early
index pulse looks to the phase detector like the frequency went up. As
soon as it sees that very first pulse, the error signal goes high, and
the loop filter starts ramping up the VCO frequency.
But, we're out of phase lock. The simulated sector holes would be in the
wrong places. That's why I used the phase detector's "lock" output to
inhibit index pulses.
The VCO frequency has to increase to "catch up" with the new drive's
index hole, and then slow back down to the original frequency to achieve
lock. If you understand analog filter theory, you'll know that the loop
filter can be underdamped, overdamped, or critically damped. How you
design it determines how long it takes to achieve lock. By locking out
the simulated sector pulses, I could use an underdamped filter that
responds faster, but overshoots and has to come back to the mark.
>> the PIC could adjust it's time base on data coming from the drive
>> too so index hole position would be more accurate even during a
>> single rotation
This is true during read. The PLL could also have used the data clock
from a read. However, you also need to have it work with blank disks,
misformatted disks, or during writes.
> You still know what the optimum speed of the disk should be.
You know what is should be, but you don't know what it actually *is*.
> The task was not focused on making new floppy drives work (not
> to say that the drive itself could not be modified...).
Quite true if you are still using a "360k" 5.25" floppy drive, and just
want to be able to use it with soft-sector disks on an H17 controller.
But, if you try to use a modern 5.25" 1.2meg or 3.5" 1.44meg drive, then
the speed issue presents itself.
[Along the lines of my last post, on making all these changes in the
H8/H89's own H17 driver: You know, if we change the H17 driver software,
it *could* use modern 5.25" 1.2meg or 3.5" 1.44meg drives and disks. By
changing the H17 controller's clock frequency, it would produce
single-density data at twice the data rate; thus working with these
drives and providing quadruple the capacity!]
"Never doubt that the work of a small group of thoughtful, committed
citizens can change the world. Indeed, it's the only thing that ever
has!" -- Margaret Mead
Lee A. Hart 814 8th Ave N Sartell MN 56377 leeahart_at_earthlink.net
Delivered by the SEBHC Mailing List
More information about the Sebhc