2019-11-21 04:42 AM
Hi
In the STM32L151RCT6 Datasheet (August 2017, DocID022799 Rev 13) it is specified that the PC0 to PC10 GPIO pins are 5V tolerant except the PC3, that should have a standard 3V3 IO structure. We have measured these GPIOs and have found that the PC3 has the same IO structure as the other that are 5V tolerant.
Our test was performed using a sourcemeter applying 6V to the input and measuring the input current. All the tested pins had an input current of less than 50nA@6V, so we conclude that they are all 5V tolerant. We tested other pins specified in the data sheet as 3V3 IO type, and they are indeed 3V3 only.
Can somebody confirm if there is a typo in this data sheet, regarding the output structure of the PC3 pin?
Hervé
2019-11-21 05:17 AM
This is a primarily user-driven forum with casual ST presence. I doubt any user will give you an assurance like that, so you might want to contact ST directly, through the web support form, or through FAE.
A cursory glance into a 'L151 DS reveals, that all three OPAMP_VOUT are marked as non-5V-tolerant. IMO that's no coincidence.
It's not necessarily the presence of a diode to VDD which makes a pin non-5V-tolerant...
JW
2019-11-21 06:19 AM
Hi Jan
Thanks for you reply, I am new in the ST forums.
I have checked again the DS, and PC0, PC1, PC2 and PC3 have the same Additional functions (ADC_IN and COMP1_INP) but only PC3 is non 5V tolerant.
We are using PC0..PC7 as a parallel bus to control an LCD display (that requires 5V power), it is working right now, we write and read from the LCD, but we are facing a strange behavior in PC6 where it is configured as push-pull, but after changing the pin from output to write, then to input to read, and then to output to write again, the PC6 is no longer working as push pull, but as open drain (all the other PC pins are correct, they are configured the exact same way as the PC6, we have checked the low level registers).
We found this accidentally, because the display is working correctly, but it is very strange. We have solved it temporarily using a pull up. This made us dig into the data sheet, and found the PC3 being non 5V Tolerant. We do not know if the PC6 issue we are facing could be related to the PC3 pin not being 5V tolerant, this is why I started trying to confirm if PC3 is really a standard I/O or it is a 5V tolerant pin.
I will try to contact directly the ST support
Hervé
2019-11-21 01:35 PM
Hi Herve,
> I have checked again the DS
Okay, I've looked at a 'L151xD I happened to have the DS on hand. Still, the opamp might have been implemented on the xC, too, just not making it into the DS for marketing reasons. It may be a mistake, or a copy/paste error, too.
Also, the -A suffixed parts might make some difference, too.
> We are using PC0..PC7 as a parallel bus to control an LCD display (that requires 5V power),
I've never met an LCD display controller which would genuinely need 5V. They usually work well with 3V logic supply, as long as the glass voltage is high enough against it (i.e. negative, cca -2V). But I don't say I've seen them all.
> after changing the pin from output to write, then to input to read, and then to output to write again, the PC6 is no longer working as push pull,
Can't the upper transistor been damaged permanently, by accidentally switching PC6 to output while the display was outputting its 5V to the same line?
Jan
PS. Please your username to a normal nick.
2019-11-22 12:59 AM
Hi Jan
Regarding PC6, I thought the same as you at the beginning, but we tested a different routine, where we only write data into the PC port (without reading) and the signal is push-pull for all the pins, so the physical pin seems to be fine. I do not know if reading the LCD with 5V voltages is somehow creating a strange behavior in PC6. There are a number of tests that we can perform to rule out options, but will require some surgery in the PCB. So I prefer to wait for ST support reply (I contacted them yesterday) in order to see is the data sheet is correct or If I need to modify the design.
Regarding LCD, you are right, it could work in 3V3, but then we would need to generate a negative voltage to get enough contrast. We do not have negative voltages in the board, and the hardware designer did not want to add a charge pump to generate the negative voltage, so we are stuck with 5V LCD for the moment.
Best regards
Hervé