最新消息:

Atmel BitCloud栈对MAC地址的处理

ZigBee 作者:刘明伟 作者的G+ 1518浏览 0评论

1. MAC地址

MAC地址在Bitcloud中为 CS_UID即extended address。
MAC地址在configuration.h中可配置。
不同的设备会有不同的地址,但是默认情况下相同设备mac地址相同,需要由application来确保地址唯一。

在几个特定的平台上,如果CS_UID在编译时为0,栈会尝试从EEPROM获取mac 地址。

2. 短地址

可以在network start前,由栈随机生成,也可以由application指定使用静态地址。

  1. 随机vs静态地址模式
    使用CS_NWK_UNIQUE_ADDR指定,0使用随机地址,1使用静态地址。
    如果使用静态地址,则在CS_NWK_ADDR指定。
    如果使用静态地址策略,应用将始终指定协调器的短地址为0x0000。
    如果使用动态地址策略,短地址在协调器上由栈自动生成。
    网络启动后,设备可以通过ZDO_StartNetworkConf()。
    这个注册网络的callback函数的参数.shortAddr field 获取到自己的短地址。
  2. 地址冲突解决
    动态地址策略下,地址冲突解决机制会随机选择一个看起来唯一的短地址。
    当短地址更新后,对应的节点会被ZDO_MgmtNwkUpdateNotf()以状态ZDO_NWK_UPDATE_STATUS (0x8E) 通知。
    静态地址策略下,由application负责解决地址冲突。
    栈给检测到冲突的节点,提供ZDO_MgmtNwkUpdateNotf() function with status ZDO_STATIC_ADDRESS_CONFLICT_STATUS (0x95)

转载请注明:刘明伟的博客 » Atmel BitCloud栈对MAC地址的处理

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址