|
楼主 |
发表于 2014-10-24 20:46:55
|
显示全部楼层
本帖最后由 疯狂者 于 2014-10-24 20:51 编辑
2014年10月24日
今天在看了一天资料,看到差点睡了....
突然记起来之前我的为什么一次发送竟然要460ms,然后查询RSSI要延时8ms,突然想会不会有什么关联。
然后就按照一个标准包的数据,统计了一下,我一次发送大概发送:24个Byte,然后400/28/8 ≈ 2.05 ms/bit !!!
1bit要2ms,刚好RSSI要4bit,所以我刚好每次延时8ms就可以正常获得RSSI值。
原来如此,也就是说之前的配置不是100kbit的,上面的注释乱写!!
所以觉得有必要自己认真配置一下好了。
所以认真的看了一遍WDS3这个软件,把发送速度配置成9600bps(之前一直看到有人说配置成9600等,一直在纳闷怎么配置的,原来用这个软件就可以轻松配出来,亏我之前还一直看那个头文件,累死了。)
再次计算了一下,如果9600bps正常的话,这次应该要23ms左右,然后用逻辑分析仪看时序,完美22ms完成一次发送。爽啊!快多了。
然后感觉这次的RSSI只要0.4ms多就可以读一次了,因为我的单片机是8位的,运行一次API读RSSI,指令速度绝对超过0.4ms了,所以就把延时去掉了,然后加入到之前的冲突检测中,得到了一样的效果,感觉不错!
虽然还有一些东西不是很清晰,但比之前的我好多了。
在射频知识方面很是欠缺,有些参数不知道怎么配置,就全部默认了。
还有2个多星期就要有个项目的大概成型成品的上交。先把冲突检测的多机收发写了。不过冲突检测这个也是看了网上的别人的提示写的,感觉有点怪怪的。而且要是接收端放在中间,然后两个发送端都放在主机极限范围的两头,那么互相检测不到RSSI,怎么能确认是通道空闲。
不过手册AN633上的温馨提示也有说:RSSI是最快速检测通道有没有被占用的方法....但是有个However...
但最可靠的是对帧头的侦听来判断是否被占用....
虽然现在速度快了,检查帧头好像也可以,但,要是帧头刚好过去,没检测到,然后就发送数据了,那也悲剧了.....
所以还是很纠结,哎,不管了,先编程了,看看怎么双向通信,还要载波侦听。希望好办点。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|