微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > zigbee nv分析

zigbee nv分析

时间:10-02 整理:3721RD 点击:

系统NV区:
初始化nv数据项 osal_nv_item_init()

读取nv数据项 osal_nv_read()

写入nv数据项 osal_nv_write()

在使用osal_nv_read()或osal_nv_write()之前必须调用

osal_nv_item_init()。

函数原型:

uint8 osal_nv_item_init( uint16 id, uint16 len, void *buf )

--id: NV项的ID

--len: 项的长度

-- buf: 初始化项的数据,如果没有设置为NULL

uint8 osal_nv_read( uint16 id, uint16 ndx, uint16 len, void *buf )

-- id: NV项的ID

-- ndx: 项中的索引

-- len: 项的长度

-- buf: 项的数据

uint8 osal_nv_write( uint16 id, uint16 ndx, uint16 len, void *buf )

-- id: NV项的ID

-- ndx: 项中的索引

-- len: 项的长度

-- buf: 项的数据

0x0000 保留

0x0001-0x0020 OSAL

0x0021-0x0040 NWK

0x0041-0x0060 APS

0x0061-0x0080 Sec

0x0081-0x00A0 ZDO

0x00A1-0x0200 保留

0x0201-0x0FFF APP

0x1000-0xFFFF 保留

系统已定义NV的项:
// osal 的项

ZCD_NV_EXTADDR 0x0001 64位扩展地址

ZCD_NV_BOOTCOUNTER 0x0002 boot计数器

ZCD_NV_STARTUP_OPTION 0x0003 开始的控制选项

(ZCD_STARTOPT_DEFAULT_CONFIG_STATE)

(ZCD_STARTOPT_DEFAULT_NETWORK_STATE)

ZCD_NV_START_DELAY 0x0004 开始延迟时间

// NWK层的项

ZCD_NV_NIB 0x0021

ZCD_NV_DEVICE_LIST 0x0022

ZCD_NV_ADDRMGR 0x0023

ZCD_NV_POLL_RATE 0x0024 轮询率

ZCD_NV_QUEUED_POLL_RATE 0x0025 队列轮询率

ZCD_NV_RESPONSE_POLL_RATE 0x0026 响应轮询率

ZCD_NV_REJOIN_POLL_RATE 0x0027 重新连接轮询率

ZCD_NV_DATA_RETRIES 0x0028 传输数据重试次数

ZCD_NV_POLL_FAILURE_RETRIES 0x0029 轮询失败重试次数

ZCD_NV_STACK_PROFILE 0x002A 使用的profile ID

ZCD_NV_INDIRECT_MSG_TIMEOUT 0x002B 默认间接消息举手超时

ZCD_NV_ROUTE_EXPIRY_TIME 0x002C 路由的有效期

ZCD_NV_EXTENDED_PAN_ID 0x002D 扩展PAN ID

ZCD_NV_BCAST_RETRIES 0x002E 广播参数

ZCD_NV_PASSIVE_ACK_TIMEOUT 0x002F 广播参数

ZCD_NV_BCAST_DELIVERY_TIME 0x0030 广播参数

ZCD_NV_NWK_MODE 0x0031 网络模式

ZCD_NV_CONCENTRATOR_ENABLE 0x0032 多对一的value

ZCD_NV_CONCENTRATOR_DISCOVERY 0x0033 多对一的value

ZCD_NV_CONCENTRATOR_RADIUS 0x0034 多对一的value

ZCD_NV_MAX_SOURCE_ROUTE 0x0035 多对一的value

// APS层的项

ZCD_NV_BINDING_TABLE 0x0041 绑定表

ZCD_NV_GROUP_TABLE 0x0042 组表

ZCD_NV_APS_FRAME_RETRIES 0x0043 传输失败允许传输的最大次数

ZCD_NV_APS_ACK_WAIT_DURATION 0x0044 这个数被用做轮询设备

ZCD_NV_APS_ACK_WAIT_MULTIPLIER 0x0045 这个数被用做非轮询设备

ZCD_NV_BINDING_TIME 0x0046 终端设备绑定时间数

// 安全层的项

ZCD_NV_SECURITY_LEVEL 0x0061 安全等级

ZCD_NV_PRECFGKEY 0x0062 预先配置的安全密钥

ZCD_NV_PRECFGKEYS_ENABLE 0x0063 密钥配置为整个网络还是协调器

//ZDO层的项

ZCD_NV_USERDESC 0x0081

ZCD_NV_NWKKEY 0x0082 网络密钥

ZCD_NV_PANID 0x0083 PAN ID

ZCD_NV_CHANLIST 0x0084 默认的信道列表

ZCD_NV_LEAVE_CTRL 0x0085 控制等级

ZCD_NV_SCAN_DURATION 0x0086 默认开始扫描的期限

ZCD_NV_LOGICAL_TYPE 0x0087 逻辑设备类型

// ZCL 层的项

ZCD_NV_SCENE_TABLE 0x0091

// Non-standard NV item IDs

ZCD_NV_SAPI_ENDPOINT 0x00A1

用户自定义NV项:
为用户保留的NV项目号从 0x0201 --- 0x0FFF

原语操作NV:
1、 初始化 byte NLME_InitNV( void )

2、 设置默认的NIB,设备表,绑定表 void NLME_SetDefaultNV( void )

3、 从NV中恢复网络存储器项 byte NLME_RestoreFromNV( void )

4、 把NIB写入到NV中 void NLME_UpdateNV(

byte enables )

--NWK_NV_NIB_ENABLE 0x01 保存网络NIB

--NWK_NV_DEVICELIST_ENABLE 0x02 保存设备列表

--NWK_NV_BINDING_ENABLE 0x04 保存绑定表

--NWK_NV_ADDRMGR_ENABLE 0x08 保存管理表地址

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top