speaking of 3.5" floppies, is 720K R.I.P.?

dwight elvey dkelvey at hotmail.com
Thu Feb 5 09:02:04 CST 2009




----------------------------------------
> Date: Wed, 4 Feb 2009 18:14:02 -0600
> From: chrise at pobox.com
> To: cctech at classiccmp.org
> CC: cctalk at classiccmp.org
> Subject: Re: speaking of 3.5" floppies, is 720K R.I.P.?
>
> On Monday (02/02/2009 at 06:40PM -0800), Chuck Guzis wrote:
>>
>> The nice thing is that the same PIC setup can also simulate hard-
>> sectored diskettes. The PICs are rated to sink/source 25 ma on any
>> I/O pin, not to excees 125 ma for all pins. A little dodgy for 150
>> ohm pullups (33 ma at 5v), but I've had no problems thus far.
>
> I have been trying to do this exact thing... simulate 10-hole hard
> sectored floppies with the 3.5" drive.
>
> I'm finding it much more difficult than I expected. It seems that the
> speed of these drives is not very constant. So, when I trigger off the
> real index pulse from the drive and then generate very accurately timed
> pulses simulating the 10 other holes, it appears that they are not lining
> up with the data some number of rotations later.
>
> The result is a high number of soft errors during read back.
>
> My simple plan was to just watch for the real index hole from the selected
> drive and then generate the synthetic ones back to the controller until
> the drive was deselected. I could see I had a timing problem which I
> initially blamed on the microcontroller's RC clock (I am using an ATMEL
> AVR instead of a PIC). So, I improved this in various increments,
> ending up with a +/- 50ppm osc can and at each increment of improving
> the stability of the clock, my soft errors INCREASED!
>
> I'm now reworking the whole design and I'm going to keep the soft sectored
> drive always selected, always motor on and continually watch the real
> index pulses and compute the instantaneous RPM. From that, I'll generate
> the pseudo index pulses which will hopefully better match the current
> speed of the drive. The pseudo pulses and all the other drive signals
> will be externally gated onto the floppy bus since I need to keep the
> emulating drive always active-- and I want to emulate two drives at the
> same time. Kind of a pain but I don't see how else to get there now.
>
> Any suggestions on what I am missing?
>
> Chris
 
Hi Chris
 I was recently looking at my Teac drive's index pulse to see how it
worked relative to the drive going ready ( the problem of trying to
find a way to recreate the /Ready signal ).
 One thing I noticed was that the leading edge of the index pulse
was as accurate as my scope could show but the trailing edge was
all over the place.
 My thinking is that the drive is controlled by a servo loop.
The leading edge is when a crystal clock says the pulse is suppose
to start and the trailing edge is when the actual edge is detected.
If one timed the length of time between the two edges, one would
then know the corrective response of the loop.
 As an example, if the pulse was long, you'd keep a similar software
wheel rotating that you apply a correction to by the amount the
pulse was long.
 It would be this internal software generated wheel that you'd use
to create the index pulses from.
 You need the code to watch the drive to determine the parameters
of the control system, gain, dampening and intertia.
 If done this way, I suspect that one could get very close to
the right index pulse spacing.
Dwight

 
_________________________________________________________________
Windows Live™: Keep your life in sync. 
http://windowslive.com/howitworks?ocid=TXT_TAGLM_WL_t1_allup_howitworks_022009


More information about the cctalk mailing list