Author Topic: STM32L011F4 drooping supply rail where as STM32L031F6 doesn't on the same board.  (Read 1975 times)

0 Members and 1 Guest are viewing this topic.

Offline yashrkTopic starter

  • Frequent Contributor
  • **
  • Posts: 277
  • Country: in
  • A MAKER, AN ENGINEER, A HOBBYIST FOR LIFE
    • My Personal Blog
Hey,

I am using STM32L011F4 with an external ADC & DAC connected via SPI bus.
I have 3.3V & 5V rails on the board, 5V regulator (internal to an IC) can only supply 10mA max current.
Controller when unprogrammed droops the 3.3V & 5V rail. If powered externally i.e. higher current capacity, the controller gets programmed and works as expected with no issue even after removing the external power source i.e. no longer droops the rails.

Removing ADC when controller is unprogrammed also solves the issue or keeping the ADC and removing the controller also solves the issue (rail drooping issue).

When the controller replaced with STM32L031F6 also solves the issue.

Has anyone faced this issue or can help me understand why this might be happening?
Find me and things I'm working on - https://www.yashkudale.com/
 

Offline ajb

  • Super Contributor
  • ***
  • Posts: 2721
  • Country: us
Can you share your schematic?  What device is providing the 5V supply, and what power supply is it derived from?

Are the two MCUs fully pin-compatible?  It's possible that during programming a pin on the MCU is temporarily configured as an output and is being driven against either another output or a fixed reference, which could cause enough current flow to drop the supply voltage or even damage a component. 
 

Offline yashrkTopic starter

  • Frequent Contributor
  • **
  • Posts: 277
  • Country: in
  • A MAKER, AN ENGINEER, A HOBBYIST FOR LIFE
    • My Personal Blog
Can you share your schematic?   
It is for office work so I cannot share the schematic.

What device is providing the 5V supply, and what power supply is it derived from?
XTR117 is providing 5V and it is derived from 24V input

Are the two MCUs fully pin-compatible?
Yes they are.

It's possible that during programming a pin on the MCU is temporarily configured as an output and is being driven against either another output or a fixed reference, which could cause enough current flow to drop the supply voltage or even damage a component. 

Only pins that are connected to the MCU are the programming pins SWDIO, SWCLK, RESET & 2 Chip Select and SPI bus and Boot0 is grounded.

Also if there is such a pin that is sinking current then why work with other pin compatible controller.
And parts themselves are not taking much current when you place one component at a time and measure current then MCU + 5V Reg + 3V Reg + DAC take < 1mA like ~500uA or so, but as soon as the ADC is added the voltage start drooping.
Find me and things I'm working on - https://www.yashkudale.com/
 

Offline ajb

  • Super Contributor
  • ***
  • Posts: 2721
  • Country: us
It's going to be very difficult for anyone to help you without more information.  Can you at least specify the ADC and DAC?
 

Offline thm_w

  • Super Contributor
  • ***
  • Posts: 7096
  • Country: ca
  • Non-expert
STM32L011 can draw over 6mA already, who knows about the ADC and DAC.
Also Iret on XTR117 has 25R resistance, which is going to cause droops unless you have a massive amount of capacitance available.

Profile -> Modify profile -> Look and Layout ->  Don't show users' signatures
 

Offline yashrkTopic starter

  • Frequent Contributor
  • **
  • Posts: 277
  • Country: in
  • A MAKER, AN ENGINEER, A HOBBYIST FOR LIFE
    • My Personal Blog
It's going to be very difficult for anyone to help you without more information.  Can you at least specify the ADC and DAC?

ADC is ADS114S06B https://www.ti.com/lit/gpn/ads114s06b
DAC is LTC2630 https://www.analog.com/media/en/technical-documentation/data-sheets/2630fg.pdf

STM32L011 can draw over 6mA already, who knows about the ADC and DAC.
Also Iret on XTR117 has 25R resistance, which is going to cause droops unless you have a massive amount of capacitance available.



I understand that the max current that STM32L011 can take is in the range of 6-9mA but the IC is not programmed, I'm yet to do anything with it. Also before adding ADC I checked the current consumption of rest of the circuit, let me give you some numbers.

