打印
[其他模拟产品-信号链]

LMX2594的使用案例

[复制链接]
31979|31
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
東南博士|  楼主 | 2020-2-26 09:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
東南博士|  楼主 | 2020-2-26 09:31 | 只看该作者
TI公司的LMX2594、LMX2595就是其中具有代表性的一种锁相环集成电路。
本文对集成VCO的锁相环芯片LMX2594、LMX2594进行了介绍,并与Hittite公司的HMC704芯片进行了横向的对比,展示出其优缺点,频综工程师按系统要求合理选择芯片提供了依据。

1、    LMX2594、LMX2595集成VCO,LMX2595为LMX2594内集成2倍频器版本。

  LMX2594输出频率范围:10MHz~15GHz

  LMX2595输出频率范围:10MHz~19GHz

对比HMC704输出范围:RF输入DC~8GHz

使用特权

评论回复
板凳
東南博士|  楼主 | 2020-2-26 09:31 | 只看该作者
2、    LMX2594环路内归一化噪声基底为-236dBc/Hz,归一化1/f噪声为-129dBc/Hz。与Hittite公司的HMC704对比,HMC704的归一化噪声基底为-233dBc/Hz,归一化1/f噪声为-126dBc/Hz。ßLMX2594VCO为7段VCO典型相噪指标:



当VCO=14.5GHz时

10kHz              – 73

100kHz            –99

1MHz               – 121

10MHz             – 143

90MHz            – 152

使用特权

评论回复
地板
東南博士|  楼主 | 2020-2-26 09:32 | 只看该作者

使用特权

评论回复
5
東南博士|  楼主 | 2020-2-26 09:33 | 只看该作者
3、  锁相环中高的鉴相频率能使锁相环倍频次数降低,这样通常意味着输出信号带内噪声的降低。在整数模式下LMX2594的鉴相频率最高为400MHz,小数模式下鉴相频率最高为300MHz。相比HMC704,在整数模式下鉴相频率最高为115MHz,在小数模式下(小数B模式)鉴相频率最高为100MHz。

  4、  在LMX2594内部VCO输出频率反馈支路上没有预分频器,直接进入高速N分频器,因此能显著的降低杂散的大小与数量。对比HMC704,当VCO反馈频率大于4GHz时必须使用/2预分频器使N分频器的输入频率限制在4GHz以下。

使用特权

评论回复
6
東南博士|  楼主 | 2020-2-26 09:38 | 只看该作者
5、LMX2594跳频速度=VCO校准时间+环路锁定时间

VCO校准时间:

Noassist   50μs

Partialassist   35μs

Closefrequency   20μs

Fullassist   5μs

使用特权

评论回复
7
東南博士|  楼主 | 2020-2-26 09:39 | 只看该作者
以下是微控制器控制LMX2594的代码
话说 TI 的LMX2594 真好用!

使用特权

评论回复
8
東南博士|  楼主 | 2020-2-26 09:40 | 只看该作者
#include "./bsp_lm2592.h"
#include "./bsp_usart.h"
#include <stdio.h>
#include <math.h>

//失锁重置
unsigned long LMX25941_lose_ld_cnt = 0;
unsigned long LMX25951_lose_ld_cnt = 0;

unsigned int LM2594_Reg_Set[113] = {0};
unsigned int LM2595_Reg_Set[113] = {0};

unsigned int IN_FRQ = 0;
unsigned int OUT_FRQ = 0;

unsigned int LM2594_Reg[113] = {
  0x700000
  , 0x6F0000
  , 0x6E0000
  , 0x6D0000
  , 0x6C0000
  , 0x6B0000
  , 0x6A0000
  , 0x690021
  , 0x680000
  , 0x670000
  , 0x660000
  , 0x650011
  , 0x640000
  , 0x630000
  , 0x620000
  , 0x610888
  , 0x600000
  , 0x5F0000
  , 0x5E0000
  , 0x5D0000
  , 0x5C0000
  , 0x5B0000
  , 0x5A0000
  , 0x590000
  , 0x580000
  , 0x570000
  , 0x560000
  , 0x550000
  , 0x540000
  , 0x530000
  , 0x520000
  , 0x510000
  , 0x500000
  , 0x4F0000
  , 0x4E0003
  , 0x4D0000
  , 0x4C000C
  , 0x4B0800
  , 0x4A0000
  , 0x49003F
  , 0x480001
  , 0x470081
  , 0x46C350
  , 0x450000
  , 0x4403E8
  , 0x430000
  , 0x4201F4
  , 0x410000
  , 0x401388
  , 0x3F0000
  , 0x3E0322
  , 0x3D00A8
  , 0x3C0000
  , 0x3B0001
  , 0x3A8001
  , 0x390020
  , 0x380000
  , 0x370000
  , 0x360000
  , 0x350000
  , 0x340820
  , 0x330080
  , 0x320000
  , 0x314180
  , 0x300300
  , 0x2F0300
  , 0x2E07FC
  , 0x2DC8DF //fix
  , 0x2C1FA4 //1FA3
  , 0x2B0000
  , 0x2A0000
  , 0x290000
  , 0x280000
  , 0x27FFFD //
  , 0x26FFFF //
  , 0x250604
  , 0x240041 //fix
  , 0x230004
  , 0x220000
  , 0x211E21
  , 0x200393
  , 0x1F43EC
  , 0x1E318C
  , 0x1D318C
  , 0x1C0488
  , 0x1B0002
  , 0x1A0DB0
  , 0x190C2B
  , 0x18071A
  , 0x17007C
  , 0x160001
  , 0x150401
  , 0x14C848
  , 0x1327B7
  , 0x120064
  , 0x11012C
  , 0x100080
  , 0x0F064F
  , 0x0E1E40 //电荷泵3mA
  , 0x0D4000
  , 0x0C5001
  , 0x0B0018
  , 0x0A10D8
  , 0x091604
  , 0x082000
  , 0x0740B2
  , 0x06C802
  , 0x0500C8
  , 0x040A43
  , 0x030642
  , 0x020500
  , 0x010808
  , 0x00251C
};

