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

最近在调试CC1101的发送和接收,通过读取RSSI测试灵敏度,发现与手册给出的灵敏度不符,不知道哪块出的问题。

按照手册中的方法,通过读取接收到的有效数据的最后两个字节,获取RSSI的原始值,

根据公式:

if(raw_rssi >= 128)
{
RSSI=((raw_rssi-256)/2) – rssioffset;
}
else
{
RSSI =(raw_rssi/ 2) – rssioffset;}

当计算出来的RSSI在-88时,就会出现CRC错误,当在-90或者更差时,基本上就接收不到东西,

也就无法再计算RSSI了。

出现以上问题,会是什么问题造成的:

软件配置?

RSSI计算理解错误?

硬件有问题?硬件是购买的其他公司制作的成品PCB。

请技术专家指点一下吧。谢谢。

Viki Shi:

读取下RSSI状态寄存器的值呢?

Felix ZF:

你用的那个频段?

你所在的测试环境在这个频段上的背景噪声是多少?

user5288407:

回复 Viki Shi:

读取rssi寄存器的值,基本上就是一个数,不怎么变,读取的时机都是参考其他人的代码位置读取的。

user5288407:

回复 Felix ZF:

我用的433m的频段,环境的底噪没有进行测量,我的测试环境就在一般生活区。我今天又使用了另外一个厂家的模块测试了一下,基本差不多,稍微能好一点,到-90不丢包,在弱的话,就开始丢包。如果是环境的问题,怎么能够验证,不使用其他仪器?

Felix ZF:

回复 user5288407:

最简单的方法,你可以使用smartRF studio的continous rx。

user5288407:

回复 Felix ZF:

这个软件我还没有用过,我现在的cc1101是通过单片机进行配置的,如果需要用这个软件查看空口底噪,硬件怎么连接?这个软件是通过什么接口获取cc1101内部数据的?

Felix ZF:

回复 user5288407:

如果你有CC debug,直接通过CC debug把CC1101和PC连起来就可以了。
如果你没有CC debug,可以通过单片机,让CC1101一直处于RX状态,然后读取RSSI寄存器的值。

InRXmode,theRSSIvaluecanbereadcontinuouslyfromtheRSSIstatusregisteruntilthedemodulatordetectsasyncword(when sync word detection is enabled). At that point the RSSI readout value is frozen until the next time the chip enters the RX state.

Susan Yang:

回复 user5288407:

SmartRF Studio 7 is a PC application that can be used in combination with several development kits for Texas Instruments’ CCxxxx and CC430 RF-ICs. It runs on Windows XP, Windows Vista and Windows 7 (32 and 64 bit) and uses USB (or parallel port for legacy boards) to communicate with the evaluation board (EB) which has an evaluation module (EM) with the RF chip mounted.

SmartRF Studio 7 can also be used without any hardware, but then only to generate, edit and export radio register values.

SmartRF Studio 7一般是使用USB来连接TI的EB或EM板,但您也可以不借助硬件,但只适用于生成,编辑和导出无线电寄存器值。

user5288407:

回复 Felix ZF:

OK,我按照你这个办法试试先,ths。

user5288407:

回复 Felix ZF:

我按照这个办法将模块配置成RX模式,
之后连续的读取RSSI_REG(0x34),读取
到的原始数据为16,转换后是-66dBm。

感觉这个数值比较大,做了很多次测试,结果都是
一样的。

部分代码如下:
CC1101InitData[ 22 ][ 2 ]=
{{ CC1101_IOCFG0,0x06 },{ CC1101_FIFOTHR,0x47 },{ CC1101_PKTCTRL0,0x05 },{ CC1101_CHANNR,0x96 }, //430M{ CC1101_FSCTRL1,0x06 },{ CC1101_FREQ2,0x0F },{ CC1101_FREQ1,0x62 },{ CC1101_FREQ0,0x76 },{ CC1101_MDMCFG4,0xF6 },{ CC1101_MDMCFG3,0x43 },{ CC1101_MDMCFG2,0x13 },{ CC1101_DEVIATN,0x15 },{ CC1101_MCSM0,0x18 },{ CC1101_FOCCFG,0x16 },{ CC1101_WORCTRL,0xFB },{ CC1101_FSCAL3,0xE9 },{ CC1101_FSCAL2,0x2A },{ CC1101_FSCAL1,0x00 },{ CC1101_FSCAL0,0x1F },{ CC1101_TEST2,0x81 },{ CC1101_TEST1,0x35 },{ CC1101_MCSM1,0x3B },
};
CC1101_Init();CC1101_Clear_RxBuffer();CC1101_Set_Mode(RX_MODE);raw_rssi = CC1101_Read_Reg(0x34); rssi = Change2dBm(raw_rssi);

不知道以上操作有什么问题没有。还是我的环境433M的底噪确实很高?

赞(0)
未经允许不得转载:TI中文支持网 » 最近在调试CC1101的发送和接收,通过读取RSSI测试灵敏度,发现与手册给出的灵敏度不符,不知道哪块出的问题。
分享到: 更多 (0)