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.

IWR1843BOOST: IWR1843Boost power saving by halting the dss and bss cores

Part Number: IWR1843BOOST
Other Parts Discussed in Thread: IWR1843

Greetings All,

I am working on an application where power saving is needed when certain conditions are met, this should be implemented by pausing the DSS and BSS cores.

After searching I found the SOC_haltBSS(SOC_Handle handle, int32_t* errCode), SOC_unhaltBSS(SOC_Handle handle, int32_t* errCode) in the "mmwave_sdk_03_06_00_00-LTS\packages\ti\drivers\soc\src\soc.c" file that I think should provide the needed functionality. please confirm if possible.

However, for the DSS core side I only found SOC_unhaltDSS(SOC_Handle handle, int32_t* errCode) in "C:\ti\mmwave_sdk_03_06_00_00-LTS\packages\ti\drivers\soc\platform\soc_xwr18xx_mss.c", and no function to halt the DSS was found.

So is there any way to halt the DSS core in the first place then resume later or any similar functionality?

Best Regards,
Amr Khaled

  • Note: for the DSS unhalt, it is a static local function so it can't be used.

    I need another method to disable and enable the DSS core from the MSS.

    Can I use the following for disbaling and enabling the DSS core without affecting any other periphral in the MSS like uart and currently running threads?

    // disabling the DSS Core
    errCode2 = SOC_deinit(SOC_Handle)socHandle, &errCode1)
    socCfg.dssCfg = SOC_DSSCfg_HALT;
    socHandle = SOC_init(&socCfg, &errCode1);

    // enabling the DSS Core
    errCode2 = SOC_deinit(SOC_Handle)socHandle, &errCode1)
    socCfg.dssCfg = SOC_DSSCfg_UNHALT;
    socHandle = SOC_init(&socCfg, &errCode1);

  • Hi Amr Khaled,

    Halting the BSS and DSS cores might result in undesired behavior by the sensor and it may not be possible to recover from that state without a NRESET.  I recommend switching off the sensor between frames to save power. 

    I will check and get back if there are any additional power saving techniques.

    Regards,

    Abhishek

  • Hi Abhishek,

    Thanks for your input, how can I turn on and off the sensor during operation?

    Best Regards,
    Amr Khaled

  • Hi Amr Khaled,

    If your application uses only one frame of information, you can use a GPIO from the sensor to indicate the frame processing is complete and the external host needs to switch off the sensor. You can wakeup the sensor from the external host when you need the next measurement.

    If the application needs multiple frames for processing then you will have to store the intermediate results in the flash and then assert the GPIO to host to power off the sensor 

    Regards,

    Abhishek

  • Hi Abhishek,

    Is there no way to achieve this turning on and off of the dss/bss from the mss itself without the use of any external devices.

    Best Regards,
    Amr Khaled

  • Hi Amr Khaled,

    Radar toolbox 1.20.00.11 supports the low power demo of 6843. You can check it here https://www.ti.com/tool/download/RADAR-TOOLBOX/1.20.00.11

    You can refer to radar_toolbox_1_20_00_11\source\ti\examples\Fundamentals\xWR6843_Low_Power_Modes\docs\xWR6843_Low_Power_Modes_User_Guide for the features supported and usage

     You can find the demo which implements the low power mode at the flowing link radar_toolbox_1_20_00_11\source\ti\examples\Fundamentals\xWR6843_Low_Power_Modes\src\6843

    The demo implements some of the features like clock gating of DSS and MSS, RF power down

    Regards,

    Abhishek

  • Hello,

    Are these low power modes of the xWR6843 applicable on the IWR1843 device as well?

    Regards,

    Amr Khaled

  • Hi,

    Yes, The techniques are applicable. You will have to port on IWR1843

    Regards,

    Abhishek