GX5296, GX5961, GX5964, File
Returns the phase and window settings of a timing set index sub group in the Timing Set memory.
GtDio6xTimingSetMemoryReadData (nHandle, nTimingSetIndex, nIndexSubset, dPhaseAssert, dPhaseReturn, dWindowOpen, dWindowClose, 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 GtDio6xInitialize or GtDio6xSetupInitialization. ● File handle is used when communicating with a file. The File handle session identifier is returned by calling GtDio6xFileOpen. |
nTimingSetIndex |
SHORT |
Timing Set to access (0-255) |
nIndexSubset |
SHORT |
Used to specify the timing set index subset to access within the timing set: 0. GTDIO6X_TIMING_SET_PHASE_WINDOW_0: GX5960/GX5296: First pair of Phase and Window in the specified Timing Set Memory Index. 1. GTDIO6X_TIMING_SET_PHASE_WINDOW_1: GX5960/GX5296: Second pair of Phase and Window in the specified Timing Set Memory Index. 2. GTDIO6X_TIMING_SET_PHASE_WINDOW_2: GX5960/GX5296: Third pair of Phase and Window in the specified Timing Set Memory Index. 3. GTDIO6X_TIMING_SET_PHASE_WINDOW_3: GX5960/GX5296: Fourth pair of Phase and Window in the specified Timing Set Memory Index. 4. GTDIO6X_TIMING_SET_PHASE_WINDOW_4: GX5296 (Firmware version > 0xAA03): 5th Phase in the specified Timing Set Memory Index, Window not supported. 5. GTDIO6X_TIMING_SET_PHASE_WINDOW_5: GX5296 (Firmware version > 0xAA03): 6th Phase in the specified Timing Set Memory Index, Window not supported. 6. GTDIO6X_TIMING_SET_PHASE_WINDOW_6: GX5296 (Firmware version > 0xAA03): 7th Phase in the specified Timing Set Memory Index, Window not supported. GTDIO6X_TIMING_SET_PHASE_WINDOW_7: GX5296 (Firmware version > 0xAA03): 8th Phase in the specified Timing Set Memory Index, Window not supported. |
pdPhaseAssert |
PDOUBLE |
Returns the Phase Assert Time within the timing set index subset, see comments. |
pdPhaseReturn |
PDOUBLE |
Returns the Phase Return Time within the timing set index subset, see comments. |
pdWindowOpen |
PDOUBLE |
Returns the Window Open Time within the timing set index subset, see comments. |
pdWindowClose |
PDOUBLE |
Returns the Window Close Time within the timing set index subset, see comments. |
pnStatus |
PSHORT |
Returned status: 0 on success, negative value on failure. |
Each Timing Set memory index is compos of four pairs of timing sets signals for a total of 16 as follows:
Timing Set Index number |
TSet 0: First pair of Phase and Window in the specified Timing Set Memory Index |
Phase Assert 0Phase Return 0Window Open 0WindowClose 0 |
TSet 1: Second pair of Phase and Window in the specified Timing Set Memory Index |
Phase Assert 1Phase Return 1Window Open 1WindowClose 1 |
|
TSet 2: Third pair of Phase and Window in the specified Timing Set Memory Index |
Phase Assert 2Phase Return 2Window Open 2WindowClose 2 |
|
TSet 3: Fourth pair of Phase and Window in the specified Timing Set Memory Index |
Phase Assert 3Phase Return 3Window Open 3WindowClose 3 |
GX5961, GX5964:
The phase and window signals are programmed in master clock edges (rising and falling), i.e., 1/2 the master clock period. For example, if the master clock is set to 500 MHz, then a setting of 5 would be: 5 * (1/2 (2ns)) = 5ns.
With a master clock of 100 MHz it would be: 5 * (1/2 (10ns)) = 25ns.
GX5296:
The phase and window values are combination of the system clock period and number of the step’s Clock Per Vector (see GtDio6xStepSetClock API). The system clock generates 8 phases and 8 windows by dividing equally the period to 8.
Step’s Clock Per Vector = 1:
The user can set each phase and window value to any of the 8 values, while keeping the basic rule that Phase Asset > = Phase Return, and Window Open >= Window Close.
E.g.; If the Clock Per Vector =1, and the system clock period = 100nSec (10MHz clock period), then the available Phase and Window values are: as follows:
12.5 nSec , 25.0 nSec, 37.5 nSec, 50.0 nSec, 62.5 nSec, 75.0 nSec, 87.5 nSec
Step’s Clock Per Vector > 1:
If the Step’s Clock Per Vector is bigger then 1, then the user can set each phase and window value to any value within the range of 0 to Step’s Clock Per Vector * system clock period, with the resolution of the system clock period divided by 8, while keeping the basic rule that Phase Asset > = Phase Return, and Window Open >= Window Close.
E.g.; If the Clock Per Vector =2, and the system clock period = 100nSec (10MHz clock period), then the available Phase and Window values are: as follows:
12.5 nSec , 25.0 nSec, 37.5 nSec, 50.0 nSec, 62.5 nSec, 75.0 nSec, 87.5 nSec, 100 nSec, 112.5 nSec, 125 nSec, 137.5 nSec, 150 nSec, 162.5 nSec, 175 nSec, 187.5 nSec.
Note: the function rounds the timing set values to the nears valid value as defined by the system clock period.
The following example writes to the Timing Set memory offset 2 and index subset 1 with a phase assert of 0, phase return of 500, window open of 200, and window close of 300:
DOUBLE dPhaseAssert, dPhaseReturn, dWindowOpen, dWindowClose;
SHORT nStatus;
GtDio6xTimingSetMemoryWriteData (nHandle, 2, GTDIO6X_TIMING_SET_PHASE_WINDOW_1, 0, 500, 200, 300, &nStatus);
GtDio6xTimingSetMemoryReadData (nHandle, 2, GTDIO6X_TIMING_SET_PHASE_WINDOW_1, &dPhaseAssert, &dPhaseReturn, &dWindowOpen, &dWindowClose, &nStatus);
GtDio6xTimingSetMemoryWriteData, GtDio6xStepSetTimingSetIndex, GtDio6xStepGetTimingSetIndex, GtDio6xGetErrorString