High-Speed Digitizers

cancel
Showing results for 
Search instead for 
Did you mean: 

configuring two chanel as triger by NI-5105 DAQ

hi

I am using NI-5105 with Trigger at channel 7 , I and Q(phase) at chanel 1 and 2 respectively and now  I want to configure another channel as a trigger such that one is Master triger and another is Slave triger.I will be gratefull if anyone help me.

regards zad

0 Kudos
Message 1 of 7
(8,076 Views)

Hi Zad,

 

What do you mean when you say "master" and "slave" trigger?  There are a number of input and output triggers that are available--the following diagram from the NI High Speed Digitizers Help should be helpful to visualize all of the signals that you may utillize on your 5105:

 

 

SMC_State_Diagram.PNG

Red Arrows are Output Signals

Orange Arrows are transitions caused by hardware/software events

Black Arrows are transitions caused automatically by the device

Blue Arrows are transitions always caused by software events

 

 

If you could provide more information about what you need to do (a timing diagram would be extremely helpful) then I can be more specific--hopefully the state diagram will help you get started for now.

 

 

Best Regards,

John Passiak
0 Kudos
Message 2 of 7
(8,064 Views)

Hi John

Actually i want to digitize a signal at 1MHz at sampling frequency of 3MHz by using example

of visual C++ MultiRecordFetchMoreThanAvailableMemor. Currently i am using chanel 0

and 1 for Data and channel 7 as trigger. Now i need another triger so that when pos edge

of one trigger  occure then 2nd trigger starts.It means one trigger(slave) depends on another(Master).

or in simple what changes i made in the code of C++ example MultiRecordFetchMoreThanAvailableMemory 

to get the 2nd trigger.I attached the example code.

0 Kudos
Message 3 of 7
(8,019 Views)

Hi John

Actually i want to digitize a signal at 1MHz at sampling frequency of 3MHz by using example

of visual C++ MultiRecordFetchMoreThanAvailableMemor. Currently i am using chanel 0

and 1 for Data and channel 7 as trigger. Now i need another triger so that when pos edge

of one trigger  occure then 2nd trigger starts.It means one trigger(slave) depends on another(Master).

or in simple what changes i made in the code of C++ example MultiRecordFetchMoreThanAvailableMemory 

to get the 2nd trigger.I attached the example code.

Thanx for  your kind help and waiting your reply

 

 

 

0 Kudos
Message 4 of 7
(8,019 Views)

So it sounds like you're using channel 7 as an analog reference trigger.  It sounds like you want to enable this trigger using another signal--if this is the case then there are 3 options (as shown in the above diagram):

Acquisition Arm Trigger

Arm Reference Trigger

Advance Trigger

 

You probably want to use the Arm Reference Trigger--this will prevent your Scope from triggering until it occurs for every record (the difference between the Arm Reference and Advance triggers is that pre-trigger samples are acquired while waiting for the Arm Reference Trigger).

 

To set the Arm Reference Trigger you can use the following function (for example):

niScope_SetAttributeViString (ViSession vi, "", NISCOPE_ATTR_ARM_REF_TRIG_SRC, NISCOPE_ATTR_ARM_REF_TRIG_SRCNISCOPE_VAL_PFI_0);

 

the first parameter is your instrument handle that is defined in niScope_init

For other sources for the Arm Reference Trigger you can refer to the NI-SCOPE Function Reference Help.  This trigger is digital only so you need to have a TTL signal as an input.

 

I hope this is helpful, please let me know if you have any other questions.

 

Best Regards,

John Passiak
0 Kudos
Message 5 of 7
(8,011 Views)
I think what u r suggesting will wait for advance trigger for every record, but that was not the problem. I have attached the figure for making the problem clear. Please refer to the figure, what I want to do is like this. I will have two triggers, call them M-trig and S-trig. And data is coming on some other channel independently. I would sample the data(One record) if a negative edge of s-trig occurs, but the acquisition process will not start unless M-trig has occurred. Once M-trig occurs, I will keep acquiring records on subsequent s-trig pulses unless desired number of records have been acquired.
I hope the problem is clear, now I want a solution using PCI-5105.

thanks
zad 
0 Kudos
Message 6 of 7
(7,922 Views)

Hi zad,

 

Thanks for the diagram and clarification. In that case, I believe the best way for having the M-trig signal arm the S-trig signals is to use John's other option and configure it to be a Start (Acquisition Arm) Trigger. The only drawback to this method is that you need to make sure that between the time the M-trig signal occurs to the time the next S-trig signal occurs, you are satisfying the minimum pre-trigger sampling requirements that you have configured. Otherwise, the first S-trig signal after the M-trig signal will not be recognized and you will miss the record. Of course, there is always the possibility with asynchronous triggers that the two triggers will occur at almost the same time, in which case there is nothing much you can do beyond trying to take every single record (not using the M-trig) or somehow synchronizing the triggers.

 

Hope this helps!

Daniel S.
National Instruments
0 Kudos
Message 7 of 7
(7,915 Views)