Signal Conditioning

cancel
Showing results for 
Search instead for 
Did you mean: 

scxi-1140 track time, DAQ channel clock rate

I'm not sure if this is the correct forum for this question, but hopefully someone can point me in the right direction.
 
I am looking at setting up a high performance data acquisition system using SCXI signal conditioning and M-series high speed DAQ boards.
 
Here are my requirements:
 
32 channels
16-bit resolution
10kHz sampling rate (320kS/s total throughput)
Simultaneous sampling
Isolation
Programmable antialiasing filter
 
I will not be using the SCXI bus, since it only allows 12-bit accuracy at 333kS/s.
 
Therefore, I plan on using 2 PCI-6254 boards (which have 2 connectors). For each M-series connector (total of 4), I will have a cascaded chain of SCXI-1120, SCXI-1141, and SCXI-1140 modules in parallel mode.
 
According to my calculations, my scan rate is based on
1/(HT+31*MST+TT)
 
where
HT=hold time for the SCXI-1140=1 us for +/- 1LSB
MST=Min settling time of PCI-6254=1.5 us for +/- 1LSB
TT=Track time of SCXI-1140= 50 us for +/- 1LSB
 
This results in 10.25 kHz max accurate sample rate.
 
My question is this:
When I specify a 10kHz sample rate, does NI-DAQ know to allow for the 1us hold time before the scan, and the 50us track time after the scan, or does it calculate the channel clock rate based on the total time between scans?
 
according to the article at: http://digital.ni.com/public.nsf/allkb/42484E84DA98053686256D32006E0494 the channel clock rate is based on the minimum channel clock rate plus 10us, unless there isn't 10us vailable per channel, at which point it converts to round-robin scanning.
 
Also, the article at http://digital.ni.com/public.nsf/websearch/EA4E306828AF05B586256B8F00661A8B?OpenDocument implies that the track time for the SCXI-1140 is 7us, and the examples on that page use 7us for a 16-bit system, even though the track time of the SCXI-1140, at 16-bit accuracy, is clearly stated as 50us in the data sheet: http://www.ni.com/pdf/products/us/4scxisc309_310_313_314.pdf
 
It appears that the hardware I'm considering is capable of the accuracy and scan rates that I need, but how do I guarantee that the proper channel clock rates are used to give me that accuracy? Am I able to change this using Measurement & Automation Explorer? I will not be using Labview, I will be using my company's proprietary Data Acquisition Software, which uses NI-DAQ Measurement studio for Visual Basic. If I want to change the Channel clock rate settings, does it have to be done in the Visual Basic Code?
 
I appreciate any insight or direction anyone can offer.
 
Thanks,
 
Andrew Krajnik
 
0 Kudos
Message 1 of 7
(4,172 Views)
Hello Andrew,

I have a couple of concerns regarding your suggested solution.
1) Connecting up the second connector on a m-series board is currently not supported with SCXI because some of the digital lines that are required for controlling SCXI modules are not available on the second connector.
2) Cascading is not fully supported in software, so to get a cascading solution to work properly usually requires a large amount of development effort, and I would personally discourage it as a solution unless absolutely necessary.

NI's recommended solution for your application is to use the PCI-6143 simultaneous S-series board in parallel with an isolated SCXI module like the SCXI-1125. The SCXI-1125 has a maximum bandwidth of 10kHz, so as long as you sample at least 20kS/sec you will eliminate aliasing from your signal. The sample rate of 250kS/sec on the PCI-6143 is more than enough to account for the maximum bandwidth of most SCXI modules. With this configuration you would only need 4 PCI-6143 boards, and 4 SCXI-1125 modules, which is a much more compact solution (and possibly less expensive solution) than the triple cascaded solution you were originally looking at.

Finally - I don't think there is any way that you can get this hardware configuration to work unless your company's proprietary code was already written with a specific SCXI hardware configuration in mind. First, I am guessing that your company's code was written using Traditional DAQ? If this is the case, then both m-series and all s-series boards can be ruled out as options because they require DAQmx. Finally - if S-series is ruled out then you are going to need to cascade for the simulatenous sampling as you had originally recommended. Like I mentioned before, cascading is not trivial, and the software configuration required for setting it up is extremely complex, which means that the software MUST be written specifically for your desired configuration.

