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官方参考设计

CC2592CC2591功能
P0_7P0_7HGM
P1_0P1_4LNA_EN
P1_1P1_1PA_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

这里写图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小康师兄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值