03-04-2008 03:00 PM
04-08-2008
01:29 PM
- last edited on
04-10-2024
02:25 PM
by
Content Cleaner
Hi Coolvar. What is what you are doing in your application is it PWM? For example in a train of 3 pulses does each one has different amplitude or size? What hardware do you have? Here there are 2 things in tat determine the outcome you program and the card you are using. If you are using the card in On Demand Mode, every time your program goes into the loop it will write the value, here the minimum timed loop you can achieve in Windows is 1ms, if you are using Real Time device for example a PXI in RT you can get 1us minimum loop.
Now if programatically you want really fast loop you need a FPGA device as de R Series Intelligent DAQ Devices or the cRIO, with this you can achieve loops of hundreds of nanoseconds.
But this Software timing doesn’t mean you can send faster signals here can for example build you waveform (even if it changes faster than 1ms) and sent it to the Analog Output with N samples o continuous, and you feed several point into the DAQ each loop so it will be able to give you the signal that you need.
Even if you need more accurate signals you could use an Arbitrary Waveform Generators
Creating a Delayed, Retriggerable and Finite Pulse Generator
Complete Data Acquisition Tutorial
Best Regards
04-10-2008 11:14 AM
Hi BeCeGa, my application is an analog pulse in which I control its amplitude and duration. For example I can send a 1 volt pulse of 100 ms then a 3 volt pulse of 200 ms and then a 5 volt pulse of 50 ms. I made a vi that generates a waveform of what I want to send using a loop tunnel and then sending it at the desired rate but it continuously sends it as if it were a period of the waveform. My aim is to only send one period (the one i made using the loop tunnel) at the highest sample rate of my NI-6025 E card but i constantly get memory underflow error at relatively high sampling rates. Also I would like to know if this kind of vi could work in a FPGA device so that with the latest tecnology I can send my pulse at a nanosecond rate. Thank you for your time and attention. Tell me if you need a copy of my vi for evaluation.
Alexis Vega
04-10-2008
12:34 PM
- last edited on
04-10-2024
02:26 PM
by
Content Cleaner
Hi Colvar the trouble you are having with the underflow is that you are not generating enough point for the waveform to the card to send. It send 100 per second and you only have 80 so you would have to reduce the time the generating loop takes or create more points than you are creating. Also if you just want one pulse you have to generate the waveform like that with the pulse and everything else in 0 so the card will be constantly writing zeros.
To program the FPGA you can do it with LabVIEW but you need the FPGA module. Basically you can program as in Normal LabVIEW but you have to use the pallet specific for FPGA as it doesn’t support floating point. You can find many examples and tutorials in ni.com
For example in this link: Developing a PWM Interface using LabVIEW FPGA, you can see how to program a PWM in FPGA.
Best Regards