[Date Prev][Date Next] [Chronological] [Thread] [Top]

[rtl] Stability Problems while generating 1KHz signals



Dear List reader,

I found RTlinux on the net, and tried to generate rectangle signals with it for
a stepper motor. I use a periodic scheduled task, very similar to the
parallel/sched_toggle.c.

But somtimes the stepper motor loses some steps, and an overlay of the signal
produced on an oszillosskope shows irregularities in the signal (a shift of one
to five periods).

We used a rather slow machine (for todays measures), a petium 66.

processor       : 0
cpu             : 586
model           : Pentium 60/66
vendor_id       : GenuineIntel
stepping        : 7
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : yes
fpu             : yes
fpu_exception   : yes
cpuid           : yes
wp              : yes
flags           : fpu vme de pse tsc msr mce cx8
bogomips        : 26.52

On a faster pentium (166) we see no problems. Has anybody an idea where this
delays are comming from ?
(delays accessing the LPT port through the pci/isa bus, reloading of
primary/secondary level caches...)

The rtl_sched uses the timer interrupt, which is also used by linux. Is this a
problem or is this known to be save, even if other (non real time) interrupts
from other devices (network,scsi) are pending ? Or could there be problems with
accessing the Hardware timers (oneshot mode...)?

I tried to uses rt_get_time() in the task, to compute the min and max
difference between two invocations - the numbers on the 166 MHz are approx: 480
min, 520 max.

On the 66 MHz they are: ~28 min, up to 6500 max !

The used scheduling period is 500.

If you are interested in more debugging, please let me know what to do.

Thanks for any help/ideas.

Greetings

   Hermann

-- 
	Hermann Lauer

Bildverarbeitungsgruppe des Interdiziplinaeren Zentrums fuer
wissenschaftliches Rechnen, Universitaet Heidelberg
INF 368; 69120 Heidelberg; Tel: (06221)548826  Fax: (06221)548850
Email: Hermann.Lauer@iwr.uni-heidelberg.de

--- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail majordomo@rtlinux.cs.nmt.edu OR
echo "unsubscribe rtl <Your_email>" | mail majordomo@rtlinux.cs.nmt.edu
----
For more information on Real-Time Linux see:
http://www.rtlinux.org/~rtlinux/