TI中文支持网
TI专业的中文技术问题搜集分享网站

SimpleLink CC13x2 / 26×2 SDK开发协调器出现的组网、入网和PA的问题

开发平台:SimpleLink CC13x2 / 26×2 SDK ,IAR

使用芯片:CC2652R

设备类型:协调器

使用模板:C:\ti\simplelink_cc13x2_26x2_sdk_3_40_00_02\examples\rtos\CC26X2R1_LAUNCHXL\zstack\zc_cie

工程配置:

NPI_USE_UART
NPI
ZTOOL_P1
MT_TASK
MT_APP_FUNC
MT_SYS_FUNC
MT_AF_FUNC
MT_ZDO_FUNC
MT_ZDO_CB_FUNC
MT_NWK_FUNC
MT_NWK_CB_FUNC
MT_UTIL_FUNC
MT_APP_CNF_FUNC
ZCL_READ
ZCL_DISCOVER
ZCL_WRITE
ZCL_BASIC
ZCL_IDENTIFY
ZCL_ZONE
ZCL_WD
ZCL_ACE
TIMAC_ROM_IMAGE_BUILD
TIMAC_ROM_PATCH
xUSE_ZCL_SAMPLEAPP_UI
MAX_STATUS_LINES=10
ZSTACK_SECURITY
xBOARD_DISPLAY_USE_UART
FREQ_2_4G
OSAL_PORT2TIRTOS
OSAL_PORT2TIRTOS_OSALMAP
STACK_LIBRARY
RCN_APP_ASSERT
HAL_ASSERT_SPIN
ZDO_API_BASIC
TC_LINKKEY_JOIN
NV_RESTORE
NV_INIT
FEATURE_NON_BEACON_MODE
ZCL_STANDALONE
MAX_DEVICE_TABLE_ENTRIES=50
NVOCMP_NVPAGES=2
DEVICE_FAMILY=cc26x0
CC26X2R1_LAUNCHXL
DeviceFamily_CC26X2

遇到的问题:

1、关于组网

    通过例程,了解到3.0的协议栈现在都是通过BDB来实现的,通过Zstackapi_bdbStartCommissioningReq(),可以启动网络,里边有4种配置:   

   BDB_COMMISSIONING_MODE_INITIATOR、

  BDB_COMMISSIONING_MODE_NWK_STEERING、

   BDB_COMMISSIONING_MODE_NWK_FORMATION、

   BDB_COMMISSIONING_MODE_FINDING_BINDING;

   根据我的试验,单独配置BDB_COMMISSIONING_MODE_NWK_FORMATION,会建立网络,配置BDB_COMMISSIONING_MODE_NWK_FORMATION | BDB_COMMISSIONING_MODE_NWK_STEERING的话,会建立网络并且打开允许入网。

   ZHA1.2种的允许入网用的是NLME_PermitJoiningRequest()。然后我看3.0协议栈里,还有这个函数,请问它和  BDB_COMMISSIONING_MODE_NWK_STEERING的允许入网有说明区别么?或者我可以先通过BDB_COMMISSIONING_MODE_NWK_FORMATION建立网络,不配置BDB_COMMISSIONING_MODE_NWK_STEERING,然后再调用NLME_PermitJoiningRequest()来允许入网么?

2、设备入网

    我初始化里,配置了BDB_COMMISSIONING_MODE_NWK_FORMATION | BDB_COMMISSIONING_MODE_NWK_STEERING,启机之后立即打开了允许入网,从抓包里也能看出来。这时我让一个ZHA1.2的路由开关申请入网,能看到抓包里有关联请求,协调器也发了关联回应,但是就没有后来transkey了,开关一直入不了网,我检查了别人提到过的配置,

      #define BDB_DEFAULT_JOIN_USES_INSTALL_CODE_KEY      FALSE

     #define BDB_DEFAULT_TC_REQUIRE_KEY_EXCHANGE         FALSE

     这两项都是FALSE的。

