Generating a 50 us 10V Pulse

I am trying to trigger a strobe light using labview 2009. What I need to do is generate a 50us 10V pulse at various frequencies. I am using an E series PCMCIA card and a SC-2345 and I have a SCC-AO10. I am assuming I need to somehow use a counter because trying to do it in a while loop even with a 1ms wait is actually 10ms when viewed on a scope. Any insight on how this should be approached would be greatly appriciated.
Thanks

Hi nasu,
Here are a few examples on how to generate a pulse train from a counter output on your card using hardware timing:
Generate a Continuous Digital Pulse Train With Variable Frequency Using Event Structure:
http://decibel.ni.com/content/docs/DOC-8382
Generate a Continuous Digital Pulse Train With On The Fly Frequency Control:
http://digital.ni.com/public.nsf/allkb/7B1B0427C39FE33086256CEE00752133?OpenDocument
 Generate a Continuous Digital Pulse Train With a Variable Frequency:
http://decibel.ni.com/content/docs/DOC-3751
Best,
Adam
Academic Product Manager
National Intruments

Similar Messages

  • The NI 1427, NI 1429, NI 1433, and NI 1435 can generate a maximum of 3 pulses.

    Hi all,
    I'm running a cameral link frame grabber card PCIe-1433, with an I/O extension board.
    LabVIEW 2013, Vision Development Module 2013, Windows 7
    In LabVIEW, I'm using 'IMAQ Generate Pulse3 VI ' to generate pulses.
    In the current iteration I'm generating up to 3 pulses, and the client would like more.
    According to the help file, "The NI 1427, NI 1429, NI 1433, and NI 1435 can generate a maximum of 3 pulses".
    Is there another way to generate TTL pulses on the I/O extension board lines, that doesn't have this limitation?
    Thanks,
    Jeff

    Hi,
    Thank you for the thoughts.
    We are collecting video (280 fps) of a test subject, with the PCIe-1433 frame grabber card and a Point Grey camera.
    At random time intervals we provide a random stimulus to the subject, maybe light, maybe sound, maybe air motion.
    Each of these stimuli is attached to a separe TTL output pin on the I/O extension board.
    The critical measurement is the elapsed time from the stimulus firing until the subject reacts to that stimulus.
    As it is currently set up, I can provide a stimulus (perhaps 0.1 seconds in duration) three times.
    The stimulus is a simple, single pulse, square wave.  That is, turn on this pin, for this duration, and then turn off.
    When I get to the fourth stimulus, the VI fails due to the 3 pulse limitation.
    I can live with that limitation, as the timing of the stimuli and the duration of the video seem to be okay with the limit of 3.
    Now I want to modify the routine, so that I'm using a user adjusted PWM signal from the I/O extension board to adjust the brightness of the flash of light.
    If I use the 'IMAQ Generate Pulse3 VI' to generate the PWM pulse train, then I lose one of my triggered stimuli.
    Since I have 3 different lights to control, that would use up all 3 pulses, and I wouldn't have any pulses left for stimuli.
    It is critical, however, that I record when the stimulus actually fired, so I can time the test subjects reaction.
    Can I get this tight coupling/timing if I use a second DAQ card instead of the I/O etension card?
    Thanks,
    Jeff

  • How to generate an analog biphasic single pulse

    Hi Everyone,
    I am a newbie to LV. I have been just using it for the last 3 weeks for my summer research project in which I am working with a professor on artificial neural networks. For the past week, I have been asigned to code a program in LV that will act as an interface between the user and the MEA via a STIMULATOR BOARD. I have successfully done the binary addressing part of the deal, but am stuck where I have to have a user-interface that will allow a user to generate an analog (AO) output of a single biphasic pulse to stimulate the neural network.
    The user has to have a choice of the pulse width (aka the duration), and the volt (aka height) of the pulse. Also he/she should be able to produce either a mono or biphasic simple SINGLE pulse (not a continuous pulse). I have been digging in examples but my efforts have not gotten me anywhere useful.
    Therefore, to all the LV experts...can anyone help me out with a VI that produces a SINGLE BIPHASIC PULSE for a finite time?
    Any pertinent help will be appreciated.
    Thanks,
    UE

    Ok.Here is the solution to ur problem.
     What u should use is the SQUARE WAVEFORM.VI, where user can specify the peak to peak value,offset & phase as well.
    Now inorder to generate the single square wave,its very simple.Under sampling inforamtion specify the Fs as 100 times the required frequenct Fout & no. of samples #s as 100(i.e.Fs/Fout). This will result in only one square wave.
    Then while writing on to your DAQ card select mode as "FINITE SAMPLE" mode.ith no of sample may be1.
    Let me give u a simple example. Suppose u want to generate the one square wave of 10Hz with +ve magnitude 5V& -ve to be 3V.
    The
    1.Peak to peak is (5+3) = 8.
    2. Offset is (5-3)=2.
    3.Phase is 0 or 180 depending on +ve or -ve pulse o/p first respectively.
    4.Frequency is 10.
    5.Fs is 1000 & #s is 100.
    6.Select the sample mode in "DAQMX timing.vi" as finite mode & no. sample per channel as 1.
    Also disable the REGENERATION PROPERTY od DAQ & try. It should help.

  • Use hardware to generate a certain number of pulses using PXI-5652

    Is it possible to generate a certain number of periods (turn on the output for a predetermined amount of time using hardware with micro-second resolution) using the PXI-5652.

    Hello Matt,
    If you had a Vector Signal Generator, this would be more controllable using something similar to this forum.
    Otherwise, the only way to control time on the 565x would be to use OOK modulation scheme. This will allow you to turn on the signal for a little time On and Off.
    There is a shipped example called "565x Digital Modulation.vi" (on versions 1.3 and later of the RFSG driver) that can perform this task. Basically it uses the function named "niRFSG Configure Digital Modulation User Defined Waveform.vi" to write the user bit sequence and with property nodes you will configure the OOK scheme and the symbol rate (refer to specifications of your card for the possible values).
    Hope this helps,
    Gerardo O.
    RF Systems Engineering
    National Instruments

  • HOW TO GENERATE FINITE AND CONTINUOUS PULSE TRAIN WITH USB6216 AT THE SAME TIME?

    Hello.
    I am using a USB6216 DAQ and need to generate a 20 kHz signal using the
    ct0 output and at the same time I need to generate a finite number of
    pulses, say 9, on a software trigger using the second counter output
    ct1.
    Currently, I have two VIs that can do this separately, but when I want
    to integrate these into one single VI y get an error in the finite
    pulse train for ct1 that indicates that the requested task is already
    reserved. I am thinking this has to do with the fact that maybe both
    types of task use the same timebase but I have not found the way to
    solve this problem.
    Any help would be very much appreciated.
    Thank you.
    Sincerely
    JSL

    Hello.
    If anybody is interested, the problem is solved.
    There is no resource confilct if I generate the 20 kHz continuous pulse
    signal using the frequency out terminal, and this way I can use both of
    my counters as I please with no problems.
    It's kind of fun to answer one's own questions...
    Sincerely
    JSL

  • How to generate and output 3 TTL square waveforms with different pulse widths using counters of NI 6034E

    Hello
    I just have a few questions.
     I am using the NI 6034E DAQ board in order to
    generate simultaneouly 3 different TTL digital signals, with different
    pulse width, and output these TTL signals to an external circuit that I
    am using for this application.
    The following pattern of the TTL pulses will look like this:
    01010101 01010101
    00110011 00110011
    00001111 00001111
    From
    what I understand,  I have to use the 2 counters, Ctr0 and Ctr1, to
    generate the TTL pulses that I desire, because the DIO lines are
    software timed only and I will not be able to produce a deterministic
    output period using these DIO lines.  Am I correct?    Also, do I have
    to use a separate counter to generate a separate TTL digital pulse.  I
    need 3 different TTL pulses and there are only 2 counters for this DAQ
    device.  The three generated TTL signals will be feed to an external
    circuit.  Concerning the hardware connections for my application, I
    assume that the generated TTL signals will be output from
    GPCTR0_OUT(pin 2)  for counter 0 and GPCTR1_OUT(pin 40) for counter 1
    of the NI 6034E. Is this correct?  Is there any way that these TTL
    signals can be output from three DIO lines(DIO0...2). 
    Here is some code that I plan to use in order to do this:
     #include <NIDAQmx.h>
    static TaskHandle gTaskHandle = 0;
    DAQmxCreateTask ("", &gTaskHandle);
    DAQmxCreateCOPulseChanTime (gTaskHandle, "Dev1/ctr0", "", DAQmx_Val_Seconds, DAQmx_Val_Low, 1.0, 2.0, 2.0);
    DAQmxCreateCOPulseChanTime (gTaskHandle, "Dev1/ctr1", "", DAQmx_Val_Seconds, DAQmx_Val_Low, 3.0, 4.0, 4.0);
    DAQmxCreateCOPulseChanTime (gTaskHandle, "?????", "", DAQmx_Val_Seconds, DAQmx_Val_Low, 7.0, 8.0, 8.0);
    DAQmxCfgImplicitTiming (gTaskHandle, DAQmx_Val_FiniteSamps, 5);
    DAQmxStartTask (gTaskHandle);
    DAQmxWaitUntilTaskDone(gTaskHandle)
    DAQmxErrChk DAQmxStopTask(gTaskHandle)
    DAQmxErrChk DAQmxClearTask(gTaskHandle)
    I believe this code should generate the 3 TTL square waveforms that I want for my application.
    Please provide me with some feedback.  It would greatly be appreciated.
    Thank You

     Hi,
    The NI 6034E is a multifuntion DAQ device, this means you have:
      (2) counters
      (8) DIO lines (software timed)
      (16) AI, single ended
      (0) Analog Output
     You have a couple choices here:
       1. Software timed digital output of all three signals, max 1khz loop rate, non-deterministic.
       2. Hardware timed digital output of 2 signals, max 20Mhz.
       3. Hardware timed digital output of 2 signals and software timed digital output of 1 signal.
       4. Find another NI MIO board such as the NI 6251. This board will do 10Mhz pattern generation for (8) DIO lines.
    For the hardware connection, you are correct, the output for the counters will be taken from pin 2 & pin 40.  Here's the pinout for the NI 6034E for reference:
    The output of the Counters can be routed to some of the PFI's or to the RTSI connector. You can see this in MAX
    Message Edited by Matthew W on 11-19-2007 01:24 PM
    Attachments:
    2007-11-19_131609.jpg ‏61 KB
    2007-11-19_132435.jpg ‏86 KB

  • How to generate a bipolar pulse train in LabView using USB DAQ 6211?

    Hi,
    I am setting up a system to generate either a single square pulse or a train of square pulses using LabView, with controls to adjust the frequency, amplitude, number of pulses etc. I have had a lot of help from NI tech support setting up the actual VI itself which seems to be working fine, and outputting the pulses via a USB DAQ 6211 using a square waveform generator and the AO1 channel on the DAQ.
    The problem that I now have is that I need to pulses generated in a train to be bipolar (as they are connected to electrodes so need to be bipolar o avoid salt build up on the electrodes from the voltage going in one direction only, at least that is how I understand it!).
    How can I set up my LabView VI to generate a bipolar pulse train instead of always being positive voltage? I am new to this area and so am trying to learn but there is so much to learn!
    Thanks,
    spamjam

    Hi Shalini,
    Apologies for taking a while to get back to you, I hope I can explain what it is that we need to create with the pulses. I understand what you mean about the existing pulses having a positive and negative on the graph - but we need the pulses to start from a resting voltage and the first pulse to be positive, then back to zero, then the second pulse to be negative then back to zero etc. This is to do with reversing the direction of the current between two electrodes to prevent build up of salts on one electrod from the current always passing in the same direction. 
    I have attached a .Tif file to this post to try to illustrate what I mean - the top picture shows how the pulses are currently generated, then bottom on is what we would like to produce if this is possible?
    Thanks for your help,
    Spamjam
    Attachments:
    Slide1.jpg ‏38 KB

  • How to generate a pulse of 5 V -ve polarity in synchronis​ation with a 10 v input using PCI 6251 DAQ board

    HI
    I want to generate a 5V -ve polarity pulse to trigger my IEEE 1394 camera using an PCI 6251 (scb68 pin E) device, furthermore I am reading a standard Vsync signal from a SVGA port which is 10 v.
    Now I want to synchronise the image capture of an IEEE 1394 camera with the Vsync signal so that camera is triggered to capture at every 4th Vsync signal (which is 50HZ.). Presently I am able to read the Vsync signal and also generate the -5 v signal But the Daq board generates a continues -5v signal while I want a 1 ms pulse (for every 4th Vsync).
    Also this 5 v signal is generated even if the vi is stopped running.
    Can anybody guide me so this problem can be solved.
    Thanks a lot in advance
    Shri

    You can use the Write function, that is you can use the 10 volt signal as a trigger for the task, and when you get this trigger, the task starts and generate (writes) a waveform you defined in an array ("data", in the example).
    Something like this..
    DAQmxCreateTask("",&taskHandle);
    DAQmxCreateAOVoltageChan (taskHandle, clokSource, your_sampling_freq, -10.0, 10.0,
    DAQmx_Val_Volts, "");
    DAQmxCfgSampClkTiming (taskHandle, clockSource, SAMPLING_RATE,
    DAQmx_Val_Rising, DAQmx_Val_FiniteSamps,
    samp_to_read);
    DAQmxCfgAnlgEdgeStartTrig (taskHandle, input_channel, DAQmx_Val_RisingSlope, 9.0);
    DAQmxWriteAnalogF64 (taskHandle, 1000, 0, 10.0,
    DAQmx_Val_GroupByChannel, data, //data contain a pulse
    &samp_per_channel, 0);
    DAQmxStartTask(taskHandle);
    // and then you create a loop....
    For example you can specify data to be like this:
    data[0] = -5;
    for(i=1;i<1000; i++){
    data[i] = 0;
    Tell me if you need more help.....
    bye

  • Generating interruptable pulse train

    I have a PCI6071E board and I'd like to use its counters (DAQ-STC) as a triggered pulse generator as follows.
    I get an 50% duty cycle pulse F ~ 10Hz (F is inaccurate). On each lo->hi edge I want to generate a train of 50 pulses using the counters.(*) If next trigger edge occurs before the train finishes, I'd like to immediately reset the current train (the output should be 0) and to start next one.
    There is an example of how to generate a finite-length train, but it fails to treat the (*) condition. As far as I understood, there is no hardware "reload" to the DAQ-STC counter. Is there another solution ?
    If it's impossible, is there any cheap dedicated counter board with an RTSI bus and an option to perform a hardware "realoa
    d" ? Any other options to solve this problem ?
    Thank you,
    Sergey.

    Hello;
    Unfortunatelly, you can't accomplish that task with the STC counter chip. The STC counter doesn't support triggering operations.
    You will need to migrate to one of the 660x counter boards so you can catch the trigger edge.
    As far as the hardware reset is concerned, there is no National Instruments device that support that operation. Once the pulse generation is started by the trigger pulse, it will run freely in hardware until it generates all pulses of the train. In case another trigger pulse comes while the pulse train is being generated, it will be ignored by the hardware.
    Regards
    Filipe A.
    Applications Engineer
    National Instruments

  • How to generate an output waveform and a pulse

    I want to
    generate a waveform and a pulse with LabView and PCI-MIO card.
    The waveform must be a sine with a frequency of 1 Hz and sampling frequency 10
    Hz. The pulse must be a square signal between 0 and 5 V with frequency of 10
    Hz. Every point of the sine waveform must be synchronized with every point of
    the pulse. The pulse is used as a trigger for a digital camera.
    I have been looking at the DAQmx examples but I haven't succeeded.
    Any comments on the best way of doing this?

    Hi Raimon,
    Look at attached VI,
    Here i am first building 2 waveforms sine and square of 10 hz, 0-5V and generating them on ywo analog output channels.
    You can use the logic of creating the two singals and for AO generation that i have shown in this VI.
    If you want AO to be regenerative/non regenerative, find the relevant  example AO generation VI's, modify it to generate functions generated by my VI and go ahead.
    regards
    Dev
    Attachments:
    generate multiple voltage.vi ‏112 KB

  • How do I generate a pulse with a user specified puse duration, down time and repitition, and then out put to a graph?

    How do I generate a pulse with a user specified puse duration, down time and repitition, and then out put to a graph and then to daq ports? 
    I used lab view in engineering class, but that was the extent of my usage and after fiddling around in lab view and looking on the web looking for solution, I could not produce desired results.  My professor wants me to produce something that will output a pulse for a specified duration, then downtime for another specified duration and then repeat the process a specified amount of times.  
    I am using labview version 7.1
    Thanks in advance.

    Hello,
    Are you using hardware (DAQ card) to generate this pulse or are you planning on doing this all in software.  If you have a DAQ card in LabVIEW you can go to Help » Find Examples and then select Hardware Input and Output » DAQmx » Generating Digital Pulses » Gen Dig Pulse Train-Finite.vi.  This will use a counter from your DAQ card to generate a finite number of pulses at a specified frequency and duty cycle.  Give this a try, or let me know if you are not using hardware, and we can figure something else out.
    Regards,

  • SMU 4140 current pulse question

    Hello everyone,
    I am seeking any advice or help on how to maintain stable a current pulse when its frequency is increased.
    The equipment:
    Chassis PXIe1078
    Controller PXIe 8115
    SMU: PXIe 4140 (4 channels)
    The problem: I am correctly generating a 7mA - 14mA current pulse up to 20Hz but when I increase the frequency to for example 100Hz, the current signal attenuates to a 10mA - 12mA pulse, and if I keep increasing the frequency the signal becomes a complete mess.
    Questions: How can I manage to stabilize the current pulse to higher frequencies without signal attenuation? Am I following a correct programming strategy from the point of view of the VI's that I am using? or should I use the "Current Pulse VI" of the DC power palette for example?
    The VI: please find attached the VI that generates the current pulse. Try increasing the frequency (by reducing the time parameters in the "Delay" array)  
    Thanks for your kind help,
    Cesar
    Attachments:
    SMU_4140_Current_Pulse.vi ‏34 KB

    Danke fuer deine Antowrt Henrik, (my German is terrible...)
    The current is passing through a 1kOhm resistor that cannot be changed to a lower value. I've checked the SMU 4140 module specs and the voltage range is -10V to 10V and thats low considering the fixed resitor value.
    I might be wrong, but I think I cannot achieve my goal with this SMU module.
    Still, further ideas or advices are greatly appreciated.
    Greetings from Mexico,
    Cesar 

  • Finite pulse-trai​n generation with variable time lapses with NiDAQmx

    Being a newby in Labview and NiDAQmx, I find it tedious to program the application I need to drive my experiment : I want to generate a finite pulse train, with variable delays between two consecutive pulses. These delays are known before the experiment starts, summurized in a table (element 0 decribes the time lapse between pulse 0 and 1, element 1 between pulse 1 and 2 ...). I would like to use NiDAQmx to program this. I had in mind the following scheme : two counters, first one counting time between pulses, the second one generating the pulse once "counter one" has finished his job. What I don't figure out is how to reprogram "counter one"'s register, without introducing unwanted delays in the time
    sequence of my finite pulse train. I am using a 6052E DAQ, and I want to generate delays in a same pulse train ranging from 1 microsecond up to 20 seconds.
    Thank you for ANY help :-)

    Hello !
    Well, I will try to be more precise while answering your questions. But first let me thank you very much for your help : your comments, questions and remarks are very helpful to help me shape my project, as you shed light on particular problems I strictly had no idea before !
    1) I can certainly get on well with digital output as my flash device is triggered by TTL signals.
    2) The lighting device is home-made, and I think it will be better for my needs to produce light throughout the duration of the input at the “on” level. In any case it will be driven by TTL-like signals. The intensity is manually set, so no analog control is required.
    3) I will use Labview to collect the experimental data. The signal will be sampled during the light pulse : the rising edge of the TTL-like output signal will trigger both the lighting device and the data acquisition, the latter being stopped on the falling edge. The light emitted by the lighting device is called a “probe” for the following reasons : the photons are absorbed by the photosynthetic sample and “immediately” re-emitted at a longer wavelength. A photodiode acts as a signal transducer, and I monitor the intensity of this fluorescence. Knowing precisely when light pulses occurred after the initial start excitation (which is also a brief pulse of light but of a much greater intensity than the “probe” light) and the intensity of light emitted during theses pulses, I can reconstruct the kinetic of fluorescence decay. This kinetic reflects the behaviour of my biological sample. Thus no continuous acquisition is required as between two light pulses there is nothing to monitor. And all the half-time reaction are timed relative to the same “start” excitation as they reflect a jump sequence of an electron extracted by the “start” excitation : first jumps are quick ones (half-time in the 10 �s range) and last jumps are slow ones (half-time in the 1 s range). With respect to these kinetics, I would like a 1 �s precision. If not achievable, I could skip the quickest jump (but it would be a pity) and focus on the second one which has a 10 ms half-time reaction and a 100 �s precision would then be enough. But as we say in French : “Qui peut le plus, peut le moins !” (roughly meaning that when you can achieve the best, you easily can do the least). This precision relates to the position of one flash with respect to the others. I don’t need to be very precise on the duration of each individual light pulse : a typical value is 100 �s duration, but I can get on well with 90 �s or 110 �s, my data being an average of the light intensity emitted during the light pulse). All I want to know precisely is when it is fired.
    4) Concerning the hardware, I already have a NI 6052E DAQ board, and unfortunately my laboratory cannot allow me to spend more money on this. I also have a fast acquisition board (IMTEC T3012) I intended to use to acquire my photodiode signal in place of the 6052E A/D converter. It has an old Labview driver, and I managed to upgrade it to suit my needs. It has an onboard segmented memory and can keep track precisely (it has a 60 MHz sample clock) of a trigger event. I am wondering if I can overcome the timing precision issue with this board, knowing that I strictly don’t care that flash n�1 is triggered at (t0 + 10 �s) or (t0 + 11 �s), provided that I know it, allowing me to place precisely my data point on the time scale. I can program the number of memory segments (i.e. the number of light pulses) and each one is filled with data coming from the photodiode upon receiving the rising edge triggering the light pulse. The precise date at which each triggered is received is stored in the board memory, allowing time reconstruction.
    I do hope this is much clearer than my previous attempts ! Believe me, it is quite hard to leave biology for a while and enter the cryptic world of data acquisition !
    Gritche

  • How to get delayed pulse train

    hello,
    i am using Labview 7 and a PCI 6014 interface card. i want to generate delayed pulse train. for this purpose i am generating a analog waveform using 'function generator.vi'. i supply this waveform to a counter and to generate delay i am using 'finite pulse train(daq-stc).vi'. when i set trigger mode to 'no trigger', the VI works fine. But if i supply generated waveform to the counter gate(i.e. setting trigger mode to external), i see for sometime pulses missing are missing. I have also tried several other VI's(like 'delayed pulse easy.vi' and 'cont pulse train easy.vi'), but facing same problem. Can you please tell me how can i solve this problem.
    regards,
    Abhijeet

    hello Alan,
    Ok! here i explain my code. My requirement is to supply contineous 5V pulses at around 10Hz to a camera. After some time of the rising edge of pulse to the camera, i want to trigger Laser-1 and after some time of rising edge of the pulse to the Laser-1, i want to trigger Laser-2. In PCI 6014 there are only two counters which i am using for two Lasers(for delay generation). For Pulse train generation i am using 'function generator.vi'which is basically a waveform generator, but to get pulse train i set offset equal to amplitude. I supply this pulse train to two counters. To generate delay from the counters i am using 'Delayed pulse easy(9513).vi' which i have put into while loop. To see the output i am using 2-channel oscilloscope vi where i see some pulses missing. Also I obsereved pulses missing when i supply the output to the Lasers(Lasers stops firing for moment).
    I am attaching a timing diagram which is explains my application and a labview code where i have combined three VIs (one 'function generator.vi' and two 'delayed pulse easy(9513).vi').
    Thank you,
    Abhijeet
    Attachments:
    camera+laser1+laser2.vi ‏188 KB

  • Finite pulse train with variable pulse widths

    Greetings LabVIEW developers,
    Does anyone have code that can show me how to use E-series counters to generate a finite pulse train where the individual pulse widths vary? I need to generate a series of 20 pulses with the high time for each pulse randomly varying between 50 and 1000 microseconds. The low time for each pulse needs to be constant (around 50 microseconds).
    Thanks,
    Ryan Wright

    Ryan,
    Sorry, but this isn't possible with the counter/timers. I've been wanting this capability myself for about 6 years now.
    Personally, I think it's an unfortunate "hole" in product capability. The other major data acq hw allows you to capture and later replicate a signal of interest. You can capture an analog waveform with AI and later play it back with AO. You can capture a digital pattern and later play it back with timed DIO. You can capture buffered semi-periods with a counter -- but you can't play play them back later. So for your app, you'll need to generate the variable freq using timed DIO. The new M-series boards ought to work for this, or a dedicated high-speed digital board.
    There's another product that I think is even better for timed DIO though and it's put out by one of NI's "Alliance partners" -- Viewpoint systems. Here's an example of why I like it. Let's say you need to generate 20 pulses within 60 seconds. The times of the pulses need to be precise to within 1 usec, and they have no common divisors. The NI method will require you to use an update rate of 1 MHz and you'll create a buffer of 60 MB to represent the digital pattern at every usec. The Viewpoint method needs a buffer of 40 entries. Each entry is a combination of a timestamp and a pattern to generate at that timestamp. That pattern will just stay there until the next defined timestamp. So all you do is define the digital pattern at the instants when one or more bits will change. It works analogously for digital input - if you capture with 1 usec resolution for 1 minute but there are only 20 pulses (40 digital transitions), you only capture the 40 relevant timestamps & patterns instead of a full 60 MB.
    If interested, look for the PCI-DIO64 at Viewpoint's website.
    -Kevin P.

Maybe you are looking for

  • PL/SQL support Java and VB

    We are exploring the possibility of one Oracle DB supporting both Application written in VB and Java. Do I have to write two sets of PL/SQL stored procedures/packages so that one will work with VB codes through OraOLEDB and the other set will support

  • Animated .gif has dither on bitmaps even if disabled

    I'm trying to create an animated .gif from Flash Pro. I set from Publish window to export a animated .gif with Smooth, with a custom Palette made in Photoshop (because default palette settings generate an awful result...) and with Dither set to none.

  • Itunes and quicktime both fail to launch, giving error reports

    Getting a little ticked because ive been trying to get itunes to properly work. To clarafy, i've done the following to try and fix this problem Uninstalled itunes and quick time Re-installed Uninstalling just quick time and it almost loaded until it

  • HT1937 My phone got stolen and I don't have "find my iphone" app, I need a way to track it down

    My phone got stolen and I don't have "find my iphone" app, I need a way to track it down

  • Email password info needed

    Someone else has my Iphone and I can't get it back. They have been reading my emails. My question is: If I change my password on my email account will he still be able to recieve my emails or would he have to re-enter the new password to continue rec