fdgh 发表于 2012-11-22 15:09:46

关于HMC833LP6GE的问题

跪求高手帮忙分析分析下面的程序中对HMC833LP6GE的寄存器配置是否正确,此程序下载硬件调试没有出来程序中设置的频率,只有2分频VCO基本频率,没加程序的时候是2.55GMHz加上程序后是1.27GMHz

//说明:利用HMC833LP6CE二分频产生1030M频率,晶振是20M,鉴相频率是20M ,该程序为整数分频
#include <reg922.h>
#include<stdio.h>
#include "intrins.h"
sbit SEN=P0^0;
sbit SDI = P0^1;
sbit CLK = P0^2;
sbit SD_LD0=P0^3;
//函数声明
void PORT_INIT();
void Delay_us(unsigned int n);
void Write_REG(unsigned char ADD,unsigned long int WR_DAT);
unsigned long intRead_REG(unsigned char ADD);
/****************************************/
void main()
{
// unsigned long int return_dat;
Delay_us(500);//HMC833开机时间为250US,所以单片机工作要延时
Delay_us(500);
    PORT_INIT();
SEN=0;   //选择模式,如果首先是SEN的上升沿,就选择一个从机模式;如果首先是CLK的上升沿则选择多从机的模式
_nop_();
_nop_();
SEN=1;
_nop_();
_nop_();
Write_REG(0x00,0x000000); //如果电源开电时间超过了250US,要进行一次软件复位
Write_REG(0x00,0x000020); //从复位状态释放出来
    Write_REG(0x0F,0x0000c1); //锁定指示配置,设置为一直使能,并输出为锁定指示
Write_REG(0x02,0x000001); //设定R=1值
Write_REG(0x06,0x2027ca); //选择整数模式
// Write_REG(0x09,0x1fffff); //设置电荷泵的电流为2.54mA,补偿电流为235UA
Write_REG(0x09,0x0bcf3c); //设置电荷泵的电流为1.2mA,补偿电流为300uA
Write_REG(0x05,0x000b88); //配置VCO_01
Write_REG(0x05,0x006110); //配置VCO_022分频
Write_REG(0x05,0x002898); //配置VCO_03不倍频
Write_REG(0x05,0x000000); //清楚VCO寄存器的地址
Write_REG(0x03,0x00006d); //频率为1030,是由2060二分频,刚好能被整除 ,为整数分频的N
// Write_REG(0x04,0x000000); //小数分频的N



    while(1)
{
   Delay_us(500);
                  
   if(SD_LD0==0)
{
Write_REG(0x00,0x000000); //如果电源开电时间超过了250US,要进行一次软件复位
Write_REG(0x00,0x000020); //从复位状态释放出来
   Write_REG(0x0F,0x0000c1); //锁定指示配置,设置为一直使能,并输出为锁定指示
Write_REG(0x02,0x000001); //设定R=1值
Write_REG(0x06,0x2027ca); //选择整数模式
//Write_REG(0x09,0x1fffff); //设置电荷泵的电流为2.54mA,补偿电流为235UA
Write_REG(0x09,0x0bcf3c); //设置电荷泵的电流为1.2mA,补偿电流为300uA
Write_REG(0x05,0x000b88); //配置VCO_01
Write_REG(0x05,0x006110); //配置VCO_022分频
Write_REG(0x05,0x002898); //配置VCO_03不倍频
Write_REG(0x05,0x000000); //清楚VCO寄存器的地址
Write_REG(0x03,0x00006d); //频率为1030,是由2060二分频,刚好能被整除 ,为整数分频的N
//Write_REG(0x04,0x000000); //小数分频的N
}
else;
}
}
void PORT_INIT()
{
P0M1 = 0X08;
P0M2 = 0X00;
}
/*延时函数
/****************************************************************************************/
void Delay_us(unsigned int n)
{
unsigned int i;
for(i=0;i<n;i++)
{
_nop_();
}
}
/**************给HMC833寄存器写数据函数*************************/
void Write_REG(unsigned char ADD,unsigned long int WR_DAT)
{
    unsigned int m=0,j=0;
unsigned long int temp1=0x800000;
unsigned char temp2=0x20;
// SEN=0;
_nop_();
_nop_();
SEN=1;
SDI=0;
CLK=0;
_nop_();
_nop_();
_nop_();
_nop_();
CLK=1;
for(m=0;m<6;m++)
    {
      CLK=1;
   _nop_();
   _nop_();
   if(( ADD&temp2)==0x0)
   SDI=0;
else
   SDI=1;
_nop_();
CLK=0;
_nop_();   
temp2=temp2>>1;

   }
for(j=0;j<24;j++)
   {
   CLK=1;
_nop_();
   if((WR_DAT&temp1)==0X0)
   SDI=0;
else
   SDI=1;
_nop_();
CLK=0 ;
_nop_();
temp1=temp1>>1;

   }
CLK=1;
Delay_us(2);
CLK=0;
Delay_us(2);
CLK=1;
Delay_us(2);
CLK=0;
Delay_us(2);
SEN=0;
Delay_us(10);
}

wx城玖 发表于 2021-8-27 20:55:01

用的是什么单片机?这个地方没看懂:P0M1 = 0X08;P0M2 = 0X00;问题解决了吗?能说一说哪儿的硬件问题?:loveliness::loveliness::loveliness:

tottizd 发表于 2019-6-25 20:39:41

楼主来个QQ,求交流

tybhehe 发表于 2013-11-29 19:59:01

回复:关于HMC833LP6GE的问题

回复第 8 楼 于2012-12-06 12:16:39发表:

我正在配HMC769,跟HMC769比较类似,觉得自己的程序没什么问题,但就是没配起   希望能交流下给点意见

ilovezqh 发表于 2013-7-3 22:09:08

回复:关于HMC833LP6GE的问题

弱弱的问一下,你怎么是CLK的下降沿送数据!!!难不成我一直错了?

fdgh 发表于 2013-2-6 16:26:06

回复:关于HMC833LP6GE的问题

回复第 10 楼 于2012-12-29 15:24:38发表:
你这寄存器配置的根本就不对啊 !:funk:

那应该怎么配置呢?现在又有新的问题了,我想要配置倍频,可出来的频率和基频的幅度差不多,都很低,只有-14dB左右,下面是VCO的配置情况,麻烦看看有什么问题,指点指点,这个输出幅度怎么调啊?小弟万分感激!
Write_REG(0x0a,0x000005); //配置VCO自动
Write_REG(0x05,0x000788); //配置VCO_01
Write_REG(0x05,0x00e090); //配置VCO_02K=1
Write_REG(0x05,0x000000); //清楚VCO寄存器的地址
Write_REG(0x03,0x000023); //频率为3.5G,是由1750二倍频,刚好能被整除 ,为整数分频的N
// Write_REG(0x04,0x000000); //小数分频的N
Write_REG(0x05,0x002818); //配置VCO_03倍频

fdgh 发表于 2013-1-30 09:44:35

回复:关于HMC833LP6GE的问题

那这个寄存器应该是怎样配置的呢?

liujingyuan-409 发表于 2012-12-29 15:24:38

RE:关于HMC833LP6GE的问题

你这寄存器配置的根本就不对啊 !:funk:

liujingyuan-409 发表于 2012-12-29 15:23:53

RE:关于HMC833LP6GE的问题

你这寄存器配置的根本就不对啊 !:funk:

fdgh 发表于 2012-12-6 12:16:39

回复:关于HMC833LP6GE的问题

问题解决,是硬件问题
页: [1] 2
查看完整版本: 关于HMC833LP6GE的问题

Baidu
map