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.

CC2540 core clock

Other Parts Discussed in Thread: TPS62730, CC2541, CC2540

Hi,

I was wondering if it's possible to reduce the clock speed of the CPU core while keep using the BLE stack.

In the stack, it is initialized by default to 32MHz with the function HAL_BOARD_INIT(). Can I reduce this speed to 1MHz without affecting the Bluetooth functionality?

The point is to reach a minimal power consumption and in the datasheet, the power is characterize at a CPU core running at 1MHz, so I was wondering how to achieve this.

Best regards,

Jerome

  • Hello Jerome,

    From my perspective, this is a rather significant change that would in fact impact the Bluetooth functionality.

    A slight frequency change is probably do-able, but attempting to run at 1MHz is likely problematic.

    The BT stack is somewhat sensitive to things like this (clocking scheme, etc) --- and the datasheet might simply be referring to absolute minimal CPU core power (without radio communications)?

    We can try to get some refinement on this, but wanted to shoot you a quick response in the meantime.

    (FYI:  the CC254x is actually a pretty low power device even running at the higher speed.  Any chance it could still fall within your spec?)

    Thanks,
    Chris

     

  • Hi Chris,

    Thanks for the quick answer. That's what I thought, but the datasheet is really confusing. Here's the actual text:

    CURRENT CONSUMPTION WITH TPS62730

    Measured on Texas Instruments CC2541 TPA62730 EM reference design with T A = 25°C, VDD = 3 V and f c = 2440 MHz, 1 Mbsp, GFSK, 250-kHz deviation, Bluetooth™ low energy Mode, 1% BER(1)

    TX mode, 0 dBm output power, no peripherals active, low MCU activity, MCU at 1 MHz                         14.3 mA

    **This comes from the datasheet of the CC2541, but the same line can be found in the CC2540 datasheet, with a consumption of 21 mA.

    So I understand that this consumption can not be achieve in real life?

    Regards,

    Jerome

  • Hi Jerome,

    No, the stack needs to run at 32MHz for correct timing. Also, there may not be enough processing power to keep the connection alive if it were dropped to 1Mhz.

    Best regards,
    Aslak 

  • Hi,

    Didn't see the newer replies. But essentially no, unfortunately the 1MHz clock speed is incompatible with the stack operation. On the CC2541 you could do proprietary RF at 1MHz, but we don't have a facility to change the expected clock rate for the BLE stack.

    Aslak

  • Mr. Baron,

    Firstly, I'd like to point out what you already know. The CC2540 and CC2541 have different radios.

    Second. I believe the stack is written such that during TX or RX the MCU of the CC254x is doing very little activity, this helps ensuring that the customer sees a current consumption close to what is stated in the datasheet. However, the final current consumption comes down to a few things like type of application, no of peripherals on the board, setting of the different GPIOs to name a few.

  • Oh, I forgot to mention:

    If you enable Halt during RF and ClkDivideOnHalt, you actually get 1Mhz clock rate during the RF events, and no MCU activity. Do this in the Init() of your application.

    HCI_EXT_HaltDuringRfCmd(HCI_EXT_HALT_DURING_RF_ENABLE);

    HCI_EXT_ClkDivOnHaltCmd( HCI_EXT_ENABLE_CLK_DIVIDE_ON_HALT );

    This will not affect the clock rate when not in physical RF events.

    Best regards,
    Aslak 

  • Thanks, this answer my question. The 1MHz speed(and datasheet consumption) can be achieve but only during physical RF event when using the two function. Good to know!