AnsweredAssumed Answered

“Please wait... RX MMCM-PLL NOT lockedTX MMCM-PLL NOT lockedRX OS MMCM-PLL NOT lockedclkgen_setup() failed”

Question asked by zrl on Aug 30, 2017
Latest reply on Sep 1, 2017 by DragosB

Now I have a question?

I have connected the J401 with the reference clock signal (30.72 MHz CW tone, 5 dBm maximum), but when I execute the “Run configuration”。 The Tera Term displays the following contents:

“Please wait...
RX MMCM-PLL NOT lockedTX MMCM-PLL NOT lockedRX OS MMCM-PLL NOT lockedclkgen_setup() failed”

 

How to solve this problem. Thank you.

 

 The C code is following:

 

***************************************************************************//**
* @brief main
*******************************************************************************/
int main(void)
{
ADI_ERR ad9528Error;
ad9528Device_t *clockAD9528_device = &clockAD9528_;
mykonosErr_t mykError;
const char *errorString;
uint8_t pllLockStatus;
uint8_t mcsStatus;
uint8_t arm_major;
uint8_t arm_minor;
uint8_t arm_release;
mykonosGpioErr_t mykGpioErr;
uint32_t initCalMask = TX_BB_FILTER | ADC_TUNER | TIA_3DB_CORNER | DC_OFFSET |
TX_ATTENUATION_DELAY | RX_GAIN_DELAY | FLASH_CAL |
PATH_DELAY | TX_LO_LEAKAGE_INTERNAL | TX_QEC_INIT |
LOOPBACK_RX_LO_DELAY | LOOPBACK_RX_RX_QEC_INIT |
RX_LO_DELAY | RX_QEC_INIT ;
uint8_t errorFlag = 0;
uint8_t errorCode = 0;
uint32_t initCalsCompleted;
uint8_t framerStatus;
uint8_t obsFramerStatus;
uint8_t deframerStatus;
uint32_t trackingCalMask = TRACK_ORX1_QEC | TRACK_ORX2_QEC | TRACK_RX1_QEC |
TRACK_RX2_QEC | TRACK_TX1_QEC | TRACK_TX2_QEC;
uint32_t status;

/* Allocating memory for the errorString */
errorString = (const char*) malloc(sizeof(char) * 200);

printf("Please wait...\n");

platform_init();

/**************************************************************************/
/***** System Clocks Initialization Initialization Sequence *****/
/**************************************************************************/

/* Perform a hard reset on the AD9528 DUT */
ad9528Error = AD9528_resetDevice(clockAD9528_device);
if (ad9528Error != ADIERR_OK) {
printf("AD9528_resetDevice() failed\n");
return ad9528Error;
}

ad9528Error = AD9528_initDeviceDataStruct(clockAD9528_device, clockAD9528_device->pll1Settings->vcxo_Frequency_Hz,
clockAD9528_device->pll1Settings->refA_Frequency_Hz,
clockAD9528_device->outputSettings->outFrequency_Hz[1]);
if (ad9528Error != ADIERR_OK) {
printf("AD9528_initDeviceDataStruct() failed\n");
return ad9528Error;
}

/* Initialize the AD9528 by writing all SPI registers */
ad9528Error = AD9528_initialize(clockAD9528_device);
if (ad9528Error != ADIERR_OK)
printf("WARNING: AD9528_initialize() issues. Possible cause: REF_CLK not connected.\n");

/* Initialize CLKGENs */
status = clkgen_setup(&mykDevice);
if (status != 0) {
printf("clkgen_setup() failed\n");
return -1;
}

Outcomes