2021-10-06 10:35 PM
Hello,
This is my first time designing a PCB for an STM32F4 microcontroller (and I only get one shot at making this board), and the specific application requires USB and a CAN-Bus. I chose a 10 MHz through-hole crystal oscillator (ABL-10.000MHz-B1U-T) for the HSE, and have looked through the AN2867 application note for the calculations needed. The trouble is that I am not able to run the calculations for Vpp at C_L1 for computing C_tot, much less I do not fully understand the crystal and passive component selection process. I ran the calculations to my understanding, and got 16 pF for C_L1 & C_L2, and a R_EXT of 1 kOhm, but I can not seem to get the Gm_crit(max) under the required 1 mA/V. I am assuming the stray capacitance to be 10 pF, and from the datasheet a drive level of 100 uW, C_shunt = 7 pF, C_load = 18 pF, and ESR = 50 Ohms. Furthermore, I am overestimating gm to 30 mA/V so that this can be used across different types of STM32 microcontrollers (not just the F4).
If someone could give me some guidance on this, I would appreciate it so much.
Here is the crystal section of the schematic.
2021-10-07 06:17 AM
10pF seems high for stray capacitance. I usually assume 4pF. The design guide uses 5pF as an example.
There is quite a bit of wiggle room.
8MHz is more popular than 10MHz, but either will work.
When in doubt, use an ST-recommended crystal. You could even copy the circuit from a Nucleo board.
2021-10-07 06:29 AM
I'd advise to prefer 8Mhz oscillators if you have a CAN application because this makes for painfree prescaler/bit timing configuration (with the frequently recommended 87.5% sample point), which can be annoying to do if you have a more exotic peripheral base frequency thats not a multiple of 8MHz.
But this might be a non-concern for you, especially if you only need 250kBaud CAN, and completely moot if the peripheral base frequency is gonna be PLL'd to something more standard anyway.
2021-10-07 09:06 AM
Understood about the stray capacitance. I looked through probably at least 15 BOMs for STM32F2, STM32F4, or STM32F7 development boards, and I can not find any of the oscillators used on those boards, where they're either out of stock, or not listed in google, particularly anything from the NX3225GD series, 9SL8000020AFXHF0 (I don't know what this is), etc.. Where do you see the ST recommended crystals? I am aware that the AN2867 application note features recommended crystals for the STM8 HSE and STM32 LSE, but the STM32 HSE section is just a range of parameters that have to be calculated, where the calculation itself requires testing the crystal (to my understanding). Thank you for your time.
2021-10-07 09:07 AM
That makes a lot of sense regarding the base frequency. I was planning on using the PLL to take the frequency to 168 MHz for the system, and you're spot on, the CAN baud rate is. 250 kbps. Thank you so much for the advice, but I am still very confused regarding crystal and passive component selection.
2021-10-08 01:31 AM
different load capacitor value will impact the accuracy of HSE for 10PPM ~ 100 PPM. considering the parasitic capacitance, the 10pF maybe the best choice VS 16pF.