打印

搞不定CC2500,丢人啊!!!!

[复制链接]
21010|26
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
forthlab|  楼主 | 2009-4-13 16:56 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
    遥控器项目,双向的,所以选用CC2500。发现CC2500运行一段时间(几小时或一晚上),时间有长有短,CC2500经常死机。后来测试发现CC2500进入了IDLE状态,程序中正常应该是RX状态的。检查RX_BUF和TX_BUF都是空的。
    我觉得应该是我的程序问题,但一直找不到原因。每次发送和接收后都让CC2500进入接收状态的。接收到信号后,也清除RX_BUF,再进入接收状态的。
    我自己考虑可能有几个原因:
    1. 时序冲突?比如发送后要等发送成功后再清除TX_BUF,再进入RX状态。我检查程序,没有发现冲突。
    2. CC2500设置问题?我现在设置是收发后CC2500进入IDle状态(默认状态)。
    所以在这里请教各位可能是啥问题?
    实在找不到原因只能定时检查CC2500的状态,发现异常再给CC2500复位了。不过找不到原因,用这个土办法,感觉丢人啊!!!

  另外我还尝试让CC2500在接收和发送后自动进入RX状态,结果更奇怪的事情出来了,CC2500运行没有多少时间(几分钟)就死机,检查发现CC2500的状态竟然对的,在RX状态(状态码0x0D=13),但接收不到任何信号,RX_BUF和TX_BUF都是空的,也是对的。重新启动CC2500又正常了!
  请问为何CC2500在接受状态,收不到信号?
  




相关帖子

沙发
forthlab|  楼主 | 2009-4-13 22:06 | 显示全部楼层

用示波器监测过了,晶体振荡器正常的。

谢谢冬瓜!

使用特权

评论回复
板凳
forthlab|  楼主 | 2009-4-15 11:47 | 显示全部楼层

回:lfjwfm

CC2510进入了RXOVE状态,你的意思是说RX_BUF溢出?我检查RX_BUF了,是空的。
freemann 说的“进入TX或RX之前,先IDLE”,中间要有延时么?我马上试试。
再次表示感谢!

使用特权

评论回复
地板
forthlab|  楼主 | 2009-4-15 17:36 | 显示全部楼层

回:lfjwfm

收到数据的时候RX_BUF有收到数据的字节数的,溢出的时候,cc2500状态也不是13(0xd)。
我估计你说的“长期让芯片工作于RX状态还有一个频率偏移的问题”有道理!
我的接受器确实一直在接受状态。可以定时做手工校准,但校准的时候对接受影响大么?手册上做手动校准要721us,加上RX->IDLE->校准->RX,时间也不短。

使用特权

评论回复
5
forthlab|  楼主 | 2009-4-17 10:14 | 显示全部楼层

好像搞定了

根据lfjwfm 的分析,可能是CC2500一直在RX状态,长时间没有校准频率,造成频率偏移。
所以现在采取的方案是10分钟左右做一次状态转换,RX->IDLE—>RX,在状态转换时候,CC2500会自动做频率校准的。消耗时间大约是800us。一晚上没有出现不接收的情况。


好像搞定了!!!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

87

主题

749

帖子

5

粉丝