搜索
bottom↓
回复: 25

SI4463疑惑!请大家指点迷津!【晕,变成自我解惑了】

[复制链接]

出0入0汤圆

发表于 2014-10-23 15:47:54 | 显示全部楼层 |阅读模式
本帖最后由 疯狂者 于 2014-10-24 12:43 编辑

大家好,我是今天才注册论坛的,发帖规矩不懂,请见谅。今天逛了下论坛,才发现,我单片机菜,硬件更是渣!还有好多要学习,但感觉时间不够用,好紧张....


我是月初才刚接触这个芯片的,对射频没什么概念。蓝牙wifi等无线通信的只用过透传模块。这次这个模块竟然要自己搞一些协议,还要做冲突检测。很是紧张.....
我用的也是预留SPI接口的芯片模块。然后还买了一个他们提供的测试板,改了他们的程序用到了自己的板上去。幸好有这块测试版。速度快了很多。改了个SPI接口就可以用了。
他们程序提供的是100kbps的速度的,其他参数我也没怎么看,因为赶着要用到模块。


好了,话归正题:

第一个问题:
请问大家发送和接收的速度能有多快呢?我用了单片机的一根引脚作为提示,分别高电平加在API指令:START_TX前(应该这条指令就是启动发送了),低电平加在查询到发送完毕后面,用逻辑分析仪查数据,得到下面的时序图。
发现竟然要400ms,这么多时间?我用的是包格式的,100kbps发送16字节的数据,就算加上头码什么的应该也不用这么多时间吧。请问大家的发送时间大概是多少呢?


第二个问题:
但为了快速开发并可以用,我暂时没管这个,接下来是多个发送一个接收时的冲突检测了,我百度到有人是用RSSI来判断的,然后就学了读取一下,发现这个值会有变化,平时没数据时,是32,但连续读的时候就会变化,有时候是0,有时是1,有时候是19,有时候是20。而有数据在发送的时候,读取就飙到80多,90多,同样连续读也是有跳变。
我认真看了手册,发现说连续模式要4TB时间,请问这个4TB是什么概念呢?
【后来才明白,原来是4个bit,侦听4次,求一次平均值, 但还是应该不用8ms这么长吧..?】

最后,我无意间延迟了8ms,就可以读了,但感觉还是有缺陷。太长了。而且调整了一下程序的位置,调到一个感觉比较可以理解的顺序,就读不出来了。


下面是我逻辑分析仪分析的数据。所有的高低电平都是用上面的io口来标记的,我其中有一个发送端每隔一秒发送一次数据,定长16字节FIFO。然后另一个发送的端假装要刚好也要发送数据,做了RSSI检测。这个RSSI检测是我延迟了大概8ms才有这样的效果的。但是8ms好像很长了。

怎么发不了图片呢?

最后经过一些建立在偶然基础上的编程,做出了下面的防冲突效果,但是每次延时我都必须延时至少100ms以上才能检测RSSI,我看到网上有些人说延时1ms级别就可以了,这么快,有可能吗?希望大神提点,因为现在我这个500ms的发送速度实在不行啊。
以多个就很久了...而且主从切换也太久了....四五个在一起玩玩还可以,根本不能实现什么有用的应用.....谢谢各位了。指点指点。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2014-10-24 00:21:13 | 显示全部楼层
找了一整天资料,发现还是官网资料比较多,好想有一套官网的SI4463开发套件,但要2800元。太贵了...

在官网找到一些资料,API手册,网页形式打开,感觉比较新鲜。果断共享了...


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2014-10-24 08:45:42 | 显示全部楼层
本帖最后由 疯狂者 于 2014-10-24 08:46 编辑

2014年10月24日

今天又在官网查了些资料。再总结下。
之前使用的时候,都是用包模式发送数据的。然后发现手册上提到有直接发送模式,但网上别人用的也很少,资料里也不推荐用这种模式。
但神秘感也增加了,我以为直接发送模式更自由,更强大。

但今天发现了AN633这份手册上有提到这种模式。直接发送和直接接收,原来要用到SI4463芯片的GPIO口的,而且发送和接收的时候还是MCU的发送SPI指令后,再变作从机进行发送或接收....
所以感觉MCU要多出一个SPI接口来进行直接发送和接收。

好像有点不方便。但也好像有点方便(透传??)....总之有点莫名的感觉....

发送:


接收:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入13汤圆

发表于 2014-10-24 09:56:09 | 显示全部楼层
我也不太懂,等学习

出0入0汤圆

发表于 2014-10-24 19:45:23 | 显示全部楼层
我也不太懂,等学习

出0入0汤圆

 楼主| 发表于 2014-10-24 19:55:16 | 显示全部楼层
mculjf 发表于 2014-10-24 09:56
我也不太懂,等学习

一起加油!我也是在朦胧阶段....只是用了被人的发送接收程序,就直接编程了,后来觉得还是要理解下才好。

出0入0汤圆

 楼主| 发表于 2014-10-24 19:55:46 | 显示全部楼层
yydd_1 发表于 2014-10-24 19:45
我也不太懂,等学习

一起加油!我也是在朦朦胧胧中!