unsigned int LM2595_Reg[113] = {
  0x700000
  , 0x6F0000
  , 0x6E0000
  , 0x6D0000
  , 0x6C0000
  , 0x6B0000
  , 0x6A0000
  , 0x690021
  , 0x680000
  , 0x670000
  , 0x660000
  , 0x650011
  , 0x640000
  , 0x630000
  , 0x620000
  , 0x610888
  , 0x600000
  , 0x5F0000
  , 0x5E0000
  , 0x5D0000
  , 0x5C0000
  , 0x5B0000
  , 0x5A0000
  , 0x590000
  , 0x580000
  , 0x570000
  , 0x560000
  , 0x550000
  , 0x540000
  , 0x530000
  , 0x520000
  , 0x510000
  , 0x500000
  , 0x4F0000
  , 0x4E0003
  , 0x4D0000
  , 0x4C000C
  , 0x4B0800
  , 0x4A0000
  , 0x49003F
  , 0x480001
  , 0x470081
  , 0x46C350
  , 0x450000
  , 0x4403E8
  , 0x430000
  , 0x4201F4
  , 0x410000
  , 0x401388
  , 0x3F0000
  , 0x3E0322
  , 0x3D00A8
  , 0x3C0000
  , 0x3B0001
  , 0x3A8001
  , 0x390020
  , 0x380000
  , 0x370000
  , 0x360000
  , 0x350000
  , 0x340820
  , 0x330080
  , 0x320000
  , 0x314180
  , 0x300300
  , 0x2F0300
  , 0x2E07FC
  , 0x2DD0DF
  , 0x2C1FA4 //1FA3
  , 0x2B0000
  , 0x2A0000
  , 0x290000
  , 0x280000
  , 0x271A80 //03E8
  , 0x26FFFF //0000
  , 0x25FFFF //0404
  , 0x240028
  , 0x230004
  , 0x220000
  , 0x211E21
  , 0x200393
  , 0x1F43EC
  , 0x1E318C
  , 0x1D318C
  , 0x1CC048
  , 0x1B0003
  , 0x1A0DB0
  , 0x190C2B
  , 0x18071A
  , 0x17007C
  , 0x160001
  , 0x150401
  , 0x14C848
  , 0x1327B7
  , 0x120064
  , 0x11012C
  , 0x100080
  , 0x0F064F
  , 0x0E1E40 //电荷泵3mA
  , 0x0D4000
  , 0x0C5001
  , 0x0B0018
  , 0x0A10D8
  , 0x091604
  , 0x082000
  , 0x0740B2
  , 0x06C802
  , 0x0500C8
  , 0x040A43
  , 0x030642
  , 0x020500
  , 0x010808
  , 0x00251C
};

使用特权

评论回复
9
東南博士|  楼主 | 2020-2-26 09:40 | 只看该作者
static void SPI_delay_us(unsigned int Cnt)
{
  while (Cnt--) {
    __NOP();
    __NOP();
    __NOP();
    __NOP();
    __NOP();
    __NOP();
    __NOP();
    __NOP();
    __NOP();
    __NOP();
  }
}

void LM2594_GPIO_all_Init(void)
{
  GPIO_InitTypeDef GPIO_InitStructure;

  RCC_AHB1PeriphClockCmd(LM2594_1_CE_CLK |
                         LM2594_1_SCK_CLK |
                         LM2594_1_SDI_CLK |
                         LM2594_1_LD_CLK, ENABLE);
  //out_put
  GPIO_InitStructure.GPIO_Pin = LM2594_1_CE_PIN;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
  GPIO_Init(LM2594_1_CE_PORT, &GPIO_InitStructure);

  GPIO_InitStructure.GPIO_Pin = LM2594_1_SCK_PIN;
  GPIO_Init(LM2594_1_SCK_PORT, &GPIO_InitStructure);

  GPIO_InitStructure.GPIO_Pin = LM2594_1_SDI_PIN;
  GPIO_Init(LM2594_1_SDI_PORT, &GPIO_InitStructure);

  //in_put
  GPIO_InitStructure.GPIO_Pin = LM2594_1_LD_PIN;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
  GPIO_Init(LM2594_1_LD_PORT, &GPIO_InitStructure);
}

void LM2595_GPIO_all_Init(void)
{
  GPIO_InitTypeDef GPIO_InitStructure;

  RCC_AHB1PeriphClockCmd(LM2595_1_CE_CLK |
                         LM2595_1_SCK_CLK |
                         LM2595_1_SDI_CLK |
                         LM2595_1_LD_CLK, ENABLE);
  //out_put
  GPIO_InitStructure.GPIO_Pin = LM2595_1_CE_PIN;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
  GPIO_Init(LM2595_1_CE_PORT, &GPIO_InitStructure);

  GPIO_InitStructure.GPIO_Pin = LM2595_1_SCK_PIN;
  GPIO_Init(LM2595_1_SCK_PORT, &GPIO_InitStructure);

  GPIO_InitStructure.GPIO_Pin = LM2595_1_SDI_PIN;
  GPIO_Init(LM2595_1_SDI_PORT, &GPIO_InitStructure);

  //in_put
  GPIO_InitStructure.GPIO_Pin = LM2595_1_LD_PIN;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
  GPIO_Init(LM2595_1_LD_PORT, &GPIO_InitStructure);
}


int LM2594_ALL_init(void)
{
  LM2594_1_CE_Hi;
  LM2594_1_SCK_Hi;
  LM2594_1_SDI_Hi;
  return 0;
}

int LM2595_ALL_init(void)
{
  LM2595_1_CE_Hi;
  LM2595_1_SCK_Hi;
  LM2595_1_SDI_Hi;
  return 0;
}

使用特权

