LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to handle interrupts in PXIe-6363

Solved!
Go to solution

Hello,

 

I am working on a PXI tester to test ASIC chips. In the tester, I am using PXIe-6363 card and NI USB-8452 SPI module to talk to ASIC chips. The ASIC chip sends an interrupt signal to the PXIe-6363 when its finished with a certain measurement, for eg. an ADC voltage measurement. Upon receiving this interrupt signal from ASIC, the PXI tester running LabVIEW needs to get that measured value through SPI (NI 8452) from ASIC.

 

I have the following questions regarding this set up:

 

1. Can I connect the Interrupt signal from ASIC to any PFI line on PXIe-6363 so that when the interrupt pulse occurs, the tester can respond to that interrupt by initiating SPI Comm through Ni-8452 module?

 

2. If so, how can I do coding in LabVIEW to respond to that interrupt pulse on PFI line?

 

Thanks,

Jeet

0 Kudos
Message 1 of 6
(2,780 Views)

Jeet,

 

My suggestion would be to use a combination of digital change detection on one of your PXIe-6363's PFI lines, and LabVIEW's event structure.  Attached is a quick example.

 

One thing to note here:

If the event handling code takes longer than the interval between events, the missing events will simply be dropped.

 

Hope that points you in the right direction,

Dan

Message 2 of 6
(2,776 Views)

Hello Mcdan,

 

I tried your attached code and it works great for digital detection on Port 0 lines. But for Port 1 lines (PFI0), the Register Events node is outputting an error. Here is the error:

 

Register For Events in ChangeDetectWithEventStructure.vi <append> <B>Device: </B>Dev1 <B>Physical Channel: </B>port1/line0

<B>Task Name: </B>_unnamedTask<24>

 

Do you know what is going on there?

 

Thanks

Jeet

0 Kudos
Message 3 of 6
(2,744 Views)
Solution
Accepted by topic author jeet

Hi Jeet,

 

Are you seeing error -201062?  By default change detection tasks are buffered, and this is only supported by port 0.  To make this work across all ports on your X Series device, you'll want to add a DAQmx Configure Input Buffer.vi and explicitly set buffer size to zero.  I have re-attached my example VI with this modification.

 

Hope that helps,

Dan

Message 4 of 6
(2,733 Views)

Hello McDan,

 

I ran the modified VI with "configure input buffer.vi"'s buffer size set to 0.

 

This time the "Register Events" node outputs an error "-201020":

 

Register For Events in PFI0 change detection.vi <append> <B>Device: </B>Dev1 <B>Physical Channel: </B>port1/line0

<B>Task Name: </B>_unnamedTask<1>

 

 

0 Kudos
Message 5 of 6
(2,726 Views)

Mcdan,

 

Please disregard my previous message. I had not selected PFI line as the physical channel, which is why the error was happening.

 

your solution of adding configure Input buffer.vi worked perfectly for PFI digital change detection.

 

How do I learn some of these things about Daqmx? Am I missing some tutorial or reading? The solution you suggested worked but I dont think I still understand whats goinn on there.

0 Kudos
Message 6 of 6
(2,724 Views)