The STM32F103xC, STM32F103xD and STM32F103xE performance line family
incorporates the high-performance ARM
®
Cortex™-M3 32-bit RISC core operating at a
72 MHz frequency, high-speed embedded memories (Flash memory up to 512 Kbytes and
SRAM up to 64 Kbytes), and an extensive range of enhanced I/Os and peripherals
connected to two APB buses. All devices offer three 12-bit ADCs, four general-purpose 16bit timers plus two PWM timers, as well as standard and advanced communication
interfaces: up to two I
2
Cs, three SPIs, two I2Ss, one SDIO, five USARTs, an USB and a
CAN.
The STM32F103xx high-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 video intercom, and HVAC.
10/130 Doc ID 14611 Rev 8
STM32F103xC, STM32F103xD, STM32F103xEDescription
2.1 Device overview
The STM32F103xx high-density performance line family offers devices in six 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.STM32F103xC, STM32F103xD and STM32F103xE features and peripheral
counts
PeripheralsSTM32F103RxSTM32F103VxSTM32F103Zx
Flash memory in Kbytes256384512256384512256384512
SRAM in Kbytes4864
FSMCNoYes
General-purpose4
Timers
Advanced-control2
Basic2
SPI(I2S)
2
I
(3)
C2
(1)
48644864
(2)
Ye s
3(2)
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 le 1 0 )
Junction temperature: –40 to + 125 °C (see Ta b le 1 0)
1. 64 KB RAM for 256 KB Flash are available on devices delivered in CSP packages only.
2. For the LQFP100 and BGA100 packages, 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.
3. The SPI2 and SPI3 interfaces give the flexibility to work in an exclusive way in either the SPI mode or the
I2S audio mode.
Doc ID 14611 Rev 811/130
DescriptionSTM32F103xC, STM32F103xD, STM32F103xE
Figure 1.STM32F103xC, STM32F103xD and STM32F103xE performance line block diagram
TRACECLK
TRACED[0:3]
as AS
NJTRST
JTDI
JTCK/SWCLK
JTMS/SWDIO
JTDO
as AF
A[25:0]
D[15:0]
CLK
NOE
NWE
NE[4:1]
NBL[1:0]
NWAIT
NL (or NADV)
as AF
D[7:0]
CMD
CK as AF
112AF
PA[15:0]
PB[15:0]
PC[15:0]
PD[15:0]
PE[15:0]
PF[15:0]
PG[15:0]
4 channels3 compl. channels
BKIN, ETR as AF
4 channels3 compl. channels
BKIN, ETR as AF
MOSI, MISO,
SCK, NSSas AF
RX, TX, CTS,
RTS, CK as AF
8 ADC123_INs
common to the 3 ADCs
8 ADC12_INs common
to ADC1 & ADC2
5 ADC3_INs on ADC3
V
REF–
V
REF+
TPIU
Trace/trig
SW/JTAG
Cortex-M3 CPU
F
: 48/72 MHz
max
NVIC
GP DMA1
7 channels
GP DMA2
5 channels
EXT.IT
WKUP
GPIO port A
GPIO port B
GPIO port C
GPIO port D
GPIO port E
GPIO port F
GPIO port G
TIM1
TIM8
SPI1
USART1
Temp. sensor
12-bit ADC1
12-bit ADC2
12-bit ADC3
@ V
DDA
FSMC
SDIO
IF
IF
IF
Pbus
Dbus
System
Ibus
Bus Matrix
APB2: Fmax = 48/72 MHz
Trace
controller
AHB2
APB2
obl
Flash 512 Kbytes
Flash
interface
SRAM
64 KB
Reset &
Clock
control
AHB: Fmax = 48/72 MHz
AHB2
APB1
64 bit
SRAM 512 B
WWDG
TIM6
TIM7
RC 8 MHz
RC 40 kHz
PCLK1
PCLK2
HCLK
FCLK
@V
PLL
DDA
POR
Reset
= 24/36 MHz
max
APB1: F
V
DD
Supply
supervision
POR / PDR
Int
Standby
interface
RTC
AWU
Backup interface
SPI2 / I2 S2
2x(8x16bit)
SPI3 / I2S3
2x(8x16bit)
bxCAN device
USB 2.0 FS
device
IFIF
IF
@V
@V
DD
Power
Volt. reg.
3.3 V to 1.8 V
@V
DDA
PVD
@V
DD
XTAL OSC
4-16 MHz
IWDG
V
@
BAT
XTAL 32kHz
Backup
reg
TIM2
TIM3
TIM4
TIM5
USART 2
USART 3
UART4
UART5
I2C1
I2C2
12bit DAC1
12bit DAC 2
DDA
V
SS
NRST
V
DDA
V
SSA
OSC_IN
OSC_OUT
V
=1.8 V to 3.6 V
BAT
OSC32_IN
OSC32_OUT
TAMPER-RTC/
ALARM/SECOND OUT
4 channels, ETR as AF
4 channels, ETR as AF
4 channels, ETR as AF
4 channelsas AF
RX, TX, CTS, RTS,
CK as AF
RX, TX, CTS, RT S,
CK as AF
RX,TX as AF
RX,TX as AF
MOSI/SD, MISOSCK/CK, MCK, NSS/WSas AF
MOSI/SD, MISO
SCK/CK, MCK, NSS/WS as AF
SCL, SDA, SMBA as AF
SCL, SDA, SMBA as AF
USBDP/CAN_TX
USBDM/CAN_RX
DAC_OUT1 as AF
DAC_OUT2 as AF
ai14666f
1. TA = –40 °C to +85 °C (suffix 6, see Table 74) or –40 °C to +105 °C (suffix 7, see Table 74), junction temperature up to
105 °C or 125 °C, respectively.
2. AF = alternate function on I/O port pin.
12/130 Doc ID 14611 Rev 8
STM32F103xC, STM32F103xD, STM32F103xEDescription
HSE OSC
4-16 MHz
OSC_IN
OSC_OUT
OSC32_IN
OSC32_OUT
LSE OSC
32.768 kHz
HSI RC
8 MHz
LSI RC
40 kHz
to Independent Watchdog (IWDG)
PLL
x2, x3, x4
PLLMUL
HSE = High Speed External clock signal
LSE = Low Speed External clock signal
LSI = Low Speed Internal clock signal
HSI = High Speed Internal clock signal
Legend:
MCO
Clock Output
Main
PLLXTPRE
/2
..., x16
AHB
Prescaler
/1, 2..512
/2
PLLCLK
HSI
HSE
APB1
Prescaler
/1, 2, 4, 8, 16
ADC
Prescaler
/2, 4, 6, 8
ADCCLK
PCLK1
HCLK
PLLCLK
to AHB bus, core,
memory and DMA
USBCLK
to USB interface
USB
Prescaler
/1, 1.5
to ADC1, 2 or 3
LSE
LSI
HSI
/128
/2
HSI
HSE
peripherals
to APB1
Peripheral Clock
Enable (20 bits)
Enable (6 bits)
Peripheral Clock
APB2
Prescaler
/1, 2, 4, 8, 16
PCLK2
TIM1 & 8 timers
to TIM1 and TIM8
peripherals to APB2
Peripheral Clock
Enable (15 bits)
Enable (2 bit)
Peripheral Clock
48 MHz
72 MHz max
72 MHz
72 MHz max
36 MHz max
to RTC
PLLSRC
SW
MCO
CSS
to Cortex System timer
/8
Clock
Enable (4 bits)
SYSCLK
max
RTCCLK
RTCSEL[1:0]
TIMxCLK
TIMXCLK
IWDGCLK
SYSCLK
FCLK Cortex
free running clock
/2
TIM2,3,4,5,6,7
to TIM2,3,4,5,6 and 7
To SDIO AHB interface
Peripheral clock
enable
HCLK/2
to FSMC
FSMCCLK
to SDIO
Peripheral clock
enable
Peripheral clock
enable
to I2S3
to I2S2
Peripheral clock
enable
Peripheral clock
enable
I2S3CLK
I2S2CLK
SDIOCLK
ai14752b
If (APB1 prescaler =1) x1
else x2
If (APB2 prescaler =1) x1
else x2
FLITFCLK
to Flash programming interface
Figure 2.Clock tree
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 14611 Rev 813/130
DescriptionSTM32F103xC, STM32F103xD, STM32F103xE
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 and the STM32F103xC, STM32F103xD and STM32F103xE are
referred to as high-density devices.
Low-density and high-density devices are an extension of the STM32F103x8/B mediumdensity devices, they are specified in the STM32F103x4/6 and STM32F103xC/D/E
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
remaining fully compatible with the other members of the family.
The STM32F103x4, STM32F103x6, STM32F103xC, STM32F103xD and STM32F103xE
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. Ports F and G are not available in devices delivered in 100-pin packages.
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, STM32F103xC, STM32F103xD and STM32F103xE
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 Embedded Flash memory
Up to 512 Kbytes of embedded Flash is available for storing programs and data.
2.3.3 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.
2.3.4 Embedded SRAM
Up to 64 Kbytes of embedded SRAM accessed (read/write) at CPU clock speed with 0 wait
states.
2.3.5 FSMC (flexible static memory controller)
The FSMC is embedded in the STM32F103xC, STM32F103xD and STM32F103xE
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 at 72 MHz and external access is at 24 MHz when HCLK is at 48 MHz
, is HCLK/2, so external access is at 36 MHz when HCLK
CLK
Doc ID 14611 Rev 815/130
DescriptionSTM32F103xC, STM32F103xD, STM32F103xE
2.3.6 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.7 Nested vectored interrupt controller (NVIC)
The STM32F103xC, STM32F103xD and STM32F103xE 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.8 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.
2.3.9 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.
16/130 Doc ID 14611 Rev 8
STM32F103xC, STM32F103xD, STM32F103xEDescription
2.3.10 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.11 Power supply schemes
●V
= 2.0 to 3.6 V: external power supply for I/Os and the internal regulator.
DD
Provided externally through V
●V
SSA
, V
= 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
●V
is used). V
= 1.8 to 3.6 V: power supply for RTC, external clock 32 kHz oscillator and backup
BAT
DDA
and V
must be connected to VDD and VSS, respectively.
SSA
registers (through power switch) when V
For more details on how to connect power pins, refer to Figure 12: Power supply scheme.
2.3.12 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
power supply and compares it to the V
DD/VDDA
threshold. The interrupt service routine can then generate a warning
PVD
message and/or put the MCU into a safe state. The PVD is enabled by software. Refer to
Table 12: Embedded reset and power control block characteristics for the values of
V
POR/PDR
and V
PVD
is below a specified threshold, V
DD
drops below the V
.
DD
pins.
is not present.
DD
POR/PDR
threshold. An interrupt can be
PVD
threshold and/or when VDD/V
PVD
, without the need for an
is higher
DDA
2.3.13 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.
Doc ID 14611 Rev 817/130
DescriptionSTM32F103xC, STM32F103xD, STM32F103xE
2.3.14 Low-power modes
The STM32F103xC, STM32F103xD and STM32F103xE 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.15 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.
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.
The DMA can be used with the main peripherals: SPI, I
and advanced-control timers TIMx, DAC, I
2
S, SDIO and ADC.
2
C, USART, general-purpose, basic
2.3.16 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
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.
pin. The backup registers are forty-two 16-bit
BAT
power is not present.
DD
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
18/130 Doc ID 14611 Rev 8
STM32F103xC, STM32F103xD, STM32F103xEDescription
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.17 Timers and watchdogs
The high-density STM32F103xx performance line devices include up to two advancedcontrol timers, up to four general-purpose timers, two basic timers, two watchdog timers and
a SysTick timer.
Ta bl e 4 compares the features of the advanced-control, general-purpose and basic timers.
Table 4.High-density timer feature comparison
Timer
TIM1,
TIM8
TIM2,
TIM3,
TIM4,
TIM5
TIM6,
TIM7
Counter
resolution
16-bit
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
DMA request
generation
Capture/compare
channels
Ye s4Ye s
Ye s4N o
Ye s0N o
Complementary
outputs
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.
Doc ID 14611 Rev 819/130
DescriptionSTM32F103xC, STM32F103xD, STM32F103xE
General-purpose timers (TIMx)
There are up to 4 synchronizable general-purpose timers (TIM2, TIM3, TIM4 and TIM5)
embedded in the STM32F103xC, STM32F103xD and STM32F103xE performance 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 onepulse mode output. This gives up to 16 input captures / output compares / PWMs on the
largest packages.
The general-purpose timers can work together with the advanced-control timer via the Timer
Link feature for synchronization or event chaining. 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.
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.
2.3.18 I²C bus
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
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 STM32F103xC, STM32F103xD and STM32F103xE 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.
2.3.20 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.21 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 I
mode, the master clock can be output to the external DAC/CODEC at 256 times the
sampling frequency.
2.3.22 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
S interfaces is/are configured in master
2.3.23 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.
Doc ID 14611 Rev 821/130
DescriptionSTM32F103xC, STM32F103xD, STM32F103xE
2.3.24 Universal serial bus (USB)
The STM32F103xC, STM32F103xD and STM32F103xE 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.25 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 except for analog inputs.
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.26 ADC (analog to digital converter)
Three 12-bit analog-to-digital converters are embedded into STM32F103xC, STM32F103xD
and STM32F103xE 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.27 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.
22/130 Doc ID 14611 Rev 8
STM32F103xC, STM32F103xD, STM32F103xEDescription
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
REF+
Eight DAC trigger inputs are used in the STM32F103xC, STM32F103xD and
STM32F103xE performance line family. The DAC channels are triggered through the timer
update outputs that are also connected to different DMA channels.
2.3.28 Temperature sensor
The temperature sensor has to generate a voltage that varies linearly with temperature. The
conversion range is between 2 V < V
connected to the ADC1_IN16 input channel which is used to convert the sensor output
voltage into a digital value.
< 3.6 V. The temperature sensor is internally
DDA
2.3.29 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.30 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.
Doc ID 14611 Rev 823/130
Pinouts and pin descriptionsSTM32F103xC, STM32F103xD, STM32F103xE
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.STM32F103xC and STM32F103xE performance line BGA144 ballout
24/130 Doc ID 14611 Rev 8
STM32F103xC, STM32F103xD, STM32F103xEPinouts and pin descriptions
AI14601c
PE10
PC14-
OSC32_IN
PC5PA5
PC3
PB4
PE15
PB2
PC4PA4
H
PE14
PE11PE7
DPD4
PD3
PB8PE3
C
PD0
PC12
PE5
PB5
PC0
PE2
BPC11PD2
PC15-
OSC32_OUT
PB7
PB6
A
87654321
V
SS_5
OSC_IN
OSC_OUTV
DD_5
G
F
E
PC1
V
REF–
PC13-
TAMPER-RTC
PB9
PA15
PB3
PE4
PE1
PE0
V
SS_1
PD1PE6NRST
PC2
V
SS_3
V
SS_4
NCV
DD_3
V
DD_4
PB15
V
BAT
PD5
PD6
BOOT0PD7
V
SS_2
V
SSA
PA1
V
DD_2
V
DD_1
PB14
PA0-WKUP
109
K
J
PD10
PD11
PA8
PA9
PA10
PA11
PA12
PC10
PA13
PA14
PC9
PC7
PC6
PD15
PC8
PD14
PE12
PB1PA7
PB11
PE8
PB0PA6
PB10
PE13PE9V
DDA
PB13
V
REF+
PA3
PB12
PA2
PD8
PD9
PD13
PD12
Figure 4.STM32F103xC and STM32F103xE performance line BGA100 ballout
Doc ID 14611 Rev 825/130
Pinouts and pin descriptionsSTM32F103xC, STM32F103xD, STM32F103xE