评论回复
10
東南博士|  楼主 | 2020-2-26 09:40 | 只看该作者
static void LM2594_W_1_byte(unsigned char Dat)
{
  int i;
  for (i = 0; i <= 7; i++) {  //数据低8位,共24位
    LM2594_1_SCK_Lo;
    if (Dat & 0x80) {
      LM2594_1_SDI_Hi;
    } else {
      LM2594_1_SDI_Lo;
    }
    SPI_delay_us(500);
    LM2594_1_SCK_Hi;
    SPI_delay_us(500);
    Dat = Dat << 1;     //左移一位
  }
}

void LMX2594_W_3_bytes_Add(unsigned char Add, unsigned int Reg)
{
  unsigned char Addr;
  unsigned char Dat1;
  unsigned char Dat2;

  Addr = Add;
  Dat1 = (Reg >> 8) & 0XFF;
  Dat2 = (Reg >> 0) & 0XFF;

  //CS高
  LM2594_1_CE_Hi;
  SPI_delay_us(500);
  //CS低
  LM2594_1_CE_Lo;
  SPI_delay_us(500);
  //SPI写数据
  LM2594_W_1_byte(Addr);
  LM2594_W_1_byte(Dat1);
  LM2594_W_1_byte(Dat2);
  SPI_delay_us(500);
  //CS高
  LM2594_1_CE_Hi;
}


void LMX2594_W_3_bytes(unsigned int Reg)
{
  unsigned char Addr;
  unsigned char Dat1;
  unsigned char Dat2;

  Addr = (Reg >> 16) & 0XFF;
  Dat1 = (Reg >> 8) & 0XFF;
  Dat2 = (Reg >> 0) & 0XFF;

  //CS高
  LM2594_1_CE_Hi;
  SPI_delay_us(500);
  //CS低
  LM2594_1_CE_Lo;
  SPI_delay_us(500);
  //SPI写数据
  LM2594_W_1_byte(Addr);
  LM2594_W_1_byte(Dat1);
  LM2594_W_1_byte(Dat2);
  SPI_delay_us(500);
  //CS高
  LM2594_1_CE_Hi;
}

void LMX2594_W_All_dat(unsigned int Reg[])
{
  for (unsigned char W_cnt = 0; W_cnt < 113; W_cnt++) {
    LMX2594_W_3_bytes(Reg[W_cnt]);
  }
}

使用特权

评论回复
11
東南博士|  楼主 | 2020-2-26 09:41 | 只看该作者
static void LM2595_W_1_byte(unsigned char Dat)
{
  int i;
  for (i = 0; i <= 7; i++) {  //数据低8位,共24位
    LM2595_1_SCK_Lo;
    if (Dat & 0x80) {
      LM2595_1_SDI_Hi;
    } else {
      LM2595_1_SDI_Lo;
    }
    SPI_delay_us(500);
    LM2595_1_SCK_Hi;
    SPI_delay_us(500);
    Dat = Dat << 1;     //左移一位
  }
}

void LMX2595_W_3_bytes_Add(unsigned char Add, unsigned int Reg)
{
  unsigned char Addr;
  unsigned char Dat1;
  unsigned char Dat2;

  Addr = Add;
  Dat1 = (Reg >> 8) & 0XFF;
  Dat2 = (Reg >> 0) & 0XFF;

  //CS高
  LM2595_1_CE_Hi;
  SPI_delay_us(50);
  //CS低
  LM2595_1_CE_Lo;
  SPI_delay_us(50);
  //SPI写数据
  LM2595_W_1_byte(Addr);
  LM2595_W_1_byte(Dat1);
  LM2595_W_1_byte(Dat2);
  SPI_delay_us(50);
  //CS高
  LM2595_1_CE_Hi;
}


void LMX2595_W_3_bytes(unsigned int Reg)
{
  unsigned char Addr;
  unsigned char Dat1;
  unsigned char Dat2;

  Addr = (Reg >> 16) & 0XFF;
  Dat1 = (Reg >> 8) & 0XFF;
  Dat2 = (Reg >> 0) & 0XFF;

  //CS高
  LM2595_1_CE_Hi;
  SPI_delay_us(500);
  //CS低
  LM2595_1_CE_Lo;
  SPI_delay_us(500);
  //SPI写数据
  LM2595_W_1_byte(Addr);
  LM2595_W_1_byte(Dat1);
  LM2595_W_1_byte(Dat2);
  SPI_delay_us(500);
  //CS高
  LM2595_1_CE_Hi;
}

void LMX2595_W_All_dat(unsigned int Reg[])
{
  for (unsigned char W_cnt = 0; W_cnt < 113; W_cnt++) {
    LMX2595_W_3_bytes(Reg[W_cnt]);
  }
}

使用特权

