随笔分类 -  初学zigbee

摘要:OSAL中断操作:1、允许中断byte osal_int_enable( byte interrupt_id )-- interrupt_id:中断标示符2、禁止中断byte osal_int_disable( byte interrupt_id )-- interrupt_id:中断标示符3、暂停中断HAL_ENTER_CRITICAL_SECTION(x)4、重新启用中断HAL_EXIT_CRITICAL_SECTION(x) OSAL内存操作:1、分配内存void *osal_mem_alloc( uint16 size )-- size:分配缓冲区的大小2、释放内存void osal_ 阅读全文
posted @ 2011-05-31 23:35 雪帕 阅读(1597) 评论(0) 推荐(0) 编辑
摘要:系统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: 初始化项的数据,如果没有设置为NULLuint8 osal_nv_read( uint16 id, uint16 ndx, uint16 阅读全文
posted @ 2011-05-31 23:30 雪帕 阅读(5285) 评论(3) 推荐(1) 编辑
摘要:一、协调器网络的建立 1、 网络的格式化 A:初始化的能量阀值为16。通过设置ZDApp_event_loop任务中的事件ID为ZDO_NETWORK_INIT以便执行B。 B:调用NLME_NetworkFormationRequest函数进行申请,对申请的回应在程序中没对应的回调处理,猜想回调处理在lib库中处理。在程序找到了两个对申请结果作处理的函数,void ZDO_NetworkFormationConfirmCB( ZStatus_t Status )和void nwk_Status( uint16 statusCode,uint16 statusValue );在两个函数中都有申 阅读全文
posted @ 2011-05-31 23:23 雪帕 阅读(3415) 评论(0) 推荐(0) 编辑
摘要:本文是作者根据TI Z-Stack开发文档,ZigBee Specification-2007,《Zigbee Wireless Networking》等英文资料整合和翻译而成,采用中英双语对照方便读者理解,文中翻译不当之处,望广大同行不吝赐教。推广ZigBee技术,提高国内电子行业的国际影响力,是我们无线通讯工程师的愿景。In the Zigbee 2006 release,the binding mechanism is implemented in all devices and is called source binding. Binding allows an applicatio 阅读全文
posted @ 2011-04-29 10:24 雪帕 阅读(3803) 评论(0) 推荐(0) 编辑
摘要:IEEE802.15.4标准随着通信技术的迅速发展,人们提出了在自身附近几米范围内通信的要求,这样就出现了个人区域网络PAN(Personal Area Network)和无线个人区域网络WPAN(Wireless Personal Area Network)的概念。WPAN网络为近距离范围内的设备建立无线连接,把几米到几十米范围内的多个设备通过无线方式连接在一起,使他们可以相互通信甚至接入LAN或者Internet。2001年8月成立的ZigBee联盟就是一个针对WPAN网络而成立的产业联盟。该联盟致力于近距离、低复杂度、低数据速率、低成本的无线网络技术。他们开发的技术被称为ZigBee技术 阅读全文
posted @ 2011-04-29 10:02 雪帕 阅读(1851) 评论(0) 推荐(0) 编辑
摘要:协议栈定义通信硬件和软件在不同级如何协调工作。在网络通信领域,在每个协议层的实体们通过对信息打包与对等实体通信。在通信的发送方,用户需要传递的数据包按照从高层到低层的顺序依次通过各个协议层,每一层的实体按照最初预定消息格式向数据信息中加入自己的信息,比如每一层的头信息和校验等终抵达最低的物理层,变成数据位流,在物理连接间传递。在通信的接收方数据包依次向上通过协议栈,每一层的实体能够根据预定的格式准确的提取需要在本层处理的数据信息,最终用户应用程序得到最终的数据信息进行处理。ZigBee无线网络的实现,是建立在ZigBee协议栈的基础上的,协议栈采用分层的结构协议分层的目的是为了使各层相对独立, 阅读全文
posted @ 2011-04-29 09:47 雪帕 阅读(8212) 评论(0) 推荐(1) 编辑
摘要:各表中的元素结构:1、组表的元素结构 aps_Group_t;typedef struct{ uint16 ID; // 组ID uint8 name[APS_GROUP_NAME_LEN]; // 组名称} aps_Group_t;2、组列表的元素结构typedef struct apsGroupItem{ struct apsGroupItem *next; //指向下一个组表条目 uint8 endpoint; //此终端接收发送给组的信息 aps_Group_t group; //组ID和组名} apsGroupItem_t;3、路由表的元素结构 rtgEntry_t;typedef 阅读全文
posted @ 2011-04-28 10:21 雪帕 阅读(3448) 评论(0) 推荐(1) 编辑
摘要:以下介绍关于zigbee术语,其中绑定和寻址较为重要一、属性属性Attribute是一个反映物理数量或状态的数据值,比如开关值(On/Off) ,温度值、百分比等。二、群集群集Cluster是包含一个或多个属性(attribute)的群组。简单的说,群集就是属性的集合。每个群集都被分配一个唯一的群集ID 且每个群集最多有65536个属性。三、设备描述设备描述Device Description是指一个大型目标应用的一部分,包括一个或多个群集,并且指定群集是输入还是输出。四、端点端点EndPoint是协议栈应用层的入口,也可以理解应用对象(Application Object)存在的地方,它是为 阅读全文
posted @ 2011-04-28 10:14 雪帕 阅读(3387) 评论(0) 推荐(0) 编辑
摘要:只是一个TI公司提供的一个完整的测试工程,同时也是TI协议入门的一个例子。这个例子是非常简单的演示,每个设备都可以发送和接收两个信息;周期信息-----加入该网络的所有设备每隔10S(可能会加上一个随机数的mS)都发送一个周期信息,该信息的数据载荷为发送信息次数的计数。闪烁控制信息---------通过按下SW1可以发送一个控制灯闪烁的广播信息,该广播信息只针对组1的所有设备。所有设备初始化为加入组1,所以网络一旦成功建立/加入就可以进行闪烁控制。可以通过按下设备的SW2退出组1,所以可以通过退出组1可以不接受闪灯信息。通过按下SW2也可以让不在组1的设备加入近组1,从而又可以接受闪灯信息了。 阅读全文
posted @ 2011-04-28 08:53 雪帕 阅读(2263) 评论(0) 推荐(0) 编辑
摘要:首先打开在工程zmain文件夹下的zmain.c文件,如图所示:下面把主函数复制过来简单看下:ZSEG int main( void ){ // Turn off interrupts------------关闭中断 osal_int_disable( INTS_ALL ); // Initialize HAL-----------初始化HAL,关于HAL是什么我想后面会有介绍的。 HAL_BOARD_INIT(); // Make sure supply voltage is high enough to run----电压检测,最好是能保证芯片能正常工作的电压 zmain_vdd_chec 阅读全文
posted @ 2011-04-28 08:21 雪帕 阅读(2269) 评论(0) 推荐(0) 编辑
摘要:本人刚接触zigbee不久,在学习中将不断记录每天的进步,期待大家的指导!!在这里指出我还是参考了ZStack-CC2530-2.3.1-1.4.0\Projects\zstack\Samples\GenericApp例程在协议栈中关于bind的服务主要有一下几类。 End_Device_Bind_req ((uint16)0x0020) Bind_req ((uint16)0x0021) Unbind_req ((uint16)0x0022) Bind_rsp (Bind_req | ZDO_RESPONSE_BIT) End_Device_Bind_rsp (End_Device_Bind 阅读全文
posted @ 2011-04-27 22:07 雪帕 阅读(2414) 评论(0) 推荐(0) 编辑
摘要:首先请让我向大家介绍下强人小峰,看完他写的多篇博客感悟颇多哦!使用的协议栈版本信息: ZigBee2006\ZStack-1.4.3-1.2.1Zigbee网络设备启动流程—协调器(自启动模式)—以SampleApp的协调器为例.1、协调器预编译信息通过project->options->c/c++compiler->extraOptions可以看到协调器所带的配置文件为:-f $PROJ_DIR$\..\..\..\Tools\CC2430DB\f8wCoord.cfg-f $PROJ_DIR$\..\..\..\Tools\CC2430DB\f8wConfig.cfg即编 阅读全文
posted @ 2011-04-27 10:02 雪帕 阅读(3018) 评论(0) 推荐(1) 编辑
摘要:申明:这是转载一位高手的博客哦!!这个文档是一个关键了,Z-Stack的应用程序接口。我们在程序中基本上应该调用的是这些API吧。ZDO层API实现了所有ZDP(ZigBee Device Profile)定义的命令和回应所需要的函数。ZDP描述了ZDO如何实现普通ZigBee设备的特性,它定义了设备描述和簇,ZDP为ZDO和应用提供一下功能:设备网络建立设备和服务发现节点设备邦定和解邦定服务网络管理服务设备发现是ZigBee设备发现其他ZigBee设备的过程。比如将已知的IEEE地址作为数据载荷广播到网络的NWK地址请求,相关设备必须回应并告知其网络地址。服务发现提供了PAN中一个设备发现其 阅读全文
posted @ 2011-04-27 09:55 雪帕 阅读(7115) 评论(0) 推荐(1) 编辑
摘要:看了好长一段时间的原理,终于手痒了,开动了第一个例子,感谢大家来敢看我的博客!!1、 协议栈构架首先打开程序代码,找到IAR工程 ,打开后可以看到TI ZStack的大体框架,如下图所示:§ App:应用层目录,这也是用户创建各种不同工程的区域;§ HAL:硬件层目录,包括着与硬件相关的配置及操作函数;§ MAC:MAC层目录,包括着MAC层配置参数文件及MAC LIB库的函数接口文件;§ MT:包括基于AF层的调试函数文件,主要包括串口等通信函数;§ NWK:网络层目录,包括着网络层配置参数文件及MAC LIB库的函数接口文件;§ 阅读全文
posted @ 2011-04-27 09:48 雪帕 阅读(10923) 评论(0) 推荐(1) 编辑
摘要:德州仪器(TI)宣布推出最新Z-Accel系列2.4GHz ZigBee认证网络处理器中的首款产品——CC2480。该器件为工程师提供了完整ZigBee功能,而无需全面了解繁琐的全功能ZigBee协议栈,从而尽可能减少了开发工作量,并简化了ZigBee功能与各种应用的集成工作,如家庭与楼宇自动化,以及工业监控等。此外,该器件还为客户提供了可与各种主机MCU协同工作的高灵活性。 TI高性能模拟业务部高级副总裁Art George指出:“CC2480 ZigBee处理器不仅显著简化了新型低功耗无线产品的设计工作,还使客户能够方便地在现有产品中添加无线功能,帮助他们在无需编写应用代码的情况下完成系统 阅读全文
posted @ 2011-04-27 09:32 雪帕 阅读(929) 评论(0) 推荐(0) 编辑
摘要:使用的协议栈版本信息: ZigBee2006\ZStack-1.4.3-1.2.1因为用现在这模块SerialApp没做成功,上电后按键没反应……两块无线龙小板子已经买来N年了.自己想在SampleApp例子基础上修改实现串口透明传输:串口调试助手1<————>模块1 <-----OTA----->模块2<————>串口调试助手2程序修改主要如下:*********************************************************************************************************** 阅读全文
posted @ 2011-04-27 09:21 雪帕 阅读(2945) 评论(0) 推荐(0) 编辑
摘要:Zigbee2006, 2007, pro各个版本的区别 ZigBee是ZigBee联盟建立的技术标准,它是一种工作在900MHZ和2.4GHZ频段的新兴无线网络技术,具有中等通讯距离(10米到数百米),比较灵活经济的通讯速率(40Kbps到250Kbps),并且有星状,网状(MESH),树状等多种网络拓扑,低的功耗等特点,所以在当今无线通讯技术和无线网络技术领域中占有比较重要的地位。 第一个ZigBee协议栈规范于2004年12月正式生效,称为ZigBee 1.0或ZigBee 2004。 第二个ZigBee协议栈规范于2006年12月发布,称为ZigBee 2006规范,主要是用“群组库( 阅读全文
posted @ 2011-04-27 09:17 雪帕 阅读(2967) 评论(0) 推荐(0) 编辑
摘要:今天看了ZStack-CC2530-2.3.0-1.4.0按键处理这部分,参考的是小峰的日志,讲的非常详细,地址如下: http://wjf88223.blog.163.com/blog/static/35168001201041294613991/ 我从中把查询法和中断发的大概流程截取了下,看起来没那么复杂,没我的什么见解哦。1,查询法函数调用流程如下: HalKeyConfig()配置一定时器为轮询按键作准备——>时间一到触发系统任务事件调用Hal_ProcessEvent()—— >调用HalKeyPoll()得到按键值——>调用OnBoard_KeyCallback( 阅读全文
posted @ 2011-04-27 09:15 雪帕 阅读(5440) 评论(0) 推荐(2) 编辑
摘要:首先介绍Zstack情况:本人采用的是TI的Zstack1.4.3协议,据说这个需要IAR7.30B及以上版本,而目前市面上又没有破解,所以用的人很少,这也是我的机会!第一步:安装Zstack从TI官方网站上下载的Zstack为:swrc072c.zip,我想这个压缩包大家都认识。解压之后为:ZStack-CC2430-1.4.3.exe文件。这个安装文件大家都会了。默认安装路径为:C:\Texas Instruments\ZStack-1.4.3。安装之后在C:\Texas Instruments\ZStack-1.4.3目录下有各PDF文档为:Getting Started Guide C 阅读全文
posted @ 2011-03-15 16:37 雪帕 阅读(7963) 评论(0) 推荐(0) 编辑