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/CC1310EMK:启动时间(CC1310修改的显示示例与TIDA-0.0484万和TIDA-0.0374万相比)

Guru**** 1127450 points
Other Parts Discussed in Thread: CC1310, TIDA-00484, CC1350
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/581466/rtos-cc1310emk-startup-time-cc1310-modified-display-example-vs-tida-00484-and-tida-00374

部件号:CC1310EMK

工具/软件:TI-RTOS

您好,

我正在使用CC1310将其关闭电源,并通过中断唤醒它。 CCS项目成为LCD示例(使SPI工作)和pinShutdown示例之间的混搭,以了解电源关闭和唤醒的工作方式。 我已经删除了尽可能多的不必要的代码,浏览配置文件,查看我没有任何必要的内容。

当我用功率计测量电流时,我得到75毫秒的~875µA。 我只需要启动一个线程,选中 SysCtrlResetSourceGet,启动计时器。 我已经测量了 在Board_initGeneral之后所需的时间,直到我在线程中启动一个计时器并从信号器等待完成。 它需要~200-300µ 秒,只需通过切换引脚即可测量。

我没有任何好的工具来尝试将当前配置文件与我的代码运行时关联起来,但使用PicoScope进行了简单的测量,看起来代码(初始化线程和计时器)在这段时间结束时。

我是否错过了一些明显的东西?  