评论回复
12
東南博士|  楼主 | 2020-2-26 09:41 | 只看该作者
//REG22
//REG24
//REG2A
//REG2B
int In_frq_lmx2594_set(unsigned char IN_Frq_H, unsigned char IN_Frq_M, unsigned char IN_Frq_L, unsigned char OUT_Frq_H, unsigned char OUT_Frq_M, unsigned char OUT_Frq_L, unsigned int reg[])
{
  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  unsigned int  IN_Frq_rcv = 0;
  unsigned int  OUT_Frq_rcv = 0;
  float  Frq_out_tmp1 = 0;
  unsigned int  Frq_out_tmp2 = 0;
  unsigned int  OUT_frac = 0;
  unsigned int  IN_frac = 0;
  unsigned int  REF_frac = 0;
  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  unsigned int  out_x00_mhz = 0;
  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  unsigned int  set_reg_int = 0;
  unsigned int  set_reg_frac = 0;
  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  //频率:in(*10K)
  IN_Frq_rcv = (IN_Frq_H << 16) + (IN_Frq_M << 8) + IN_Frq_L;
  OUT_Frq_rcv = (OUT_Frq_H << 16) + (OUT_Frq_M << 8) + OUT_Frq_L;
  IN_FRQ = IN_Frq_rcv;

  IN_frac = IN_Frq_rcv % 10000;
  OUT_frac = OUT_Frq_rcv % 10000;

  ///////////////////////////////////////////////////////////////////////////////////////////////////
  //判断,REF_frac取绝对值>0
  if (OUT_frac > IN_frac) {
    REF_frac = OUT_frac - IN_frac;
  }
  if (OUT_frac <= IN_frac) {
    REF_frac = IN_frac - OUT_frac;
  }
  ///////////////////////////////////////////////////////////////////////////////////////////////////

  if ((REF_frac > 400) && (REF_frac < 9600)) { //1.100<-x-<9900

    //步骤1:频率寄存器计算:(Frq_rcv+28G*10^5-4.2G*10^5)/0.2G*10^5,
    Frq_out_tmp1 = (float)((IN_Frq_rcv + 2380000) / 10000) / 2;
    Frq_out_tmp2 = (unsigned int)(Frq_out_tmp1 / 2);

    //步骤2:对步骤1向下取整,除2,输出频率_?百MHZ;
    out_x00_mhz = Frq_out_tmp2;

    //步骤3:对步骤2除2取整,寄存器的整数位
    set_reg_int = out_x00_mhz;

    //步骤3:对步骤2除2取余,转换为10khz
    set_reg_frac = (unsigned int)((unsigned int)((Frq_out_tmp1 - out_x00_mhz * 2) * 4) * 536870912);

    //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    //寄存器0X24
    reg[0x24] = set_reg_int;
    //寄存器0X2b
    reg[0x2b] = 0X2B0000 + set_reg_frac % 65536;
    reg[0x2a] = 0X2A0000 + set_reg_frac / 65536;
    //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n ...接受频率字*10KHZ:%d... \r\n", IN_Frq_rcv);
    usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n ...输入的百兆:%d... \r\n", Frq_out_tmp1);
    usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n ...out_x00_mhz:%d... \r\n", out_x00_mhz);
    usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n ...set_reg_frac:%d... \r\n", set_reg_frac);
    usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n ...reg[0x2a]:%x... \r\n", reg[0x2a]);
    usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n ...reg[0x2b]:%x... \r\n", reg[0x2b]);
  } else { //

    //步骤1:频率寄存器计算:(Frq_rcv+28G*10^5-4.2G*10^5)/0.2G*10^5,
    Frq_out_tmp1 = (float)((IN_Frq_rcv + 2380000.0) / 10000.0) / 2;
    Frq_out_tmp2 = (unsigned int)(Frq_out_tmp1 / 2);

    //步骤2:对步骤1向下取整,除2,输出频率_?百MHZ;
    out_x00_mhz = Frq_out_tmp2;

    //步骤3:对步骤2除2取整,寄存器的整数位
    set_reg_int = out_x00_mhz;

    //步骤3:对步骤2除2取余,转换为10khz

    set_reg_frac = (unsigned int)((unsigned int)((Frq_out_tmp1 - out_x00_mhz * 2) * 4) * 536870912 + 107374182);

    //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    //寄存器0X24
    reg[0x24] = set_reg_int;
    //寄存器0X2b
    reg[0x2b] = 0X2B0000 + set_reg_frac % 65536;
    reg[0x2a] = 0X2A0000 + set_reg_frac / 65536;
    //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n ...接受频率字*10KHZ:%d... \r\n", IN_Frq_rcv);
    usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n ...输入的百兆:%d... \r\n", Frq_out_tmp1);
    usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n ...out_x00_mhz:%d... \r\n", out_x00_mhz);
    usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n ...set_reg_frac:%d... \r\n", set_reg_frac);
    usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n ...reg[0x2a]:%x... \r\n", reg[0x2a]);
    usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n ...reg[0x2b]:%x... \r\n", reg[0x2b]);
  }
  return 0;
}

使用特权

