我用单片机去配置LMX2582的寄存器,输入信号26MHz,想得到920MHz的输出信号,但是配置完寄存器后没有信号输出。
寄存器的值是由TICS Pro 软件提供的,如图:
按照datasheet配置寄存器,如图:
单片机部分程序如下:
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}; //寄存器值
SystemInit();
GPIOInit();
// 把单片机的PORT0_9端口接到CSB,PORT2_2端口接到SCK,PORT0_6端口接到SDI //
GPIOSetDir(PORT0,9,1); //CSB
GPIOSetDir(PORT2,2,1);//CLK
GPIOSetDir(PORT0,6,1);//DATA
LMX2582_SPI_Wdata(reg,44); //写入寄存器值
}
void LMX2582_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 LMX2582_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);
LMX2582_WR_byte(Tdata[i]);
GPIOSetValue(PORT0,9,1);
}
delay32Ms(0,10);
}
把单片机的三个IO端口分别接到LMX2582的CSB、SCK和SDI三个引脚上,然后让单片机按照DATASHEET输出寄存器的值,进行配置。
单片机运行完成后,LMX2582没有信号输出。
应该如何进行LMX2582的寄存器配置?
Mickey Zhang:
TICS Pro软件主要是跟EVM板配合使用的,给您推荐PLLatinum软件,PLLatinum软件下载链接:http://www.ti.com.cn/tool/cn/pllatinumsim-sw
Tao Yan1:
回复 Mickey Zhang:
我手里没有EVM板,想通过单片机来配置。单片机给LMX2582寄存器写值的过程用示波器打过,均正确。有没有可能是配置的时序弄错了?
我按照datesheet上的顺序写的,如下:
对于步骤1和2,均符合要求。但对步骤3有些困惑,步骤3要求R0寄存器的R0[1]=1,是把该位设置为1,而其他位设置为0?比如R0=0x000002。
步骤5也是同样的困惑,是需要在此时再次进行R0的配置,写成R0=0x000004 吗(R0[3]=1)?
我尝试过的配置过程如下:
1) 写 R0=0x000002;
2) 写其他寄存器;
3) 写 R0=0x000004;
或
1) 写 R0=0x002216; (R0[1]=1,其他位设为默认值)
2) 写其他寄存器;
3) 写 R0=0x00221C;(R0[1]=0,R0[3]=1,其他位设为默认值)
两种都不能产生输出信号。
还望解决。
Tao Yan1:
回复 Mickey Zhang:
请见回复。
haopeng han:
回复 Tao Yan1:
你的配置有问题
VCO的频率不在工作范围之内
ning kings:
请问楼主已经解决问题了没?
Ziqing Liu:
回复 Mickey Zhang:
你好!我也是用单片机配置LMX2592,我在官网下载这个软件,为什么被拒绝了!?请问我该怎么办?谢谢!
Tao Yan1:
回复 ning kings:
已经解决。配置寄存器时每个寄存器之间的时间间隔需要长一些。
Tao Yan1:
回复 Ziqing Liu:
你是下载“德州仪器 (TI) PLLatinum 仿真工具”这款软件吗?
Ziqing Liu:
回复 Tao Yan1:
是的,这个帖子里TI的员工建议用这个软件仿真得到寄存器配置的
Ziqing Liu:
回复 Tao Yan1:
我和你用的是同样的控制方式,也是用单片机进行SPI通信,现在出现问题,VCO的输出频率一直是3.45GHz,改不了。你是按照TICS PRO里的寄存器配置的还是根据手册里自己算出的寄存器来配的呢?麻烦回复一下,谢谢哈!