附加当前测量的图片。

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Frederik,
    设备启动时会出现这种情况。 有些设备初始化步骤需要等待晶体稳定,因此您在测量中看到的是预期的。
    此致,
    珍妮特
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回复,我想我本可以更清楚一点。

    是的,我知道需要一些时间(阅读其他一些帖子)。但我想的是,在本例中,与TIDA-0.0374万/TIDA-00484有0.0484万有何不同?

    查看该源代码并阅读应用说明,主要区别在于在0.0374万/00484情况0.0484万情况下 使用TPS2.286万,从而完全关闭MCU。 在我的应用程序中,我们使用提到的电源关闭和唤醒中断。

    我们可以看到30毫秒的活动时间,尽管它不会对电池寿命产生太大影响(从75毫秒到30毫秒),因为它大部分处于关闭状态,这是一个重要的部分。 与计时器运行时MCU休眠一秒左右(耗时2µA Ω)相比,图表中甚至看不到它。

    我喜欢TI-RTOS让系统在等待计时器时进入休眠状态(我激活MCU后就可以看到它,我想你有一些DC-DC峰值,供应MCU),我不需要考虑它。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Fredrik,
    我不熟悉您所提到的0.0374万/00484示0.0484万示例,但TPS2.286万也许正发挥着重要作用。
    此致,
    珍妮特
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回复。

    这可能是一种可能性。 我想,如果触发MCU中重置的内部唤醒中断(如果我理解正确)所需的时间比开启FET要长得多。

    您知道TI有谁能回答这一问题吗?  这将使这一主题有可能被标记为已回答,希望其他人也会发现它很有用。

    如果这只是使用开关的问题,并且由于该开关与cc13xx上的100nA或更高电流相比,具有10nA泄漏(快速浏览了数据表),我认为我们可以通过任何一种方式降低待机电流。

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Fredrik,
    我认为这个问题可以在设备论坛上得到回答。 我将请求移动此线程。
    此致,
    珍妮特
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢,这将非常有帮助。

    Fredrik

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

    您好,

    请你重复你的实际问题。

    谢谢

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

    您好,Richard:

    因此,我的问题是,为什么我的代码需要~75毫秒才能执行(当大多数代码是init TI-RTOS时),而TIDA-0.0484万/00374示0.0374万示例则需要~30毫秒才能执行,甚至在RF上发送数据,这是为什么?  

    我知道没有简单的答案,但最好是优化初始化,看看我们能把它推进到什么程度。 使用案例与我们正在比较的应用程序非常相似,因此这种差异非常麻烦。  

    我已尽可能多地清除了代码。 与使用电源开关的应用示例相比,我使用引脚将MCU从关闭状态唤醒。 但我的意思是,我们仍在谈论~35mS的差异。 是否在主运行之前加载了哪些模块上的TI-RTOS隐藏配置?  我已经删除了尽可能多的不必要的代码,浏览配置文件,查看我没有任何必要的内容。

    谢谢  

    Fredrik

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

    您好,

    感谢您的解释。 我确认您在TI-RTOS 2.21 和当前SDK中看到的内容:从加电重置并立即发送数据包后,控制器进入待机状态之前会有一个长期运行的活动。 此问题似乎在 TIDA-0.0484万/00374中0.0374万中被掩盖,因为外部开关先前关闭了控制器。 我们目前正在调查根本原因。

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

    感谢您的解释。 我希望这能帮助更多的人,而不仅仅是我。 祝调查顺利。

    此致

    Fredrik  

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

    结果表明,使用外部LF晶体时,这是预期的行为。 软件等待晶体变得稳定,然后校准振荡器。 这仅在引导时发生一次。

    在您的情况下,这是不幸的。 如果您的应用程序只运行很短的时间,并且您计划始终关闭芯片,则不应使用外部LF晶体,而应从HF时钟衍生LF时钟信号。 这可以在ccfg.c文件中实现:

    //从高频XOSC
    #define set_CCFG_MODE_CONF_SCLK_LF_OPTION派生的LF时钟 0x0
    
    //从默认配置
    #include <startup_files/ccfg.c>加载剩余值 

    这有一个缺点,即HF时钟始终必须运行,这会导致平均待机电流消耗为760µA Ω。 如果您希望应用程序从关机状态唤醒,执行一些短处理并再次关闭,这不是问题。

    如果您使用CC1310/CC1350的1350的硬件版本B,则还可以使用内部LF RCOSC:

    //#define set_CCFG_MODE_CONF_SCLK_LF_OPTION 0x3 // LF RCOSC 

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

    760µA待机电流太大,即使它会导致唤醒时间更短。 我只是希望有一种方法从~75毫秒启动到我前面提到的应用说明中的不到~30毫秒。

    但是,了解启动时间的来源将有助于我们进一步开发和评估产品。

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

    您好,

    我想你误解了我。

    • 75毫秒.. 90毫秒不是启动时间,而是外部LF晶体在CC13x0电源驱动器将其LF时钟源切换到此晶体之前需要稳定的时间。 此过程在后台进行。 几毫秒后,您的应用程序即可运行。
    • CC13x0将始终从HF时钟生成LF时钟信号开始。 如果在ccfg中配置了备用LF时钟源(内部RC振荡器或外部晶体),则电源驱动器将尝试切换到该备用LF时钟源。
    • 只要外部LF晶体不稳定,电源驱动程序就不会让系统进入待机模式。
    • 时钟开关完成后,控制器可以在LF振荡器(内部或外部)运行的情况下进入待机状态。
    • 您是否可以使用内部LF振荡器取决于您的芯片版本A还是B。在版本A中,它不可靠,需要外部LF晶体。
    • 如果您要将应用程序大部分时间置于关闭状态(而不是待机状态!) 大多数情况下,可以不使用任何LF振荡器,而是从HF时钟生成LF时钟信号。 您不会进入待机状态。 关机时始终禁用LF时钟。 另一个原因是,在这种情况下,您通常会有一个单独的时钟设备。
    • 如果您使用的外部电源开关与上述TI设计中所做的一样,那么您不必担心所有这一切,因为无论时钟是否稳定,应用程序完成时,开关都会关闭所有电源开关。

    我希望这能说明问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是一个很好的解释,我没有想到。

    再次感谢
    Fredrik
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Fredrik,
    您是否解决了75毫秒启动时间的问题?

    我遇到了同样的问题,并尝试更改了Richard所写的ccfg.c,但在我的情况下,它仍然是75毫秒。

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

    我得到了同样的75毫秒启动时间的问题,我尝试按照你的建议设置从HF导出的LF,但它不起作用。

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

    Steven3w 说:
    我遇到了同样的75毫秒启动时间问题,我尝试按照您的建议设置从HF导出的LF,但它不起作用。

    您正在使用哪个SDK版本?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉回复太晚了,我上周忘记了回答。 我没有“解决”它。 我接受了Richard的解释,因为我没有时间优化如何使用时钟源(我只是在尚未生产之前的一个探索阶段使用了此功能)。

    正如Richard所说,这不是启动时间,而是等待获得稳定的LF时钟源的时间。 这就是为什么要关闭的传感器示例(即不使用稳定的LF时钟源)可以更快地执行此操作的原因。