评论回复
13
東南博士|  楼主 | 2020-2-26 09:41 | 只看该作者
//2018年12月24日10:09:08
//2019年1月4日15:06:37
int In_frq_lmx2595_set(unsigned char IN_Frq_H, unsigned char IN_Frq_M, unsigned char IN_Frq_L, unsigned char OUT_Frq_H, unsigned char OUT_Frq_M, unsigned char OUT_Frq_L, unsigned int reg[])
{
  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  unsigned int  IN_Frq_rcv = 0; //
  unsigned int  OUT_Frq_rcv = 0;
  unsigned int  OUT_Frq_rcv_crac = 0;


  unsigned int  IN_frac = 0;
  unsigned int  OUT_frac = 0;
  unsigned int  REF_frac = 0;
  unsigned int  OUT_Frq_rcv_tem = 0;


  float     set_reg_int = 0;
  float     set_reg_frac = 0;

  float         reg_2a_2b_tmp = 0.0;
  float         f_tmp_int = 0.0;

  ///////////////////////////////////////////////////////////////////////////////////////////////////
  //频率:in(*10K)
  IN_Frq_rcv = (IN_Frq_H << 16) + (IN_Frq_M << 8) + IN_Frq_L;
  OUT_Frq_rcv = (OUT_Frq_H << 16) + (OUT_Frq_M << 8) + OUT_Frq_L;
  usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n IN_Frq_rcv:%d\r\n", IN_Frq_rcv);
  usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n OUT_Frq_rcv:%d\r\n", OUT_Frq_rcv);
  OUT_Frq_rcv_tem = (unsigned int)(OUT_Frq_rcv / 10000);
  //小数
  IN_frac = IN_Frq_rcv % 10000;
  OUT_frac = OUT_Frq_rcv % 10000;
  ///////////////////////////////////////////////////////////////////////////////////////////////////
  /*
    1.100<-x-<9900
    2.x<=100||x>=9900
    3.x=OUT_frac-IN_frac
  */
  ///////////////////////////////////////////////////////////////////////////////////////////////////
  //判断,REF_frac取绝对值>0
  if (OUT_frac > IN_frac) {
    REF_frac = OUT_frac - IN_frac;
  }
  if (OUT_frac <= IN_frac) {
    REF_frac = IN_frac - OUT_frac;
  }
  ///////////////////////////////////////////////////////////////////////////////////////////////////
  if ((REF_frac > 400) && (REF_frac < 9600)) { //1.100<-x-<9900
    usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n无杂散区间%d\r\n", REF_frac);
    //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    //计算寄存器
    if (OUT_Frq_rcv > 100000) { //倍频
      //判断整数与小数
      if (OUT_frac >= IN_frac) {
        set_reg_int = (unsigned int)((OUT_Frq_rcv / 10000 + 140) / 4) * 4;
        set_reg_frac = OUT_frac - IN_frac + ((unsigned int)(OUT_Frq_rcv / 10000) + 140) % 4 * 10000;
      } else {
        set_reg_int = (unsigned int)((OUT_Frq_rcv / 10000 + 139) / 4) * 4;
        set_reg_frac = 10000 + OUT_frac - IN_frac + ((unsigned int)(OUT_Frq_rcv / 10000) + 139) % 4 * 10000;
      }
      reg_2a_2b_tmp = set_reg_frac * 214748.36465;
//    reg_2a_2b_tmp=set_reg_frac*20;

      usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n 倍频set_reg_frac:%d\r\n", set_reg_frac);
      usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n 倍频set_reg_int: %d\r\n", set_reg_int);

      usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n 倍频reg_2a_2b_tmp:%.2f\r\n", reg_2a_2b_tmp);

      //寄存器
      reg[0x1b] = 0X1b0003; //open
      reg[0x2d] = 0X2DD0DF;
      reg[0x2C] = 0X2C1FA3;
      reg[0x27] = 0X27FFFF;
      reg[0x26] = 0X26FFFF;
      reg[0x24] = 0X240000 + (unsigned int)(set_reg_int / 4);
      reg[0x22] = 0X220000;
      reg[0x2b] = 0X2b0000 + (unsigned int)((unsigned int)(reg_2a_2b_tmp / 2) % 65536);
      reg[0x2a] = 0X2a0000 + (unsigned int)((unsigned int)(reg_2a_2b_tmp / 2) / 65536);
      reg[0x25] = 0x250304; // reg[0x25]=0x250304;
      reg[0x0c] = 0x0c5001;
      reg[0x0a] = 0x0a10d8;
    } else { //不倍频
      //判断整数与小数
      if (OUT_frac >= IN_frac) {
        set_reg_int = (unsigned int)((OUT_Frq_rcv / 10000 + 140) / 2) * 2;
        set_reg_frac = OUT_frac - IN_frac + ((unsigned int)(OUT_Frq_rcv / 10000) + 140) % 2 * 10000;
      } else {
        set_reg_int = (unsigned int)((OUT_Frq_rcv / 10000 + 139) / 2) * 2;
        set_reg_frac = 10000 + OUT_frac - IN_frac + ((unsigned int)(OUT_Frq_rcv / 10000) + 139) % 2 * 10000;
      }
      reg_2a_2b_tmp = set_reg_frac * 214748.36465;
//    reg_2a_2b_tmp=set_reg_frac*20;

      usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n 不倍频set_reg_frac:%d\r\n", set_reg_frac);
      usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n 不倍频set_reg_int: %d\r\n", set_reg_int);
      usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n 不倍频set_reg_frac:%d\r\n", set_reg_frac);

      //寄存器
      reg[0x1b] = 0X1b0002; //close
      reg[0x2d] = 0X2DC8DF;
      reg[0x2C] = 0X2C1FA3;
      reg[0x27] = 0X27FFFF;
      reg[0x26] = 0X26FFFF;
      reg[0x24] = 0X240000 + (unsigned int)(set_reg_int / 2);
      reg[0x22] = 0X220000;
      reg[0x2b] = 0X2b0000 + (unsigned int)((unsigned int)(reg_2a_2b_tmp) % 65536);
      reg[0x2a] = 0X2a0000 + (unsigned int)((unsigned int)(reg_2a_2b_tmp) / 65536);
      reg[0x25] = 0x250404;
      reg[0x0c] = 0x0c5001;
      reg[0x0a] = 0x0a10d8;
    }
  }

  else { //1.(x<200||x>9800)
    usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n有杂散区间%d\r\n", REF_frac);
    //判断整数与小数
    if (OUT_frac >= IN_frac) {
      OUT_Frq_rcv_crac = OUT_Frq_rcv + 1401000 - IN_frac; //输出频率
    } else {
      OUT_Frq_rcv_crac = OUT_Frq_rcv + 1391000 - IN_frac; //输出频率
    }

    //1.OUT_Frq_rcv/10000%3
//        if(OUT_Frq_rcv_tem%7!=0)//输出频率
//        {
    usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n有杂散区间模%d", OUT_Frq_rcv_crac);

    //计算寄存器
    if (OUT_Frq_rcv > 100000) { ////输出频率>150000
      //倍频计算整数小数
      set_reg_int = (OUT_Frq_rcv_crac - OUT_Frq_rcv_crac % 40000);
      set_reg_frac = OUT_Frq_rcv_crac % 40000;
      reg_2a_2b_tmp = set_reg_frac * 214748.3648; //(2^32/140/100)

      usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n 倍频reg_2a_2b_tmp:%.2f", reg_2a_2b_tmp);
      usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n 倍频set_reg_int: %d", set_reg_int);
      usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n 倍频set_reg_frac:%d", set_reg_frac);

      //寄存器
      reg[0x1b] = 0X1b0003; //open
      reg[0x2C] = 0X2C1FA3;
      reg[0x2d] = 0X2DD0DF;
      reg[0x27] = 0X27FFFF;
      reg[0x26] = 0X26FFFF;
      reg[0x24] = 0X240000 + (unsigned int)(set_reg_int / 40000);
      reg[0x22] = 0X220000;
      reg[0x2b] = 0X2b0000 + (unsigned int)(reg_2a_2b_tmp / 2) % 65536;
      reg[0x2a] = 0X2a0000 + (unsigned int)(reg_2a_2b_tmp / 2) / 65536;
      reg[0x25] = 0x250404; // reg[0x25]=0x250304;
      reg[0x0c] = 0x0c5001;
      reg[0x0a] = 0x0a10d8;

    } else { //不倍频
      //不倍频计算整数小数
      set_reg_int = (OUT_Frq_rcv_crac - OUT_Frq_rcv_crac % 20000) / 10000;
      f_tmp_int = (OUT_Frq_rcv_crac - OUT_Frq_rcv_crac % 20000);
      set_reg_frac = OUT_Frq_rcv_crac % 20000;
      reg_2a_2b_tmp = set_reg_frac * 214748.3648; //(30000/150/100)

      usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n 不倍频reg_2a_2b_tmp:%.2f", reg_2a_2b_tmp);
      usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n 不倍频set_reg_int: %d", set_reg_int);
      usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n 不倍频f_tmp_int: %.2f", f_tmp_int);
      usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n 不倍频set_reg_frac:%d", set_reg_frac);

      //寄存器
      reg[0x1b] = 0X1b0002; //close
      reg[0x2C] = 0X2C1FA3;
      reg[0x2d] = 0X2DC8DF;
      reg[0x27] = 0X27FFFF;
      reg[0x26] = 0X26FFFF;
      reg[0x24] = 0X240000 + (unsigned int)(f_tmp_int / 20000);
      reg[0x22] = 0X220000;
      reg[0x2b] = 0X2b0000 + (unsigned int)(reg_2a_2b_tmp / 1) % 65536;
      reg[0x2a] = 0X2a0000 + (unsigned int)(reg_2a_2b_tmp / 1) / 65536;
      reg[0x25] = 0x250404;
      reg[0x0c] = 0x0c5001;
      reg[0x0a] = 0x0a10d8;

    }
//        }


//        if((OUT_Frq_rcv/10000%3==0)&&(OUT_Frq_rcv/10000%7!=0))
//        {
//            usart_ALL_Printf_En_Dis(UART1_USART,1,"\r\n有杂散区3-7间模%d",OUT_Frq_rcv_crac);

//            //计算寄存器
//            if(OUT_Frq_rcv>100000)////输出频率>150000
//            {
//                //倍频计算整数小数
//                set_reg_int=(OUT_Frq_rcv_crac-OUT_Frq_rcv_crac%35000);
//                set_reg_frac=OUT_Frq_rcv_crac%35000;
//                reg_2a_2b_tmp=set_reg_frac*245426.70263;//(2^32/175/100)

//                usart_ALL_Printf_En_Dis(UART1_USART,1,"\r\n 倍频reg_2a_2b_tmp:%.2f",reg_2a_2b_tmp);
//                usart_ALL_Printf_En_Dis(UART1_USART,1,"\r\n 倍频set_reg_int: %d", set_reg_int);
//                usart_ALL_Printf_En_Dis(UART1_USART,1,"\r\n 倍频set_reg_frac:%d",set_reg_frac);

//                //寄存器
//                reg[0x1b]=0X1b0003;//open
//                reg[0x2d]=0X2DD0DF;
//                reg[0x27]=0X27FFFF;
//                reg[0x24]=0X240000+(unsigned int)(set_reg_int/35000);
//                reg[0x22]=0X220000;
//                reg[0x2b]=0X2b0000+(unsigned int)(reg_2a_2b_tmp/2)%65536;
//                reg[0x2a]=0X2a0000+(unsigned int)(reg_2a_2b_tmp/2)/65536;
//                reg[0x25]=0x250304;// reg[0x25]=0x250304;
//                reg[0x0c]=0x0c5008;
//                reg[0x0a]=0x0a13d8;

//            }
//            else//不倍频
//            {
//                //不倍频计算整数小数
//                set_reg_int=(OUT_Frq_rcv_crac-OUT_Frq_rcv_crac%17500)/10000;
//                f_tmp_int=(OUT_Frq_rcv_crac-OUT_Frq_rcv_crac%17500);
//                set_reg_frac=OUT_Frq_rcv_crac%17500;
//                reg_2a_2b_tmp=set_reg_frac*245426.70263;//(2^32/175/100)

//                usart_ALL_Printf_En_Dis(UART1_USART,1,"\r\n 不倍频reg_2a_2b_tmp:%.2f",reg_2a_2b_tmp);
//                usart_ALL_Printf_En_Dis(UART1_USART,0,"\r\n 不倍频set_reg_int: %d", set_reg_int);
//                usart_ALL_Printf_En_Dis(UART1_USART,1,"\r\n 不倍频f_tmp_int: %.2f", f_tmp_int);
//                usart_ALL_Printf_En_Dis(UART1_USART,1,"\r\n 不倍频set_reg_frac:%d",set_reg_frac);

//                //寄存器
//                reg[0x1b]=0X1b0002;//close
//                reg[0x2d]=0X2DC8DF;
//                reg[0x27]=0X27FFFF;
//                reg[0x24]=0X240000+(unsigned int)(f_tmp_int/15000);
//                reg[0x22]=0X220000;
//                reg[0x2b]=0X2b0000+(unsigned int)(reg_2a_2b_tmp/1)%65536;
//                reg[0x2a]=0X2a0000+(unsigned int)(reg_2a_2b_tmp/1)/65536;
//                reg[0x25]=0x250404;
//                reg[0x0c]=0x0c5008;
//                reg[0x0a]=0x0a13d8;
//            }
//        }

//    if((OUT_Frq_rcv/10000/3==0)&&(OUT_Frq_rcv/10000/7==0))
//        if((OUT_Frq_rcv_crac/10000%3==0)&&(OUT_Frq_rcv_crac/10000%7==0)&&(OUT_Frq_rcv_crac/10000%5!=0))
//        {
//            usart_ALL_Printf_En_Dis(UART1_USART,1,"\r\n有杂散区3-7-5间模%d",OUT_Frq_rcv_crac);

//            //计算寄存器
//            if(OUT_Frq_rcv>100000)////输出频率>150000
//            {
//                //倍频计算整数小数
//                set_reg_int=(OUT_Frq_rcv_crac-OUT_Frq_rcv_crac%25000);
//                set_reg_frac=OUT_Frq_rcv_crac%25000;
//                reg_2a_2b_tmp=set_reg_frac*343597.38368;//(2^32/175/100)

//                usart_ALL_Printf_En_Dis(UART1_USART,1,"\r\n 倍频reg_2a_2b_tmp:%.2f",reg_2a_2b_tmp);
//                usart_ALL_Printf_En_Dis(UART1_USART,1,"\r\n 倍频set_reg_int: %d", set_reg_int);
//                usart_ALL_Printf_En_Dis(UART1_USART,1,"\r\n 倍频set_reg_frac:%d",set_reg_frac);

//                //寄存器
//                reg[0x1b]=0X1b0003;//open
//                reg[0x2d]=0X2DD0DF;
//                reg[0x27]=0X27FFFF;
//                reg[0x24]=0X240000+(unsigned int)(set_reg_int/25000);
//                reg[0x22]=0X220000;
//                reg[0x2b]=0X2b0000+(unsigned int)(reg_2a_2b_tmp/2)%65536;
//                reg[0x2a]=0X2a0000+(unsigned int)(reg_2a_2b_tmp/2)/65536;
//                reg[0x25]=0x250304;// reg[0x25]=0x250304;
//                reg[0x0c]=0x0c5008;
//                reg[0x0a]=0x0a12d8;

//            }
//            else//不倍频
//            {
//                //不倍频计算整数小数
//                set_reg_int=(OUT_Frq_rcv_crac-OUT_Frq_rcv_crac%12500)/10000;
//                f_tmp_int=(OUT_Frq_rcv_crac-OUT_Frq_rcv_crac%12500);
//                set_reg_frac=OUT_Frq_rcv_crac%12500;
//
//                reg_2a_2b_tmp=set_reg_frac*343597.38368;//(2^32/175/100)

//                usart_ALL_Printf_En_Dis(UART1_USART,1,"\r\n 不倍频reg_2a_2b_tmp:%.2f",reg_2a_2b_tmp);
//                usart_ALL_Printf_En_Dis(UART1_USART,0,"\r\n 不倍频set_reg_int: %d", set_reg_int);
//                usart_ALL_Printf_En_Dis(UART1_USART,1,"\r\n 不倍频f_tmp_int: %.2f", f_tmp_int);
//                usart_ALL_Printf_En_Dis(UART1_USART,1,"\r\n 不倍频set_reg_frac:%d",set_reg_frac);

//                //寄存器
//                reg[0x1b]=0X1b0002;//close
//                reg[0x2d]=0X2DC8DF;
//                reg[0x27]=0X27ffff;
//                reg[0x24]=0X240000+(unsigned int)(f_tmp_int/12500);
//                reg[0x22]=0X220000;
//                reg[0x2b]=0X2b0000+(unsigned int)(reg_2a_2b_tmp/1)%65536;
//                reg[0x2a]=0X2a0000+(unsigned int)(reg_2a_2b_tmp/1)/65536;
//                reg[0x25]=0x250404;
//                reg[0x0c]=0x0c5008;
//                reg[0x0a]=0x0a12d8;
//            }
//        }
  }


  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n ...接受频率字*10KHZ:%d", IN_Frq_rcv);
  usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n ...接受频率字*10KHZ:%d", OUT_Frq_rcv);
  usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n ...reg[0x24]:0X%X", reg[0x24]);
  usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n ...reg[0x22]:0X%X", reg[0x22]);
  usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n ...reg[0x2b]:0X%X", reg[0x2b]);
  usart_ALL_Printf_En_Dis(UART1_USART, 0, "\r\n ...reg[0x2a]:0X%X", reg[0x2a]);
  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  return 0;
}

