PXI

cancel
Showing results for 
Search instead for 
Did you mean: 

PXIe-2535 & DMM Handshaking fails after x repeats

Hi,

 

I am using the PXIe-2535 switchmatrix module with a Keysight M9615A SMU. The scaneventlist contains 50 events, where each event connects 3 channels at a time. The objective is to repeat this scaneventlist numerous cycles, but the handshaking hangs at random cycle numbers and ends with a timeout. Every other cycle before the failed one completes perfectly. 

 

Is there a way to confirm if a buffer is not clearing after each cycle, or a way to clear the buffer without resetting connections/closing the session?

 

Thanks 

0 Kudos
Message 1 of 10
(621 Views)

Please share a snippet of your implementation to ensure you're doing things in the correct way (VI preferred in LV2016)

Santhosh
Soliton Technologies

New to the forum? Please read community guidelines and how to ask smart questions

Only two ways to appreciate someone who spent their free time to reply/answer your question - give them Kudos or mark their reply as the answer/solution.

Finding it hard to source NI hardware? Try NI Trading Post
0 Kudos
Message 2 of 10
(617 Views)

Hi Santhosh,

 

Thank you for your reply. Unfortunately, I am not using labview. The 2535 is operated in python with the nimi niswitch API. 

 

To summarize operation:

1. Open 2535 session.

2. Configure 2535 (Hanshaking initiation:switch, continuous scan:false, scan_mode: none, no trigger delays)

2. configure scaneventlist

3. input trigger to 2535 is measurement complete from SMU (PXI trigger line 6)

4. scan advanced output is PXI trigger line 4 to SMU

5. Initiate SMU

6. Initiate 2535

7. wait_for_scan_complete()

8. Repeat x100

 

Thanks

0 Kudos
Message 3 of 10
(613 Views)

When you describe "repeat x100", which exact step(s) does it repeat? (like just steps 5-7 ?)

 

Please do attach the python code.

Santhosh
Soliton Technologies

New to the forum? Please read community guidelines and how to ask smart questions

Only two ways to appreciate someone who spent their free time to reply/answer your question - give them Kudos or mark their reply as the answer/solution.

Finding it hard to source NI hardware? Try NI Trading Post
0 Kudos
Message 4 of 10
(593 Views)

Hi Santhosh,

 

I apologize for the late response. I had been trying synchronous scanning instead of handshaking, which seems to work if the timing was set properly. I would still like to solve the problem of the handshaking timeout, so I have attached a snippet of the python code used for operation. 

 

For the repeat x100, steps 2-7 are repeated. The reason for reconfiguring the switchmatrix is that while the same exact switchcolumns are used, they are connected to different SMU channels depending on the polarity of the voltage applied. For clarity, the attached snippet only shows a set scaneventlist, where the actual code generates a new one every repeat. The syntax is identical, but if you would like to see that code as well, please let me know.

 

I appreciate your help.

 

Thanks,

 

Dorino

 

 

0 Kudos
Message 5 of 10
(564 Views)

A quick review of the code does not reveal any red flags. The next thing would be to isolate the root cause whether the SMU or the Switch matrix because both are interdependent on the handshaking triggers.

Do you have the means to export the same triggers to front panel connectors and thereby monitor them using an oscilloscope?

Santhosh
Soliton Technologies

New to the forum? Please read community guidelines and how to ask smart questions

Only two ways to appreciate someone who spent their free time to reply/answer your question - give them Kudos or mark their reply as the answer/solution.

Finding it hard to source NI hardware? Try NI Trading Post
0 Kudos
Message 6 of 10
(560 Views)

Hi Santhosh,

 

Unfortunately, the 2535 does not have any front panel connections for triggers. The SMU does, so I can check the triggers coming out of the SMU.

 

The 2535 has several state variables: is_scanning, is_waiting_for_trig etc., that describe the state of the switchmatrix. Whenever I receive a timeout error after x repeats, both of these variables are TRUE, which leads me to believe that it is a problem with the SMU sending measurement complete signals. Upon sending an immediate software trigger from the SMU, the switchmatrix will proceed, but it isn't a satisfying fix. I lack the debugging skills to root out the actual problem of this random hang-up.

 

I have tried adding scan delays(several microseconds) to either the SMU or the switchmatrix, but it doesn't seem to help. 

 

Thanks,

 

Dorino

0 Kudos
Message 7 of 10
(556 Views)

I am not familiar with the SMU to give a specific answer but my limited online research and intuition is that the triggers are configured incorrectly (or could be better)

santo_13_0-1651514052531.png

 

Santhosh
Soliton Technologies

New to the forum? Please read community guidelines and how to ask smart questions

Only two ways to appreciate someone who spent their free time to reply/answer your question - give them Kudos or mark their reply as the answer/solution.

Finding it hard to source NI hardware? Try NI Trading Post
Message 8 of 10
(550 Views)

Hi Santhosh,

 

Thank your for taking the time to look into the SMU manual. I too, had the same suspicion. 

 

The interesting thing about this SMU is that it has an ARM layer, followed by a TRIGGER layer. When initiated, the system enters the ARM layer and waits for an event. When the scan advanced output is received from the switchmatrix, the ARM moves into the TRIGGER layer, where the event that determines the device action (applying voltage) is controlled by the trigger source AINT. I suppose it is possible that timing during this step is causing an issue, but the measurement complete signal is not sent until the SMU returns to the ARM layer. Like you said, it may be an incorrect trigger configuration.

 

Either way, thank you for your help.

 

Dorino

0 Kudos
Message 9 of 10
(545 Views)

Hi again Santhosh,

 

I was able to get the handshaking to work by reassessing the location of the "measurement complete" signal.

 

The devices under test are arranged in an array, where one device is selected by closing the switches for one column and one row. For the first test, I was closing the switches for columns in software and handshaking through the rows. 

 

The next step is to complete the whole test with handshaking. I have 3 2535 cards, 1 for the columns, and 2 for the rows. The rows are double ended, so 1 card is for the right hand-side, the other for the left-hand side.

 

I am running into an issue where the handshaking is proceeding, but instead of reading the device state, I am only able to read the resistance of the channel between the electrodes of the left and right-hand sides. This leads me to believe that the switches for the columns, and the switches for the rows are not in sync.

 

The beginning of the scaneventlists look something like the following (each entry represents a switching event:

2535-0(columns):

     [connect three channels to SMU; idle; idle;...;idle]

2535-1(rows):

     [connect two channels; connect two channels; connect two channels;...;connect two channels]

2535-2(rows):

    [connect two channels; connect two channels; connect two channels;...;connect two channels]

 

My questions are:

1. Do the number of channels accessed during a switching event have to be equal across all three 2535 cards?

2. In the first switching event entry, 2535-0 has 3 events, where the others have 2. Do I have to add an additional ";" to 2535-1 and 2535-2 because of the extra channel in 2535-0? I have tried doing this when all three 2535s have the same input trigger and when they don't. It doesnt seem to make a difference.

3. Is there somewhere I could find information on the trigger pulse width of the 2535?

 

Thank you for your insight.

 

Dorino

0 Kudos
Message 10 of 10
(473 Views)