【CC2640R2F】香瓜CC2640R2F之修改发射功率

本文最后修改时间:2017年11月15日 11:40

 

一、本节简介

本节以simple_peripheral工程为例,介绍如何修改发射功率。


二、实验平台

1)CC2640R2F平台

①协议栈版本:CC2640R2 SDK v1.40.00.45

②编译软件:CCS7.3.0.00019

③硬件平台:香瓜CC2640R2F开发板

④仿真器:香瓜XDS100V3下载器

2)手机平台
①手机型号:红米1S
②安卓版本:安卓4.3
③安卓app:BLE Reader


三、版权声明

1)作者:甜甜的大香瓜

2)声明:喝水不忘挖井人,转载请注明出处。

3)纠错/业务合作:[email protected]

4)香瓜BLE之CC2640R2F群:557278427

5)本文出处:原创连载资料《简单粗暴学蓝牙5》

6)完整开源资料下载地址(电脑端打开):

https://shop217632629.taobao.com/?spm=2013.1.1000126.d21.hd2o8i

7)香瓜CC2640R2F开发板购买链接:

https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4023-16963296339.8.21bfc58419sWKt&id=558653143169

8)香瓜XDS100V3下载器购买链接:

https://item.taobao.com/item.htm?spm=a230r.1.14.1.1d150040zvJBco&id=558356989143&ns=1&abbucket=6#detail


四、实验前提

1、在进行本文步骤前,请先阅读以下章节:

1)《简单粗暴学蓝牙5》的“第一章至第四章”章节​。


2、在进行本文步骤前,请先实现以下章节:

1)《简单粗暴学蓝牙5》的“第三章 软件的安装及使用”章节。


五、基础知识

1、发射功率的范围是多少?

答:

【CC2640R2F】香瓜CC2640R2F之修改发射功率_第1张图片

如上图,CC2640R2F可调的发射功率为:

5dB(最大)、4dB、3dB、2dB、1dB、0dB(默认)、-3dB、-6dB、-9dB、-12dB、-15dB、-18dB、-21dB(最小)


2、修改发射功率有什么用?

答:

发射功率越大,信号越强、距离越远、功耗越大。

发射功率越小,信号越弱、距离越近、功耗越小。

所以,并不是发射功率越大越好,在你的产品中应调整合适的发射功率,防止造成不必要的功耗浪费。


3、不同的发射功率,对应的是多远的距离?

答:发射功率只是影响通信距离的因素之一,并不能直接得到距离范围。

通信距离还与环境、天线选型、天线电路匹配等因素有关。

所以实际通信距离应以实测为准。


4、在香瓜CC2640R2F开发板上,如何查看发射功率对通信信号造成的影响?

答:可以通过BLE的app(如本文使用的BLE Reader)看设备的RSSI。

RSSI(Received Signal Strength Indication接收的信号强度指示),例如:-30dB比-31dB的蓝牙信号好。

RSSI可被用来测距、定位,但由于RSSI波动太大,因此测距、定位出来的往往不准。


六、硬件原理
暂无


七、实验步骤

1、 添加测试代码(simple_peripheral.c的SimpleBLEPeripheral_init函数末尾中)

//GUA
  //设置发射功率
  //HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_MINUS_21_DBM);
  //HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_MINUS_18_DBM);
  //HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_MINUS_15_DBM);
  //HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_MINUS_12_DBM);
  //HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_MINUS_9_DBM);
  //HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_MINUS_6_DBM);
  //HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_MINUS_3_DBM);
  //HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_0_DBM);
  //HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_1_DBM);
  //HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_2_DBM);
  //HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_3_DBM);
  //HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_4_DBM);
  //HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_5_DBM);
//GUA
CC2640R2F一共有13个档发射功率。
我们可以每次选择其中一条代码进行测试。

八、注意事项

1、手机可能缓存了之前固件的数据(在更新过固件后,都需要清除手机端的缓存!!!),因此要清除缓存,清除缓存的方法如下:
方法一:关闭app、关闭蓝牙总开关、打开蓝牙总开关、打开app。
方法二:手机重启。


九、实验结果

由于RSSI是一直在变化过程中,香瓜选择“每个发射功率观察20S、取其最大最小值、手机放在设备旁边”,得到如下数据:

//GUA
  //设置发射功率(默认-47dB~-51dB)
  //HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_MINUS_21_DBM);   //-71dB~-76dB
  //HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_MINUS_18_DBM);   //-65dB~-72dB
  //HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_MINUS_15_DBM);   //-62dB~-67dB
  //HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_MINUS_12_DBM);   //-60dB~-63dB
  //HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_MINUS_9_DBM);    //-57dB~-61dB
  //HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_MINUS_6_DBM);    //-54dB~-59dB
  //HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_MINUS_3_DBM);    //-50dB~-53dB
  //HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_0_DBM);          //-46dB~-50dB
  //HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_1_DBM);          //-45dB~-50dB
  //HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_2_DBM);          //-43dB~-47dB
  //HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_3_DBM);          //-42dB~-47dB
  //HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_4_DBM);          //-41dB~-45dB
  //HCI_EXT_SetTxPowerCmd(HCI_EXT_TX_POWER_5_DBM);          //-41dB~-44dB
//GUA
其中,协议栈默认发射功率对应的RSSI“-47dB~-51dB”,与发射功率0dB时对应的RSSI“-46dB~-50dB”相近。

CC2640R2F虽然可调的发射功率很多,但由于可调的发射功率太密集,导致许多档次其实是鸡肋式的存在。
大家自行选择合适的发射功率即可。


你可能感兴趣的:(BLE-CC2640R2F)