The STM32F103xF and STM32F103xG performance line family incorporates the high-
performance ARM
®
Cortex™-M3 32-bit RISC core operating at a 72 MHz frequency, highspeed embedded memories (Flash memory up to 1 Mbyte and SRAM up to 96 Kbytes), and
an extensive range of enhanced I/Os and peripherals connected to two APB buses. All
devices offer three 12-bit ADCs, ten general-purpose 16-bit timers plus two PWM timers, as
well as standard and advanced communication interfaces: up to two I
2
I
Ss, one SDIO, five USARTs, an USB and a CAN.
2
Cs, three SPIs, two
The STM32F103xx XL-density performance line family operates in the –40 to +105 °C
temperature range, from a 2.0 to 3.6
V power supply. A comprehensive set of power-saving
mode allows the design of low-power applications.
These features make the STM32F103xx high-density performance line microcontroller
family suitable for a wide range of applications such as motor drives, application control,
medical and handheld equipment, PC and gaming peripherals, GPS platforms, industrial
applications, PLCs, inverters, printers, scanners, alarm systems and video intercom.
10/120 Doc ID 16554 Rev 3
STM32F103xF, STM32F103xGDescription
2.1 Device overview
The STM32F103xx XL-density performance line family offers devices in four different
package types: from 64 pins to 144 pins. Depending on the device chosen, different sets of
peripherals are included, the description below gives an overview of the complete range of
peripherals proposed in this family.
Figure 1 shows the general block diagram of the device family.
Table 2.STM32F103xF and STM32F103xG features and peripheral counts
PeripheralsSTM32F103RxSTM32F103VxSTM32F103Zx
Flash memory768 KB1 MB768 KB1 MB768 KB1 MB
SRAM in Kbytes969696
FSMCNoYes
General-purpose10
Timers
Advanced-control2
Basic2
SPI(I2S)
2
I
(2)
3(2)
C2
(1)
Ye s
Comm
USART5
USB1
CAN1
SDIO1
GPIOs5180112
12-bit ADC
Number of channels
12-bit DAC
Number of channels
16
3
16
3
3
21
2
2
CPU frequency72 MHz
Operating voltage2.0 to 3.6 V
Operating temperatures
Ambient temperatures: –40 to +85 °C /–40 to +105 °C (see Ta b l e 1 0 )
Junction temperature: –40 to + 125 °C (see Table 10)
PackageLQFP64 LQFP100LQFP144, BGA144
1. For the LQFP100 package, only FSMC Bank1 and Bank2 are available. Bank1 can only support a
multiplexed NOR/PSRAM memory using the NE1 Chip Select. Bank2 can only support a 16- or 8-bit NAND
Flash memory using the NCE2 Chip Select. The interrupt line cannot be used since Port G is not available
in this package.
2. The SPI2 and SPI3 interfaces give the flexibility to work in an exclusive way in either the SPI mode or the
2
I
S audio mode.
Doc ID 16554 Rev 311/120
PA[ 15:0 ]
EXT.IT
WWDG
NVIC
12bit A DC1
8 ADINs common
JTDI
JTCK/SWCLK
JTMS/SWDA T
NJTRST
JTDO
=2 to 3.6V
112 AF
AHB2
MOSI/SD,MISO,
WKUP
F
max
: 48/72 MHz
V
SS
SCL,SDA,SMBA
I2C2
GP DMA1
XTAL OSC
4-16 MHz
XTAL 32 kHz
A
P
B
1:
F
m
a
x
=2
4
/
3
6MHz
HCLK
PCLK1
as AF
Flash1 512 KB
VOLT. RE G.
3.3VTO1.8V
POWER
Backupinterface
as AF
B
us matrix
64 bit
RTC
RC HS
Cortex-M3 CPU
Ibus
Dbus
obl
SRAM 512B
USART1
USART2
SPI2/I2S2
bxCAN device
7channels
Backup
reg
4channels
TIM1
4compl.
SCL,SDA,SMBA
I2C1
as AF
RX,TX, CTS,RTS,
USART3
Temp sen sor
4Ch,ETRas AF
FCLK
RC LS
Standby
IWDG
@VSW
POR / PD R
SUPPLY
@VDDA
V
BAT
=1.8Vto3.6V
CK as AF
RX,TX, CTS,RTS,
CK as AF
RX,TX, CTS,RTS,
CK as AF
A
PB
2:
F
m
a
x
=48 /
72
MH
z
NVIC
SPI1
MOSI,MISO,
SCK,NSS as AF
12bit A DC2
IF
IF
interface
SUPERVISION
PVD
Reset
Int
AWU
POR
TAMPER-RTC
System
SCK/CK ,NSS/WS,
UART4
RX,TX as AF
UART5
RX,TX as AF
Reset &
clock
controller
PCLK2
PLL
12bit DAC1
IFIF
IF
12bit DA C2
DAC1_OUT as AF
DAC2_OUT as AF
to the 3 ADCs
8 ADINs commo n
to the ADC1 & 2
GP DMA2
5channels
(ALARM OUT)
MCLK as AF
MOSI/SD,MISO,
SCK/CK ,NSS/WS,
MCLK as AF
SWJTAG
TPIU
ETM
Trace/Trig
TRACECL K
TRACED[ 0:3]
as AF
USBDM/CAN_RX
USBDP/CAN_TX
SDIO
FSMC
PCLK3
SRAM
96 Kbyte
64 bit
12bit ADC3
IF
5ADINs on ADC3
4
4compl.
BKIN, ETR input as AF
PB[15:0]
PC[ 15:0]
PD[15:0]
PE[1 5:0]
PF[15:0]
PG[15:0]
MPU
2as AF
1as AF
1as AF
4Ch,ETRas AF
4Ch,ETRas AF
4Ch,ETRas AF
D[7: 0], CMD
CK as AF
Flash2 512 KB
A[25:0]
D[15:0]
CLK
NOE
NWE
NE[3:0]
NBL[1:0]
NWAIT
NL
as AF
channels
channels
channels
channels
channel
channel
TIM8
TIM9
TIM10
TIM11
V
REF+
V
REF–
TIM6
TIM7
TIM2
TIM3
TIM4
TIM5
TIM12
TIM13
TIM14
OSC_IN
OSC_OUT
OSC32_IN
OSC32_OUT
V
DD
@V
DD
NRST
V
DDA
V
SSA
V
DD
@V
DD
@V
DDA
@V
DDA
Flash
interface
Flash
interface
obl
2 channelsas AF
1 channel as AF
1 channel as AF
ai17352
@V
DDA
GPIO port A
GPIO port B
GPIO port C
GPIO port D
GPIO port E
GPIO port F
GPIO port G
APB3APB2APB1
BKIN, ETR input as AF
USB 2.0 FS device
SPI3/I2S3
DescriptionSTM32F103xF, STM32F103xG
Figure 1.STM32F103xF and STM32F103xG performance line block diagram
1. TA = –40 °C to +85 °C (suffix 6, see Table 73) or –40 °C to +105 °C (suffix 7, see Table 73), junction temperature up to
2. AF = alternate function on I/O port pin.
105 °C or 125 °C, respectively.
12/120 Doc ID 16554 Rev 3
STM32F103xF, STM32F103xGDescription
Figure 2.Clock tree
FLITFCLK
to Flash programming interface
USBCLK
to USB interface
I2S3CLK
I2S2CLK
36 MHz max
Peripheral Clock
Enable
else x2
72 MHz max
Peripheral Clock
Enable
else x2
ADCCLK
Peripheral clock
enable
to I2S3
to I2S2
SDIOCLK
FSMCCLK
HCLK
to AHB bus, core,
memory and DMA
to SDIO
to FSMC
to Cortex System timer
FCLK Cortex
free running clock
Peripheral Clock
Enable
PCLK1
to APB1
peripherals
to TIM2/3/4/5/12/13/14
and TIM6/7
TIMxCLK
PCLK2
peripherals to APB2
to TIM1/8and TIM9/10/11
TIMxCLK
Peripheral Clock
Enable
to ADC1, 2 or 3
HCLK/2
To SDIO AHB interface
OSC_OUT
OSC_IN
OSC32_IN
OSC32_OUT
8 MHz
HSI RC
PLLSRC
4-16 MHz
HSE OSC
LSE OSC
32.768 kHz
LSI RC
40 kHz
HSI
PLLMUL
..., x16
x2, x3, x4
PLL
PLLXTPRE
/2
/128
LSE
RTCSEL[1:0]
LSI
/2
SW
HSI
PLLCLK
HSE
CSS
RTCCLK
to Independent Watchdog (IWDG)
SYSCLK
72 MHz
max
to RTC
AHB
Prescaler
/1, 2..512
IWDGCLK
USB
Prescaler
/1, 1.5
Peripheral clock
enable
Peripheral clock
enable
/1, 2, 4, 8, 16
TIM2,3,4,5,12,13,14,6,7
If (APB1 prescaler =1) x1
/1, 2, 4, 8, 16
48 MHz
Peripheral clock
enable
Peripheral clock
enable
72 MHz max
Clock
Enable
/8
APB1
Prescaler
APB2
Prescaler
TIM1, 8, 9, 10, 11
If (APB2 prescaler =1) x1
ADC
Prescaler
/2, 4, 6, 8
/2
Legend:
HSE = High-speed external clock signal
HSI =
High-speed internal clock signal
LSI =
Low-speed internal clock signal
LSE =
Low-speed external clock signal
ai17354
MCO
Main
Clock Output
/2
PLLCLK
HSI
HSE
SYSCLK
MCO
1. When the HSI is used as a PLL clock input, the maximum system clock frequency that can be achieved is
64 MHz.
2. For the USB function to be available, both HSE and PLL must be enabled, with the USBCLK at 48 MHz.
3. To have an ADC conversion time of 1 µs, APB2 must be at 14 MHz, 28 MHz or 56 MHz.
Doc ID 16554 Rev 313/120
DescriptionSTM32F103xF, STM32F103xG
2.2 Full compatibility throughout the family
The STM32F103xx is a complete family whose members are fully pin-to-pin, software and
feature compatible. In the reference manual, the STM32F103x4 and STM32F103x6 are
identified as low-density devices, the STM32F103x8 and STM32F103xB are referred to as
medium-density devices, the STM32F103xC, STM32F103xD and STM32F103xE are
referred to as high-density devices and the STM32F103xF and STM32F103xG are called
XL-density devices.
Low-density, high-density and XL-density devices are an extension of the STM32F103x8/B
medium-density devices, they are specified in the STM32F103x4/6, STM32F103xC/D/E and
STM32F103xF/G datasheets, respectively. Low-density devices feature lower Flash
memory and RAM capacities, less timers and peripherals. High-density devices have higher
Flash memory and RAM capacities, and additional peripherals like SDIO, FSMC, I
DAC. XL-density devices bring even more Flash and RAM memory, and extra features,
namely an MPU, a greater number of timers and a dual bank Flash structure while
remaining fully compatible with the other members of the family.
The STM32F103x4, STM32F103x6, STM32F103xC, STM32F103xD, STM32F103xE,
STM32F103xF and STM32F103xG are a drop-in replacement for the STM32F103x8/B
devices, allowing the user to try different memory densities and providing a greater degree
of freedom during the development cycle.
Moreover, the STM32F103xx performance line family is fully compatible with all existing
STM32F101xx access line and STM32F102xx USB access line devices.
1. For orderable part numbers that do not show the A internal code after the temperature range code (6 or 7), the reference
datasheet for electrical characteristics is that of the STM32F103x8/B medium-density devices.
2. 64 KB RAM for 256 KB Flash are available on devices delivered in CSP packages only.
3. Ports F and G are not available in devices delivered in 100-pin packages.
4. Ports F and G are not available in devices delivered in 100-pin packages.
2
Ss, 2 × I2Cs
14/120 Doc ID 16554 Rev 3
STM32F103xF, STM32F103xGDescription
2.3 Overview
2.3.1 ARM® Cortex™-M3 core with embedded Flash and SRAM
The ARM Cortex™-M3 processor is the latest generation of ARM processors for embedded
systems. It has been developed to provide a low-cost platform that meets the needs of MCU
implementation, with a reduced pin count and low-power consumption, while delivering
outstanding computational performance and an advanced system response to interrupts.
The ARM Cortex™-M3 32-bit RISC processor features exceptional code-efficiency,
delivering the high-performance expected from an ARM core in the memory size usually
associated with 8- and 16-bit devices.
With its embedded ARM core, STM32F103xF and STM32F103xG performance line family
is compatible with all ARM tools and software.
Figure 1 shows the general block diagram of the device family.
2.3.2 Memory protection unit
The memory protection unit (MPU) is used to separate the processing of tasks from the data
protection. The MPU can manage up to 8 protection areas that can all be further divided up
into 8 subareas. The protection area sizes are between 32 bytes and the whole 4 gigabytes
of addressable memory.
The memory protection unit is especially helpful for applications where some critical or
certified code has to be protected against the misbehavior of other tasks. It is usually
managed by an RTOS (real-time operating system). If a program accesses a memory
location that is prohibited by the MPU, the RTOS can detect it and take action. In an RTOS
environment, the kernel can dynamically update the MPU area setting, based on the
process to be executed.
The MPU is optional and can be bypassed for applications that do not need it.
2.3.3 Embedded Flash memory
768 Kbytes to 1 Mbyte of embedded Flash are available for storing programs and data. The
Flash memory is organized as two banks. The first bank has a size of 512 Kbytes. The
second bank is either 256 or 512 Kbytes depending on the device. This gives the device the
capability of writing to one bank while executing code from the other bank (read-while-write
capability).
2.3.4 CRC (cyclic redundancy check) calculation unit
The CRC (cyclic redundancy check) calculation unit is used to get a CRC code from a 32-bit
data word and a fixed generator polynomial.
Among other applications, CRC-based techniques are used to verify data transmission or
storage integrity. In the scope of the EN/IEC 60335-1 standard, they offer a means of
verifying the Flash memory integrity. The CRC calculation unit helps compute a signature of
the software during runtime, to be compared with a reference signature generated at linktime and stored at a given memory location.
Doc ID 16554 Rev 315/120
DescriptionSTM32F103xF, STM32F103xG
2.3.5 Embedded SRAM
96 Kbytes of embedded SRAM accessed (read/write) at CPU clock speed with 0 wait states.
2.3.6 FSMC (flexible static memory controller)
The FSMC is embedded in the STM32F103xF and STM32F103xG performance line family.
It has four Chip Select outputs supporting the following modes: PC Card/Compact Flash,
SRAM, PSRAM, NOR and NAND.
Functionality overview:
●The three FSMC interrupt lines are ORed in order to be connected to the NVIC
●Write FIFO
●Code execution from external memory except for NAND Flash and PC Card
●The targeted frequency, f
, is HCLK/2, so external access is at 36 MHz when HCLK
CLK
is at 72 MHz and external access is at 24 MHz when HCLK is at 48 MHz
2.3.7 LCD parallel interface
The FSMC can be configured to interface seamlessly with most graphic LCD controllers. It
supports the Intel 8080 and Motorola 6800 modes, and is flexible enough to adapt to
specific LCD interfaces. This LCD parallel interface capability makes it easy to build costeffective graphic applications using LCD modules with embedded controllers or highperformance solutions using external controllers with dedicated acceleration.
2.3.8 Nested vectored interrupt controller (NVIC)
The STM32F103xF and STM32F103xG performance line embeds a nested vectored
interrupt controller able to handle up to 60 maskable interrupt channels (not including the 16
interrupt lines of Cortex™-M3) and 16 priority levels.
●Interrupt entry vector table address passed directly to the core
●Closely coupled NVIC core interface
●Allows early processing of interrupts
●Processing of late arriving higher priority interrupts
●Support for tail-chaining
●Processor state automatically saved
●Interrupt entry restored on interrupt exit with no instruction overhead
This hardware block provides flexible interrupt management features with minimal interrupt
latency.
2.3.9 External interrupt/event controller (EXTI)
The external interrupt/event controller consists of 19 edge detector lines used to generate
interrupt/event requests. Each line can be independently configured to select the trigger
event (rising edge, falling edge, both) and can be masked independently. A pending register
maintains the status of the interrupt requests. The EXTI can detect an external line with a
pulse width shorter than the Internal APB2 clock period. Up to 112 GPIOs can be connected
to the 16 external interrupt lines.
16/120 Doc ID 16554 Rev 3
STM32F103xF, STM32F103xGDescription
2.3.10 Clocks and startup
System clock selection is performed on startup, however the internal RC 8 MHz oscillator is
selected as default CPU clock on reset. An external 4-16 MHz clock can be selected, in
which case it is monitored for failure. If failure is detected, the system automatically switches
back to the internal RC oscillator. A software interrupt is generated if enabled. Similarly, full
interrupt management of the PLL clock entry is available when necessary (for example with
failure of an indirectly used external oscillator).
Several prescalers allow the configuration of the AHB frequency, the high speed APB
(APB2) and the low speed APB (APB1) domains. The maximum frequency of the AHB and
the high speed APB domains is 72 MHz. The maximum allowed frequency of the low speed
APB domain is 36 MHz. See
Figure 2 for details on the clock tree.
2.3.11 Boot modes
At startup, boot pins are used to select one of three boot options:
●Boot from user Flash: you have an option to boot from any of two memory banks. By
default, boot from Flash memory bank 1 is selected. You can choose to boot from Flash
memory bank 2 by setting a bit in the option bytes.
●Boot from system memory
●Boot from embedded SRAM
The boot loader is located in system memory. It is used to reprogram the Flash memory by
using USART1.
2.3.12 Power supply schemes
●V
●V
●V
For more details on how to connect power pins, refer to Figure 10: Power supply scheme.
= 2.0 to 3.6 V: external power supply for I/Os and the internal regulator.
DD
Provided externally through V
, V
SSA
= 2.0 to 3.6 V: external analog power supplies for ADC, DAC, Reset blocks,
DDA
RCs and PLL (minimum voltage to be applied to VDDA is 2.4 V when the ADC or DAC
is used). V
= 1.8 to 3.6 V: power supply for RTC, external clock 32 kHz oscillator and backup
BAT
DDA
and V
registers (through power switch) when V
2.3.13 Power supply supervisor
The device has an integrated power-on reset (POR)/power-down reset (PDR) circuitry. It is
always active, and ensures proper operation starting from/down to 2 V. The device remains
in reset mode when V
external reset circuit.
The device features an embedded programmable voltage detector (PVD) that monitors the
V
DD/VDDA
generated when V
than the V
message and/or put the MCU into a safe state. The PVD is enabled by software. Refer to
Ta bl e 12: Embedded reset and power control block characteristics for the values of
V
POR/PDR
power supply and compares it to the V
DD/VDDA
threshold. The interrupt service routine can then generate a warning
PVD
and V
PVD
pins.
DD
must be connected to VDD and VSS, respectively.
SSA
DD
is below a specified threshold, V
DD
drops below the V
PVD
.
is not present.
POR/PDR
threshold. An interrupt can be
PVD
, without the need for an
threshold and/or when VDD/V
is higher
DDA
Doc ID 16554 Rev 317/120
DescriptionSTM32F103xF, STM32F103xG
2.3.14 Voltage regulator
The regulator has three operation modes: main (MR), low power (LPR) and power down.
●MR is used in the nominal regulation mode (Run)
●LPR is used in the Stop modes.
●Power down is used in Standby mode: the regulator output is in high impedance: the
kernel circuitry is powered down, inducing zero consumption (but the contents of the
registers and SRAM are lost)
This regulator is always enabled after reset. It is disabled in Standby mode.
2.3.15 Low-power modes
The STM32F103xF and STM32F103xG performance line supports three low-power modes
to achieve the best compromise between low power consumption, short startup time and
available wakeup sources:
●Sleep mode
In Sleep mode, only the CPU is stopped. All peripherals continue to operate and can
wake up the CPU when an interrupt/event occurs.
●Stop mode
Stop mode achieves the lowest power consumption while retaining the content of
SRAM and registers. All clocks in the 1.8 V domain are stopped, the PLL, the HSI RC
and the HSE crystal oscillators are disabled. The voltage regulator can also be put
either in normal or in low-power mode.
The device can be woken up from Stop mode by any of the EXTI line. The EXTI line
source can be one of the 16 external lines, the PVD output, the RTC alarm or the USB
wakeup.
●Standby mode
The Standby mode is used to achieve the lowest power consumption. The internal
voltage regulator is switched off so that the entire 1.8 V domain is powered off. The
PLL, the HSI RC and the HSE crystal oscillators are also switched off. After entering
Standby mode, SRAM and register contents are lost except for registers in the Backup
domain and Standby circuitry.
The device exits Standby mode when an external reset (NRST pin), an IWDG reset, a
rising edge on the WKUP pin, or an RTC alarm occurs.
Note:The RTC, the IWDG, and the corresponding clock sources are not stopped by entering Stop
or Standby mode.
2.3.16 DMA
The flexible 12-channel general-purpose DMAs (7 channels for DMA1 and 5 channels for
DMA2) are able to manage memory-to-memory, peripheral-to-memory and memory-toperipheral transfers. The two DMA controllers support circular buffer management,
removing the need for user code intervention when the controller reaches the end of the
buffer.
18/120 Doc ID 16554 Rev 3
Each channel is connected to dedicated hardware DMA requests, with support for software
trigger on each channel. Configuration is made by software and transfer sizes between
source and destination are independent.
STM32F103xF, STM32F103xGDescription
The DMA can be used with the main peripherals: SPI, I2C, USART, general-purpose, basic
and advanced-control timers TIMx, DAC, I
2
S, SDIO and ADC.
2.3.17 RTC (real-time clock) and backup registers
The RTC and the backup registers are supplied through a switch that takes power either on
V
supply when present or through the V
DD
pin. The backup registers are forty-two 16-bit
BAT
registers used to store 84 bytes of user application data when V
They are not reset by a system or power reset, and they are not reset when the device
wakes up from the Standby mode.
The real-time clock provides a set of continuously running counters which can be used with
suitable software to provide a clock calendar function, and provides an alarm interrupt and a
periodic interrupt. It is clocked by a 32.768 kHz external crystal, resonator or oscillator, the
internal low power RC oscillator or the high-speed external clock divided by 128. The
internal low-speed RC has a typical frequency of 40 kHz. The RTC can be calibrated using
an external 512 Hz output to compensate for any natural quartz deviation. The RTC features
a 32-bit programmable counter for long term measurement using the Compare register to
generate an alarm. A 20-bit prescaler is used for the time base clock and is by default
configured to generate a time base of 1 second from a clock at 32.768 kHz.
2.3.18 Timers and watchdogs
The XL-density STM32F103xx performance line devices include up to two advanced-control
timers, up to ten general-purpose timers, two basic timers, two watchdog timers and a
SysTick timer.
power is not present.
DD
Ta bl e 4 compares the features of the advanced-control, general-purpose and basic timers.
Table 4.STM32F103xF and STM32F103xG timer feature comparison
Timer
TIM1, TIM816-bit
TIM2, TIM3,
TIM4, TIM5
TIM9, TIM1216-bitUp
TIM10, TIM11
TIM13, TIM14
TIM6, TIM716-bitUp
Counter
resolution
16-bit
16-bitUp
Counter
type
Up,
down,
up/down
Up,
down,
up/down
Prescaler factor
Any integer between
1 and 65536
Any integer between
1 and 65536
Any integer between
1 and 65536
Any integer between
1 and 65536
Any integer between
1 and 65536
DMA request
generation
Ye s4Ye s
Ye s4N o
No2No
No1No
Ye s0N o
Capture/compare
channels
Complementary
outputs
Doc ID 16554 Rev 319/120
DescriptionSTM32F103xF, STM32F103xG
Advanced-control timers (TIM1 and TIM8)
The two advanced-control timers (TIM1 and TIM8) can each be seen as a three-phase
PWM multiplexed on 6 channels. They have complementary PWM outputs with
programmable inserted dead-times. They can also be seen as a complete general-purpose
timer. The 4 independent channels can be used for:
●Input capture
●Output compare
●PWM generation (edge or center-aligned modes)
●One-pulse mode output
If configured as a standard 16-bit timer, it has the same features as the TIMx timer. If
configured as the 16-bit PWM generator, it has full modulation capability (0-100%).
In debug mode, the advanced-control timer counter can be frozen and the PWM outputs
disabled to turn off any power switch driven by these outputs.
Many features are shared with those of the general-purpose TIM timers which have the
same architecture. The advanced-control timer can therefore work together with the TIM
timers via the Timer Link feature for synchronization or event chaining.
General-purpose timers (TIMx)
There are10 synchronizable general-purpose timers embedded in the STM32F103xF and
STM32F103xG performance line devices (see
●TIM2, TIM3, TIM4, TIM5
Ta bl e 4 for differences).
There are up to 4 synchronizable general-purpose timers (TIM2, TIM3, TIM4 and TIM5)
embedded in the STM32F103xF and STM32F103xG access line devices.
These timers are based on a 16-bit auto-reload up/down counter, a 16-bit prescaler
and feature 4 independent channels each for input capture/output compare, PWM or
one-pulse mode output. This gives up to 16 input captures / output compares / PWMs
on the largest packages.
Their counter can be frozen in debug mode. Any of the general-purpose timers can be
used to generate PWM outputs. They all have independent DMA request generation.
These timers are capable of handling quadrature (incremental) encoder signals and the
digital outputs from 1 to 3 hall-effect sensors.
●TIM10, TIM11 and TIM9
These timers are based on a 16-bit auto-reload upcounter and a 16-bit prescaler.
TIM10 and TIM11 feature one independent channel, whereas TIM9 has two
independent channels for input capture/output compare, PWM or one-pulse mode
output. They can be synchronized with the TIM2, TIM3, TIM4, TIM5 full-featured
general-purpose timers. They can also be used as simple time bases.
●TIM13, TIM14 and TIM12
These timers are based on a 16-bit auto-reload upcounter and a 16-bit prescaler.
TIM13 and TIM14 feature one independent channel, whereas TIM12 has two
independent channels for input capture/output compare, PWM or one-pulse mode
output. They can be synchronized with the TIM2, TIM3, TIM4, TIM5 full-featured
general-purpose timers. They can also be used as simple time bases.
20/120 Doc ID 16554 Rev 3
STM32F103xF, STM32F103xGDescription
Basic timers TIM6 and TIM7
These timers are mainly used for DAC trigger generation. They can also be used as a
generic 16-bit time base.
Independent watchdog
The independent watchdog is based on a 12-bit downcounter and 8-bit prescaler. It is
clocked from an independent 40 kHz internal RC and as it operates independently from the
main clock, it can operate in Stop and Standby modes. It can be used either as a watchdog
to reset the device when a problem occurs, or as a free running timer for application timeout
management. It is hardware or software configurable through the option bytes. The counter
can be frozen in debug mode.
Window watchdog
The window watchdog is based on a 7-bit downcounter that can be set as free running. It
can be used as a watchdog to reset the device when a problem occurs. It is clocked from the
main clock. It has an early warning interrupt capability and the counter can be frozen in
debug mode.
SysTick timer
This timer is dedicated to real-time operating systems, but could also be used as a standard
down counter. It features:
●A 24-bit down counter
●Autoreload capability
●Maskable system interrupt generation when the counter reaches 0.
●Programmable clock source
2.3.19 I²C bus
Up to two I²C bus interfaces can operate in multimaster and slave modes. They can support
standard and fast modes.
They support 7/10-bit addressing mode and 7-bit dual addressing mode (as slave). A
hardware CRC generation/verification is embedded.
They can be served by DMA and they support SMBus 2.0/PMBus.
The STM32F103xF and STM32F103xG performance line embeds three universal
synchronous/asynchronous receiver transmitters (USART1, USART2 and USART3) and
two universal asynchronous receiver transmitters (UART4 and UART5).
These five interfaces provide asynchronous communication, IrDA SIR ENDEC support,
multiprocessor communication mode, single-wire half-duplex communication mode and
have LIN Master/Slave capability.
The USART1 interface is able to communicate at speeds of up to 4.5 Mbit/s. The other
available interfaces communicate at up to 2.25 Mbit/s.
USART1, USART2 and USART3 also provide hardware management of the CTS and RTS
signals, Smart Card mode (ISO 7816 compliant) and SPI-like communication capability. All
interfaces can be served by the DMA controller except for UART5.
Doc ID 16554 Rev 321/120
DescriptionSTM32F103xF, STM32F103xG
2.3.21 Serial peripheral interface (SPI)
Up to three SPIs are able to communicate up to 18 Mbits/s in slave and master modes in
full-duplex and simplex communication modes. The 3-bit prescaler gives 8 master mode
frequencies and the frame is configurable to 8 bits or 16 bits. The hardware CRC
generation/verification supports basic SD Card/MMC modes.
All SPIs can be served by the DMA controller.
2.3.22 Inter-integrated sound (I2S)
Two standard I2S interfaces (multiplexed with SPI2 and SPI3) are available, that can be
operated in master or slave mode. These interfaces can be configured to operate with 16/32
bit resolution, as input or output channels. Audio sampling frequencies from 8 kHz up to
48
kHz are supported. When either or both of the I2S interfaces is/are configured in master
mode, the master clock can be output to the external DAC/CODEC at 256 times the
sampling frequency.
2.3.23 SDIO
An SD/SDIO/MMC host interface is available, that supports MultiMediaCard System
Specification Version 4.2 in three different databus modes: 1-bit (default), 4-bit and 8-bit.
The interface allows data transfer at up to 48 MHz in 8-bit mode, and is compliant with SD
Memory Card Specifications Version 2.0.
The SDIO Card Specification Version 2.0 is also supported with two different databus
modes: 1-bit (default) and 4-bit.
The current version supports only one SD/SDIO/MMC4.2 card at any one time and a stack
of MMC4.1 or previous.
In addition to SD/SDIO/MMC, this interface is also fully compliant with the CE-ATA digital
protocol Rev1.1.
2.3.24 Controller area network (CAN)
The CAN is compliant with specifications 2.0A and B (active) with a bit rate up to 1 Mbit/s. It
can receive and transmit standard frames with 11-bit identifiers as well as extended frames
with 29-bit identifiers. It has three transmit mailboxes, two receive FIFOs with 3 stages and
14 scalable filter banks.
2.3.25 Universal serial bus (USB)
The STM32F103xF and STM32F103xG performance line embed a USB device peripheral
compatible with the USB full-speed 12 Mbs. The USB interface implements a full-speed (12
Mbit/s) function interface. It has software-configurable endpoint setting and suspend/resume
support. The dedicated 48 MHz clock is generated from the internal main PLL (the clock
source must use a HSE crystal oscillator).
2.3.26 GPIOs (general-purpose inputs/outputs)
Each of the GPIO pins can be configured by software as output (push-pull or open-drain), as
input (with or without pull-up or pull-down) or as peripheral alternate function. Most of the
GPIO pins are shared with digital or analog alternate functions. All GPIOs are high currentcapable.
22/120 Doc ID 16554 Rev 3
STM32F103xF, STM32F103xGDescription
The I/Os alternate function configuration can be locked if needed following a specific
sequence in order to avoid spurious writing to the I/Os registers.
2.3.27 ADC (analog to digital converter)
Three 12-bit analog-to-digital converters are embedded into STM32F103xF and
STM32F103xG performance line devices and each ADC shares up to 21 external channels,
performing conversions in single-shot or scan modes. In scan mode, automatic conversion
is performed on a selected group of analog inputs.
Additional logic functions embedded in the ADC interface allow:
●Simultaneous sample and hold
●Interleaved sample and hold
●Single shunt
The ADC can be served by the DMA controller.
An analog watchdog feature allows very precise monitoring of the converted voltage of one,
some or all selected channels. An interrupt is generated when the converted voltage is
outside the programmed thresholds.
The events generated by the general-purpose timers (TIMx) and the advanced-control
timers (TIM1 and TIM8) can be internally connected to the ADC start trigger and injection
trigger, respectively, to allow the application to synchronize A/D conversion and timers.
2.3.28 DAC (digital-to-analog converter)
The two 12-bit buffered DAC channels can be used to convert two digital signals into two
analog voltage signal outputs. The chosen design structure is composed of integrated
resistor strings and an amplifier in inverting configuration.
This dual digital Interface supports the following features:
●two DAC converters: one for each output channel
●8-bit or 12-bit monotonic output
●left or right data alignment in 12-bit mode
●synchronized update capability
●noise-wave generation
●triangular-wave generation
●dual DAC channel independent or simultaneous conversions
●DMA capability for each channel
●external triggers for conversion
●input voltage reference V
Eight DAC trigger inputs are used in the STM32F103xF and STM32F103xG performance
line family. The DAC channels are triggered through the timer update outputs that are also
connected to different DMA channels.
REF+
Doc ID 16554 Rev 323/120
DescriptionSTM32F103xF, STM32F103xG
2.3.29 Temperature sensor
The temperature sensor has to generate a voltage that varies linearly with temperature. The
conversion range is between 2 V < V
< 3.6 V. The temperature sensor is internally
DDA
connected to the ADC1_IN16 input channel which is used to convert the sensor output
voltage into a digital value.
2.3.30 Serial wire JTAG debug port (SWJ-DP)
The ARM SWJ-DP Interface is embedded, and is a combined JTAG and serial wire debug
port that enables either a serial wire debug or a JTAG probe to be connected to the target.
The JTAG TMS and TCK pins are shared respectively with SWDIO and SWCLK and a
specific sequence on the TMS pin is used to switch between JTAG-DP and SW-DP.
2.3.31 Embedded Trace Macrocell™
The ARM® Embedded Trace Macrocell provides a greater visibility of the instruction and
data flow inside the CPU core by streaming compressed data at a very high rate from the
STM32F10xxx through a small number of ETM pins to an external hardware trace port
analyzer (TPA) device. The TPA is connected to a host computer using USB, Ethernet, or
any other high-speed channel. Real-time instruction and data flow activity can be recorded
and then formatted for display on the host computer running debugger software. TPA
hardware is commercially available from common development tool vendors. It operates
with third party debugger software tools.
24/120 Doc ID 16554 Rev 3
STM32F103xF, STM32F103xGPinouts and pin descriptions
AI14798b
V
DD_7
PC3PC2
PF6
V
DD_6
V
SS_4
PF8
H
V
DD_1
DPG13
PG14
PE6PE5
C
PG10
PG11
V
DD_5
PB8
NRST
BPG12PG15
PC15-
OSC32_OUT
PB9
A
87654321
V
BAT
OSC_IN
OSC_OUT
V
SS_5
G
F
E
PF7
PC0
PF0PF1
PF2
V
SS_10
PG9PF4
PF3
V
SS_3
PF5
V
DD_8
V
DD_3
V
DD_4
V
SS_8
PE4
PB5
PB6
BOOT0PB7
V
SS_11
PF10
PC1
V
DD_11VDD_10
PF9
109
K
J
V
SS_2
PD3
PD4
PD1
PC12
PC11
PD5
PD2PD0
V
DD_9
V
SS_9
V
DD_2
PG1
PC5PA5PE9
PB2/
BOOT1
PC4PA4
PE10
PG0PF13V
REF–
PE12V
SSA
PA1PE13
PA0-WKUP
PD9
PD10
PG4
PD13
1211
PG8
PA10
NC
PA9
PA11
PA12
PC10
PC9PA8
PC7
PC6
PC8
PD14
PG3
PG2
PD15
M
L
PF15
PB1PA7PE7
PF12
PB0PA6
PE8
PF14PF11V
DDA
PE14V
REF+
PA3PE15
PA2
PB10
PD8
PD12
PB11
PB12
PB14
PB15
PB13
PC13-
TAMPER-RTC
PE3PE2PE1PE0
PB4
JTRST
PB3
JTDO
PD6PD7
PA15
JTDI
PA14
JTCK
PA13
JTMS
PE11V
SS_6
V
SS_7VSS_1
PG7
PD11
PG5
PG6
PC14-
OSC32_IN
3 Pinouts and pin descriptions
Figure 3.STM32F103xF and STM32F103xG XL-density performance line BGA144 ballout
Doc ID 16554 Rev 325/120
Pinouts and pin descriptionsSTM32F103xF, STM32F103xG