PXI

cancel
Showing results for 
Search instead for 
Did you mean: 

Can I run 2 PXI chassis from one PXI controller?

Can I run 2 PXI chassis from one PXI controller? I would like to know if I have in PXI chassis 1 a PXI controller and a PXI 6723 analog out card, and on PXI chassis 2 I have a PXI 5441 signal generator, can I control both the cards with the controller in PXI chassis 1? If so what is the sustainable data rate to both cards?

I would like the maximum data rate to both cards of 132 MB/s, and I am wondering what is the easiest way of doing this.
Any help would be great!!

Paul
0 Kudos
Message 1 of 7
(4,179 Views)
 

Hi Paul,

To do this, you would need a MXI-4 interface kit.

find its user manual here

Using this, You can implement either a daisy-chain or a star topology to build PXI multichassis systems

Hope this helps

Regards,

Dev

0 Kudos
Message 2 of 7
(4,158 Views)

Paul,

Are you using 2 chassis to increase bandwidth, or do you have other cards in the chassis as well?

If you're using multiple chassis for bandwidth, MXI-4 won't do you any good because its data goes through the first chassis anyway.

If you have a newer controller with ExpressCard (8196, 8105) you can use MXI Express, which will give you a second connection to the host controller.

The bandwidth you get may be much less than 132 MB/s.  Is your application streaming from memory?  Output cards are slower streaming from memory because they're pulling data from memory, which is slower than pushing data to memory.

It would be helpful to know more about how you want to use the cards (or how much bandwidth you need).

-- Robert

Message 3 of 7
(4,151 Views)
Thanks for your replies,

I would like to use three cards: one arbitrary waveform generator, an analog output card, and a digital IO card (NI 6259). Ideally I would put them all in the same PXI chassis, however the 132 MB/s bandwidth may not be enough for my application. With the analog card I want to output a 20 kHz sin wave on 6 channels concomitantly. These waves will be modulated in both frequency and amplitude according to an arbitrary waveform specified in the computer memory since the onboard buffer is not large enough to store the data. I need 30 MB/s bandwidth for this data. Then I also want to simultaneously output with the arbitrary waveform card. The data for this is also to much for the maximum onboard memory size because I require playback over about a minute. For this I need a lot of bandwidth for the stream, I think around 100 MB/s.  In which case, the 132 MB/s maximum bandwidth may not be enough.

Looking at my requirements again, I would use 4 pxi devices. A NI 6733 for the 6 channel analog output I mention above (It has 1MS/s output rate for each of the 6 channels), and the 32 channel analog card for simple analog signals of about 10 Hz or less (probably not using more than 8 channels still).

Any further suggestions on how to do work this bandwidth issue would be extremely helpful!
Thanks, Paul.
0 Kudos
Message 4 of 7
(4,135 Views)

Paul,
 
It looks like the 6 channels @ 1 MS/s will need 12 MB/s (6 * 1MS/s * 2bytes/S).
 
The arb is only going to be able to stream 30-50MB/s out of the box, depending on the controller you are using.  There are some tweaks you can make to double that, though (I'm told unofficially) they'll be in the next release of the NI-FGEN driver.  As an example, I did an experiment on a PXI-8196 controller and got 34 MB/sec out of the box and 91 MB/sec after making the PCI tweaks.  Your max sample rate could be 40 MB/s * 1S/2B = 20 MS/s, or 40 MS/s if you're willing to tweak some registers or wait for the next driver release.

The next hurdle is sourcing this data on the controller.  If you're streaming 50 MB/s for 60 seconds, that's 3 GB (6 GB for 100 MB/s).  It looks like you're past what you can store in memory, which means you're streaming from disk or calculating on the fly.  On the laptop drives used in embedded controllers, we see stream from disk rates of 20-30 MB/sec.  You'll need a fast desktop drive or a RAID solution of some kind, which means you'd need MXI and a PC.  I'm not sure what your thoughts are on that.
 
Good luck.  Let me know if you need more information.
 
--
Robert

Message 5 of 7
(4,102 Views)
HI Robert,

thanks for your help!

I was thinking about using the PXI - PCIe 8361 MXI Express to control the PXI rack from a high spec' desktop. I think that the bandwidth will be enough, since I found out I can use loops and sequencing in the stream mode of the arb card. This will reduce the amount of data I need to send over the link. So I will use one PXI rack and the above controller.

If I have a problem with that then I will go for another PXI - PCIe 8361 MXI Express controller in a second PCIe slot. This should give me two links at 110MB/s, right?

Also its my understanding, and please correct me if its not correct, that using the cpu while streaming will reduce the bandwidth, so that makes data creation on the fly a problem, if you need a high speed link? So that means streaming from RAM or the hard disc as you say. In which case I need lots of RAM, since streaming from a hard drive doesn't sound very attractive, since its slow. Is there a maximum RAM size that the controller and arb card will recognize, or can I use as much memory as the computer can take?

Thanks again for your help!!
Paul
0 Kudos
Message 6 of 7
(4,087 Views)

Paul,

Streaming output is going to be slower across MXI (MXI Express has the best performance, but it's still slower than an embedded controller).

I don't have numbers for streaming to an arb.  I've been able to stream 11-12 MB/s to a 6733.  The arb should do significantly better.

You'll only get 110 MB/s for input boards.  Output boards may be half that because of the difference in data movement.  In a nutshell, input boards shove data to memory, so it's naturally pipelined.  It can send what it has, then send more when it's available.  An output board requests data, then waits for the request to make it to the chipset, and then for the data to come back.  Once that's done, it can request more data.  The time lost waiting is what slows it down.

So if you can't run all of your boards at the same time, but you can run subsets, then a second chassis will be the answer.  If you can run the arb at 50 MB/s by itself and you need 100 MB/s, then the second chassis buys you nothing.

In general, CPU load shouldn't affect streaming much.  The CPU isn't involved in the data movement.  However, if it creates contention for memory access or saturates the memory bus, then you'll see the effect.

I don't know about RAM size.  I think you can use whatever you can get, but that's one of many things I don't know.

-- Robert

Message 7 of 7
(4,078 Views)