关于ZIGBEE的CC2530+RFX2401C协议栈的修改
参照网上论坛和一些相关的帖子很容易就找到设置了;小白在这里再详细的总结一下,把遇到的一些问题提出来。
首先在网上买了一对CC2530+RFX2401C的模块,发射功率和1.2公里吹嘘的话也不知道是不是真的,暂时当它是真的吧!手头上也没有什么工具可以测这些参数。
跑题了,还是先看看代码怎么修改吧。我们根据模块的硬件连接线找到RFX24001C的控制线先,根据这颗PA数据手册我们可以清楚地知道PA控制管脚是TXEN和RXEN
知道这两个脚,那我们就很容易在CC2530上面找出控制这两个的引脚,因为ZIGBEE的厂商不一定都是按照官方连接的管脚做的,这样子也为一些不清楚的同学、糊里糊涂测试的同学带回正轨。现在我手上这块模块CC2530使用的是P1.1--TXEN;P1.2--RXEN;然后根据RFX2401C的管脚控制定义进行程序修改
知道这两个之后我们来修改代码:
第一步:在hal_board_cfg.h中找到#define xHAL_PA_LNA,把它改成#define HAL_PA_LNA;这样是打开协议栈的PA使能。
第二步:在mac_radio_defs.c中找到MAC_INTERNAL_API void macRadioTurnOnPower(void)这个函数
/* P1_1 -> PAEN */
RFC_OBS_CTRL0 = RFC_OBS_CTRL_PA_PD_INV;
OBSSEL1 = OBSSEL_OBS_CTRL0;
/* P1_2 -> EN (LNA control) */
RFC_OBS_CTRL1 = RFC_OBS_CTRL_LNAMIX_PD_INV;
OBSSEL2 = OBSSEL_OBS_CTRL1;
把原来那部分屏蔽后,再复制粘贴修改成上述代码。到这里代码已经改完了,我们可以去测试了。
如果做到这里,你的测试完全成功,请不要高兴,因为作为一个研发人员还是需要更深刻的理解的。在这里我就有几个疑问,提出来让大神们指正指正……
1、协议栈中的PA和LNA代表的是什么意思?而RFX2401C中却命名为TXEN和RXEN,这样程序的修改虽然是交给协议栈处理,但协议栈并不知道PA芯片是CC2591还是RFX2401C?这里面的PA控制过程还需要验证。有帖子讲PA是发射电路用的信号放大,LNA是接收信号放大。
2、我们知道有OBSSEL0-OBSSEL4的五个这样控制,分别对应P1.0到P1.4的管脚,OBSSEL_OBS_CTRL0和OBSSEL_OBS_CTRL1给它们赋的值代表的是置0或置1吗?
3、这只是打开PA的使能而已,一些同学测得结果往往不理想,为什么呢?或许你并没有把发射功率设置到最大4.5Dbm。
不知道大神们有没有遇到过更神奇的一些事情,可以一起分享一下!
关于ZIGBEE的CC2530+RFX2401C协议栈的修改相关推荐
- ZigBee——在CC2530的ZStack中添加定时任务
在使用CC2530芯片进行ZigBee协议的开发时,我们往往使用TI公司提供的带有ZigBee协议栈的ZStack工程,接下来以其中的SampleApp为例,向其中添加自己需要的定时任务并设置周期和处 ...
- ZigBee无线传感器的网络协议栈
小结: Z-Stack协议栈 = OSAL操作系统 + CC2530硬件模块 + AF无线网络应用 协议定义的是一系列的通信标准,通信双方需要共同按照这一标准进行正常的数据收发;协议栈是协议的具体实现 ...
- Zigbee网络架构+ZigBee的体系结构+理解zigbee节点的实现的案例+“51单片机” 和 “zigbee” 、 “cc2530芯片” 之间的关系+芯片cc2530
ZigBee技术具有强大的组网能力,可以形成星型.树型和网状网,可以根据实际项目需要来选择合适的网络结构: 以下拓扑结构的节点,均是指支持zigbee协议的并以其通信技术手段,实现节点处所需要功能的产 ...
- zigbee zcl规范及其协议栈实现3 读取服务器端属性值
zigbee zcl规范及其协议栈实现2 中有介绍 对通用命令的处理,按照那个思路和信息流程添加读取服务器端属性值的功能 客户端samplesw想要知道与自己的12号端点SAMPLESW_ENDP ...
- Zigbee网关 CC2530驱动1602显示屏
根据文章zigbee网关 CC2530网关开发板之终端开发板可用的IO点击打开链接 目前开发板可用的IO为 P0_4,P0_5,P0_6,P0_7 -- 空 P1_0,P1_1,P1_2 -- 空 而 ...
- 【ember zigbee】序章:协议栈相关文档学习笔记
原文地址:https://blog.csdn.net/tainjau/article/details/90648114 文章目录 写在前面 一.材料出处 二.文档解析 2.1.EZSP Protoco ...
- (转载)ZigBee zcl规范及其协议栈实现1
zigbee zcl规范及其协议栈实现1 http://www.cnblogs.com/-song/archive/2013/03/16/3331818.html refer to ZigBee_Cl ...
- (转载)zigbee zcl规范及其协议栈实现2
zigbee zcl规范及其协议栈实现2 中有介绍 对通用命令的处理,按照那个思路和信息流程添加读取服务器端属性值的功能 客户端samplesw想要知道与自己的12号端点SAMPLESW_ENDP ...
- CC2530 + RFX2401C Zigbee模块
最近公司的一个项目需要使用zigbee,购买了网上的现成的模块,通信距离都很远,但是协议等都不公开,价格也很高,不方便使用,最后决定自己画板子,起初使用的是CC2530 + CC2596的组合,发现效 ...
最新文章
- pd.get_dummies
- 数据库常用对象概念讲解
- ssh_config sshd_config 详解
- [转载] 七龙珠第一部——第125话 神将登场
- 第4章 与缓冲区有关的函数
- java - 朴素贝叶斯
- Debug Assertion Failed!
- (五)Vue 面试真题演练
- 第十二届 2021年1月 蓝桥杯青少年组省赛C++组 第1题--第3题(scratch实现)
- Pyqt5转化.ui文件到.py文件
- 我也发个图 娱乐一下
- 小凡的Python之路——安装
- DCDC电源模块方案 大功率DCDC变换器
- 【Pyecharts50例】GEO航线图/lines
- 2013年上半年CSDN精华0分下载资源
- 关于 RESTFUL API 安全认证方式的一些总结
- 全国计算机等级考点申请,全国计算机等级考试(NCRE)考点申请书某高校(367)
- 3Dmax与BIM模型的区别
- squid代理服务器的应用
- centOS7 清理系统垃圾
热门文章
- gitlab mysql 配置_Gitlab安装配置及使用
- 计数器控制led灯的亮灭
- 飞塔防火墙命令行终端修改输出长度
- 安装完黑苹果之后该做的事情
- 【PowerDesigner】Mysql设计工具 16.5破解
- “互联网+”环境下高职毕业生求职风险应对策略
- RecyclerView之利用ItemDecoration实现万能分割线
- 新手做头条号短视频,这三大点要牢记,让你少走弯路,抓紧收藏
- less-用法:简介、变量、混合、嵌套、运算、转义、函数、映射、作用域、注释、导入、继承、条件判断
- python妹子图爬虫5千张高清大图突破防盗链福利5千张福利高清大图