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/CC2640R2F: Standby Mode access and control in Host test using UART

Part Number: CC2640R2F
Other Parts Discussed in Thread: BLE-STACK, CC2541, , CC2640

Tool/software: TI-RTOS

Hi Team,

                In other thereads it has been mentioned by experts that it is not possible to enter standby mode when operating in HOST test mode with UART as interface. However, please advice if a GPIO control can be used to make the device enter in the standby mode, or if there is any other mode to acheive this functionality.

The HCI interface over UART is essential however the prodcut is based on battery hence need this control.

  • Hi Abhed,

    On a theoretical level, there would be two ways to enable power saving for the CC2640R2 network processor.

    • Have a dedicated GPIO fin to wake the system up and then have a certain condition (i.e. time) to allow the device to go into sleep. Preferable this is where the there should be a handshake to agree no additional data transfers for now. This could be generally seen as MRDY / SRDY.
    • Re-configure the UART pins to interrupt based GPIOs, thus waking up when UART dummy command is issued. In this case, the BLE-Stack would be given certain start-up time and the UART dummy packet considered lost.

    The challenge here is that both of the above would be "custom" implementation and thus require full control and interoperability on both sides. Once upon a time (CC2541) we evaluated the above methods although in the end it's up to the customer to fully customize the hand-shake protocol and weight the pros and cons.

    I found some interesting concepts here: http://processors.wiki.ti.com/index.php/NPI 

  • So with POWER_SAVING macro we can use MRDY and SRDY to acheive first point. For secodn there will be a major change to host test as it will trigger more data handling implementation. Please confirm.

  • Hi,

    The readme for host test outlines the following, 

    This application uses the UART peripheral without POWER_SAVING by default to communicate with the host processor. The project also supports UART and SPI interfaces with power management enabled.

    If POWER_SAVING is not defined and UART is being used, the MRDY and SRDY pins are defined by default as in the table below. MRDY and SRDY are configurable GPIO pins. They can be changed and set by the application. They are set in np_config.h. Note that MRDY and SRDY are required to use SPI to allow for full duplex communication, regardless of whether power management is enabled.

    The following table includes the default pins for serial communication in this project:

    PINCC2640R2F Pins
    MRDY IOID_13
    SRDY IOID_14
    UART_RX IOID_2
    UART_TX IOID_3
    SPI_MISO IOID_8
    SPI_MOSI IOID_9
    SPI_CLK IOID_10
    SPI_FLASH_CS IOID_20

    The UART based power saving need to be implemented by the customer. It's not necessarily enabled with POWER_SAVING as noted above.

  • Hi Joakim,

                    the snippet which you pasted mentions that proaject support POWER_SAVING with UART and SPI enabled. So does that mean that POWER saing on UART with MRDY/SRDY is already supported and the host can put the NP(CC2640) in standby mode. Please confirm. 

  • Hi Abhed,

    No, I do not believe it's supported by default. This has to be tested and verified by the customer, in worst case implemented as well.