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.

[参考译文] CCS/CC1350STK:CC1350STK待机模式下的电流消耗

Guru**** 2393725 points
Other Parts Discussed in Thread: OPT3001, CC1350STK, HDC1000

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/659159/ccs-cc1350stk-cc1350stk-current-consumption-in-standby-mode

部件号:CC1350STK
主题中讨论的其他部件:SimpliciTI,OPT3001, HDC1000

工具/软件:Code Composer Studio

这个问题没有得到真正的回答(还有,rfWsnDmNode似乎不存在):

唯一似乎有关机选项的传感器是mpu9250。 关闭该开关并执行RF_Yield (),在睡眠期间,传感器标签上仍使用5mV。

我在rfWsnNodeExtFlashOadClient中发现了一些extflash代码,但这似乎并没有降低功耗。 我可以在pinStandby示例下面关闭电源,但不能太多。

是否有将感音标签置于睡眠状态的示例?

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

    您好,

    引脚不能浮动。 对于默认情况下应处于地面水平的未使用引脚,最好启用下拉,对于默认情况下应处于VDD位置的引脚,最好启用上拉。

    Siri还注意到默认情况下处于活动状态且必须通过SPI命令关闭的外部闪存。 据我所知,这个问题只是最近才通过在launchpad板文件中引入一个位banging函数Board_shutDownExternalFlash()来解决的:

    /*
    ========= CC1350_LAUNCHXL_WakeUpExtFlash =========
    */
    void CC1350_LAUNCHXL_WakeUpExtFlash (void){
    
    Pin_Config extFlashPinTable[]={
    CC1350_LAUNCHXL_SPI_FLASH_CS | PIN_GPIO OUTPUT_EN | PIN_GPIO _HIGH | PIN_PushPull | PIN_INPUT_DIS | PIN_DRVSTR_MED,
    PIN_TERMINATE
    };
    PIN_State extFlashPinState;
    PIN_HANDLE extFlashPinHandle = PIN_OPEN (&extFlashPinState,extFlashPinTable);
    
    /*
    *要唤醒,我们需要在上切换芯片选择
    *至少20 ns,10 s等我们至少35。
    */
    
    /*切换芯片选择~20ns以唤醒扩展闪存*/
    PIN_setOutputValue (extFlashPinHandle,CC1350_LAUNCHXL_SPI_FLASH_CS,0);
    /*每个环路3个周期:1个环路@ 48 MHz ~= 62 ns */
    CPUdelay(1);
    PIN_setOutputValue (extFlashPinHandle,CC1350_LAUNCHXL_SPI_FLASH_CS,1);
    /*每个环路3个周期:560个环路@ 48 MHz ~= 35 us */
    CPUdelay(560);
    
    PIN_CLOSE (extFlashPinHandle);
    }/*
    
    
    ========= CC1350_LAUNCHXL_sendExtFlashByte =========
    */
    void CC1350_LAUNCHXL_sendExtFlashByte (PIN_handle pinHandle,uint8_t字节)
    {
    uINT8_t i;
    
    PIN_setOutputValue (pinHandle,CC1350_LAUNCHXL_SPI_FLASH_CS,0);
    
    对于(i = 0;i < 8;I++){
    PIN_setOutputValue (pinHandle,CC1350_LAUNCHXL_SPI0_CLK,0);
    PIN_setOutputValue (pinHandle,CC1350_LAUNCCHXL_SPI0_MOSI,(字节>>(7 - I))和0x01);
    PIN_setOutputValue (pinHandle,CC1350_LAUNCHXL_SPI0_CLK,1);
    
    /*
    *浪费几个周期,使CLK保持高电压
    *句点的最小45 %。
    *每个环路3个周期:8个环路@ 48 MHz = 0.5 Us。
    */
    CPUdelay(8);
    }
    
    PIN_setOutputValue (pinHandle,CC1350_LAUNCHXL_SPI0_CLK,0);
    PIN_setOutputValue (pinHandle,CC1350_LAUNCHXL_SPI_FLASH_CS,1);
    
    /*
    *保持CS高电压至少40 Us
    *每个环路3个周期:700个环路@ 48 MHz ~= 44 us
    */
    CPUdelay(700);
    }/*
    
    
    ==== CC1350_LAUNCHXL_SHutDownExtFlash =========
    */
    void CC1350_LAUNCXL_shutDownExtFlash (void){
    
    /*为确保我们将闪光灯置于睡眠状态而不是唤醒它,我们必须首先拨打叫醒电话*/
    CC1350_LAUNCHXL_WakeUpExtFlash();
    
    
    Pin_Config extFlashPinTable[]={
    CC1350_LAUNCHXL_SPI_FLASH_CS | PIN_GPIO OUTPUT_EN | PIN_GPIO _HIGH | PIN_PushPull | PIN_INPUT_DIS | PIN_DRVSTR_MED,
    CC1350_LAUNCHXL_SPI0_CLK | PIN_GPIO输出_EN | PIN_GPIO低| PIN_PushPull | PIN_INPUT_DIS | PIN_DRVSTR_MED,
    CC1350_LAUNCHXL_SPI0_MOSI | PIN_GPIO输出_EN | PIN_GPIO低| PIN_PushPull | PIN_INPUT_DIS | PIN_DRVSTR_MED,
    CC1350_LAUNCHXL_SPI0_miso | PIN_INPUT_EN | PIN_Pulldown,
    PIN_TERMINATE
    };
    PIN_State extFlashPinState;
    PIN_HANDLE extFlashPinHandle = PIN_OPEN (&extFlashPinState,extFlashPinTable);
    
    UINT8_t extFlashShutdown = 0xB9;
    
    CC1350_LAUNCHXL_sendExtFlashByte (extFlashPinHandle,extFlashShutdown);
    
    Pin_Close(extFlashPinHandle);
    } 

    这些功能不会将其纳入CC1350STK板文件中。 但请放心移植它们。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我移植了闪存关闭代码,它在休眠时仍会消耗大约5mA的电流。

    >>> PIN不能浮动。 对于默认情况下应处于地面水平的未使用引脚,最好启用下拉,对于默认情况下应处于VDD位置的引脚,最好启用上拉。
    是否有这样的例子...或者更具体地说是传感器标签,因为我不确定哪个针脚会转至什么,或者它们的自然状态是什么?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我有同样的问题。 在某些示例中,IMU (MPU9250)在默认情况下已连接并通电。 它由连接到GPIO引脚的单独电源供电,因此很容易禁用。 这样,电流消耗降低了~2 mA。

    我通过更改 CC1350STG.c中的主板初始化表以包括以下行来禁用它:

    Const PIN_Config BoardGpioInitTable[]={
    CC1350STK_MPU_POWER | PIN_GPIO_OUTPL_EN | PIN_GPIO_LOW | PIN_PushPull | PIN_DRVSTR_MAX
    } 

     

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

    我一直在使用来自C:\ti\simplelink_cc13x0_sdk_1_60_00_21\sources\mw\sensors的传感器代码

    在MPU9250代码中,有一个SensorMpu9250_poweroff(),我已经在呼叫它了。 向下钻取,它调用PIN_setOutputValue (hMpPin, Board_MPU_Power, Board_MPU_Power_Off);

    其中,Board_MPU_POWER映射到Board_MPU_POWER,并最终映射到Board_MPU_POWER,Board_MPU_POWER_OFF为零,引脚定义为:
    Board_MPU_POWER | PIN_GPIO输出_EN | PIN_GPIO _HIGH | PIN_PushPull | PIN_DRVSTR_MAX,

    我假设您已完全关闭MPU9250。 我仍在使用它,但每隔这么多秒只使用一次(在此期间将其关闭)。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    抱歉,我弄紧了剪切/粘贴:
    >>>其中,Board_MPU_POWER映射到CC1350STK_MPU_POWER,最终映射到IOD_12 (根据原理图,这是MPU9250的电源引脚)

    在这方面,我没有发现其他传感器的功率配置类似。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我认为麦克风有单独的电源,但否则,您必须手动关闭或关闭组件。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉,我错过了此回复。 通过手动关闭,您是指通过他们的I2C指令,正确吗? 我正在为bmp280,Tmp007,Hdc1000和Opt3001执行此操作。 基本上调用其init函数(从C:\ti\simplelink_cc13x0_sdk_1_60_00_21\source\ti\mw\sensors中的代码)调用其enable(false)函数,该函数似乎发送i2c命令来关闭这些函数。

    我正在通过SensorMpu9250_poweroff (也来自上面的代码)禁用MPU电源。

    我还添加了launchpad闪存禁用代码(谢谢,Richard W.)

    麦克风电源似乎在DIO13上,但在BoardGpioInitTable中设置为PIN_GPIO LOW,所以我认为默认情况下关闭。 BoardGpioInitTable的其余部分看起来是合理的。


    是否有人可以验证传感器标签是否能够在没有脱焊芯片的情况下进入低功耗睡眠状态(即微安,而不是毫安)?