打印

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

[复制链接]
19323|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在接受状态,收不到信号?
  




相关帖子

沙发
木头东瓜| | 2009-4-13 17:30 | 只看该作者

看看是不是晶体停振了?

使用特权

评论回复
板凳
forthlab|  楼主 | 2009-4-13 22:06 | 只看该作者

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

谢谢冬瓜!

使用特权

评论回复
地板
木头东瓜| | 2009-4-13 22:37 | 只看该作者

定时从新配置一下CC2500看看

这个片子我没用过
估计chunyang用过,等他回帖好了

使用特权

评论回复
5
chunyang| | 2009-4-14 10:59 | 只看该作者

肯定是软件方面的问题

    CC2500的例程代码在网上很多,但建议使用原厂的配制软件提供参考,Data要读懂读透,你遇到的现象未必就如你以为的那样,比如“死机”问题,应该只是你的错觉而已。

使用特权

评论回复
6
freemann| | 2009-4-14 22:50 | 只看该作者

状态转换可能有问题

发送或接收后检查有无溢出, 进入TX或RX之前,先IDLE, 

使用特权

评论回复
7
lfjwfm| | 2009-4-14 23:56 | 只看该作者

有种可能

CC2510进入了RXOVE状态,原因看看PDF吧,我们曾经也为这个问题困扰了好久。

使用特权

评论回复
8
forthlab|  楼主 | 2009-4-15 11:47 | 只看该作者

回:lfjwfm

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

使用特权

评论回复
9
lfjwfm| | 2009-4-15 15:30 | 只看该作者

是的

我们碰到的RX_BUF溢出时的状态就是类似你所说的.长期让芯片工作于RX状态还有一个频率偏移的问题,PDF上有说。

使用特权

评论回复
10
forthlab|  楼主 | 2009-4-15 17:36 | 只看该作者

回:lfjwfm

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

使用特权

评论回复
11
lfjwfm| | 2009-4-15 18:45 | 只看该作者

定时校准

RX-IDLE时间很短,其他花销是必须的。RX还有一个超时功能,看看软件是否把这个打开了,如果打开了,也会进入空闲状态的。。。


呵呵,折腾好久,我得出的经验是,无线电传数据,每一个字节都有可能是错误的。。。。

使用特权

评论回复
12
forthlab|  楼主 | 2009-4-17 10:14 | 只看该作者

好像搞定了

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


好像搞定了!!!

使用特权

评论回复
13
dragon_hn| | 2009-4-18 21:51 | 只看该作者

CC2500状态切换时间太长

CC2500状态切换时间太长,还有手工校准等问题,导致做准双工时效率不高.

使用特权

评论回复
14
sanguo147| | 2009-12-16 22:04 | 只看该作者
长知识啦

使用特权

评论回复
15
tttx123| | 2009-12-19 20:37 | 只看该作者
准备用CC2500改原先设备上的有线手控盒。

使用特权

评论回复
16
RF2010| | 2010-5-9 16:28 | 只看该作者
加油

无线数据通信汇总和选型参考(含图片).rar

503.61 KB

使用特权

评论回复
17
yxbo159| | 2011-9-15 16:12 | 只看该作者
曾经遇到过死机的问题,后来把通讯方式改为硬件SPI实现就没发生过这种问题了。

使用特权

评论回复
18
tuzihog| | 2011-10-17 11:50 | 只看该作者
留名

使用特权

评论回复
19
xaq79| | 2011-10-18 16:42 | 只看该作者
定期自校准,清BUFF就不会有死机了

使用特权

评论回复
20
村干部| | 2011-10-31 11:50 | 只看该作者
学习了

使用特权

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

本版积分规则

87

主题

749

帖子

5

粉丝