TI中文支持网
TI专业的中文技术问题搜集分享网站

请问如何调用zigbee协议栈的底层函数

本人接触TI产品和zigbee不久,在项目中遇到不少困难,恳请在这里能得到帮助

我手上有一份别人留给我的程序,运行在CC2530单片机上的,原程序没有使用zigbee协议栈。在传送数据的时候发现冲突的情况,现在我想采用CSMA/CA机制发送数据,之前有ti的员工告诉我可以调用zigbee协议栈mac层low-level的函数,还有人说可以调用MAC_API中的函数。但是苦于不知道调用的方式。需要把zigbee协议栈的sampleApp完全添加进工程吗?还是需要自己移植代码?如果自己移植代码,遇到外部的接口函数,直接调用可以吗。麻烦具体一点,万分感谢

VV:

你好,sun xiong,

如果你想把Z-stack中的的CSMA/CA的部分的程序移植到你的程序中,难度会比较大,一方面z-stack MAC层调用机制相对复杂,函数嵌套,另外有些函数都是以library提供的。

所以建议你把你的应用程序移植到TIMAC上面去,去调用相关的mac层函数。

在mac层最上层的函数接口是 macTxFrame,之后会调用相关的csma的发送方式。

TIMAC就是z-stack中的MAC层以下部分,直接调用mac的相关函数。

xiong sun:

回复 VV:

首先非常感谢您的回答。我还有一些问题想进一步请教。如果把我的程序移植到TIMAC上面去,那我原来关于组网的这一块是不是会和TIMAC发生冲突(原来程序没有采用PAN ID,而是将节点的标号放在发送的报文中,接收端必须分析报文内容才能判断信息的丢弃与接受)

还有,我看到您在另一个人的帖子里建议他参考SimpliciTI协议栈,请问该协议栈是完全开源的吗,我这几天看了一下,大致可以看懂。如果我的目标仅仅是实现CSMA/CA的话,请问哪一种方法比较简单。

可能我有些话比较外行,确实没接触多久,恳请能得到回复

VV:

回复 xiong sun:

如果不想用的话也可以的,但是关于MAC的初始化工作还是要做的,为了保证MAC能正常工作。

SimpliciTI是完全开源的,原先我让你参考SimplicTI主要考虑到

1:完全开源,看代码方便点

2:SimpliciTI中,发送数据前有通过CCA检测信道,但是并没有按照CSMA/CA的算法去做一些指数级的退避,而是固定的退避,如果你需要自己实现的话,需要在此基础上把CSMA的算法实现。

两个各有优缺点,看你自己的取舍,如果从实现的精确角度来说,TIMAC更加精确,如果之谈功能的话,SimplicTI更加方便

lei chen chen:

回复 VV:

你好,我购买了TI公司的CC2530开发板套件,用的是TI的协议栈,我想用mesh拓扑结构,请问您应该怎么修改呢?期待您的指导

Susan Yang:

回复 lei chen chen:

mesh拓扑结构的话,可以直接下载 http://www.ti.com.cn/tool/cn/z-stack 的 Z-STACK-MESH

赞(0)
未经允许不得转载:TI中文支持网 » 请问如何调用zigbee协议栈的底层函数
分享到: 更多 (0)