使用特权

评论回复
14
東南博士|  楼主 | 2020-2-26 09:42 | 只看该作者
#ifndef __BSP_LM2592_H
#define __BSP_LM2592_H

#include "stm32f4xx.h"
//LM2594_1
//LD
#define      LM2594_1_LD_CLK                             RCC_AHB1Periph_GPIOC
#define      LM2594_1_LD_PORT                     GPIOC
#define      LM2594_1_LD_PIN                      GPIO_Pin_2
#define                 LM2594_1_LD_Read                    GPIO_ReadInputDataBit(LM2594_1_LD_PORT,LM2594_1_LD_PIN)
//CE
#define      LM2594_1_CE_CLK                             RCC_AHB1Periph_GPIOC
#define      LM2594_1_CE_PORT               GPIOC
#define      LM2594_1_CE_PIN                GPIO_Pin_0
#define                 LM2594_1_CE_Hi                                   GPIO_SetBits(LM2594_1_CE_PORT,LM2594_1_CE_PIN);
#define                 LM2594_1_CE_Lo                            GPIO_ResetBits(LM2594_1_CE_PORT,LM2594_1_CE_PIN);
//SDK
#define      LM2594_1_SCK_CLK                             RCC_AHB1Periph_GPIOC
#define      LM2594_1_SCK_PORT              GPIOC
#define      LM2594_1_SCK_PIN               GPIO_Pin_13
#define                 LM2594_1_SCK_Hi                    GPIO_SetBits(LM2594_1_SCK_PORT,LM2594_1_SCK_PIN);
#define                 LM2594_1_SCK_Lo                    GPIO_ResetBits(LM2594_1_SCK_PORT,LM2594_1_SCK_PIN);
//SDI
#define      LM2594_1_SDI_CLK                             RCC_AHB1Periph_GPIOC
#define      LM2594_1_SDI_PORT              GPIOC
#define      LM2594_1_SDI_PIN               GPIO_Pin_1
#define                 LM2594_1_SDI_Hi                    GPIO_SetBits(LM2594_1_SDI_PORT,LM2594_1_SDI_PIN);
#define                 LM2594_1_SDI_Lo                    GPIO_ResetBits(LM2594_1_SDI_PORT,LM2594_1_SDI_PIN);

