On Sun, Jul 26, 2015 at 08:26:25AM -0400, Gene Heskett wrote
The jitter is, for some folks minor enough they do not
notice it. It is
however, there. Those of us doing CNC machinery control are very aware
of it, primarily because when moving steppers at a decent rpm, excessive
jitter costs us considerable in motion speed. Stepper torque about 3 or
4 hundred rpm depends hugely on having the step signals at a steady
rate.
USB by itelf is not to blame here, the way it is used to deliver
these stepper signals is. After all USB can transmit 64 streams of
48 kHz audio samples (e.g. RME MADI-USB) reliably. This requires
some HW buffering of course, but so what ?
If you try to exactly control the timing of pulses by controlling
the time they are actually sent by the SW then of course this will
fail. You need an approach similar to how audio is transmitted over
USB.
It would be quite easy to use a standard audio interface to do this.
Take the analog output, apply a simple first order lowpass at 3 kHz
or so (to have a controlled FR, independent of the DA converter's
filter), then convert to square wave with a classical Schmitt trigger
circuit with minimal hysteresis (a small fraction of the analog signal
range).
This way you can easily generate pulses up to 10 kHz or more and
control each edge with microsecond accuracy (provided the edges
are at least one sample period apart). All that remains is to
generate the required audio signal. Not trivial, but not rocket
science either.
Ciao,
--
FA
A world of exhaustive, reliable metadata would be an utopia.
It's also a pipe-dream, founded on self-delusion, nerd hubris
and hysterically inflated market opportunities. (Cory Doctorow)