6602: Rising edge capturing hardware interrupt

I have this signal in input:
I have to do something on rising edge as soon as possible.
My idea is to receive an hw interrupt from the board, and to write an isr soubroutine.
I read about callback function so i write some code.
But when i call:
    DAQmxErrChk ( DAQmxCfgChangeDetectionTiming ( udpTaskHandle,
                                                  "Dev1/Ctr0",
                                                  "Dev1/Ctr0",
                                                  DAQmx_Val_ContSamps,
                                                  1));
I have an error for the ctr0, it seems i can use onli the port0.
Now my question.... is there on port0 a software thread that read continuosly the value of the pins?
Or is there an hardware interrupt anyway ?
I think that a software thread has a big latency for me, at this point don't need the 6602 board,
i could read  the signal on LPT standard port.
Thank you for the answer.
There are 10 kinds of people. Those who understand binary notation, and those who do not.
Solved!
Go to Solution.

Sorry if it's passed a long time, i tryed to do as you suggested, but if i set  DAQmx_Val_HWTimedSinglePoint how can i have a continuos acquisition?
that's my code, it seems that thecallback function is called only once.
#include <stdio.h>
#include <NIDAQmx.h>
#define DAQmxErrChk(functionCall) if( DAQmxFailed(error=(functionCall)) ) goto Error; else
int32 CVICALLBACK TriggerDetectionCallback(TaskHandle taskHandle, int32 signalID, void *callbackData);
void Cleanup (void);
static TaskHandle  taskHandle=0;
int main(void)
    int         error=0;
    int32       read;
    uInt32      data[1000];
    char        errBuff[2048]={'\0'};
    // DAQmx Configure Code
    DAQmxErrChk (DAQmxCreateTask("",&taskHandle));
    DAQmxErrChk (DAQmxCreateCICountEdgesChan(taskHandle,
                                             "Dev1/ctr1",
                                             DAQmx_Val_Rising,
                                             0,
                                             DAQmx_Val_CountUp));
    DAQmxErrChk (DAQmxCfgSampClkTiming(taskHandle,
                                       "/Dev1/PFI35",
                                       1000.0,
                                       DAQmx_Val_Rising,
                                       DAQmx_Val_HWTimedSinglePoint ,
                                       1000));
    DAQmxErrChk (DAQmxRegisterSignalEvent(taskHandle,
                                          DAQmx_Val_SampleClock ,
                                          0,
                                          TriggerDetectionCallback,
                                          NULL)
    // DAQmx Start Code
    DAQmxErrChk (DAQmxStartTask(taskHandle));
    printf("Continuously reading. Press Ctrl+C to interrupt\n");
    while( 1 ) {
Error:
    puts("");
    if( DAQmxFailed(error) )
        DAQmxGetExtendedErrorInfo(errBuff,2048);
    if( taskHandle!=0 ) {
        // DAQmx Stop Code
        DAQmxStopTask(taskHandle);
        DAQmxClearTask(taskHandle);
    if( DAQmxFailed(error) )
        printf("DAQmx Error: %s\n",errBuff);
    printf("End of program, press Enter key to quit\n");
    getchar();
    return 0;
int32 CVICALLBACK TriggerDetectionCallback(TaskHandle taskHandle, int32 signalID, void *callbackData)
    int32   error=0;
    uInt32  data[200]={0};
    int32   numRead;
    uInt32  i=0;
    char    errBuff[2048]={'\0'};
    static int count =0;
    count++;
    printf("\n\n%d", count);
    if( taskHandle ) {
        // DAQmx Read Code
        DAQmxErrChk (DAQmxReadCounterU32(taskHandle,1000,10.0,data,1000,&numRead,NULL));
        printf("\n%d",data);
    return 0;
Error:
    if( DAQmxFailed(error) )
        DAQmxGetExtendedErrorInfo(errBuff,2048);
        Cleanup();
        printf("DAQmx Error: %s\n",errBuff);
    return 0;
void Cleanup (void)
    if( taskHandle!=0 )
        // DAQmx Stop Code
        DAQmxStopTask(taskHandle);
        DAQmxClearTask(taskHandle);
        taskHandle = 0;
Message Edited by blacksocket on 30-03-2010 03:56 PM
There are 10 kinds of people. Those who understand binary notation, and those who do not.

Similar Messages

  • How can I use the pulse train from a 6602 to trigger an niFGEN and niSCOPE on each rising edge of the pulse train?

    Hello,
    Here is my application: I need to use a 6602 counter/timer to generate a pulse train of certain frequency and duty cycle. On each rising edge of this pulse train, I need to output an arbitrary waveform on Ch. 0 of an niFGEN (5422) AND acquire data from CH. 0 of an niSCOPE (5124). I also need to synchronize the niFGEN and the niSCOPE to the same clock used for the pulse train (6602/ctr0). This process needs to continue until the user stops the system.
    I can generate the pulse train using the 6602 just fine using ctr0, but the pulse train shows up on OUT0 by default. When setting up the niFGEN and niSCOPE to trigger on rising/positive slope edge, OUT0 is not an option for either device as a source for the digital rising edge (pulse train). The main options for both are PFI0-3 and RTSI lines.
    Questions:
    1.) Is there a way that I can direct the pulse train to a location (such as an RTSI line) where BOTH the niFGEN and the niSCOPE can use it as a start trigger for each rising edge? I noticed in MAX that a route can be made between ctr0's internal output and a trigger line and others. If this is a solution, could you please explain how to accomplish this?
    2.) Once I configure the niFGEN and niSCOPE to be triggered on a digital rising edge, how can I effectively have this happen for every rising edge from the pulse train? In other words, can I just initiate the FGEN outside of the while loop and it will generate a waveform for each rising edge it sees at the source until the while loop is exitted?
    3.) Is setting a reference clock for the niFGEN and the niSCOPE the same thing as synchronizing both devices using the same clock that generated the pulse train? It is not clear to me the difference, and why it would necessarily be useful.
    Images of my current front panel and block diagram are attached. If you would rather have the actual VI's just let me know. Any help and/or explanation on this is greatly appreciated. Thanks in advance.
    Attachments:
    Front_Panel_Control.jpg ‏278 KB
    Block_Diagram_Control.jpg ‏263 KB

    Hello Cgifford,
    Welcome to National Instruments Forums.
    To output your signal to the PFI lines,
    you can use external connectios between OUT0 and PFI lines. You can also use
    the backplane to do so by routing into the same RTSI line.
    1)
    On the SCOPE and FGEN, the name of the
    terminals are actually “PXI Trigger Line x/RTSIx” but on the 6602 you might
    need to route the signal using the property:
    You can also use the DAQmx route signal which perform the same opperation.
    2)
    This will depend on the frequency of
    your pulse train. If this is lower than about 10 ms, then you can probably
    place this on a loop and start and stop the acquisition every time. If the
    frequency is higher than this, you will have to use:
    -       Scripting on the FGEN side (read more)
    -       MultiRecord Fetch (more information in the scope help file
    section “Acquisition Functions Reading versus Fetching”).
    3)
    The short answer is yes. The longer one
    might depend on how tight you need the synchronization to be (us, ns, ps). For
    very tight synchronization, you should look into here.
    Message Edited by Yardov on 06-18-2007 03:14 PM
    Gerardo O.
    RF Systems Engineering
    National Instruments
    Attachments:
    property.JPG ‏7 KB

  • How do I perform a trigger that collect the data for every rising edge continuously and then automatically put the data in a .xls file??

    I need to collect the data for every rising edge a trigger perfoms. So far I could collect the data but it seems that it only collect the data in the start of triggering, but not continuously. I also want to put the data in an excel spreadsheet and automatically add new set of data when the next rising edge occur. Please help.
    thanks a lot.

    LabWindows/CVI actually ships with a comprehensive set of examples for just about every area of programming you can use it in, including triggered analog data acquisition and ActiveX control of Microsoft Excel for data logging. Go to the following two directories on your computer to find respective examples for the two areas you are inquiring about:
    1) C:\MeasurementStudio\CVI\samples\DAQ\Ai\DAQsingleBufExtTrig.PRJ
    2) C:\MeasurementStudio\CVI\samples\activex\excel\excel2000dem.prj
    Just make sure to study the examples carefully so that you fully understand the processes followed for triggered analog acquisition and the process of launching an ActiveX automation server for control, and then you should be able to merge the concepts shown in both of the example
    s to make the application you desire.
    Jason F.
    Applications Engineer
    National Instruments
    www.ni.com/ask

  • MSI 945GCM5-F V2 FSB 1333 / hardware interrupts

    I struggle bigtime with hardware interrupts on this MB.
    On the MB i got a Samsung spinpoint 320GB sata2 disk, a standard dualcore intel and 2GB corsair RAM
    Latest BIOS.
    Tried to update drivers for everything, the disk is running with DMA (UDMA5)
    I ran out of ideas, so I'm hoping someone have a few?
    When it happens always core#0 uses 90-100% cpu and it lags/freezes the computer in a different way than if I use almost 100% load on a task.
    I'm suspecting the MB, since it don't have much connected to it.....

    Quote
    On the PCI-slot I think it says 200, but it's hard to see.
    I asked for the ERP number, because there are quite a few boards with the model number MS-7267.  The ERP number is one possible way to keep them appart.  If the ERP number of you board is in fact 200 you have the right BIOS (If it was 170, BIOS v17.7 [=vH.7] would be the wrong one):
    Quote
    601-7267-010 BIOS version 1.x = 945GZM3-L
    601-7267-020 BIOS version 3.x = 945GZM3-L
    601-7267-030 BIOS version 5.x = 945GM3-F
    601-7267-070 BIOS version 7.x = 945GM4-FI
    601-7267-080 BIOS version 9.x = 945GCM5-F
    601-7267-100 BIOS version 9.x = 945GM5-F
    601-7267-110 BIOS version 9.x = 945GZM5-F
    601-7267-130 BIOS version B.x = 945GZM6-LV
    601-7267-140 BIOS version D.x = 945GZM6-L
    601-7267-150 BIOS version C.x = 945GZM6-F
    601-7267-160 BIOS version E.x = 945GCM5-L V2
    601-7267-170 BIOS version F.x = 945GCM5-F V2
    601-7267-190 BIOS version G.x = 945GCM5-L V2
    601-7267-200 BIOS version H.x = 945GCM5-F V2
    Quote
    PSU: NorthQ 4001EXT, Silent ATX 400W, 140mm Fan, 12-17dBA, 2xSATA, PCI-E, 20/24pin
    Quote from: AaronYuri on 14-July-08, 21:27:44
    Just 15A on the +12v rail? Try with a better PSU.
    Considering the fact, that he uses the onboard graphics chip with just an E2200, one HDD and one ODD connected to the board, 15A @12V may be just enough to power this configuration.  Of course, the question is always if a given PSU really holds what it promises on the PSU sticker.  Even for a 400W device, 15A is not a whole lot (a 450W Corsair PSU for example has a 33A-Limit).  The PSU is not my first suspicion in your case, but I agree to AaronJuri, that NorthQ Device looks weak enough to consider testing a better one just to rule out the possibility that your problem is in any way PSU related.
    asdfsdf, a couple of more question and suggestions:
    Questions:
    -What OS are you using? 
    -Is that fresh installation of the OS or is it taken from another system?
    -Did you update the BIOS yourself at any point, and if you did, how did you do it and did you clear CMOS with main A/C power cable removed from PSU after the flash? 
    -Are (IO)APIC and ACPI enabled in BIOS?
    Suggestions:
    1. Clear CMOS with main A/C power cable removed from PSU and load "Optimized Defaults" in BIOS after restarting your system.
    --> Test if the problem still occurs. If it does, do this:
    2. Unplug your SATA Optical Drive from both PSU & board, remove all USB Devices and Disable the following peripherals in BIOS:
    - USB Controller & USB Legacy Support (Use PS2 Keyboard & Mouse for testing
    - OnBoard LAN Controller
    - HD Audio Controller
    - LAN Option ROM
    - OnBoard IDE Controller
    - OnBoard Floppy Controller
    - COM Port & Parallel Port
    - Intel EIST
    - Spread Spectrum
    - Auto Disable DIMM/PCI Frequency
    Retest and see if there are any changes.  If the lags disappear, re-enable each Device/function in BIOS (one by one) to find out, which one causes the problem.

  • How can i get the every rising edge's time value with usb 6212 counter continues acquisition

    i have a usb 6212,and now i can get every pluse 'period ,frequency。 
    i want to know how to get the every rising edge's time point value by DAQmx Counter.
    thx

    As you already know YouTube doesn't play in the background, that's why I wasted my time trying to give you an alternative.

  • Using ioctl to wait for hardware interrupt in user space in Petalinux

    I have a custom Network device driver for a device that generates two hardware interrupts, one every 20 ms and another every second. I have a separate interrupt handler registered for each interrupt. Each interrupt handler does nothing more than call "up" on a semaphore. There is a different semaphore associated with each interrupt.
    I want a user-space program to be notified when the interrupt occurs, so I have an ioctl defined with two commands. One is a command to wait for the 20 ms  interrupt and the other is a command to wait for the 1 second interrupt. In each case, the ioctl routine simply calls down_interruptible on the corresonding semaphore (the same semaphore modified by the interrupt handlers).
    In my user-space program, I create two pthreads. Each has an infinite loop to call each of the two ioctls described above.
    I am seeing that the user-space thread that waits for the 1 second interrupt is going to sleep and seems to be blocking the overall process. When the 1 second interrupt comes in, the thread wakes up and, in the process of handling the interrupt, allows the other thread to be tasked. The result is that exactly one 20 ms interrupt is handled each second, whenever a 1 second interrupt fires.
    I have tried enabling the O_NONBLOCK mode on the socket, but this did not make any difference. I'm not sure how to allow the second thread to continue to run, even while the first thread is asleep. Seems like this is the whole point of using pthreads.
    Any help would be appreciated.

    So, the issue was that I was trying to implement the ioctl in a network device. When you call ioctl on a socket, it apparently blocks the process until the ioctl completes.
    I implemented a character device inside my network driver and used this to handle the ioctls instead. Once I did this, I found that only the calling thread blocked on ioctl, not the entire process.

  • DASYLAB : start acquisition on rising edge during a certain period of time

    Hello,
    I would like to know how to do on Dasylab to start acquire data on rising edge and during 0.6s exactly.
    Secondly, I've a little problem with the module "Integer". I displayed an acceleration and I would like to have the speed and position with a double integer but I did'nt find how to do this on Dasylab...
    Thanks,
    Morgane Charbonneau.
    Solved!
    Go to Solution.

    Hello,
    do you know this link?
    http://digital.ni.com/public.nsf/allkb/AE0A4D71F0CD603786256D9C0075B95B?OpenDocument
    http://digital.ni.com/public.nsf/allkb/91D44FC21F0DF0CE86256BB1003F6CD9?OpenDocument
    http://digital.ni.com/public.nsf/allkb/77F973851F041E0F86256BB1003EB94C?OpenDocument
    Regards
    Samuel G. | Application Engineer Team Leader
    Certified LabVIEW Developer
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    Été de LabVIEW 2014
    12 présentations en ligne, du 30 juin au 18 juillet

  • Configure PXI-2567 to Trigger on Rising Edge using LabWindows​/CVI

    I need some help configuring the trigger edge for a PXI-2567 using Labwindows/CVI.  I have been able to successfully create and execute a scan list using both the ni-switch and daqmx APIs.  However, currently the PXI-2567 triggers on the falling edge of an input trigger.  I need to configure it to trigger on the rising edge of an input trigger.  Every function I could find in the daqmx API for configuring the trigger edge gave a non-fatal runtime error, and I could find no such functions in the ni-switch API.
    Any help configuring the input trigger edge on the PXI-2567 using Labwindows/CVI would be appreciated.
    Thanks

    Hi JonRice,
    You can configure the scan list to execute on the rising edge of an input trigger.  Here are the Labwindows/CVI and LabVIEW functions you would want to use to retrieve, specify or verify the edge of a digital signal that advances to the next entry in a scan list.
    NI-DAQmx C Property: More >> Advance >> Digital Edge >> Edge
    You can get/set/reset this property using:
    DAQmxGetDigEdgeAdvTrigEdge
    DAQmxSetDigEdgeAdvTrigEdge
    DAQmxResetDigEdgeAdvTrigEdge
    NI-SWITCH C Attribute: NISWITCH_ATTR_TRIGGER_INPUT_POLARITY
    You can get/set/check this attribute using:
    niSwitch_GetAttributeViInt32
    niSwitch_SetAttributeViInt32
    niSwitch_CheckAttributeViInt32
    NI-DAQmx LabVIEW Property: More:Advanceigital Edge:Edge
    DAQmx Trigger Property Node
    Short Name: Adv.DigEdge.Edge
    NI-SWITCH LabVIEW Property: Trigger Input Polarity
    niSwitch Property Node
    Short Name: Trigger Input Polarity
    Hope this helps!  Let me know if you have further questions.
    Chad Erickson
    Switch Product Support Engineer
    NI - USA

  • X61s Hardware Interrupt up to 40% of CPU resource

    Hello, i recently updated my harddrive of my x61s to a  seagate Momentus ST9320421ASG 7200.3 GForce - 320GB 7200rpm 16MB. After that i have done  fresh Installation with Windows XP Professional on the new drive twice!! Each time when i finish installation i begin to get a wired Hardware Interrupt with constantly eats up to 40% of my cpu resource and cuts my battery life to half. i have tried to deactived the component one after another in order to locate the problem(which componet is sending the interrupt). But i found nothing. And the interrupt does not start right away when i boot into XP. it starts sometimes later after login or start some programms like opera or Firefox browser. Does anyone has an idea about this issue? BTW, i already use the system update to get all my drivers and bios to the newst version. Thanks!
    Solved!
    Go to Solution.

    T his issue annoyed me for a long time , but final!! eventually !!! i fixed it!
    its because of the latest intel display dirver.
    so everyone just need to download an older one.

  • X200 Hardware Interrupts constantly at 40% of CPU resources

    As many other thinkpad owners I started to experience excessive "Hardware Interrupts" using between 40-45% of my CPU resources (on both cores) on my x200. Note that Task Manager will _not_ show this, you will need something like Microsoft's "Process Explorer" to show this. This started about a week ago, following a slew of updates I had been rolling in from "System Update" on my Vista x64 Business.
    I searched the Internet high and low and found many similar experiences (not only with Lenovo models, not only with Vista). Obviously, it is nearly impossible to find out what's causing this.  There is a useful tool called "KrView" by Microsoft that will display more info about which driver is causing the interrupts, but unfortunately it does not run under Vista x64.There is also an on-board Vista tool that allows you to check for unsigned drivers but that didn't seem to be the problem (all drivers were certified ok).
    Other have reported problems with their network drivers where such interrupts would occur as soon as they turn on WiFi. Some were successful by removing their installation of Deamon Tools (which I have not installed, so that didn't help).Others suggested hard disk drivers or CD-ROM driver issues.
    I thus tried to home in on the probably culprit, and found the following puzzling effect: This only occurs when my x200 is in the docking station! After a clean startup, it will be nice and idle for some time, but after some 5 minutes it will start to constantly show the 40-45% of "Hardware Interrupts." Once this happens, it almost never goes back down, even if you undock it. However, if you _start_ the system in an undocked state, the "Hardware Interrupts" do not appear!! I even tried to manually connect all the different pieces that I have attached to my docking station one by one to my undocked laptop (e.g., network cable, external keyboard and mouse, USB harddisk) - none did trigger this. But as soon as you redock your laptop, it will spike up again to its 40-50% "Hardware Interrupts".
    I _assume_ that it might be the display driver that causes this, as this is the only piece of hardware that I couldn't "test" on my standalone laptop: I use a displayport cable to connect by 24" monitor, and the x200 does not have a connector for this... I tried installing the latest Intel graphics drivers but the won't install and tell me that I must use the OEM lenovo versions. I also could not "rollback" the driver (option greyed out) and the old driver version doesn't seem to be available on the lenovo post...
    Alternatively, it might be some sort of "docking station driver" that's causing this. Although I'm not sure what this driver would be and how to update it :-(
    Any hints? (sorry, ultra-long post)

    And this is the kernrate log after I uninstalled the sata controller from control panel. No CPU load.
    I restarted the machine after removing the sata controller and it installed the controller again, it has prompted me to reboot again to finish the installation but I haven't done that yet. Until now, no high load has happened.
    C:\Documents and Settings\ctrlER>"C:\Program Files\KrView\Kernrates\Kernrate_i38
    6_XP.exe"
    /==============================\
    < KERNRATE LOG >
    \==============================/
    Date: 2009/02/19 Time: 13:35:13
    Machine Name: TUTTLE
    Number of Processors: 2
    PROCESSOR_ARCHITECTURE: x86
    PROCESSOR_LEVEL: 6
    PROCESSOR_REVISION: 0f0a
    Physical Memory: 2535 MB
    Pagefile Total: 4422 MB
    Virtual Total: 2047 MB
    PageFile1: \??\C:\pagefile.sys, 2046MB
    OS Version: 5.1 Build 2600 Service-Pack: 3.0
    WinDir: C:\WINDOWS
    Kernrate User-Specified Command Line:
    C:\Program Files\KrView\Kernrates\Kernrate_i386_XP.exe
    Kernel Profile (PID = 0): Source= Time,
    Using Kernrate Default Rate of 25000 events/hit
    Starting to collect profile data
    ***> Press ctrl-c to finish collecting profile data
    ===> Finished Collecting Data, Starting to Process Results
    ------------Overall Summary:--------------
    P0 K 0:00:00.125 ( 1.2%) U 0:00:00.031 ( 0.3%) I 0:00:10.312 (98.5%) DPC
    0:00:00.031 ( 0.3%) Interrupt 0:00:00.000 ( 0.0%)
    Interrupts= 1673, Interrupt Rate= 160/sec.
    P1 K 0:00:00.250 ( 2.4%) U 0:00:00.000 ( 0.0%) I 0:00:10.218 (97.6%) DPC
    0:00:00.015 ( 0.1%) Interrupt 0:00:00.031 ( 0.3%)
    Interrupts= 1673, Interrupt Rate= 160/sec.
    TOTAL K 0:00:00.375 ( 1.8%) U 0:00:00.031 ( 0.1%) I 0:00:20.531 (98.1%) DPC
    0:00:00.046 ( 0.2%) Interrupt 0:00:00.031 ( 0.1%)
    Total Interrupts= 3346, Total Interrupt Rate= 320/sec.
    Total Profile Time = 10468 msec
    BytesStart BytesStop Byt
    esDiff.
    Available Physical Memory , 2158850048, 2162970624, 4120
    576
    Available Pagefile(s) , 4226367488, 4225921024, -446
    464
    Available Virtual , 2132660224, 2131611648, -1048
    576
    Available Extended Virtual , 0, 0,
    0
    Total Avg. Rate
    Context Switches , 9745, 931/sec.
    System Calls , 29229, 2792/sec.
    Page Faults , 1707, 163/sec.
    I/O Read Operations , 72, 7/sec.
    I/O Write Operations , 37, 4/sec.
    I/O Other Operations , 1000, 96/sec.
    I/O Read Bytes , 24076, 334/ I/O
    I/O Write Bytes , 1380, 37/ I/O
    I/O Other Bytes , 1382780, 1383/ I/O
    Results for Kernel Mode:
    OutputResults: KernelModuleCount = 129
    Percentage in the following table is based on the Total Hits for the Kernel
    Time 493 hits, 25000 events per hit --------
    Module Hits msec %Total Events/Sec
    ntkrnlpa 395 10468 80 % 943351
    hal 37 10468 7 % 88364
    KSecDD 33 10468 6 % 78811
    NETw5x32 12 10468 2 % 28658
    win32k 7 10468 1 % 16717
    Tppwrif 2 10468 0 % 4776
    spiv 2 10468 0 % 4776
    avipbb 1 10468 0 % 2388
    TPHKDRV 1 10468 0 % 2388
    igxpmp32 1 10468 0 % 2388
    NDIS 1 10468 0 % 2388
    Ntfs 1 10468 0 % 2388
    ================================= END OF RUN ==================================
    ============================== NORMAL END OF RUN ==============================
    C:\Documents and Settings\ctrlER>
    C:\Program Files\KrView\Kernrates\Kernrate_i386_XP.exe -z ntkrnlpa
    Kernel Profile (PID = 0): Source= Time,
    Using Kernrate Default Rate of 25000 events/hit
    CallBack: Finished Attempt to Load symbols for 804d7000 \WINDOWS\system32\ntkrnl
    pa.exe
    Starting to collect profile data
    ***> Press ctrl-c to finish collecting profile data
    ===> Finished Collecting Data, Starting to Process Results
    ------------Overall Summary:--------------
    P0 K 0:00:00.156 ( 1.2%) U 0:00:00.078 ( 0.6%) I 0:00:12.296 (98.1%) DPC
    0:00:00.031 ( 0.2%) Interrupt 0:00:00.015 ( 0.1%)
    Interrupts= 1736, Interrupt Rate= 139/sec.
    P1 K 0:00:00.171 ( 1.4%) U 0:00:00.031 ( 0.2%) I 0:00:12.328 (98.4%) DPC
    0:00:00.015 ( 0.1%) Interrupt 0:00:00.015 ( 0.1%)
    Interrupts= 1735, Interrupt Rate= 138/sec.
    TOTAL K 0:00:00.328 ( 1.3%) U 0:00:00.109 ( 0.4%) I 0:00:24.625 (98.3%) DPC
    0:00:00.046 ( 0.2%) Interrupt 0:00:00.031 ( 0.1%)
    Total Interrupts= 3471, Total Interrupt Rate= 277/sec.
    Total Profile Time = 12531 msec
    BytesStart BytesStop Byt
    esDiff.
    Available Physical Memory , 2166996992, 2164838400, -2158
    592
    Available Pagefile(s) , 4227276800, 4225929216, -1347
    584
    Available Virtual , 2132660224, 2130460672, -2199
    552
    Available Extended Virtual , 0, 0,
    0
    Total Avg. Rate
    Context Switches , 10583, 845/sec.
    System Calls , 30623, 2444/sec.
    Page Faults , 1704, 136/sec.
    I/O Read Operations , 45, 4/sec.
    I/O Write Operations , 26, 2/sec.
    I/O Other Operations , 725, 58/sec.
    I/O Read Bytes , 17252, 383/ I/O
    I/O Write Bytes , 280, 11/ I/O
    I/O Other Bytes , 1377388, 1900/ I/O
    Results for Kernel Mode:
    OutputResults: KernelModuleCount = 129
    Percentage in the following table is based on the Total Hits for the Kernel
    Time 502 hits, 25000 events per hit --------
    Module Hits msec %Total Events/Sec
    ntkrnlpa 397 12531 79 % 792035
    KSecDD 39 12531 7 % 77807
    hal 39 12531 7 % 77807
    NETw5x32 17 12531 3 % 33915
    win32k 4 12531 0 % 7980
    igxpmp32 2 12531 0 % 3990
    avgntflt 1 12531 0 % 1995
    mrxsmb 1 12531 0 % 1995
    NDIS 1 12531 0 % 1995
    ACPI 1 12531 0 % 1995
    ===> Processing Zoomed Module ntkrnlpa.exe...
    ----- Zoomed module ntkrnlpa.exe (Bucket size = 16 bytes, Rounding Down) -------
    Percentage in the following table is based on the Total Hits for this Zoom Modul
    e
    Time 397 hits, 25000 events per hit --------
    Module Hits msec %Total Events/Sec
    NtBuildNumber 322 12531 81 % 642406
    PoShutdownBugCheck 20 12531 5 % 39901
    ZwYieldExecution 11 12531 2 % 21945
    Kei386EoiHelper 5 12531 1 % 9975
    RtlIpv6StringToAddressA 5 12531 1 % 9975
    ProbeForRead 4 12531 1 % 7980
    KeTickCount 4 12531 1 % 7980
    KeSynchronizeExecution 4 12531 1 % 7980
    wctomb 4 12531 1 % 7980
    LsaDeregisterLogonProcess 3 12531 0 % 5985
    IoWMISetNotificationCallback 1 12531 0 % 1995
    SeTokenIsWriteRestricted 1 12531 0 % 1995
    PsSetProcessPriorityByClass 1 12531 0 % 1995
    PsEstablishWin32Callouts 1 12531 0 % 1995
    PoQueueShutdownWorkItem 1 12531 0 % 1995
    ObQueryNameString 1 12531 0 % 1995
    ExRaiseStatus 1 12531 0 % 1995
    mbstowcs 1 12531 0 % 1995
    PoSetPowerState 1 12531 0 % 1995
    PoStartNextPowerIrp 1 12531 0 % 1995
    MmTrimAllSystemPagableMemory 1 12531 0 % 1995
    MmIsThisAnNtAsSystem 1 12531 0 % 1995
    MmProtectMdlSystemAddress 1 12531 0 % 1995
    MmIsDriverVerifying 1 12531 0 % 1995
    KeRundownQueue 1 12531 0 % 1995
    ================================= END OF RUN ==================================
    ============================== NORMAL END OF RUN ==============================
    C:\Documents and Settings\ctrlER>
    Message Edited by ctrler on 02-19-2009 05:43 AM

  • T61: Problems with Hardware Interrupts when on battery

    Not entirely sure, but was wondering if anyone else had experienced this.
    I recently updated my T61 laptop with the included System Update tool. I'm fairly regular in my checks (every other week or so)... and noticed some disturbing behavior after updating the Power Management Software and driver off this utility.
    Specifically, this behavior manifests itself as 30-40% of my CPU being taken up as "Hardware Interrupts" according to Process Explorer. Task Manager shows the CPU used, but reports 99% as "Idle Process". This wouldn't be a big problem except that it only occurs when the laptop is running on battery (generally after about a minute on battery). This saps my battery time, and it also lags -everything- down (even the mouse cursor).
    A temporary solution is to sleep the machine and then power it back on, and then I get another minute before the Hardware Interrupts kick on.
    Any suggestions?
    maderator note: type added.
    Message Edited by Agotthelf on 02-04-2009 10:32 AM
    Solved!
    Go to Solution.

    Hello,
    did the interrupt start after quiet the same time, when on battery?
    Then please go to start, control panel, task planer and delete the PM task.
    Follow @LenovoForums on Twitter! Try the forum search, before first posting: Forum Search Option
    Please insert your type, model (not S/N) number and used OS in your posts.
    I´m a volunteer here using New X1 Carbon, ThinkPad Yoga, Yoga 11s, Yoga 13, T430s,T510, X220t, IdeaCentre B540.
    TIP: If your computer runs satisfactorily now, it may not be necessary to update the system.
     English Community       Deutsche Community       Comunidad en Español

  • Is there "rising edge"-block in labview?

    And block down counter? rising edge comes from button, digital line etc..

    Hi
    I want to detect rising edge of FPGA DIOs(trigger0 in attachment) to the RT side.if rising edge happen i have to send some data to FPGA. For this i took while loop on RT side and read boolean indicator(DIO trigeer 0) from FPGA to RT and inplimented some logic to detect rising edge(plz see in attachment). if this indicator(2v on DIO) is true i am executing true case shown in attachment(dont consider logic inside true case).My problem is on RT side true case(plz see in attached file) is executing for both rising and falling edge.As per the logic imlimented to detect rising true case should execute only for 0v to 2v change on pin but this true case is execute for 2v to 0 v change on DIO pin.Why this happen.Can any one  plz tell me.
    I am testing this with power supply appalying 0v and 2v across the DIO pin no 86 of sbrio 9606.  
    Attachments:
    FPGA.png ‏163 KB
    RT.png ‏151 KB

  • Is it possible to start one counter on the rising edge of its gate and the second counter on the falling edge of the gate of the first counter?

    Hello,
    for my application I want to perform a buffered semi-period measurement with three counters.
    Therefore the first one have to start on a rising edge of its GATE and stop on the next rising edge. This is not a problem.
    But the second one should start on the falling edge (that immediately follows the rising edge) of counter 1 and stop the same time counter 1 will do.
    The third one should start after the falling edge of counter 2.
    Is this actually possible?
    Thanks in advance.
    Regards Thomas

    I think I may be a bit confused on exactly what you are trying to accomplish, so if my answer does not
    help, I apologize.
    Anyways, the way to do it (from what I gather) is to set the gate of the third counter to start on the falling edge of counter 1 and start on the next falling edge of counter 1.
    A little more clarity in how the counters are intended to start/stop may be helpful in getting a better answer.
    Derek

  • Hardware Interrupts HELP please

    Hello,
    My problem is this: when i open my PC everything works perfect, but when i execute a "heavy" programme(like games or a full system scan etc) after a while the CPU reaches 100% and the system is responding really slow(30-45 sec after the mouse click).I have downloaded the processexplorer and clearly the problem is the Hardware Interrupts.
    I had the same problem 6 months ago, i formated the HD and everything was normal again.Yesterday the Hardware Interrupts started again.I couldn`t find anything to do(i`ve searched a couple of forums) so i decided to format the disk again hopping that everything was going to fix again(at least for some months) but unfortunately today and after trying to play Command and Conquer Tiberium Wars the system crashed and (based to processexplorer) the hardware interrupts was the problem again.
    Somebody help please and thanks for your time

    First of all thank you very much for your very quick response.
    I also thought that maybe the Video Card or the CPU temperature is increasing and causes the hardware interrupts but the CPU temperature doesn`t go higher than 37-38 degrees Celsius and the SYS temp is 1 or 2 degrees lower. For example right now i am copying some files from a DVD and the Hardware interrupts are using avg. 30% of the CPU and the CPU temp is avg. 32 degrees Celsius and the SYS temp is avg 29 degrees Celsius. The temperatures are taken from the Core Center programme from MSI.If there is any other way to see my CPU`s and system`s temperature please tell me to check it.
    As for the Hard Disks I am checking now one of them and there may be a problem.I will do some tests and i will inform you as soon as i can.
    Thank you very much

  • Rising edge analysis RS FlipFlop without the Reset

    Hello, I am a starter with LabView and am trying to create a rising edge analysis. With the first rising edge of a Boolean Signal (an Input) a variable (and an Output) should be set and the second rising edge should reset this variable. It is like a RS Flip-flop with the second Set Signal as Reset.
    By pressing an external pushbutton (my Input) my program should switch on/off my output to control an electrical system.
    Maybe anyone can help me, Thank You!
    Lars

    Here is a simple vi that does the trick.  Substitute Boolean with your input and substitute Boolean 2 with your output.  You can also make this into a LV2 functional global by moving the Boolean and Boolean 2 out of the loop and making the loop execute only once (replace Stop and Not with False constant).   Call the functional global from your main with your input to the connector pane left side and the output comes from the connector pane right side.
    - tbob
    Inventor of the WORM Global
    Attachments:
    FlipFlop.vi ‏19 KB

Maybe you are looking for