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

请教:Z-Stack 3.0.2无法入网

芯片型号:CC2530F256

协议栈:Z-Stack 3.0.2  

预编译配置位:

协调器:SampleLight 

BDB_REPORTING
SECURE=1
TC_LINKKEY_JOIN
NV_INIT
NV_RESTORE
xZTOOL_P1
MT_TASK
xMT_APP_FUNC
xMT_SYS_FUNC
xMT_ZDO_FUNC
xMT_ZDO_MGMT
xMT_APP_CNF_FUNC
xLCD_SUPPORTED=DEBUG
MULTICAST_ENABLED=FALSE
ZCL_READ
ZCL_DISCOVER
ZCL_WRITE
ZCL_BASIC
ZCL_IDENTIFY
ZCL_ON_OFF
ZCL_SCENES
ZCL_GROUPS
xZCL_LEVEL_CTRL
xNO_UI

  终端: SampleSwitch 

SECURE=1
TC_LINKKEY_JOIN
NV_INIT
NV_RESTORE
xPOWER_SAVING
NWK_AUTO_POLL
xZTOOL_P1
MT_TASK
xMT_APP_FUNC
xMT_SYS_FUNC
xMT_ZDO_FUNC
xMT_ZDO_MGMT
xMT_APP_CNF_FUNC
xLCD_SUPPORTED=DEBUG
MULTICAST_ENABLED=FALSE
ZCL_READ
ZCL_DISCOVER
ZCL_WRITE
ZCL_BASIC
ZCL_IDENTIFY
ZCL_ON_OFF
ZCL_GROUPS
xNO_UI

在协调器初始化程序里加了:

 bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_STEERING | BDB_COMMISSIONING_MODE_NWK_FORMATION | BDB_COMMISSIONING_MODE_FINDING_BINDING);

在终端初始化程序里加了:

bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_STEERING | BDB_COMMISSIONING_MODE_FINDING_BINDING); 

问题现象:上电后板子自动连接,但是一直不成功,编译环境IAR Embedded Workbench 10.10.1

请帮忙分析下是什么原因!谢谢!(附抓包文件3.2.0_Test3.2.0_Test.rar)

Alvin Chen:

你的TCLK table 满了,默认值为20个。
你需要加大NWK_MAX_DEVICE_LIST和ZDSECMGR_TC_DEVICE_MAX

user5228474:

回复 Alvin Chen:

ZDSECMGR_TC_DEVICE_MAX 30//改为30NWK_MAX_DEVICE_LIST 30//该为30

NWK_MAX_DEVICE_LIST改的再大会报错:Error[e16]: Segment XDATA_I (size: 0x128 align: 0)

但是好像还是不行,麻烦帮分析下,附抓包文件0830_Test_1.rar

Alvin Chen:

回复 user5228474:

无法解析,预计和之前以阅TCLK 传输不成功。我看你之前抓包是部分节点不能入网是不是

user5228474:

回复 Alvin Chen:

目前就一个节点,一个协调器一个终端。

Alvin Chen:

回复 user5228474:

那你直接用我们SDK里面的程序不做更改在init 里面加入:
zc:

bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_FORMATION | BDB_COMMISSIONING_MODE_FINDING_BINDING|BDB_COMMISSIONING_MODE_NWK_STEERING)

zed:
bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_STEERING| BDB_COMMISSIONING_MODE_FINDING_BINDING)

user5228474:

回复 Alvin Chen:

协调器预编译配置:BDB_REPORTINGSECURE=1TC_LINKKEY_JOINNV_INITNV_RESTORExZTOOL_P1xMT_TASKxMT_APP_FUNCxMT_SYS_FUNCxMT_ZDO_FUNCxMT_ZDO_MGMTxMT_APP_CNF_FUNCLCD_SUPPORTED=DEBUGMULTICAST_ENABLED=FALSEZCL_READZCL_DISCOVERZCL_WRITEZCL_BASICZCL_IDENTIFYZCL_ON_OFFZCL_SCENESZCL_GROUPSZCL_LEVEL_CTRL终端预编译配置:SECURE=1TC_LINKKEY_JOINNV_INITNV_RESTORExPOWER_SAVINGNWK_AUTO_POLLxZTOOL_P1xMT_TASKxMT_APP_FUNCxMT_SYS_FUNCxMT_ZDO_FUNCxMT_ZDO_MGMTxMT_APP_CNF_FUNCLCD_SUPPORTED=DEBUGMULTICAST_ENABLED=FALSEZCL_READZCL_DISCOVERZCL_WRITEZCL_BASICZCL_IDENTIFYZCL_ON_OFFZCL_GROUPS

以上预编译默认的没去动,IAR设置如下:

终端初始化添加位置:

协调器初始化添加位置:

抓包文件:0830_2.rar

user5228474:

回复 Alvin Chen:

哦,您是说在51行

51 8.781303 0x0000 0xd87d ZigBee 127 ✓ Confirm Key, SUCCESS//密码确认成功是吧?

那我就按目前的代码先不去修改,然后添加按键之类的代码 再测试这样可以吧?

Alvin Chen:

回复 user5228474:

是的,Confirm Key 说明TCLK 验证通过,主要是下面的通讯正常,当然验证通过也是必需条件,你之前的包没有TCLK transport的过程所以验证不通过加不了网。

user5228474:

回复 Alvin Chen:

好的,谢谢您的指导!我再看下代码,然后添加按键之类的。另外想请教下刚才设置NWK_MAX_DEVICE_LIST最大只能为30,是不意味着一个网络里最多只能30个终端?或者路由器,其它终端再链接路由器。

赞(0)
未经允许不得转载:TI中文支持网 » 请教:Z-Stack 3.0.2无法入网
分享到: 更多 (0)