K
Keith
Guest
Hi,
I'm working on a project that will receive an MFM encoded signal from an
external amiga floppy drive and convert the Transitions and No-transitions
to 1's and 0's(or 0's and 1's, it doesn't matter, I can invert at will in
software). The signal is normally high, 5v. No-transition bits are easy to
detect because the signal is a full 5v for the entire duration of the
sampling period. The transition bits are tougher because it drops to 0v,
and then slowly increases across the duration of the bitcell, eventually
reaching 5v.
If you look at www.techtravels.org/oscopeamigafloppy.jpg you'll get a better
idea of what I'm dealing with. Disregard the top trace on each of the four,
look at the bottom trace, which is CH1. Top left pictures shows
transition(slightly chopped off), no transition, transition, no transition,
etc.
The transitions drop straight down to 0v, and stays there for about 390ns,
and then proceeds to ramp up to 5v. Total bitcell width is 2us.
What I need is some sort of component that will keep the signal at 0v for
the entire(or most, or >640ns
) bitcell width. The best I've come up
with is to use a D-flip/flop which does square things up, because anything
less than .3*5=1.5v is seen as a zero, and anything above goes to 5v only.
This works ok, and brings to the total "0v-time" to about 640ns.
Since I have to recover my clock from data, I will be constantly re-syncing
my clock. This is a good thing, but I'm not sure how reliable my method is
going to be. This means that the wider my transition 0v bit is, the less I
have to worry about having a perfect clock. Obviously, with the current
setup, I have to sample in the first third(640/2000) of the cell. Sampling
too early gets me the bit before, and sampling after will give me an
incorrect 5v 1-bit.
Thanks!
Keith
I'm working on a project that will receive an MFM encoded signal from an
external amiga floppy drive and convert the Transitions and No-transitions
to 1's and 0's(or 0's and 1's, it doesn't matter, I can invert at will in
software). The signal is normally high, 5v. No-transition bits are easy to
detect because the signal is a full 5v for the entire duration of the
sampling period. The transition bits are tougher because it drops to 0v,
and then slowly increases across the duration of the bitcell, eventually
reaching 5v.
If you look at www.techtravels.org/oscopeamigafloppy.jpg you'll get a better
idea of what I'm dealing with. Disregard the top trace on each of the four,
look at the bottom trace, which is CH1. Top left pictures shows
transition(slightly chopped off), no transition, transition, no transition,
etc.
The transitions drop straight down to 0v, and stays there for about 390ns,
and then proceeds to ramp up to 5v. Total bitcell width is 2us.
What I need is some sort of component that will keep the signal at 0v for
the entire(or most, or >640ns
with is to use a D-flip/flop which does square things up, because anything
less than .3*5=1.5v is seen as a zero, and anything above goes to 5v only.
This works ok, and brings to the total "0v-time" to about 640ns.
Since I have to recover my clock from data, I will be constantly re-syncing
my clock. This is a good thing, but I'm not sure how reliable my method is
going to be. This means that the wider my transition 0v bit is, the less I
have to worry about having a perfect clock. Obviously, with the current
setup, I have to sample in the first third(640/2000) of the cell. Sampling
too early gets me the bit before, and sampling after will give me an
incorrect 5v 1-bit.
Thanks!
Keith