[SMU Gang Pin Group] - Ganging Feature Documentation#493
[SMU Gang Pin Group] - Ganging Feature Documentation#493
Conversation
|
|
||
| ### Supported Instruments | ||
|
|
||
| Following are some of the SMUs for which STL has enabled ganging support: |
There was a problem hiding this comment.
We have to reword this to say we have tested on these SMUs. It must say like "all SMUs are supported except PPS, LCR type nidcPower modules". @Mattjet27, Please let me know your thoughts.
| > var sessionManager = Initialize(pinmap); | ||
| > var dcPower = sessionManager.DCPower(new[] { "PowerPins" }); | ||
| > dcPower.GangPinGroup("MergedPowerPins"); | ||
| > dcPower.ConfigureMeasureWhen(DCPowerMeasurementWhen.AutomaticallyAfterSourceComplete); |
There was a problem hiding this comment.
We need to comment out this line and enable a line with ConfigureMeasurementSetting Method to configure this property.
Note should describe about the configuration of individual property related to measureWhen and MeasureTrigger is unsupported on ganged pins. We take care of configuring the same for follower channels when the ConfigureMeasurementSetting or ForceVoltage or ForceCurrent Method is used.
| - [PXIe-4163](https://www.ni.com/docs/en-US/bundle/pxie-4163/page/user-manual-welcome.html) | ||
|
|
||
| > [!NOTE] | ||
| > All SMUs that support source and measure triggers can be part of the ganged pin group. |
There was a problem hiding this comment.
Do we want to mention start trigger and sequence advance trigger for sequence mode sourcing of ganged channels?
| All the channels of ganged pin group must be physically connected on the application load board, either statically (always ganged together) or dynamically using a MUX or relays. | ||
| For remote sensing, sense wires of all the ganged channels must be connected. | ||
|
|
||
| The following image illustrates an example of the relay-based dynamic connections for a 4 channel gang: |
There was a problem hiding this comment.
The image shows it's a 2, instead of 4, channel gang.
|
|
||
| 1. Add DUT pin definitions for each of the channels being ganged. For example, "Vcc_0", "Vcc_1", "Vcc_2" and so on. | ||
| 2. Add a new pin group definition. Use a name that is appropriate for the combined pin. For example, "Vcc" or "Vcc_Ganged". | ||
| 3. Assign each of the pins created in step 1 to the pin group created in step 3. |
There was a problem hiding this comment.
"... to the pin group created in step 2".
| <DUTPin name="Vcc0" /> | ||
| <DUTPin name="Vcc1" /> |
There was a problem hiding this comment.
Let's at least be consistent with the DUTPin names in this example pin map and the statement on line 45.
Add DUT pin definitions for each of the channels being ganged. For example, "Vcc_0", "Vcc_1", "Vcc_2" and so on.
| <Connection pin="Vcc1" siteNumber="0" instrument="SMU_4137_C1_S06" channel="1" /> | ||
| <Connection pin="Vcc0" siteNumber="1" instrument="SMU_4137_C1_S07" channel="2" /> | ||
| <Connection pin="Vcc1" siteNumber="1" instrument="SMU_4137_C1_S08" channel="3" /> |
There was a problem hiding this comment.
Why would the channel numbers be 1, 2, and 3 for a single channel SMU? Are you sure Pin Map Editor does not report error for this example pin map file?
| Once the gang operation has been performed, all subsequent DCPower Extension methods can be used on the bundle, and will operate on the pin group as if it were one single pin in the bundle. | ||
|
|
||
| > [!NOTE] | ||
| > The `DCPowerSessionsBundle` must be created using the Ganged Pin Group by pin group name when attempting to perform ganged operations. Do not create the `DCPowerSessionsBundle` using the individual pin names within the Ganged Pin Group. |
There was a problem hiding this comment.
I believe the sessions bundle object could be created using individual pin names, as long as all pins in the ganged group are included, right?
| smuBundle.UngangPinGroup("Vcc"); | ||
| ``` | ||
|
|
||
| There is also a sequence style example available that showcases a complete working example of gangng SMU pin groups. |
There was a problem hiding this comment.
Typo, "a complete working example of ganging SMU pin groups."
| The `MeasureAndPublishCurrent` and `MeasureAndPublishVoltage`, and `PublishResults` methods will publish the measurement results using the leader pin name. It is recommended that you specify the leader pin in the pin field of related tests in the Test tab of the calling TestStand step when working with ganged pin groups. | ||
| > [!NOTE] | ||
| > While the TestStand Semiconductor Module (TSM) allows values to be published by pin group name, it requires separate values for each of the pins within the pin group. For ganged channels, the results are stored in pin group name and no individual channel name is present in the returned `PinSiteData` object, therefore results are not published by the pin group name when working with ganged pin groups. | ||
| > If the `MeasureWhen` property is set to `AutomaticallyAfterSourceComplete` for leader channel, only the first measurement taken will return valid data. |
There was a problem hiding this comment.
Do we want to make it a separate [!NOTE]?
| > dcPower.ConfigureMeasureWhen(DCPowerMeasurementWhen.AutomaticallyAfterSourceComplete); | ||
| > dcPower.Initiate(); | ||
| > dcPower.MeasureVoltage(); | ||
| > dcPower.MeasureVoltage() // Will not return any data; |
There was a problem hiding this comment.
It's actually not "Will not return any data", it will throw fetch time out exception, right?
|
I think we want to make it clear that for a measure only test flow (without a force call beforehand), we recommend customers to call Talk to @nitamil for details. |
What does this Pull Request accomplish?
This PR contains documentation for STL Gang Pin Group feature.
Why should this Pull Request be merged?
This document helps the STL users to understand the SMU Gang Pin Group feature.
What testing has been done?
Did self-review with the mark-down editor plugin for VS Code.