06-10-2014 01:19 PM
I am using the 6343, now only use the simulated channel to start the programming before the hardware arrives.
It is "CI Cnt Edges". And, I am using the Pause Trig when one of the "Digital Level" of the trigger source (PFI0) is "High". I also would like to use the CountReset.Enable to reset the counter when it receivs a "Rising" edge from a PFI source (preferrable from the PFI0, if not possible, can from a different one, say PFI1).
I came across the error code: 201298 at DAQmx Start Task.vi: 13. "Property specified is not supported in conjuction with a conflicting property", Conflicting properties: Pause.TrigType and CI.CountEdges.CountReset.Enable
I wonder what is the reason for this error. Is it because I am not using the real hardware now? Or for counting edges, it is not possible to use Pause and Reset at the same time, even from two different PFIs.
thanks
Lin
06-11-2014 05:56 PM
Hi. Can you post a screen shot of your code please (or the code itself)? Which version of LabVIEW are you using?
06-13-2014 11:56 AM
The Count Reset and the Pause Trigger both use the gate of the counter so they can not be used simultaneously.
@tomasline wrote:
It is "CI Cnt Edges". And, I am using the Pause Trig when one of the "Digital Level" of the trigger source (PFI0) is "High". I also would like to use the CountReset.Enable to reset the counter when it receivs a "Rising" edge from a PFI source (preferrable from the PFI0, if not possible, can from a different one, say PFI1).
What you're describing sounds like a "Pulse Width" measurement, during which the counter will only count when its input is high (or low) and the value of the counter will reset after every pulse. You should use "Implicit Timing" if you want to acquire a sample for every pulse.
Best Regards,
04-03-2015 05:14 AM - edited 04-03-2015 05:19 AM
Hi everyone,
I have the same problem as Lin, but I use PCIe 6351 in stead.
In my experiment with confocal fluorescent microscopy, dwell time refers to the duration in which laser is ON to irradiate a single point of the sample (a pixel). The collected photon is eventually converted as a pulse at the APD's output with 6.7 ns pulse width. There are about 30 photons generated during a single exposure of 5µs dwell time, this # of photon is needed to be counted.
My questions are:
1. How do I count # of photons during a given dwell time by using a counter? (using Edge counting or Period counting or ...?)
2. Can I use the Sing Point (On-demand) Edge counting with Pause trigger (the triggering pulse comes from other counter- internally routed output) and then Reset the counter right after the Pause trigger pulse becomes low.
3. Is there the optimum way to count is such manner?
Any help and suggestion from you is appreciated and thank you very much in advance.
Best regards,
Palm,
P.S: APD means Single Photon Counting Module: SPCM- AQRH-15, from PerkinElmer
04-03-2015 08:05 AM
0. An APD pulse width of 6.7 ns is probably shorter than your board is spec'ed to handle. The basic spec sheet didn't list the max freq for edge counting, but it listed 25 MHz = 40 ns as the max external base clock.
1. There's more than one way to configure this with your counter(s). Buffered period (or perhaps semi-period) measurement is a typical method where you use the APD pulse as your timebase and the TTL laser ON as your implicit sample clock. Search the forums and you'll find lots more info and example code.
2. You might get something out of this approach, but it's inferior to the methods that guarantee hardware-timing accuracy.
3. The aforementioned period or semi-period measurement seems to be the method of choice.
-Kevin P
04-03-2015 08:49 AM - edited 04-03-2015 08:54 AM
Thank you Kevin,
Can you give me a reason why I canot use Edge counting method?
You said: "Buffered period (or perhaps semi-period) measurement is a typical method where you use the APD pulse as your timebase and the TTL laser ON as your implicit sample clock"
Since I'm quite newbie so I don't know how to configure my counter to do these tasks, can you talk more and give me an example so as I can take the beginning point to start?
Thank you very much,
Palm,
04-03-2015 11:36 AM
The reason I discouraged you from the edge counting method you were describing was that it was going to depend on software timing to request single readings after a software query to detect the state of the laser. But what if the instant after you detect that the laser state is OFF, it turns ON and a few dozen APD pulses get counted from the *next* cycle before your software can read the count value which is assumed to belong to the *previous* cycle. This is just one of the issues that comes up when trying to take this kind of measurement with software-timed methods.
Here's an example I found that should make a good starting point for using period measurement:
Help-with-photon-counter-data-acquisition-using-LabView-12
Another alternative might be to perform buffered edge counting where the APD pulses are the edges to count and the trailing (falling?) edge of the laser signal acts as the sample clock. This would produce cumulative counts, but a simple finite difference will get you back to the same data that the period measurement was doing natively in hardware.
-Kevin P
04-03-2015 12:15 PM
I agree with Kevin that you have chosen the wrong hardware.
6.7ns means the bandwidth is on the order of 150MHz, to sample this pulse train correctly, you may need to use a sampling system that is as fast as 300MHz.
As a starting point, you may want to use a fast oscilloscope to take a look. (actually some Tektronics scope is able to do the edge counting).
As a comment for the NI stuff, what I solved the problem is that I don't reset the counter each interested period. Instead, I save the counts in a memory, so the next period comes, simply subtract the previous counts from the current accumulated counts. Of course, once the counter reaches its digital upper limit, it will iterate from 0. You choose the same data type as your counter will automatically handle this overflow. For instance, your counter is 32bit, so you need to choose 32bit unsigned integer.
04-03-2015 01:27 PM - edited 04-03-2015 01:29 PM
Thank you all for your details.
@ Kevin: ok, the edge counting technique seems to be not the best choice for this task. I've taken a look at the snippet posted in the provided link, the task needs two counters while I have only one available (three others were reserved for 3 lasers). Could you please give an example or guide me how to route the physical signals to the VI teminals like source, gate or sample clock etc.?
@ Lin: In order to prevent the cumulative counts I used to use the same trick as yours, but it seems like "software" and I experienced memory problem with my computer. In terms of the "wrong" APD, could you please propose some electronic devices which are able to extend the pulse width to the countable range, let's say 50 ns?
Best regards,
Palm,
04-03-2015 02:20 PM
actually as I think it over, i might want to take back what I said about the frequency limit, it may not be correct.
to extend the pulse is easy, you just need to add a proper low pass filter, which will extend the width, but you need to have an idea for the separation between the pulses. If you extend it too much, it will overlap with your next pulse and you will have a wrong counts.
One test will be, if you can generate a 6.7ns electrical pulses using some electronics circuits or instruments (for instance an AND gate with two pulses input but one delayed about 6.7ns using a small capacitor), you repeat this 30 times within 5 us (means the frequency of the pulse train you input to the AND gate is about 6MHz, you need a signal generator then), if you are able to detect the same counts using NI card (i.e., 30 counts within the 5us ARM), it means that the board can handle the 6.7ns width pulse. Carry away point, you need to VERIFY you have the right equipment.
good luck