ZigBee学习
文章平均质量分 88
少占鱼-正定
河北正定欢迎您-少占鱼
展开
-
Z-STACK中按键KEY驱动流程-修改到任意IO口
-STACK按键的使用总结#define HAL_KEY_SW_6_ENABLE// SW_6的IO端口#define HAL_KEY_SW_6_PORT P0//SW6接到IO端口的位数 P0.1#define HAL_KEY_SW_6_BIT HAL_KEY_BIT1// SW_6的IO端口选择#define HAL_KEY_SW_6_SEL P0SEL// SW_6的IO端口方向#defin原创 2013-10-23 16:45:19 · 2117 阅读 · 0 评论 -
Z-Stack中串口发送接收的流程
串口接收发送数据有两种方式,一种是中断的模式,另一种是DMA方式,这里主要以中断的方式,来看一下使用串口来发送,接收数据的整个流程。这里以SerialApp例程为例子。 在mian函数中的调用HalDriverInit();函数,在函数中初始化串口,主要是配置管脚和DMA通道void HalDriverInit (void){..................................原创 2013-10-23 16:44:52 · 1853 阅读 · 0 评论 -
ZIGBEE电源管理POWER_SAVING有关的函数
POWER_SAVING有关的函数1、 osal.c 中 osal_start_system()----> osal_pwrmgr_powerconserve();void osal_pwrmgr_powerconserve( void ){ uint16 next; halIntState_t intState; // Should we even look into原创 2013-10-23 16:44:48 · 1679 阅读 · 0 评论 -
ZigBee系统定时器
我使用的协议栈版本及例子信息:ZigBee2006\Texas Instruments\ZStack-1.4.3-1.2.1\Projects\zstack\Samples\SampleApp ……OOXX……~~~~个人觉得,在协议栈里面涉及到两类定时器:一类是硬件定时器,对应cc2430上的几个Timer。系统时钟定时器为硬件定时器另一类是软件定时器,通过osal_start_timer()添原创 2013-10-23 16:44:43 · 1263 阅读 · 0 评论 -
ZIGBEE--OSAL处理来自AF的数据包流程
我使用的协议栈版本及例子信息:ZigBee2006\Texas Instruments\ZStack-1.4.3-1.2.1\Projects\zstack\Samples\SampleApp 以下为系统处理来自AF层数据包的大致流程,afIncomingData() ——afBuildMSGIncoming() ——osal_msg_send() —— osal_set_event()——根据t原创 2013-10-23 16:44:32 · 987 阅读 · 0 评论 -
Zigbee网络设备启动—主要函数说明
使用的协议栈版本信息: ZigBee2006\ZStack-1.4.3-1.2.11、ZDApp_Init()及其中几个函数的说明.(1)ZDApp_Init()****************************************void ZDApp_Init( byte task_id ){ uint8 capabilities; // Save the task ID ZDA原创 2013-10-23 16:44:30 · 1156 阅读 · 0 评论 -
ZIGBEE--OSAL调度机制
摘要:1、任务调度:osal采用一个链表结构来管理协议栈各层相应任务。相关操作函数有,添加任务到链表中;获取下一个活动任务;根据taskID查找下一个任务。osal采用轮询任务调度队列(任务链表),通过两个函数:调度程序主循环函数和设置事件发生标志函数。2、时间管理:通过为事件设置超时等待时间,一旦等待时间结束,便为对应任务设置事件发生标志,从而达到对事件进行延时处理目的。3、原语通信:请求响应原原创 2013-10-23 16:44:27 · 1353 阅读 · 0 评论 -
zigbee各层帧结构的构成
各层帧结构的构成在ZigBee协议栈中,任何通信数据都是利用帧的格式来组织的。协议栈的每一层都有特定的帧结构。 AF层: KVP命令帧 MSG命令帧 (具体参见下面分析) APS层: 数据帧 应答帧 APS命令帧 NWK层: 数据帧原创 2013-10-23 16:44:25 · 2193 阅读 · 0 评论 -
ZIGBEE--CC2430低功耗模式
使用的协议栈版本信息: ZigBee2006\ZStack-1.4.3-1.2.1 The CC2430 has four major power modes, called PM0, PM1, PM2 and PM3. PM0 is the active mode while PM3 has the lowest power consumption. The power modes原创 2013-10-23 16:44:23 · 1199 阅读 · 0 评论 -
zigbee串口透明传输
使用的协议栈版本信息: ZigBee2006\ZStack-1.4.3-1.2.1因为用现在这模块SerialApp没做成功,上电后按键没反应……两块无线龙小板子已经买来N年了.自己想在SampleApp例子基础上修改实现串口透明传输:串口调试助手1模块1 模块2串口调试助手2 程序修改主要如下:***********************************************原创 2013-10-23 16:44:21 · 1148 阅读 · 0 评论 -
Zigbee网络设备启动流程—协调器(自启动模式)
使用的协议栈版本信息: ZigBee2006\ZStack-1.4.3-1.2.1Zigbee网络设备启动流程—协调器(自启动模式)—以SampleApp的协调器为例.1、协调器预编译信息通过project->options->c/c++compiler->extraOptions可以看到协调器所带的配置文件为:-f $PROJ_DIR$\..\..\..\Tools\CC2430DB\f8wCo原创 2013-10-23 16:44:10 · 1446 阅读 · 0 评论 -
ZIGBEE-ZSTACK协议栈中UART的两种模式
协议栈中UART有两种模式:1、中断2、DMA对于这两种模式具体运用在哪一步,纠结了很久.通过UART配置结构:typedef struct{ uint8 *rxBuf; uint8 rxHead; uint8 rxTail; uint8 rxMax; uint8 rxCnt; uint8 rxTick; uint8 rxHigh; uint8 *txBuf;#if HAL_UAR原创 2013-10-23 16:44:03 · 2098 阅读 · 0 评论 -
ZigBee学习之11——MAC层API解读2
ZigBee学习之11——MAC层API解读2回调函数事件呵呵,名字很恐怖,其实就是用来应答请求函数的函数调用而已,不要想的太深奥哦!MAC_MLME_ASSOCIATE_IND当MAC从其他器件接收到关联请求时发送给应有。应用在接收到这个事件后必须调用 MAC_MlmeAssociateRsp(),这个事件只发送给FFD应用,且这个FFD的PIB属性MAC_ASSOCIATION_PERMIT为原创 2013-10-23 16:45:03 · 1003 阅读 · 0 评论 -
Zigbee之旅:第一个CC2430程序LED-IAR相关设置
Zigbee之旅:第一个CC2430程序——LED灯闪烁实验 一、承上启下 在上一篇文章《Zigbee之旅(一):开天辟地》中,我们简要的介绍了Zigbee,以及其开发环境的搭建。OK,现在工具都齐全了,一个问题随之产生:如何利用这些软、硬件来编写一个能够跑起来的程序呢? 本篇文章基本是来回答以上问题的:以“LED灯闪烁”这个小实验作为例子,介绍如何配置IAR以适合开发基于CC24原创 2013-10-23 16:46:20 · 1714 阅读 · 0 评论 -
IAR编译ZStack-CC2530,生成HEX文件完全配置
1.正确配置输出文件格式:菜单选择Project-Options-Linker-Output-Format,选择Other。右边的Output下拉框选intel-extended,Format variant下拉框选None,Module-local下拉框选Include all2.还是在菜单Project-Options-Linker-Output标签中,勾上Override default选项原创 2013-10-23 16:42:12 · 789 阅读 · 0 评论 -
ZigBee组网流程—理论层面描述
ZigBee组网流程—理论层面描述 2011-08-31 11:04:15| 分类: Zigbee | 标签: |字号大中小 订阅 [本文参考zigbee2006协议规范并组织语言描述—小峰] 星形网络和树型网络可以看成是网状网络的一个特殊子集,所以接下来分析如何组建一个Zigbee网状网络。组建一个完整的Zigbee网络分为两步:第一步是协调器初始化一个网络;第二步是路由器或终端加原创 2013-10-23 16:44:34 · 1465 阅读 · 0 评论 -
Zigbee设备启动流程—路由器(非自启动模式)
使用的协议栈版本信息: ZigBee2006\ZStack-1.4.3-1.2.1Zigbee网络设备启动流程—路由器(非自启动模式HOLD_AUTO_START) —以SimpleApp的灯节点SimpleControllerEB为例.灯节点按K1则作为协调器启动,按K2则作为路由器启动.这里以按K2作为路由器启动为例.1、灯节点预编译信息通过proje原创 2013-10-23 16:44:16 · 1115 阅读 · 0 评论 -
Zstack协议栈--系统时钟定时器
我使用的协议栈版本及例子信息:ZigBee2006\Texas Instruments\ZStack-1.4.3-1.2.1\Projects\zstack\Samples\SampleApp ……OOXX……~~~~个人觉得,在协议栈里面涉及到两类定时器:一类是硬件定时器,对应cc2430上的几个Timer。系统时钟定时器为硬件定时器另一类是软件定时器,通过osal_start_timer()添原创 2013-10-23 16:44:14 · 2959 阅读 · 0 评论 -
Z-STACK问题之串口结构uartCfg_t乱说
typedef struct{uint8 *rxBuf;//接收缓存uint8 rxHead;//头uint8 rxTail;//尾uint8 rxMax;//接收最大长度uint8 rxCnt;//计数uint8 rxTick;//时间uint8 rxHigh;//高位uint8 *txBuf;#if HAL_UART_BIG_TX_BUFuint16 txHead;uint16 txTail;原创 2013-10-23 16:44:05 · 845 阅读 · 0 评论 -
h-jtag和j-link仿真比较
JTAG 是ARM的仿真器(这里所说的是硬件),ARM9 2440芯片上面留有4根JTAG接口,但是电平需要转换后才能从电脑的并口直接与芯片的4根JTAG接口 线相连,于是 JTAG仿真器就这样产生了。 仿真器硬件设备有了,肯定需要一个中间的 软件转换协议吧,于是就有了个 H-JTAG 仿真中间软件,用于协议以及数据和地址的转换等等。 也就是说 JTAG和 H-JTAG是原创 2013-10-23 16:43:50 · 1707 阅读 · 0 评论 -
ZIGBEE学习之---ZSTACK1.4.3修改密钥(CC2430)
10.安全(Security)10.1 概述(Overview)ZigBee security is built with the AES blockcipher and the CCM mode of operation as the underlying security primitive。AES/CCM安全算法是ZigBee联盟以外的研究人员发明的,并且广泛应用于其他通讯协议之中。ZigB原创 2013-10-23 16:43:07 · 2641 阅读 · 0 评论 -
Zigbee电源管理
要使用电源管理,需要预编译POWER_SAVING.预备知识:#define PWRMGR_ALWAYS_ON 0 //协调器或者路由器不能休眠#define PWRMGR_BATTERY 1 //终端可以休眠#define PWRMGR_CONSERVE 0 //PWRMGR_CONSERVE任务处于省电状态#define PWRMGR_HOLD 1 //PWRMG原创 2013-10-23 16:42:39 · 1171 阅读 · 0 评论 -
ZigBee学习之13——ZStack ZDO和AF层API解读
Z-Stack API[Z-Stack API _F8W-2006-0021_.pdf]这个文档是一个关键了,Z-Stack的应用程序接口。我们在程序中基本上应该调用的是这些API吧。ZDO层API实现了所有ZDP(ZigBee Device Profile)定义的命令和回应所需要的函数。ZDP描述了ZDO如何实现普通ZigBee设备的特性,它定义了设备描述和簇,ZDP为ZDO和应用提供一下功能:原创 2013-10-23 16:42:34 · 2731 阅读 · 0 评论 -
ZigBee学习之12——对ZDO的初步理解
一直把ZDO当成一个节点设备,其实ZDO是ZigBee协议栈中的一个协议,负责所有设备的管理,安全方案。ZDO就好像是一个驻留在所有ZigBee节点中特殊应用对象,是应用层其他端点与应用子层管理实体交互的中间件。ZDO的配置叫做ZDP(ZigBee设备配置ZigBee Device Profile)ZDP可以被应用终端(application end points)和ZigBee节点访问。ZDO占原创 2013-10-23 16:42:32 · 1378 阅读 · 0 评论 -
ZigBee学习之10——MAC层API解读
ZigBee学习之10——MAC层API解读其实也算不上什么解读拉,基本上是把官方的文档翻译了一下。在Zigbee中,是分层结构的,这样做有很多的好处,每一层只负责自己的东西,数据传输更加透明和有效,好了闲话不说,我们开始解读MAC层API,当然是针对Z-Stack的,呵呵 MAC API[802.15.4 MAC API _F8WMAC API[802.15.4 MAC API _F8WMAC原创 2013-10-23 16:42:30 · 1217 阅读 · 0 评论 -
ZigBee学习之6---RF收发数据
今天把TI的例子程序里的基本RF看了下,有的地方还没有完全看懂,发上来和大家分享一下/*********************************************************************************** Filename: basic_rf.c Description: Basic RF library *************原创 2013-10-23 16:42:21 · 2562 阅读 · 0 评论 -
ZIGBEE协议栈-OSAL系统框架专题【转载】
OSAL系统框架专题2010-4-15 2:47:009. TI协议栈所用系统框架探讨。51的系统往往不是太大,但是几十K的程序,也足以让一个初学者望而却步。我们首先忽略C语言本身的难度,光是系统框架也让生手读起来很吃力,再加上这种到处是API跟"define"的程序,还没有正式学习协议部分就已经让人在丛林中“迷路”了。在接下来的一段时间内,我会以TI所用的系统框架为主线进行学习,希望大家共同探讨原创 2013-10-23 16:44:01 · 1051 阅读 · 0 评论 -
zigbee学习之Zstack变量说明
原创 2013-10-23 16:43:48 · 836 阅读 · 0 评论 -
ZSTACK协议栈--OSAL主循环流程
OSAL系统主循环函数:void osal_start_system( void ){#if !defined ( ZBIT ) //不知道是什么东西for(;;) // Forever Loop#endif{uint8 idx = 0;Hal_ProcessPoll(); // This replaces MT_SerialPoll() and osal_check_timer().//轮询TI原创 2013-10-23 16:44:07 · 1750 阅读 · 0 评论 -
每次我不想好好学习的时候,就看看这个。。。
德玛吉 DMG CTX gamma 2000 TC GILDEMEISTER 加工中心 数控原创 2013-10-23 16:43:59 · 509 阅读 · 0 评论 -
zstack1.4.3之应用层的发送函数及绑定(CC2430)
为了在网络中发送数据到一个设备,应用层一般用AF_DataRequest()函数。而被发送的目的设备的地址类型afAddrType_t被定义在“ZComDef.h”中:typedef struct{ union { uint16 shortAddr; ZLongAddr_t extAddr; } addr; byte addrMode;} zAddrType_t;注意原创 2013-10-23 16:43:36 · 986 阅读 · 0 评论 -
如何使用Z-Stack之《网络配置-广播发送-获取RSSI-输出功率设置》
[图文]如何使用Z-Stack 热 ★★★ 【字体:小 大】 如何使用Z-Stack 一、如何使用ZStack——网络配置 1.PAN ID 和Channel(f8wConfig.cfg)ZigBee协议使用一个14位的个域网标志符(PAN ID)来标识一个网络。ZStack允许用两种方式配置PAN ID,当ZDAPP_CONFIG_PAN_ID值不设置为0xFFFF时,那么设备原创 2013-10-23 16:43:03 · 1986 阅读 · 0 评论 -
IAR编译ZStack-CC2430输出HEX文件的正确配置
IAR编译ZStack-CC2530为可下载运行的HEX文件的正确配置: 1.正确配置输出文件格式:菜单选择Project-Options-Linker-Output-Format,选择Other。右边的Output下拉框选intel-extended,Format variant下拉框选None,Module-local下拉框选Include all 2.还是在菜单Pro原创 2013-10-23 16:42:54 · 969 阅读 · 0 评论 -
CC2430基础实验---ADC单次采样
一、承上启下 在无线传感器网络中,很重要的一项就是将传感器的模拟值转换成数字量,以便于传输和处理。而ADC(Analog-to-Digital Converter)正是用来完成这种转换的。 上一节,我们介绍了CC2430与PC之间的串口通信。CC2430内部已嵌入一个温度传感器,本节将在上一节的基础上,实现一个简单的关于片内温度监测的小实验:利用ADC将片内温度传感器的电压值转换成数字量,利用原创 2013-10-23 16:42:41 · 981 阅读 · 0 评论 -
ZigBee学习之16——ZStack -APS层NWK层API解读4 、5
ZigBee学习之16——ZStack API解读4 应用支持子层(APS) 应用支持子层提供如下管理功能: ? 邦定表管理 ? 组表管理 ? 快速地址查找 除了管理功能外,APS还提供数据服务,只是应用不能访问数据服务。应用需要通过AF数据接口AF_DataRequest()来发送数据。如果要使用邦定表函数需要包含BindingTable.h头文件。 邦定表管理邦定表管理邦定表管理邦定表管原创 2013-10-23 16:42:37 · 2546 阅读 · 1 评论 -
ZIGBEE学习之SPI总线方式点亮LCD屏幕
今天的任务是用SPI总线方式点亮LCD屏幕,呵呵这里要涉及到两个内容,一个是SPI总线,一个LCD。CC2430的话已经集成了SPI总线,只要将IO口配置为外设,然后将USART配置成SPI方式就可以了。关于LCD其实也很简单,很多没有接触过的同学可能将其想象的太过复杂了,就是将字或者图像转换为一个一个的点,如果要这点显示东西呢,就把这点点亮,否则则不点亮。其实PCD8544已经将很多细节的东西做原创 2013-10-23 16:42:17 · 2254 阅读 · 0 评论 -
zigbee单播、组播、广播
zigbee单播、组播、广播 单播:按照协议栈示例GenericApp中的用法:单播有两种方式一种是绑定传输,一种是直接指定目标地址的单播传输按照如下步骤1.设定发送的目标地址GenericApp_DstAddr.addrMode = (afAddrMode_t)AddrNotPresent;GenericApp_DstAddr.endPoint = 0;GenericApp_DstAddr.a原创 2013-10-23 16:42:14 · 774 阅读 · 0 评论 -
ZigBee地址模式分析
我们知道ZigBee设备有两种地址。一种是64位IEEE地址(物理),即MAC地址,另一种是16位网络地址。64位地址使全球唯一的地址,设备将在它的生命周期中一直拥有它。它通常由制造商或者被安装时设置。这些地址由IEEE来维护和分配。我们刚买到的调和上的IEEE地址应该是全部的F,我们可以通过TI的软件SmartRF Flash Programmer重新写入一个IEEE地址,这就像我们的PC上的物原创 2013-10-23 16:42:08 · 926 阅读 · 0 评论 -
Z-STACK1.4.3协议栈之osal_start_timerEx()的作用
osal_start_timerEx的作用体现在:用于设置*tasksEvents数组,一旦tasksEvents[idx]不等于0就执行相应的任务处理函数。ZMain.c → Hal_ProcessPoll → HalTimerTick(判断定时器溢出) → halTimerSendCallBack(处理溢出)→ callBackFunc → Onboard_TimerCallBack → os原创 2013-10-23 16:41:59 · 2805 阅读 · 0 评论 -
Zigbee网络设备启动—基本问题说明
使用的协议栈版本信息: ZigBee2006\ZStack-1.4.3-1.2.1记录几个问题:***********************************1、有关设备的启动模式选项:(有待完善):非自动启动模式 HOLD_AUTO_START:HOLD_AUTO_START is a compile option that will surpress ZDApp from starti原创 2013-10-23 16:44:12 · 1098 阅读 · 0 评论