[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: [rtl] Stability Problems while generating 1KHz signals
Hi,
I have been facing a similar problem too. The answer lies somewhere in the
timer irq that is called every millisecond. I havent been able to nail it
down yet, but essentially, everytime the timer interrupt is called it
schedules all the bottom halfs, and due to this the interrupt
latency for the cpu rises upto the order of about 20us. (thats my take on
it.. and some people on the linux-kernel newsgroup also pointed to that
posibility).
manoj
On Tue, 6 Oct 1998, Hermann Lauer wrote:
> 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/
>
--- [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/