cancel
Showing results for 
Search instead for 
Did you mean: 

STM32CubeMX 4.15.1 - cannot select HSI as PLL source when USB is enabled (STM32F3Discovery)

Posted on June 12, 2016 at 14:05

Hi,

https://my.st.com//public/STe2ecommunities/mcu/Lists/STM32Java/STM32CubeMX%204.12.0%20%20-%20does%20NOT%20preserve%20TargetIROM%20settings

STM32F3Discovery (STM32F303) board.

USB enabled (FS checked).

When I want to select HSI as the PLL source I get an error:

''PLL Mux should have HSE as input''

Without USB enabled it works fine.

null
1 ACCEPTED SOLUTION

Accepted Solutions
Posted on June 12, 2016 at 14:16

Just found in the STM32F303xC datasheet:

''The dedicated 48 MHz clock is generated from the internal main PLL (the clock source must use a HSE crystal oscillator).''

So the topic is closed.

View solution in original post

4 REPLIES 4
Posted on June 12, 2016 at 14:16

Just found in the STM32F303xC datasheet:

''The dedicated 48 MHz clock is generated from the internal main PLL (the clock source must use a HSE crystal oscillator).''

So the topic is closed.

Ulian Shahnovich
Associate
Posted on March 25, 2018 at 01:05

The same issue with Nucleo401 board, HSE is't installed on the board. Selecting HSI as an input for the main pll mux gives an error. 

RebelEngineer
Associate II

That's a rather poor design choice then.. Look, I've been researching and experimenting with USB on a H503 for a few weeks now and getting quite annoyed really.

I'm currently using the NucleoF401 to experiment with the I2S microphone extension boards which have a USB connector on them, wired to the USB leads of the MCU. But when I power the board with the USB cable connected to the USB connector on the extension board, the ST-LINK is not powered, so it's not generating the clock signal for the HSE. Hence, the F401 MCU can not be set to HSE as clock source when the board is powered externally because without HSE signal, it won't run. But now you're telling me it needs HSE in order to use USB? How was that combination supposed to work then? I tried setting the clock source to HSI anyway and ignored the error and generated code regardless. It seems to work with a CDC USB Device class (at least my computer receives what the MCU is sending, I didn't test if the MCU can receive anything as well), but what I want to experiment with is USB Audio class, which I'm guessing now is going to be too unreliable.

 

I've designed a H503 board myself to see if I could get it to work in a custom design, focussed on I2S experiments. It has a USB connector on it, but that was before I knew that USBX forgets to add several code files when choosing Audio class, that it depends on a microsoft RTOS, and that MX doesn't offer support for the old USB device library on the H5 series (yes, I found an article here about how to use the old library from github on the H5xx, which doesn't work.. The H503 MCU crashes when it tries to read its own serial number.. Now why would it do that, especially since I can see in debug the hex value for the pointers match that in the usermanual?)..

 

I chose the H503 because at the time it was the cheapest STM32 MCU that had USB and multiple I2S peripherals, but now I'm starting to wish I'd chosen something else, like an F446 perhaps. Is there ANYTHING from ST I can use that has USB audio working out of the box? The Demo for the I2S boards seems to run for the F401.. But what use is running a demo if you can't use it as an example to build your own product?

I was also stumbled with this issue lately. I figured out that if we configure the USB to the internal RC48 clock, then we are able to use the HSI clock and if the system clock is also configured as HSI, the board can be powered with an external power source. 

BTW, the nucleo board I use specifically mentions that USB should be connected after powering the controller. 

Anyway, I hope it was useful. 

 

Best

Sundar