On Fri, 26 Oct 2001, Der Herr Hofrat wrote: > > Dear people of RTL-mailing list, > > > > We at NBG-Industrial (Location Nederweert, Netherlands) are trying to sample/count >a TTL-signal with a frequency of 200 kHz > > (or as high as posssible). We use a PIO-24 card (ISA-based) to generate an >interrupt at > > each pulse. The interrupthandler in RTlinux is used to increase a counter. In a >seperate > > thread, which starts up every second, the time is measured and the frequency is >calculated. > > The precision of the frequency was measured while linux itself was heavily loaded >(compiling > > a kernel). 20 kHz is the highest frequency which can be measured without a >deviation. 25 kHz > > is still measured reasonably well(a deviation of -6 Hz once in the 200 times). But >frequencies > > above 30 kHz are measured with a deviation of minimal 10 Hz almost every >measurement (which > > is too large). Is there a way too improve this performance? For instance >optimizing core.c/core.o? > > > you could use an SMP box and run the data-sampling process on the dedicated CPU > 200KHz is posible with this setup - you can run a 200KHz task on a Celeron 400 > SMP - but I don't know if you will be happy with the jitter. Also moving to > a PCI card could improve things.
I am not as low-level as I'd like to be with respect to intel hardware (yet!) but I was wondering what the real bottleneck is in this situation. It's surprising to see that really you can't get an ISA device to interrupt the CPU reliably over 20,000 times/sec. Would you mind walking through the life of one little interrupt coming from the PIO-24 card in this scenario? > > hofrat > -- [rtl] --- > To unsubscribe: > echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR > echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED] > -- > For more information on Real-Time Linux see: > http://www.rtlinux.org/ > -- [rtl] --- To unsubscribe: echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED] -- For more information on Real-Time Linux see: http://www.rtlinux.org/
