2025-09-08 5:15 AM
I am currently designing a custom board based on the STM32H753 microcontroller, and I am studying ST’s evaluation boards as reference designs for the external SDRAM interface. While comparing the schematics of MB1246 and MB1331, I noticed a discrepancy in the series resistors used on the SDRAM data bus:
On the MB1246 board, the PH8 pin (connected to D15 of the SDRAM data bus) and several other data lines include 33 Ω series resistors.
On the MB1331 board, the same positions are populated with 0 Ω links instead.
Could you please clarify the following:
What was the rationale behind using 33 Ω resistors on MB1246 versus 0 Ω on MB1331?
Does this reflect differences in PCB layout, stack-up, or signal integrity validation between the two boards?
For custom board designs using STM32H7 with external SDRAM, which approach would ST recommend:
Always include 33 Ω series resistors,
Always use 0 Ω links, or
Provide footprints for both and determine values during validation?
Your guidance will help me finalize the SDRAM interface design in alignment with ST’s best practices.
Thanks,
Mohammed
Solved! Go to Solution.
2025-09-16 7:24 PM
Hi,
Matched resistance is required to place close to the source side. For MCU side, because we can adjust its drive capability by setting register [GPIO port output speed register], so we can remove resistor here.
33ohm is a common value, but the value of resistor could be changed according to many factors. When there is enough drive capability from IO without any EMI issue, 0ohm is also ok. Sometimes we just keep a footprint on the PCB with 0ohm, which helps us to adjust resistor value during board validation.
Normally, we added 33ohm on the SDRAM data signals, command signals (WE, CAS, RAS, CS) and clock signal. You can add such resistor on DQM if this signal is always changed in your application.
2025-09-14 7:07 PM
Hi,
The 33ohm is called matched resistance, which is used to match impedance of PCB wires.
For high-speed bus and long wires on PCB, such resistors are required to reduce the signal reflection on points where impedance is discontinuous.
The value would be changed depends on the situation of the wires which are routed on the PCB. If we consider output impedance is 17ohm and impedance of wire is 50ohm, in order to match wire impedance, so 50-17=33ohm, such resistor helps to match the impedance of wire on the PCB. (The output impedance will change according to the frequency)
The best case is to do simulation with CAD tools before you decide to such which value on the board. Keep a footprint for such matched resistance on a PCB with long wire and high-speed circuit will help us to debug the board when we face some time sequence or SI issue.
2025-09-15 11:22 PM
Thank you for your earlier response. I have a follow-up question regarding the MB1246 schematic:
I noticed a 0 Ω resistor on the SDRAM CKE line placed close to the SDRAM, while there is no corresponding resistor on the MCU side. Could you please clarify:
Why was a 0 Ω part chosen instead of a series resistor (e.g., 33 Ω)?
Why was it placed near the SDRAM rather than close to the MCU?
Also, I don’t see any resistors for FMC_NBL[0..4] at either the MCU or the SDRAM — is there a specific reason those byte-lane signals were left direct?
2025-09-16 7:24 PM
Hi,
Matched resistance is required to place close to the source side. For MCU side, because we can adjust its drive capability by setting register [GPIO port output speed register], so we can remove resistor here.
33ohm is a common value, but the value of resistor could be changed according to many factors. When there is enough drive capability from IO without any EMI issue, 0ohm is also ok. Sometimes we just keep a footprint on the PCB with 0ohm, which helps us to adjust resistor value during board validation.
Normally, we added 33ohm on the SDRAM data signals, command signals (WE, CAS, RAS, CS) and clock signal. You can add such resistor on DQM if this signal is always changed in your application.