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.

Enabling 24MHz crystal clock source

Other Parts Discussed in Thread: CC2640, SYSBIOS

Hi Guys,

I am using cc2640 and TI-RTOS is running on that.
In my case the circuit is using 32KHz clock source and I am not getting any clock from 24 MHz crystal.
I have build my application on simple_peripheral.That means my board usually works in peripheral mode i.e it will advertise packets and after connection it will read/write some characterstics.

Now I have following questions -

1.How I can enable 24 MHz crystal source ?

2.What are the power modes in which my board works and how I can put the board in particular power mode.
I have gone through the "Power management guide" .There all power modes are explained in detail and what configurations are needed to put the board in that particular power mode.
But where I have to do all these configurations ? What are the files ? Do these configurations are part of stack.

3.What is the relation between crystal source and power modes.In "Power management guide" at Pg-6 there is a table listing which crystal source should work in which mode.Right now what happening is my board is taking clock from 32 KHz only, even while making connections (which is an active state).So what are exactly are the effect on the performance if I am not at all using 24 MHz clock and using this 32khz clock.

4.Do power modes also related with GAP layer.As in the following discussion the last comment  by Eirik states that in broadcaster and peripheral board will use 32KHz and in central mode it will use 24MHz .
e2e.ti.com/.../472450

Regards,
Abhi


  • 1.How I can enable 24 MHz crystal source ?

    --> Our radio only runs on 24MHz crystal, and the software takes care of that transition. You don't need to do anything, if you have connection/advertising, that means your 24MHz is running

    2.What are the power modes in which my board works and how I can put the board in particular power mode.
    I have gone through the "Power management guide" .There all power modes are explained in detail and what configurations are needed to put the board in that particular power mode.
    But where I have to do all these configurations ? What are the files ? Do these configurations are part of stack.

    --> Default setting of simpleBLEPeripheral, power_saving is enabled from the preprocessor symbols, which means whenever device is idle, it enters standby mode. You can take a look at our software developer's guide section 3.7

    3.What is the relation between crystal source and power modes.In "Power management guide" at Pg-6 there is a table listing which crystal source should work in which mode.Right now what happening is my board is taking clock from 32 KHz only, even while making connections (which is an active state).So what are exactly are the effect on the performance if I am not at all using 24 MHz clock and using this 32khz clock.

    --> TI-RTOS makes the transition for you so that's why you don't see it. But as stated from previous answer, radio won't run on 32kHz crystal. It can only run from 24MHz xtsal.

    4.Do power modes also related with GAP layer.As in the following discussion the last comment  by Eirik states that in broadcaster and peripheral board will use 32KHz and in central mode it will use 24MHz .
    e2e.ti.com/.../472450

    --> what he said was internal 32kHz crystal only supports peripheral and broadcaster, external 32kHz crystal is needed for Central

  • Hi Christin,

    Thanks for all your answers.

    After referring your answers and document, I still have certain queries-

    1.) What is the main reason for using 32KHz crystal ? Because majority of things are happening with the help of 24MHz.

    2.) In 2nd answer you said that "whenever device is idle, it enters standby mode". But there are four power modes
                                            a.) Active                                       c.)  standby                  
                                            b.) Idle                                           d.) Shutdown
    So what I understand is whenever device is advertising/connecting it is in active state and else it is in standby mode.When board goes into "shutdown" and "Idle" mode.

    3.)In 3rd answer you said "TI-RTOS makes the transition for you so that's why you don't see it" .Then how I can confirm this in my custom board.As probing the signal is not allowed ?

    Regards,
    Abhi

  • 1. 32kHz crystal is needed for stay in standby, power_saving, and used a source for sleep clock with gives better accuracy than RCOSCLF. ex: for remote user case, device stays in sleep most of the time, than you want to be able to stay in low power mode whenever there is no activity.

    2. You can configure what your idle function should be by modifying your appBLE.cfg
    /* Idle CPU when threads blocked waiting for an interrupt */
    Power.idle = true;
    Power.policyFunc = Power.standbyPolicy;

    And then with the combination of Power_SetConstraint, TI-RTOS will enter whatever power mode you defined
    ex:
    /* Set constraints for Standby, powerdown and idle mode */
    Power_setConstraint(Power_SB_DISALLOW);

    You can take a look at the following file to see how it gets handled.
    C:\ti\tirtos_simplelink_2_13_00_06\products\bios_6_42_00_08\packages\ti\sysbios\family\arm\cc26xx\Power_standbyPolicy.c

    For shutdown mode, you have to directly call the API to enter it, and you can only wake it up from pinInterrupt.

    3. The comments in the following thread will help you for checking out your xtal
    e2e.ti.com/.../492897
  • Thanks Christin for your support.

    Regards,
    Abhi