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.

[参考译文] RTOS/LAUNCHXL-CC2650:如何使用 ProjectZero 获得1uA 待机状态

Guru**** 2561910 points
Other Parts Discussed in Thread: CC2650, LAUNCHXL-CC2650

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/570031/rtos-launchxl-cc2650-how-to-get-1ua-standby-state-using-projectzero

器件型号:LAUNCHXL-CC2650
Thread 中讨论的其他器件:CC2650

工具/软件:TI-RTOS

我正在尝试使用 ProjectZero 实现 CC2650 1uA 待机状态。

按下 button0时、我可以停止广播、并在按下 handlebuttonpress 时使用以下代码释放按钮时将其重新打开:

     uint8_t 模式= 0;//Dale
     if (pState->state ==1){//Dale
         GAPRole_SetParameter (GAPROLE_adverted_enabled、sizeof (uint8_t)、&mode);//Adv = Off Dale
     }否则{
         MODE = true;//Dale
         GAPRole_SetParameter (GAPROLE_advertise_enabled,1,&mode);// Dale Adv=on
     };

问题在于、在广播期间、CC2650芯片消耗~1700ua、而在不进行广播时、消耗~1900ua。

我将使用电流表在 XDS_VCC 和 CC2650_VDD 引脚之间测量 CC2650芯片电流。

发生什么事了? 另外、我还需要做什么才能进入待机模式?

谢谢、

戴尔

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

    我弄清楚了"帖子编辑"按钮的位置、因此我更新了我的上述帖子、现在不需要此帖子。

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

    请按照应用手册 SWRA478 -"测量蓝牙低耗能功耗"中所述使用测量程序。 您可以在 BLE Wiki 上找到副本。

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

    谢谢、我即将发布我的50、000计数 DVM 看起来好像其读数有问题。  去年我在使用 Cypress BLE 时成功使用了它、但有一些不同。  尝试使用电阻器方法。

    谢谢!!!

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

    因此、我现在通过测量电路板外部电压输入引脚上10欧姆电阻器(根据 AN092)上的电压来读取电流、并根据 SWRA478使用电路板跳线。 我正在查看 Rigol 示波器上的电压、它有点"大毛"、因此我将光标放在我猜的平均值上、令人惊讶的是、我的50000计数 DVM 显示了这一平均值。 我的 DVM 分辨率为0.1 mV (或转换为电阻器电流时为10ua)。

    当我同时运行引脚待机示例和引脚关断示例时、DVM 在待机和关断状态下会变为0.0000 v。 这是预期的、因为待机功耗应约为1uA、关断功耗约为0.15uA。 这表明、我的设置可以确定 CC2650是否正在进入其中一种模式(但无法确定它是哪种模式)。

    在进行广播时、CC2650消耗190和250 UA (DVM 缓慢移动)。

    如果不进行广播、CC2650将绘制稳定的190 UA。

    CC2650保持活动状态、不会让它自动进入待机状态。

    Pin Standby 示例使用的技术是简单地调用 Task_sleep 5秒、我不确定如何实现。

    当我将 Task_sleep 放置在我关闭广播的位置之后、它仍然不会进入待机状态(我认为是由于 BLE 堆栈的异步运行、它不会立即关闭)。

    有没有关于如何使用 ProjectZero 进入待机状态的想法?

    谢谢
    戴尔

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

    我建议您使用 SWRA478中提到的配置运行 simple_peripheral 示例、以确认您可以测量预期值。 确保控制中央侧的连接间隔。

    对于 Project Zero、请尝试禁用 UART 日志记录接口:

    在应用程序预定义符号中、将 Xxdc_runtime_Log_disable_all 更改为 XDC_runtime_Log_disable_all (删除大 X)

    在 main.c 中、注释掉 UART 初始化:

    //UART_init ();
    //UartLog_init (UART_open (Board_UART、NULL)); 

    祝你一切顺利

    编辑:更正了日志的 XDC_runtime 定义。

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

    我在 ProjectZero 的 main.c 中找不到 UART_init();行。

    我在 main.c 中重新映射了 UartLog_init (UART_open (Board_UART、NULL))

    ProjectZero.c 已将此行重新映射、因此我将其放回以进行当前测试:

    #define XDC_RAuntime_Log_disable_all 1 //添加以禁用此文件中的日志//在中针对当前测试

    在执行上述操作时、Putty 不再显示任何输出。

    遗憾的是、当我运行代码时、当前测试没有太大变化、当前测试设置的非通告电流现在约为180ua。

    我还无法在 LAUNCHXL-CC2650板上运行 simple_peripheral、 但是、由于我当前的测试设置提供了有关在 Launchpad 上实际运行的引脚待机和引脚关断示例的预期结果、我可以放心地说、我仍然无法通过关闭广播来进入 ProjectZero 的待机模式。

    还有其他建议吗?

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

    已删除

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

    虽然 UART 记录接口确实消耗少量电流、但该问题的主要解决方案是在按钮按压事件期间关闭广播。

    我忘记了在按下按钮时用于按钮的上拉电阻器中存在电流(Oops)。

    只需在释放按钮时关闭广播、在按下按钮时打开、按钮释放时、我现在在待机期间获得预期电流。

    很抱歉我跑了一圈!