mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-23 23:10:02 +02:00
ctb: change in phase done in degrees (phase reset due to change in frequency)
This commit is contained in:
parent
d976c9fcf9
commit
f8df11886a
Binary file not shown.
@ -1633,29 +1633,25 @@ int setFrequency(enum CLKINDEX ind, int val) {
|
||||
return FAIL;
|
||||
}
|
||||
|
||||
// Remembering adcphase/ dbit phase
|
||||
int adcPhase = getPhase(ADC_CLK, 0);
|
||||
FILE_LOG(logDEBUG1, ("\tRemembering ADC phase: %d\n", adcPhase));
|
||||
int dbitPhase = getPhase(DBIT_CLK, 0);
|
||||
FILE_LOG(logDEBUG1, ("\tRemembering DBIT phase: %d\n", dbitPhase));
|
||||
// Remembering adcphase/ dbit phase in degrees
|
||||
int adcPhase = getPhase(ADC_CLK, 1);
|
||||
FILE_LOG(logDEBUG1, ("\tRemembering ADC phase: %d degrees\n", adcPhase));
|
||||
int dbitPhase = getPhase(DBIT_CLK, 1);
|
||||
FILE_LOG(logDEBUG1, ("\tRemembering DBIT phase: %d degrees\n", dbitPhase));
|
||||
|
||||
// Calculate and set output frequency
|
||||
clkFrequency[ind] = ALTERA_PLL_SetOuputFrequency (ind, PLL_VCO_FREQ_MHZ, val);
|
||||
FILE_LOG(logINFO, ("\t%s clock (%d) frequency set to %d MHz\n", clock_names[ind], ind, clkFrequency[ind]));
|
||||
|
||||
// adc and dbit phase is reset by pll (when setting output frequency)
|
||||
// phase reset by pll (when setting output frequency)
|
||||
clkPhase[ADC_CLK] = 0;
|
||||
clkPhase[DBIT_CLK] = 0;
|
||||
|
||||
// set the phase if custom set
|
||||
if (clkPhase[ADC_CLK] != adcPhase) {
|
||||
FILE_LOG(logINFO, ("\tPhase reset by PLL\n\tCorrecting ADC phase to %d\n", adcPhase));
|
||||
setPhase(ADC_CLK, adcPhase, 0);
|
||||
}
|
||||
if (clkPhase[DBIT_CLK] != dbitPhase) {
|
||||
FILE_LOG(logINFO, ("\tPhase reset by PLL\n\tCorrecting DBIT phase to %d\n", dbitPhase));
|
||||
setPhase(DBIT_CLK, dbitPhase, 0);
|
||||
}
|
||||
// set the phase (reset by pll)
|
||||
FILE_LOG(logINFO, ("\tCorrecting ADC phase to %d degrees\n", adcPhase));
|
||||
setPhase(ADC_CLK, adcPhase, 1);
|
||||
FILE_LOG(logINFO, ("\tCorrecting DBIT phase to %d degrees\n", dbitPhase));
|
||||
setPhase(DBIT_CLK, dbitPhase, 1);
|
||||
|
||||
// required to reconfigure as adc clock is stopped temporarily when resetting pll (in changing output frequency)
|
||||
AD9257_Configure();
|
||||
|
Binary file not shown.
@ -1154,11 +1154,11 @@ int setClockDivider(enum CLKINDEX ind, int val) {
|
||||
clkPhase[SYSTEM_C3] = 0;
|
||||
}
|
||||
|
||||
// set the phase in degreesif custom set
|
||||
// set the phase in degrees (reset by pll)
|
||||
{
|
||||
int i = 0;
|
||||
for (i = 0; i < NUM_CLOCKS; ++i) {
|
||||
FILE_LOG(logINFO, ("\tPhase reset by PLL\n\tCorrecting %s clock (%d) phase to %d degrees\n", clock_names[i], i, oldPhases[i]));
|
||||
FILE_LOG(logINFO, ("\tCorrecting %s clock (%d) phase to %d degrees\n", clock_names[i], i, oldPhases[i]));
|
||||
setPhase(i, oldPhases[i], 1);
|
||||
}
|
||||
}
|
||||
|
Binary file not shown.
@ -1179,11 +1179,11 @@ int setClockDivider(enum CLKINDEX ind, int val) {
|
||||
clkPhase[SYSTEM_C2] = 0;
|
||||
}
|
||||
|
||||
// set the phase in degreesif custom set
|
||||
// set the phase in degrees (reset by pll)
|
||||
{
|
||||
int i = 0;
|
||||
for (i = 0; i < NUM_CLOCKS; ++i) {
|
||||
FILE_LOG(logINFO, ("\tPhase reset by PLL\n\tCorrecting %s clock (%d) phase to %d degrees\n", clock_names[i], i, oldPhases[i]));
|
||||
FILE_LOG(logINFO, ("\tCorrecting %s clock (%d) phase to %d degrees\n", clock_names[i], i, oldPhases[i]));
|
||||
setPhase(i, oldPhases[i], 1);
|
||||
}
|
||||
}
|
||||
|
@ -4,9 +4,9 @@
|
||||
#define APIRECEIVER 0x190722
|
||||
#define APIGUI 0x190723
|
||||
#define APIMOENCH 0x190820
|
||||
#define APICTB 0x191111
|
||||
#define APIGOTTHARD 0x191111
|
||||
#define APIJUNGFRAU 0x191111
|
||||
#define APIEIGER 0x191111
|
||||
#define APIMYTHEN3 0x191121
|
||||
#define APIGOTTHARD2 0x191121
|
||||
#define APICTB 0x191121
|
||||
|
Loading…
x
Reference in New Issue
Block a user