CC2530+CC259x ZStack-2.5.1a 功率放大应用

ZStack-2.5.1a CC2530+CC259x PA功率放大应用

使用的是ZStack-2.5.1a协议栈,ZStack-3.0.1的协议栈也有,但是个人感觉不好用,没有ZStack-2.5.1a好用。

ZStack-2.5.1a协议栈没有集成CC2592,但是集成了CC2591。从软件控制上,CC2592和CC2591一样,没差。

打开宏定义

\Components\HAL\Target\CC2530EB\Config\hal_board.h
去掉xHAL_PA_LNA最前面的x

#define HAL_PA_LNA
#define xHAL_PA_LNA_CC2590

输出功率修改

\Components\mac\high_level\mac_pib.c

/* PIB default values */
static CODE const macPib_t macPibDefaults =
{
  54,                                         /* ackWaitDuration */
  FALSE,                                      /* associationPermit */
  TRUE,                                       /* autoRequest */
  FALSE,                                      /* battLifeExt */
  6,                                          /* battLifeExtPeriods */

  NULL,                                       /* *pMacBeaconPayload */
  0,                                          /* beaconPayloadLength */
  MAC_BO_NON_BEACON,                          /* beaconOrder */
  0,                                          /* beaconTxTime */
  0,                                          /* bsn */

  {0, SADDR_MODE_EXT},                        /* coordExtendedAddress */
  MAC_SHORT_ADDR_NONE,                        /* coordShortAddress */
  0,                                          /* dsn */
  FALSE,                                      /* gtsPermit */
  4,                                          /* maxCsmaBackoffs */

  3,                                          /* minBe */
  0xFFFF,                                     /* panId */
  FALSE,                                      /* promiscuousMode */
  FALSE,                                      /* rxOnWhenIdle */
  MAC_SHORT_ADDR_NONE,                        /* shortAddress */

  MAC_SO_NONE,                                /* superframeOrder */
  0x01F4,                                     /* transactionPersistenceTime */
  FALSE,                                      /* assocciatedPanCoord */
  5,                                          /* maxBe */
  1220,                                       /* maxFrameTotalWaitTime */

  3,                                          /* maxFrameRetries */
  32,                                         /* ResponseWaitTime */
  0,                                          /* syncSymbolOffset */
  TRUE,                                       /* timeStampSupported */
  FALSE,                                      /* securityEnabled */

  /* Proprietary */
#if defined (HAL_PA_LNA)
  19,                                         /* phyTransmitPower for CC2591 */
#elif defined (HAL_PA_LNA_CC2590)
  11,                                         /* phyTransmitPower for CC2590 */
#else
  3,                                          /* phyTransmitPower without frontend */
#endif
  MAC_CHAN_11,                                /* logicalChannel */
  {0, SADDR_MODE_EXT},                        /* extendedAddress */
  1,                                          /* altBe */
  MAC_BO_NON_BEACON,                          /* deviceBeaconOrder */
};

\Components\mac\low_level\srf04\single_chip\mac_redio_defs.c

#if defined HAL_PA_LNA || defined MAC_RUNTIME_CC2591
const uint8 CODE macRadioDefsTxPwrCC2591[] =
{
  21,  /* tramsmit power level of the first entry */
  (uint8)(int8)10, /* transmit power level of the last entry */
  /*  20 dBm */   0xE5,   /* characterized as 20 dBm in datasheet */
  /*  19 dBm */   0xD5,   /* characterized as 19 dBm in datasheet */
  /*  18 dBm */   0xC5,   /* characterized as 18 dBm in datasheet */
  /*  17 dBm */   0xB5,   /* characterized as 17 dBm in datasheet */
  /*  16 dBm */   0xA5,   /* characterized as 16 dBm in datasheet */
  /*  15 dBm */   0xA5,
  /*  14 dBm */   0x95,   /* characterized as 14.5 dBm in datasheet */
  /*  13 dBm */   0x85,   /* characterized as 13 dBm in datasheet */
  /*  12 dBm */   0x85,
  /*  11 dBm */   0x75,   /* characterized as 11.5 dBm in datasheet */
  /*  10 dBm */   0x65    /* characterized as 10 dBm in datasheet */
};
#endif

CC259x控制引脚定义

TI官方参考设计

CC2592 CC2591 功能
P0_7 P0_7 HGM
P1_0 P1_4 LNA_EN
P1_1 P1_1 PA_EN
功能 说明
HGM 高增益模式控制
LNA_EN 使能低噪声放大器
PA_EN 使能PA
PA_EN LNA_EN HGM 功能 说明
0 0 x Power Down 掉电模式(最省电)
0 1 0 RX LGM 接收低增益模式
0 1 1 RX HGM 接收高增益模式
1 0 x TX 发送模式
1 1 x No allowed 不允许该模式

\Components\mac\low_level\srf04\single_chip\mac_redio_defs.h

/* ----------- PA/LNA control ---------- */
#define HAL_PA_LNA_RX_HGM()                           st( P0_7 = 1; )
#define HAL_PA_LNA_RX_LGM()                            st( P0_7 = 0; ) 

\Components\mac\low_level\srf04\single_chip\mac_redio_defs.c

#if defined MAC_RUNTIME_CC2591 || defined MAC_RUNTIME_CC2590 || \
  defined HAL_PA_LNA || defined HAL_PA_LNA_CC2590
  { /* either if compound statement or non-conditional compound statement */

    /* (Re-)Configure PA and LNA control signals to RF frontend chips.
    * Note that The register values are not retained during sleep.
    */

    /* P1_1 -> PAEN */
    RFC_OBS_CTRL0 = RFC_OBS_CTRL_PA_PD_INV;
    OBSSEL1       = OBSSEL_OBS_CTRL0;

//    /* P1_4 -> EN (LNA control) */
//    RFC_OBS_CTRL1 = RFC_OBS_CTRL_LNAMIX_PD_INV;
//    OBSSEL4       = OBSSEL_OBS_CTRL1; 

    /* P1_0 -> EN (LNA control) */
    RFC_OBS_CTRL1 = RFC_OBS_CTRL_LNAMIX_PD_INV;
    OBSSEL0       = OBSSEL_OBS_CTRL1;

    COMPRESSION_WORKAROUND_ON();
  }
#endif /* defined MAC_RUNTIME_CC2591 || ... || defined HAL_PA_LNA_CC2590 */

源码链接
https://download.csdn.net/download/kangweijian/10398466

猜你喜欢

转载自blog.csdn.net/kangweijian/article/details/80231036