Hey Guys,
i am using for a custom evaluation board the ADF5355 as a LO for a QAM modulator/demodulator. Allthough I use the programming software there is something wrong.
I want the ADF5355 to give a LO at 8,571428GHz using RFOutB and a 20MHz reference. Here is my programming sequence. Sadly I don't see my error:
voidADF5355_8_5714GHz_config_startup(void)
{
ENABLE_ADF5355;
adf5355_data[0]=1;
adf5355_data[1]=0x041C;
CS_ADF5355_LOW;
HAL_SPI_Transmit_DMA(&hspi2,&adf5355_data[0],2);
while(HAL_SPI_GetState(&hspi2)== HAL_SPI_STATE_BUSY_TX);
CS_ADF5355_HIGH;
adf5355_data[0]=0x0061;
adf5355_data[1]=0x300B;
CS_ADF5355_LOW;
HAL_SPI_Transmit_DMA(&hspi2,&adf5355_data[0],2);
while(HAL_SPI_GetState(&hspi2)== HAL_SPI_STATE_BUSY_TX);
CS_ADF5355_HIGH;
adf5355_data[0]=0x00C0;
adf5355_data[1]=0x0CBA;
CS_ADF5355_LOW;
HAL_SPI_Transmit_DMA(&hspi2,&adf5355_data[0],2);
while(HAL_SPI_GetState(&hspi2)== HAL_SPI_STATE_BUSY_TX);
CS_ADF5355_HIGH;
adf5355_data[0]=0x0908;
adf5355_data[1]=0xBCC9;
CS_ADF5355_LOW;
HAL_SPI_Transmit_DMA(&hspi2,&adf5355_data[0],2);
while(HAL_SPI_GetState(&hspi2)== HAL_SPI_STATE_BUSY_TX);
CS_ADF5355_HIGH;
adf5355_data[0]=0x102D;
adf5355_data[1]=0x0428;
CS_ADF5355_LOW;
HAL_SPI_Transmit_DMA(&hspi2,&adf5355_data[0],2);
while(HAL_SPI_GetState(&hspi2)== HAL_SPI_STATE_BUSY_TX);
CS_ADF5355_HIGH;
adf5355_data[0]=0x1200;
adf5355_data[1]=0x0067;
CS_ADF5355_LOW;
HAL_SPI_Transmit_DMA(&hspi2,&adf5355_data[0],2);
while(HAL_SPI_GetState(&hspi2)== HAL_SPI_STATE_BUSY_TX);
CS_ADF5355_HIGH;
adf5355_data[0]=0x3500;
adf5355_data[1]=0x8036;
CS_ADF5355_LOW;
HAL_SPI_Transmit_DMA(&hspi2,&adf5355_data[0],2);
while(HAL_SPI_GetState(&hspi2)== HAL_SPI_STATE_BUSY_TX);
CS_ADF5355_HIGH;
adf5355_data[0]=0x0030;
adf5355_data[1]=0x0D60;
CS_ADF5355_LOW;
HAL_SPI_Transmit_DMA(&hspi2,&adf5355_data[0],2);
while(HAL_SPI_GetState(&hspi2)== HAL_SPI_STATE_BUSY_TX);
CS_ADF5355_HIGH;
adf5355_data[0]=0x0080;
adf5355_data[1]=0x0025;
CS_ADF5355_LOW;
HAL_SPI_Transmit_DMA(&hspi2,&adf5355_data[0],2);
while(HAL_SPI_GetState(&hspi2)== HAL_SPI_STATE_BUSY_TX);
CS_ADF5355_HIGH;
adf5355_data[0]=0x3000;
adf5355_data[1]=0x8984;
CS_ADF5355_LOW;
HAL_SPI_Transmit_DMA(&hspi2,&adf5355_data[0],2);
while(HAL_SPI_GetState(&hspi2)== HAL_SPI_STATE_BUSY_TX);
CS_ADF5355_HIGH;
adf5355_data[0]=0x0030;
adf5355_data[1]=0x0D60;
CS_ADF5355_LOW;
HAL_SPI_Transmit_DMA(&hspi2,&adf5355_data[0],2);
while(HAL_SPI_GetState(&hspi2)== HAL_SPI_STATE_BUSY_TX);
CS_ADF5355_HIGH;
adf5355_data[0]=0x0000;
adf5355_data[1]=0x003;
CS_ADF5355_LOW;
HAL_SPI_Transmit_DMA(&hspi2,&adf5355_data[0],2);
while(HAL_SPI_GetState(&hspi2)== HAL_SPI_STATE_BUSY_TX);
CS_ADF5355_HIGH;
adf5355_data[0]=0x0030;
adf5355_data[1]=0x0D60;
CS_ADF5355_LOW;
HAL_SPI_Transmit_DMA(&hspi2,&adf5355_data[0],2);
while(HAL_SPI_GetState(&hspi2)== HAL_SPI_STATE_BUSY_TX);
CS_ADF5355_HIGH;
adf5355_data[0]=0x9C77;
adf5355_data[1]=0xFFF2;
CS_ADF5355_LOW;
HAL_SPI_Transmit_DMA(&hspi2,&adf5355_data[0],2);
while(HAL_SPI_GetState(&hspi2)== HAL_SPI_STATE_BUSY_TX);
CS_ADF5355_HIGH;
adf5355_data[0]=0x0030;
adf5355_data[1]=0x0D60;
CS_ADF5355_LOW;
HAL_SPI_Transmit_DMA(&hspi2,&adf5355_data[0],2);
while(HAL_SPI_GetState(&hspi2)== HAL_SPI_STATE_BUSY_TX);
CS_ADF5355_HIGH;
adf5355_data[0]=0x0492;
adf5355_data[1]=0x3A21;
CS_ADF5355_LOW;
HAL_SPI_Transmit_DMA(&hspi2,&adf5355_data[0],2);
while(HAL_SPI_GetState(&hspi2)== HAL_SPI_STATE_BUSY_TX);
CS_ADF5355_HIGH;
adf5355_data[0]=0x0030;
adf5355_data[1]=0x0D60;
CS_ADF5355_LOW;
HAL_SPI_Transmit_DMA(&hspi2,&adf5355_data[0],2);
while(HAL_SPI_GetState(&hspi2)== HAL_SPI_STATE_BUSY_TX);
CS_ADF5355_HIGH;
}
With this sequence I get a LO at 4,71394GHz at RFOUTB . Why?
I would really appreciate some help, because I don't see my fault here..
best regards
Benbjamin