Frequency measurement of a very short pulse

Hi I am using PXIe 6368 to measure Oscilliator Frequency. This signal is connected to PFI lines and I would like to use counters to measure frequency but the pulse width is too brief ( 12 ns ) . How can I determine if the hardware counter can even detect this short pulse for frequency measurement?
Thanks 

Gerd,
i am not aware that TTL specifies detailed timing information. The main reason: TTL was introduced as "standard" in 1961. In the mean time, all our semicondictors are way faster than back in that time. So if TTL would specify timing in detail, there would be the requirement for different versions of TTL (just like USB 2.0 vs. USB 3.0).
I don't know about TTL 2.0 (or higher), so i doubt timing specs to include hard numbers.
NI specified TTL signals for older controller chips (compare here) but i am not aware of any updated document for STC3 chips which are used for X-series devices.
Norbert
CEO: What exactly is stopping us from doing this?
Expert: Geometry
Marketing Manager: Just ignore it.

Similar Messages

  • How to generate very fast pulses (single puls)

    Hi,
    I have a problem with generating fast pulses in LabView (2009 / 9.0, Win7-64enterprise).
    I try to explain my project:
    I have a femtosecond laser which sends pulses with a frequency of 200kHz. It mean 100fs puls 4.9999us low...100fs pulse.....
    The laser have a gate which switches the laser output on and off (optic crystal --> very fast)
    My task is to make it possible to send one single pulse out of the laser. You should have some user interface with LabView and enter
    the amount of pulses (one, two... or more) and a big "fire" button.So we can make tests with a fixed amount of pulses.
    I am very new to LabView and really dont know how to generate very short pulses. I try with a NI-USB6008 card and was possible to do some time loops
    to generate something close to 100Hz. Now I have NI PCIx-6351 card. and want to try to generate pulses of 1us. How to do??? I dont see any posibility to go below 1ms.
    Later on I want to try some syncronisation with the laser. I want to catch one pulse and sync to the next pulse.
    Anyone able to help me with this task ?
    btw: sorry for my clamsy english...
    bjoern

    bjoern,
    OK.  A gate window should be something which can be accomplished.
    The USB-6008 only uses software timing so fast pulses are not possible with that device.
    I am not familiar with the PCIx-6351 and can find no reference to it on the NI website so I do not know what its capabilities are.  Many of the NI cards with digital I/O and counters can generate pulses or pulse trains in the timing range you want.  If you have the NI DAQ drivers, look for examples of pulse generation.
    Lynn

  • PXI-6624 Pulse Frequency measurement

    Hi.  I'm working with a PXI-6624 and am interested in doing pulse frequency measurements to get both frequency and duty cycle on its inputs using DAQmx.  
    Whenever I go to create the virtual channel however, I get error -200431:
    "Selected physical channel does not support the measurement type required by the virtual channel you are creating."
    "Requested Value: Pulse Frequency"
    "You Can Select: Frequency, Period, Pulse Width, Semi Period, Two Edge Seperation, Position:..."
    Is this card really not capable of doing these pulse frequency measurements?  
    Solved!
    Go to Solution.

    Yes, the "Pulse" (not to be confused with "Pulse Width") measurement was introduced with NI's STC3 devices including X Series and CompactDAQ.  
    Pulse Measurement:
    However, you should still be able to measure frequency and duty cycle on your card with a semi-period measurement:
    Semi-Period Measurement:
    Images are from the X Series User Manual.
    The difference between the two modes comes down to how the data is stored and buffered on the card--with the semi-period method the hardware doesn't distinguish between high and low samples and puts everything into a single buffer.  However, if you start the counter off the appropriate edge (see below property node), then you would know in software the order of high and low samples and can pretty easily calculate frequency and duty cycle from this.
    Best Regards,
    John Passiak

  • Why does my AI acquisition slow down to my frequency measurement rate?

    I'm using Labview/Daqmx to program my SCXI 1520 and TC modules while at the same time using the multifunction capabilities of the E-card controlling the SCXI.  This has been fairly easy until I wanted to use the frequency and counter measurements (outputs/DIO works great).  I'm using a waveform with buffered acquisition for the read on the AI channels and obviously there is no waveform for the frequency measurement so I'm just combining the signals using the dynamic data.  This works great when my input frequency is higher than my acquisition frequency.  When my input frequency is lower than my acquisition frequency the acquisition slows down to that frequency and the AI read falls behind (buffer fills while waiting for another frequency measurement).  I'm assuming the frequency read is not keeping up with AI read.  I understand that as the frequency is reduced it takes more time to calculate the frequency.  So how do I "read" the frequency measurement at the same rate as the AI data?  I'm fine with using the last frequency measurement until a new frequency measurement is available but I can't even seem to be able to do that.
    An example of the problem is measurement of vehicle pedal force (AI channel) with pulse input for vehicle speed.  Assuming 100 Hz acquisition and the vehicle stopped or going slow (very slow pulse train) I should be able to acquire data at 100 Hz even if I just use the last data point for the frequency channel until another point is available.
    Please help, thanks.

    Basically, the very fact that you're *doing* a frequency read suggests that you don't know the expected freq ahead of time, and probably suggests that it can vary.  The waveform datatype assumes a constant interval between samples which wouldn't generally be true for frequency measurement, and that's why you can't use it.  Since the actual timestamps of the frequency measurements are NOT the same as those in the analog waveform, it's likely a mistake to pretend they are.
    My method is to create my own array of "timestamps" for the frequency data.  Create a For loop with a shift register initialized to 0 from outside the loop.  Let your freq array auto-index the loop.  On each element, perform (1/x).  Add result to the left-hand shift register value and write it to both the right-hand shift register and to an auto-indexing output.  When the loop completes, the output array will hold timestamps that correlate to your freq measurements.  From there you can choose whether to display on an X-Y Graph, or whether to perform some interpolations to calculate freqs at the analog sample times or vice versa.
    -Kevin P.

  • Simultaneo​us frequency measuring

    I have to measure for frequency signals simultaneously, so that I'm able to associate one measured value to the others. How do I synchronize this? Is this possible with the four counters on a 6601 board? Two of the signals have frequencies up to 15 KHz, two of them go up around 4kHz. I also have a 6014 board with an additional counter available, maybe I could use it somehow...I also have to synchronize the analog acquisition that I perform with the 6014 with the one of the frequency signals, namely a continuous TTL pulse.
    Thanks in advance for any help!

    It sounds like there are two major parts of your application that you need to work on (1) synchronizing your counter operations and (2) synchronizing your analog input (AI).
    Since you need to perform four frequency measurements, the easiest way to get the counters synchronized is to supply a common gate and trigger to all four counters so that they start together and all acquire their frequency measurements off of the same input clock/pulse-train. I have attached an application note that discusses a lot of the factors that you need to consider and how to perform multicounter synchronization. Also the following link also gives some more information on triggering multiple counters with a single pulse:
    http://digital.ni.com/public.nsf/websearch/CE99A0B​2A
    9048A2A86256C630062F550?OpenDocument
    Along with this, you mentioned wanting to synchronize your analog acquisition with one of the frequencies. I am assuming that this means you want to trigger your analog acquisition based on one of your four frequency signals. I am not completely clear on what your application needs to do here so I would look at what you have and at some of the information online and the shipping examples to see if you can find a good example to show you what you need to do in this case. If you need to set up a retriggerable AI, then remember that your hardware is not retriggerable; however, you can emulate this in software, which can be slow since it is not that efficient and is very system dependent, or you can use two counters to create a continuous pulse train.
    Regards,
    Michael
    Application Engineer
    National Instruments
    Attachments:
    Multicounter_Synchronization_App_Note.doc ‏52 KB

  • 6602: How to use 8 counters simultaneously in C++ using traditional Daq for frequency measurement

    Hi Everybody;
    I'm new to Ni-DAQ cards and working on NI PCI-6602 Card in Borland C++, I should use Traditional DAQ for my project. Now I want to use all the 8 counters simultaneously for frequency measurement.
    1.Where should I connect my External signal, to source or gate, at present I have connected to source.
    2. How to set parameters and start the counters simultaneously, what are the parameters to be set for frequency measurement.
    3.How to start counting.(parameter settings)
    4.Should I set any PFI Lines or by default are they set to counters.
    status = GPCTR_Set_Application (1, gpctrNum, ND_SIMPLE_EVENT_CNT)
    status = GPCTR_Change_Parameter (1, gpctrNum, paramID, paramValue)
    iStatus = GPCTR_Watch(1, gpctrNum, ND_ARMED, entityValue);
    status = GPCTR_Watch (deviceNumber, gpctrNum,ND_COUNT, entityValue)
    what is the paramID in my case, Clear and appropriate answers would be very helpful and thanks in advance.
    Message Edited by Pavan K on 07-11-2009 12:38 AM

      I have made a program with LabVIEW 5.1 based on NI 6602, in which four counters were used.
      Counter 3 is used to generate pulses, which are directed to the gates of counter 0, 1 and 2. 
      The source terminals of counter 0,1 and 2 receive pulses, individually, to count how many pulses appear during the time interval of each gate pulse.
      The results are stored in a data file.
      In order to test its performance, only one signal of ramdom pulses is sent to counter 0,1 and 2.
      But I find that at the beginning the counts for the three counters are the same, but the following counts are totally different!
      What's wrong? And how to solve such a problem? Does it have something related with synchronization?
      Thank you very much!

  • Frequency measurement question

    hi,
    i'm trying to get a graph/table of the frequency of a signal as it varies with time using LabVIEW 8.2. the frequency of the signal i'm analyzing is constantly changing, so i would like to, ideally, find the frequency of each pulse so that i would be able to graph that frequency as a function of time. the signal is generated by a fiber optic system which is hooked up to a standard NI DAQ card.
    right now i'm trying to use the Spectral Measurement VI wired to a graph, however it doesn't seem to be producing the desired results.
    thanks

    Hi Ben,
    Ah, I get it now, thank you for the pictures.
    "Just
    to clarify, does the Counter I/O -> Frequency task work with
    non-digital signals?"  No, the input to a counter task must conform to
    the 5V TTL logic standard.  Here
    is a document that talks about how to use non-TTL signals with counter
    tasks.  Since you are interested in the length of time between two
    adjacent peaks or troughs, it would be nice to use a digital frequency
    task, but this analog signal needs a lot of help before you can use it
    as a TTL counter input.
    "Also,
    it would seem that the Analog I/O ->
    Frequency would be the ideal task for my application, however it
    doesn't seem as though it is supported by my card..." You are correct,
    you cannot directly take an analog frequency measurement with your
    hardware.  Different hardware is required.
    What's coming to mind is a direct measurement between two adjacent peaks and troughs.  LabVIEW ships with some very nice examples for this type of measurement.  From LabVIEW's Help Menu >> Find Examples... >> Analyzing and Processing Signals >> Time Domain Analysis >> Peak Detection and Display.  Please note that some of the VIs required by this example are not included in the LabVIEW Base Package.  Below is a screen shot of the front panel.  Computing the frequency of each pulse is then a matter of calculating the time between two adjacent peak or trough values.  I hope this gives you some ideas.
    Message Edited by Pie56694 on 07-09-2008 11:34 AM
    Message Edited by Pie56694 on 07-09-2008 11:35 AM
    Attachments:
    2008-07-09_101048.jpg ‏94 KB

  • CO Pulse Frequency doesn't actually generate 1 Pulse per Second?

    Hello all,
    I have a VI layed out in the attachment below.  I seem to have a lack of understanding on how to program this VI here.  I just don't understand what is possibly going wrong.
    The VI is very basic.  The frequency has been set to 1, and the units are Hertz.  To me, this means that the program should send one pulse to my linear actuator ONCE per second.  I have a simple pulse counter set up in the VI as well to count how many pulses are actually being sent (using the DAQ assistant).  Why is it that when I run the program, I get around 300 pulses per second?  Raising the value makes it goes slightly faster, but lowering the value doesn't really make it go any slower.  There seems to be no real correlation between the input frequency and the actual number of pulses that are sent.
    I just simply want a program that I can input "1 pulse per second" or however many pulses I want per second and have the card send ONE pulse per second (or however many is input).  Where do I start?  I have a whole program written out and ready to go, but this basic concept here completely eludes me. 
    Thanks,
    James
    Attached:  1) Picture of concept that I'm completely baffled about  2) VI of my program which said concept is being used in
    Solved!
    Go to Solution.
    Attachments:
    Voltage vs Distance SM v1.1.vi ‏475 KB
    COPulseFreq.jpg ‏75 KB

    In the simple image, you are running a loop as fast as possible (there's no timing mechanism).  Inside that loop, you configure the pulse task, start it, then immediately stop and clear it.  You need to create the channel and configure the timing outside the while loop, before it starts, and you need to clear the task outside the loop as well, after the while loop terminates.  Depending on what you want to do, you may be able to move the task start outside the loop as well, or just let the task auto-start.
    You'll need to restructure your VI a bit.  I can't tell if you want to clear the task after each step, or just change the frequency.  If it's just the frequency, you can use DAQmx Write to change it; if you need to start and stop the task, you'll need some logic to do that once each time you want to restart (you may get an error if you start a task that's already running).  There's no need for "Is Task Done?" since you're not using the output for anything.
    EDIT: Also, it is always a good idea to put a wait inside loops that execute indefinitely.  Otherwise they will spin as fast as possible, consuming all available processor time and preventing other code from running.  If you configure your counter task properly the loop timing won't affect the pulse rate (because that's done in hardware) but there's no need to run the loop that fast.

  • Continuous frequency measurement~

    Dear sir,
        How are you today?
        I tried to program the "Measure Frequency.vi" in LabView 5.1 .  I've the simplified version
    from "LabView Measurements Manual" in page 10-26. Basically, we want to measure the
    frequency change within 20 ms (chirp). So I just naively added the "for loop" enclosing everything,
    as the attached VI. But the testing result (please see the attached document) showed that
    sometimes the counter/timer (AM9513) lost count. Could you please troubleshoot my VI and
    tell me how I should improve?
        In addition, I tried to use the oscilloscope to see the gate signal from counter-1 (counter 5)
    OUT pin, but it showed 0.14V. The signal from GATE pin of counter (counter 1) showed 5V.
    I was expecting what I would see is something like TTL signals with different pulse widths and
    delay widths. Can you tell me what I was doing wrong?
        Thank you for your previous answers!
    Best regards,
    Margaret
    Attachments:
    Continuous Measure Frequency1.1.vi ‏122 KB
    continuous frequency measurement.doc ‏168 KB

    Hi Margaret,
    I think that there is one way to obtain a count every 20ms. What you will need to do is:
    1. Generate a 50 Hz pulse train
    2. Connect your signal to the a counter source
    3. Connect the 50 Hz pulse train to the counter gate
    4. You will obtain a series of counts over a 20ms period and you will be able to determine the frequency of the signal using post processing by dividing the count # by 0.02.
    I noticed that you are using LabVIEW 5.1. This version of LabVIEW is no longer supported. I highly recommend upgrading to a newer version of LabVIEW. This will allow you to program with the DAQmx driver and creating your application with this driver would be significantly simpler and take a lot less time.
    If you do not want to try this method, then I am attaching the screenshot for measuring the time the while loop takes to execute. I want you to know that the overall time will not have an effect measuring the signal's frequency. There really isn't anything you can do to decrease the execution time for the counter. I hope that you find this information helpful.
    Regards,
    Hal L.
    Attachments:
    While Loop Timing.gif ‏12 KB

  • How to use a photogate for frequency measurement using a NI USB-6211

    Hello, I am extremely new to LabView and am having trouble using the counter feature (or if this is even what I should be doing). I am trying to use a photogate as a frequency counter when a voltage spike is created by blocking the sensor. This will then be put into RPM and used to evaluate a small motor dyno I am creating. If anyone has any help or previous vi's they dont mind sharing it would be greatly appreciated. The photogate specifications are for an optek opb930l55. Thanks 

    Configuring a counter input task will be a little different depending on the type of DAQ card that you are using to read the digital pulses.  You just need to wire the voltage from the photogate to one of the counter pins on the card.  Then follow one of the many examples for measuring the frequency of pulses.  If your card allows it, I would suggest choosing the Counter Input >> Frequency measurement from the DAQmx Create Channel VI.  If you have questions about how to do this with your specific DAQ device, please provide more information
    Zach C.
    Field Engineer
    Greater Los Angeles

  • New M Series DDK Example: High Frequency Measurement with 2 Counters

    This example demonstrates how to configure two counters on an M Series device to measure a high digital frequency. One counter generates a continuous pulse train of a set frequency while the other counts the external signal using the pulse train to latch values. Data is transferred via DMA.
    Use this example to add high digital frequency measurements or DMA data transfer for counter input to your driver.
    Please let me know if you have questions or problems. Thanks :-)
    Joe Friedchicken
    NI VirtualBench Application Software
    Get with your fellow hardware users :: [ NI's VirtualBench User Group ]
    Get with your fellow OS users :: [ NI's Linux User Group ] [ NI's OS X User Group ]
    Get with your fellow developers :: [ NI's DAQmx Base User Group ] [ NI's DDK User Group ]
    Senior Software Engineer :: Multifunction Instruments Applications Group
    Software Engineer :: Measurements RLP Group (until Mar 2014)
    Applications Engineer :: High Speed Product Group (until Sep 2008)
    Attachments:
    gpctex5.cpp.gz ‏4 KB

    You should connect the signal (whose frequency needs to be measured) to Ctr-1, and there gonna be an internal connection between the output of the first counter and the gate of the second counter (as described here).
    You may want to check this link as well.
    I am not allergic to Kudos, in fact I love Kudos.
     Make your LabVIEW experience more CONVENIENT.

  • Frequency measurement using Labview 8 and Fieldpoint FP-CTR-502 - wind speed measure

    All the information regarding this kind of application seems to be outdated, I did not find no solution or example to construct frequency measurement VIs using Labview 8
    The examples at "NI Discussion Forums :
    Most Active Hardware Boards :
    FieldPoint Family :
    Low-Frequency measurements using counter/timer" is very strange and so far the steps given seems to be usefull only do old Fieldpoint Explorer.
    I was trying to find a way to learn how to make an anemometer send its signal to a FP-CTR-502 but I have no sucess.
    I am realy very new on this Labview stuff, any help would be welcome.

    (similar thread here)
    Message Edité par Mathieu R. le 12-23-2005 02:28 PM
    .mrLeft{float:left} .mrInfo{border-left:solid 1px #989898;font-size:x-small;color:#989898}
    Mathieu R.  
      CTD - Certified TestStand Developer / Développeur TestStand Certifié  
      CLAD - Certified LabVIEW Associate Developer  

  • FP-CTR-500 and Frequency Measurement: How to modify it to report the frequency (0-10 Hz) every one minute?

    How to modify "Frequency Measurement" to report the frequency every one minute?  
    The signal frequencies vary from 0 to 10 Hz (see the analog output plot and attached sample data file), so I want record the average frequency every one minute. 
    Software: Labview 8.5 
    Hardware: FP-CTR-500
    Program: "Frequency Measurement"  --build in and under "NI example finder", It was attached with this message. 
    Physical wiring: (1) The signal I want to measure to count input 1 (pins 2 and 18).  it is a pulse signal (range from 0 to 1 V, see the plot and attached data file). 
     (2) Wire Output 0 (pin 130 to gate 0 (pin 9).   Do com pins 26 and 30 need to wire together? 
    FP-CTR-5000 was set up in Max based on the program instructions. I have tried different gating pulse frequency, my readings are always "0". 
    Attachments:
    H2O_20130809.xlsx ‏18 KB
    Frequency Measurement.vi ‏35 KB

    CTR-500 high pulse is >=10V. Hence, it always read your pulse as low. With this low voltage pulse, you must use analog input module, and write a program to read pulse from analog level. You must also make sure that you pulse is not so narrow that cFP loop is not fast enough to capture voltage change.

  • Measre pulse width of a very narrow pulse

    hi,
    I have one query.
    I have to measure pulse width of a very narrow pulse , may be it is 0.1 ms
    or less . I m using the VI , which I m sending u with an attachment
    here....I m having doubt that this VI is able to measure the required pulse
    with. Sometimes It is giving wrong values too. So Plz suggest some solution
    which may fulfill my requirement.
    I need the answer at the earliest. I'll be grateful to u.
    Regards.
    GNS
    Attachments:
    Measure_Pulse_duration.vi ‏103 KB

    Hi GNS,
    If you are using an E Series card or a 660x card, you should have no problem making a fairly accurate pulse width measurement. When performing pulse width measurements, your maximum error will be +/- 1 pulse of your timebase (assuming the crystal oscillator error is negligible). If you are using a 20MHz timebase, you will have a measurement resolution of 50ns. 2000 pulses would occur to measure a 0.1ms signal. Your maximum measurement error will be roughly 1/2000.
    If you are trying to measure a mechanical source, there could be "bouncing" which will affect your effective pulse width. This is a situation in which you have several small glitches that occur before and after your main pulse. This is typical with push buttons etc. Anyway, these gl
    itches could seriously alter your measurement.
    The best way to test your measurement system is to use 1 of your counters to generate a 0.1ms pulse and have the other counter measure it with it's maximum timebase. This will indicate your accuracy.
    Hope that helps. Have a good day.
    Ron

  • Frequency Measurement Algorithm

    I'm writing a VI where I need to measure the
    frequency of a pulse. This frequency is proportional to a physical measurement,
    in this case flow rate. I know how to get the frequency measurement into my VI,
    and all is well as long as the frequency is higher than my VI update rate. But
    things become more complicated and non-trivial when the frequency drops below
    the VI update rate, because during some loops there will be no pulses occurring
    since the last loop. In this case I could just assume that the frequency is the
    same as last time, and for constant frequencies this works well. But there is
    also the case where the flow rate has suddenly stopped, and hence a zero pulse
    frequency. If I assume that the last known value is also the current value, my VI will be stuck
    reporting the last known flow rate, and will not ever report a zero rate. It
    must be the same as a digital frequency to analog converter, but I couldn’t
    find information on the algorithms used. Has anyone worked out a solution to
    something like this using Labview?

    Hi,
    I have done something similar before. You mention frequency to analog conversion - that's precisely the principle I used. Basically you count your pulses (cycles, level crossings, etc.) and feed them into an integrator. Mathematically it works like this:
    F(0) = 0;
    F(i) = [ F(i-1) + N(i)/T ] exp (-t/T);
    F(i) - frequency after the i'th iteration
    N(i) - number of pulses detected during the i'th iteration
    t - iteration time
    T - the integrator time constant
    For a fixed frequency the estimator output stabilizes at N/t, but if the pulses stop coming, e.g. N=0, the output will decay to 0.
    Use smaller T for a more "responsive" frequency estimator, larger T for a more "steady" one.
    Hope this helps!  Zador.
    P.S. Here's a link to a previous discussion on pulse detection:
    http://forums.ni.com/ni/board/message?board.id=170&message.id=191867#M191867

Maybe you are looking for

  • Business Agreement Creation Error

    Hi All, Thanks to you all for giving prompt responses to my questions. Today we are getting some error while creating a Business Agreement in CRM Web UI. We are using CRM 2007 and ISU as a back end. I am using IC agent as a business role and while cr

  • Mass updating of material master

    Hi, can any one plz tell me the process of mass updation of material master charecteristics such as classification name, classification type,charecteristics name, charecteristics value for the given materials. give me some brief overview so that i ca

  • Adobe Photoshop CC missing files in application support folder

    Photoshop CC was installed and working perfectly. In order to free up hard drive space, I uninstalled Photoshop CS4. Now every time I open Photoshop CC (or Photoshop CS 5.1) a warning message appears saying: One or more files in the Adobe application

  • How to block iPad and Mac

    Hello how are you? My MacBook Pro and my iPad Air is been stole 2 days ago. i Would like to block so no one could use my MacBook and the iPad Air. please give me an  solution to do the block thanks

  • Zoom Level Bug

    I filed this through the Feedback page and encourage others to do the same if you see it. Has anyone had a situation while in Full Screen mode, where switching from viewing a page to a layout master, everything becomes "maximum zoom", filling the pag