There is an ADC slave device working under Windows NT40 SP6a.
Few channels, each channel has its own FIFO inside; IRQ is generated
for each channel after its FIFO is filled up with data.
Supposed, we have 2 channels working.
If the frequency rates of both channels differs a lot - everything
goes right. Interrupt from 1st channel, some time later - interrupt from
the 2nd one.
But, when the frequency rate is the same - interrupts overload the ISR&DPC
and it then stucks there… I mean there is an IRQ from the first 1st
channel and right after (the same number) IRQ from the second one.
Does anybody know how to manage such a situation ?
Thanx in advance.
P.S. Some hardware fixes can be done on ADC (if it need ones)
–
Best regards,
Dmitry Potapenko mailto:xxxxx@jeo.ru
I don’t understand well your description. Have both IRQ’s the same IRQL?
One measure I would try is that when either IRQ kicks in I would poll each
of the two sources, and if there is data disable their IRQ request and I would
launch the corresponding DPC.
At 12:52 PM 8/14/2003, you wrote:
There is an ADC slave device working under Windows NT40 SP6a.
Few channels, each channel has its own FIFO inside; IRQ is generated
for each channel after its FIFO is filled up with data.
Supposed, we have 2 channels working.
If the frequency rates of both channels differs a lot - everything
goes right. Interrupt from 1st channel, some time later - interrupt from
the 2nd one.
But, when the frequency rate is the same - interrupts overload the ISR&DPC
and it then stucks there… I mean there is an IRQ from the first 1st
channel and right after (the same number) IRQ from the second one.
Does anybody know how to manage such a situation ?
Thanx in advance.
P.S. Some hardware fixes can be done on ADC (if it need ones)
–
Best regards,
Dmitry Potapenko mailto:xxxxx@jeo.ru
George Blat
NT with real time performance
8016 188th SW, Edmonds, WA 98026
phone: 425-775-7475
fax: 781-998-5940
mailto:xxxxx@ntrealtime.com
> I don’t understand well your description. Have both IRQ’s the same IRQL?
The same number like IRQ11 (only one IRQ per device, not per channel)
One measure I would try is that when either IRQ kicks in I would poll each
of the two sources, and if there is data disable their IRQ request and I > would launch the corresponding DPC.
Do you mean to have a DPC per each channel and do all the work for data
read in DPC ?
–
Best regards,
Dmitry Potapenko mailto:xxxxx@jeo.ru