微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > CC2541做主机(Central)持续扫描寻找地址已知的外设(Peripheral),要求扫描期间不能对外发射信号/数据

CC2541做主机(Central)持续扫描寻找地址已知的外设(Peripheral),要求扫描期间不能对外发射信号/数据

时间:10-02 整理:3721RD 点击:

大家好,有问题请教,请大伙帮忙解答:

现我需要用CC2541做主机(Central),持续扫描找寻地址已知的外设(Peripheral),扫描期间要求不能对外发射信号/数据,找寻到目标设备则发起连接。具体要求为:

1,CC2541做主机持续扫描找寻目标设备(目标设备地址已知),需确保扫描期间不对外发射无线信号;
    考虑采用被动扫描方式。

2,需尽量减少扫描期间的功耗--允许目标设备进入信号范围后延时5秒扫描到;
    考虑设置扫描间隔为5秒。

3,确保目标设备进入信号范围内能准确扫描到--实际使用环境中可能有很多不同外设(Peripheral)在广播。

 现有几个问题:

问题一,工作在被动扫描方式,CC2541是否完全不对外发射无线信号。

问题二,为确保目标设备能扫描到,再综合功耗考虑,扫描窗口定义多大合适。

问题三,就具体实现目前有两种想法,请帮忙指导可行性:

方法1:
先配置扫描方式,HCI_LE_SetScanParamCmd(HCI_SCAN_PASSIVE,
                                           scanInterval,
                                           scanWindow,
                                           ADDRTYPE_PUBLIC,
                                           HCI_SCAN_PASSIVE );
再定期试着直接连接目标设备:GAPCentralRole_EstablishLink( DEFAULT_LINK_HIGH_DUTY_CYCLE,
                                              DEFAULT_LINK_WHITE_LIST,
                                              ADDRTYPE_PUBLIC, DeviceAddr );
方法2:
先配置扫描方式,HCI_LE_SetScanParamCmd(HCI_SCAN_PASSIVE,
                                           scanInterval,
                                           scanWindow,
                                           ADDRTYPE_PUBLIC,
                                           HCI_SCAN_PASSIVE );
再发起扫描:GAPCentralRole_StartDiscovery( DEFAULT_DISCOVERY_MODE,//DEVDISC_MODE_ALL
                                       DEFAULT_DISCOVERY_ACTIVE_SCAN,//TRUE
                                       DEFAULT_DISCOVERY_WHITE_LIST );//FALSE
扫描完成,若扫描到目标设备,则发起连接:
GAPCentralRole_EstablishLink( DEFAULT_LINK_HIGH_DUTY_CYCLE,
                                      DEFAULT_LINK_WHITE_LIST,
                                      addrType, DeviceAddr );

以上请烦请大家帮忙指导,谢谢!

问题一, 是的

问题二 我觉得应该根据你的广播间隔和广播时长来定义扫描窗口
问题三,我觉得方法二会比较好 

谢谢解答。

就实现方法二,现我基于simpleBLECentral工程调试,发现若在扫描设备前加扫描配置则会无法扫描到设备,Code实现如下:

HCI_LE_SetScanParamCmd(HCI_SCAN_PASSIVE,
17,
17,
ADDRTYPE_PUBLIC,
HCI_SCAN_PASSIVE );

GAPCentralRole_StartDiscovery( DEFAULT_DISCOVERY_MODE,
FALSE,
FALSE );

有人帮忙解答吗?

怎么实现CC2541做Central被动扫描外设,并连接外设。

各位大侠。

你好,请问你最后是怎么解决 的

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top