How do I output a 10MHz TTL pulse in a PCI6251

As title,
第一次用麼高頻的輸出,
盼有好心人解答
感激不盡
已解決!
轉到解決方案。

請到 ni.com>>search>> correlated do
也就是透過 6251 >>DO 輸出 10MHz clock
不過 PCIe-6251 會比 PCI-6251 好些 ( 因為 PCIe bus 比 PCI bus 快 )
或是 counter output

Similar Messages

  • How to acquire analog signal and send a TTL pulse at the same time based on PXI 6123

    Hi,
    I am using a PXI-6123 data acquisition card, as the picture show in the attachment ,I want to acquire the analog signal of ai0 through reference analog window and at the same time send a TTL signal to trigger my camera. I have tried two methods, one is using the DAQmx Export signal.vi another is using DAQmx connect terminals, but when the data acquisition card acquire the analog signal, the DAQmx Export signal.vi and the DAQmx connect terminals sometime can send an TTL pulse ,sometime can not.
    I don’t know why?  or some other method that can achieve my arm is appreciated.
    Regards
    chunlei
    Attachments:
    method export signal.vi ‏21 KB
    method connect terminal.vi ‏36 KB
    Send a TTL pulse.JPG ‏288 KB

    Hi,
    Have things changed over the years?
    I need to syncronise a digital output (Modul NI9474) and an analoge input (AI-Modul NI9203) module. I need to measure time intervals from a flank in signal A to a flank in signal B. I would like accuracies of the order of 1 ms. Currently, the signals are not synchronised, with errors of the order of 2 times the block length (block size x sample rate), sometimes much higher. The best I got so far was a block size of around 20 with a sample rate of 1 kHz.
    If I use the master and slave settings on the RTSL settings, my program doesn't run properly.
    If I use digital signals for input and output, I can syncronise them with RTSL settings and everything is good, but I can't always do that.
    Also, if I do anything in the GUI (such as scrollowing something or going to another window), my output gets screwed up properly.
    1. What can be done to synchronise AI with DO?
    2. Is there something that can be done to avoid messing up the output when something happens in the user interface? (I know that I am messing up the outputs as they make some valves switch and that is loud).
    Thanks in advance!

  • How do i generate the TTL pulse from PCI 6024E DAQ card

    Hi, I'm trying to write a program which generates a single TTL pulse when it is run. My goal is to generate the pulse, send it to the output channel of my PCI 6024E DAQ card, and then use a BNC cable, to display the signal on the oscilloscope. I have written the code and I think it appears fine but when I try to view the signal on the scope I am unable to see the pulse. I have tried slowing down the sweep on the scope and have adjusted the voltage and time scales but have not seen any response. After examing my DAQ card, I noticed that none of the PFI/TRIG terminals on the card are wired; the output channel connects to terminals for DAC0OUT and Ground. I'm wondering if this pin needs to be wired in orde
    r to generate the pulse since PFI0/TRIG1 is the start trigger terminal. Any help would be appreciated. Thanks.
    Attachments:
    ttl.vi ‏26 KB

    Hi,
    You are looking for a retriggerable pulse generation. Please check the Generate Retriggerable Pulse (DAQ-STC).vi example that ships with LabVIEW.
    Regards,
    RamziH.

  • How to count TTL pulses during 100ms ?

    I need to count TTL pulses coming out of an instrument (particule
    counter). The pulses appear randomly. I must count how many pulses
    appeared in the last 100ms, and so on, every 100ms. I don't want
    cumulative counts, but the number of events every 100ms.
    I need a hardware clock, so that the counting pace cannot be disturbed
    by Windows making some weird, unrequested, CPU-hungry task.
    I fact, I need to do that for 2 identical instruments of the same kind,
    and I have 2 cards with 2 counters each, total 4 counters. My idea
    would be to use 1 counter as the clock for 2 other counters, but how to
    trigger the counter value read ?
    Thanks.

    Hi,
    In the example I gave you, you need to supply the TTL you want to count the pulse (connected on pin 37) and a TTL "clock"  which is connected to PFI0. The TTL on PFI0 permits a hardware timing (100ms for example) to count the edges that occur on the TTL source.
    If you do not need hardware timing, have a look at the example attached. You only have to connect the TTL source and the VI counts every 100ms (software timed) the edges that occur durind those 100 ms.
    Hope it will help you,
    Regards,
    David D.
    Application Engineer - NI France
    01-02-2006 01:26 PM
    Attachments:
    Compatge des fronts toutes les 100 ms.vi ‏61 KB

  • How do I get the difference in time using 2 ttl pulses

    Hi everyone,   I have a question using the delay time.  What I need to find the time interval between 2 incoming TTL pulses and fire the output TTL pulse precisely the same time interval after the second TTL pulse.  I have been using Labview 7.1 with real time module and FPGA module (I think 1.0 because I can not find wait for rising edge vi).  I am using NI 7830R card.  The length of each TTL pulse is about 1-5 microsec.  Second pulse comes in at about 1 millisec after the first one.  So I need to fire aboyut 1 millisec after the second incoming TTL pulse.  Because of the non constant TTL pulse length, I would like to reference at rising edge of incoming ttl pulses.  Can anyone give me a help on this?
    Thank you very much.
    Hideya 

    Hi Hideya,
    As is the case with many programming questions, there are several ways to go about solving this one.  The solution I have in mind is to poll the digital input line for a transition from low to high.  The simplest way to do this would be to use a loop with a shift register to store the previous digital input value.  When the current digital input value is greater than the previous value, you can get the tick count (microsecond resolution sounds like it would be sufficient).  You can then do that sequence of operations a second time.  The difference between these two tick counts can be used as the input to the wait (microsecond) function.  After that you can send your digital output pulse.
    Best regards,
    David H.
    Systems Engineer
    National Instruments

  • How to count TTL pulse by DAQ through BNC 2090?

    I'm trying to count the TTL pulse from a APD by DAQ. There are some very nice discussions about this issue in this board. However, I am a novice and not sure about the hardware connection. The signal from APD is delievered out through a BNC cable and I'm trying to deliever this signal to DAQ through BNC 2090. I tried just simply connect the BNC cable to ACH0 and tried running the vi's, such as "Count_Edges.vi" and "Count_Events.vi". But I got no counts. I noticed that both these vis are actually reading signal from PFI port. That could explain why I got not counts.
    So now the problem is how should I connect my signal in a BNC cable to the DAQ and have the counting working? Thank you for your help.

    Hi Opal,
    Here is what you should do for the hardware connections with these devices:
    - connect your external signal to the BNC-2090
    - connect the 68 pin connector on the BNC-2090 to the 68 pin connector on your DAQ board. You should have a 68 to 68 pin cable for this.
    That is all that is involved with the hardware connections. After this, you should be able to read your signal. Here is the link to a helpful DAQ manual with in depth getting started information: DAQ Getting Started Guide. I hope that you find this information helfpul.
    Regards,
    Hal L.

  • Can analog outputs simulate a 60hz ttl pulse?

    The only outputs free on my 6020e are 2 analog. I need to drive a TTL device at 60hz. Can the analog outputs do this?

    Paul;
    You can do that but keep in mind that will not replace the counter pulse train generation operation. I'm saying that because the counter will execute a hardware operation, and so, will be able to have a completely system independent operation, generating a nice and accurate TTL pulse train.
    By doing that trough the analog output, as the data transfer in between the computer memory and the DAQ board is system dependent (since it uses DMA), you might have some glitches at the pulse train because of some delay caused by the data transfer. But that is definitely something to try out.
    Hope this helps.
    Filipe

  • How can I control 3 stepper motors w/ amplifier by sending TTL pulses from DIO96

    We have NI PCI-DIO-96 board and we have 3 stepper motors with amplifier and encoders. We want to control the motors by sending TTL pulses directly from the DIO-96 board to the amplifiers. Is this possible? What would you recommend if this is not a good approach? Thanks in advance.
    Roman Zeylikovich

    Roman,
    Thank you for contacting National Instruments. While using a motion controller would be the recommended approach for any type of motion application, you may be able to use your DIO board to generate a TTL pulse train to control the step and direction inputs of your drive and motor. You will need to make sure that the current sinking and sourcing specification for the DIO-96 fits your stepper motor. That board is not designed to source very much current at all so this is one issue you will need to verify. Also, this board does not have any counter/timer logic that can handle quadrature encoder inputs.
    Again, this digital device is probably not the best solution to control a stepper motor, but, depending on your hardware, could be configured to work proper
    ly. The PCI-7334 is a low-cost stepper motion controller that can control up to 4 axes and is designed to easily accommodate these types of applications. You can browse through more information on our Motion controller boards at the following website:
    http://sine.ni.com/apps/we/nioc.vp?cid=3809〈=US
    Let us know if you have any more questions or comments.
    Regards,
    Michael
    Applications Engineer
    National Instruments

  • Counting TTL pulses at high speed

    Hi all,
    I am using PCI-6221 board with DAQmx to count the number of TTL pulses (which varies in its frequency between 0Hz to 10MHz) at a high speed (200,000 samples/sec.) and I am having a problem when the TTL pulse frequency drops below a certain level.
    I am using CTR0 to generate continuous pulse train at 200kHz frequency to feed to CTR1 Gate input. I verified that the pulse train is being generated fine.
    I am using CRT1 with buffered counting to collect the count for 200,000 samples at a time (duration of 1 sec.). I got the example code (Cnt-Buf-Cont-ExtClk) and pretty much used it as is.
    CTR1 Gate is coming from CTR0 Out, which is 200kHz pulse train with 50% duty cycle, and CTR1 Source is the TTL signal that I am trying to count. At first, I thought that everything was working fine with the Source signal being at around 5MHz. Then, when I had the Source signal down below about 300kHz, I noticed that the program is taking longer than 1 sec. to collect the same 200k samples. Then, when I got the Source signal down to 0Hz, the program timed out.
    I am guessing that somehow the counter is not reading for the next sample when there has been no change to the count, but I cannot figure out why and how.
    Any information on this and a way to get around would be greatly appreciated.
    Kwang

    One thing you can try is to set the counter input CI.DupCounterPrevention property, this setting will filter the input, it is possible that when the ctr 0 is slow then many of the values you are counting become zero as well and are filtered out, since they are nolonger points, the counter will not collect enough points before the time-out occurs and the counter input read times out.  I am not sure if this is your issue but I found out the hard way that this occurs when I switched to daqMX where this feature was added.  Let me know if it worked,
    Paul
    Paul Falkenstein
    Coleman Technologies Inc.
    CLA, CPI, AIA-Vision
    Labview 4.0- 2013, RT, Vision, FPGA

  • Triggering outgoing TTL pulse based on incoming position signal

    Hello all,  
    For my research study looking at reflex responses in human subjects, I have the subject's ankle attached to a motor that moves the joint back and forth through a 30 degree range. I am sending a 5-V TTL pulse from a NI BNC-2090A to a constant current stimulator (Digitimer DS7A) each time the ankle passes a specific angle. I want one pulse sent out each time the ankle passes the target angle. The VI works fairly well, but it does not fire at the exact target I set 100% of the time (sometimes off by a degree or so). We are sampling at 2000 Hz, reading 100 scans per channel with the DAQmx Read.vi. The median of the position signal is constantly being evaluated and sent to the In Range and Coerce function, the output of which is sent to a Case Structure. The min and max inputs to the In Range function are set at what I have found to be the ideal parameters (translates to roughly + or - 0.5 degrees). If I set them any narrower, the pulse is not always sent out. 
    I've attached what I believe are the relevant parts of code. If anyone has any ideas of how I can make this vi run more smoothly and accurately, it would be much appreciated. Thanks in advance.  
    Attachments:
    Trigger outgoing pulse based on position.vi ‏58 KB

    Triggering with the DAQ card:
    The 6229 unfortunately doesn't support analog triggering.  Comparable cards which do are the 625x or 635x (also the more expensive 628x and 636x).  On such cards there is an Analog Window Triggering feature that would produce the exact signal I think you are looking for (see X Series user manual).  So if you have one of these handy or are looking to acquire new hardware then this would be a good solution.
    Software detection for trigger signal:
    If you want to continue using the 6229, see if something like the following would give what you want.  Keeping the loop simple might help make this approach usable for your application depending on how long the window is you are looking for.  It still isn't as reliable as a hardware-triggered approach.
    External circuitry:
    The simplest external comaprator circuit would just consist of an op-amp.  You could use the analog output to set the threshold.  The comparator output could trigger a counter output which would issue a pulse of some pre-defined width.  The issue here is that the output signal would not be high during your exact window, but rather a fixed amount of time starting at the beginning of your window (so if the speed is changing it might not be what you are looking for). 
    You could in theory just build your own external circuit to generate the exact window trigger as well at which point you wouldn't need to output anything from the DAQ card (except for perhaps control voltages for this circuit).  If you're at a university perhaps you could look for a EE student that you might be able to contract the work out to?
    Best Regards,
    John Passiak

  • I want to create a TTL pulse. The stepper motor I'm trying to control responds to a high to low edge, when the low pulse width is greater than 0.5 microsecon​ds. What is the best way to go about creating a pulse like this?

    I'm using the NI PCI-6025E card connected to an SCB-100 wiring peripheral. I'm programming the DAQ card using LabVIEW 6.0.2 on a win95 box.
    My first attempt has yielded some surprising results.
    I created a vi with a single while loop set to true. Within that while loop is a two frame sequence. Both frames use the "Write to Digital Line.vi".
    The first frame sets the line in wire to false.
    The second frame sets the line in wire to true.
    The device channel on both frames has been set to my user defined channel nam
    e -> clock.
    clock --> sets the DIO0 channel to be digital write out.
    Using an oscilloscope and some wires I hook ground to the SCB-100's digital ground and I hook the probe to the DIO0 channel. What I see are two different pulses alternating between one another. One has a pulse width of 5ms and the other has a pulse width of about 50ms. You seem to get a grouping of one type of pulse followed by a grouping of the other type of pulse.
    Obviously this is very strange and not what I want. It is also far too slow. So I'd like to know if anyone knows how to do this properly. Remember I only need a low pulse width of 0.5 microseconds.
    Thanks,
    Any help or guidance would be much appreciated.
    Scott

    Scott,
    You don't need to use a digital line to create a TTL pulse. The PCI-6025E has two onboard general purpose counters. You can use one of these counters to create a single pulse of the desired pulse width. For an example of how to program the counters on your board, refer to LabVIEW's Search Examples>>I/O Interfaces>>Counters>>Pulse Generation>>DAQ-STC based.
    The advantage of using a counter over the digital line is that it allows you to control the timing of the pulse through hardware and not software. Thus, it is inherently faster, and the timing resolution is more accurate. The counter will count down an internal 20 MHz timebase to create the pulse delay and the pulse width.
    For more information on the hardware capabilities of your board, you can refe
    r to the User Manual online at www.ni.com/manuals.
    Hope this helps.
    Regards,
    Erin

  • How can I output up to 7 tracks simultaneously?

    Hello esteemed GB community.
    I have to create a little effect for an upcoming party. For this I need to output the following:
    - at least 4 separate audio channels (stereo front and stereo rear)
    - one mono combination of these four tracks (to drive a Light organ gizmo - makes the light flicker with the audio)
    - and finally one separate track on which I will put pulses to trigger a relay for a fog machine.
    Setting up these tracks in GB should be fairly straigth forward (although my GB experience is very limited I've done a fair amount of audio mixing in FCP - which I imagine is similar) but my question is, how can I output all these tracks so I can feed them to their respective recipients? This means to two stereo setups for audio (or would it be easier to do 5.1 Dolby - $$$ ?) and then to the light organ and to the relay trigger for the fogger.
    I did a search for multitrack but most answers I found dealt mainly with input, not output. I imagine this will require some kinid of an external box, right?
    Budget for this box is very limited, hopefully less than $200. Quality does not have to be very high although a good bass response will be important for the effect.
    Thank you very much for any help.
    Bo

    Thanks for your help, HT. Would Logic be a better choice than ProTools LE for this? (I know next to nothing about them I must confess...)
    I was just thinking, in the worst case scenario, I could just create the 6 audio tracks in GB, then output three stereo mp3 files (stereo front, stereo rear, 2 control tracks), dump each on a separate cheap mp3 player and get a controller that can remote start all of them at the same time...
    Does anyone know of such a cheap mp3 player that can be remote started via a wire connection to a relay? Is there another forum that deals with this kind of issue?
    Thanks again.
    Bo

  • Wiring a SCB-68 to measure the frequency of a TTL pulse signal

    Sorry if this is a basic question but could someone please help me and tell me how to wire up a SCB-68 connector block (connected to a AT-MIO-16 DAQ board) so that I can measure the frequency count of a series TTL pulses (signal from photon counting). At the moment I don't understand how the PFI1-9 connections are related to the GPCTR0/GPTR1 counter connections on the block and how they're all realted to the source,gate and out 1-5 connections on the DAQ board.
    Ultimately I want to be able to put this measured frequency into a Labview program with a controllable gate period.
    Thanks in advance
    Nick

    You might want to search the Knowledge Base on the NI's Support Pages for "Cable Mapping for a 68 Pin Connector to a 50 Pin Connector". This should take you to a link that will explain the mapping of a 50way to 68way cable and subsequent lines you are looking for ( reference sub link 68F50M), I guess you have SH6850 cable connected from the AT-MIO16 card to the SCB-68.
    Please check out the information about the pin outs, that should help you work out which pins map to the counters, eg GPCTR0_source would be pin 37 on your SCB-68
    Regards
    Joe (NI)

  • Can I send a TTL Pulse in a given rhythm?

    I am new to LabView and using version 8.1.1.
    I am trying to send a series of TTL pulses in a particular rhythm, (a train of 3 pulses at 50Hz repeated every 200ms). Is it possible to do this with accuracy?
    Each pulse need to be accurate to the millisecond.
    Thank you in advance.

    Hello Lanny22,
    Lynn is correct.  If you have hardware timed (correlated) digital lines then you can do this by using the values he suggested.  If you're using a National Instruments multifunction DAQ device with LabVIEW then I would recommend looking at this example program.  Open LabVIEW and go to Help» Find Examples.  Then navigate to Hardware Input and Output» DAQmx» Digital Generation» Cont Write Dig Port-Ext Clk.vi.  This is the example program I would use to generate this pulse train.
    Cheers,
    Brooks

  • Need to generate a TTL pulse of 3 ms using USB Daq 6361

    Hi all,
    I need to generate a TTL pulse of 3 ~ 5 ms to trigger my external device. I am using USB daq 6361 with BNC connectors. I tried to use this examples(attached) but was not succesfull , can any one help me out in this, I just want a TTL pulse out to trigger my device. I tried to modify the example to see the wave form out but all it shows is a straight line. I want to generate a TTL pulse as soon as my program starts.
    Am I using wrong example? should I use somethis else to generate the pulse. please let me know.
    Thanks,
    Attachments:
    Capture.PNG ‏76 KB
    Digital - Continuous Output_ttl.vi ‏65 KB

    AnkitG wrote:
    Jeff·Þ·Bohrer wrote:
    Why would you create an Task with an analog output?  its a Digital line you want to drive! and, just create it in the project.
    Hi Jeff,
    thanks but I couldnt understand , what you meant by create in project? Can you please explain. should I create digital line but I am still getting the same error.
    Creating DAQmx items in Project Explorer saves the DAQmx object properties as part of the *.lvproj file.  This can be very useful when the Task configuration does not change in the built application and you seldom want to use the task elsewhere.  If you want to make minor tweaks to configuration of the run-time app there is even a human readable text file in the build output where properties like scale offsets, timing rates or ranges can be modified without redeploying a new app.  
    Jeff

Maybe you are looking for

  • Open PO's with user wise list

    Hi experts, Open PO's with user wise list ? regards, Sanju M S Edited by: Csaba Szommer on Dec 31, 2011 9:22 AM

  • Chinese Word list Update 1.5 not downloaded and installed automatically

    On my Macbook Pro with Retina display 15 inches running OSX 10.8.3, an update called "Chinese Word list Update 1.5" show up on Update available list in Appfresh application. But when I click on install, Mac APp Store open to search for that update, b

  • PDF portfolio similar to cs5_evalautionkit

    Hi, I am trying to create a pdf portfolio similar to cs5_evalautionkit. All the documents in the portfolio are pdf documents. I want the users to navigate pages through a button on the cover page (enter the document ) and then from a side menu to oth

  • Fillable Forms Submit button

    (Bringing this here, amplified, from a different forum entry.)<br /><br />Consumers need to be able to fill out and submit Acrobat forms; it's a no-brainer if you buy into the idea of electronic forms at all. Apparently lots of businesses are trying

  • Cache block size in Sun Ultra Sparc IIIi

    What is the cache block size in Sun Ultra Sparc IIIi processor? The data sheet states that there is a Jbus with 128b bandwidth. Is this the cache block size? is the b in 128b for bits or bytes?