STM32L4 System GPIO

STM32L4 System GPIO
Hello, and welcome to this presentation of the STM32
general-purpose IO interface. It covers the general-purpose
input and output interface and how it allows connectivity to
the environment around the microcontroller.
1
General-purpose IO pins of STM32 products provide an
interface with the external environment. This configurable
interface is used by the MCU and also all other embedded
peripherals to interface with both digital and analog signals.
Application benefits include a wide range of supported IO
supply voltages, as well as the ability to externally wake up
the MCU from low power modes.
2
General-purpose I/O provides bidirectional operation – input
and output – with independent configuration for each I/O pin.
They are shared across 8 ports named GPIOA to GPIOH,
each of them hosting up to 16 I/O pins. I/O ports support
atomic bit set and reset operation through BSSRR and BRR
registers and support the use of bit banding in the memory
map.
I/O ports are directly connected to the AHB2 bus. This allows
fast I/O pin operations, e.g. toggling of the pin every 2 clock
cycles.
Most of the I/O pins are 5 V tolerant when supplied from
VDDIOx above 1.6 V.
Up to 14 I/O pins are supplied by externally providing a
voltage within the VDDIO2 supply domain. This supply is
independent of the VDD provided to the part. This
functionality allows users to adapt logic levels of the MCU’s
I/O pins to the levels required by external logic which may be
supplied by different voltage domains without need for
3
external level shifters.
3
General-purpose I/O pins can be configured into several
operating modes.
An I/O pin can be configured in an input mode with
floating input, input mode with an internal pull-up or pulldown resistor or as an analog input.
An I/O pin could be also configured in an output mode
with a push-pull output or an open-drain output with an
internal pull-up or pull-down resistor.
For each I/O pin, the slew rate speed can be selected
from 4 ranges to compromise between maximum speed
and emissions from the I/O switching and adjust the
application’s EMI performance.
I/O pins are also used by other integrated peripherals to
interface with the external environment. Alternate
function registers are used to select the configuration for
the peripherals in this case.
Configuration of the I/O ports can be locked to increase
4
robustness of the application. Once the configuration is
locked by applying the correct write sequence to the lock
register, the I/O pin’s configuration cannot be modified
until the next reset.
4
Several integrated peripherals such as the USART, timers,
SPI and others share the same I/O pins in order to interface
with the external environment.
Peripherals are configured through an alternate function
multiplexer which ensures that only one peripheral is
connected to the I/O pin at a single time. Of course, this
selection can be changed during run time of the application
through the GPIOx_AFRL and AFRH registers.
5
The Independent VDDIO2 supply domain allows operation in
an environment with several different logic supply voltages. It
allows the STM32 to communicate with logic supplied from
1.08 V, much lower than the VDD supply of the STM32,
which can range up to 3.6 V.
Up to 14 I/O pins in this domain can be used to
communicate with other logic circuits which are supplied by
voltage rails other than VDD.
Independent voltage supplies may allow for the omission of
external voltage shifters in the design.
6
When the external oscillator is switched off, pins related to
this oscillator can be used as standard I/O pins. This is the
default state after device reset.
When the external clock source is used instead of a crystal
oscillator, only related OSC_IN pins are used for the clock
and OSC_OUT pins can be used as standard I/O pins.
7
When the external oscillator is switched off, pins related to
this oscillator can be used as standard I/O pins. This is the
default state after device reset.
When the external clock source is used instead of a crystal
oscillator, only related OSC_IN pins are used for the clock
and OSC_OUT pins can be used as standard I/O pins.
8
A new register GPIOx_ASCR has been introduced on
STM32L476 devices to control analog interconnection
between an I/O pin and ADC input. This register has to be
configured before the ADC conversions are started to
correctly bring the signal to the ADC input.
This register is removed on other devices and the analog
interconnection will be enabled automatically when an ADC
channel is selected.
9
A new multi-supply scheme of I/O pins brings new I/O pin
structures. Previously-used naming – FT, TT – has been
extended by abbreviation suffixes to highlight alternate
supply sources for each FT and TT I/O pin.
Previously-used name FTf for Fm+ capable pins has been
transformed to FT_f, the new _l suffix has been added to
mark pins supplied through LCD supply, suffix _a marks pins
supplied by analog supply, suffix _u is used for pins supplied
from USB supply and suffix _s now clearly identifies pins
within the independent VDDIO2 supply domain.
The absolute maximum rating for each I/O pin is defined by
the lowest voltage of the supplies listed for each I/O pin.
10
I/O pins remain active in all modes except Standby and
Shutdown, where the only available configuration is input
with internal pull-up, pull-down resistor or floating input.
When exiting Shutdown mode, the I/O configuration is lost.
When the MCU is under reset, I/O pins are forced into an
analog input mode.
Thank you.
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement