Replies: 2 comments
-
This really isn't related to the core. You might have better luck at the RPI forums directly. |
Beta Was this translation helpful? Give feedback.
-
the 48 MHz are required for the USB according to the USB specification. Any MCU (STM32 for example) need 48 MHz to implement a USB standard conform USB communication. If not done from the main clock, there is then a PLL generating the 48 MHz for the USB. For a power saving scenario, like your battery powered app, USBserial should be disabled and use a UART instead. Then use a external USB-Uart converter, if Uart over USB is required. Disable the whole USB part on the chip saves significant power |
Beta Was this translation helpful? Give feedback.
-
I hope this is the right way to address this issue. For a battery driven project I want so save power by reducing the system clock (clk_sys).
This works flawless until 48 MHz but below the USB serial port is getting unreliable. (clk_usb will stay at 48 MHz all the time.)
Check this code with different positions of
set_sys_clock_khz()
:set_sys_clock_khz(48000, false);
at position [1] always worksset_sys_clock_khz(18000, false);
at position [2] always fails: USB serial connection is not possible.set_sys_clock_khz(18000, false);
at position [3] always fails: USB serial connection is not possible.set_sys_clock_khz(18000, false);
at position [4] failsdmesg looks like this:
set_sys_clock_khz(18000, false);
at position [4] works, too (18 MHz and USB serial ok).Questions:
Target: RP2040
Thanks for you help.
Beta Was this translation helpful? Give feedback.
All reactions