STM32W108CBU64TR ,High-performance, IEEE 802.15.4 wireless system-on-chip with 128-Kbyte Flash, QFN48Functional description . . . . . . 16®1.2.2 ARM Cortex™-M3 core . . . . 172 Documentation ..
STM4431 , P -Channel E nhancement Mode F ield E ffect Transistor
STM4431 , P -Channel E nhancement Mode F ield E ffect Transistor
STM4435 , P-Channel E nhancement Mode Field Effect Transistor
STM4439A , P-Channel E nhancement Mode Field Effect Transistor
STM4472 , N- hannel nhancement Mode Field Effect Transistor
SY10H602JC , 9-BIT LATCHED TTL-TO-ECL
SY10H606JZ , REGISTERED HEX TTL-TO-PECL
SY10H607JC , REGISTERED HEX PECL-TO-TTL
SY10H607JC , REGISTERED HEX PECL-TO-TTL
SY10H842ZH , SINGLE SUPPLY QUAD PECL-TO-TTL OUTPUT ENABLE
SY-12 , FRAME PLL MODULE
STM32W108CBU64TR
High-performance, IEEE 802.15.4 wireless system-on-chip with 128-Kbyte Flash, QFN48
September 2013 DocID16252 Rev 15 1/285
STM32W108HB STM32W108CCSTM32W108CB STM32W108CZHigh-performance, IEEE 802.15.4 wireless system-on-chip with up
to 256 Kbytes of embedded Flash memory
Datasheet - production data
Features Complete system-on-chip 32-bit ARM® Cortex™-M3 processor 2.4 GHz IEEE 802.15.4 transceiver & lower
MAC 128/192/256-Kbyte Flash, 8/12/16-Kbyte
RAM memory AES128 encryption accelerator Flexible ADC, SPI/UART/I2 C serial
communications, and general-purpose
timers 24 highly configurable GPIOs with Schmitt
trigger inputs Industry-leading ARM® Cortex™-M3
processor Leading 32-bit processing performance Highly efficient Thumb® -2 instruction set Operation at 6, 12 or 24 MHz Flexible nested vectored interrupt controller Low power consumption, advanced
management Receive current (w/ CPU): 27 mA Transmit current (w/ CPU, +3 dBm TX): mA Low deep sleep current, with retained RAM
and GPIO: 400 nA/800 nA with/without
sleep timer Low-frequency internal RC oscillator for
low-power sleep timing High-frequency internal RC oscillator for
fast (100 µs) processor start-up from sleep Exceptional RF performance Normal mode link budget up to 102 dB;
configurable up to 107 dB -99 dBm normal RX sensitivity;
configurable to -100 dBm (1% PER, byte packet) +3 dB normal mode output power;
configurable up to +8 dBm Robust WiFi and Bluetooth coexistence Innovative network and processor debug Non-intrusive hardware packet trace Serial wire/JTAG interface Standard ARM debug capabilities: Flash
patch & breakpoint; data watchpoint &
trace; instrumentation trace macrocell Application flexibility Single voltage operation: 2.1-3.6 V with
internal 1.8 V and 1.25 V regulators Optional 32.768 kHz crystal for higher timer
accuracy Low external component count with single
24 MHz crystal Support for external power amplifier Small 7x7 mm 48-pin VFQFPN package or
6x6 mm 40-pin VFQFPN package
Applications Smart energy Building automation and control Home automation and control Security and monitoring ZigBee® Pro wireless sensor networking RF4CE products and remote controls
Contents STM32W108HB STM32W108CC STM32W108CB STM32W108CZ2/285 DocID16252 Rev 15
Contents Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.1 Development tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.2.1 Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.2.2 ARM® Cortex™-M3 core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Documentation conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Pinout and pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Embedded memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314.1 Memory organization and memory map . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2 Flash memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.3 Random-access memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.3.1 Direct memory access (DMA) to RAM . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.3.2 RAM memory protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.3.3 Memory controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.3.4 Memory controller registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.4 Memory protection unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Radio frequency module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435.1 Receive (Rx) path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.1.1 Rx baseband . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.1.2 RSSI and CCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.2 Transmit (Tx) path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.2.1 Tx baseband . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.2.2 TX_ACTIVE and nTX_ACTIVE signals . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.3 Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.4 Integrated MAC module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.5 Packet trace interface (PTI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.6 Random number generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
System modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
DocID16252 Rev 15 3/285
STM32W108HB STM32W108CC STM32W108CB STM32W108CZ Contents
6.1 Power domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.1.1 Internally regulated power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.1.2 Externally regulated power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.2 Resets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.2.1 Reset sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.2.2 Reset recording . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6.2.3 Reset generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.2.4 Reset register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.3 Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
6.3.1 High-frequency internal RC oscillator (HSI) . . . . . . . . . . . . . . . . . . . . . . 54
6.3.2 High-frequency crystal oscillator (HSE OSC) . . . . . . . . . . . . . . . . . . . . 54
6.3.3 Low-frequency internal RC oscillator (LSI10K) . . . . . . . . . . . . . . . . . . . 54
6.3.4 Low-frequency crystal oscillator (LSE OSC) . . . . . . . . . . . . . . . . . . . . . 54
6.3.5 Clock switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
6.3.6 Clock switching registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
6.4 System timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6.4.1 MAC timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6.4.2 Watchdog timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6.4.3 Sleep timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6.4.4 Event timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
6.4.5 Slow timer (MAC timer, Watchdog, and Sleeptimer) control and status
registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
6.5 Power management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.5.1 Wake sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.5.2 Basic sleep modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.5.3 Further options for deep sleep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.5.4 Use of debugger with sleep modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.5.5 Power management registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.6 Security accelerator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Integrated voltage regulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 General-purpose input/output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
8.1 Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
8.1.1 GPIO ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
8.1.2 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
8.1.3 Forced functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Contents STM32W108HB STM32W108CC STM32W108CB STM32W108CZ
4/285 DocID16252 Rev 15
8.1.4 Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
8.1.5 nBOOTMODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
8.1.6 GPIO modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
8.1.7 Wake monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
8.2 External interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
8.3 Debug control and status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
8.4 GPIO alternate functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
8.5 General-purpose input/output (GPIO) registers . . . . . . . . . . . . . . . . . . . 100
8.5.1 Port x configuration register (Low) (GPIOx_CRL) . . . . . . . . . . . . . . . . 100
8.5.2 Port x configuration register (High) (GPIOx_CRH) . . . . . . . . . . . . . . . 101
8.5.3 Port x input data register (GPIOx_IDR) . . . . . . . . . . . . . . . . . . . . . . . . 102
8.5.4 Port x output data register (GPIOx_ODR) . . . . . . . . . . . . . . . . . . . . . . 102
8.5.5 Port x output set register (GPIOx_BSR) . . . . . . . . . . . . . . . . . . . . . . . 103
8.5.6 Port x output clear register (GPIOx_BRR) . . . . . . . . . . . . . . . . . . . . . . 103
8.5.7 External interrupt pending register (EXTI_PR) . . . . . . . . . . . . . . . . . . 104
8.5.8 External interrupt x trigger selection register (EXTIx_TSR) . . . . . . . . . 104
8.5.9 External interrupt x configuration register (EXTIx_CR) . . . . . . . . . . . . 105
8.5.10 PC TRACE or debug select register (GPIO_PCTRACECR) . . . . . . . . 105
8.5.11 GPIO debug configuration register (GPIO_DBGCR) . . . . . . . . . . . . . . 106
8.5.12 GPIO debug status register (GPIO_DBGSR) . . . . . . . . . . . . . . . . . . . 106
8.5.13 General-purpose input/output (GPIO) register map . . . . . . . . . . . . . . . 107 Serial interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
9.1 Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
9.2 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110
9.3 SPI master mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111
9.3.1 Setup and configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
9.3.2 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
9.3.3 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
9.4 SPI slave mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .115
9.4.1 Setup and configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
9.4.2 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
9.4.3 DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
9.4.4 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
9.5 Inter-integrated circuit interfaces (I2C) . . . . . . . . . . . . . . . . . . . . . . . . . . .118
9.5.1 Setup and configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
DocID16252 Rev 15 5/285
STM32W108HB STM32W108CC STM32W108CB STM32W108CZ Contents
9.5.2 Constructing frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
9.5.3 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
9.6 Universal asynchronous receiver/transmitter (UART) . . . . . . . . . . . . . . 122
9.6.1 Setup and configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
9.6.2 FIFOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
9.6.3 RTS/CTS flow control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
9.6.4 DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
9.6.5 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
9.7 Direct memory access (DMA) channels . . . . . . . . . . . . . . . . . . . . . . . . . 126
9.8 Serial controller common registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
9.8.1 Serial controller interrupt status register (SCx_ISR) . . . . . . . . . . . . . . 128
9.8.2 Serial controller interrupt enable register (SCx_IER) . . . . . . . . . . . . . . 130
9.8.3 Serial controller interrupt control register 1 (SCx_ICR) . . . . . . . . . . . . 132
9.8.4 Serial controller data register (SCx_DR) . . . . . . . . . . . . . . . . . . . . . . . 133
9.8.5 Serial controller control register 2 (SCx_CR) . . . . . . . . . . . . . . . . . . . . 133
9.8.6 Serial controller clock rate register 1 (SCx_CRR1) . . . . . . . . . . . . . . . 134
9.8.7 Serial controller clock rate register 2 (SCx_CRR2) . . . . . . . . . . . . . . . 134
9.9 Serial controller: Serial peripheral interface (SPI) registers . . . . . . . . . . 135
9.9.1 Serial controller SPI status register (SCx_SPISR) . . . . . . . . . . . . . . . . 135
9.9.2 Serial controller SPI control register (SCx_SPICR) . . . . . . . . . . . . . . . 136
9.10 Serial controller: Inter-integrated circuit (I2C) registers . . . . . . . . . . . . . 137
9.10.1 Serial controller I2C status register (SCx_I2CSR) . . . . . . . . . . . . . . . . 137
9.10.2 Serial controller I2C control register 1 (SCx_I2CCR1) . . . . . . . . . . . . 138
9.10.3 Serial controller I2C control register 2 (SCx_I2CCR2) . . . . . . . . . . . . 139
9.11 Serial controller: Universal asynchronous receiver/
transmitter (UART) registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
9.11.1 Serial controller UART status register (SC1_UARTSR) . . . . . . . . . . . 140
9.11.2 Serial controller UART control register (SC1_UARTCR) . . . . . . . . . . . 141
9.11.3 Serial controller UART baud rate register 1 (SC1_UARTBRR1) . . . . . 142
9.11.4 Serial controller UART baud rate register 2 (SC1_UARTBRR2) . . . . . 143
9.12 Serial controller: Direct memory access (DMA) registers . . . . . . . . . . . . 144
9.12.1 Serial controller receive DMA begin address channel A register
(SCx_DMARXBEGADDAR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
9.12.2 Serial controller receive DMA end address channel A register
(SCx_DMARXENDADDAR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
9.12.3 Serial controller receive DMA begin address channel B register
(SCx_ DMARXBEGADDBR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145