On Fri, Oct 26, 2001 at 08:32:22AM +0100, Erwin Triepels 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?
Each isa bus transaction has a minimal hardware cost of about 1.5 microseconds. Also you may have some costs based on even reading the timer which can take 15 microseconds from the 8253. High frequency RTL operation needs on-chip timers and interrupt controllers. 100Khz allows 10microseconds per interrupt - impossible on a single x86/8259 - might be doable on a PowerPC. I'd also try a synchronous design on a dual x86 reserving on cpu for RTL and running a polling process on the reserved cpu. But isa devices are very bad things and should not even be considered in high speed systems. -- [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/
