Input signal : 26MHz
I want output : 920MHz, but I failed.
According to TICS pro, I get :
Register map:
I use MCU to set registers of LMX2582.
I connect 3 port of MCU to LMX2582: CSB , SCK and SDI.
I write registers of LMX2582 according to register map.
This is code of MCU to write registers:
int main(void)
{
uint32_t reg[44] =
{0x00221A,0x010808,0x020500,0x041943,0x0728B2,0x081084,0x090302,0x0A10D8,
0x0B0018,0x0C7001,0x0D4000,0x0E0FFF,0x130965,0x14012C,0x162300,0x178842,
0x180509,0x190000,0x1C2924,0x1D0084,0x1E0434,0x1F0601,0x204210,0x214210,
0x22C3F0,0x23001B,0x240C10,0x254000,0x260046,0x278404,0x280000,0x2900D0,
0x2A0000,0x2B0000,0x2C0000,0x2D0051,0x2E0F24,0x2F00CF,0x3003FC,0x3B0000,
0x3D0001,0x3E0000,0x4003AF,0x00221C}; // register map
SystemInit();
GPIOInit();
GPIOSetDir(PORT0,9,1); //CSB
GPIOSetDir(PORT2,2,1);//CLK
GPIOSetDir(PORT0,6,1);//DATA
SPI_Wdata(reg,44);//WRITE REGISTER
}
void WR_byte(uint32_t da)
{
int j;
for(j=0;j<24;j++)
{
GPIOSetValue(PORT0,6,(da&0x800000));
GPIOSetValue(PORT2,2,1);
da = da<<1;
GPIOSetValue(PORT2,2,0);
}
}
void SPI_Wdata(uint32_t *Tdata,uint32_t size)
{
int i;
GPIOSetValue(PORT2,2,0);
GPIOSetValue(PORT0,9,1);
for(i = 0;i < size;i++)
{
GPIOSetValue(PORT0,9,0);
WR_byte(Tdata[i]);
GPIOSetValue(PORT0,9,1);
}
}
Am I wrong?
How should I set register of LMX2582?