改写testcap的例子,指定了硬件,通过DMA传送数据,DMA中断的DPC例程中启动下次DMA。在进入ISR后读一次PCI寄存器,根据结果判断是否为本设备中断,是则通过写此寄存器撤销中断,然后注册DPC。
  逻辑分析仪中看到中断的有效时间为5到20微秒。下次DMA启动在中断撤销后5到10微秒(我试了在ISR中直接调用DpcForIsr例程,这个时间大概在纳秒级,但是驱动不稳定,总是蓝屏)。  请问各位大哥大姐:5至20微秒的中断响应时间是否正常?
    若不正常需要如何修改,若正常有没有办法可以减少这段时间?
    5到10微秒的Dpc调用时间是否正常,如何缩短?

解决方案 »

  1.   

    WindowsNT/2000/XP作为多任务、非实时操作系统,其中断响应时间是5ms。Windows9x/Me 则更长。
      

  2.   

    DPC的调度是由系统决定的,而且DPC的优先级在内核属于较低的,所以你使用它来进行动作,实时性肯定是不高的。如果想再提高响应速度可能需要用其他模型,在这方面我并不熟悉,帮不上忙了。
      

  3.   

    多谢楼上指点,不过重新使用新模型恐怕不现实了。
    我是新手,很久了才糊弄着有个样子了,推到重做的话,boss要爆发的