<蓝牙BLE>如何调整cc2540的发射功率

 一、背景介绍

    根据TI的官方回复,cc2540只能调节四档发射功率,分别是(从大到小)4dBM、0dBM、-6dBM、-23dBM,而且不

通过操作寄存器等方法对功率进行调整,如果需要更多级别的发射功率的话,请考虑更换芯片。其中最大的功率

4dBM在理论上的通讯范围达到100米,不过不少开发者反映实际应用的时候可靠的传输距离只有50多米。顺便说一

cc2541的最大发射功率为0dBM,所以相对于cc2540在最大功率下的可靠传输距离要短一些不过更低功耗。cc2540

认设置的发射功率为0dBM。既然是BLE (Bluetooth low energy),那就要强调低功耗,如果对低功耗有较高要求,就

选cc2541.其实41和40相差并不是很大,40有USB外设,而41没有,看你具体的项目需求选择。如果没有特殊要求的

话,两者皆可。


二、如何操作

以SimpleBLEPeripheral为例

只需要在void SimpleBLEPeripheral_Init( uint8 task_id )这个函数里面调用宏定义函数:

HCI_EXT_SetTxPowerCmd(xx);

其中xx参数有如下几种:

LL_EXT_TX_POWER_MINUS_23_DBM,对应-23dbm

LL_EXT_TX_POWER_MINUS_6_DBM, 对应-6dbm

LL_EXT_TX_POWER_0_DBM, 对应0dbm

LL_EXT_TX_POWER_4_DBM对应4dbm

就可以啦,简单吧,不过刚接触这一块是很容易把一处地方弄混淆了,就是在这个函数static uint8 scanRspData[] =的最

后两行。一开始我也是以为在这里直接修改0所对应的数值就可以了,然后还傻逼傻逼地去测它的RSSI值,然并卵,因

为在这里不能修改它的发射功率,读出来的RSSI值基本是一样的。

在修改了发射功率之后,我定性得测了一下不同级别的发射功率之间的RSSI值,其中相邻的发射功率之间相差并不是

很大,不过最大最小的之间的发射功率之间读出来的RSSI值相差30多(测量的距离大概为5米),由于没有定性测量,

加上RSSI值并不是一个非常精确的值,所以只能作为大致的参考。

这当然是一个小实验啦,不过当时我为了找到一种简介明了的方法可是找了好多资料,有些说的比较繁琐(估计是大

神们为了显示他 们深厚的功力大笑,开玩笑的哈),倒不如用这种简单实用的方法,小菜鸟一看就懂。




你可能感兴趣的:(<蓝牙BLE>如何调整cc2540的发射功率)