I am running into an issue with the PXI-5402 Function Generator card in my system. First, here is the configuration of my system:
PXI Chassis (1045)
PXI-8361 controller card (MXI-Express) controlled by a remote computer running the PCI-E controller card.
PXI-5402 Fgen running niFGEN 2.9 software
SCXI 1001 w/ multiple modules, controlled through DMM
PC is running Windows XP w/ SP3
The issue I am having is when I try and command an output wave through the NI soft panel, I get a timeout error (-200221). When I run the Self Calibration, I get the same error. The card is showing up in the MAX software with no issues. I can run the Self-Test and it returns successful. I put this 5402 into another system that is using the MXI-4 interface and everything works fine (verified output of Fgen using a DMM). So, this points me to the MXI-Express interface. I read about the PCI-Express compatability software, but it says to only use it if the computer will not boot or if the NI PXI cards do not get recognized in MAX. Should I try to install that software to see if it resolves my issue? I also have a DMM card (PXI-4070) that seems to blue screen Windows XP when trying to read a resistance using the niDMM_32.DLL (it works about 1 time out of 7) (message posted on here a week ago for that). It will read through the test panel in MAX though. I am also controlling an SCXI chassis through the DMM card, and every once in a while the SCXI modules can't be accessed (using my program or MAX). I thought the DMM card was going out, but with the Fgen card doing weird things, I wonder if the PCI-Express bus is causing all of it.
I did look in my computer BIOS settings, and here is what is listed for the PCI-Express bus:
American Megatrends BIOS:
Relaxed Ordering - Disabled
Extended Tags - Disabled
Maximum Payload - Auto
Maximum Read Request - Auto
ASPM Support - Disabled
Extended Synch - Disabled
Link Training Retry - 5
Link Training Timeout - 100 (micro seconds)
Unpopulated Links - Keep Link on
Any thoughts on why the card is not working in this system? The fact that it works fine in a system using MXI-4 points to the interface. Should I try the compatibility software to see if that solves it? Any help is greatly appreciated.
Solved! Go to Solution.
Have you experienced any issues with just one or none of the cards in the chassis? Is there a mention of PCIe bus enumeration in the BIOS? Is your BIOS the most recent version? What is the difference between system that works fine and the one that does not work fine?
So far, it sounds like an issue with the BIOS trying to enumerate enough space for all the cards. Make sure the BIOS can handle all of the resources that are being added to the PCIe bus.
OK, so here are a few updates:
1. I am actually using the PXI-PCI8360 kit (MXI-Express via PCI slot).
2. I also have 4 non-NI cards in the system. I can remove two of the cards (Synchro to Digital and Digital to Synchro cards) and both the Fgen and DMM cards work as expected. When I reinsert the two cards, the problems are back. I noticed that the IRQs for the 2 cards listed above are shared with the FGEN and DMM cards (Synchro to Digital shares an IRQ with the DMM and the Digital to Synchro shares an IRQ with the FGen card).
So, it looks like it is a resource issue. I can change the IRQs that the Synchro cards use, which I will try tomorrow. I can also try to disable items in the BIOS. I can turn off both Ethernet ports, but am not sure if that will free up any resources. I have to have the com ports enabled, but can disable the LPT port. I will try all of that and post my results. I did notice that there are about 5 or so devices that are sharing the same IRQs (IRQ 16 has the Syncro to digital, the PXI-5402, ARINC-561 card, USB controller, HD graphics, and the Intel Management Engine Interface. IRQ 17 has Mil-Std-1553 card, Digital to Synchro, PXI-4070, PXI-8360, and the PXI-GPIB). Seems like a lot of devices on each IRQ.
There are only 4 interrupts available to the chassis (neglecting message-signalled interrupts, which aren't being used in this case). The 4 interrupts are rotated between slots, so conceptually every fourth slot will have the same interrupt. But there are several factors that affect the rotation so it's not as simple as every-fourth-slot. The rotation will change for each segment in the chassis (there are dividing lines on the 1045 that show where the segments change). There's also a discontinuity where the PCI-PCI bridge is connected on one segment to bridge to the next. The 4 interrupt lines are mapped to IRQs that Windows shows in device manager.
So interrupts will need to be shared if you have more than 4 cards. Depending on your motherboard, those interrupts may also be shared with other things in the system. To change what interrupt is being used means changing slots. Any card in a given slot will always use the same interrupt unless it's a "complex" card, meaning it is multi-function in the PCI sense, or it has a bridge. The rotation of the interrupts will also change if you change the path to the host, meaning changing slots the PCI card is in or changing the PCI card to a PCIe card.
I'm not sure all of that rambling will help with your issue, but it may help as you're trying to reduce/balance the sharing of the interrupts.
That is some great information on interrupts with the PXI chassis. I would have spent many hours figuring that out. Thanks Robert!! I will go look at the card layout to determine if I have too many on one IRQ. You mention changing IRQs with complex cards. The 2 Synchro cards that I am using allows you to change the IRQ used. Not sure if changing that to an IRQ not used by the chassis would crater the whole system. Trial and error, right??