GX5055
Programs the high powered chassis power supply VCC and VEE voltage levels.
DioPowerSupplySetRailsVoltage (nHandle, dVcc, dVee, pnStatus)
Name |
Type |
Comments |
nHandle |
SHORT |
Session identifier:Board handle is used when communicating with the hardware. The Board handle session identifier is returned by calling DioInitialize or DioSetupInitialization. |
dVcc |
DOUBLE |
Used to specify the positive voltage rail level to be program, The dVcc may be between 10V to +28V. The maximum voltage swing between VCC and VEE may not exceed 33.5 V. |
dVee |
DOUBLE |
Used to specify the negative voltage rail level to be program. The Vee voltage must may not exceed 18V and must not be less than 3V. The maximum voltage swing between VCC and VEE may not exceed 33.5 V. |
pnStatus |
PSHORT |
Returned status: 0 on success, negative number on failure. |
The Marvin Test Solutions Gx7015A and Gx7005A high powered chassis include a built in, user programmable power supply system. They use a special backplane to deliver high power to the GX5055 pin electronics via the J5 PXI connector. The power supply is made up of two VCC high rail modules, one VEE low rail module, and one VDD module.
The GX5055 DIO is capable of controlling these modules by setting their voltages, and monitoring their voltage and current output.
The following example:
1. Check if high power supply is supported.
2. Sets the power connection to the backplane and returns the power connection settings
3. Enables the high powered chassis power supply.
4. Read the power supply’s status, if fault is detected, then call DioPowerSupplyResetFault.
5. Program VCC voltage rail to 18.0V and VEE to 14.0.
6. Read back each of the 4 voltages
7. Read back each of the 4 power supply current
SHORT nStatus;
SHORT nPowerState;
DWORD dwStatus;
DOUBLE dVoltage, dCurrent;
DOUBLE dVcc, dVee;
BOOL bSupported;
DioPowerSupplyIsSupported(nHandle, &bSupported, &nStatus);
If (bSupported)
{
DioSetPowerConnect (nHandle, DIO_POWER_FROM_BACKPLANE, &nStatus);
DioGetPowerConnect (nHandle, &nPowerState, &nStatus);
DioPowerSupplySetState(nHandle, DIO_ENABLED, &nStatus);
DioPowerSupplySetRailsVoltage (nHandle, 18.0V, 14.0 pnStatus)
DioPowerSupplyGetStatus(nHandle, &dwStatus, &nStatus);
if (dwStatus & 0x1F9000) // detected any of the faults
DioPowerSupplyResetFault(nHandle, &nStatus);
Read back the voltages:
DioPowerSupplySetRailsVoltage (nHandle, &dVcc, &dVee, pnStatus)
Measure power supplies 4 voltages:
DioPowerSupplyMeasure(nHandle, DIO_POWER_SUPPLY_VCC1_VOLTAGE, &dVoltage, &nStatus);
DioPowerSupplyMeasure(nHandle, DIO_POWER_SUPPLY_VCC1_VOLTAGE, &dVoltage, &nStatus);
DioPowerSupplyMeasure(nHandle, DIO_POWER_SUPPLY_VEE_VOLTAGE, &dVoltage, &nStatus);
DioPowerSupplyMeasure(nHandle, DIO_POWER_SUPPLY_VDD_VOLTAGE, &dVoltage, &nStatus);
Measure power supplies 4 voltage railes currents:
DioPowerSupplyMeasure(nHandle, DIO_POWER_SUPPLY_VCC1_CURRENT, &dCurrent, &nStatus);
DioPowerSupplyMeasure(nHandle, DIO_POWER_SUPPLY_VCC1_CURRENT, &dCurrent, &nStatus);
DioPowerSupplyMeasure(nHandle, DIO_POWER_SUPPLY_VEE_CURRENT, &dCurrent, &nStatus);
DioPowerSupplyMeasure(nHandle, DIO_POWER_SUPPLY_VDD_CURRENT, &dCurrent, &nStatus);
}
DioPowerSupplyGetStatus, DioPowerSupplyIsSupported, DioPowerSupplyMeasure, DioPowerSupplyResetFault, DioPowerSupplySetRailsState, DioGetErrorString