cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F4 HSE Selection Help

craig
Associate II
Posted on April 13, 2015 at 23:22

I'm working on a very space-constrained design for an STM32F405RGT6 that needs 48MHz for USB FS.  Ideally the crystal is a 3.2mm x 2.5mm footprint.  Availability suggests that 12MHz is a perfect HSE for my needs.  I've worked out all of the PLL values so I can achieve a full 168MHz SYSCLK and 48MHz USB with a 12MHz HSE so all looks OK there.

I'm reading over AN2867 (Oscillator Design Guide for STM32) but honestly, almost all of the requirements are over my head as a software type.  My first crystal selection was an 8MHz with an ESR of 500 ohms.  Problems galore...

The system mostly ran fine and the HSE RDY register seemed to set fine but DFU flat didn't work and USB was beyond flaky.  Removing my crystal and using the 8MHz HSE/MCO from a STM32F4 Discovery board into my custom PCB for clock made everything work great so I know I just have to rework the HSE design.

  1. Am I correct in understanding I need the lowest ESR possible to achieve this magic ''gain'' ratio of x5 or higher that I'm reading about?
  2. Is this related to ''level of drive'' mentioned in some datasheets?
  3. Would the crystal below be suitable for my needs (STM32F405)?

NDK NX3225SA

Frequency: 12MHz

Stability: +/- 25ppm

Tolerance: +/- 15ppm

Load Capacitance: 8pF

Level of Drive: 10uW (Max 200 uW)

ESR: 100 Ohm

Digikey:

http://www.digikey.com/product-detail/en/NX3225SA-12MHZ-STD-CSR-6/644-1180-1-ND/3125569

Datasheet:

http://www.ndk.com/images/products/catalog/c_NX3225SA-STD-CSR-6_e.pdf

I think that's the best 12MHz crystal I can find for the F4 in a 3.2 x 2.5 footprint but I'm really not sure I'm looking at everything right and I don't understand how to calculate the ''ratio'' that they're talking about.  I hate to wait for another PCB with this footprint just to find it won't work.

Any help is appreciated!
3 REPLIES 3
craig
Associate II
Posted on April 18, 2015 at 17:30

Anybody?  I'm essentially just trying to figure out which values to use to calculate the same thing discussed in the post linked below.  It seems to be critical for me to figure out.

https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Flat.aspx?RootFolder=https%3a%2f%2fmy%2est%2ecom%2fpublic%2fSTe2ecommunities%2fmcu%2fLists%2fcortex_mx_stm32%2fCrystal%20drive%20level&FolderCTID=0x01200200770978C69A1141439FE559EB459D7580009C4E14902C3CDE46A77F0FFD06506F5B&currentvi...

Walid FTITI_O
Senior II
Posted on April 14, 2016 at 12:58

Hi Mr. Blinky,

You can refer to

http://www.st.com/web/en/resource/technical/document/application_note/CD00221665.pdf

Oscillator design guide for ST microcontrollers.

-Hannibal-

Anybody?  I'm essentially just trying to figure out which values to use to calculate the same thing discussed in the post linked below.  It seems to be critical for me to figure out.

https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Flat.aspx?RootFolder=https%3a%2f%2fmy%2est%2ecom%2fpublic%2fSTe2ecommunities%2fmcu%2fLists%2fcortex_mx_stm32%2fCrystal%20drive%20level&FolderCTID=0x01200200770978C69A1141439FE559EB459D7580009C4E14902C3CDE46A77F0FFD06506F5B&currentvi...

ralphj
Associate II
Posted on April 14, 2016 at 15:52

Hi Mr. Blinky,

Here is a spreadsheet that I use to implement the equations from the design guide. To the best of my knowledge it is correct (gives the same answer as the example in the design guide).

________________

Attachments :

Discovery_Crystal_Calculator.xlsx : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006I0mW&d=%2Fa%2F0X0000000bdZ%2FysamJqsnSSD6BMl0KRfh6lCgiUwjCkmZmLaGwApGZJc&asPdf=false