OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8008|回复: 6

STM32-SI4463测试程序

[复制链接]

27

主题

143

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1243
金钱
1243
注册时间
2016-1-23
在线时间
487 小时
发表于 2016-3-1 23:28:02 | 显示全部楼层 |阅读模式
本帖最后由 STM129 于 2016-3-4 14:50 编辑

    SI4463测试程序多数是STM8的,也有C51的,基本都是SPI查询方式的, 没有用到中断 IRQ引脚。也没有RSSI部分。RSSI 在电池供电和移动的数据采集会用到,(比如飞控)。当接收到的信号强度大时可以降低发射的功率,这样也会减少对其他无线的干扰。说到ISM频段,要求发射功率不大于1W,
主要有:
                         6.765-6.796MHZ         13.553–13.567 MHz;        26.957–27.283 MHz; (玩具)
                         40.66–40.70 MHz;       433.05-434.79MHZ;         902-928MHZ;            2.420–2.4835GHz

RSSI的读取在SI336x_API里有这段描述:
参照网上的程序 把STM8的测试程序复制到STM32里可以收发数据,还不知道如何实现RSSI 的读取。





无标题.jpg
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

27

主题

143

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1243
金钱
1243
注册时间
2016-1-23
在线时间
487 小时
 楼主| 发表于 2016-3-9 21:57:24 | 显示全部楼层
SPI查询方式,整个 si446x_GET_MODEM_STATUS函数能读出的只有cmd[0]和cmd[3],其它的都是0,cmd[0]读出始终是255。
/*!
* 获取调制解调器状态标志。可选择清除它们。
*
* @参数 MODEM_CLR_PEND 标志清除。
*/
   void si446x_GET_MODEM_STATUS(u8 MODEM_CLR_PEND )
{
        u8 cmd[9];

        cmd[0] = GET_MODEM_STATUS;
        cmd[1] = MODEM_CLR_PEND;
        SI446X_CMD(cmd,2);
        SI446X_READ_RESPONSE(cmd, 9);//读取命令响应的数组       

       LATCH_RSSI   = cmd[3];
若在这里显示cmd[3],最大为234,RSSI(indBm)=(RSSI_value/2)–130得出 -13dBm(两天线靠在一起的),
把功率调小
发送方功率设置:     SI446X_SET_POWER(0x01);
接收方功率设置:     SI446X_SET_POWER(0x00);
在2GFSK  30Kbps 频偏20K,距离大概只有25CM。远了收不到,在 cmd[3]读出115以下接收到的包是乱码,以cmd[3]=116算出为-72dBm
同样的功率换 1Kbps,距离大概到2米,远了收不到,cmd[3]读出最小时44,若换算出来是 -108dBm
在读取cmd[3]的值时一直在跳动,不稳定,无论读出多大都会出现很小的值:155;  107;   4 ;  96不稳定
现在的问题是在主函数显示cmd[3]的值时始终是4,在 void si446x_GET_MODEM_STATUS(u8 MODEM_CLR_PEND ) 函数的 SI446X_READ_RESPONSE(cmd, 9);// 后面加上 delay_ms(10); 时能读出cmd[3]的值

那位用过SI4463的来分享下,没有就当做笔记吧
回复 支持 反对

使用道具 举报

4

主题

102

帖子

0

精华

高级会员

Rank: 4

积分
900
金钱
900
注册时间
2013-8-28
在线时间
114 小时
发表于 2016-3-10 10:34:31 | 显示全部楼层
这个还真没用过,帮顶吧
回复 支持 反对

使用道具 举报

32

主题

55

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
272
金钱
272
注册时间
2014-10-28
在线时间
27 小时
发表于 2016-11-1 21:23:40 | 显示全部楼层
HW3000超低双向无线fsk模块完美替代CC1101、CC1120、A7139、A7108、si4432、si4438、si4463
www.silicontra.com
回复 支持 反对

使用道具 举报

yuyuyu2517 该用户已被删除
发表于 2017-1-22 17:10:28 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

27

主题

143

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1243
金钱
1243
注册时间
2016-1-23
在线时间
487 小时
 楼主| 发表于 2017-1-22 21:28:39 | 显示全部楼层
yuyuyu2517 发表于 2017-1-22 17:10
最近也在整这个4463的 RSSI,  cmd[0]读的是CTS值,必然是0xFF,
有个问题想请教下楼主,我现在有两个模 ...

大概是这样:在配置H文件时,把RSSI配置给ABCD这四个快速寄存器中的一个,然后接收数据时会先检测RSSI,检测完成了会产生相应 快速寄存器对应引脚的中断请求,快速寄存器存的就是RSSI
回复 支持 反对

使用道具 举报

yuyuyu2517 该用户已被删除
发表于 2017-1-23 09:47:57 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-1 02:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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