使用CC1110点对点通信,发送端发送总长为148字节的数据,接收端从第92字节开始,后面全是乱码,发送与接收端距离比较近,在0.4米左右,RSSI在-25dB左右,波特率为100k,以下是通信参数配置:
#define SMARTRF_SETTING_PKTCTRL0 0x05
#define SMARTRF_SETTING_FSCTRL1 0x0C
#define SMARTRF_SETTING_FSCTRL0 0x00
#define SMARTRF_SETTING_FREQ2 0x10
#define SMARTRF_SETTING_FREQ1 0xB1
#define SMARTRF_SETTING_FREQ0 0x3B
#define SMARTRF_SETTING_MDMCFG4 0x2B
#define SMARTRF_SETTING_MDMCFG3 0xF8
#define SMARTRF_SETTING_MDMCFG2 0x13
#define SMARTRF_SETTING_MDMCFG1 0x22
#define SMARTRF_SETTING_MDMCFG0 0xF8
#define SMARTRF_SETTING_DEVIATN 0x62
#define SMARTRF_SETTING_CHANNR 0x00
#define SMARTRF_SETTING_MCSM0 0x18
#define SMARTRF_SETTING_FOCCFG 0x1D
#define SMARTRF_SETTING_BSCFG 0x1C
#define SMARTRF_SETTING_AGCCTRL2 0xC7
#define SMARTRF_SETTING_AGCCTRL1 0x00
#define SMARTRF_SETTING_AGCCTRL0 0xB0
#define SMARTRF_SETTING_FREND1 0xB6
#define SMARTRF_SETTING_FREND0 0x10
#define SMARTRF_SETTING_FSCAL3 0xEA
#define SMARTRF_SETTING_FSCAL2 0x2A
#define SMARTRF_SETTING_FSCAL1 0x00
#define SMARTRF_SETTING_FSCAL0 0x1F
#define SMARTRF_SETTING_TEST1 0x31
#define SMARTRF_SETTING_TEST0 0x09
#define SMARTRF_SETTING_PA_TABLE0 0x60
只有后面约三分之一的数据完全错误,前面的数据都是对的,请问可能是什么原因导致的?
Viki Shi:
看了下用的是Variable packet length mode,每次的数据长度不一样 。那“接收端从第92字节开始,后面全是乱码”,这是几次的测试结果?其他长度呢?
user5051781:
回复 Viki Shi:
几乎每次都是这样,很难收到能通过校验的包,但是如果包长度比较短,不超过60字节的情况下,基本不会出错
user5051781:
刚用SmartRF Studio抓了一下包,发现抓到的包就已经错了,就是说可能不是接收的问题,问题更可能处在发送端,而且也不是严格的第92字节出错,但是出错基本都在后三分之一这一段,而且是大量字节出错,而不是某几位出错
user5051781:
刚使用SmartRF Studio 抓包,抓到的从发送端发出的数据就已经出错了,出错也不是严格的第92字节开始,但是都是后三分之一段大量出错
Viki Shi:
回复 user5051781:
怀疑是对RF core的操作频度太快,还没完成上一个指令就被新指令覆盖了,导致出现后面的数据乱码
user5051781:
回复 Viki Shi:
使用的是DMA发送,这个会有覆盖码
user5051781:
我使用250k波特率的时候发送时正常的,但是100k波特率的长包却全是错误,为什么波特率降了反而出现了问题?
Viki Shi:
回复 user5051781:
波特率降了,一般来说灵敏度会提高。用的是官方版还是自制板,硬件方面能不能排查下?因为如果频点有误差,反而会导致接收不到数据
user5051781:
回复 Viki Shi:
自制板,我好像有点眉目了,无线各参数之间是要满足一定关系的吧,波特率,带宽,频偏这些参数要满足什么样的关系?我是直接在250k波特率配置的基础上只修改了波特率,是不是这个导致的
Felix ZF:
回复 user5051781:
symbol rate、deviation、RX BW、channel space是需要协同配置的,可参考下面帖子
建议按照smartRF studio里面的配置设置symbol rate、deviation、RX BW、channel space