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.

TMS570LS3137: Problem with turning off Clock Domains

Part Number: TMS570LS3137
Other Parts Discussed in Thread: TMS5703137

Hello! My name is Leandro

In my current project, I'm working with a TMS570LS3137 microcontroller, and I need to turn off some peripherals to save power (I mean, disable the peripheral clock). I found this aplication report  from TI that informs how to do that: https://www.ti.com/lit/an/spna173/spna173.pdf?ts=1681316353136&ref_url=https%253A%252F%252Fwww.google.com%252F . It's named "Reduction of power consumtion for TMS570LS3137".

The report suggests first using the Peripheral Power-Down Set  of registers to turn off (I mean, disable it's clock) a peripheral.
I managed to do that correctly, and I turned off all of the peripherals that I don't use. I did not notice any reduction of total current consumption, but I did not worry about it, because in the application report, the authors posted their results and they were really low.

So after that, I continued with the next step: turn off clock domains. I managed to turn off the following clock domains:  AVLCK1 (associated with CANx), VLCK2 (associated with some HETs), AVLCK4  and VCLK3(both associated with Ethernet). For this, I used only the CDDIS (Clock Domain Disable Register), setting a bit according to the number of clock domain I wanted to turn off. Of course, I made sure that every peripheral associated with a clock domain in particular was turned off before turning off the clock domain ( by checking in the Peripheral Power-Down Set  of registers).

So, after all of that, the bits in the CDDIS register did respond well (they got set), and, theoretically, the clock domains did turn off. But I dont see any current consumption decrease :( . The authors of the application report reported a good amount of current decrease, and i'm not being able to reach even a 1mA decrease.

Can you please help me realising what did I do wrong?

Edit1: I'm working in supervisor mode in my application, just in case.
Edit2: The way I am measuring the current consuption is with a multimeter in series at the 10V input of my development kit. I'm measuring right now 95mA with a GCLK and HCLK of 20MHz. The rest of the peripheral clocks are at 10MHz.

Thanks a lot in advance!

  • Hi Leandro,

    We started working on your issue and we will provide an update ASAP.

    --

    Thanks & regards,
    Jagadish.

  • Hi Leandro,

    From the app note, there should be some difference after disabling the clock domains. 

    Any difference after powering down all the peripherals and their memories?

    pcrREG->PSPWRDWNSET0 = 0xFFFFFFFFU;
    pcrREG->PSPWRDWNSET1 = 0xFFFFFFFFU;
    pcrREG->PSPWRDWNSET2 = 0xFFFFFFFFU;
    pcrREG->PSPWRDWNSET3 = 0xFFFFFFFFU;

    pcrREG->PCSPWRDWNSET0 = 0xFFFFFFFFU;
    pcrREG->PCSPWRDWNSET1 = 0xFFFFFFFFU;

    then check the difference after disabling VCLK2 or VCLK3 or VCLK?

  • Hi QJWang!
    Sorry for my delayed response and thanks for yours.
    I just managed to try your suggestion. In my code, I have never considered the need of turning off the
    RAM of the peripherals. I mean, I did never put these lines:
    pcrREG->PCSPWRDWNSET0 = 0xFFFFFFFFU;
    pcrREG->PCSPWRDWNSET1 = 0xFFFFFFFFU;
    So I thought that this may be the problem.
    I just tried them, after turning off AVLCK1 , VLCK2 , AVLCK4 and VCLK3, and (after checking with the
    debugger) I was not able to set those bits. They did not respond, and stayed in 0. I was in supervisor
    mode when I tried that, do I need anything else to be able to set those bits?
    And regarding power consuption, I'm still not able to see any current consumption decrease in my
    TMS5703137 development kit. However, we did try in the custom PCB of my partner, that uses a RM48
    microcontroller, and there we saw a current consumption decrease of about 20mA (with PLL1 clock at
    20MHz) with the same code. This makes me beleive that the problem may be in the voltage regulation
    stage of the development kit.
    So, for now I would be interested to know how can I turn the RAM of the peripherals off (and If I really
    need to do that). And if you have any idea of why the kit won't decrease its power consuption, i'd love to
    hear it, but I'm not so concerned with that since it kind of works in my partners pcb.
    Thanks and regards!

  • There are several shunt resistors (small value) on HDK for current measurement: one for core power supply 1.2V, one for PLL power supply, and one for I/O 3.3V power supply, etc. You can measure the voltage drop of those shunt resistors and calculate the current consumption.

    I don't know why you didn't see the current decrease on HDK.

  • Hi QJWang!!

    Thanks for your response and idea, it worked well. I could measure the current consumption in each rail through the shunt resistors and I did see the decrease.

    Thanks and regards!
    Leandro