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.

[参考译文] CC2640R2F:待机模式-如何使用待机模式每20分钟通过 BLE 发送传感器控制器 ADC 数据

Guru**** 2587365 points
Other Parts Discussed in Thread: CC2640R2F, SYSCONFIG, SIMPLELINK-CC2640R2-SDK

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1161959/cc2640r2f-standby-mode---how-to-send-sensor-controller-adc-data-via-ble-every-20-minutes-using-standby-mode

器件型号:CC2640R2F
主题中讨论的其他器件: SysConfigSIMPLELINK-CC2640R2-SDK

您好!

我 使用传感器控制器读取2个 ADC 值20分钟(每秒1个样本)、20分钟后、我希望每20分钟通过 BLE 发送一次数据。 我已经尝试每隔1秒发送一次 ADC 传感器控制器数据、但 我需要降低控制器的功耗、因此我计划使用待机模式。 请指导我如何实现这一点。

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

    您能否将传感器控制器 ADC 读数的1秒触发计时器事件延长到20分钟?

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

    是的、我确实喜欢这种情况、但仍然是电流消耗很高

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

    您看到了什么功耗?

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

    您好、Sai、

    您可以通过 传感器控制器工具查看传感器控制器帮助文档的 ADC 模块和 ADC 数据记录器示例。  请记住 、传感器控制    器在运行任务代码时处于工作模式、而在其他情况下处于待机模式(CC2640R2F 传感器控制器没有低功耗模式)。  您还可以参考 测量 SimpleLink 器件功耗的方法。

    此致、
    Ryan

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

    我使用了超级电容器能量(36mJ)...持续几秒钟(大约 20秒)

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

    您使用的是 TI LaunchPad 还是定制 PCB?  我建议您在切换到超级电容器电源之前、使用恒压源评估功耗曲线。  超级电容器的完整规格是什么?

    此致、
    Ryan

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

    我使用的是 TI LaunchPad、即 EH301A - 6mF 超级电容器55 mJ 模块/3.1V 至5.2V 工作电压

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

    感谢您提供这些信息。  确保完全移除 XDS110/LED 跳线、BLE5-Stack 项目已定义 power_saving、并在 LaunchPad 接头上选择"External Power"跳线。  您可以使用 EnergyTrace 或电源分析仪工作台工具进一步测量电流消耗。   swra478 

    此致、
    Ryan

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

    如何执行此操作?  

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

    我仅使用恒定电压、我在超级电容器之后有电路为控制器提供恒定3V 电压  

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

    " BLE5-Stack 项目定义了 POWER_SAVing、并且选择了"外部电源"

    在代码中有此定义吗? 是 Simplepherhal.C 中的一个

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

    当您从 SysConfig -> BLE -> Advanced Settings 中选择"Power Management"时、将在生成的 ti_ble_app_config.opt 文件中定义 power_saving。  您可能还需要从同一菜单中选择"Disable the Display Module"(禁用显示模块)选项。  "外部电源"是 LaunchPad 上的物理跳线选择、我在上一篇文章中也对此进行了说明。

    此致、
    Ryan

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

    您能说我在哪里可以找到  SysConfig 来更改设置

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

    我忘记了我们之前讨论的 SIMPLELINK-CC2640R2-SDK 项目未启用 SysConfig。  因此,您应该在  Board_display_use_*定义的 tools/define 文件夹内参阅 ble5_simple_peripheral_cc2640r2lp_app_FlashROM_StackLibrary.opt。

    此致、
    Ryan

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

    这不是很清楚。 您是否意味着当传感器控制器运行任务代码时、主控制器处于待机模式? 请指导我实现-如何使用待机模式每20分钟通过 BLE 发送传感器控制器 ADC 数据。

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

    主 CM3 CPU 与传感器控制器 CPU 分离、因此能够在 SC 运行时处于待机状态。  您可以参考 Sensor Controller Studio SimpleLink Academy Labs 并从 SC 项目的输出目录中读取 scif_how_to_use.html、以进一步了解如何将传感器控制器功能集成到 BLE 项目中。

    此致、
    Ryan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="91835" URL"~/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1161959/cc2640r2f-standby-mode---how-to-send-sensor-controller-adc-data-via-ble-every-20-minutes-using-standby-mode/4369681 #4369681"]您不能仅仅延长1秒触发计时器[/引用]

    如何做到这一点、您能提供帮助吗? 我已经发布了传感器控制器执行代码:

    //启用 ADC (固定基准、2.7us 采样时间、手动触发)

    adcEnableSync (ADC_REF_FIXED、ADC_SAMPLE_TIME_2P7_US、ADC_TRIGGER_MANUAL);

    //对于每个引脚(每个引脚在 cfg.pAdcValue[]和 output.pAdcValue[]中有一个条目)...

    对于(U16 n = 0;n < sensor_output_count;n++){

    //选择 ADC 输入

    adcSelectGpioInput (cfg.pAuxoASensorOutput[n]);

    //对引脚进行采样并存储 ADC 值

    adcGenManualTrigger();

    adcReadFifo (output.pAdcValue[n]);

    //禁用 ADC

    adcDisable();

    fwGenAlertInterrupt();

    fwScheduleTask (1);

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

    您可以使用计时器触发  器、例如 ADC_TRIGGER_AUX_TIMER0、而不是 ADC_TRIGGER_MANUAL 来进行 ADC 采样、或使用计时器事件触发器在给定的间隔处理事件、而不是仅依赖执行代码。  您可以参阅 Sensor Controller Studio 开始页面中的 ADC 数据流器和多通道 ADC、以获取 ADC 使用情况的更多示例 、并参阅 Sensor Controller Studio 帮助文档 以了解更多详细信息。

    此致、
    Ryan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="114053" URL"~/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1161959/cc2640r2f-standby-mode---how-to-send-sensor-controller-adc-data-via-ble-every-20-minutes-using-standby-mode/4421908 #4421908"]您可以使用计时器触发器、例如 ADC_TRIGGER_AUX_TIMER0、而不是 ADC_TRIGGER_MANUAL 用于 ADC 采样、或使用 计时器事件触发 器在给定的间隔内处理事件、而不是仅依赖执行代码。  您可以参阅 Sensor Controller Studio 开始页面中的 ADC 数据流器和多通道 ADC、了解 ADC 使用情况的更多示例 以及 Sensor Controller Studio 帮助文档

    是否可以每秒进行1次采样并将该值存储在数组中、然后 通过 BLE 将15分钟的存储值发送到中央设备。 您能举个例子吗? 或相关说明。

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

    传感器控制器具有2KB 的 SRAM、因此应该可以存储一个包含900个 ADC 值的缓冲区、该缓冲区在缓冲区填满后可传输到系统 CPU 以通过 BLE 发送。  或者、SC 可以发送更小的缓冲器、MCU 可以在满足样本大小要求后通过 BLE 传输这些值。  ADC 数据流器是一个值得注意的开始评估的项目。

    此致、
    Ryan