High-Speed Digitizers

cancel
Showing results for 
Search instead for 
Did you mean: 

Trigger delay in Multi acquisition mode

I'm trying to use the 5112 to acquire a burst waveform.  I want to average 20 acquisitions or records and take measurements on the average waveform.  The burst arrives a certain time after my trigger so I need to use a trigger delay.  When I try to change the trigger delay while my program is running I get "Trigger Delay is Invalid" error.  The only way I can get it to work is if I reset the device before I reconfigure the trigger.  Is this the only way to adjust the trigger delay in multi-record acquisition? 
 
Thanks,
0 Kudos
Message 1 of 8
(7,460 Views)

Hello Rudy27,

There are two things you need to consider for the trigger delay:

1)       In a multi-record acquisition using the NI 5112, the time per record should be > 42 µs and trigger delay should be > 42 µs. Otherwise, you may observe trigger timeouts. This is found on the help file Start » All Programs » National Instruments » NI-SCOPE » Documentation » NI High Speed Digitizers.

2)       You cannot change the trigger delay during runtime. You need to stop the acquisition, then reconfigure the device and then start it again.

 

I would like to know if your trigger arrives multiple times in the burst or just a single one each?


If is multiple times, then you can make your record size to be the entire burst.


If is single time, then I would assume is always the same delay.


Hope this helps.

Gerardo O.
RF SW Engineering R&D
National Instruments
0 Kudos
Message 2 of 8
(7,451 Views)

Thanks and to answer your question:  I only have a tigger at the start of the burst (it's a marker pulse from a 5412 generator).

I'll also explain this setup a little better.  I am generating a 10cycle burst at a burst rate of 500Hz from a 5412.  A marker pulse is placed at the start of the burst.  This burst drives a transducer which outputs a signal that is picked up by a receiver after some delay.  I'm using the marker pulse to tirgger the scope acquisition and I need to set the trigger delay equal to the amount of time it takes for the receiver to pick up the signal.

The transducers have a ring up and ring down that extends the received burst length so I'm recording a time longer than the burst length.  Right now the burst length is 2.9us so I think I'm grabbing about 6us.  The trigger delay is 20us.  I'm reconfiguring constantly because I wanted the adjustments to be immediate. 

The trigger delay I use at program start will be an estimate .  The necessary delay will actually vary so  I want the user to be able to adjust it.  I did try aborting before configuring the trigger but it didn't work.  Placing the reset VI before the configuration is still the only thing that works.  Maybe I should run it in single acqusition mode and average the waveforms external to the scope VI's.

I will look at the documentation you listed. Thanks for your help-

 

0 Kudos
Message 3 of 8
(7,446 Views)
Hello Rudy,

Thank you for this new input.
Notice that the delay can only be set to something larger than the values you are setting (20us < 42 us), so that's probably the first thing to look into.
I am still curious how you modify the delay each 2 ms (500 Hz). Or you can modify it after the 10 cycles (reconfigure the device).
Let me know how that goes,
Gerardo O.
RF SW Engineering R&D
National Instruments
0 Kudos
Message 4 of 8
(7,429 Views)
My trigger delay is set to 23us and it is working so I'm not sure I understand the limitation that you are speaking of.  Is there a piece of documentation that explains this limitation?
 
I'm not changing the delay every 2ms.  The delay is constant until the user changes it and then it's constant after that. The trigger is at 500Hz because there is one trigger per 10cycle burst and the burst rate is 500Hz.   So the delay is applied after each received trigger or every 2ms.   This delay scheme works for both multi record and single acquisitions.  It's just that you can't change the delay when running a multirecord acquisition - even if you abort the previous acquisition before reconfiguring the trigger.  When the user adjusts the trigger delay value, I would like the scope to reconfigure with the new value and then continue acquiring as it was before. This is what is puzzling.  Why can you set a delay but not modify it?
 
Thanks f
0 Kudos
Message 5 of 8
(7,421 Views)
My trigger delay is set to 23us and it is working so I'm not sure I understand the limitation that you are speaking of.  Is there a piece of documentation that explains this limitation?
 
I'm not changing the delay every 2ms.  The delay is constant until the user changes it and then it's constant after that. The trigger is at 500Hz because there is one trigger per 10cycle burst and the burst rate is 500Hz.   So the delay is applied after each received trigger or every 2ms.   This delay scheme works for both multi record and single acquisitions.  It's just that you can't change the delay when running a multirecord acquisition - even if you abort the previous acquisition before reconfiguring the trigger.  When the user adjusts the trigger delay value, I would like the scope to reconfigure with the new value and then continue acquiring as it was before. This is what is puzzling.  Why can you set a delay but not modify it?
 
Thanks for
0 Kudos
Message 6 of 8
(7,421 Views)
My trigger delay is set to 23us and it is working so I'm not sure I understand the limitation that you are speaking of.  Is there a piece of documentation that explains this limitation?
 
I'm not changing the delay every 2ms.  The delay is constant until the user changes it and then it's constant after that. The trigger is at 500Hz because there is one trigger per 10cycle burst and the burst rate is 500Hz.   So the delay is applied after each received trigger or every 2ms.   This delay scheme works for both multi record and single acquisitions.  It's just that you can't change the delay when running a multirecord acquisition - even if you abort the previous acquisition before reconfiguring the trigger.  When the user adjusts the trigger delay value, I would like the scope to reconfigure with the new value and then continue acquiring as it was before. This is what is puzzling.  Why can you set a delay but not modify it?
 
Thanks for hte
0 Kudos
Message 7 of 8
(7,421 Views)
Hi Rudy,

The timing is not a limitation but a warning. You can read it on the help file: search for "NI 5112 Trigger Delay Considerations".
I am not getting any error if I stop the program (or let it finish acquire all the requested records) and then changing the delay and run it again (no reset needed).
I am using the shipped example called "niScope EX Multi Record Fetch More Than Available Memory" and I added the property just before the start.
Hope this helps,
Gerardo O.
RF SW Engineering R&D
National Instruments
0 Kudos
Message 8 of 8
(7,406 Views)