//LM2595_1
//LD
#define      LM2595_1_LD_CLK                             RCC_AHB1Periph_GPIOA
#define      LM2595_1_LD_PORT                     GPIOA
#define      LM2595_1_LD_PIN                      GPIO_Pin_4
#define                 LM2595_1_LD_Read                    GPIO_ReadInputDataBit(LM2595_1_LD_PORT,LM2595_1_LD_PIN)
//CE
#define      LM2595_1_CE_CLK                             RCC_AHB1Periph_GPIOA
#define      LM2595_1_CE_PORT               GPIOA
#define      LM2595_1_CE_PIN                GPIO_Pin_2
#define                 LM2595_1_CE_Hi                                   GPIO_SetBits(LM2595_1_CE_PORT,LM2595_1_CE_PIN);
#define                 LM2595_1_CE_Lo                            GPIO_ResetBits(LM2595_1_CE_PORT,LM2595_1_CE_PIN);
//SDK
#define      LM2595_1_SCK_CLK                             RCC_AHB1Periph_GPIOA
#define      LM2595_1_SCK_PORT              GPIOA
#define      LM2595_1_SCK_PIN               GPIO_Pin_1
#define                 LM2595_1_SCK_Hi                    GPIO_SetBits(LM2595_1_SCK_PORT,LM2595_1_SCK_PIN);
#define                 LM2595_1_SCK_Lo                    GPIO_ResetBits(LM2595_1_SCK_PORT,LM2595_1_SCK_PIN);
//SDI
#define      LM2595_1_SDI_CLK                             RCC_AHB1Periph_GPIOA
#define      LM2595_1_SDI_PORT              GPIOA
#define      LM2595_1_SDI_PIN               GPIO_Pin_3
#define                 LM2595_1_SDI_Hi                    GPIO_SetBits(LM2595_1_SDI_PORT,LM2595_1_SDI_PIN);
#define                 LM2595_1_SDI_Lo                    GPIO_ResetBits(LM2595_1_SDI_PORT,LM2595_1_SDI_PIN);

