cancel
Showing results for 
Search instead for 
Did you mean: 

OCTO SPI output impedance on H7-series

Southbranch
Senior II

I have swapped from a custom PCB-board with a 6-layer stack using a STM32H725IGKB, to another custom board with a 4-layer stack using STM32H723ZGT6 (simpler package).

I am using an external OCTO SPI on both boards, but I have R/W errors with the 4-layer board.

Both boards are routed with 50 ohms impedance and uses 33 ohms series resistors for the OCTO SPI.

I am wondering if the output impedance is the same for these two H7-devices?

1 ACCEPTED SOLUTION

Accepted Solutions
MHoll.2
Senior

Hi

LQFP package's are notoriously less performant than BGA's (longer bond wire), but this is probably not your problem.

Are PC2 and/or PC3 used for the OCTOSPI? This two pin's have special timing restriction on the STM32H723.

Martin

View solution in original post

25 REPLIES 25
LCE
Principal

Have you checked the package pins?

I think concerning the packages, H723 is compatible with H733, and H725 with H735 - but I'm not 100% sure.

I just remember there was something that surprised me when I had to make that choice.

Concerning the output drivers - another guess: exactly the same.

PS: also check the alternate function numbers

Thanks,

Yes, pins are checked back and forth, but what do you mean with alternative function numbers?

@st, could you please confirm the output impedance is the same for these devices and that 33 ohms series resistors are recomended?

Thanks in advance

 

 

LCE
Principal
	/* MCO */
	GPIO_InitStruct.Pin 		= LL_GPIO_PIN_8;
	GPIO_InitStruct.Mode 		= LL_GPIO_MODE_ALTERNATE;
	GPIO_InitStruct.Speed 		= LL_GPIO_SPEED_FREQ_VERY_HIGH;
	GPIO_InitStruct.OutputType 	= LL_GPIO_OUTPUT_PUSHPULL;
	GPIO_InitStruct.Pull 		= LL_GPIO_PULL_NO;
	GPIO_InitStruct.Alternate 	= LL_GPIO_AF_0;
	LL_GPIO_Init(GPIOA, &GPIO_InitStruct);

See ".Alternate = ...AF_0".

But it's probably the same between these types, so forget that...

Yes, thanks

They set as you layed out for both devices

MHoll.2
Senior

Hi

LQFP package's are notoriously less performant than BGA's (longer bond wire), but this is probably not your problem.

Are PC2 and/or PC3 used for the OCTOSPI? This two pin's have special timing restriction on the STM32H723.

Martin

Make sure the "Compensation Cell" is enabled. You can also back off the Speed setting on short traces.

Some memories also allow the load or drive to be adjusted.

Any difference in the chip and bus clocking between boards?

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

Hi,

Yes I am using PC2_C and PC3_C - is there something I must take into consideration?

Thanks Tesla,

  • I have tried enable the compensation cell
  • I lowered GPIO speed from "very high" to "high" and "medium" - if that is what you meant?
  • I guess the load (or impedance) could be adjusted via the memory's register, but have not tried it yet, should be default 50 ohm and all traces are routed in 50 ohm.
  • Exactly the same bus set-up and clocking for both boards

I discovered that I used 30 ohms (5% tolerance) series resistors rather than 33 ohms due to lack in inventory but is a small margin and it should probably not be the cause. I am out of ideas and I begin thinking there perhaps could been some issue with the PCB stack-up during manufacturering.

 

Hi,

>Yes I am using PC2_C and PC3_C - is there something I must take into consideration?

YES. The xx_C are not good to drive hi-speed signals :

ds:

AScha3_0-1723274755407.png

AScha3_1-1723275020957.png

So you have about 400 ohms source resistance here +

AScha3_2-1723275169084.png

AScha3_3-1723275345994.png

xx_C should be used only for ADC input ...

and should not drive more > 1mA , otherwise you might kill it . (I did - so i know - with just the clock to a TFT on a xx_C pin. Testing TFT with 4MHz clock was ok, but then i switched to 16MHz - 1 screen written, then pin died. )

So dont use these pins for hi-speed signals - they cannot drive it. If you cannot change it now, try with 

ed : low speed setting (400 ohm in series ! ) , just to verify your design is working. (maybe 2 MHz clock...)

 

If you feel a post has answered your question, please click "Accept as Solution".