Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

Best DAQ setup for taking timestamps on TTL level pulse signals

Dear all,

 

I have a device that outputs TTL level pulse signals and I would like to be able to timestamp each falling and rising edge of these signals. That is, I want to take a timestamp each time the signal exceeds a certain trigger level (e.g. 2 V) and similarly each time the signal goes below the same trigger level. I consider that the smallest width a pulse could have is around 50 – 100 us (microseconds) and the largest around 10 ms. The resolution that I want to have is a maximum of 1 us (the lower, the better) with ideally the same level of measurement precision.  

 

One of the main questions I’ve got here is whether it’s best to consider a DAQ system (I have the NI USB-6221 DAQ device available) or an oscilloscope (I have the Tektronix TDS2012B and the Rigol MSO4024 scopes available).

 

From what I understand, the benefit of using the DAQ device is that I can take a timestamp only when a trigger condition occurs by using a timer. Considering the fact that the NI 6221 has a 32-bit 80 MHz timer, this gives me a resolution of around 12.5 ns, which is perfectly adequate (I have no idea about the precision levels though). The thing that I don’t know though is if I need to read each acquired timestamp sample on-the-fly (are the timestamp stored to any sort of buffer memory?). If that’s the case, I guess I am limited by the interface the DAQ uses (in this case, USB2).

 

Now, if I were to use a scope, I don’t know if it’s possible to achieve the same result. I know that SignalExpress allows you to measure the period of a signal, but what I really want is to measure the (absolute) time I get a signal edge. Also, this set-up seems to have some limitations as SignalExpress really seems to take a while to perform an acquisition (using the Tektronix scope) for a very small number of samples (e.g. it takes ~ 18 seconds to perform the acquisition of 100 periods of 1 ms).

 

Please also bear in mind that I would try to avoid using LabView (unless you’re willing to really help me here ;), as I am not really experienced on this and I would prefer to use Matlab instead.

 

Any help or suggestion will be much appreciated.

 

Many thanks,

Ioannis

0 Kudos
Message 1 of 3
(5,632 Views)

Just to specify that the device outputs periodic TTL level pulse signals (with each signal having a positive and a negative lalf of theoretically equal length).

 

Also, I want to specify that with SignalExpress I measure the “positive width” and the “negative width” of the signal and not its period.

0 Kudos
Message 2 of 3
(5,618 Views)

I replied here, but given that the signal is TTL and you are only interested in transition times I would use the counter on the DAQ card to timestamp the signal in terms of the 50 ppm 80 MHz timebase.

 

 

Best Regards,

John Passiak
0 Kudos
Message 3 of 3
(5,560 Views)