This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2340R5-Q1:这两个参数"扫描周期"和"扫描持续时间"是什么意思?

Guru**** 2318830 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1516207/cc2340r5-q1-what-do-these-two-parameters-scan-period-and-scanduration-mean

器件型号:CC2340R5-Q1

工具/软件:

您好 TI  

通常、BLE 扫描设置通常只有扫描窗口和扫描间隔(图1)。

为什么  TI 的 BLE  参数 设置中还有另外两个设置:"Scan Period"和"ScanDuration"?(图2)

我不明白相应的行为是什么?TI 是否有任何文档或一些电流波形可以解释?

如下图(图1)所示、这两个附加参数对应于哪个阶段?

谢谢

图1.

TI BLE  参数设置

图2.

Fii Qin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    窗口 :我们花费的时间扫描一个单一的主要广播信道。 它必须小于间隔。

    间隔:  控制器从开始其最后一次扫描到在主要广播信道上开始后续扫描的时间。 在图中、窗口是实际扫描时间量、间隔是启动下一个扫描窗口之前的时间量。

    如果窗口为10ms、间隔为30ms、则扫描单个广播信道10ms、并且在20ms 内不扫描任何内容。  

    关系 :持续时间决定了一段时间内有多少间隔。 例如、如果持续时间是间隔的2倍、那么我们可以在扫描过程中拟合两个间隔。 在下图中、我们的持续时间是间隔的~3倍、因此我们可以拟合三个间隔。 这意味着我们扫描所有三个通道。

    扫描周期 :开始下一个扫描会话之前的时间。 如果要定期扫描而无需使用计时器手动打开/关闭扫描、则设置此选项。 如果此值为零、则将根据窗口、间隔和持续时间参数连续进行扫描。

    希望这有所帮助。

    此致、

    Nima Behmanesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    NIMA

    谢谢

    我的理解是、下图中的睡眠部分应处于低功耗模式。通常、睡眠部分的电流应 小于 10uA 甚至 小于1uA。   我不知道我的理解是否正确。

    我们测试了 CC2340、发现睡眠部分中的电流处于 mA 级别。  应该出现问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Nima

     I‘m’设置  扫描周期:128s、扫描间隔:50ms、扫描窗口:30ms、扫描持续时间:90000ms。

      从目前来看,2340一直在连续扫描, 但从日志可以看出,2340在一秒后停止扫描,然后重复扫描两分钟后停止。这是正常现象吗? 或者我的扫描参数的设置是否有问题?

      

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    每2分钟扫描一次对我来说很有意义、因为扫描周期为128秒、大约2分钟。 但是、扫描持续时间为90000ms 意味着其中应至少获得1800个间隔。 因此、如果窗口为30毫秒、则意味着主动扫描(1800 * 30毫秒)、或大约54秒。

    出于好奇心、您设置的广告报告的最大数量是多少? 如果它不为零、您想将它更改为0吗?

    扫描时、是否发生了任何连接? 例如、在您提供的日志中、它有"foundMatch doing"之类的行。 应用程序在发生这种情况时会做什么?

    此致、

    Nima Behmanesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    视情况而定。 如果在下一个间隔开始之前有足够的时间进入睡眠状态、则是。 但是、这还取决于是否存在任何有效连接或芯片正在执行的任何其他操作。 在这段非扫描期间、芯片可能有足够的时间来执行其他任务。

    此致、

    Nima Behmanesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    根据你所说的,我设置的参数应该每两分钟重复扫描1800*30毫秒。从当前的角度看,确实是这样。然而,从日志,它只扫描了一秒钟。 我设置的程序停止扫描并仅在扫描我设置的广播名称时连接。

    我只能在日志显示它是"foundMatch "时建立连接。日志出现时、第二个连接 未建立、并且在接下来的两分钟内、当日志未出现时、它无法建立连接。

    我设置的广告报告的最大数量为非零。我尝试将其更改为0、似乎没有任何变化。

    下图是连接成功时将显示的日志。以下代码是我的"foundMatch "部分。

    static bool CheckScanEventLegacy(GapScan_Evt_AdvRpt_t* pAdvReport)
    {
        uint32_t index = 0;
        bool foundMatch = FALSE;
        uint8_t Receive_Ecu_Data[6] = {0x39, 0x59, 0x59, 0x59, 0x59, 0x5A};
    
        while (index < pAdvReport->dataLen)
        {
            gapAdStructure_t adElement;
    
            adElement.length = pAdvReport->pData[index];
            adElement.adType = pAdvReport->pData[index + 1U];
            adElement.aData = &pAdvReport->pData[index + 2U];
    
            if(adElement.adType == 0x09U)
            {
    //            MenuModule_printf(APP_MENU_SCAN_EVENT, 0, "XXXXX:[%s]\n", BLEAppUtil_convertBdAddr2Str(adElement.aData));
                foundMatch = FLib_MemCmp(&(adElement.aData[0]), &(Receive_Ecu_Data[0]), 6);
                PHSCA_ESELOG_PRINTF("%s","foundMatch doing.\r\n");
                PHSCA_ESELOG_HEX_PRINTF(Receive_Ecu_Data,6);
                if(foundMatch)
                {
    //                MenuModule_printf(APP_MENU_SCAN_EVENT, 0, "match!!! localname:[%s]\n", BLEAppUtil_convertBdAddr2Str(adElement.aData));
                    break;
                }
            }
    
            /* Move on to the next AD element type */
            index += (uint32_t)adElement.length + sizeof(uint8_t);
        }
    
        return foundMatch;
    }

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    您是否有可能打开了重复筛选功能?

    此致、

    Nima Behmanesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、 Nima、

    感谢您的回答。 我的问题已解决。