cancel
Showing results for 
Search instead for 
Did you mean: 

providing an external (high-speed) clocking source to the board - NUCLEO-F746ZG

DMano.1
Associate II

Hello,

I am interested in providing an external (high-speed) clocking source to the board - provide 10 MHz clock signal from an external signal generator, via I/O port.

As i read in page 25 of STM32 Nucleo-144 boards user manual, I made properly the soldering configurations according to the "Oscillator from external PF0/PH0" system clock's way of configure.

I'm using stm32cubemx software's GUI to set the pinout and clock configurations, so Iv'e considered the software configurations:

Iv'e selected BYPASS clock source on HSE mode (I noticed that PH0 pin marked as "RCC_OSC_IN" and PH1 pin marked as "RCC_OSC_OUT" on the pinout). additionally, Iv'e inserted the frequency of the clock that i provided, and selected HSE at the system clock mux on clock configurations.

Iv'e also selected MCO1 output to show SYSCLK (as an indication) and ensued that 'HSEBYP' and 'HSEON' bits (RCC_CR register) value is '1'.

For an unclear reason, when I checked "HSERDY" bits on "RCC_CR" register, it stays steady on '0' value and SYSCLK stays along the HSI 16MHz clock.

It is important for me to emphasize that the clock signal that I provided was steady at 10 MHz and met the requirements outlined on page 122 of STM32F746xx datasheet.

Thank you

5 REPLIES 5
Danish1
Lead II

Some of us (who have been around a long time) are suspicious when someone says "I've read the documentation and done everything it says". Because we know all too well how easy it is to only read part of the documentation and miss a vital bit that's elsewhere in the documentation.

So, in order to avoid this going round in circles a few times and to save the time and effort of fellow hobbyists who volunteer our time to help, please tell us:

  • What precisely you did to your nucleo board for bypass mode (which jumpers you cut, components you removed, whatever). Photos of your board help here but are not sufficient.
  • More details of your external oscillator waveform and connection. A 'scope trace would be good even if the screen shot is taken by your 'phone. What we're looking for is confirmation of logic high and low levels (easy to forget to bias it if you're AC-coupling your oscillator).
  • If the signal has to travel a "long way" e.g. from another pcb, how you ensured that you never had an electrostatic-discharge event on that oscillator-in pin. The oscillator pins are particularly susceptible to ESD because they need to operate as oscillators at very low power.

What do you have in RCC->CFGR SW1, SW0, SWS1, SWS0? If SW is ste to HSE, then that might prevent you from selecting HSE Bypass mode.

Regards,

Danish

DMano.1
Associate II

Hello,

thank you for your reply.

I've added a file with the coplete detail of what we did.

We would appreciate your help.

best regards,

Daniel

Hello,

thank you for your reply.

I've added a file with the coplete detail of what we did.

We would appreciate your help.

best regards,

Daniel

Piranha
Chief II

First test it with a basic register level code, not HAL/CubeMX generated bloatware.

Can't say I've tried it on the NUCLEO-F746 , but have run one of the L4 NUCLEO-144 boards using a 30.72 MHz external source.

If you have a bypassed source, you probably don't need to wait for it to come ready. ST's code might be broken. I've seen L0 parts not recognize sources >=32MHz

You could pipe the clock out of the MCO pin and check that it is behaving as expected, without using it to drive the PLL or the MCU as the primary clock.

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..