Lag implies that there is a delay between action (move trackball) and reaction (cursor moves), but not lost/bad data.
Backspin implies that the cursor motion does not match the trackball motion in a variety of ways -- moving backward, standing still, stuttering, or wobbling back-and-forth.
AFAIK backspin is caused by one or both of these two problems.
1.) The optical circuits are not transitioning between logic high and logic low fast enough. (old green boards)
At high speeds, they output a not-so-square waveform with relatively slow rise/fall times that reduce the amount of time the waveform is at logic high or low.
These shorter highs and lows can be difficult for the optical encoder to register.
2.) The optical encoder does not register all of the phase transitions on a rapidly changing quadrature waveform due to the encoder input sampling rate. (USB green boards)
NOTE: This is
not the same as the USB polling rate.
If the encoder sampling rate only registers every third transition, it would go backward.
Transitions - 1 2 3 4 1 2 3 4 1 2 3 4
Samples - 1 4 3 2
If the encoder sampling rate only registers every second transition, it would probably stand still because the encoder can't tell if it is going right or left.
Transitions - 1 2 3 4 1 2 3 4 1 2 3 4
Samples - 1 3 1 3 1 3
The way to avoid this problem is to use an encoder with a sampling rate that is double the
fastest possible phase transition rate.
Transitions - 1 2 3 4 1 2 3 4
Samples - 1 1 2 2 3 3 4 4 1 1 2 2 3 3 4 4
Scott
EDIT: Had to replace the picture showing square wave rounding due to high frequency roll off.