出0入17汤圆

发表于 2014-10-24 20:23:32 来自手机 | 显示全部楼层
论坛里有例程,我就传过一个,搜STM8+SI4463, 另外官网上还有一个配置设计软件,去找下

出0入0汤圆

 楼主| 发表于 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

出0入0汤圆

 楼主| 发表于 2014-10-24 20:48:05 | 显示全部楼层
radar_12345 发表于 2014-10-24 20:23
论坛里有例程,我就传过一个,搜STM8+SI4463, 另外官网上还有一个配置设计软件,去找下 ...

谢谢谢谢,今天我也发现这个软件了...非常好用啊....

出0入0汤圆

 楼主| 发表于 2014-10-28 19:09:18 | 显示全部楼层
wxdn 发表于 2014-10-28 18:34
你的程序调好了吗?这个芯片的寄存器太多了,搞的我头大啊,能不能指点一下? ...

如果是简单的一对一的收发,我已经可以的了...我用的是飞思卡尔的...参考的程序是STM8的.....
我现在也是会一点点而已,正在调试冲突检测的收发(不过感觉不是很可行)。还有很多模式没用到。我也在慢慢学。

如果是简单的发送接收:
我感觉主要是会用里面的那些SPI API指令,然后至于寄存器的属性值如何设置的话,

首先,它官网提供一个程序的写法,在一个名字叫:AN633.pdf,的手册里提到,我也是直接看着官网的程序是这样写的。
然后,最好是用那个软件WDS来配置寄存器属性..比较清晰形象,直接设置好,然后直接生成个头文件。替换掉官网的那个头文件,调用官网的初始化,就可以把模块初始化成自己设置的配置了。图如下:
例如这个页面是设置发送包格式的:

右下角的那个Generate source,这个就可以选择生成文件头。直接替换就可以了。

而官网有一些帮我们编写好的函数,可以实现收发,你可以参考下,然后根据自己的东西的不同,修改修改,就可以用了.....我感觉最好至少有个逻辑分析仪来看那些引脚的变化,来标记各种状态。芯片上的多出来的IO口就可以来标记状态。

我把我那时候的参考程序给你看看,正常的话直接修改SPI接口就可以用了。



我现在也还在研究中,如果以后你也有什么体会,大家一起共享。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-10-28 20:46:52 | 显示全部楼层
够执着!祝你成功!

出0入0汤圆

 楼主| 发表于 2014-10-29 08:59:52 | 显示全部楼层
wxdn 发表于 2014-10-28 19:18
我给你发了信息,可以详细的请教一下吗?

刚看到,昨天上了下论坛就没上了....

出0入0汤圆

发表于 2014-10-29 09:02:08 | 显示全部楼层
等待学习呢

出0入0汤圆

 楼主| 发表于 2014-10-29 09:03:36 | 显示全部楼层
wxdn 发表于 2014-10-28 19:18
我给你发了信息,可以详细的请教一下吗?

我晕,我还没有权限发短消息.....

我的QQ是:646326044,不过最近赶项目,估计也没时间专门去聊Q...要下个月初可能才有空。如果你不介意断断续续的聊天的话你可以直接问,我看到,如果是我懂的我就回复。嘿!

出0入0汤圆

 楼主| 发表于 2014-10-29 12:34:21 | 显示全部楼层
wxdn 发表于 2014-10-29 12:31
你的QQ带要验证,而且暗号是天王盖地虎,靠。

原来我还有暗号?!!这么久没玩QQ了.... 难怪这么多年来,给了那么美女QQ,一直没有一个加我...

出0入0汤圆

 楼主| 发表于 2014-10-29 12:36:55 | 显示全部楼层
wxdn 发表于 2014-10-29 12:31
你的QQ带要验证,而且暗号是天王盖地虎,靠。

原来当年的我设置的答案是:小鸡炖菇菇...多么无聊啊!应该是初中的时候设置的了...

出0入0汤圆

发表于 2014-11-3 15:07:11 | 显示全部楼层
共同学习。。

出0入0汤圆

发表于 2014-11-13 17:40:12 | 显示全部楼层
牛帖必顶,顶过留MARK

出0入0汤圆

发表于 2014-11-15 10:05:36 | 显示全部楼层
疯狂者 发表于 2014-10-24 08:45
2014年10月24日

今天又在官网查了些资料。再总结下。

这是不是SI4463工作于OOK模式

出0入0汤圆

发表于 2015-4-23 17:10:59 | 显示全部楼层
你好,能请教一下问题吗,我现在4463收发可以,但是读取rssi的时候,却都是60左右,不发生变化,是怎么回事

出0入0汤圆

发表于 2015-4-25 21:33:08 | 显示全部楼层
楼主不错,正好需要,谢啦~

出0入0汤圆

发表于 2019-6-30 22:08:17 | 显示全部楼层
疯狂者 发表于 2014-10-29 12:36
原来当年的我设置的答案是:小鸡炖菇菇...多么无聊啊!应该是初中的时候设置的了...  ...

请问你的通信距离有多远呀,如何才能增加通信距离,谢谢!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 21:58

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表