For Zpectrometer calibration routines, the university-supplied software requires direct control of the GBT LO1 test tone signal.
Normally the GBT LO1 synthesizers are controlled by setting manager parameters, and then running a scan. However, the concept of operation of the Zpectrometer calibration software requires interactive and arbitrary (i.e. not specified beforehand) control of the test-tone synthesizer during a calibration scan.
The interface chosen to provide this interface is the Open Network Computing Remote Procedure Call (ONC-RPC). The remote procedure call (RPC) is common and simple to use mechanism which provides the correct "wait until complete" semantics.
- An RPC-based interface for setting frequency, power, and power-on/off shall be provided.
- An initialization RPC call will be provided which shall setup the test-tone synthesizer for "set and forget" style use. The calibration program shall call this method once at the begining of a calibration scan.
- The test-tone LO1 shall execute commands from the external Zpectrometer interface only when the test-tone LO1 manager is in the "Standby" state.
- When the command is received, the synthesizer shall change power and frequency levels immediately. The RPC call shall not return until the command is complete.
- The config-tool shall 'deselect' the test-tone LO1 using the LO1Coordinator's subsystemselect parameter.
- The config-tool shall place the test tone LO1 manager into the 'Standby' state, which enables the external RPC interface. No other interlock shall be provided.
The concept of how the interface will work is the following:
- The config-tool sets up the LO1 router, and LO1 tracking LO.
- The LO1 mode is set to TrackA_TestToneB
- The config-tool places the LO1B manager in the Standby state, enabling the external RPC interface.
- The config tool takes the LO1B manager out of the subsystemselect mask. (i.e. deselecting the LO1B)
- The scan is run, during which the Zpectrometer calibration routine periodically communicates with the LO1B Manager, changing frequency and power as required.
- During the next configuration, the config-tool turns on LO1B and restores the LO1B in the LO1Coordinator's subsystemselect mask for normal operation.
A custom RPC interface has been added to the LO1 synthesizer manager, which will immediately change both power level and frequency of the associated synthesizer. An rpcgen interface file (below) is provided to easily generate interface code.
/**********************************************************************
* @doc
* @module Interface Specification for Zpectrometer control of the LO1
*
**********************************************************************/
struct SetFrequencyPowerState
{
double freqHz; /* Synthesizer frequency in whole Hz. Note that the
synthesizer has a range of 10-20 GHz, and that
the output feeds a doubler, before injection to
the receiver. In other words, this value should
be half of the desired test-tone frequency.
*/
double powerDbm; /* Power in dbm. Range is -110 to +20. */
int powerState; /* RF Power OFF==0, RF Power ON==1 */
};
/********************************************************************
* Procedure return values have the semantic:
* A zero value indicates sucess, nonzero values indicate an error.
*******************************************************************/
/********************************************************************
* Service Procedures
*******************************************************************/
program SetPowerFreqProg
{
version SetPowerFreqVers
{
/* Call INITSETFRQPWR() once, prior to Zpectrometer use. */
int INITSETFRQPWR(SetFrequencyPowerState) = 1;
/* The set routine */
int SETFREQPOWER(SetFrequencyPowerState) = 2;
} = 1;
} = 53039343;
What has to get done to integrate this completely into the system. This checklist must be completed before Cycle Integration Testing begins.
- Communication with Computing group needed? No.
- What documentation needs to be updated? None.
- Training Needed? Is this being released to staff astronomers or everyone right now? General release.
- Notification Needed? None.
The following tests may require the assistance of the Electronics Division.
- Using the test client, set the frequency, power level and power state fields. Verify that the synthesizer frequency, and power level output change as expected.
- Using the test client, verify that the synthesizer power is turned off when the power state field is set to zero.
- Using the preliminary Zpectrometer calibration SB, verify that Astrid properly places LO1B out/in of the LO1Coordinator subsystemselect mask.
- Run the Zpectrometer calibration routine, and record changes to the synthesizer. Verify operation proceeds as expected.
- After running a Zpectrometer calibration test, verify proper operation of LO1. Check frequency and power levels. With auto-leveling turned on, verify that the correct level is selected for the given frequency. Configure the system for frequency switching, and verify LO1 synthesizer correctly changes frequency.
- Using the test client, verify LO1 settings do not change when the LO1B manager is in the "Ready" or scanning states.
- Using the test client, verify LO1 settings can be set when the LO1B manager is in the "Standby" state.
- Run the Zpectrometer calibration routine.
- Run a frequency switched observation.
This test covers some details of testing the new Zpectrometer LO1 interface.
The instructions here are for L-band, but Ka-band should be used if available. Remember the LO1B test tone goes through a doubler, so desired tone frequency must be divide by two.)
- Select the loMode to be "Track_A_Tone_B."
- Verify the LO1 system is operating normally, by running a series of Spectral-line tests with the test tone active.
- Record the test_tone frequency and power settings. (Set the tone at 1425MHz.)
- Using cleo, place LO1B into the standby state.
- Using the test client, run an initialize/set command along the lines of:
-
ZpectLO1_test_clnt -i -s 1 -p -20.0 -f 1430000000 -h gbtaio2
- The -i initializes; the -s 1 turns LO1 power on;
- -p set the powerlevel in dbm;
- the -f sets the test tone frequency in Hz;
- finally -h specifies the LO1B manager's hostname (required).
- Run a scan, and check for the presence of a test tone at 1430MHz
- Change the frequency using the command:
-
ZpectLO1_test_clnt -s 1 -p -20.0 -f 1440000000 -h gbtaio2
- Run a scan, and check for the presence of a test tone at 1440MHz
- Turn off the test tone using the command:
-
ZpectLO1_test_clnt -s 0 -p -20.0 -f 1440000000 -h gbtaio2
- Run a scan, and verify no test tone at 1440MHz
- Next turn the test tone back on using the command:
-
ZpectLO1_test_clnt -s 1 -p -20.0 -f 1440000000 -h gbtaio2
- Run a scan, and check for the return of a test tone at 1440MHz
- Set the LO1B manager to the 'On' state. The previous settings of test-tone frequency and power-level should be restored.
- Run a scan to verify the tone is restored to the settings noted in step 1.
- Now try to turn off or change the frequency using the Zpectrometer-LO1 test client:
-
ZpectLO1_test_clnt -s 0 -p -20.0 -f 1440000000 -h gbtaio2
- Verify the test-tone is uneffected, and remains present. The client should issue a warning that the command failed.
APPROVED: I acknowledge that my request is fully contained in this MR, and if the SDD delivers exactly what I specified, I will be happy.
ACCEPTED: I acknowledge that I have validated the completed code according to the acceptance tests, and I am happy with the results.
Symbols:
- Use
%X% if MR is not complete (will display
)
- Use
%Y% if MR iscomplete (will display
)
CCC Discussion Area
-- JoeBrandt - 02 Aug 2006
Revision r1.11 - 22 Sep 2006 - 13:57 GMT - AmyShelton Parents: PlanOfRecordC52006
|
Content copyright © 1999-2007 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
|
| |