本着提高模块的蓝牙连接速度去研究page和page scan过程。
slave:
首先slave需要处于page scan mode才能被连接。page scan的过程其实是一个监控的过程,slave选择初始频点,在这个频点上保持page scan interval时长,一般是1.28s,其中的page scan window时长处于监控频段状态,如果这个时候监控到了master发出的信号,那么就会在下个slot发出反馈信号,接着继续进行下去。
所以对于slave来说很简单,要想连接快,page scan window相对page scan interval得大。最大是相等,不过这时候就什么别的事都做不成,功耗也高。
master:
master比较复杂,一直在跳频寻找slave的频点。master根据clock设置初始频点,从初始频点开始,一个slot做tx,一个slot做rx,tx的时候slot内发两次信号,rx里面也在对应位置监控两次slave有没有回信号,没有的话继续下一个频点。master频点的选择涉及到AB两条train,每个train有16个频点,每个slot 625us,那么就是10ms扫完一个train。于是master就这样一直跳频,一个slave的1.28s的page scan interval里面能跳128次train,直到撞上同一个频点…
所以master要想快点page上,初始频点的选择很重要。理论上来说clock offset如果设的好会很容易与slave同步,可惜我们试过好像没什么明显提升…
于是我想是不是有别的方法,比如加大master在rx时候监控的时长,或者是监控时长前后偏移的那20us,但是还没有找到方法,好像没有接口…以此为记!
蓝牙page和page scan过程
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 标签: redis 缓存 主从 哨兵 集群 本文简单的介绍redis三种模式在linux的安装部署和数据存储的总结...
- NOSQL类型简介键值对:会使用到一个哈希表,表中有一个特定的键和一个指针指向特定的数据,如redis,volde...