This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2530 associatedDevList表和AddrMgrEntry_t表问题

Other Parts Discussed in Thread: CC2530, Z-STACK

背景信息:

协调器侧使用ZNP模式,版本ZStack-CC2530-2.5.1a。

协调器A:

IEEE MAC地址:0x00124B001BA7704D

channelID:0X1A

PanID:0xA

 

终端B:

IEEE MAC地址:0x00124B001F1DF13F

channelID:0X1A

PanID:0xA

shortAddr:0x0064

 

终端C:

IEEE MAC地址:0x00124B0014B3A47D

channelID:0X1A

PanID:0xA

shortAddr:0x0064

 

CC2530 associatedDevList表和AddrMgrEntry_t表问题:

<1>协调器A与终端B正常启动,按上述参数正常建网入网,终端B与协调器A间可正常发送数据报文(协调器收到终端B的短地址为0x0064)。在协调器侧通过UTIL_ADDRMGR_NWK_ADDR_LOOKUP可以获取到短地址0x0064的终端IEEE MAC地址为终端B的IEEE MAC地址。

<TX>05:09:03.35 COM35 UTIL_ADDRMGR_NWK_ADDR_LOOKUP (0x2741)

   NwkAddr: 0x0064

 

<RX>05:09:03.36 COM35 UTIL_ADDRMGR_NWK_ADDR_LOOKUP_RESPONSE (0x6741)

   ExtAddr: 0x00124B001F1DF13F

 

<2>此时对终端B下电,终端C上电,终端C与协调器A间可正常发送数据报文(协调器收到终端C的短地址为0x0064)。但此时在协调器侧通过UTIL_ADDRMGR_NWK_ADDR_LOOKUP可以获取到短地址0x0064的终端IEEE MAC地址为0(大概率会出现)。

通过Z-tools查询associatedDevList表和AddrMgrEntry_t表记录如下,在终端C直接发送数据0x11 0x22 0x33 0x44 0x55 0x66,协调器侧能收到,显示源短地址为0x0064。具体如下:

Start Time: 2020/5/6 17:21:03

 

<RX>05:21:25.5 COM35 ZDO_END_DEVICE_ANNCE_IND (0x45C1)

   SrcAddr: 0x0064

   NwkAddr: 0x0064

   IEEEAddr: 0x00124B0014B3A47D

   Capabilities: 0x00

 

<TX>05:21:33.55 COM35 UTIL_ADDRMGR_NWK_ADDR_LOOKUP (0x2741)

   NwkAddr: 0x0064

 

<RX>05:21:33.57 COM35 UTIL_ADDRMGR_NWK_ADDR_LOOKUP_RESPONSE (0x6741)

   ExtAddr: 0x0000000000000000

 

<TX>05:21:35.99 COM35 UTIL_ADDRMGR_NWK_ADDR_LOOKUP (0x2741)

   NwkAddr: 0x0064

 

<RX>05:21:36.01 COM35 UTIL_ADDRMGR_NWK_ADDR_LOOKUP_RESPONSE (0x6741)

   ExtAddr: 0x0000000000000000

 

<TX>05:21:38.57 COM35 UTIL_ADDRMGR_NWK_ADDR_LOOKUP (0x2741)

   NwkAddr: 0x0064

 

<RX>05:21:38.58 COM35 UTIL_ADDRMGR_NWK_ADDR_LOOKUP_RESPONSE (0x6741)

   ExtAddr: 0x0000000000000000

 

<TX>05:23:13.64 COM35 UTIL_ADDRMGR_EXT_ADDR_LOOKUP (0x2740)

   ExtAddr: 0x00124B0014B3A47D

 

<RX>05:23:13.65 COM35 UTIL_ADDRMGR_EXT_ADDR_LOOKUP_RESPONSE (0x6740)

   NwkAddr: 0x85A0

 

<TX>05:23:26.17 COM35 UTIL_ADDRMGR_EXT_ADDR_LOOKUP (0x2740)

   ExtAddr: 0x00124B001F1DF13F

 

<RX>05:23:26.19 COM35 UTIL_ADDRMGR_EXT_ADDR_LOOKUP_RESPONSE (0x6740)

   NwkAddr: 0xBE91

 

<TX>05:23:36.06 COM35 UTIL_ASSOC_COUNT (0x2748)

   StartRelation: 0x00

   EndRelation: 0x06

 

<RX>05:23:36.07 COM35 UTIL_ASSOC_COUNT_RESPONSE (0x6748)

   Count: 0x0002

 