Regards,
Logan K
National Instruments
SCXI R&D


Message Edited by Logan K on 10-10-2005 08:53 AM

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

Logan,

Thanks for your response.

At this point, the software is written with Traditional NI-DAQ. I am looking into having it updated to use NI-DAQmx, but that's not a guarantee at this point. Another thing that I failed to mention in my previous post is that I use this acquisition system at different sampling rates, with 10kHz being the max sampling rate that I'm looking for. Given that, I want to have programmable anti-aliasing. That's one of my main reasons for going to SCXI. (I currently have a 6071E DAQ board with a 5B backplane for signal conditioning.)

So it looks like I have no choice but to cascade SCXI modules to get the functionality that I desire. What types of problems will I run into with this type of configuration? From the article here: http://zone.ni.com/devzone/conceptd.nsf/webmain/9330cb13e1d6169386256b79005a842b it seemed like a pretty straight-forward solution. I believe that with our Acquisition software, we still use Measurement and Automation explorer to configure the hardware, and then the program simply interfaces with the DAQ board (i.e., E-series device).

In addition, this article: http://digital.ni.com/public.nsf/websearch/1936a86d5321444186256ff1004ff966 seems to indicate that both connectors on the M-series board can be used with SCXI modules in parallel.

At this point, I'm not sure what my best course of action is. From the articles above, I was under the impression that there was a pretty straight-forward solution to my needs, provided I could get our software upgraded to NI-DAQmx, but now it appears that may not be the case. Do you have any other advice on how I should proceed?

Thanks,

Andrew Krajnik

0 Kudos
Message 3 of 7
(4,158 Views)
Andrew,

Before I go into answering your questions about your current configuration I want to try to address to the only limitation that you expressed for using S-series as a solution. Have you considered instead using the NI 4472 in parallel with the SCXI-1125? This NI 4472 is simultaneous, and has a built-in anti-aliasing filter and 24-bits of resolution, which may be overkill but will easily meet your requirements.

I am sorry about the confusion from that knowledgebase about using the second connector of the m-series device in parallel mode, but it is not entirely accurate and I am not sure how it slipped through. Here is a more accurate KB with the same information: http://digital.ni.com/public.nsf/websearch/3610B16742897E4486256FAD007A7188?OpenDocument

The reason that this won't work for you is because the second connector doesn't support simultaneous sample and hold, which is specifically the functionality that you will require from the SCXI-1140.

Regarding cascading: if you are not using LabVIEW and Traditional DAQ, it is not trivial because we don't have example programs already created for it, and the functions that are required for the C or VB API are entirely different, or in some situations non-existent. Let me restate this slightly - if you care about the accuracy of your signal it is not trivial.

If you care about accuracy, here your main concern:
The SCXI-1141/2/3 modules store calibration constants on board. When you acquire directly from these modules the DAQ driver will automatically read those calibration constants and scale your data accordingly. These calibration constants are what ensure that your data meets the published accuracy specifications for the module. When you are not acquiring directly from a module (i.e. cascaded) you must read the calibration constants manually from the board and apply these constants in software. Initially this might sound easy, but there is very little documentation for how to accurately apply these constants because this application is fairly rare. Even expert DAQ programmers will struggle to get this type of application to function properly.

Fortunately, with the configuration you are considering, the SCXI-1141/2/3 modules are the only programmable modules that store calibration constants. So, you won't need to worry about applying multiple constants together.

If you don't care about accuracy - you can simply read data straight off the the SCXI-1140 and ignore the calibration constants on the SCXI-1141/2/3. Also, all of the programmable settings of the module can be set in MAX in traditional DAQ.

In DAQmx we have not fully supported cascading yet because now that S-series is supported there is almost always a workaround, and to get it to work reliably will actually be more difficult unless you have a deep understanding of the driver.

