The PSoC6 has several sleep modes. Depending on the one that's active, parts of the controller are switched off:
- Normal state
- Low Power mode
- Low Power state
- Ultra Low Power mode
- MCU Active
- CPU Active
- MCU Sleep
- CPU Sleep
Keeping the power low is tricky. It's hard to assess how much time the device spends in different modes by looking at the code.
And you can't use a debugger to check it. Most power modes are not available when in debug mode.
A solution is to measure the SoC's current consumption. The voltage is known and constant. If you log the current use over time, you know the energy profile.
Cypress provides a solution for current measurement on the PSoC6 prototyping kit.
If you remove R65, a 0 Ohm resistor, you can put a DC current meter in its place.
You can then log the measurements and analyse them.
R65 is easy to remove. There are no sensitive components near it. I used a hot air pencil.
In case you want to put it back later, tape it for safekeeping in the inside of the kit's box.
Here is the result after wicking remaining solder from the pads.
I want to have a replacement that makes it easy to put a meter in the circuit. Also to make it easy to bypass if I'm not measuring.
I'm using a male pcb header for that. When not measuring, I can put a jumper on it. When measuring, I can make a little cable with female pcb headers.
I used a tiny drop of hot glue to fix the header on the pcb. I glued it without the jumper in place to avoid that it gets stuck there.
Then I soldered two thin wires from header pins to the pads of R65. A little crimp sleeve isolates the 2 pins.
That's it. The board is now ready for energy profiling.
PSoC 6 series |
---|
Create a Project with its own Board- and Module configurations |
Low Power Management - prepare the board for current measurements |
Power consumption without WiFi or Bluetooth |
Create a FreeRTOS 10.3 Project |
UART receiver with FreeRTOS |
FreeRTOS message queue |
UART receiver with FreeRTOS - Deep Sleep support |
Top Comments