<TX>05:23:43.83 COM35 UTIL_ASSOC_FIND_DEVICE (0x2749)

   Number: 0x00

 

<RX>05:23:43.85 COM35 UTIL_ASSOC_FIND_DEVICE_RESPONSE (0x6749)

   Device: ..........k....... (0x91, 0xBE, 0x00, 0x00, 0x01, 0x04, 0x01, 0x00, 0x02, 0x01, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)

 

<TX>05:23:51.79 COM35 UTIL_ASSOC_FIND_DEVICE (0x2749)

   Number: 0x01

 

<RX>05:23:51.81 COM35 UTIL_ASSOC_FIND_DEVICE_RESPONSE (0x6749)

   Device: .....D....l....... (0xA0, 0x85, 0x01, 0x00, 0x01, 0x44, 0x1A, 0x00, 0x02, 0x01, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)

 

<RX>05:24:09.47 COM35 ZB_RECEIVE_DATA_INDICATION (0x4687)

   Source: 0x0064

   Command: 0x0001

   Len: 0x0006

   Data: ."3DUf (0x11, 0x22, 0x33, 0x44, 0x55, 0x66)

请问如上associatedDevList表和AddrMgrEntry_t表并没有0x0064短地址记录,为什么协调器能将源短地址0x0064的报文送上来?