3、PA

    我的zigbee模块使用了CC2592做PA的,但是在协议栈和SysConfig里找了两天,还是没有看到从哪里开启PA的设置,ZHA协议栈里是添加“HAL_PA_LNA_CC2592”的定义来启用PA的。

     

user5020974:

回复 Viki Shi:

n您好,Viki~

您提供 的链接,我看了,另外也看了论坛里相关的帖子,关于PA的这块,还是不太了解 。

1、我看帖子里的用法就说到了IO的配置,是只要将PA_EN、 LNA_EN、 HGM这3个GPIO配置成输出,然后固定其高低电平就行了么?协议栈本身在运行期间怎么不需要对这几个IO端口进行操作么?

2、CC2592的工作模式如下:

     PA_EN   LNA_EN    HGM              模式

      0             0               X                    掉电      X            1                0                    RX低增益模式      X            1                1                    RX高增益模式      1             0               X                    TX

       我初始化这3个IO端口,应该都配置说明电平呢? ZHA1.2.2的协议栈种,我看初始配置的PA_EN   =0,LNA_EN =1,这样的话,发送的时候,是不是就是没有增益了?还是在协议栈种在发送和接收的时候,有对这几个IO口的工作模式的切换?

3、我看还有的提到,需要将PA_EN、 LNA_EN映射到RFC_GPO0和PA到RFC_GPO1,但是我在工程里全部搜索,也没找到这两个定义(不知道是定义还是专门的寄存器)?

user5020974:

回复 user5020974:

IO映射这块找到了,那我这么修改对吗?PA可以工作了吗?

1、在初始化程序种添加:      

//将RFC_GPO0映射到DIO13 IOCPortConfigureSet(IOID_13,IOC_PORT_RFC_GPO0,IOC_IOMODE_NORMAL); //将RFC_GPO1映射到DIO7 IOCPortConfigureSet(IOID_7,IOC_PORT_RFC_GPO1,IOC_IOMODE_NORMAL);

2、通过sysconfig添加DIO14,配置为输出、高电平:

     GPIOCC26XX_DIO_14 | GPIO_CFG_OUT_STD | GPIO_CFG_OUT_STR_MED | GPIO_CFG_OUT_HIGH

Viki Shi:

回复 user5020974:

CC2592的设置请参考右边文档:www.ti.com/…/tidub71.pdf

user5020974:

回复 Viki Shi:

文档看了,里边的设置跟我上边写的这个一样:
// Map RFC_GPO0 to DIO13 IOCPortConfigureSet(IOID_13, IOC_PORT_RFC_GPO0, IOC_IOMODE_NORMAL); // Map RFC_GPO1 to DIO7 IOCPortConfigureSet(IOID_7, IOC_PORT_RFC_GPO1, IOC_IOMODE_NORMAL);

请问高低电平不需要设置么?还是只要按照这个映射了之后,协议栈就自动配置了?

Viki Shi:

回复 user5020974:

管脚映射就可以了

YiKai Chen:

回复 user5020974:

建議如果CC2652R還要加上CC2592,就不如直接用CC2652P,內建PA,比較方便

user5020974:

回复 YiKai Chen:

买的现成的模块~

user5020974:

回复 Viki Shi:

您好Viki,再问下,关于打开入网的问题:
原来使用NLME_PermitJoiningRequest()函数打开入网的话,可以限定打开入网的时间,30秒还是60秒等;
如果使用BDB_COMMISSIONING_MODE_NWK_STEERING的话,怎么限定入网允许的时间呢?现在好像是打开了3分钟的允许时间

YiKai Chen:

回复 user5020974:

透過BDBC_MIN_COMMISSIONING_TIME去修改允许时间

赞(0)
未经允许不得转载:TI中文支持网 » SimpleLink CC13x2 / 26×2 SDK开发协调器出现的组网、入网和PA的问题
分享到: 更多 (0)