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:内部直流/直流和 GLDO 启动时间

Guru**** 2393725 points
Other Parts Discussed in Thread: LP-EM-CC2340R5, CC2340R5, ENERGYTRACE

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

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/1448825/cc2340r5-internal-dcdc-and-gldo-startup-time

器件型号:CC2340R5
主题中讨论的其他部件:ENERGYTRACE

工具与软件:

我正在使用 LaunchPad (LP-EM-CC2340R5)检查示例程序 rfPacketTx 的运行。

LaunchPad 的电源电压(VDDS)为1.8V。

SDK 版本是8.10.01.02。

提供 VDDS (1.8V)后、引导加载程序似乎需要8ms~9ms 才能运行。 (我通过查看电源电流来估算此值。)

根据技术参考手册8.1.2、启动时间为260us。 相反、我检查的时间太长。

我的假设是内部稳压器(GLDO)的启动时间会受到影响。

您能告诉我 GLDO 的启动时间吗?

或者是否还有导致启动时间过长的任何其他可能原因?

此致、

Yoshi.

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

    您好!  

    感谢您报告此内容。  

    您能否提供您在此处遵循的方法的更多详细信息(包括屏幕截图)?  

    此外、您能否说明使用了哪个 RTOS 和哪个工具链?  

    最后但同样重要的是、您在更改电源电压电平时是否注意到时序差异?

    此致、

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

    您好!

    我会在下面发表评论。

     > 此外、您能否指定使用的 RTOS 和工具链?  

    我使用了以下工具。

    - SDK: SIMPLELINK-LOWPOWER-F3-SDK (版本 8.10.01.02)

    -示例: examples\rtos\LP_EM_CC2340R5/prop_RF\rfPacketTx

    - Compilar: ARM CGT clang 4.0.0

    - IDE: CCS 12.8.

     > 您能否提供您在此处遵循的方法的更多详细信息(包括屏幕截图)?  

    我使用的是1.8V 电源。 我还会观察该电源提供的电流。

    下面这是屏幕截图。

     屏幕截图中的波形是 LaunchPad 开启时到无线传输完成时的电源电流波形。

    此外、我在示例程序中添加了 GPIO 操作、这样我就可以识别主函数何时启动以及无线回调函数何时完成。

    第1个时间段 是浪涌电流与下一个大电流开始流动的时间之间的时间。 第一个周期为8.6ms。

    第2个周期是第1个周期结束到 main 函数开始之间的时间。 第二个周期为3.7ms。

    这些时间的原因是什么? 如何减少这些时间?

    (我希望以低功耗尽快启动。)

     >  最后但同样重要的是,您在改变电源电压电平时是否注意到时序差异?

    是的、只是有点小。

    当电源电压为1.8V 时、第一个周期的时间为8.6ms、但当变为3.3V 时、时间变为7.8ms。

    第二个时期没有变化。

    此致、

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

    您好、Yoshi、

    为了确认何时退出 SHUTDOWN 模式、您是否释放锁存器(通常放置在 mainThread 的前几行中)?  

    PowerLPF3_ResetReason resetReason = PowerLPF3_getResetReason();
    
        /* If we are waking up from shutdown, we do something extra. */
        if (resetReason == PowerLPF3_RESET_SHUTDOWN_IO)
        {
            /* Application code must always disable the IO latches when coming out of shutdown */
            PowerLPF3_releaseLatches();
    
        }

    我也在查看您目前的其他评论。  

    谢谢!
    Alex F

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

    您好、Alex、

    我已将上述代码片段放置在 mainThread 的开头。

    void *mainThread(void *arg0)
    {
        PowerLPF3_ResetReason resetReason = PowerLPF3_getResetReason();
    
        /* If we are waking up from shutdown, we do something extra. */
        if (resetReason == PowerLPF3_RESET_SHUTDOWN_IO)
        {
            /* Application code must always disable the IO latches when coming out of shutdown */
            PowerLPF3_releaseLatches();
        }

    但结果不变。

    结果与另一天显示的屏幕截图相同。

    此致、

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

    您好、Yoshi、

    我进入实验室、对我们的 CC2340R5 Launchpad 进行一些测试、详细信息如下:

    首先,我想说,从阅读你的上述问题,似乎我们可能关心的 "关断到活动 "计时、而不仅仅是启动时间。 关断到活动状态的时间是器件从关断状态引导进入用户应用所需的时间;在任一情况下、您上面测量的9ms 时序都比预期时间长。  

    -数据表将停机的基本情况时间设置为激活350-450 usec。

    -在我之前使用直流/直流转换器(电源板3.3V )进行的测试中,我测量到从关断到活动计时为~500 usec。  

    -在我今天在实验室进行的测试中、我为电路板提供1.8V 的电压、测量值为508 μ s - 600 μ s、从关断时间到活动时间。  

    (*在使用基于 FreeRTOS 的示例时、将优化级别设置为2、3和 FAST 会得到更好的关闭到活动时序、基于 NORTOS 的项目不存在此问题)。  

    我的代码使用 a 按钮 以使唤醒序列和 A 生效 WAKEUP 引脚 进入用户应用程序后、便会告诉我们器件已"唤醒"。 我将包含我的代码的压缩项目、您可以使用该项目进行测试。  

    e2e.ti.com/.../Shutdown_5F00_to_5F00_active_5F00_SDK_5F00_example.zip

    谢谢!
    Alex F

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

    您好、Alex、

     > 首先,我想说,从阅读你的上述问题/问题,似乎我们可能会关注  "关断到活动 "计时、而不仅仅是启动时间。

    我不仅仅关心中的问题 "从关断切换到活动模式" 也存在于中 "引导" .

    因此、我想检查上一个快照中显示的第1个周期和第2个周期的行为是否正确。
    同时我想看看第一周期、第二周期的时间和电流消耗是否可以进一步降低。

    我已使用示波器重新捕获快照、如下所示。
    使用的示例没有变化。 (示例/RTOS/LP_EM_CC2340R5/prop_RF/rfPacketTx)

    您可以看到、从打开电源到主程序启动总共需要13ms。 这是一段合理的时间吗?

     >  在任何一种情况下,以上测量的9ms 时间都比预期时间长得多。  

    请告诉我们预期的启动时间。

     > 我的代码使用  按钮  以使唤醒序列和 A 生效  WAKEUP 引脚  进入用户应用程序后、便会告诉我们器件已"唤醒"。 我将包含我的代码的压缩项目、您可以使用该项目进行测试。  

    我下载并尝试了它,但它不能与你的快照完全一样工作。

    快照中"Wakeup PIN"和"Button to start WAKEUP"的 DIO 编号是多少?

    此致、

     

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

    您好、Yoshi、

    "引导"时序是500us 关闭计时和活动计时之间的时间、我今天会试着看一下我是否能在这里获得一些数字。  

    DIO 编号为 DIO10 (用于开始唤醒的按钮)和 DIO21 (在用户应用程序代码的前几行中指示高电平)。

    谢谢!
    Alex F

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

    您好、Alex、

     >  "启动"时间是500微秒关闭到活动时间的分开,我将尝试看看我今天是否能在这里得到一些数字。  

    感谢您的合作。
    我希望您的测试结果将显示我的快照中13毫秒的分解情况。

    此致、

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

    您好、Yoshi、

    当我尝试在功率分析仪上花一些时间更深入地了解 GLDO +关断时序时、您是否尝试了我之前发送的压缩示例?  Shutdown to active_sdk_example.zip?  

    (或者将项目 优化级别更改为2、3和 FAST 应该会产生影响、请参阅下表)

    谢谢!
    Alex F

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

    您好、Alex、

    我尝试了 Shutdown_to_active_sdk_example.zip

    但是、也存在一些问题。

    第一个问题是发生编译错误。

    快照如下所示。

    工具版本的差异是否会导致该问题?

    我的 SDK 版本是我之前编写的8.10.01.02。

    当然、我的 CCS 版本是   12.81.00005。

    无法编译它、因此我在 zip 文件中下载了.out 对象。

    但是、我下载时出现了一些错误消息、如下所示。

    这是第二个问题。

    Cortex_M0P: Flash loader: CC23xx_CC27xx_FLASH_LIBRARY_VERSION 3.20.1.32
    Cortex_M0P: Updating CRC32 field ccfg.bootCfg.crc32 @ address 0x4E02000C, based on data in the range [0x4E020000, 0x4E02000B]. Value changes from 0x00000000 to 0xFFFFFFFF
    Cortex_M0P: Updating CRC32 field ccfg.crc32 @ address 0x4E02074C, based on data in the range [0x4E020010, 0x4E02074B]. Value changes from 0x00000000 to 0x4C1584B6
    Cortex_M0P: Updating CRC32 field ccfg.debugCfg.crc32 @ address 0x4E0207FC, based on data in the range [0x4E0207D0, 0x4E0207FB]. Value changes from 0x00000000 to 0x527294A2
    Cortex_M0P: GEL Output: Memory Map Initialization Complete.
    Cortex_M0P: JTAG Communication Error: (Error -615 @ 0x0) The target failed to see a correctly formatted SWD header. The  connection to the target may be unreliable. Try lowering the  TCLK setting before trying again. (Emulation package 20.0.0.3178) 
    Cortex_M0P: Failed to remove the debug state from the target before disconnecting.  There may still be breakpoint op-codes embedded in program memory.  It is recommended that you reset the emulator before you connect and reload your program before you continue debugging

    我在下载后检查了波形。

    不过、DIO21和 DIO10的波形不符合预期。  

    这是第三个问题。

    引导时的快照如下所示。

    DIO21未保持高电平。

    按下 Button1时的快照如下所示。

    DIO21未切换。

    似乎处于待机或关机状态。

    ~电源电流为5 μ A 6uA、

    此致、

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

    您好!  

    如果可能、我使用的 TI Clang 编译器版本不正确(使用4.0.0、每个 SDK 的发行说明应为3.2.LTS)。

    此致、  

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

    尊敬的 Cl é ment:

    谢谢、我选中了它、但我使用版本3.2.2。


    其他产品如下。


    项目属性中的编译器版本设置也是3.2.LTS。  


    此致、

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

    您好、Yoshi、

    在我之前共享的示例中、它是在7.20 SDK 中创建的、因此我继续操作并将其移植到8.10 F3 SDK:

    通过快速优化级别、我读取了关断->活动时序~840us (*我可能需要进一步了解500us 变为800us 的原因)

    接下来让我们看看 EnergyTrace、请注意我已按3次从关断状态唤醒。  

    已放大

    放大图更大

    现在测量上升沿时、我们得到3.254秒、下降沿为3.255秒(~1ms)、因此这符合我们的关断至活动时间。

    接下来、我们尝试找到启动时间、让我们进一步放大开始时间:

    我认为这是"引导时序"、因为减去这两个数字后得到的值为~381usec、更接近数据表中的~280usec。  

    我的新示例比最后一个示例的代码少一点、并对 syscfg 进行了一些更改、我们将监测的 GPIO 是 DIO9 (button2、start waking)和 DIO21 (*"i have waken up"信号);附件是代码。  

    e2e.ti.com/.../8_5F00_10_5F00_gpioshutdown_5F00_LP_5F00_EM_5F00_CC2340R5_5F00_freertos_5F00_ticlang.zip

    谢谢!
    Alex F

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

    Alex、您好!

    我导入了 8_10_gpioshutdown_LP_EM_CC2340R5_freertos_ticlang.zip

    没有编译错误。  

    但下载时仍有以下错误消息。

    Cortex_M0P: JTAG Communication Error: (Error -615 @ 0x0) The target failed to see a correctly formatted SWD header. The  connection to the target may be unreliable. Try lowering the  TCLK setting before trying again. (Emulation package 20.0.0.3178) 
    Cortex_M0P: Failed to remove the debug state from the target before disconnecting.  There may still be breakpoint op-codes embedded in program memory.  It is recommended that you reset the emulator before you connect and reload your program before you continue debugging

    我忽略了这些错误并让它运行。

    但是、即使 DIO9发生更改、DIO21也不会切换。

    这是快照。

    我认为 SetIoPin 函数不起作用、因此我按如下方式更改了代码。

    #include "ti_drivers_config.h" //add
    
    /*
     *  ======== main ========
     */
    int main(void)
    {
        //remove
    //    SetIoPin(21, 1); //set the output pin to high as soon as possible as the program starts to indicate device has woke up from shutdown
    
        //add --
        GPIO_setConfig(CONFIG_GPIO_OUT, GPIO_CFG_OUTPUT | GPIO_CFG_OUT_LOW); //set out pin low right before shutdown, to indicate we are now in shutdown.
        GPIO_write(CONFIG_GPIO_OUT, 1);
        //--
    
        PowerLPF3_releaseLatches(); //release latches as soon as possible, function to reduce timing
    

    然后、DIO21进行了切换以响应 DIO9中的变化。

    从该波形可以看到关断->活动时间为910us、与结果几乎相同。

    (SetIoPin 功能不工作的原因未知。)

    我还使用示波器同时测量电源电流、因此我想我可以读取您在同一快照中显示的"启动时间"。

    根据此快照、您的意思是"boot time"(启动时间)为200us。  

    这也几乎与您的结果相同。

    我认为到目前为止、结果基本不错。

    我还检查了"冷启动"波形、

    这是快照。

    关于该波形、我希望您仔细查看该波形的几点。

    我想 DIO9启动前的1.3ms + 570us 部分与关断->活动类似。  

    (__LW_AT__)可能会因 VDDR 的放电状态而异。Δ t

    这是真实的猜测吗?

    我最关心的是上电后8.9ms。

    这是 POR 时间吗?

    数据表中没有 POR 时间规格、因此我要进行确认。

    您能否告知 POR 时间的最小值和最大值?

    此致、

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

    您好、Yoshi、

    [报价 userid="628481" url="~/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/1448825/cc2340r5-internal-dcdc-and-gldo-startup-time/5578757 #558757"]

    我想 DIO9启动前的1.3ms + 570us 部分与关断->活动类似。  

    (__LW_AT__)可能会因 VDDR 的放电状态而异。Δ t

    [报价]

    -我知道,一些时间取决于是否像电容器/VDDR 充电/放电(在数据表中提到)这样的东西,所以这可能会延长一个时间;我可能需要做一个"新的"示例,强制 系统重置进一步调查,但我将从下周开始关闭,我可能无法获得该数据给你(*我们将尝试调用 NVIC_SystemReset();而不是我想)。  

    [报价 userid="628481" url="~/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/1448825/cc2340r5-internal-dcdc-and-gldo-startup-time/5578757 #558757"]

    这是 POR 时间吗?

    数据表中没有 POR 时间规格、因此我要进行确认。

    您能否告知 POR 时间的最小值和最大值?

    [报价]

    -我不知道我们是否有这些具体的值,所以我会在内部接触看看.

    在我看来、开机后8.9毫秒仍然很长、但我会验证是否会预期这些值。  

    谢谢!
    Alex F

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

    Alex、您好!  

    我认为最好的方法是在您的 Labo 中获得"冷启动"波形、并检查是否全部符合预期。

    此致、

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

    您好、Yoshi、

    很抱歉耽误您的时间、我已经联系我们的硬件工程师、帮助我们加速解决该主题!

    谢谢!
    Alex F