cancel
Showing results for 
Search instead for 
Did you mean: 

STM32U585OIY6QTR vss_smps directly connect to vss may cause I2C issue?

Harry_bee
Associate

Hi, to whom it may be concerned,

I have a question about how to debug. I recently moved my successed project from stm32u585ci without smps with QFN to this lower mass and lower power consumption package, stm32u585ciy6qtr. This is my first time doing smps, and I think I wrongly connected the vss_smps directly to one of the vss. And I did not put extra 0.1uf caps for VDD_11, only those 2.2uf.  Because of the fabrication limits, we only have two layers of FlexPCB.

I can see that the I2C2 and I2C3 work well, but ONLY I2C1 is blocked when the core is doing the computing work, and the ramp-up time is more than 1000ns in the oscilloscope. Even after we used a very small (<300ohm) value pull-up resistor and closely connected to the i2c1 pin area, the I2C1 still has a very high ramp-up time (fast mode) and will be blocked by core computing. However, the I2C1 can send out data by DMA.

 

Then, I tried reconnecting the VLX_SMPS, VDD_SMPS, and VSS_SMPS to VSS/GND and connecting those two VDD_11 to GND with 2.2uf capacitors, then unclick the Power saving mode in ioc. However, we found that the I2C1 CANNOT pull up anymore by setting the pull-up configuration in the STM32IDE pin setting. And cannot send out anything by I2C1. Meanwhile, the I2C2 and I2C3 can still work. Did I break the I2C1 somehow?


So my question is, do you think the I2C1 issue is due to a conflict between VSS_SMPS direct and VSS? Is there any other debugging method I should try? Or do you have any other suggestions for future design? Plus, now I am going to just unuse the SMPS to lower the noise, but since connecting all these(VLX_SMPS, VDD_SMPS, and VSS_SMPS ) to GND showed that the I2C1 is totally not working with pull-up, I am more worried about the design. I appreciate all your help!

 

1 ACCEPTED SOLUTION

Accepted Solutions
TDK
Guru

VSSSMPS should be connected to all of the VSS pins.

 

The datasheet has an example for SMPS connections. Does your design match it? Would be helpful to see a schematic.

TDK_0-1738421128867.png

 

300 ohm pullup is much much too small. Assign the pin as a push-pull output and see if it's able to drive in both directions. If not, likely a hardware issue.

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

View solution in original post

4 REPLIES 4
TDK
Guru

VSSSMPS should be connected to all of the VSS pins.

 

The datasheet has an example for SMPS connections. Does your design match it? Would be helpful to see a schematic.

TDK_0-1738421128867.png

 

300 ohm pullup is much much too small. Assign the pin as a push-pull output and see if it's able to drive in both directions. If not, likely a hardware issue.

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

Hi Guru, thanks for your reply!


I have shared the schematic in the zip folder above and attached it here. Yes, I have connected the vss_smps to all vss. I tried to change the pull-up resistor to at least 1k, but I still can not pull it down when we send out the i2c command. It just does not react. By the way, what could the hardware problem be? Permanent damage on I2C1?
Do you suggest that I try to add some decoupling filters, like 100pf and 0.1uf, for the VDD_smps and VDD11, as the stm32u575 nucleo-144 example did?

 

And I still could not understand why I connected the VLX_SMPS, VDD_SMPS, and VSS_SMPS to VSS/GND, making the issue even worse, as I2C1 just totally not working anymore.

Harry_bee_0-1738434841386.png

Best,

What is the distinction between VDD and VCC1P8A in your design? If VDD > VCC1P8A, you have some issues:

You hooked up VDDSMPS up to VCC1P8A, but it should probably be connected to VDD.

VDDA is hooked up to VCC1P8A but VREF+ is hooked up to VDD.

 

I would focus on the power scheme first. Once that matches the schematic, then worry about I2C1. It's possible the chip is already damaged. It's possible there are other issues besides the two above.

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

Thx for pointing out the VDD and VCC1P8. Actually, right now, they all have the same voltage at 3.3V.