关于ch582 RF PHY的若干疑问

目前正在使用RF PHY开发私有2.4g接口,在使用中尤其是跳频方面遇到了以下疑问,望解答:


  1. 库里有函数RF_BondingErase(),但rfconfig中却没有相应的bonding配置项,请问该如何bonding呢?

  2. 跳频相关的参数HeartPeriodHopPeriodHopIndex是如何工作的?其中的HopPeriod的单位又是什么?函数的注释看的云里雾里。


我们这个2.4G是用了BLE的PHY进行直接RF收发,没有蓝牙协议规定的绑定协议,2.4G所谓的绑定都是自定义的,比如我们的2.4G在初始化时通道,通讯频率,接入地址等信息一样,2个芯片RF就可以互通。

image.png

我们提供的跳频就是固定时间发送心跳进行两边握手,如果心跳握手成功,就可以根据预设的通道进行跳频。
跳频的参数主要是下面几个
image.png



请问预设的通道需要怎么操作呢?比如手动修改rfConfig.Channel?


@TECH13感谢回复,不过仍然没有解决我的疑惑:


1.可以理解绑定操作需要在应用层实现,但既然这样RF_BondingErase()的作用具体是什么?

2.所以跳频的机制与RF_FrequencyHoppingTx()以及RF_FrequencyHoppingRx()完全无关,完全由controller实现,这两个函数只是用来让应用能够寻找到一个收/发双方共同的频道?

3.假设HopPeriod的值为8,那么实际跳频间隔是32*8*31.25us,这样理解对吗?

4.RF_FrequencyHoppingShut()实际上取消的是2.的操作还是controller的跳频?

5.为什么我在调用RF_FrequencyHoppingShut()之后,如果应用一直不发包,会在调用之后的约8~12秒(通过rtc时钟计数,时间不固定)收到事件RX_MODE_HOP_SHUT和TX_MODE_HOP_SHUT?


望进一步解答,感谢。


只有登录才能回复,可以选择微信账号登录