收发均采用cc1101, 接收完了cc1101配置在RX模式,接收使用的是GDO0电平变化来产生中断。
问题是,发送端有时候发送的信号质量不太好(可能是供电时间、电压不稳定导致),接收端有时候会接收不到(表现在GDO0电平不变化),需要将cc1101状态置为空闲模式再置为接收模式来校准一下,才能继续接收。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
收发均采用cc1101, 接收完了cc1101配置在RX模式,接收使用的是GDO0电平变化来产生中断。
问题是,发送端有时候发送的信号质量不太好(可能是供电时间、电压不稳定导致),接收端有时候会接收不到(表现在GDO0电平不变化),需要将cc1101状态置为空闲模式再置为接收模式来校准一下,才能继续接收。
需要校准可能的原因有很多
比如频点不准了,比如因为RX FIFO已经满溢了需要把标志位清空再接收
建议先在TI的开发板上用smartRF studio尝试一直接收是否会有问题 再来看是软件还是硬件需要调整
你这个发送接收是在什么模式?是功能模式还是测试用的连续收发模式?你可以设法用信号发生器或者一个TI的评估板来作发送端。
不是连续发送,一次发送若干个字节的数据,间隔几百ms发送一次,发送端一直发。
WBJ说可能因为RX FIFO已经满溢了需要把标志位清空再接收。发送端一次才发送几个字节,远小于RX FIFO的64字节,满溢的可能性不是太大。
CC1101 是一颗非常成熟的芯片,已经推出市场十多年了。确认的问题都有发布 Errata (勘误文档),请参考。
http://www.ti.com/lit/er/swrz020d/swrz020d.pdf
勘误文档有说明出错的情况,原因,和对应的解决办法。