ServoToGo supports 1 microSecond granularity




In a discussion the previous week, the subject of
timer granularity came up, and the possible requirement
for additional timer hardware, whereupon Jon suggested
a separate timer for each channel (among other improvements).

As you know, ServoToGo lists on their website the interrupt
timer on their S2G card is programmable  in 25
microsecond increments .  For the heck of it, I inquired if
that resolution could be increased, and the answer is YES:

from Don McLane <dmclane-at-ieee.org> ServoToGo Inc
"Actually, we can support micro-second resolution.  Our timer consists of
two counters in series.  The first counter divides a clock down to a 25
uSec pulse (in our software).  We just picked this, because at the time it
seemed reasonable.  But if you change the constant that you load into timer
1, then you can get shorter times.  The input to timer 1 is a 7.159 MHz
signal that is derived from the ISA bus.  We load 180 into timer 1.  You
won't get exactly 1 uSec by changing this, but you should be able to get
pretty close."

With this improvement, the start times <might> get closer to
the ideal on faster processors.  If two channels need to be processed
during the span of one interrupt (ie closer in time than say 100 or 200 uS),
then a busy wait could be implemented using the C source I previously
posted (waiting for the PentiumTimer absolute timing reference to
reach the target time).   A busy wait of this duration is of no
consequence for performance.

Doug Fortune







Date Index | Thread Index | Back to archive index | Back to Mailing List Page

Problems or questions? Contact