CC1150和CC113L通信问题
有个问题请教一下,在使用CC1150+CC113L做433M的通信,发射功率10dbm,在测试距离的时候,走远信号衰落到不能接收数据,再走出一段距离往回走后,回到原来可以正常接收数据的距离,接收不到数据,距离只有1米以内也不行。
CC113L初始化程序如下:
INT8U CC11xxWriteRfSettings(void)
{
INT8U TempFlag;
while(1)
{
CC11xxStrobe(CC11xx_SRES); //复位芯片
CC11xxWriteReg(CC11xx_IOCFG2,0x06); //IO配置
CC11xxWriteReg(CC11xx_IOCFG0,0x40); //IO配置
CC11xxWriteReg(CC11xx_FIFOTHR,0x4c); //FIFO深度
CC11xxWriteReg(CC11xx_PKTCTRL0,0x05); //数据白化开启:0x45 不开启:0x05
CC11xxWriteReg(CC11xx_FSCTRL1,0x06); //
CC11xxWriteReg(CC11xx_FREQ0,FreqTab[0]); //配置发射频率,433M
CC11xxWriteReg(CC11xx_FREQ1,FreqTab[1]); //
CC11xxWriteReg(CC11xx_FREQ2,FreqTab[2]); //
CC11xxWriteReg(CC11xx_MDMCFG4,(0x07|0x90)); //指定符号率的尾数高字节,数据波特率4.8K,150K=0x90,100K=0xc0,80K=0xd0,58K=0xf0
CC11xxWriteReg(CC11xx_MDMCFG3,0x83); //指定符号率的尾数低字节
CC11xxWriteReg(CC11xx_MDMCFG2,0x03|0x10|0x08); //0x00=2-FSK,0x10=GFSK,允许曼码,30/32同步字节检测,
CC11xxWriteReg(CC11xx_MDMCFG1,0x22); //禁止数据包有效载荷前向纠错,传送的前导字节4字节
CC11xxWriteReg(CC11xx_MDMCFG0,0xf8); //频道间隔200K
CC11xxWriteReg(CC11xx_CHANNR,UidTab[0]); //频道0
CC11xxWriteReg(CC11xx_ADDR,CC11xxAddrTab[0]); //
CC11xxWriteReg(CC11xx_DEVIATN,0x34); //调制度19K
CC11xxWriteReg(CC11xx_MCSM0,0x18); //从IDLE到RX或TX自动校准,XOSC启动延时37us-43us
CC11xxWriteReg(CC11xx_FOCCFG,0x16); //
CC11xxWriteReg(CC11xx_AGCCTRL2,0x43); //
CC11xxWriteReg(CC11xx_WORCTRL,0xfb); //
CC11xxWriteReg(CC11xx_FSCAL3,0xE9); //频率合成器校准配置和结果寄存器
CC11xxWriteReg(CC11xx_FSCAL2,0x2A); //
CC11xxWriteReg(CC11xx_FSCAL1,0x00); //
CC11xxWriteReg(CC11xx_FSCAL0,0x1F); //
CC11xxWriteReg(CC11xx_FSTEST,0x59); //
CC11xxWriteReg(CC11xx_PTEST,0x7f); //
CC11xxWriteReg(CC11xx_AGCTEST,0x3d); //
CC11xxWriteReg(CC11xx_TEST2,0x81); //
CC11xxWriteReg(CC11xx_TEST1,0x35); //
CC11xxWriteReg(CC11xx_TEST0,0x09); //
TempFlag=CC11xxReadStatus(CC11xx_IOCFG2);
if(TempFlag==0x06)
{
CC11xxStrobe(CC11xx_SFRX);
CC11xxStrobe(CC11xx_SRX);
return(1);
}
}
return(0);
}
从 CC113L 找原因,通过GPIO 输出查看 CC113L 是的状态。比较直观的是用CC113L放在 TI 的 TrX EB 板上,用 SmartRF Studio 控制接收,看是否还有同样的现象。