03-07-2016 02:41 PM
I am working with a custom designed 8 slot PXI (not PXIe) backplane. I verified that an embedded controller (PXI-8186) was able to identify a single card in each slot - I tried roughly twice in slot with no failures (so ~15 attempts).
I then switched to a PXI-8360 controller connected to a desktop PC running 32 bit Windows 7. In several instances, NI Max has failed to identify cards installed in the backplane. When I switched back to an old PXI-1002 chassis (4 slot), things work fine.
I understand there is an issue with BIOS limitations involving the PCI enumeration. I ran the NI utility to check and it indicates a single root with a range of [0, 3e]. I assume this means 0-62 devices. Do empty slots get enumerated as well? Could this be the cause be the cause of 'sometimes works, sometimes doesn't work'?
I know the PXI chassis must be turned on prior to the PC. Does the PXI-8360 controller do any discovery at power-up or is it all handled by the PC when it is powered up?
What is the discovery mechanism the PXI-8360 (or PC) uses to identify any modules installed in the PXI chassis?
Any suggestions as to troubleshooting this issue?
-Thanks-
03-07-2016 02:46 PM
I'm not sure how to answer most of your questions, but looking at this knowledge base article, a full range is represented with [0, ff], so you are likely not getting full range from your backplane.
03-07-2016 02:59 PM - edited 03-07-2016 03:00 PM
Chantastic!-
Thanks for the prompt reply. I am aware of that article and that is where I downloaded the bus detect program(s). Since the PC has a fixed configuration, if it can enumerate devices once, should it always be able to do so repeatedly if there are no hardware changes?
I am wondering if this an issue with the custom backplane or software (PC BIOS).
-Thanks-
03-07-2016 03:21 PM
Since you have an 8-slot backplane I'm assuming there are no bridges on it. The slots are all on the same bus as the controller slot. With that...
- Robert
03-07-2016 03:58 PM - edited 03-07-2016 04:04 PM
Robert__R-
Thanks for your reply and thoughts. Your assumptions are correct - a simple 8 slot 33 MHz backplane with no bridges and the modules in use have no bridges.
I am aware of the unique IDSEL lines (AD31-AD25), the REQ# and GNT# (PICMG Table 7) along with the threaded INTA#, INTB#, INTC# and INTD# interrupts (PICMG Table 😎 for each slot and checked them MANY times over. All the recommended decoupling is implemented.
I never thought to look in the Device Manager. Attached is a screen capture of the Device Manager (using the PXI-1002 4 slot chassis). I see that the PXI-8360 shows up under NI MXI Devices. So if the BIOS is an issue, would the PXI-8360 controller show up at all? I have to wait until tomorrow to restore to the custom backplane arrangement.
I was concerned about things like power voltages, bus ringing etc. Schottky diode clamping is implemented on the PXI_TRIG bus lines only (as required). Any thoughts on troubleshooting when I get back in tomorrow?
03-07-2016 04:54 PM
The PXI-8360 is on a different bus from the chassis cards. Change the device manager view to "devices by connection". Then find your cards and you can see everything that was discovered in the chassis in one spot.
If there are only some of the cards present then it would seem to be a problem with IDSEL. If all boards are present but some have issues then it would tend to indicate a problem with resource allocation (other than bus numbers). If several cards are requesting I/O space it could cause a problem. You can check it (in a working system) in device manager by looking at the Resources tab. There shouldn't be any "I/O Range" listed, just "IRQ" and "Memory Range".
Have you tried using the BIOS compatibility software and flipping the switch on your PCIe card? Here's a link to version 1.5.
http://www.ni.com/download/mxi-express-bios-compatibility-software-1.5/3764/en/
You could also try a different PC. If it works with a different PC then it helps rule out electrical issues in the chassis.
- Robert