DAC + XTR + 3V Reg = 334uA
ADC + DAC + XTR + 3V Reg = 544uA
STM32L011 + ADC + DAC + XTR + 3V Reg = 13.14 mA and voltages droops 5 -> 1.8V & 3.3 -> 1.72V
ADC + DAC + XTR + 3V Reg = 461uA
STM32L031 + ADC + DAC + XTR + 3V Reg = 698uA  :-//
 |O
Find me and things I'm working on - https://www.yashkudale.com/
 

Offline drvtech

  • Regular Contributor
  • *
  • Posts: 113
  • Country: gb
Two observations -
1) when the controller is unprogrammed its outputs will be floating so inputs to the rest of the circuit will be undefined. Floating inputs may cause oscillation which leads to higher current drain. The actual value of this current will vary from chip to chip, even of the same type.
2) although the short circuit current of the XTR117 Vreg pin is 12mA it is only characterized as a voltage source up to 4mA (see the Vreg versus Ireg graph) so who knows what happens above 4mA.
 

Offline yashrkTopic starter

  • Frequent Contributor
  • **
  • Posts: 277
  • Country: in
  • A MAKER, AN ENGINEER, A HOBBYIST FOR LIFE
    • My Personal Blog
1) when the controller is unprogrammed its outputs will be floating so inputs to the rest of the circuit will be undefined. Floating inputs may cause oscillation which leads to higher current drain. The actual value of this current will vary from chip to chip, even of the same type.

Is there anyway to deal with it, as of now the voltage is drooping below 1.8V so I am unable to program it?
Find me and things I'm working on - https://www.yashkudale.com/
 

Offline drvtech

  • Regular Contributor
  • *
  • Posts: 113
  • Country: gb
Difficult to say without seeing the schematic. One suggestion is that you provide an external 5V supply via the programming connector so that during programming you always have adequate current available.
 

Offline ajb

  • Super Contributor
  • ***
  • Posts: 2721
  • Country: us
1) when the controller is unprogrammed its outputs will be floating so inputs to the rest of the circuit will be undefined. Floating inputs may cause oscillation which leads to higher current drain. The actual value of this current will vary from chip to chip, even of the same type.

Is there anyway to deal with it, as of now the voltage is drooping below 1.8V so I am unable to program it?

If it is floating input oscillation, then you can likely address it by fitting pull-up/pull-down resistors on every input.  Since you have a limited power budget to begin with you'll want these to be relatively high value.  It may not be necessary to do this on EVERY input, but it's hard to say without seeing the schematic or studying the datasheets which pins would be likely to need them and which wouldn't.
 

Offline Kjelt

  • Super Contributor
  • ***
  • Posts: 6572
  • Country: nl
If it is for a company and will be produced in larger quantities make sure you can program/test the uC directly through a penbed, eg put prg connection and test pads on your pcb.
 

Offline yashrkTopic starter

  • Frequent Contributor
  • **
  • Posts: 277
  • Country: in
  • A MAKER, AN ENGINEER, A HOBBYIST FOR LIFE
    • My Personal Blog
1) when the controller is unprogrammed its outputs will be floating so inputs to the rest of the circuit will be undefined. Floating inputs may cause oscillation which leads to higher current drain. The actual value of this current will vary from chip to chip, even of the same type.

Is there anyway to deal with it, as of now the voltage is drooping below 1.8V so I am unable to program it?

If it is floating input oscillation, then you can likely address it by fitting pull-up/pull-down resistors on every input.  Since you have a limited power budget to begin with you'll want these to be relatively high value.  It may not be necessary to do this on EVERY input, but it's hard to say without seeing the schematic or studying the datasheets which pins would be likely to need them and which wouldn't.

I am planning to assemble a board where currently STM32L031F6 (which works) and replace it with STM32L011F4 which is a bit more relaxed design in terms of the PCB size and check if it works and if that doesn't work I will start pulling up or down every input one at a time.

If it is for a company and will be produced in larger quantities make sure you can program/test the uC directly through a penbed, eg put prg connection and test pads on your pcb.

Yes we have test points in current design too we just don't use the STLINK's 3.3V supply to program it because of space constrain, will be adding that too.
Find me and things I'm working on - https://www.yashkudale.com/
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf