The STM32W108C8 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.STM32W108C8 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
performance, low power consumption, and efficient memory utilization. Including an
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
the application code and prevent unwanted modification of restricted areas of memory and
registers resulting in increased stability and reliability of deployed solutions.
The STM32W108C8 has 64 Kbytes of embedded Flash memory and 8 Kbytes of integrated
RAM for data and program storage. The STM32W108C8 HAL software employs an effective
wear-leveling algorithm that optimizes the lifetime of the embedded Flash.
To maintain the strict timing requirements imposed by the IEEE 802.15.4-2003 standards,
the STM32W108C8 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, nonintrusive capture of all packets to and from the STM32W108C8.
Doc ID 018587 Rev 210/215
DescriptionSTM32W108C8
The STM32W108C8 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 STM32W108C8 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 STM32W108C8 also integrates the standard ARM system debug components: Flash
Patch and Breakpoint (FPB), Data Watchpoint and Trace (DWT), and Instrumentation Trace
Macrocell (DWT).
11/215Doc ID 018587 Rev 2
STM32W108C8Description
1.2 Overview
1.2.1 Functional description
The STM32W108C8 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 STM32W108C8 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 STM32W108C8 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 STM32W108C8 has 64 Kbytes of Flash memory, 8 Kbytes of SRAM on-chip, and the
ARM configurable memory protection unit (MPU).
The STM32W108C8 contains 24 GPIO pins shared with other peripheral or alternate
functions. Because of flexible routing within the STM32W108C8, 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
Serial Controller SC2 can be configured for SPI (master or slave) or I
operation.
The STM32W108C8 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 STM32W108C8 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
2
C (master-only)
The STM32W108C8 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
Doc ID 018587 Rev 212/215
DescriptionSTM32W108C8
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 STM32W108C8 has a fast startup time (typically
100 µs) from deep sleep to the execution of the first ARM® Cortex-M3 instruction.
The STM32W108C8 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 STM32W108C8 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 STM32W108C8 integrates hardware support for a Packet Trace module, which allows
robust packet-based debug.
Note:The STM32W108C8 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 STM32W108C8.
1.2.2 ARM® Cortex™-M3 core
The STM32W108C8 integrates the ARM® Cortex™-M3 microprocessor, revision r1p1,
developed by ARM Ltd, making the STM32W108C8 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 STM32W108C8 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.
13/215Doc ID 018587 Rev 2
STM32W108C8Documentation conventions
2 Documentation conventions
Table 1.Description of abbreviations used for bitfield access
AbbreviationDescription
Read/Write (rw)Software can read and write to these bits.
Read-only (r)Software can only read these bits.
Write only (w)Software can only write to this bit. Reading returns the reset value.
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 only in Privileged mode. For
more information, please refer to RAM memory protection on page 28
and Memory protection unit on page 28.
Logic-level control for external Rx/Tx switch. The STM32W108C8
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]
OSC32_EXTIDigital 32 kHz clock input source
15VREG_OUTPowerRegulator output (1.8 V while awake, 0 V during deep sleep)
16VDD_PADSPowerPads supply (2.1-3.6 V)
17VDD_COREPower1.25 V digital core supply decoupling
18
PA 7
TIM1_CH4
REG_ENOExternal regulator open drain output. (Enabled after reset.)
I/O
High current
O
ITimer 1 Channel 4 input. (Cannot be remapped.)
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]
Doc ID 018587 Rev 216/215
Pinout and pin descriptionSTM32W108C8
Table 2.Pin descriptions (continued)
Pin no.SignalDirectionDescription
PB3I/ODigital I/O
Timer 2 channel 3 output
Enable remap with TIM2_OR[6]
Enable timer output in TIM2_CCER
Select alternate output function with GPIO_PBCFGL[15:12]
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
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]
19
TIM2_CH3
(see Pin 22)
UART_CTSI
SC1SCLK
PB4I/ODigital I/O
TIM2_CH4
(see also Pin 24)
O
ITimer 2 channel 3 input. Enable remap with TIM2_OR[6].
O
I
O
20
UART_RTSO
SC1nSSELI
ITimer 2 channel 4 input. Enable remap with TIM2_OR[7].
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
17/215Doc ID 018587 Rev 2
STM32W108C8Pinout and pin description
Table 2.Pin descriptions (continued)
Pin no.SignalDirectionDescription
PA0I/ODigital I/O
Timer 2 channel 1 output
TIM2_CH1
O
(see also Pin 30)
ITimer 2 channel 1 input. Disable remap with TIM2_OR[4].
21
O
SC2MOSI
I
PA1I/ODigital I/O
TIM2_CH3
O
(see also Pin 19)
ITimer 2 channel 3 input. Disable remap with TIM2_OR[6].
SC2SDAI/O
22
O
SC2MISO
I
23VDD_PADSPowerPads supply (2.1-3.6V)
Disable remap with TIM2_OR[4]
Enable timer output in TIM2_CCER
Select alternate output function with GPIO_PACFGL[3:0]
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
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]
2
I
C data of Serial Controller 2
Either disable timer output in TIM2_CCER or enable remap with
TIM2_OR[6]
Select I
2
C 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
Enable slave with SC2_SPICFG[4]
Select SPI with SC2_MODE
Doc ID 018587 Rev 218/215
Pinout and pin descriptionSTM32W108C8
Table 2.Pin descriptions (continued)
Pin no.SignalDirectionDescription
PA2I/ODigital I/O
Timer 2 channel 4 output
Disable remap with TIM2_OR[7]
Enable timer output in TIM2_CCER
Select alternate output function with GPIO_PACFGL[11:8]
2
I
C clock of Serial Controller 2
Either disable timer output in TIM2_CCER or enable remap with
TIM2_OR[7]
Select I
2
C 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
Enable slave with SC2_SPICFG[4]
Select SPI with SC2_MODE
24
TIM2_CH4
O
(see also Pin 20)
SC2SCLI/O
O
SC2SCLK
ITimer 2 channel 4 input. Disable remap with TIM2_OR[7].
I
25
PA3I/ODigital I/O
SPI slave select of Serial Controller 2
SC2nSSELI
Enable slave with SC2_SPICFG[4]
Select SPI with SC2_MODE
Synchronous CPU trace clock
TRACECLK
(see also Pin 36)
O
Either disable timer output in TIM2_CCER or enable remap with
TIM2_OR[5]
Enable trace interface in ARM core
Select alternate output function with GPIO_PACFGL[15:12]
Timer 2 channel 2 output
TIM2_CH2
(see also Pin 31)
O
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].
19/215Doc ID 018587 Rev 2
STM32W108C8Pinout and pin description
Table 2.Pin descriptions (continued)
Pin no.SignalDirectionDescription
PA4I/ODigital I/O
ADC4AnalogADC Input 4. Select analog function with GPIO_PACFGH[3:0].
Frame signal of Packet Trace Interface (PTI).
26
PTI_ENO
TRACEDATA2O
PA5I/ODigital I/O
ADC5AnalogADC Input 5. Select analog function with GPIO_PACFGH[7:4].
PTI_DATAO
27
nBOOTMODEI
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].
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. See
Section 6.2: Resets on page 34 for details.
Synchronous CPU trace data bit 3.
TRACEDATA3O
28VDD_PADSPowerPads supply (2.1-3.6 V)
PA 6
29
TIM1_CH3
I/O
High current
O
ITimer 1 channel 3 input (Cannot be remapped.)
Select 4-wire synchronous trace interface in ARM core.
Enable trace interface in ARM core.
Select alternate output function with GPIO_PACFGH[7:4]
Digital I/O
Timer 1 channel 3 output
Enable timer output in TIM1_CCER
Select alternate output function with GPIO_PACFGH[11:8]
Doc ID 018587 Rev 220/215
Pinout and pin descriptionSTM32W108C8
Table 2.Pin descriptions (continued)
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 with
SC1MISOO
SC1MOSIO
30
SC1SDAI/O
SC1TXDO
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]
2
I
C data of Serial Controller 1
Either disable timer output in TIM2_CCER,
or disable remap with TIM2_OR[4]
Select I
2
C 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]
TIM2_CH1
(see also Pin 21)
Timer 2 channel 1 output
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].
21/215Doc ID 018587 Rev 2
STM32W108C8Pinout and pin description
Table 2.Pin descriptions (continued)
Pin no.SignalDirectionDescription
PB2I/ODigital I/O
SPI master data in of Serial Controller 1
31
SC1MISOI
SC1MOSII
SC1SCLI/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
2
I
C clock of Serial Controller 1
Either disable timer output in TIM2_CCER,
or disable remap with TIM2_OR[5]
Select I
2
C with SC1_MODE
Select alternate open-drain output function with
GPIO_PBCFGL[11:8]
32
33
34
SC1RXDI
TIM2_CH2
O
(see also Pin 25)
SWCLKI/O
JTCKI
PC2I/O
JTDOO
SWOO
PC3I/O
JTDII
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 35)
Internal pull-down is enabled
Digital I/O
Enable with GPIO_DBGCFG[5]
JTAG data out to debugger
Selected when in JTAG mode (default mode, see JTMS description,
Pin 35)
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
Digital 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
Doc ID 018587 Rev 222/215
Pinout and pin descriptionSTM32W108C8
Table 2.Pin descriptions (continued)
Pin no.SignalDirectionDescription
35
36
PC4I/O
JTMSI
SWDIOI/O
PB0I/ODigital I/O
VREFAnalog O
VREFAnalog I
IRQAIExternal interrupt source A.
TRACECLK
(see also Pin 25)
TIM1CLKITimer 1 external clock input.
TIM2MSKITimer 2 external clock mask input.
O
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
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].
37VDD_PADSPowerPads supply (2.1 to 3.6 V).
PC1I/ODigital I/O
ADC3Analog
38
39VDD_MEMPower1.8 V supply (flash, RAM)
23/215Doc ID 018587 Rev 2
SWO
(see also Pin 33)
TRACEDATA0O
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]
Synchronous CPU trace data bit 0
Select 1-, 2- or 4-wire synchronous trace interface in ARM core
Enable trace interface in ARM core
Select alternate output function with GPIO_PCCFGL[7:4]
STM32W108C8Pinout and pin description
Table 2.Pin descriptions (continued)
Pin no.SignalDirectionDescription
Digital I/O
40
PC0
I/O
High current
JRSTI
(1)
IRQD
TRACEDATA1O
IDefault external interrupt source D
Either enable with GPIO_DBGCFG[5],
or enable Serial Wire mode (see JTMS description, Pin 35) and
disable TRACEDATA1
JTAG reset input from debugger
Selected when in JTAG mode (default mode, see JTMS description)
and TRACEDATA1 is disabled
Internal pull-up is enabled
Synchronous CPU trace data bit 1
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]
41
42
43
PB7
I/O
High current
ADC2Analog
(1)
IRQC
IDefault external interrupt source C
Digital I/O
ADC Input 2
Enable analog function with GPIO_PBCFGH[15:12]
Timer 1 channel 2 output
TIM1_CH2
O
Enable timer output in TIM1_CCER
Select alternate output function with GPIO_PBCFGH[15:12]
ITimer 1 channel 2 input (Cannot be remapped)
PB6
I/O
High current
ADC1Analog
Digital I/O
ADC Input 1
Enable analog function with GPIO_PBCFGH[11:8]
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
ADC0Analog
ADC Input 0
Enable analog function with GPIO_PBCFGH[7:4]
TIM2CLKITimer 2 external clock input
TIM1MSKITimer 2 external clock mask input
44VDD_COREPower1.25 V digital core supply decoupling
45VDD_PREPower1.8 V prescaler supply
46VDD_SYNTHPower1.8 V synthesizer supply
47OSCBI/O
24 MHz crystal oscillator or left open when using external clock input
on OSCA
Doc ID 018587 Rev 224/215
Pinout and pin descriptionSTM32W108C8
Table 2.Pin descriptions (continued)
Pin no.SignalDirectionDescription
48OSCAI/O24 MHz crystal oscillator or external clock input
49GNDGroundGround 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 using the GPIO_IRQCSEL and
GPIO_IRQDSEL registers.
25/215Doc ID 018587 Rev 2
STM32W108C8Embedded memory
-AIN&LASH"LOCK
,OWERMAPPING
.ORMAL-ODE
X
X&&&&
2!-K"
MAPPEDONTO3YSTEM
INTERFACE
X
X&&&
2!-BITBAND
ALIASREGION
MAPPEDONTO3YSTEM
INTERFACE
NOTUSED
X
X
&LASH
2!-
0ER IP HER AL
2EGISTERS
MAPPEDONTO3YSTEM
INTERFACE
2EGISTERBITBAND
ALIASREGION
MAPPEDONTO3YSTEM
INTERFACE
NOTUSED
X
X888
X
X888
.OTUSED
0RIVATEPERIPHBUSINTERNAL
.OTUSED
0RIVATEPERIPHBUSEXTERNAL
.OTUSED
.OTUSED
.OTUSED
X%
)4-
$74
&0"
.6)#
40)5
2/-TABLE
X%
X%
X%
X%%
X%&
X%&&&&
X%
X%
X%
X%&&
X%&&&&&
X%
X
X
X
X
X!
X&&&&&&&&
X$&&&&&&&
X&&&&&&&
X&&&&&&&
X&&&&&&&
X&&&&&&&
&IXED)NFO"LOCKK"
#USTOMER)NFO"LOCKK"
X
X&&
X&&
X
-AIN&LASH"LOCKK"
5PPERMAPPING
"OOTMODE
X
X&&&&
&IXED)NFO"LOCKK"
/PTIONALBOOT MODE
MAPS &IXED)NFO"LOCK
TO THESTARTOFMEMORY
X&&
.OTUSED
.OTUSED
K"
-36
4 Embedded memory
Figure 3.STM32W108C8 memory mapping
Doc ID 018587 Rev 226/215
Embedded memorySTM32W108C8
4.1 Flash memory
The STM32W108C8 provides a total of 66.5 Kbytes of Flash memory in three separate
blocks:
●Main Flash Block (MFB)
●Fixed Information Block (FIB)
●Customer Information Block (CIB)
The MFB is divided into 641024-byte pages. The CIB is a single 512-byte page. The FIB is a
single 2048-byte page. The smallest erasable unit is one page and the smallest writable unit
is an aligned 16-bit half-word. The flash is rated to have a guaranteed 1,000 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 STM32W108C8 has 8 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.
4.2.1 Direct memory access (DMA) to RAM
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 STM32W108C8 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
27/215Doc ID 018587 Rev 2
STM32W108C8Embedded memory
6. Serial Controller 1 Transmit
4.2.2 RAM memory protection
The STM32W108C8 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 32-byte 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. 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.
4.3 Memory protection unit
The STM32W108C8 includes the ARM® Cortex-M3 Memory Protection Unit, or MPU. The
MPU controls access rights and characteristics of up to eight address regions, each of
which may be divided into eight equal sub-regions. Refer to the ARM® Cortex-M3 Technical
Reference Manual (DDI 0337A) for a detailed description of the MPU.
ST software configures the MPU in a standard configuration and application software should
not modify it. The configuration is designed for optimal detection of illegal instruction or data
accesses. If an illegal access is attempted, the MPU captures information about the access
type, the address being accessed, and the location of the offending software. This simplifies
software debugging and increases the reliability of deployed devices. As a consequence of
this MPU configuration, accessing RAM and register bit-band address alias regions is not
permitted, and generates a bus fault if attempted.
Doc ID 018587 Rev 228/215
Radio frequency moduleSTM32W108C8
5 Radio frequency module
The radio module consists of an analog front end and digital baseband as shown in
Figure 1: STM32W108C8 block diagram.
5.1 Receive (Rx) path
The Rx path uses a low-IF, super-heterodyne receiver that rejects the image frequency
using complex mixing and polyphase filtering. In the analog domain, the input RF signal
from the antenna is first amplified and mixed down to a 4 MHz IF frequency. The mixers'
output is filtered, combined, and amplified before being sampled by a 12 Msps ADC. The
digitized signal is then demodulated in the digital baseband. The filtering within the Rx path
improves the STM32W108C8's co-existence with other 2.4 GHz transceivers such as IEEE
802.15.4, IEEE 802.11g, and Bluetooth radios. The digital baseband also provides gain
control of the Rx path, both to enable the reception of small and large wanted signals and to
tolerate large interferers.
5.1.1 Rx baseband
The STM32W108C8 Rx digital baseband implements a coherent demodulator for optimal
performance. The baseband demodulates the O-QPSK signal at the chip level and
synchronizes with the IEEE 802.15.4-defined preamble. An automatic gain control (AGC)
module adjusts the analog gain continuously every ¼ symbol until the preamble is detected.
Once detected, the gain is fixed for the remainder of the packet. The baseband despreads
the demodulated data into 4-bit symbols. These symbols are buffered and passed to the
hardware-based MAC module for packet assembly and filtering.
In addition, the Rx baseband provides the calibration and control interface to the analog Rx
modules, including the LNA, Rx baseband filter, and modulation modules. The ST RF
software driver includes calibration algorithms that use this interface to reduce the effects of
silicon process and temperature variation.
5.1.2 RSSI and CCA
The STM32W108C8 calculates the RSSI over every 8-symbol period as well as at the end
of a received packet. The linear range of RSSI is specified to be at least 40 dB over
temperature. At room temperature, the linear range is approximately 60 dB (-90 dBm to -30
dBm input signal).
The STM32W108C8 Rx baseband provides support for the IEEE 802.15.4-2003 RSSI CCA
method, Clear channel reports busy medium if RSSI exceeds its threshold.
5.2 Transmit (Tx) path
The STM32W108C8 Tx path produces an O-QPSK-modulated signal using the analog front
end and digital baseband. The area- and power-efficient Tx architecture uses a two-point
modulation scheme to modulate the RF signal generated by the synthesizer. The modulated
RF signal is fed to the integrated PA and then out of the STM32W108C8.
29/215Doc ID 018587 Rev 2
Loading...
+ 186 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.