//失锁重置
extern unsigned long LMX25941_lose_ld_cnt;
extern unsigned long LMX25951_lose_ld_cnt;
extern unsigned int LM2594_Reg_Set[];
extern unsigned int LM2595_Reg_Set[];

extern unsigned int LM2594_Reg[];
extern unsigned int LM2595_Reg[];

extern unsigned int IN_FRQ;
extern unsigned int OUT_FRQ;

extern void LM2594_GPIO_all_Init(void);
extern void LM2595_GPIO_all_Init(void);

extern int LM2594_ALL_init(void);
extern int LM2595_ALL_init(void);

extern void LMX2594_W_3_bytes_Add(unsigned char Add,unsigned int Reg);
extern void LMX2594_W_3_bytes(unsigned int Reg);
extern void LMX2594_W_All_dat(unsigned int Reg[]);

extern void LMX2595_W_3_bytes_Add(unsigned char Add,unsigned int Reg);
extern void LMX2595_W_3_bytes(unsigned int Reg);
extern void LMX2595_W_All_dat(unsigned int Reg[]);

int In_frq_lmx2594_set(unsigned char IN_Frq_H,unsigned char IN_Frq_M,unsigned char IN_Frq_L,unsigned char OUT_Frq_H,unsigned char OUT_Frq_M,unsigned char OUT_Frq_L,unsigned int reg[]);
int In_frq_lmx2595_set(unsigned char IN_Frq_H,unsigned char IN_Frq_M,unsigned char IN_Frq_L,unsigned char OUT_Frq_H,unsigned char OUT_Frq_M,unsigned char OUT_Frq_L,unsigned int reg[]);

#endif


使用特权

评论回复
15
東南博士|  楼主 | 2020-2-26 09:43 | 只看该作者
LMX2594的源码和头文件

lm2592.rar

4.24 KB

使用特权

评论回复
16
東南博士|  楼主 | 2020-2-26 10:58 | 只看该作者
LM624衰减器源码与资料

hmc624.rar

1.6 KB

使用特权

评论回复
17
東南博士|  楼主 | 2020-2-26 10:58 | 只看该作者
如果大家有关于信号链的疑问,我们可以一起探讨。本人一直从事雷达、射频、软件无线电之类的行业。并且在这个行业深耕多年,

使用特权

评论回复
18
wangjiahao88| | 2020-2-26 12:45 | 只看该作者
LMX2594时序倒是简单不复杂。和TI的其他的SPI模式基本上一样。难度比较大的就是频点的计算。。。
射频方面的知识才是难度的挑战。

使用特权

评论回复
19
LHQGYL12| | 2020-4-19 11:28 | 只看该作者
你好,我最近在用LMX2594在做一个项目。要求调频时间≤30us,但是我打开快速校准模式后实际测试跳频最多也就80us左右,这个是什么原因呢?我的参考100MHz,鉴相频率为100MHz,环路带宽为280Khz。

使用特权

评论回复
评论
脆脆鲨11 2022-8-5 17:24 回复TA
你好,可以借鉴一下您的项目吗,新手打算学习一下 
20
wudixiaocaoge| | 2020-4-28 08:27 | 只看该作者
你好!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

382

主题

6081

帖子

34

粉丝