我想在协调器侧一直监控源短地址为0x0064的IEEE MAC地址变化情况,如使用UTIL_ADDRMGR_NWK_ADDR_LOOKUP命令,遇见了上述问题,还需要做哪些修改?或者有其它不用主动发包的可行方案(使用ZDO_IEEE_ADDR_REQ的话,协调器会向终端发ZDO包,但终端此时可能处于休眠,无法响应数据)?

  • 补充说明
    上述协调器侧代码使用ZStack-CC2530-2.5.1a内SimpleApp例子,定义了下列宏,没做其他修改,通过Z-TOOLS修改了channelID和PanID。
    BUILD_ALL_DEVICES
    REFLECTOR
    NV_INIT
    NV_RESTORE
    ZTOOL_P1
    MT_TASK
    MT_SYS_FUNC
    MT_SAPI_FUNC
    MT_SAPI_CB_FUNC
    MT_ZDO_FUNC
    MT_ZDO_CB_FUNC
    MT_UTIL_FUNC
  • 能提供下抓包文件吗
  • TO Viki Shi:

    请帮忙看看,多谢。

    重新操作了一遍,文件说明见下,具体见附件。

    《Z_tools记录_第2次抓包.txt》

    ---从只有协调器A和终端B在网时开始记录。动作依次为查看协调器A上相关表项信息,下电终端B,上电终端C,再次查看协调器A上相关表项信息,最后为直接从终端C发送报文,Z-TOOLS上收到数据。

     

    《IEEE0_2530协调器_先F13F_OK_后A47D_NOK_第2次抓包.psd》

    ---从下电终端B上电终端C开始抓包。

    Start Time: 2020/5/7 14:23:54
    
    <TX>02:23:58.11 COM35 UTIL_ADDRMGR_NWK_ADDR_LOOKUP (0x2741)
        NwkAddr: 0x0064
    
    <RX>02:23:58.13 COM35 UTIL_ADDRMGR_NWK_ADDR_LOOKUP_RESPONSE (0x6741)
        ExtAddr: 0x00124B001F1DF13F
    
    <TX>02:24:42.61 COM35 UTIL_ADDRMGR_EXT_ADDR_LOOKUP (0x2740)
        ExtAddr: 0x00124B0014B3A47D
    
    <RX>02:24:42.62 COM35 UTIL_ADDRMGR_EXT_ADDR_LOOKUP_RESPONSE (0x6740)
        NwkAddr: 0x4308
    
    <TX>02:24:46.74 COM35 UTIL_ASSOC_COUNT (0x2748)
        StartRelation: 0x00
        EndRelation: 0x06
    
    <RX>02:24:46.75 COM35 UTIL_ASSOC_COUNT_RESPONSE (0x6748)
        Count: 0x0002
    
    <TX>02:24:56.47 COM35 UTIL_ASSOC_FIND_DEVICE (0x2749)
        Number: 0x00
    
    <RX>02:24:56.49 COM35 UTIL_ASSOC_FIND_DEVICE_RESPONSE (0x6749)
        Device: d.........D....... (0x64, 0x00, 0x00, 0x00, 0x01, 0x04, 0x01, 0x00, 0x02, 0x01, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
    
    <TX>02:25:00.98 COM35 UTIL_ASSOC_FIND_DEVICE (0x2749)
        Number: 0x01
    
    <RX>02:25:01 COM35 UTIL_ASSOC_FIND_DEVICE_RESPONSE (0x6749)
        Device: .C...D{...S....... (0x08, 0x43, 0x01, 0x00, 0x01, 0x44, 0x7B, 0x00, 0x02, 0x01, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
    
    <RX>02:26:29.83 COM35 ZDO_END_DEVICE_ANNCE_IND (0x45C1)
        SrcAddr: 0x0064
        NwkAddr: 0x0064
        IEEEAddr: 0x00124B0014B3A47D
        Capabilities: 0x00
    
    <TX>02:26:38.77 COM35 UTIL_ADDRMGR_NWK_ADDR_LOOKUP (0x2741)
        NwkAddr: 0x0064
    
    <RX>02:26:38.79 COM35 UTIL_ADDRMGR_NWK_ADDR_LOOKUP_RESPONSE (0x6741)
        ExtAddr: 0x0000000000000000
    
    <TX>02:26:49.11 COM35 UTIL_ADDRMGR_EXT_ADDR_LOOKUP (0x2740)
        ExtAddr: 0x00124B0014B3A47D
    
    <RX>02:26:49.12 COM35 UTIL_ADDRMGR_EXT_ADDR_LOOKUP_RESPONSE (0x6740)
        NwkAddr: 0x4308
    
    <TX>02:27:00.12 COM35 UTIL_ADDRMGR_EXT_ADDR_LOOKUP (0x2740)
        ExtAddr: 0x00124B001F1DF13F
    
    <RX>02:27:00.13 COM35 UTIL_ADDRMGR_EXT_ADDR_LOOKUP_RESPONSE (0x6740)
        NwkAddr: 0xB07E
    
    <TX>02:27:07.35 COM35 UTIL_ADDRMGR_NWK_ADDR_LOOKUP (0x2741)
        NwkAddr: 0x0064
    
    <RX>02:27:07.37 COM35 UTIL_ADDRMGR_NWK_ADDR_LOOKUP_RESPONSE (0x6741)
        ExtAddr: 0x0000000000000000
    
    <TX>02:27:09.88 COM35 UTIL_ASSOC_COUNT (0x2748)
        StartRelation: 0x00
        EndRelation: 0x06
    
    <RX>02:27:09.9 COM35 UTIL_ASSOC_COUNT_RESPONSE (0x6748)
        Count: 0x0002
    
    <TX>02:27:15.84 COM35 UTIL_ASSOC_FIND_DEVICE (0x2749)
        Number: 0x00
    
    <RX>02:27:15.86 COM35 UTIL_ASSOC_FIND_DEVICE_RESPONSE (0x6749)
        Device: ~.........B....... (0x7E, 0xB0, 0x00, 0x00, 0x01, 0x04, 0x01, 0x00, 0x02, 0x01, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
    
    <TX>02:27:19.7 COM35 UTIL_ASSOC_FIND_DEVICE (0x2749)
        Number: 0x01
    
    <RX>02:27:19.72 COM35 UTIL_ASSOC_FIND_DEVICE_RESPONSE (0x6749)
        Device: .C...D{...S....... (0x08, 0x43, 0x01, 0x00, 0x01, 0x44, 0x7B, 0x00, 0x02, 0x01, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
    
    <RX>02:27:34.08 COM35 ZB_RECEIVE_DATA_INDICATION (0x4687)
        Source: 0x0064
        Command: 0x0001
        Len: 0x0006
        Data: ."3DUf (0x11, 0x22, 0x33, 0x44, 0x55, 0x66)
    
    <RX>02:27:35.15 COM35 ZB_RECEIVE_DATA_INDICATION (0x4687)
        Source: 0x0064
        Command: 0x0001
        Len: 0x0006
        Data: ."3DUf (0x11, 0x22, 0x33, 0x44, 0x55, 0x66)
    IEEE0_2530协调器_先F13F_OK_后A47D_NOK_第2次抓包.psd

  • z-stack 2.5.1a過時好久了,你要不要換到最新的協議棧試試
  • 帮忙推荐下能支持cc2530的,市面用的较多且比较稳定的版本是哪个?多谢。
  • Z-Stack 3.0.2或是Z-Stack Home 1.2.2a
  • 这2个版本支持SmartRF04的底板吧?
  • 這個我不確定,不過2.5.1a可以照理來說新版本應該也可以