TI中文支持网
TI专业的中文技术问题搜集分享网站

LMX2582的寄存器配置问题

我用单片机去配置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里的寄存器配置的还是根据手册里自己算出的寄存器来配的呢?麻烦回复一下,谢谢哈!

赞(0)
未经允许不得转载:TI中文支持网 » LMX2582的寄存器配置问题
分享到: 更多 (0)