Skip to main content
tonofsteel
Associate III
November 16, 2013
Question

STM32VL Discovery -> Strange Voltages

  • November 16, 2013
  • 3 replies
  • 1146 views
Posted on November 16, 2013 at 19:21

So far from the help here (mainly clive1) I got my timers running, GPIO initialized and some demo code running.  The device I am trying to control is not recognizing the data I am trying to send to it so I dug a little further with the scope.  The timing is alright but the voltages are strange.

The signal coming out of PC13 has a signal level from 0 volts to 2.3 volts.  I checked the 3.3V pin and it is at 3V.  I tried different cables, USB power supplies and none of these will change the voltages on the board.  The 5V pin has 4.72V on it and this does not change as well when swapping out supplies.

So why is the regulator putting out 3V instead of 3.3V?  Since this is the first STM32 board I have worked with I am not sure if the 3V output is typical?

I checked pin PA9 and it will output a 2.9V high instead of the 2.3V on PC13.  So if the regulator was actually putting out 3.3V I am sure this would be close.

I am eventually going to be using all three USART's on board so I was trying to find a pin that would not prevent me from using them.  I found through the schematics and data sheet that pin PC13 is not connected to anything and is not related to any USART pins.

After digging into the data sheets a bit more I found this clue:

PC13, PC14 and PC15 are supplied through the power switch and since the switch only sinks a limited amount of current

(3 mA), the use of GPIOs PC13 to PC15 in output mode is restricted: the speed should not exceed 2 MHz with a maximum

load of 30 pF and these IOs must

not

be used as a current source (e.g. to drive an LED).

I am driving a data bus and not a LED but still this probably explains why the voltage is much lower.  The data bus is through a long cable which probably exceeds the rating for this pin.

I am sending data to a 5V device so the 2.3V should be above the minimum but it is so close that this could be why it is not receiving the data correctly.  I have a logic level converter to include if things really get out of hand but I was hoping to avoid this based on other peoples experience using 3.3V devices to send data without it.

So my questions are:

- Is what I found in the data sheet correct: that pin is has a lower voltage output due to the construction of the chip.  It goes through a switch so this could explain the voltage drop.

- why 3V?

- When you do get a development board that is supposed to be 3.3V and it is 3V what can you do?  The only thing I see is firing up Eagle and building a custom board and including a regulator design that correctly puts out 3.3V.  This could be just a one off problem for this board and if I connected another disco it would be closer.  But I guess at the end of the day this should not matter since the 3V still falls within the acceptable range for 3.3V comm and a good design would not require exactly 3.3V....

    This topic has been closed for replies.

    3 replies

    Tesla DeLorean
    Guru
    November 16, 2013
    Posted on November 17, 2013 at 00:48

    Yes, the Discovery board runs at 3V, it's a power thing. Most of my STM32 designs have been running at 2.8V, the core itself is 1.2V

    I think 3.3V is a hold-over from more than a decade ago, most everything is natively at 1.2V or 1.8V

    I'd avoid using the pins in the low-power domain (PC13-15, PI?), two would be used for 32.768 KHz LSE required for standby running of RTC.

    For 5V outputs, consider if you can use OD (Open Drain) mode with an external pull-up to 5V, check the Data Sheet/Manual for pins marked FT (Five volt Tolerant)
    Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
    tonofsteel
    Associate III
    November 17, 2013
    Posted on November 17, 2013 at 20:59

    A secondary question possibly related to the above experience.  The STM32 chip gets hot.  When it is just idling in a while loop I can put my finger on it for about 4 or 5 seconds before it gets too hot, when sending a steady stream of data out it is about 2 or 3 seconds.

    I didn't try this highly non scientific method when I took the disco board out of the package so I am not sure if I messed something up inside the chip by connecting a load to PC13.  I was working with STM8 in the past and I don't ever recall the chip itself getting that hot.  So either I messed something up or it runs that much warmer because of the 32 bit vs 8 bit and the much higher frequency.

    I did read clive1's answer in another post that grinding in while loops will draw much more power and the signal I am driving is a protocol that uses 10us high/low period, so it is quite fast and there would be lots of switching.  I am probably at the worst case for power usage since either I am driving that signal or grinding in a while loop.

    Now that it is up and running I will have to look into a more power efficient way of doing things but I am wondering if when driving the STM32 hard that a normal temperature would be hot.  I don't have anything to measure the temperature but I would guess 50 or 60 degrees C? 

    dlenarcic
    Associate
    November 17, 2013
    Posted on November 17, 2013 at 22:00

    Regarding to the 3.3 voltage (actual 3V on discovery board pin), I had similar problem.

    3V is a limit value for MAX3232

    transceiver,

    so I have

    all the time

     problem with serial communication. First I wanted to remove the diode on the discovery module, but I changed my mind. At the end I added a separate voltage regulator for aux. circuits.