The STM32W108 is a fully integrated System-on-Chip that integrates a 2.4 GHz, IEEE
802.15.4-compliant transceiver, 32-bit ARM® Cortex™-M3 microprocessor, Flash and RAM
memory, and peripherals of use to designers of 802.15.4-based systems.
Figure 1.STM32W108 block diagram
The transceiver utilizes an efficient architecture that exceeds the dynamic range
requirements imposed by the IEEE 802.15.4-2003 standard by over 15 dB. The integrated
receive channel filtering allows for robust co-existence with other communication standards
in the 2.4 GHz spectrum, such as IEEE 802.11 and Bluetooth. The integrated regulator,
VCO, loop filter, and power amplifier keep the external component count low. An optional
high performance radio mode (boost mode) is software-selectable to boost dynamic range.
The integrated 32-bit ARM® Cortex™-M3 microprocessor is highly optimized for high
ormance, low power consumption, and efficient memory utilization. Including an
perf
integrated MPU, it supports two different modes of operation: Privileged mode and
Unprivileged mode. This architecture could be used to separate the networking stack from
imposed by the ZigBee and IEEE 802.15.4-2003
the application code and prevent unwanted modification of restricted areas of memory and
registers resulting in increased stability and reliability of deployed solutions.
The STM32W108 has 128/192/256 Kbytes of embedded Flash memory and 8/12/16 Kbytes
f integrated RAM for data and program storage. The STM32W108 HAL software employs
o
an effective wear-leveling algorithm that optimizes the lifetime of the embedded Flash.
To maintain the strict timing requirements
10/232Doc ID 16252 Rev 13
standards, the STM32W108 integrates a number of MAC functions into the hardware. The
MAC hardware handles automatic ACK transmission and reception, automatic backoff
delay, and clear channel assessment for transmission, as well as automatic filtering of
received packets. A packet trace interface is also integrated with the MAC, allowing
complete, non-intrusive capture of all packets to and from the STM32W108.
The STM32W108 offers a number of advanced power management features that enable
long battery life. A high-frequency internal RC oscillator allows the processor core to begin
code execution quickly upon waking. Various deep sleep modes are available with less than
1 µA power consumption while retaining RAM contents. To support user-defined
applications, on-chip peripherals include UART, SPI, I
as well as up to 24 GPIOs. Additionally, an integrated voltage regulator, power-on-reset
circuit, and sleep timer are available.
2
C, ADC and general-purpose timers,
1.1 Development tools
The STM32W108 implements both the ARM Serial Wire and JTAG debug interfaces. These
interfaces provide real time, non-intrusive programming and debugging capabilities. Serial
Wire and JTAG provide the same functionality, but are mutually exclusive. The Serial Wire
interface uses two pins; the JTAG interface uses five. Serial Wire is preferred, since it uses
fewer pins.
The STM32W108 also integrates the standard ARM system debug components: Flash
Patch and Breakpoint (FPB), Data Watchpoint and Trace (DWT), and Instrumentation Trace
Macrocell (DWT).
The STM32W108 radio receiver is a low-IF, super-heterodyne receiver. The architecture has
been chosen to optimize co-existence with other devices in the 2.4 GHz band (namely, WIFI
and Bluetooth), and to minimize power consumption. The receiver uses differential signal
paths to reduce sensitivity to noise interference. Following RF amplification, the signal is
downconverted by an image-rejecting mixer, filtered, and then digitized by an ADC.
The radio transmitter uses an efficient architecture in which the data stream directly
modulates the VCO frequency. An integrated power amplifier (PA) provides the output
power. Digital logic controls Tx path and output power calibration. If the STM32W108 is to
be used with an external PA, use the TX_ACTIVE or nTX_ACTIVE signal to control the
timing of the external switching logic.
The integrated 4.8 GHz VCO and loop filter minimize off-chip circuitry. Only a 24 MHz
crystal with its loading capacitors is required to establish the PLL local oscillator signal.
The MAC interfaces the on-chip RAM to the Rx and Tx baseband modules. The MAC
provides hardware-based IEEE 802.15.4 packet-level filtering. It supplies an accurate
symbol time base that minimizes the synchronization effort of the software stack and meets
the protocol timing requirements. In addition, it provides timer and synchronization
assistance for the IEEE 802.15.4 CSMA-CA algorithm.
The STM32W108 integrates an ARM® Cortex-M3 microprocessor, revision r1p1. This
industry-leading core provides 32 bit performance and is very power efficient. It has
excellent code density using the ARM® Thumb 2 instruction set. The processor can be
operated at 12 MHz or 24 MHz when using the crystal oscillator, or at 6 MHz or 12 MHz
when using the integrated high frequency RC oscillator.
The STM32W108 has 128/192/256 Kbytes of Flash memory, 8/12/16 Kbytes of SRAM onchip, and the ARM configurable memory protection unit (MPU).
The STM32W108 contains 24 GPIO pins shared with other peripheral or alternate functions.
Because of flexible routing within the STM32W108, external devices can use the alternate
functions on a variety of different GPIOs. The integrated Serial Controller SC1 can be
configured for SPI (master or slave), I
Controller SC2 can be configured for SPI (master or slave) or I
The STM32W108 has a general purpose ADC which can sample analog signals from six
GPIO pins in single-ended or differential modes. It can also sample the regulated supply
VDD_PADSA, the voltage reference VREF, and GND. The ADC has two selectable voltage
ranges: 0 V to 1.2 V (normal) and 0.1 V to 0.1 V below the high voltage supply (high). The
ADC has a DMA mode to capture samples and automatically transfer them into RAM. The
integrated voltage reference for the ADC, VREF, can be made available to external circuitry.
An external voltage reference can also be driven into the ADC.
The STM32W108 contains four oscillators: a high frequency 24 MHz external crystal
oscillator, a high frequency 12 MHz internal RC oscillator, an optional low frequency 32.768
kHz external crystal oscillator, and a 10 kHz internal RC oscillator.
2
C (master-only), or UART operation, and the Serial
2
C (master-only) operation.
The STM32W108 has an ultra low power, deep sleep state with a choice of clocking modes.
The sleep timer can be clocked with either the external 32.768 kHz crystal oscillator or with
a 1 kHz clock derived from the internal 10 kHz RC oscillator. Alternatively, all clocks can be
disabled for the lowest power mode. In the lowest power mode, only external events on
GPIO pins will wake up the chip. The STM32W108 has a fast startup time (typically 100 µs)
from deep sleep to the execution of the first ARM® Cortex-M3 instruction.
The STM32W108 contains three power domains. The always-on high voltage supply powers
the GPIO pads and critical chip functions. Regulated low voltage supplies power the rest of
the chip. The low voltage supplies are be disabled during deep sleep to reduce power
consumption. Integrated voltage regulators generate regulated 1.25 V and 1.8 V voltages
from an unregulated supply voltage. The 1.8 V regulator output is decoupled and routed
externally to supply analog blocks, RAM, and Flash memories. The 1.25 V regulator output
is decoupled externally and supplies the core logic.
The digital section of the receiver uses a coherent demodulator to generate symbols for the
hardware-based MAC. The digital receiver also contains the analog radio calibration
routines and controls the gain within the receiver path.
In addition to 2 general-purpose timers, the STM32W108 also contains a watchdog timer to
ensure protection against software crashes and CPU lockup, a 32-bit sleep timer dedicated
to system timing and waking from sleep at specific times and an ARM® standard system
event timer in the NVIC.
The STM32W108 integrates hardware support for a Packet Trace module, which allows
robust packet-based debug.
Note:The STM32W108 is not pin-compatible with the previous generation chip, the SN250,
except for the RF section of the chip. Pins 1-11 and 45-48 are compatible, to ease migration
to the STM32W108.
1.2.2 ARM® Cortex™-M3 core
The STM32W108 integrates the ARM® Cortex™-M3 microprocessor, revision r1p1,
developed by ARM Ltd, making the STM32W108 a true system-on-a-chip solution. The
ARM® Cortex-M3 is an advanced 32-bit modified Harvard architecture processor that has
separate internal program and data buses, but presents a unified program and data address
space to software. The word width is 32 bits for both the program and data sides. The
ARM® Cortex-M3 allows unaligned word and half-word data accesses to support efficientlypacked data structures.
The ARM® Cortex-M3 clock speed is configurable to 6 MHz, 12 MHz, or 24 MHz. For
normal operation 12 MHz is preferred over 24 MHz due to its lower power consumption. The
6 MHz operation can only be used when radio operations are not required since the radio
requires an accurate 12 MHz clock.
The ARM® Cortex-M3 in the STM32W108 has also been enhanced to support two separate
memory protection levels. Basic protection is available without using the MPU, but the usual
operation uses the MPU. The MPU protects unimplemented areas of the memory map to
prevent common software bugs from interfering with software operation. The architecture
could also separate the networking stack from the application code using a fine granularity
RAM protection module. Errant writes are captured and details are reported to the developer
to assist in tracking down and fixing issues.
Table 1.Description of abbreviations used for bitfield access
AbbreviationDescription
(1)
Read/Write (rw)
Read-only (r)
Write only (w)
Read/Write in (MPU)
Privileged mode only (rws)
1. The conditions under which the hardware (core) sets or clears this field are explained in details in the
bitfield description, as well as the events that may be generated by writing to the bit.
Software can read and write to these bits.
Software can only read these bits.
Software can only write to this bit. Reading returns the reset value.
Software can read and write to these bits only in Privileged mode. For
re information, please refer to RAM memory protection on page 30
mo
and Memory protection unit on page 31.
14/232Doc ID 16252 Rev 13
STM32W108HB STM32W108CC STM32W108CB STM32W108CZPinout and pin description
Ai15261
Ground pad on back
VDD_24MHZ
RF_P
RF_N
VDD_RF
RF_TX_ALT_P
RF_TX_ALT_N
VDD_IF
BIAS_R
VDD_PADSA
PC5, TX_ACTIVE
VDD_PADS
PA1, TIM2C3, SC2SDA, SC2MISO
PA0, TIM2C1, SC2MOSI
PA7, TIM1C4, REG_EN
VDD_CORE
VREG_OUT
PC6, OSC32B, nTX_ACTIVE
VDD_PADS
PA2, TIM2C4, SC2SCL, SC2SCLK
PB0, VREF, IRQA, TRACECLK, TIM1CLK, TIM2MSK
PC4, JTMS, SWDIO
PC3, JTDI
PC2, JTDO, SWO
SWCLK, JTCK
VDD_PADS
PA5, ADC5, PTI_DATA, nBOOTMODE, TRACEDATA3
PA4, ADC4, PTI_EN, TRACEDATA2
PA 3, SC2nSSEL, TRACECLK, TIM2C2
PC1, ADC3, SWO, TRACEDATA0
VDD_MEM
PB7, ADC2, IRQC, TIM1C2
PB5, ADC0, TIM2CLK, TIM1MSK
VDD_CORE
VDD_PRE
OSCA
PC0, JRST, IRQDn, TRACEDATA1
OSCB
VDD_PADS
1
2
3
4
5
6
7
8
9
10
11
12
13 14 15 16 17 18 19 20 21 22
23 24
36
35
34
33
32
31
30
29
28
27
26
25
48 47 46 45 44 43 42 41 40 39
38 37
VDD_VCO
nRESET
PC7, OSC32A, OSC32_EXT
PB3, TIM2C3, SC1nCTS, SC1SCLK
PB4, TIM2C4, SC1nRTS, SC1nSSEL
PB1, SC1MISO, SC1MOSI, SC1SDA , SC1TXD, TIM2C1
PA6, TIM1C3
PB2, SC1MISO, SC1MOSI, SC1SCL, SC1RXD, TIM2C2
VDD_SYNTH
PB6, ADC1, IRQ6, TIM1C1
3 Pinout and pin description
Figure 2.48-pin VFQFPN pinout
Doc ID 16252 Rev 1315/232
Pinout and pin descriptionSTM32W108HB STM32W108CC STM32W108CB STM32W108CZ
1512VREG_OUTPowerRegulator output (1.8 V while awake, 0 V during deep sleep)
40-Pin
Package
Pin no.
SignalDirectionDescription
VDD_PADSAPowerAnalog pad supply (1.8V)
PC5I/ODigital I/O
Logic-level control for external Rx/Tx switch. The
TX_ACTIVEO
PC6I/ODigital I/O
OSC32BI/O
nTX_ACTIVEO
PC7I/ODigital I/O
OSC32AI/O
OSC32_EXTIDigital 32 kHz clock input source
STM32W108 baseband controls TX_ACTIVE and drives it
high (VDD_PADS) when in Tx mode.
Select alternate output function with GPIO_PCCFGH[7:4]
32.768 kHz crystal oscillator
Select analog function with GPIO_PCCFGH[11:8]
Inverted TX_ACTIVE signal (see PC5)
Select alternate output function with GPIO_PCCFGH[11:8]
32.768 kHz crystal oscillator.
Select analog function with GPIO_PCCFGH[15:12]
1613VDD_PADSPowerPads supply (2.1-3.6 V)
1714VDD_COREPower1.25 V digital core supply decoupling
I/O
18
PA 7
TIM1_CH4
REG_ENOExternal regulator open drain output. (Enabled after reset.)
High
current
O
Digital I/O. Disable REG_EN with GPIO_DBGCFG[4]
Timer 1 Channel 4 output
Enable timer output with TIM1_CCER
Select alternate output function with GPIO_PACFGH[15:12]
Disable REG_EN with GPIO_DBGCFG[4]
ITimer 1 Channel 4 input. (Cannot be remapped.)
Doc ID 16252 Rev 1317/232
Pinout and pin descriptionSTM32W108HB STM32W108CC STM32W108CB STM32W108CZ
Table 2.Pin descriptions (continued)
48-Pin
Package
Pin no.
1915
40-Pin
Package
Pin no.
SignalDirectionDescription
PB3I/ODigital I/O
Timer 2 channel 3 output
TIM2_CH3
(see Pin 22)
UART_CTSI
SC1SCLK
PB4I/ODigital I/O
TIM2_CH4
(see also
Pin 24)
O
O
O
Enable remap with TIM2_OR[6]
Enable timer output in TIM2_CCER
Select alternate output function with GPIO_PBCFGL[15:12]
ITimer 2 channel 3 input. Enable remap with TIM2_OR[6].
UART CTS handshake of Serial Controller 1
Enable with SC1_UARTCFG[5]
Select UART with SC1_MODE
SPI master clock of Serial Controller 1
Either disable timer output in TIM2_CCER or disable remap
with TIM2_OR[6]
Enable master with SC1_SPICFG[4]
Select SPI with SC1_MODE
Select alternate output function with GPIO_PBCFGL[15:12]
SPI slave clock of Serial Controller 1
I
Enable slave with SC1_SPICFG[4]
Select SPI with SC1_MODE
Timer 2 channel 4 output
Enable remap with TIM2_OR[7]
Enable timer output in TIM2_CCER
Select alternate output function with GPIO_PBCFGH[3:0]
ITimer 2 channel 4 input. Enable remap with TIM2_OR[7].
2016
UART_RTSO
SC1nSSELI
18/232Doc ID 16252 Rev 13
UART RTS handshake of Serial Controller 1
Either disable timer output in TIM2_CCER or disable remap
with TIM2_OR[7]
Enable with SC1_UARTCFG[5]
Select UART with SC1_MODE
Select alternate output function with GPIO_PBCFGH[3:0]
SPI slave select of Serial Controller 1
Enable slave with SC1_SPICFG[4]
Select SPI with SC1_MODE
STM32W108HB STM32W108CC STM32W108CB STM32W108CZPinout and pin description
Table 2.Pin descriptions (continued)
48-Pin
Package
Pin no.
2117
2218
2319VDD_PADSPowerPads supply (2.1-3.6V)
40-Pin
Package
Pin no.
SignalDirectionDescription
PA 0I/ODigital I/O
Timer 2 channel 1 output
TIM2_CH1
(see also
30)
Pin
SC2MOSI
PA 1I/ODigital I/O
TIM2_CH3
(see also
Pin 19)
SC2SDAI/O
SC2MISO
O
O
O
O
Disable remap with TIM2_OR[4]
Enable timer output in TIM2_CCER
Select alternate output function with GPIO_PACFGL[3:0]
ITimer 2 channel 1 input. Disable remap with TIM2_OR[4].
SPI master data out of Serial Controller 2
Either disable timer output in TIM2_CCER or enable remap
with TIM2_OR[4]
Enable master with SC2_SPICFG[4]
Select SPI with SC2_MODE
Select alternate output function with GPIO_PACFGL[3:0]
SPI slave data in of Serial Controller 2
I
Enable slave with SC2_SPICFG[4]
Select SPI with SC2_MODE
Timer 2 channel 3 output
Disable remap with TIM2_OR[6]
Enable timer output in TIM2_CCER
Select alternate output function with GPIO_PACFGL[7:4]
ITimer 2 channel 3 input. Disable remap with TIM2_OR[6].
I2C data of Serial Controller 2
Either disable timer output in TIM2_CCER or enable remap
with TIM2_OR[6]
Select I2C with SC2_MODE
Select alternate open-drain output function with
GPIO_PACFGL[7:4]
SPI slave data out of Serial Controller 2
Either disable timer output in TIM2_CCER or enable remap
with TIM2_OR[6]
Enable slave with SC2_SPICFG[4]
Select SPI with SC2_MODE
Select alternate output function with GPIO_PACFGL[7:4]
SPI master data in of Serial Controller 2
I
Enable slave with SC2_SPICFG[4]
Select SPI with SC2_MODE
Doc ID 16252 Rev 1319/232
Pinout and pin descriptionSTM32W108HB STM32W108CC STM32W108CB STM32W108CZ
Table 2.Pin descriptions (continued)
48-Pin
Package
Pin no.
2420
40-Pin
Package
Pin no.
SignalDirectionDescription
PA 2I/ODigital I/O
Timer 2 channel 4 output
TIM2_CH4
(see also
20)
Pin
SC2SCLI/O
SC2SCLK
PA 3I/ODigital I/O
O
O
Disable remap with TIM2_OR[7]
Enable timer output in TIM2_CCER
Select alternate output function with GPIO_PACFGL[11:8]
ITimer 2 channel 4 input. Disable remap with TIM2_OR[7].
I2C clock of Serial Controller 2
Either disable timer output in TIM2_CCER or enable remap
with TIM2_OR[7]
Select I2C with SC2_MODE
Select alternate open-drain output function with
GPIO_PACFGL[11:8]
SPI master clock of Serial Controller 2
Either disable timer output in TIM2_CCER or enable remap
with TIM2_OR[7]
Enable master with SC2_SPICFG[4]
Select SPI with SC2_MODE
Select alternate output function with GPIO_PACFGL[11:8]
SPI slave clock of Serial Controller 2
I
Enable slave with SC2_SPICFG[4]
Select SPI with SC2_MODE
2521
SC2nSSELI
TRACECLK
(see also Pin
36)
TIM2_CH2
(see also Pin
31)
SPI slave select of Serial Controller 2
Enable slave with SC2_SPICFG[4]
Select SPI with SC2_MODE
Synchronous CPU trace clock
Either disable timer output in TIM2_CCER or enable remap
O
O
with TIM2_OR[5]
Enable trace interface in ARM core
Select alternate output function with GPIO_PACFGL[15:12]
Timer 2 channel 2 output
Disable remap with TIM2_OR[5]
Enable timer output in TIM2_CCER
Select alternate output function with GPIO_PACFGL[15:12]
ITimer 2 channel 2 input. Disable remap with TIM2_OR[5].
20/232Doc ID 16252 Rev 13
STM32W108HB STM32W108CC STM32W108CB STM32W108CZPinout and pin description
Table 2.Pin descriptions (continued)
48-Pin
Package
Pin no.
2622
2723
2824VDD_PADSPowerPads supply (2.1-3.6 V)
40-Pin
Package
Pin no.
SignalDirectionDescription
PA 4I/ODigital I/O
ADC4Analog
PTI_ENO
TRACEDATA2O
PA 5I/ODigital I/O
ADC5Analog
PTI_DATAO
nBOOTMODEI
TRACEDATA3O
ADC Input 4. Select analog function with
GPIO_PACFGH[3:0].
Frame signal of Packet Trace Interface (PTI).
Disable trace interface in ARM core.
Select alternate output function with GPIO_PACFGH[3:0].
Synchronous CPU trace data bit 2.
Select 4-wire synchronous trace interface in ARM core.
Enable trace interface in ARM core.
Select alternate output function with GPIO_PACFGH[3:0].
ADC Input 5. Select analog function with
GPIO_PACFGH[7:4].
Data signal of Packet Trace Interface (PTI).
Disable trace interface in ARM core.
Select alternate output function with GPIO_PACFGH[7:4].
Embedded serial bootloader activation out of reset.
Signal is active during and immediately after a reset on NRST.
Section 6.2: Resets on page 37 for details.
See
Synchronous CPU trace data bit 3.
Select 4-wire synchronous trace interface in ARM core.
Enable trace interface in ARM core.
Select alternate output function with GPIO_PACFGH[7:4]
29
PA 6
TIM1_CH3
I/O
High
current
O
Digital I/O
Timer 1 channel 3 output
Enable timer output in TIM1_CCER
Select alternate output function with GPIO_PACFGH[11:8]
ITimer 1 channel 3 input (Cannot be remapped.)
Doc ID 16252 Rev 1321/232
Pinout and pin descriptionSTM32W108HB STM32W108CC STM32W108CB STM32W108CZ
Table 2.Pin descriptions (continued)
48-Pin
Package
Pin no.
3025
40-Pin
Package
Pin no.
SignalDirectionDescription
PB1I/ODigital I/O
SPI slave data out of Serial Controller 1
Either disable timer output in TIM2_CCER or disable remap
SC1MISOO
SC1MOSIO
SC1SDAI/O
SC1TXDO
with TIM2_OR[4]
Select SPI with SC1_MODE
Select slave with SC1_SPICR
Select alternate output function with GPIO_PBCFGL[7:4]
SPI master data out of Serial Controller 1
Either disable timer output in TIM2_CCER or disable remap
with TIM2_OR[4]
Select SPI with SC1_MODE
Select master with SC1_SPICR
Select alternate output function with GPIO_PBCFGL[7:4]
I2C data of Serial Controller 1
Either disable timer output in TIM2_CCER,
or disable remap with TIM2_OR[4]
Select I2C with SC1_MODE
Select alternate open-drain output function with
GPIO_PBCFGL[7:4]
UART transmit data of Serial Controller 1
Either disable timer output in TIM2_CCER or disable remap
with TIM2_OR[4]
Select UART with SC1_MODE
Select alternate output function with GPIO_PBCFGL[7:4]
Timer 2 channel 1 output
TIM2_CH1
(see also
Pin
21)
22/232Doc ID 16252 Rev 13
O
Enable remap with TIM2_OR[4]
Enable timer output in TIM2_CCER
Select alternate output function with GPIO_PACFGL[7:4]
ITimer 2 channel 1 input. Disable remap with TIM2_OR[4].
STM32W108HB STM32W108CC STM32W108CB STM32W108CZPinout and pin description
Table 2.Pin descriptions (continued)
48-Pin
Package
Pin no.
3126
3227
40-Pin
Package
Pin no.
SignalDirectionDescription
PB2I/ODigital I/O
SPI master data in of Serial Controller 1
SC1MISOI
SC1MOSII
SC1SCLI/O
SC1RXDI
TIM2_CH2
(see also Pin
25)
SWCLKI/O
JTCKI
O
Select SPI with SC1_MODE
Select master with SC1_SPICR
SPI slave data in of Serial Controller 1
Select SPI with SC1_MODE
Select slave with SC1_SPICR
I2C clock of Serial Controller 1
Either disable timer output in TIM2_CCER,
or disable remap with TIM2_OR[5]
Select I2C with SC1_MODE
Select alternate open-drain output function with
GPIO_PBCFGL[11:8]
UART receive data of Serial Controller 1
Select UART with SC1_MODE
Timer 2 channel 2 output
Enable remap with TIM2_OR[5]
Enable timer output in TIM2_CCER
Select alternate output function with GPIO_PBCFGL[11:8]
ITimer 2 channel 2 input. Enable remap with TIM2_OR[5].
Serial Wire clock input/output with debugger
Selected when in Serial Wire mode (see JTMS description,
Pin 35)
JTAG clock input from debugger
Selected when in JTAG mode (default mode, see JTMS
description, Pin
Internal pull-down is enabled
35)
3328
PC2I/O
JTDOO
SWOO
Digital I/O
Enable with GPIO_DBGCFG[5]
JTAG data out to debugger
Selected when in JTAG mode (default mode, see JTMS
description, Pin
Serial Wire Output asynchronous trace output to debugger
Select asynchronous trace interface in ARM core
Enable trace interface in ARM core
Select alternate output function with GPIO_PCCFGL[11:8]
Enable Serial Wire mode (see JTMS description, Pin 35)
Internal pull-up is enabled
Doc ID 16252 Rev 1323/232
35)
Pinout and pin descriptionSTM32W108HB STM32W108CC STM32W108CB STM32W108CZ
Table 2.Pin descriptions (continued)
48-Pin
Package
Pin no.
3429
3530
40-Pin
Package
Pin no.
SignalDirectionDescription
Digital I/O
PC3I/O
JTDII
PC4I/O
JTMSI
SWDIOI/O
PB0I/ODigital I/O
Either Enable with GPIO_DBGCFG[5],
or enable Serial Wire mode (see JTMS description)
JTAG data in from debugger
Selected when in JTAG mode (default mode, see JTMS
description, Pin 35)
Internal pull-up is enabled
Digital I/O
Enable with GPIO_DBGCFG[5]
JTAG mode select from debugger
Selected when in JTAG mode (default mode)
JTAG mode is enabled after power-up or by forcing NRST low
Select Serial Wire mode using the ARM-defined protocol
through a debugger
Internal pull-up is enabled
Serial Wire bidirectional data to/from debugger
Enable Serial Wire mode (see JTMS description)
Select Serial Wire mode using the ARM-defined protocol
through a debugger
Internal pull-up is enabled
VREFAnalog O
VREFAnalog I
36
37VDD_PADSPowerPads supply (2.1 to 3.6 V).
IRQAIExternal interrupt source A.
TRACECLK
(see also Pin
25)
TIM1CLKITimer 1 external clock input.
TIM2MSKITimer 2 external clock mask input.
O
ADC reference output.
Enable analog function with GPIO_PBCFGL[3:0].
ADC reference input.
Enable analog function with GPIO_PBCFGL[3:0].
Enable reference output with an ST system function.
Synchronous CPU trace clock.
Enable trace interface in ARM core.
Select alternate output function with GPIO_PBCFGL[3:0].
24/232Doc ID 16252 Rev 13
STM32W108HB STM32W108CC STM32W108CB STM32W108CZPinout and pin description
Table 2.Pin descriptions (continued)
48-Pin
Package
Pin no.
40-Pin
Package
Pin no.
SignalDirectionDescription
PC1I/ODigital I/O
ADC Input 3
Enable analog function with GPIO_PCCFGL[7:4]
Serial Wire Output asynchronous trace output to debugger
Select asynchronous trace interface in ARM core
Enable trace interface in ARM core
Select alternate output function with GPIO_PCCFGL[7:4]
3831
ADC3Analog
SWO
(see also Pin
O
33)
Synchronous CPU trace data bit 0
Select 1-, 2- or 4-wire synchronous trace interface in ARM
TRACEDATA0O
core
Enable trace interface in ARM core
Select alternate output function with GPIO_PCCFGL[7:4]
3932VDD_MEMPower1.8 V supply (flash, RAM)
Digital I/O
Either enable with GPIO_DBGCFG[5],
or enable Serial Wire mode (see JTMS description, Pin 35)
and disable TRACEDATA1
PC0
I/O
High
current
JTAG reset input from debugger
4033
JRSTI
Selected when in JTAG mode (default mode, see JTMS
description) and TRACEDATA1 is disabled
Internal pull-up is enabled
(1)
IRQD
IDefault external interrupt source D
Synchronous CPU trace data bit 1
TRACEDATA1O
Select 2- or 4-wire synchronous trace interface in ARM core
Enable trace interface in ARM core
Select alternate output function with GPIO_PCCFGL[3:0]
4134
I/O
PB7
High
current
ADC2Analog
(1)
IRQC
IDefault external interrupt source C
O
TIM1_CH2
ITimer 1 channel 2 input (Cannot be remapped)
Doc ID 16252 Rev 1325/232
Digital I/O
ADC Input 2
Enable analog function with GPIO_PBCFGH[15:12]
Timer 1 channel 2 output
Enable timer output in TIM1_CCER
Select alternate output function with GPIO_PBCFGH[15:12]
Pinout and pin descriptionSTM32W108HB STM32W108CC STM32W108CB STM32W108CZ
Table 2.Pin descriptions (continued)
48-Pin
Package
Pin no.
40-Pin
Package
Pin no.
SignalDirectionDescription
I/O
PB6
High
Digital I/O
current
ADC Input 1
Enable analog function with GPIO_PBCFGH[11:8]
4235
ADC1Analog
IRQBIExternal interrupt source B
Timer 1 channel 1 output
TIM1_CH1
O
Enable timer output in TIM1_CCER
Select alternate output function with GPIO_PBCFGH[11:8]
ITimer 1 channel 1 input (Cannot be remapped)
PB5I/ODigital I/O
43
ADC0Analog
ADC Input 0
Enable analog function with GPIO_PBCFGH[7:4]
TIM2CLKITimer 2 external clock input
TIM1MSKITimer 2 external clock mask input
4436VDD_COREPower1.25 V digital core supply decoupling
4537VDD_PREPower1.8 V prescaler supply
46VDD_SYNTHPower1.8 V synthesizer supply
4738OSCBI/O
24 MHz crystal oscillator or left open when using external
clock input on OSCA
4839OSCAI/O24 MHz crystal oscillator or external clock input
4941GNDGroundGround supply pad in the bottom center of the package.
1. IRQC and IRQD external interrupts can be mapped to any digital I/O pin using the GPIO_IRQCSEL and GPIO_IRQDSEL
registers.
The STM32W108 provides Flash memory in four separate blocks as follows:
●Main Flash Block (MFB)
●Fixed Information Block (FIB)
●Fixed Information Block Extension (FIB-EXT)
●Customer Information Block (CIB)
The size of these blocks and associated page size is described in Tab l e 3.
Table 3.Flash memory
STM32W108xBSTM32W108CCSTM32W108CZ
Unit
SizePage sizeSizePage sizeSizePage size
MFB128125621922K Bytes
FIB222222K Bytes
CIB0.50.52222K Bytes
FIB-EXT0N/A162162K Bytes
Total130.5276212K Bytes
The smallest erasable unit is one page and the smallest writable unit is an aligned 16-bit
half-word. The flash is guaranteed to have 10k write/erase cycles. The flash cell has been
qualified for a data retention time of >100 years at room temperature.
Flash may be programmed either through the Serial Wire/JTAG interface or through
bootloader software. Programming flash through Serial Wire/JTAG requires the assistance
of RAM-based utility code. Programming through a bootloader requires specific software for
over-the-air loading or serial link loading. A simplified, serial-link-only bootloader is also
available preprogrammed into the FIB.
4.2 Random-access memory
The STM32W108 has 8/12/16 Kbytes of static RAM on-chip. The start of RAM is mapped to
address 0x20000000. Although the ARM® Cortex-M3 allows bit band accesses to this
address region, the standard MPU configuration does not permit use of the bit-band feature.
The RAM is physically connected to the AHB System bus and is therefore accessible to both
the ARM® Cortex-M3 microprocessor and the debugger. The RAM can be accessed for
both instruction and data fetches as bytes, half words, or words. The standard MPU
configuration does not permit execution from the RAM, but for special purposes, such as
programming the main flash block, the MPU may be disabled. To the bus, the RAM appears
as 32-bit wide memory and in most situations has zero wait state read or write access. In
the higher CPU clock mode the RAM requires two wait states. This is handled by hardware
transparent to the user application with no configuration required.
Several of the peripherals are equipped with DMA controllers allowing them to transfer data
into and out of RAM autonomously. This applies to the radio (802.15.4 MAC), general
purpose ADC, and both serial controllers. In the case of the serial controllers, the DMA is full
duplex so that a read and a write to RAM may be requested at the same time. Thus there
are six DMA channels in total.
The STM32W108 integrates a DMA arbiter that ensures fair access to the microprocessor
as well as the peripherals through a fixed priority scheme appropriate to the memory
bandwidth requirements of each master. The priority scheme is as follows, with the top
peripheral being the highest priority:
1.General Purpose ADC
2. Serial Controller 2 Receive
3. Serial Controller 2 Transmit
4. MAC
5. Serial Controller 1 Receive
6. Serial Controller 1 Transmit
4.2.2 RAM memory protection
The STM32W108 integrates two memory protection mechanisms. The first memory
protection mechanism is through the ARM® Cortex-M3 Memory Protection Unit (MPU)
described in the Memory Protection Unit section. The MPU may be used to protect any area
of memory. MPU configuration is normally handled by software. The second memory
protection mechanism is through a fine granularity RAM protection module. This allows
segmentation of the RAM into blocks where any block can be marked as write protected. An
attempt to write to a protected RAM block using a user mode write results in a bus error
being signaled on the AHB System bus. A system mode write is allowed at any time and
reads are allowed in either mode. The main purpose of this fine granularity RAM protection
module is to notify the stack of erroneous writes to system areas of memory. RAM protection
is configured using a group of registers that provide a bit map. Each bit in the map
represents a 32-byte block of RAM for STM32W108xB and 64 bytes of RAM for
STM32W108CC and STM32W108CZ. When the bit is set the block is write protected.
The fine granularity RAM memory protection mechanism is also available to the peripheral
DMA controllers. A register bit is provided to enable the memory protection to include DMA
writes to protected memory. If a DMA write is made to a protected location in RAM, a
management interrupt is generated. At the same time the faulting address and the
identification of the peripheral is captured for later debugging. Note that only peripherals
capable of writing data to RAM, such as received packet data or a received serial port
character, can generate this interrupt.
30/232Doc ID 16252 Rev 13
Loading...
+ 202 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.