I don't want to totally discourage you from this solution, but I have a strong interest in the total satisfaction of our customers, which is closely tied to the expectations that our customers have of our products. In my opinion, cascading in SCXI is probably one of the single most difficult applications to work with, and I just want to set your expectations accordingly.

Regards,
Logan K
0 Kudos
Message 4 of 7
(4,142 Views)

Logan,

Thanks again for your prompt and comprehensive response. The further I have investigated this solution, the more conflicting information I've been getting, and I appreciate you taking the time to bring some clarity to the situation.

As far as the 4472 goes, I like the fact that it is a concise solution, but as you stated, it is overkill for my application, and I don't think I'd be able to justify the added cost.

Let me try to summarize my understanding at this point:
1) If I want to use SCXI to achieve simultaneous sampling, I would need to use 1 M-series board per SCXI-1140, since the second connector on the M-series card doesn't support it.
2) If I want to cascade from SCXI-1120, to 1141/2/3, to 1140, my accuracy will suffer due to the fact that I am not reading directly from the 1141/2/3, and don't have the onboard constants available.

 *** A question about "accuracy": when you say my accuracy will suffer, you're referring only to the absolute voltage measurement, right? If I don't care about exact voltage, and I calibrate the entire system based on my Engineering units, will I see any difference? Or is the linearity affected as well?

Are there other problems with cascading, if I can live with the accuracy issues you mentioned? If I were to simply cascade the modules in the SCXI chassis, and program the 1141/2/3 filters using MAX, would I simply be able to treat the setup as though I were only acquiring from the 1140?

I guess at this point, I see 2 options that could get me where I need to be:

Option 1: Assuming that I can tolerate the loss of accuracy, and assuming that cascading gives me no other programming problems, for each 8 channels I could cascade 3 SCXI modules to 1 M-series board, and for 32 channels, I'd have a total of 12 SCXI modules, and 4 DAQ boards.

And the other option, that just occurred to me:
Option 2: I could cascade SCXI-1120D to 1141/2/3 modules to an S-series board. For 32 channels, I'd have 8 SCXI modules, and 4 DAQ boards. Again, correct me if I'm wrong, but by doing this, I'd be acquiring directly from the filter modules, so my accuracy wouldn't suffer. Do you see any problems with this configuration? If not, it seems like a pretty attractive option.

Am I correct in my logic here, or is there something else that I'm missing?

Thanks,
Andrew Krajnik

0 Kudos
Message 5 of 7
(4,135 Views)
Hello Andrew,

1) In order to acheive simultaneous sampling with the digitizer, you will not be able to use an M series board.  M series boards multiplex all of their analog channels to the ADC.  If you want to use a simultaneous sampling Multifunction DAQ board, you will need an S series board.  I think it is clear that you already know this, but I just wanted to mention it in case anyone else is following this discussion Smiley Wink
2) I believe the onboard calibration constants of the 1141/2/3 are available, they will just not be automatically applied to your measurement by the driver.

I wasn't able to find out if the calibration information stored on the module affects the linearity of the signal.  I will look into this and post any information I find regarding this.

I think that both of your options look good and will acheive the requirments that you are looking for.
Eric
DE For Life!
0 Kudos
Message 6 of 7
(4,109 Views)
Andrew,

I think option 2 is going to work best for you; it should be relatively easy to configure in software, you will be able to easily get full accuracy out of the modules, and like you mentioned it is much less expensive than the PCI-4472 solution. The SCXI-1120D doesn't have any calibration constants stored on board, and no programmatic functionality so you can essentially ignore the module in software altogether. You will configure each SCXI-1141 in parallel mode with the S-series boards and in software you will simply need to account for the gain setting that you configure on the SCXI-1120D by dividing your data by that gain setting.

Since this is definitely the best solution for you, I don't know how much detail I need to go into with the double-cascaded solution that you were also looking into. In short this solution just won't work in DAQmx, and in traditional DAQ it is easily the most complex programming that you would ever have to engage in for a SCXI solution and I would strongly discourage it.

Regards,
Logan K

0 Kudos
Message 7 of 7
(4,102 Views)