10-16-2008 03:29 PM
Hi -
We need ~20 Mhz for 100mS samples, 8 bit , high clock accuracy with big (>3kV) isolation. We have been looking at a USB-5132 , with an optical-fiber to USB converter and supply 5V that floats with the source. We need it to sync with clocks to <10ppm, and while we could run PF1 from our isolated clock system, then we wouldn't have a trigger.We had been hoping to set up the 5132 to acquire whenever it saw a clock pulse, as we can gate or otherwise process our clock signals. I see from other posts though that the 5133 won't do continuous mode so probably not the 5132, eh ? Triggering from the inputs or in software is not an option, unfortunately (would have to trigger 500mS back) Also I had been hoping to find programming or detailed user manuals online but don't see them. Another option I suppose would be a 2 ch ethernet digitizer, but the low cost and ease of use makes the 5132 attractive, as this might be the first of a bunch more. Thanks for any input.
Alex
10-16-2008
06:16 PM
- last edited on
01-27-2025
03:47 PM
by
Content Cleaner
Hi Alex,
Thanks for the detailed information on your setup, this is always helpful when we are trying to answer questions. Before I get too far into answering them though I would like to make sure I am understanding what you want to do correctly. It sounds like you have a system where high voltages (greater than 3 kV) are present. Is the reason that you are looking for isolation strictly because you want to protect your computer system from these high voltages or are you looking to float the digitizer ground on top of a large DC value relative to earth ground?
You also mentioned that you were looking to sample at 20MS/s and that you wanted to sync to a clock with better than 10ppm accuracy. Do you have a clock in your system that you need to synchronize to (i.e. The sample clock of the digitizer would have a constant phase relationship to your system clock) or are you just looking for a free running sample clock with 10ppm accuracy?
Based on these lines: "We had been hoping to set up the 5132 to acquire whenever it saw a clock pulse, as we can gate or otherwise process our clock signals. I see from other posts though that the 5133 won't do continuous mode so probably not the 5132, eh ? Triggering from the inputs or in software is not an option, unfortunately (would have to trigger 500mS back) " It seems like you are saying that you are generating a digital trigger that you could run into the PFI line but your trigger edge is happening 500ms after the data that you actually care about acquiring. how much time do you require to be captured after this event that happens 500ms before the trigger? Do you need to capture the even multiple times in a short time span or is it a single shot event?
When you talk about continuous mode are you referring to the ability to continuously transfer data from the digitizer to the host PC while the digitizer is still acquiring samples?
Finally as for the detailed programming manual most of the information on programming the device is in the NI-Scope help documentation. You should be able to find information here: https://www.ni.com/docs/en-US/bundle/ni-scope/page/user-manual-welcome.html Will you be using LabVIEW or C++ to program for your application? There are many example VIs for LabVIEW that demonstrate how to program for common tasks with NI-Scope. These examples are installed automatically when you install the NI-Scope driver.
Sorry for the long list of questions but with this information I should be able to give you a much better answer of whether the 5132 can work for you.
Regards,
-Matt
10-17-2008 11:22 AM
Hi Matt -
Maybe a bit more background. We are trying to monitor a large bank of IGBTs of parallel H-bridges and we want to look at transients here and there in the system. the 5132 will see both high voltage spikes through dividers- those are signals of interest-and a big floating potential. I've just checked with the designers and in fact the common voltage will be up to +-1700V , with frequency of about 5Khz.We had planned on taking an old CAMAC 10 MHz digitizer and powering it with batteries, but the 5132 seems much more convenient, if we can trigger it . The tight timing spec is because we are trying to correlate data and commands. We need >1uSec timing uncertainty at the end of 100mS.
We have a system master clock at 12 MHz and a system for generating triggers synchronously. Our experiment runs for ~100mS, and the start of the high-speed timing happens 500mS before that. The system is not under networked computer control after the start of high-speed timing, so software triggering the box is probably not an option, unless we can tell the 5132 to wait e.g. 450mS after it gets a software trigger. We only need one trigger , so read the whole data set back at once too. Triggering off the input channels is unlikely to work, by for example sending a full-scale pulse into one channel and then trying to scale the divider network so that the signals don't trigger .
I guess I misunderstood the meaning of "continuous mode" , and hoped that it meant that it just take data when it got a clock pulse, so that we could send it clock signals only when we wanted it sampling, then read the data back later, but if you are running continuously , it would make sense to send data back continuously too, huh ? 😉 oops.
One last kludge that has been suggested is the possibility of trimming the internal clock. Any chance of that ? registers we might have access to ? I'll look over the prog guide now.
thanks for your help
Alex
10-18-2008 07:13 PM
Just for background information here is some basic info on programming our digitizers. This is by no means a complete guide to all the possibilities, but should give you the basic idea of the process:
The first step is to call the "init" command which initializes the digitizer into a default state and returns a task handle that will be used for all following command calls. The next step is to call the functions that select the settings you will want for you acquisition. These settings include things such as input impedance, input voltage range, sample rate, trigger settings, etc. Once your settings are defined you arm the acquisition by calling the "start" command and then the digitizer waits for various triggers to occur which progress the digitizer though the various stages of an acquisition. At this point in the process the digitizer is running and acquiring data according to your specification on its own. Your software can poll the digitizer's status to find out when the acquisiton is complete. When there is data that has been captured you can call the "fetch" commands to transfer the data from digitizer's onboard memory to the PC's memory. When you are done with the acquisition task you call the "stop" command, which halts the acquisiton process on the board. Finally you call the "close" command to clean up the process in the driver.
There are many trigger events that can be defined such as "start", "reference", and "advance". You should read the NI Scope programming manual to understand what each of these does but most of them pertain to the idea of a multi-record acquisition. In a multi record acquisition you can configure the digitizer to store more than one record into the board's internal memory whenever a trigger event occurs. A record consists of a variable number of pre-trigger and post-trigger samples along with a time stamp that indicates when the trigger event occurred relative to the triggers of other records. In the most basic situations your max record size will be limited by the amount of on board memory on your digitizer. For a single record acquisition your max record size is usually equal to (Totally Memory per channel)/(sample resolution). Multi-record acquisitions can have a small amount of overhead for each record which can slightly reduce the total number of samples that can be stored. You should consult the specification sheet for the digitizer you want to use to learn the specific capabilities of your device. There is a special mode that is supported by some of our digitizers that can allow you to capture more than the size of onboard memory called "Continuous Acquisition Mode". In this mode the digitizer is storing data into it's onboard memory at the same time you are fetching data from the onboard memory and moving it into the computer's system memory. There are many things that need to be considered when using Continuous acquisiton mode. Depending on what type of bus your digitizer is using (PCI/PXIexpress/USB etc.) you may not have enough transfer bandwidth to move data out of the onboard memory before it overflows. Also many computer busses share bandwidth with other boards in the system so your overall transfer rate may not be the maximum allowed by the bus.
---------
The 5132 does not support the ability to trim the internal oscillator frequency. This feature is supported on many of our PXI and PCI digitizers such as the 5122 and 5114.
For the sake of making sure we are all on the same page I'm going to make a few definitions. Lets call the moment in time that you need to begin acquiring sampled data t=0s. From the information you have given me it sounds like you will be generating a digital trigger from your system 500 ms before this time (i.e.. t = -500ms). You need to capture 100ms worth of data which means that your record will end at t=100ms. With our digitizers you can specify a trigger hold-off time which will delay the start of the acquisition from the time the trigger occurs. This means you won't have to start storing data at t = -500ms and can instead start storing at t=0. As long as all of this sounds correct to you then I think the 5132 can store the amount of data you need. From your earlier post I wasn't quite sure if you were saying that the trigger you could generate would occur before the even you needed to capture (t = -500ms) or after the event (t = 500ms). If it does occur after the event then the problem is that you can no longer use the trigger hold-off method and instead need to use "pre-trigger samples". When you specify the acquisition settings you can tell the digitizer how many samples it should store that occurred immediately before the trigger event. The number of pre-trigger samples you can store is defined by the amount of onboard memory. The 5132 is currently only available in a 4MB/ch version. If you are sampling at 20MS/s this means you can store a maximum of 200ms in internal memory but you would need 500ms. Again, this is only an issue if your trigger signal is after the data you want to capture.
As for using an external clock at the same time as using an external trigger it is true that the 5132 only has a single input (PFI1) that is used for the external clock input and digital trigger input. I couldn't tell from your earlier posts if you were intending on capturing data on both ch0 and ch1 or if you would only be using ch0. If you are only using one of the channels then you could use the other one as your trigger input and use the PFI line for your external clock. If you did use ch1 as your trigger line the trigger signal would not need to be full scale. Basically you can set any trigger threshold level you want within the full scale signal range you select for ch1 and as long as your trigger signal has sufficient amplitude to guarantee that noise does not generate false trigger threshold crossings you should be fine. Also keep in mind that the PFI line uses 3.3V CMOS levels while the CH1 input is much more flexible as far as voltage levels so in some situations using CH1 could be preferable. Another potential option could be that if your volumes were high enough we could make a special version of the 5132 that has a higher accuracy internal clock. This would free up the PFI line for use as a trigger.
One last issue for you to consider involves the isolation method you were referring to. All of the USB isolators I have seen are limited to USB 2.0 Full Speed (12Mbits/s). The 5132 supports USB 2.0 High Speed (480MBits/s). This doesn't mean the isolator won't work but it does mean that you will have reduced transfer rates between the PC and digitizer. If you have found a High Speed isolator I would be very interested in taking a look at it.
If you have any more questions please let us know, hopefully this information is helpful to you in making your decision.
-Matt
10-20-2008 12:27 PM
Matt -
We've decided to buy a couple 5132s and use the internal clocks, to free up PF1s for trigger. We have no way of guaranteeing trigger times in software, nor a way of applying a certain trigger on a signal channel, as we need them both for data. The low power consumption makes isolation so much easier that we'll figure out what to do with any internal timebase issues at 50ppm. The usb isolator we plan on using is the lcron rover, 12Mb/S, that speed OK with us.
Your outline of programming was much more useful than the guide at the link you pointed to, especially since the first dozen or so links pointed to for more detail as "resources" I tried were 404, and none of the hardware-specific pages I tried had links to 5132 programming. Yours was detailed and useful, thanks for taking the time. I might also point out that I have recently finished a project with an NI-DAQ pci card in a mac running X.5 and found that roughly half the functions pointed to in the Mac documentation for that card just plain didn't work, which was verified by support at NI .You'll forgive me if I'm a little skeptical of official NI documents anyway ;-). I do believe that an internally-clocked 5132 will work with an external trigger though.
thanks again, we're done
Alex
10-21-2008
09:19 AM
- last edited on
01-27-2025
03:49 PM
by
Content Cleaner
Hi Alex,
We appreciate your feedback on our documentation. You are correct that the online version of the help linked above does not yet include specific details on the USB Digitizer, although much of the programming details still apply. The latest help files include USB-513x specific support and will install locally on your system with the current version of NI-Scope (version 3.5), or you can download them separately here:High Speed Digitizers Help, NI-513x Specifications. The State Model within the High Speed Digitizers Help under Devices>>NI 5132/5133 Overview is a good reference to see the basic behavior of the device.
Additionally I would like to mention the product support page which dynamically updates with new resources which apply to the product, as they become available.
Also, I took a quick look at the link Matt posted to see if I could find the broken links you referred to so that I could get this fixed. However I was not able to find the one(s) you referred to. Would you be able to provide a specific example or two?
Thanks,
Jennifer O.
10-21-2008 11:46 AM
Hi Jennifer -
The page Matt pointed to, http://zone.ni.com/reference/en-XX/help/370592E-01/TOC6.htm , has the outline of a programming guide. Each link points to a valid page there, but I only found a bit on those pages, e.g.
http://zone.ni.com/reference/en-XX/help/370592E-01/digitizers/step_3-configuring_your_application/
At the bottom of those pages are links to "resources" with potentially interesting and useful stuff, e.g. from that page,
Which yesterday 404'ed but now point back to the Dev Zone main page. If I put say one of those titles into the search bar -
Triggering with High-Speed Digitizers |
NI High-Speed Digitizers: Optimized for Automated Test |
and 76 others. thee first two don't work today.
"Triggering With High Speed Digitizers" points to
http://zone.ni.com/devzone/cda/tut/p/id/4363
and "NI High-Speed Digitizers: Optimized for Automated Test " points to
http://zone.ni.com/devzone/cda/tut/p/id/7970
as do a bunch more down the row. Some work though. No the whole, not terribly helpful. Myself, I want linux c/c++ drivers and libraries, but if I have to I'll use (yuck) labview.
HTH
Alex
10-21-2008 02:01 PM
Thanks Alex,
I am able to pull up both documents, are you still unable to? I understand this must be frustrating and so I have forwarded on details regarding your experience to help ensure a more positive experience in the future.
Unfortunately the USB-513x is not supported in Linux at this time, however we do have C support as well as .NET (VB & C#) for these devices. You should find documentation for use in C within the High-Speed Digitizers Help I linked to earlier. This support is included with the NI-SCOPE driver. For .NET support there is a supplemental download (free) which you can find here.
-Jennifer O.
10-21-2008 02:59 PM
Yes they work now, thanks, and I see c/c++ references, good because the parties interested in using the digitizers want them running the day they show up...
Alex