一、前言
使用的是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 */
五、源码下载
- 优快云下载:ZStack-2.5.1a CC2530+CC2592
- 网盘下载:关注【小康师兄】微信公众号,并回复【ZStack】即可获取网盘链接