STM32L5 Series Highly Aman Kanthi Pandhuan Pangguna Konsumsi Daya Sedheng

STM32L5 Series Highly Aman Kanthi Konsumsi Daya Kurang

Spesifikasi:

  • Product Name: RM0438 Reference manual
  • Revisi: Wahyu 8
  • Pages: 1 to 2187
  • Tanggal rilis: Juni 2025
  • Produsen: www.st.com

Informasi produk:

The RM0438 Reference manual provides detailed information about
memory and bus architecture, TrustZone security architecture,
memory organization, embedded SRAM, flash memory overview, boot
configuration, and system security.

Pandhuan panggunaan produk:

Memory and Bus Architecture:

The system architecture includes Fast C-bus, Slow C-bus, S-bus,
DMA-bus, SDMMC controller DMA bus, lan BusMatrix.

TrustZone Security Architecture:

Explains the default TrustZone security state and TrustZone
klasifikasi peripheral.

Organisasi memori:

Describes the memory map, register boundary addresses, and the
organization of embedded SRAM.

SRAM sing dipasang:

Rincian mriksa paritas SRAM2, proteksi nulis, proteksi maca,
erase operations.

Flash Memory Overview:

Nyedhiyani liwatview saka memori lampu kilat digunakake ing sistem.

Konfigurasi Boot:

Isine setelan konfigurasi boot kanggo sistem.

Keamanan Sistem:

Introduction to system security measures.

Pitakonan sing Sering Ditakoni (FAQ):

Q: Where can I find information about register reset
nilai?

A: The register reset values are detailed in section 1.3 of the
manual.

Q: What is TrustZone security architecture?

A: TrustZone security architecture is explained in section 2.2
saka manual.

Q: How do I configure the boot settings?

A: Instructions for boot configuration can be found in section 3
saka manual.

“`

RM0438 Referensi manual
STM32L5 series advanced Arm®-based 32-bit MCUs
Pambuka
This reference manual targets application developers. It provides complete information on how to use the STM32L552xx and STM32L562xx microcontrollers memory and peripherals. STM32L552xx and STM32L562xx belong to the STM32L5x2 line of microcontrollers with different memory sizes, packages and peripherals. For ordering information, mechanical and electrical device characteristics please refer to the corresponding datasheets. For information on the Arm® Cortex®-M33 core, refer to the Cortex®-M33 Technical Reference manual. The STM32L552xx and STM32L562xx microprocessors include ST state-of-the-art patented technology.
Dokumen sing gegandhengan
· Cortex®-M33 Technical Reference Manual available at http://infocenter.arm.com · STM32L552xx and STM32L562xx datasheets · STM32L552xx and STM32L562xx errata sheets

Juni 2025

RM0438 Rev 8

1/2187

www.st.com

1

Isine
Isine

RM0438

1

Documentation conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

1.1 General information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

1.2 List of abbreviations for registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

1.3 Register reset value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

1.4 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

1.5 Availability of peripherals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

2

Memory and bus architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

2.1 System architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

2.1.1 Fast C-bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

2.1.2 Slow C-bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

2.1.3 S-bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

2.1.4 DMA-bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

2.1.5 SDMMC controller DMA bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

2.1.6 BusMatrix. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

2.2 TrustZone security architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

2.2.1 Default TrustZone security state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

2.2.2 TrustZone peripheral classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

2.3 Memory organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

2.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

2.3.2 Memory map and register boundary addresses . . . . . . . . . . . . . . . . . . 87

2.4 Embedded SRAM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

2.4.1 mriksa paritas SRAM2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

2.4.2 SRAM2 Write protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

2.4.3 SRAM2 Waca pangayoman. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

2.4.4 SRAM2 Erase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

2.5 Flash memory overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

3

Boot configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

4

System security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

4.2 Key security features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

2/2187

RM0438 Rev 8

RM0438

Isine

4.3 4.4 4.5 4.6
4.7 4.8
4.9 4.10 4.11 4.12 4.13

Instal sing aman. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Boot aman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.4.1 Pambuka. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 4.4.2 Entri boot unik lan BOOT_LOCK. . . . . . . . . . . . . . . . . . . . . . . . . 102 4.4.3 Oyod kapercayan sing ora owah ing memori lampu kilat sistem. . . . . . . . . . . . . . . . . 102
Secure update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Resource isolation using TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
4.6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 4.6.2 TrustZone security architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 4.6.3 Armv8-M security extension of Cortex-M33 . . . . . . . . . . . . . . . . . . . . . 104 4.6.4 Memory and peripheral allocation using IDAU/SAU . . . . . . . . . . . . . . 104 4.6.5 Memory and peripheral allocation using GTZC . . . . . . . . . . . . . . . . . . 106 4.6.6 Managing security in TrustZone-aware peripherals . . . . . . . . . . . . . . . 109 4.6.7 Activating TrustZone security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 4.6.8 De-activating TrustZone security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Isolasi sumber daya liyane. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117
4.7.1 Isolasi temporal nggunakake proteksi ndhelik aman (HDP) . . . . . . . . . . . . 117
Secure execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .118
4.8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 4.8.2 Memory protection unit (MPU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 4.8.3 Embedded flash memory write protection . . . . . . . . . . . . . . . . . . . . . . 118 4.8.4 Tamper detection and response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Secure storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
4.9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 4.9.2 Unique ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Mesin Crypto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
4.10.1 Pambuka. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 4.10.2 Fitur mesin Crypto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 4.10.3 On-the-fly decryption engine (OTFDEC) . . . . . . . . . . . . . . . . . . . . . . . 122
Product lifecycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
4.11.1 Lifecycle management with readout protection (RDP) . . . . . . . . . . . . 124 4.11.2 Recommended option byte settings . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Access controlled debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
4.12.1 Debug protection with readout protection (RDP) . . . . . . . . . . . . . . . . . 125
Software intellectual property protection and collaborative development 126

RM0438 Rev 8

3/2187
54

Isine

RM0438

4.13.1
4.13.2 4.13.3

Software intellectual property protection with readout protection (RDP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Proteksi properti intelektual piranti lunak nganggo OTFDEC. . . . . . . . . . . 127
Other software intellectual property protections . . . . . . . . . . . . . . . . . 129

5

Global TrustZone® controller (GTZC) . . . . . . . . . . . . . . . . . . . . . . . . . 130

5.1 GTZC introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

5.2 GTZC main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

5.2.1 GTZC TrustZone system architecture . . . . . . . . . . . . . . . . . . . . . . . . . 130

5.3 GTZC functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

5.3.1 GTZC block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

5.3.2 Illegal access definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

5.3.3 TrustZone security controller (TZSC) . . . . . . . . . . . . . . . . . . . . . . . . . . 134

5.3.4 Memory protection controller – block based (MPCBB) . . . . . . . . . . . . . 134

5.3.5 TrustZone illegal access controller (TZIC) . . . . . . . . . . . . . . . . . . . . . . 135

5.3.6 Power-on/reset state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

5.3.7 DMA requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

5.4 GTZC events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

5.5 GTZC_TZSC registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

5.5.1 GTZC_TZSC control register (GTZC_TZSC_CR) . . . . . . . . . . . . . . . . 136

5.5.2

GTZC_TZSC secure configuration register 1 (GTZC_TZSC_SECCFGR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

5.5.3

GTZC_TZSC secure configuration register 2 (GTZC_TZSC_SECCFGR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

5.5.4

GTZC_TZSC privilege configuration register 1 (GTZC_TZSC_PRIVCFGR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

5.5.5

GTZC_TZSC privilege configuration register 2 (GTZC_TZSC_PRIVCFGR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

5.5.6

GTZC_TZSC memori eksternal x non-aman watermark register 1 (GTZC_TZSC_MPCWMxANSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

5.5.7

GTZC_TZSC memori eksternal x non-aman watermark register 2 (GTZC_TZSC_MPCWMxBNSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

5.5.8 GTZC_TZSC register map and reset values . . . . . . . . . . . . . . . . . . . . 148

5.6 ndhaftar GTZC_MPCBB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

5.6.1 GTZC_MPCBBx control register (GTZC_MPCBBx_CR) (x = 1 to 2) . 150

5.6.2 GTZC_MPCBB1 lock register 1(GTZC_MPCBB1_LCKVTR1) . . . . . . 151

5.6.3

GTZC_MPCBB2 lock register 1 (GTZC_MPCBB2_LCKVTR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

4/2187

RM0438 Rev 8

RM0438

Isine

5.6.4

GTZC_MPCBBx vektor register y (GTZC_MPCBBx_VCTRy) (x = 1 kanggo 2) . . . . . . . . . . . . . . . . . . . . . . . . 152

5.6.5 GTZC_MPCBB1 register map and reset values . . . . . . . . . . . . . . . . . 153

5.6.6 GTZC_MPCBB2 register map and reset values . . . . . . . . . . . . . . . . . 153

5.7 GTZC_TZIC registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

5.7.1 GTZC_TZIC interrupt enable register 1 (GTZC_TZIC_IER1) . . . . . . . 154

5.7.2 GTZC_TZIC interrupt enable register 2 (GTZC_TZIC_IER2) . . . . . . . 157

5.7.3 GTZC_TZIC interrupt enable register 3 (GTZC_TZIC_IER3) . . . . . . . 159

5.7.4 GTZC_TZIC status register 1 (GTZC_TZIC_SR1) . . . . . . . . . . . . . . . 160

5.7.5 GTZC_TZIC status register 2 (GTZC_TZIC_SR2) . . . . . . . . . . . . . . . 163

5.7.6 GTZC_TZIC status register 3 (GTZC_TZIC_SR3) . . . . . . . . . . . . . . . 165

5.7.7 GTZC_TZIC flag clear register 1 (GTZC_TZIC_FCR1) . . . . . . . . . . . . 166

5.7.8 GTZC_TZIC flag clear register 2 (GTZC_TZIC_FCR2) . . . . . . . . . . . . 169

5.7.9 GTZC_TZIC flag clear register 3 (GTZC_TZIC_FCR3) . . . . . . . . . . . . 171

5.7.10 GTZC_TZIC ndhaftar peta lan ngreset nilai. . . . . . . . . . . . . . . . . . . . . 172

6

Memori lampu kilat sing dipasang (FLASH) . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

6.2 FLASH fitur utama. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

6.3 Flash memory functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

6.3.1 Flash memory organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

6.3.2 Koreksi kode kesalahan (ECC). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

6.3.3 Read access latency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

6.3.4 Low-voltage read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

6.3.5 Flash program and erase operations . . . . . . . . . . . . . . . . . . . . . . . . . . 180

6.3.6 Flash main memory erase sequences . . . . . . . . . . . . . . . . . . . . . . . . . 182

6.3.7 Flash main memory programming sequences . . . . . . . . . . . . . . . . . . . 185

6.3.8 Flash errors flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

6.3.9

Read-while-write (RWW) available only in dual-bank mode (DBANK = 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

6.4 Flash memory option bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

6.4.1 Option bytes description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

6.4.2 Pilihan bita pemrograman. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

6.5 Flash TrustZone security and privilege protections . . . . . . . . . . . . . . . . 193

6.5.1 TrustZone security protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

6.5.2 Secure watermark-based area protection . . . . . . . . . . . . . . . . . . . . . . 195

6.5.3 Secure hide protection (HDP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

RM0438 Rev 8

5/2187
54

Isine

RM0438

6.5.4 Secure block-based area (SECBB) protection . . . . . . . . . . . . . . . . . . 196 6.5.5 Forcing boot from a secure memory address . . . . . . . . . . . . . . . . . . . 197 6.5.6 Flash security attribute state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 6.5.7 Flash registers privileged and unprivileged modes . . . . . . . . . . . . . . . 198
6.6 Secure system memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
6.6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 6.6.2 RSS allocates resource to bootloader . . . . . . . . . . . . . . . . . . . . . . . . . 198 6.6.3 RSSLIB functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
6.7 FLASH memory protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
6.7.1 Proteksi nulis (WRP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 6.7.2 Proteksi maca (RDP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
6.8 FLASH interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 6.9 FLASH registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
6.9.1 Flash access control register (FLASH_ACR) . . . . . . . . . . . . . . . . . . . 213 6.9.2 Flash power-down key register (FLASH_PDKEYR) . . . . . . . . . . . . . . 214 6.9.3 Flash non-secure key register (FLASH_NSKEYR) . . . . . . . . . . . . . . . 215 6.9.4 Flash secure key register (FLASH_SECKEYR) . . . . . . . . . . . . . . . . . 215 6.9.5 Flash option key register (FLASH_OPTKEYR) . . . . . . . . . . . . . . . . . . 216 6.9.6 Flash low voltage key register (FLASH_LVEKEYR) . . . . . . . . . . . . . . 216 6.9.7 Flash status register (FLASH_NSSR) . . . . . . . . . . . . . . . . . . . . . . . . . 217 6.9.8 Flash status register (FLASH_SECSR) . . . . . . . . . . . . . . . . . . . . . . . . 218 6.9.9 Flash non-secure control register (FLASH_NSCR) . . . . . . . . . . . . . . . 220 6.9.10 Flash secure control register (FLASH_SECCR) . . . . . . . . . . . . . . . . . 222 6.9.11 Flash ECC register (FLASH_ECCR) . . . . . . . . . . . . . . . . . . . . . . . . . . 223 6.9.12 Flash option register (FLASH_OPTR) . . . . . . . . . . . . . . . . . . . . . . . . . 225 6.9.13 Flash non-secure boot address 0 register (FLASH_NSBOOTADD0R) 227 6.9.14 Flash non-secure boot address 1 register (FLASH_NSBOOTADD1R) 228 6.9.15 Flash secure boot address 0 register (FLASH_SECBOOTADD0R) . . 228 6.9.16 Flash bank 1 secure watermak1 register (FLASH_SECWM1R1) . . . . 229 6.9.17 Flash secure watermak1 register 2 (FLASH_SECWM1R2) . . . . . . . . 230 6.9.18 Flash WPR1 area A address register (FLASH_WRP1AR) . . . . . . . . . 231 6.9.19 Flash WPR1 area B address register (FLASH_WRP1BR) . . . . . . . . . 232 6.9.20 Flash secure watermak2 register (FLASH_SECWM2R1) . . . . . . . . . . 233 6.9.21 Flash secure watermak2 register 2 (FLASH_SECWM2R2) . . . . . . . . 234 6.9.22 Flash WPR2 area A address register (FLASH_WRP2AR) . . . . . . . . . 235 6.9.23 Flash WPR2 area B address register (FLASH_WRP2BR) . . . . . . . . . 236

6/2187

RM0438 Rev 8

RM0438

Isine

6.9.24
6.9.25
6.9.26 6.9.27 6.9.28

FLASH secure block based bank 1 register (FLASH_SECBB1Rx) (where x=1..4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
FLASH secure block based bank 2 register (FLASH_SECBB2Rx) (where x=1..4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
FLASH secure HDP control register (FLASH_SECHDPCR) . . . . . . . . 238
FLASH privilege configuration register (FLASH_PRIVCFGR) . . . . . . . 238
FLASH register map and reset values . . . . . . . . . . . . . . . . . . . . . . . . . 239

7

Instruction cache (ICACHE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242

7.1 Pambuka ICACHE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242

7.2 ICACHE main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242

7.3 ICACHE implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243

7.4 ICACHE functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243

7.4.1 ICACHE block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244

7.4.2 ICACHE reset and clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244

7.4.3 ICACHE TAG memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245

7.4.4 Direct-mapped ICACHE (1-way cache) . . . . . . . . . . . . . . . . . . . . . . . . 246

7.4.5 ICACHE enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247

7.4.6 Lalu lintas sing bisa di-cache lan ora bisa di-cache. . . . . . . . . . . . . . . . . . . . . . . . . . 247

7.4.7 Address remapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

7.4.8 Akses cache. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250

7.4.9 Dual-master cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251

7.4.10 keamanan ICACHE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251

7.4.11 ICACHE maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251

7.4.12 ICACHE performance monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

7.4.13 ICACHE boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

7.5 ICACHE mode kurang daya. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

7.6 ICACHE error management and interrupts . . . . . . . . . . . . . . . . . . . . . . 253

7.7 ndhaftar ICACHE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253

7.7.1 Register kontrol ICACHE (ICACHE_CR). . . . . . . . . . . . . . . . . . . . . . . 253

7.7.2 ICACHE status register (ICACHE_SR) . . . . . . . . . . . . . . . . . . . . . . . . 254

7.7.3 ICACHE ngganggu ngaktifake register (ICACHE_IER) . . . . . . . . . . . . . . . . 255

7.7.4 ICACHE flag clear register (ICACHE_FCR) . . . . . . . . . . . . . . . . . . . . 255

7.7.5 ICACHE hit monitor register (ICACHE_HMONR) . . . . . . . . . . . . . . . . 256

7.7.6 ICACHE miss monitor register (ICACHE_MMONR) . . . . . . . . . . . . . . 256

7.7.7 ICACHE wilayah x konfigurasi register (ICACHE_CRRx) . . . . . . . . . 256

7.7.8 ICACHE register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258

RM0438 Rev 8

7/2187
54

Isine

RM0438

8

Power control (PWR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259

8.1 Power supplies and supply domains . . . . . . . . . . . . . . . . . . . . . . . . . . . 259

8.1.1 Independent analog peripherals supply . . . . . . . . . . . . . . . . . . . . . . . . 264

8.1.2 Independent I/O supply rail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264

8.1.3 Pasokan transceiver USB independen. . . . . . . . . . . . . . . . . . . . . . . . . 264

8.1.4 Battery backup domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265

8.2 System supply voltage regulasi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266

8.2.1 Voltage regulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266

8.2.2 Konverter step down SMPS sing dipasang. . . . . . . . . . . . . . . . . . . . . . . . 267

8.2.3 SMPS step down converter power supply scheme . . . . . . . . . . . . . . . 268

8.2.4 Konverter step down SMPS versus mode kurang daya . . . . . . . . . . . . . 269

8.2.5 Dynamic voltage scaling management . . . . . . . . . . . . . . . . . . . . . . . . 270

8.2.6 VDD12 domain and external SMPS . . . . . . . . . . . . . . . . . . . . . . . . . . 271

8.3 Power supply supervision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273

8.3.1

Power-on reset (POR) / power-down reset (PDR) / brown-out reset (BOR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273

8.3.2 Programmable voltage detector (PVD). . . . . . . . . . . . . . . . . . . . . . . . 274

8.3.3 Peripheral voltage monitoring (PVM) . . . . . . . . . . . . . . . . . . . . . . . . . . 275

8.3.4 Upper voltage threshold monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . 276

8.3.5 Pemantauan ambang suhu. . . . . . . . . . . . . . . . . . . . . . . . . . . . 276

8.4 Manajemen daya. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277

8.4.1 Power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277

8.4.2 Mode mbukak. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283

8.4.3 Low-power run mode (LP run) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283

8.4.4 Low-power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284

8.4.5 Sleep mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285

8.4.6 Low-power sleep mode (LP sleep) . . . . . . . . . . . . . . . . . . . . . . . . . . . 286

8.4.7 Stop 0 mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287

8.4.8 Stop 1 mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

8.4.9 Stop 2 mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290

8.4.10 Standby mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292

8.4.11 Shutdown mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295

8.4.12 Auto-wakeup from a low-power mode . . . . . . . . . . . . . . . . . . . . . . . . . 296

8.5 PWR TrustZone security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296

8.5.1 PWR Privileged and Unprivileged modes . . . . . . . . . . . . . . . . . . . . . . 298

8.6 PWR registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298

8/2187

RM0438 Rev 8

RM0438

Isine

8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.6.6 8.6.7 8.6.8 8.6.9 8.6.10 8.6.11 8.6.12 8.6.13 8.6.14 8.6.15 8.6.16 8.6.17 8.6.18 8.6.19 8.6.20 8.6.21 8.6.22 8.6.23 8.6.24 8.6.25 8.6.26

Power control register 1 (PWR_CR1) . . . . . . . . . . . . . . . . . . . . . . . . . 299 Power control register 2 (PWR_CR2) . . . . . . . . . . . . . . . . . . . . . . . . . 300 Power control register 3 (PWR_CR3) . . . . . . . . . . . . . . . . . . . . . . . . . 301 Power control register 4 (PWR_CR4) . . . . . . . . . . . . . . . . . . . . . . . . . 303 Power status register 1 (PWR_SR1) . . . . . . . . . . . . . . . . . . . . . . . . . . 304 Power status register 2 (PWR_SR2) . . . . . . . . . . . . . . . . . . . . . . . . . . 306 Power status clear register (PWR_SCR) . . . . . . . . . . . . . . . . . . . . . . . 307 Power Port A pull-up control register (PWR_PUCRA) . . . . . . . . . . . . . 308 Power Port A pull-down control register (PWR_PDCRA) . . . . . . . . . . 308 Power Port B pull-up control register (PWR_PUCRB) . . . . . . . . . . . . . 309 Power Port B pull-down control register (PWR_PDCRB) . . . . . . . . . . 310 Power Port C pull-up control register (PWR_PUCRC) . . . . . . . . . . . . 310 Power Port C pull-down control register (PWR_PDCRC) . . . . . . . . . . 311 Power Port D pull-up control register (PWR_PUCRD) . . . . . . . . . . . . 311 Power Port D pull-down control register (PWR_PDCRD) . . . . . . . . . . 312 Power Port E pull-up control register (PWR_PUCRE) . . . . . . . . . . . . . 313 Power Port E pull-down control register (PWR_PDCRE) . . . . . . . . . . 313 Power Port F pull-up control register (PWR_PUCRF) . . . . . . . . . . . . . 314 Power Port F pull-down control register (PWR_PDCRF) . . . . . . . . . . 314 Power Port G pull-up control register (PWR_PUCRG) . . . . . . . . . . . . 315 Power Port G pull-down control register (PWR_PDCRG) . . . . . . . . . . 316 Power Port H pull-up control register (PWR_PUCRH) . . . . . . . . . . . . 316 Power Port H pull-down control register (PWR_PDCRH) . . . . . . . . . . 317 Power secure configuration register (PWR_SECCFGR) . . . . . . . . . . . 317 Power privilege configuration register (PWR_PRIVCFGR) . . . . . . . . . 319 PWR register map and reset values . . . . . . . . . . . . . . . . . . . . . . . . . . 320

9

Reset and clock control (RCC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323

9.1 Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323

9.1.1 Power reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323

9.1.2 System reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323

9.1.3 Backup domain reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325

9.2 RCC pins and internal signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325

9.3 Jam. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325

9.3.1 HSE clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

9.3.2 HSI16 clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330

9.3.3 MSI clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331

RM0438 Rev 8

9/2187
54

Isine

RM0438

9.3.4 HSI48 clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 9.3.5 PLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 9.3.6 LSE clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 9.3.7 LSE system clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 9.3.8 LSI clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 9.3.9 System clock (SYSCLK) selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 9.3.10 Clock source frequency versus voltage scaling . . . . . . . . . . . . . . . . . . 335 9.3.11 Clock security system (CSS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 9.3.12 Clock security system on LSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 9.3.13 ADC clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 9.3.14 RTC clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 9.3.15 Timer clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 9.3.16 Watchdog clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 9.3.17 Clock-out capability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 9.3.18 Internal/external clock measurement with TIM15/TIM16/TIM17 . . . . . 337 9.3.19 Peripheral clock enable registers
(RCC_AHBxENR, RCC_APBxENRy) . . . . . . . . . . . . . . . . . . . . . . . . . 340
9.4 Low-power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 9.5 RCC TrustZone® security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 9.6 RCC Privileged and Unprivileged mode . . . . . . . . . . . . . . . . . . . . . . . . . 343 9.7 RCC interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 9.8 RCC registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
9.8.1 RCC clock control register (RCC_CR) . . . . . . . . . . . . . . . . . . . . . . . . . 345 9.8.2 RCC internal clock sources calibration register (RCC_ICSCR) . . . . . . 348 9.8.3 RCC clock configuration register (RCC_CFGR) . . . . . . . . . . . . . . . . . 349 9.8.4 RCC PLL configuration register (RCC_PLLCFGR) . . . . . . . . . . . . . . . 352 9.8.5 RCC PLLSAI1 configuration register (RCC_PLLSAI1CFGR) . . . . . . . 355 9.8.6 RCC PLLSAI2 configuration register (RCC_PLLSAI2CFGR) . . . . . . . 358 9.8.7 RCC clock interrupt enable register (RCC_CIER) . . . . . . . . . . . . . . . . 360 9.8.8 RCC clock interrupt flag register (RCC_CIFR) . . . . . . . . . . . . . . . . . . 361 9.8.9 RCC clock interrupt clear register (RCC_CICR) . . . . . . . . . . . . . . . . . 363 9.8.10 RCC AHB1 peripheral reset register (RCC_AHB1RSTR) . . . . . . . . . . 364 9.8.11 RCC AHB2 peripheral reset register (RCC_AHB2RSTR) . . . . . . . . . . 365 9.8.12 RCC AHB3 peripheral reset register (RCC_AHB3RSTR) . . . . . . . . . . 367 9.8.13 RCC APB1 peripheral reset register 1 (RCC_APB1RSTR1) . . . . . . . . 368 9.8.14 RCC APB1 peripheral reset register 2 (RCC_APB1RSTR2) . . . . . . . . 370 9.8.15 RCC APB2 peripheral reset register (RCC_APB2RSTR) . . . . . . . . . . 371

10/2187

RM0438 Rev 8

RM0438

Isine

9.8.16 9.8.17 9.8.18 9.8.19 9.8.20 9.8.21 9.8.22
9.8.23
9.8.24
9.8.25
9.8.26
9.8.27
9.8.28
9.8.29 9.8.30 9.8.31 9.8.32
9.8.33 9.8.34 9.8.35 9.8.36 9.8.37 9.8.38 9.8.39 9.8.40 9.8.41 9.8.42

RCC AHB1 peripheral clock enable register (RCC_AHB1ENR) . . . . . 373 RCC AHB2 peripheral clock enable register (RCC_AHB2ENR) . . . . . 374 RCC AHB3 peripheral clock enable register(RCC_AHB3ENR) . . . . . . 376
RCC APB1 peripheral clock enable register 1 (RCC_APB1ENR1) . . . 377 RCC APB1 peripheral clock enable register 2 (RCC_APB1ENR2) . . . 379
RCC APB2 jam periferal ngaktifake register (RCC_APB2ENR). . . . . 381 jam periferal RCC AHB1 ngaktifake ing mode Turu lan Stop register (RCC_AHB1SMENR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 Jam periferal RCC AHB2 ngaktifake ing mode Turu lan Stop register (RCC_AHB2SMENR). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Jam periferal RCC AHB3 ngaktifake ing mode Turu lan Stop register (RCC_AHB3SMENR). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 jam periferal RCC APB1 ngaktifake ing mode Turu lan Stop register 1 (RCC_APB1SMENR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 RCC APB1 jam peripheral ngaktifake ing mode Turu lan Stop register 2 (RCC_APB1SMENR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
RCC APB2 peripheral clocks enable in Sleep and Stop modes register (RCC_APB2SMENR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 RCC peripherals independent clock configuration register 1 (RCC_CCIPR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 RCC Backup domain control register (RCC_BDCR) . . . . . . . . . . . . . . 395
RCC control/status register (RCC_CSR) . . . . . . . . . . . . . . . . . . . . . . . 398 RCC clock recovery RC register (RCC_CRRCR) . . . . . . . . . . . . . . . . 400 RCC peripherals independent clock configuration register 2 (RCC_CCIPR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
OCTOSPI delay configuration register (RCC_DLYCFGR) . . . . . . . . . 402 RCC secure configuration register (RCC_SECCFGR) . . . . . . . . . . . . 403 RCC secure status register (RCC_SECSR) . . . . . . . . . . . . . . . . . . . . 405
RCC AHB1 security status register (RCC_AHB1SECSR) . . . . . . . . . . 407 RCC AHB2 security status register (RCC_AHB2SECSR) . . . . . . . . . . 408 RCC AHB3 security status register (RCC_AHB3SECSR) . . . . . . . . . . 410
Register status keamanan RCC APB1 1 (RCC_APB1SECSR1) . . . . . . . 411 RCC APB1 status keamanan ndhaftar 2 (RCC_APB1SECSR2) . . . . . . . 414 Register status keamanan RCC APB2 (RCC_APB2SECSR) . . . . . . . . . . 415
RCC register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417

10

Clock recovery system (CRS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424

10.1 Pambuka CRS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424

10.2 CRS main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424

RM0438 Rev 8

11/2187
54

Isine

RM0438

10.3 10.4
10.5 10.6 10.7

CRS implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 CRS functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
10.4.1 CRS block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 10.4.2 CRS internal signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 10.4.3 Synchronization input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 10.4.4 Frequency error measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 10.4.5 Frequency error evaluation and automatic trimming . . . . . . . . . . . . . . 427 10.4.6 CRS initialization and configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
CRS in low-power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 CRS interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 CRS registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
10.7.1 CRS control register (CRS_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 10.7.2 CRS configuration register (CRS_CFGR) . . . . . . . . . . . . . . . . . . . . . . 430 10.7.3 CRS interrupt and status register (CRS_ISR) . . . . . . . . . . . . . . . . . . . 431 10.7.4 CRS interrupt flag clear register (CRS_ICR) . . . . . . . . . . . . . . . . . . . . 433 10.7.5 CRS register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434

11

General-purpose I/Os (GPIO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435

11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435

11.2 GPIO main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435

11.3 GPIO functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435

11.3.1 General-purpose I/O (GPIO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438

11.3.2 Aku / O pin fungsi sulih multiplexer lan pemetaan. . . . . . . . . . . . . . . 438

11.3.3 I/O port control registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439

11.3.4 Dhaptar data port I / O. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439

11.3.5 I/O data bitwise handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439

11.3.6 GPIO locking mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440

11.3.7 I/O alternate function input/output . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440

11.3.8 Eksternal interrupt / wakeup lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440

11.3.9 Input configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441

11.3.10 Konfigurasi output. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441

11.3.11 Alternate function configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442

11.3.12 Analog configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443

11.3.13 Using the HSE or LSE oscillator pins as GPIOs . . . . . . . . . . . . . . . . . 443

11.3.14 Using the GPIO pins in the RTC supply domain . . . . . . . . . . . . . . . . . 443

11.3.15 Using PH3 as GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444

12/2187

RM0438 Rev 8

RM0438

Isine

11.4 11.5 11.6

TrustZone security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
Privileged and Unprivileged modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
GPIO registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
11.6.1 GPIO port mode register (GPIOx_MODER) (x =A to H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
11.6.2 GPIO port output type register (GPIOx_OTYPER) (x = A to H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
11.6.3 GPIO port output speed register (GPIOx_OSPEEDR) (x = A to H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
11.6.4 GPIO port pull-up/pull-down register (GPIOx_PUPDR) (x = A to H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
11.6.5 GPIO port input data register (GPIOx_IDR) (x = A to H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
11.6.6 GPIO port output data register (GPIOx_ODR) (x = A to H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
11.6.7 GPIO port bit set/reset register (GPIOx_BSRR) (x = A to H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
11.6.8 GPIO port configuration lock register (GPIOx_LCKR) (x = A to H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
11.6.9 GPIO alternate function low register (GPIOx_AFRL) (x = A to H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
11.6.10 GPIO fungsi sulih ndhaftar dhuwur (GPIOx_AFRH) (x = A kanggo H). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
11.6.11 GPIO port bit reset register (GPIOx_BRR) (x = A to H) . . . . . . . . . . . . 452
11.6.12 GPIO secure configuration register (GPIOx_SECCFGR) (x = A to H) . 452
11.6.13 GPIO register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454

12

System configuration controller (SYSCFG) . . . . . . . . . . . . . . . . . . . . 456

12.1 SYSCFG main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456

12.2 SYSCFG TrustZone security and privilege . . . . . . . . . . . . . . . . . . . . . . . 456

12.3 SYSCFG registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458

12.3.1 SYSCFG secure configuration register (SYSCFG_SECCFGR) . . . . . 458

12.3.2 SYSCFG configuration register 1 (SYSCFG_CFGR1) . . . . . . . . . . . . 459

12.3.3 FPU interrupt mask register (SYSCFG_FPUIMR) . . . . . . . . . . . . . . . . 461

12.3.4 SYSCFG CPU non-aman kunci register (SYSCFG_CNSLCKR) . . . . . 461

12.3.5 SYSCFG CPU ndhaftar kunci aman (SYSCFG_CSLOCKR) . . . . . . . . 462

12.3.6 SYSCFG configuration register 2 (SYSCFG_CFGR2) . . . . . . . . . . . . 463

12.3.7 SYSCFG SRAM2 control and status register (SYSCFG_SCSR) . . . . 464

12.3.8 SYSCFG SRAM2 key register (SYSCFG_SKR) . . . . . . . . . . . . . . . . . 465

RM0438 Rev 8

13/2187
54

Isine

RM0438

12.3.9 SYSCFG SRAM2 write protection register (SYSCFG_SWPR) . . . . . . 465 12.3.10 SYSCFG SRAM2 write protection register 2 (SYSCFG_SWPR2) . . . 466 12.3.11 SYSCFG RSS command register (SYSCFG_RSSCMDR) . . . . . . . . . 466 12.3.12 SYSCFG register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467

13

Peripherals interconnect matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469

13.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469

13.2 Connection summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469

13.3 Interconnection details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470

13.3.1 From timer (TIM1/TIM2/TIM3/TIM4/TIM5/TIM8/TIM15/TIM16/TIM17) to timer (TIM1/TIM2/TIM3/TIM4/TIM5/TIM8/TIM15) . . . . . . . . . . . . . . . . 470

13.3.2 From timer (TIM1/TIM2/TIM3/TIM4/TIM6/TIM8/TIM15) and EXTI to ADC (ADC1/ADC2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471

13.3.3 Saka ADC1/ADC2 kanggo timer (TIM1/TIM8) . . . . . . . . . . . . . . . . . . . . . . . 471

13.3.4 From timer (TIM2/TIM4/TIM5/TIM6/TIM7/TIM8) and EXTI to DAC (DAC1/DAC2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472

13.3.5 From timer (TIM1/TIM3/TIM4/TIM6/TIM7/TIM8/TIM16/LPTIM1) and EXTI to DFSDM1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472

13.3.6 From DFSDM1 to timer (TIM1/TIM8/TIM15/TIM16/TIM17) . . . . . . . . . 473

13.3.7 Saka HSE, LSE, LSI, MSI, MCO, RTC nganti timer (TIM2/TIM15/TIM16/TIM17) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473

13.3.8 From RTC, COMP1, COMP2 to low-power timer (LPTIM1/LPTIM2/LPTIM3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474

13.3.9 From timer (TIM1/TIM2/TIM3/TIM8/TIM15) to comparators (COMP1/COMP2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474

13.3.10 From ADC (ADC1) to ADC (ADC2) . . . . . . . . . . . . . . . . . . . . . . . . . . . 474

13.3.11 From USB to timer (TIM2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475

13.3.12 From internal analog source to ADC (ADC1/ADC2) and OPAMP (OPAMP1/OPAM2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475

13.3.13 From comparators (COMP1/COMP2) to timers (TIM1/TIM2/TIM3/TIM8/TIM15/TIM16/TIM17) . . . . . . . . . . . . . . . . . . . 475

13.3.14 Saka kesalahan sistem kanggo timer (TIM1/TIM8/TIM15/TIM16/TIM17) . . . . 476

13.3.15 From timers (TIM16/TIM17) to IRTIM . . . . . . . . . . . . . . . . . . . . . . . . . 476

13.3.16 From ADC (ADC1/ADC2) to DFSDM . . . . . . . . . . . . . . . . . . . . . . . . . . 477

14

Kontrol akses memori langsung (DMA). . . . . . . . . . . . . . . . . . . . . . . 478

14.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478

14.2 DMA main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478

14.3 DMA implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479

14/2187

RM0438 Rev 8

RM0438

Isine

14.4
14.5 14.6

14.3.1 DMA1 and DMA2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 14.3.2 DMA request mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
DMA functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
14.4.1 DMA block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 14.4.2 DMA pins and internal signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 14.4.3 DMA transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 14.4.4 DMA arbitration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 14.4.5 DMA channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483 14.4.6 DMA data width, alignment and endianness . . . . . . . . . . . . . . . . . . . . 488 14.4.7 DMA error management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
DMA interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490 DMA ndhaftar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
14.6.1 DMA interrupt status register (DMA_ISR) . . . . . . . . . . . . . . . . . . . . . . 490 14.6.2 DMA interrupt flag clear register (DMA_IFCR) . . . . . . . . . . . . . . . . . . 494 14.6.3 DMA channel x configuration register (DMA_CCRx) . . . . . . . . . . . . . . 495 14.6.4 DMA channel x number of data to transfer register (DMA_CNDTRx) . 500 14.6.5 DMA channel x peripheral address register (DMA_CPARx) . . . . . . . . 501 14.6.6 DMA channel x memory 0 address register (DMA_CM0ARx) . . . . . . . 501 14.6.7 DMA channel x memory 1 address register (DMA_CM1ARx) . . . . . . . 502 14.6.8 DMA register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502

15

DMA request multiplexer (DMAMUX) . . . . . . . . . . . . . . . . . . . . . . . . . 506

15.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506

15.2 DMAMUX main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507

15.3 DMAMUX implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507

15.3.1 DMAMUX instantiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507

15.3.2 DMAMUX mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508

15.4 DMAMUX functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .511

15.4.1 DMAMUX block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511

15.4.2 DMAMUX signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512

15.4.3 DMAMUX channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512

15.4.4 saluran DMAMUX aman/non-aman . . . . . . . . . . . . . . . . . . . . . . . . 513

15.4.5 DMAMUX privileged / unprivileged channels . . . . . . . . . . . . . . . . . . . . 513

15.4.6 DMAMUX request line multiplexer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513

15.4.7 DMAMUX request generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516

15.5 DMAMUX interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517

RM0438 Rev 8

15/2187
54

Isine

RM0438

15.6

Ndhaptar DMAMUX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
15.6.1 DMAMUX request line multiplexer saluran x konfigurasi register (DMAMUX_CxCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
15.6.2 DMAMUX request line multiplexer interrupt channel status register (DMAMUX_CSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
15.6.3 DMAMUX request line multiplexer interrupt channel clear flag register (DMAMUX_CCFR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
15.6.4 DMAMUX request generator channel x configuration register (DMAMUX_RGxCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
15.6.5 DMAMUX request generator interrupt status register (DMAMUX_RGSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
15.6.6 DMAMUX request generator ngganggu cetha flag register (DMAMUX_RGCFR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
15.6.7 DMAMUX register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524

16

Nested vectored interrupt controller (NVIC) . . . . . . . . . . . . . . . . . . . . 528

16.1 Fitur utama NVIC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528

16.2 SysTick calibration value register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528

16.3 Interrupt and exception vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529

17

Extended interrupts and event controller (EXTI) . . . . . . . . . . . . . . . . 533

17.1 EXTI main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533

17.2 EXTI block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534

17.2.1 EXTI connections between peripherals and CPU . . . . . . . . . . . . . . . . 535

17.2.2 EXTI interrupt/event mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535

17.3 EXTI functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537

17.3.1 EXTI configurable event input wakeup . . . . . . . . . . . . . . . . . . . . . . . . 537

17.3.2 EXTI direct event input wakeup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539

17.3.3 EXTI mux selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539

17.4 Prilaku fungsional EXTI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540

17.5 pangayoman acara EXTI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541

17.5.1 pangayoman keamanan EXTI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541

17.5.2 pangayoman hak istimewa EXTI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542

17.6 EXTI registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543

17.6.1 17.6.2 17.6.3 17.6.4

EXTI rising trigger selection register (EXTI_RTSR1) . . . . . . . . . . . . . . 543 EXTI falling trigger selection register (EXTI_FTSR1) . . . . . . . . . . . . . 544 EXTI software interrupt event register (EXTI_SWIER1) . . . . . . . . . . . 545 EXTI rising edge pending register (EXTI_RPR1) . . . . . . . . . . . . . . . . 546

16/2187

RM0438 Rev 8

RM0438

Isine

17.6.5 EXTI falling edge pending register (EXTI_FPR1) . . . . . . . . . . . . . . . . 547 17.6.6 EXTI security configuration register (EXTI_SECCFGR1) . . . . . . . . . . 548 17.6.7 EXTI privilege configuration register (EXTI_PRIVCFGR1) . . . . . . . . . 549 17.6.8 EXTI rising trigger selection register (EXTI_RTSR2) . . . . . . . . . . . . . . 549 17.6.9 EXTI falling trigger selection register (EXTI_FTSR2) . . . . . . . . . . . . . 550 17.6.10 EXTI software interrupt event register (EXTI_SWIER2) . . . . . . . . . . . 551 17.6.11 EXTI rising edge pending register (EXTI_RPR2) . . . . . . . . . . . . . . . . 551 17.6.12 EXTI falling edge pending register (EXTI_FPR2) . . . . . . . . . . . . . . . . 552 17.6.13 EXTI security enable register (EXTI_SECCFGR2) . . . . . . . . . . . . . . . 553 17.6.14 EXTI privilege enable register (EXTI_PRIVCFGR2) . . . . . . . . . . . . . . 553 17.6.15 EXTI external interrupt selection register (EXTI_EXTICRn) . . . . . . . . 554 17.6.16 EXTI lock register (EXTI_LOCKR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557 17.6.17 EXTI CPU wakeup with interrupt mask register (EXTI_IMR1) . . . . . . . 557 17.6.18 EXTI CPU wakeup with event mask register (EXTI_EMR1) . . . . . . . . 558 17.6.19 EXTI CPU wakeup with interrupt mask register (EXTI_IMR2) . . . . . . . 559 17.6.20 EXTI CPU wakeup with event mask register (EXTI_EMR2) . . . . . . . . 559 17.6.21 EXTI register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560

18

Cyclic redundancy check calculation unit (CRC) . . . . . . . . . . . . . . . . 563

18.1 Pambuka CRC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563

18.2 CRC main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563

18.3 CRC functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564

18.3.1 CRC block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564

18.3.2 CRC internal signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564

18.3.3 CRC operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564

18.4 CRC registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566

18.4.1 18.4.2 18.4.3 18.4.4

CRC data register (CRC_DR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566 CRC independent data register (CRC_IDR) . . . . . . . . . . . . . . . . . . . . 566 CRC control register (CRC_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567 CRC initial value (CRC_INIT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568

18.4.5 CRC polynomial (CRC_POL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568

18.4.6 CRC register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569

19

Flexible static memory controller (FSMC) . . . . . . . . . . . . . . . . . . . . . 570

19.1 FMC introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570

19.2 FMC main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570

RM0438 Rev 8

17/2187
54

Isine

RM0438

19.3 19.4 19.5 19.6
19.7

FMC block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571 AHB interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
19.4.1 Supported memories and transactions . . . . . . . . . . . . . . . . . . . . . . . . 572
External device address mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
19.5.1 NOR/PSRAM address mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573 19.5.2 NAND flash memory address mapping . . . . . . . . . . . . . . . . . . . . . . . . 574
NOR flash/PSRAM controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
19.6.1 External memory interface signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576 19.6.2 Supported memories and transactions . . . . . . . . . . . . . . . . . . . . . . . . 578 19.6.3 General timing rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580 19.6.4 NOR flash/PSRAM controller asynchronous transactions . . . . . . . . . . 580 19.6.5 Synchronous transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598 19.6.6 NOR/PSRAM controller registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605
NAND flash controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613
19.7.1 External memory interface signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613 19.7.2 NAND flash supported memories and transactions . . . . . . . . . . . . . . . 614 19.7.3 Timing diagrams for NAND flash memory . . . . . . . . . . . . . . . . . . . . . . 615 19.7.4 NAND flash operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615 19.7.5 NAND flash prewait functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616 19.7.6 Computation of the error correction code (ECC)
in NAND flash memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617 19.7.7 NAND flash controller registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618 19.7.8 FMC register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624

20

Octo-SPI interface (OCTOSPI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626

20.1 OCTOSPI introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626

20.2 OCTOSPI main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626

20.3 OCTOSPI implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627

20.4 gambaran fungsi OCTOSPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628

20.4.1 diagram blok OCTOSPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628

20.4.2 OCTOSPI pins and internal signals . . . . . . . . . . . . . . . . . . . . . . . . . . . 629

20.4.3 OCTOSPI interface to memory modes . . . . . . . . . . . . . . . . . . . . . . . . 630

20.4.4 OCTOSPI regular-command protocol . . . . . . . . . . . . . . . . . . . . . . . . . 630

20.4.5 OCTOSPI regular-command protocol signal interface . . . . . . . . . . . . . 634

20.4.6 HyperBus protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637

20.4.7 Specific features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641

18/2187

RM0438 Rev 8

RM0438

Isine

20.5 20.6 20.7

20.4.8 OCTOSPI operating mode introduction . . . . . . . . . . . . . . . . . . . . . . . . 642 20.4.9 OCTOSPI indirect mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642 20.4.10 OCTOSPI automatic status-polling mode . . . . . . . . . . . . . . . . . . . . . . 644 20.4.11 OCTOSPI memory-mapped mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645 20.4.12 OCTOSPI configuration introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 646 20.4.13 OCTOSPI system configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646 20.4.14 OCTOSPI device configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646 20.4.15 OCTOSPI regular-command mode configuration . . . . . . . . . . . . . . . . 649 20.4.16 OCTOSPI HyperBus protocol configuration . . . . . . . . . . . . . . . . . . . . . 651 20.4.17 OCTOSPI error management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652 20.4.18 OCTOSPI BUSY and ABORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653 20.4.19 OCTOSPI reconfiguration or deactivation . . . . . . . . . . . . . . . . . . . . . . 653 20.4.20 NCS behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
Address alignment and data number . . . . . . . . . . . . . . . . . . . . . . . . . . . 655 OCTOSPI interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656 OCTOSPI registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
20.7.1 OCTOSPI control register (OCTOSPI_CR) . . . . . . . . . . . . . . . . . . . . . 657 20.7.2 OCTOSPI device configuration register 1 (OCTOSPI_DCR1) . . . . . . 659 20.7.3 OCTOSPI device configuration register 2 (OCTOSPI_DCR2) . . . . . . 661 20.7.4 OCTOSPI device configuration register 3 (OCTOSPI_DCR3) . . . . . . 662 20.7.5 OCTOSPI device configuration register 4 (OCTOSPI_DCR4) . . . . . . 662 20.7.6 OCTOSPI status register (OCTOSPI_SR) . . . . . . . . . . . . . . . . . . . . . . 663 20.7.7 OCTOSPI flag clear register (OCTOSPI_FCR) . . . . . . . . . . . . . . . . . . 664 20.7.8 OCTOSPI data length register (OCTOSPI_DLR) . . . . . . . . . . . . . . . . 664 20.7.9 OCTOSPI address register (OCTOSPI_AR) . . . . . . . . . . . . . . . . . . . . 665 20.7.10 OCTOSPI data register (OCTOSPI_DR) . . . . . . . . . . . . . . . . . . . . . . . 665 20.7.11 OCTOSPI polling status mask register (OCTOSPI_PSMKR) . . . . . . . 666 20.7.12 OCTOSPI polling status match register (OCTOSPI_PSMAR) . . . . . . . 667 20.7.13 OCTOSPI polling interval register (OCTOSPI_PIR) . . . . . . . . . . . . . . 667 20.7.14 OCTOSPI communication configuration register (OCTOSPI_CCR) . . 667 20.7.15 OCTOSPI timing configuration register (OCTOSPI_TCR) . . . . . . . . . . 670 20.7.16 OCTOSPI instruction register (OCTOSPI_IR) . . . . . . . . . . . . . . . . . . . 670 20.7.17 OCTOSPI alternate bytes register (OCTOSPI_ABR) . . . . . . . . . . . . . 671 20.7.18 OCTOSPI low-power timeout register (OCTOSPI_LPTR) . . . . . . . . . . 671 20.7.19 OCTOSPI wrap communication configuration register
(OCTOSPI_WPCCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672 20.7.20 OCTOSPI wrap timing configuration register (OCTOSPI_WPTCR) . . 674

RM0438 Rev 8

19/2187
54

Isine

RM0438

20.7.21 OCTOSPI wrap instruction register (OCTOSPI_WPIR) . . . . . . . . . . . . 674 20.7.22 OCTOSPI wrap alternate bytes register (OCTOSPI_WPABR) . . . . . . 675 20.7.23 OCTOSPI write communication configuration register
(OCTOSPI_WCCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675 20.7.24 OCTOSPI write timing configuration register (OCTOSPI_WTCR) . . . . 677 20.7.25 OCTOSPI write instruction register (OCTOSPI_WIR) . . . . . . . . . . . . . 678 20.7.26 OCTOSPI write alternate bytes register (OCTOSPI_WABR) . . . . . . . 678 20.7.27 OCTOSPI HyperBus latency configuration register
(OCTOSPI_HLCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679 20.7.28 peta daftar OCTOSPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679

21

Konverter analog-ke-digital (ADC) . . . . . . . . . . . . . . . . . . . . . . . . . . . 683

21.1 ADC introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683

21.2 ADC main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684

21.3 ADC implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685

21.4 ADC functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686

21.4.1 ADC block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686

21.4.2 pin ADC lan sinyal internal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687

21.4.3 ADC clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688

21.4.4 ADC1/2 panyambungan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690

21.4.5 Slave AHB interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692

21.4.6 ADC Deep-power-down mode (DEEPPWD) and ADC voltage regulator (ADVREGEN). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692

21.4.7 Single-ended and differential input channels . . . . . . . . . . . . . . . . . . . . 693

21.4.8 Calibration (ADCAL, ADCALDIF, ADC_CALFACT) . . . . . . . . . . . . . . . 693

21.4.9 ADC on-off control (ADEN, ADDIS, ADRDY) . . . . . . . . . . . . . . . . . . . . 696

21.4.10 Constraints when writing the ADC control bits . . . . . . . . . . . . . . . . . . . 697

21.4.11 Channel selection (ADC_SQRy, ADC_JSQR) . . . . . . . . . . . . . . . . . . . 698

21.4.12 Channel-wise programmable sampwektu ling (SMPR1, SMPR2). . . . . 699

21.4.13 Mode konversi tunggal (CONT = 0). . . . . . . . . . . . . . . . . . . . . . . . . . 699

21.4.14 Mode konversi terus-terusan (CONT = 1). . . . . . . . . . . . . . . . . . . . . . 700

21.4.15 Starting conversions (ADSTART, JADSTART) . . . . . . . . . . . . . . . . . . . 701

21.4.16 ADC timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702

21.4.17 Mungkasi konversi aktif (ADSTP, JADSTP) . . . . . . . . . . . . . . 702

21.4.18 Konversi ing pemicu eksternal lan polaritas pemicu (EXTSEL, EXTEN, JEXTSEL, JEXTEN) . . . . . . . . . . . . . . . . . . . . . . . 704

21.4.19 Manajemen saluran injeksi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706

21.4.20 Mode pedhot (DISCEN, DISCNUM, JDISCEN) . . . . . . . . . . . . 708

20/2187

RM0438 Rev 8

RM0438

Isine

21.5 21.6 21.7

21.4.21 Queue of context for injected conversions . . . . . . . . . . . . . . . . . . . . . . 709 21.4.22 Programmable resolution (RES) – Fast conversion mode . . . . . . . . . . 717 21.4.23 End of conversion, end of sampling phase (EOC, JEOC, EOSMP) . . 718 21.4.24 End of conversion sequence (EOS, JEOS) . . . . . . . . . . . . . . . . . . . . . 718 21.4.25 Timing diagrams example (mode tunggal/terus menerus,
hardware/software triggers) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719 21.4.26 Data management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721 21.4.27 Managing conversions using the DFSDM . . . . . . . . . . . . . . . . . . . . . . 726 21.4.28 Dynamic low-power features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727 21.4.29 Analog window watchdog (AWD1EN, JAWD1EN, AWD1SGL,
AWD1CH, AWD2CH, AWD3CH, AWD_HTx, AWD_LTx, AWDx) . . . . . 732 21.4.30 Oversampler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736 21.4.31 Dual ADC modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742 21.4.32 Temperature sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755 21.4.33 VBAT supply monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757 21.4.34 Monitoring the internal voltage reference . . . . . . . . . . . . . . . . . . . . . . 758
ADC in low-power mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759 ADC interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 760 ADC registers (for each ADC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
21.7.1 ADC interrupt and status register (ADC_ISR) . . . . . . . . . . . . . . . . . . . 761 21.7.2 ADC interrupt enable register (ADC_IER) . . . . . . . . . . . . . . . . . . . . . . 763 21.7.3 ADC control register (ADC_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765 21.7.4 ADC configuration register (ADC_CFGR) . . . . . . . . . . . . . . . . . . . . . . 768 21.7.5 ADC configuration register 2 (ADC_CFGR2) . . . . . . . . . . . . . . . . . . . 772 21.7.6 ADC sampwektu ndhaftar 1 (ADC_SMPR1) . . . . . . . . . . . . . . . . . . . . 774 21.7.7 ADC sample time register 2 (ADC_SMPR2) . . . . . . . . . . . . . . . . . . . . 775 21.7.8 ADC watchdog threshold register 1 (ADC_TR1) . . . . . . . . . . . . . . . . . 776 21.7.9 ADC watchdog threshold register 2 (ADC_TR2) . . . . . . . . . . . . . . . . . 776 21.7.10 ADC watchdog threshold register 3 (ADC_TR3) . . . . . . . . . . . . . . . . . 777 21.7.11 ADC regular sequence register 1 (ADC_SQR1) . . . . . . . . . . . . . . . . . 778 21.7.12 ADC regular sequence register 2 (ADC_SQR2) . . . . . . . . . . . . . . . . . 779 21.7.13 ADC regular sequence register 3 (ADC_SQR3) . . . . . . . . . . . . . . . . . 780 21.7.14 ADC regular sequence register 4 (ADC_SQR4) . . . . . . . . . . . . . . . . . 781 21.7.15 ADC regular data register (ADC_DR) . . . . . . . . . . . . . . . . . . . . . . . . . 781 21.7.16 ADC injected sequence register (ADC_JSQR) . . . . . . . . . . . . . . . . . . 782 21.7.17 ADC offset y register (ADC_OFRy) . . . . . . . . . . . . . . . . . . . . . . . . . . . 784 21.7.18 ADC injected channel y data register (ADC_JDRy) . . . . . . . . . . . . . . . 785

RM0438 Rev 8

21/2187
54

Isine

RM0438

21.8 21.9

21.7.19 ADC analog watchdog 2 configuration register (ADC_AWD2CR) . . . . 785 21.7.20 ADC analog watchdog 3 configuration register (ADC_AWD3CR) . . . . 786 21.7.21 ADC differential mode selection register (ADC_DIFSEL) . . . . . . . . . . 786 21.7.22 ADC calibration factors (ADC_CALFACT) . . . . . . . . . . . . . . . . . . . . . . 787
ADC common registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787
21.8.1 ADC umum status register (ADC_CSR). . . . . . . . . . . . . . . . . . . . . 787 21.8.2 ndhaftar kontrol umum ADC (ADC_CCR). . . . . . . . . . . . . . . . . . . . . 789 21.8.3 ADC umum data biasa ndhaftar kanggo mode dual (ADC_CDR). . . . . 792
ADC register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792

22

Digital-to-analog converter (DAC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796

22.1 DAC introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796

22.2 Fitur utama DAC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796

22.3 DAC implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 797

22.4 DAC functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798

22.4.1 DAC block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798

22.4.2 DAC channel enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799

22.4.3 DAC data format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799

22.4.4 DAC conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801

22.4.5 DAC output voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801

22.4.6 Pilihan pemicu DAC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802

22.4.7 DMA requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803

22.4.8 Noise generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803

22.4.9 Triangle-wave generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805

22.4.10 DAC channel modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806

22.4.11 DAC channel buffer calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 809

22.4.12 DAC channel conversion modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810

22.4.13 Dual DAC channel conversion modes (if dual channels are available) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811

22.5 DAC in low-power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815

22.6 DAC interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816

22.7 DAC registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816

22.7.1 DAC control register (DAC_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816

22.7.2 DAC piranti lunak pemicu ndhaftar (DAC_SWTRGR) . . . . . . . . . . . . . . . . . 820

22.7.3 DAC channel1 12-bit right-aligned data holding register (DAC_DHR12R1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820

22/2187

RM0438 Rev 8

RM0438

Isine

22.7.4 DAC channel1 12-bit left aligned data holding register (DAC_DHR12L1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821
22.7.5 DAC channel1 8-bit right aligned data holding register (DAC_DHR8R1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821
22.7.6 DAC channel2 12-dicokot didadekake siji tengen data nyekeli register (DAC_DHR12R2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822
22.7.7 DAC channel2 12-bit left aligned data holding register (DAC_DHR12L2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822
22.7.8 DAC channel2 8-bit right-aligned data holding register (DAC_DHR8R2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823
22.7.9 Dual DAC 12-bit right-aligned data holding register (DAC_DHR12RD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823
22.7.10 Dual DAC 12-bit left aligned data holding register (DAC_DHR12LD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824
22.7.11 Dual DAC 8-bit right aligned data holding register (DAC_DHR8RD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824
22.7.12 DAC channel1 data output register (DAC_DOR1) . . . . . . . . . . . . . . . . 825
22.7.13 DAC channel2 data output register (DAC_DOR2) . . . . . . . . . . . . . . . . 825
22.7.14 DAC status register (DAC_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825
22.7.15 DAC calibration control register (DAC_CCR) . . . . . . . . . . . . . . . . . . . 827
22.7.16 DAC mode control register (DAC_MCR) . . . . . . . . . . . . . . . . . . . . . . . 827
22.7.17 DAC saluran1 sample lan terus sample time register (DAC_SHSR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
22.7.18 DAC saluran2 sample lan terus sample time register (DAC_SHSR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
22.7.19 DAC sample terus ndhaftar wektu (DAC_SHHR) . . . . . . . . . . . . . . . 829
22.7.20 DAC sample and hold refresh time register (DAC_SHRR) . . . . . . . . . 830
22.7.21 DAC register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 831

23

Voltage reference buffer (VREFBUF) . . . . . . . . . . . . . . . . . . . . . . . . . . 833

23.1 VREFBUF introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833

23.2 VREFBUF functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833

23.3 VREFBUF trimming. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834

23.4 VREFBUF registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835

23.4.1 VREFBUF control and status register (VREFBUF_CSR) . . . . . . . . . . 835

23.4.2 Register kontrol kalibrasi VREFBUF (VREFBUF_CCR) . . . . . . . . . . 836

23.4.3 VREFBUF register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836

24

Comparator (COMP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837

24.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837

RM0438 Rev 8

23/2187
54

Isine

RM0438

24.2 24.3
24.4 24.5 24.6

COMP main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837 COMP functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838
24.3.1 COMP block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838 24.3.2 COMP pins and internal signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838 24.3.3 COMP reset and clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839 24.3.4 Comparator LOCK mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839 24.3.5 Window comparator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840 24.3.6 Hysteresis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840 24.3.7 Comparator output blanking function . . . . . . . . . . . . . . . . . . . . . . . . . . 841 24.3.8 COMP power and speed modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842
COMP low-power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842 COMP interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842 COMP registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843
24.6.1 Comparator 1 control and status register (COMP1_CSR) . . . . . . . . . . 843 24.6.2 Comparator 2 control and status register (COMP2_CSR) . . . . . . . . . . 845 24.6.3 COMP register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 848

25

operasional amppengawet (OPAMP). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849

25.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849

25.2 OPAMP fitur utama. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849

25.3 OPAMP deskripsi fungsional. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849

25.3.1 OPAMP reset and clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849

25.3.2 Initial configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 850

25.3.3 Signal routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 850

25.3.4 OPAMP modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 851

25.3.5 Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854

25.4 OPAMP mode kurang daya. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856

25.5 OPAMP registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 857

25.5.1 OPAMP1 control/status register (OPAMP1_CSR) . . . . . . . . . . . . . . . . 857

25.5.2 OPAMP1 offset trimming register in normal mode (OPAMP1_OTR) . . 858

25.5.3 OPAMP1 offset trimming register in low-power mode (OPAMP1_LPOTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 858

25.5.4 OPAMP2 control/status register (OPAMP2_CRS) . . . . . . . . . . . . . . . . 859

25.5.5 OPAMP2 offset trimming register in normal mode (OPAMP2_OTR) . . 860

25.5.6 OPAMP2 offset trimming register in low-power mode (OPAMP2_LPOTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 860

25.5.7 OPAMP register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 861

24/2187

RM0438 Rev 8

RM0438

Isine

26

Digital filter for sigma delta modulators (DFSDM) . . . . . . . . . . . . . . . 862

26.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 862

26.2 DFSDM main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863

26.3 DFSDM implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 864

26.4 DFSDM functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865

26.4.1 DFSDM block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865

26.4.2 DFSDM pins and internal signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . 866

26.4.3 DFSDM reset and clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867

26.4.4 Serial channel transceivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 868

26.4.5 Configuring the input serial interface . . . . . . . . . . . . . . . . . . . . . . . . . . 878

26.4.6 Parallel data inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 878

26.4.7 Channel selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 880

26.4.8 Digital filter configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 881

26.4.9 Integrator unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 882

26.4.10 Analog watchdog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 883

26.4.11 Short-circuit detector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885

26.4.12 Extreme detector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886

26.4.13 Data unit block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886

26.4.14 Signed data format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 887

26.4.15 Launching conversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888

26.4.16 Continuous and fast continuous modes . . . . . . . . . . . . . . . . . . . . . . . . 888

26.4.17 Request precedence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 889

26.4.18 Power optimization in run mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 890

26.5 DFSDM interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 890

26.6 DFSDM DMA transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 892

26.7 DFSDM channel y registers (y=0..3) . . . . . . . . . . . . . . . . . . . . . . . . . . . 892

26.7.1 DFSDM channel y configuration register (DFSDM_CHyCFGR1) . . . . 892

26.7.2 DFSDM channel y configuration register (DFSDM_CHyCFGR2) . . . . 894

26.7.3 DFSDM channel y analog watchdog and short-circuit detector register (DFSDM_CHyAWSCDR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895

26.7.4 DFSDM channel y watchdog filter data register (DFSDM_CHyWDATR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896

26.7.5 DFSDM channel y data input register (DFSDM_CHyDATINR) . . . . . . 896

26.7.6 DFSDM channel y delay register (DFSDM_CHyDLYR) . . . . . . . . . . . . 897

26.8 DFSDM filter x module registers (x=0..3) . . . . . . . . . . . . . . . . . . . . . . . . 898

26.8.1 DFSDM filter x control register 1 (DFSDM_FLTxCR1) . . . . . . . . . . . . 898

26.8.2 DFSDM filter x control register 2 (DFSDM_FLTxCR2) . . . . . . . . . . . . 901

RM0438 Rev 8

25/2187
54

Isine

RM0438

26.8.3 DFSDM filter x interrupt and status register (DFSDM_FLTxISR) . . . . . 902
26.8.4 DFSDM filter x interrupt flag clear register (DFSDM_FLTxICR) . . . . . 904
26.8.5 DFSDM filter x injected channel group selection register (DFSDM_FLTxJCHGR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905
26.8.6 DFSDM filter x control register (DFSDM_FLTxFCR) . . . . . . . . . . . . . . 905
26.8.7 DFSDM filter x data register for injected group (DFSDM_FLTxJDATAR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 906
26.8.8 DFSDM filter x data register for the regular channel (DFSDM_FLTxRDATAR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907
26.8.9 DFSDM Filter x analog watchdog dhuwur batesan register (DFSDM_FLTxAWHTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 908
26.8.10 DFSDM filter x analog watchdog low threshold register (DFSDM_FLTxAWLTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 908
26.8.11 DFSDM filter x analog watchdog status register (DFSDM_FLTxAWSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909
26.8.12 DFSDM Filter x analog watchdog cetha flag register (DFSDM_FLTxAWCFR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910
26.8.13 Filter DFSDM x detektor ekstrem register maksimum (DFSDM_FLTxEXMAX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910
26.8.14 DFSDM filter x extremes detector minimum register (DFSDM_FLTxEXMIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 911
26.8.15 DFSDM filter x conversion timer register (DFSDM_FLTxCNVTIMR) . . 911
26.8.16 DFSDM ndhaftar map. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 912

27

Touch sensing controller (TSC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920

27.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920

27.2 Fitur utama TSC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920

27.3 Katrangan fungsi TSC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921

27.3.1 TSC block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921

27.3.2 Surface charge transfer acquisition overview . . . . . . . . . . . . . . . . . . . 921

27.3.3 Reset and clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924

27.3.4 Charge transfer acquisition sequence . . . . . . . . . . . . . . . . . . . . . . . . . 924

27.3.5 Spread spectrum feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925

27.3.6 Max count error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926

27.3.7 Sampling capacitor I/O and channel I/O mode selection . . . . . . . . . . . 926

27.3.8 Mode akuisisi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927

27.3.9 I/O hysteresis and analog switch control . . . . . . . . . . . . . . . . . . . . . . . 927

27.4 TSC low-power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928

27.5 TSC interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928

26/2187

RM0438 Rev 8

RM0438

Isine

27.6

TSC registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928
27.6.1 TSC control register (TSC_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928 27.6.2 TSC interrupt enable register (TSC_IER) . . . . . . . . . . . . . . . . . . . . . . 931 27.6.3 TSC interrupt clear register (TSC_ICR) . . . . . . . . . . . . . . . . . . . . . . . . 932 27.6.4 TSC interrupt status register (TSC_ISR) . . . . . . . . . . . . . . . . . . . . . . . 932 27.6.5 TSC I/O hysteresis control register (TSC_IOHCR) . . . . . . . . . . . . . . . 933 27.6.6 TSC I/O analog switch control register
(TSC_IOASCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933 27.6.7 TSC I/O sampling control register (TSC_IOSCR) . . . . . . . . . . . . . . . . 934 27.6.8 TSC I/O channel control register (TSC_IOCCR) . . . . . . . . . . . . . . . . . 934 27.6.9 TSC I/O group control status register (TSC_IOGCSR) . . . . . . . . . . . . 935 27.6.10 TSC I/O group x counter register (TSC_IOGxCR) . . . . . . . . . . . . . . . . 935 27.6.11 TSC register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936

28

True random number generator (RNG) . . . . . . . . . . . . . . . . . . . . . . . . 938

28.1 RNG introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 938

28.2 RNG main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 938

28.3 RNG functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939

28.3.1 RNG block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939

28.3.2 RNG internal signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939

28.3.3 Random number generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939

28.3.4 RNG initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942

28.3.5 RNG operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943

28.3.6 RNG clocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945

28.3.7 Manajemen kesalahan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945

28.3.8 RNG low-power use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946

28.4 RNG interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946

28.5 RNG processing time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947

28.6 RNG entropy source validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947

28.6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947

28.6.2 Validation conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947

28.6.3 Data collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948

28.7 RNG registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948

28.7.1 RNG control register (RNG_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948

28.7.2 RNG status register (RNG_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 950

28.7.3 RNG data register (RNG_DR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 951

28.7.4 RNG health test control register (RNG_HTCR) . . . . . . . . . . . . . . . . . . 952

RM0438 Rev 8

27/2187
54

Isine

RM0438

28.7.5 RNG register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 952

29

AES hardware accelerator (AES) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953

29.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953

29.2 AES main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953

29.3 AES implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953

29.4 AES functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954

29.4.1 diagram blok AES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954

29.4.2 AES internal signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954

29.4.3 AES cryptographic core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954

29.4.4 AES procedure to perform a cipher operation . . . . . . . . . . . . . . . . . . . 960

29.4.5 AES decryption round key preparation . . . . . . . . . . . . . . . . . . . . . . . . 963

29.4.6 AES ciphertext stealing and data padding . . . . . . . . . . . . . . . . . . . . . . 963

29.4.7 AES task suspend and resume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 964

29.4.8 AES basic chaining modes (ECB, CBC) . . . . . . . . . . . . . . . . . . . . . . . 964

29.4.9 AES counter (CTR) mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 969

29.4.10 AES Galois/counter mode (GCM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 971

29.4.11 AES Galois message authentication code (GMAC) . . . . . . . . . . . . . . 976

29.4.12 AES counter with CBC-MAC (CCM) . . . . . . . . . . . . . . . . . . . . . . . . . . 978

29.4.13 AES data registers and data swapping . . . . . . . . . . . . . . . . . . . . . . . . 983

29.4.14 Register kunci AES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 985

29.4.15 AES initialization vector registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 985

29.4.16 AES DMA interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 986

29.4.17 AES error management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 987

29.5 AES interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 988

29.6 AES processing latency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 988

29.7 Register AES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 989

29.7.1 AES control register (AES_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 989

29.7.2 Daftar status AES (AES_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 991

29.7.3 AES data input register (AES_DINR) . . . . . . . . . . . . . . . . . . . . . . . . . 993

29.7.4 AES data output register (AES_DOUTR) . . . . . . . . . . . . . . . . . . . . . . 993

29.7.5 AES key register 0 (AES_KEYR0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994

29.7.6 AES key register 1 (AES_KEYR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994

29.7.7 AES key register 2 (AES_KEYR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995

29.7.8 AES key register 3 (AES_KEYR3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995

29.7.9 AES initialization vector register 0 (AES_IVR0) . . . . . . . . . . . . . . . . . . 995

28/2187

RM0438 Rev 8

RM0438

Isine

29.7.10 AES initialization vector register 1 (AES_IVR1) . . . . . . . . . . . . . . . . . . 996 29.7.11 AES initialization vector register 2 (AES_IVR2) . . . . . . . . . . . . . . . . . . 996 29.7.12 AES initialization vector register 3 (AES_IVR3) . . . . . . . . . . . . . . . . . . 996 29.7.13 AES key register 4 (AES_KEYR4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 29.7.14 AES key register 5 (AES_KEYR5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 29.7.15 AES key register 6 (AES_KEYR6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 29.7.16 AES key register 7 (AES_KEYR7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 998 29.7.17 AES suspend registers (AES_SUSPxR) . . . . . . . . . . . . . . . . . . . . . . . 998 29.7.18 AES register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 999

30

Prosesor Hash (HASH). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1001

30.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1001

30.2 HASH main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1001

30.3 Implementasi HASH. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1002

30.4 HASH functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1002

30.4.1 HASH block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1002

30.4.2 Sinyal internal HASH. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003

30.4.3 About secure hash algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003

30.4.4 Message data feeding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003

30.4.5 Message digest computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1005

30.4.6 Padding pesen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1006

30.4.7 HMAC operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008

30.4.8 HASH suspend/resume operations . . . . . . . . . . . . . . . . . . . . . . . . . . 1010

30.4.9 HASH DMA interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1012

30.4.10 Manajemen kesalahan HASH. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1012

30.4.11 HASH processing time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1012

30.5 HASH interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1013

30.6 Daftar HASH. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1014

30.6.1 Register kontrol HASH (HASH_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . 1014

30.6.2 HASH data input register (HASH_DIN) . . . . . . . . . . . . . . . . . . . . . . . 1016

30.6.3 HASH start register (HASH_STR) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1017

30.6.4 HASH digest registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1018

30.6.5 HASH interrupt enable register (HASH_IMR) . . . . . . . . . . . . . . . . . . 1019

30.6.6 Daftar status HASH (HASH_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1020

30.6.7 HASH context swap registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1020

30.6.8 HASH register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1021

RM0438 Rev 8

29/2187
54

Isine

RM0438

31

On-the-fly decryption engine (OTFDEC) . . . . . . . . . . . . . . . . . . . . . . 1023

31.1 OTFDEC introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1023

31.2 OTFDEC main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1023

31.3 OTFDEC functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024

31.3.1 OTFDEC block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024

31.3.2 OTFDEC internal signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024

31.3.3 OTFDEC on-the-fly decryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025

31.3.4 OTFDEC usage of AES in counter mode decryption . . . . . . . . . . . . . 1026

31.3.5 Flow control management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027

31.3.6 OTFDEC error management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027

31.4 OTFDEC interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028

31.5 Informasi aplikasi OTFDEC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028

31.5.1 OTFDEC initialization process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028

31.5.2 OTFDEC and power management . . . . . . . . . . . . . . . . . . . . . . . . . . 1030

31.5.3 Encrypting for OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1030

31.5.4 OTFDEC key CRC source code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1031

31.6 Register OTFDEC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1032

31.6.1 OTFDEC control register (OTFDEC_CR) . . . . . . . . . . . . . . . . . . . . . 1032

31.6.2 OTFDEC hak istimewa akses kontrol konfigurasi register (OTFDEC_PRIVCFGR). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1033

31.6.3 OTFDEC region x configuration register (OTFDEC_RxCFGR) . . . . . 1033

31.6.4 OTFDEC region x start address register (OTFDEC_RxSTARTADDR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1035

31.6.5 OTFDEC region x end address register (OTFDEC_RxENDADDR) . 1035

31.6.6 wilayah OTFDEC x ora ndhaftar 0 (OTFDEC_RxNONCER0) . . . . . 1036

31.6.7 wilayah OTFDEC x ora ndhaftar 1 (OTFDEC_RxNONCER1) . . . . . 1037

31.6.8 OTFDEC region x key register 0 (OTFDEC_RxKEYR0) . . . . . . . . . . 1037

31.6.9 OTFDEC region x key register 1 (OTFDEC_RxKEYR1) . . . . . . . . . . 1038

31.6.10 OTFDEC region x key register 2 (OTFDEC_RxKEYR2) . . . . . . . . . . 1038

31.6.11 OTFDEC region x key register 3 (OTFDEC_RxKEYR3) . . . . . . . . . . 1039

31.6.12 OTFDEC interrupt status register (OTFDEC_ISR) . . . . . . . . . . . . . . 1039

31.6.13 OTFDEC interrupt clear register (OTFDEC_ICR) . . . . . . . . . . . . . . . 1040

31.6.14 OTFDEC interrupt enable register (OTFDEC_IER) . . . . . . . . . . . . . . 1041

31.6.15 OTFDEC register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1042

32

Public key accelerator (PKA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046

32.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046

30/2187

RM0438 Rev 8

RM0438

Isine

32.2 32.3
32.4
32.5 32.6 32.7

PKA main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046 PKA functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046
32.3.1 PKA block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046 32.3.2 PKA internal signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1047 32.3.3 PKA reset and clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1047 32.3.4 PKA public key acceleration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1047 32.3.5 Typical applications for PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1049 32.3.6 PKA procedure to perform an operation . . . . . . . . . . . . . . . . . . . . . . 1051 32.3.7 PKA error management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052
PKA operating modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052
32.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052 32.4.2 Montgomery parameter computation . . . . . . . . . . . . . . . . . . . . . . . . . 1053 32.4.3 Modular addition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054 32.4.4 Modular subtraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054 32.4.5 Modular and Montgomery multiplication . . . . . . . . . . . . . . . . . . . . . . 1055 32.4.6 Modular exponentiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056 32.4.7 Modular inversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056 32.4.8 Modular reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1057 32.4.9 Arithmetic addition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1057 32.4.10 Arithmetic subtraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1057 32.4.11 Arithmetic multiplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1058 32.4.12 Arithmetic comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1058 32.4.13 RSA CRT exponentiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1059 32.4.14 Point on elliptic curve Fp check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1059 32.4.15 ECC Fp scalar multiplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1060 32.4.16 ECDSA sign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061 32.4.17 ECDSA verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1063
Example of configurations and processing times . . . . . . . . . . . . . . . . . 1064
32.5.1 Supported elliptic curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1064 32.5.2 Computation times . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1066
PKA interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1067 PKA registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1068
32.7.1 PKA control register (PKA_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1068 32.7.2 PKA status register (PKA_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1069 32.7.3 PKA clear flag register (PKA_CLRFR) . . . . . . . . . . . . . . . . . . . . . . . . 1070 32.7.4 PKA RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1070

RM0438 Rev 8

31/2187
54

Isine

RM0438

32.7.5 PKA register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1071

33

Advanced-control timers (TIM1/TIM8) . . . . . . . . . . . . . . . . . . . . . . . . 1072

33.1 TIM1/TIM8 introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1072

33.2 TIM1/TIM8 main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1072

33.3 TIM1/TIM8 functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1074

33.3.1 Time-base unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1074

33.3.2 Mode counter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1076

33.3.3 Repetition counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1087

33.3.4 External trigger input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1089

33.3.5 Clock selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1090

33.3.6 Capture/compare channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1094

33.3.7 Input capture mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1096

33.3.8 PWM input mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1097

33.3.9 Forced output mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1098

33.3.10 Output mbandhingaké mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1099

33.3.11 PWM mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1100

33.3.12 Asymmetric PWM mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1103

33.3.13 Combined PWM mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104

33.3.14 Combined 3-phase PWM mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1105

33.3.15 Complementary outputs and dead-time insertion . . . . . . . . . . . . . . . 1106

33.3.16 Using the break function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1108

33.3.17 Bidirectional break inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1114

33.3.18 Clearing the OCxREF signal on an external event . . . . . . . . . . . . . . 1115

33.3.19 6-step PWM generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1117

33.3.20 One-pulse mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1118

33.3.21 Retriggerable one pulse mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1119

33.3.22 Encoder interface mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1120

33.3.23 UIF bit remapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1122

33.3.24 Timer input XOR function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1123

33.3.25 Interfacing with Hall sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1123

33.3.26 Timer synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1126

33.3.27 ADC synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1130

33.3.28 mode bledosan DMA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1130

33.3.29 Debug mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1131

33.4 TIM1/TIM8 registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1132

33.4.1 TIMx control register 1 (TIMx_CR1)(x = 1, 8) . . . . . . . . . . . . . . . . . . 1132

32/2187

RM0438 Rev 8

RM0438

Isine
33.4.2 TIMx control register 2 (TIMx_CR2)(x = 1, 8) . . . . . . . . . . . . . . . . . . 1133
33.4.3 TIMx slave mode control register (TIMx_SMCR)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1136
33.4.4 TIMx DMA/interrupt enable register (TIMx_DIER)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1138
33.4.5 TIMx status register (TIMx_SR)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . 1140
33.4.6 TIMx event generation register (TIMx_EGR)(x = 1, 8) . . . . . . . . . . . . 1142
33.4.7 TIMx capture/compare mode register 1 (TIMx_CCMR1)(x = 1, 8) . . 1143
33.4.8 TIMx capture/compare mode register 1 [alternate] (TIMx_CCMR1)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1144
33.4.9 TIMx capture/compare mode register 2 (TIMx_CCMR2)(x = 1, 8) . . 1147
33.4.10 TIMx capture/compare mode register 2 [alternate] (TIMx_CCMR2)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1148
33.4.11 TIMx capture/compare enable register (TIMx_CCER)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1149
33.4.12 TIMx counter (TIMx_CNT)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . 1153
33.4.13 TIMx prescaler (TIMx_PSC)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . 1153
33.4.14 TIMx auto-reload register (TIMx_ARR)(x = 1, 8) . . . . . . . . . . . . . . . . 1153
33.4.15 TIMx repetition counter register (TIMx_RCR)(x = 1, 8) . . . . . . . . . . . 1154
33.4.16 TIMx capture/compare register 1 (TIMx_CCR1)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1154
33.4.17 TIMx capture/compare register 2 (TIMx_CCR2)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1155
33.4.18 TIMx capture/compare register 3 (TIMx_CCR3)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1155
33.4.19 TIMx capture/compare register 4 (TIMx_CCR4)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1156
33.4.20 TIMx break and dead-time register (TIMx_BDTR)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1156
33.4.21 TIMx DMA control register (TIMx_DCR)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1160
33.4.22 TIMx DMA address for full transfer (TIMx_DMAR)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1161
33.4.23 TIM1 option register 1 (TIM1_OR1) . . . . . . . . . . . . . . . . . . . . . . . . . . 1162
33.4.24 TIM8 option register 1 (TIM8_OR1) . . . . . . . . . . . . . . . . . . . . . . . . . . 1162
33.4.25 TIMx capture/compare mode register 3 (TIMx_CCMR3)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1163
33.4.26 TIMx capture/compare register 5 (TIMx_CCR5)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1164
33.4.27 TIMx capture/compare register 6 (TIMx_CCR6)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1165

RM0438 Rev 8

33/2187
54

Isine

RM0438

33.4.28 TIM1 option register 2 (TIM1_OR2) . . . . . . . . . . . . . . . . . . . . . . . . . . 1165 33.4.29 TIM1 option register 3 (TIM1_OR3) . . . . . . . . . . . . . . . . . . . . . . . . . . 1167 33.4.30 TIM8 option register 2 (TIM8_OR2) . . . . . . . . . . . . . . . . . . . . . . . . . . 1168 33.4.31 TIM8 option register 3 (TIM8_OR3) . . . . . . . . . . . . . . . . . . . . . . . . . . 1170 33.4.32 TIM1 register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1172 33.4.33 TIM8 register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1174

34

General-purpose timers (TIM2/TIM3/TIM4/TIM5) . . . . . . . . . . . . . . . . 1177

34.1 TIM2/TIM3/TIM4/TIM5 introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . .1177

34.2 TIM2/TIM3/TIM4/TIM5 main features . . . . . . . . . . . . . . . . . . . . . . . . . . .1177

34.3 TIM2/TIM3/TIM4/TIM5 functional description . . . . . . . . . . . . . . . . . . . . .1179

34.3.1 Time-base unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1179

34.3.2 Mode counter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1181

34.3.3 Clock selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1191

34.3.4 Capture/Compare channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1195

34.3.5 Input capture mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1197

34.3.6 PWM input mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1198

34.3.7 Forced output mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1199

34.3.8 Output mbandhingaké mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1200

34.3.9 PWM mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1201

34.3.10 Asymmetric PWM mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1204

34.3.11 Combined PWM mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1205

34.3.12 Clearing the OCxREF signal on an external event . . . . . . . . . . . . . . 1206

34.3.13 One-pulse mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1208

34.3.14 Retriggerable one pulse mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1209

34.3.15 Encoder interface mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1210

34.3.16 UIF bit remapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1212

34.3.17 Timer input XOR function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1212

34.3.18 Timers and external trigger synchronization . . . . . . . . . . . . . . . . . . . 1213

34.3.19 Timer synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1216

34.3.20 mode bledosan DMA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1221

34.3.21 Debug mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1222

34.4 TIM2/TIM3/TIM4/TIM5 registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1223

34.4.1 TIMx control register 1 (TIMx_CR1)(x = 2 to 5) . . . . . . . . . . . . . . . . . 1223

34.4.2 TIMx control register 2 (TIMx_CR2)(x = 2 to 5) . . . . . . . . . . . . . . . . . 1224

34.4.3 Register kontrol mode budak TIMx (TIMx_SMCR) (x = 2 kanggo 5). . . . . . . 1226

34.4.4 TIMx DMA/Interrupt enable register (TIMx_DIER)(x = 2 to 5) . . . . . . 1229

34/2187

RM0438 Rev 8

RM0438

Isine

34.4.5 TIMx status register (TIMx_SR)(x = 2 to 5) . . . . . . . . . . . . . . . . . . . . 1230 34.4.6 TIMx event generation register (TIMx_EGR)(x = 2 to 5) . . . . . . . . . . 1231 34.4.7 TIMx capture/compare mode register 1 (TIMx_CCMR1)(x = 2 to 5) . 1232 34.4.8 TIMx capture/compare mode register 1 [alternate] (TIMx_CCMR1)
(x = 2 nganti 5). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1234 34.4.9 TIMx njupuk / mbandhingaké mode register 2 (TIMx_CCMR2) (x = 2 kanggo 5). 1236 34.4.10 TIMx capture/mbandhingake mode register 2 [ganti] (TIMx_CCMR2)
(x = 2 nganti 5). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1237 34.4.11 TIMx dijupuk / mbandhingaké mbisakake register
(TIMx_CCER)(x = 2 nganti 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1238 34.4.12 TIMx counter (TIMx_CNT)(x = 2 kanggo 5). . . . . . . . . . . . . . . . . . . . . . . . 1239 34.4.13 TIMx counter [sulih] (TIMx_CNT)(x = 2 kanggo 5). . . . . . . . . . . . . . . . 1240 34.4.14 TIMx prescaler (TIMx_PSC)(x = 2 kanggo 5) . . . . . . . . . . . . . . . . . . . . . . . 1240 34.4.15 TIMx otomatis isi ulang ndhaftar (TIMx_ARR)(x = 2 kanggo 5) . . . . . . . . . . . . . . 1241 34.4.16 TIMx dijupuk / mbandhingaké register 1 (TIMx_CCR1) (x = 2 kanggo 5). . . . . . . 1241 34.4.17 TIMx dijupuk / mbandhingaké register 2 (TIMx_CCR2) (x = 2 kanggo 5) . . . . . . . 1241 34.4.18 TIMx dijupuk / mbandhingaké register 3 (TIMx_CCR3) (x = 2 kanggo 5). . . . . . . 1242 34.4.19 TIMx dijupuk / mbandhingaké register 4 (TIMx_CCR4) (x = 2 kanggo 5) . . . . . . . 1242 34.4.20 TIMx DMA kontrol register (TIMx_DCR) (x = 2 kanggo 5). . . . . . . . . . . . . . 1243 34.4.21 TIMx DMA alamat kanggo transfer lengkap (TIMx_DMAR) (x = 2 kanggo 5) . . . . . . 1244 34.4.22 TIM2 pilihan ndhaftar 1 (TIM2_OR1) . . . . . . . . . . . . . . . . . . . . . . . . . . 1244 34.4.23 TIM3 pilihan ndhaftar 1 (TIM3_OR1) . . . . . . . . . . . . . . . . . . . . . . . . . . 1244 34.4.24 TIM2 pilihan ndhaftar 2 (TIM2_OR2) . . . . . . . . . . . . . . . . . . . . . . . . . . 1245 34.4.25 TIM3 pilihan ndhaftar 2 (TIM3_OR2) . . . . . . . . . . . . . . . . . . . . . . . . . . 1245 34.4.26 peta registrasi TIMx. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1247

35

Timer tujuan umum (TIM15/TIM16/TIM17) . . . . . . . . . . . . . . . . . 1250

35.1 TIM15/TIM16/TIM17 introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1250

35.2 TIM15 main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1250

35.3 TIM16/TIM17 main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1251

35.4 TIM15/TIM16/TIM17 functional description . . . . . . . . . . . . . . . . . . . . . 1254

35.4.1 Time-base unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1254

35.4.2 Mode counter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1256

35.4.3 Repetition counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1260

35.4.4 35.4.5 35.4.6 35.4.7

Clock selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1261 Capture/compare channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1263 Input capture mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1265 PWM input mode (only for TIM15) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1266

RM0438 Rev 8

35/2187
54

Isine

RM0438

35.5

35.4.8 Forced output mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1267 35.4.9 Output compare mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1268 35.4.10 PWM mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1269 35.4.11 Combined PWM mode (TIM15 only) . . . . . . . . . . . . . . . . . . . . . . . . . 1270 35.4.12 Complementary outputs and dead-time insertion . . . . . . . . . . . . . . . 1271 35.4.13 Using the break function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1273 35.4.14 Bidirectional break inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1278 35.4.15 6-step PWM generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1279 35.4.16 One-pulse mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1281 35.4.17 Retriggerable one pulse mode (TIM15 only) . . . . . . . . . . . . . . . . . . . 1282 35.4.18 UIF bit remapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1283 35.4.19 Timer input XOR function (TIM15 only) . . . . . . . . . . . . . . . . . . . . . . . 1284 35.4.20 External trigger synchronization (TIM15 only) . . . . . . . . . . . . . . . . . . 1285 35.4.21 Slave mode ­ combined reset + trigger mode . . . . . . . . . . . . . . . . . . 1287 35.4.22 DMA burst mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1287 35.4.23 Timer synchronization (TIM15) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1289 35.4.24 Using timer output as trigger for other timers (TIM16/TIM17) . . . . . . 1289 35.4.25 Debug mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1289
Daftar TIM 15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1290
35.5.1 TIM15 kontrol register 1 (TIM15_CR1) . . . . . . . . . . . . . . . . . . . . . . . 1290 35.5.2 TIM15 kontrol register 2 (TIM15_CR2) . . . . . . . . . . . . . . . . . . . . . . . 1291 35.5.3 Register kontrol mode budak TIM15 (TIM15_SMCR). . . . . . . . . . . . . 1293 35.5.4 TIM15 DMA/interrupt enable register (TIM15_DIER) . . . . . . . . . . . . 1294 35.5.5 ndhaftar status TIM15 (TIM15_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . 1295 35.5.6 Register generasi acara TIM15 (TIM15_EGR) . . . . . . . . . . . . . . . . 1297 35.5.7 TIM15 njupuk / mbandhingaké mode register 1 (TIM15_CCMR1) . . . . . . . 1298 35.5.8 TIM15 jupuk / mbandhingaké mode register 1 [sulih] (TIM15_CCMR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1299 35.5.9 TIM15 njupuk / mbandhingake ngaktifake register (TIM15_CCER) . . . . . . . . . 1302 35.5.10 TIM15 counter (TIM15_CNT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1305 35.5.11 TIM15 prescaler (TIM15_PSC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1305 35.5.12 TIM15 ndhaftar ulang otomatis (TIM15_ARR) . . . . . . . . . . . . . . . . . . . . . 1305 35.5.13 TIM15 repetisi counter register (TIM15_RCR) . . . . . . . . . . . . . . . . 1306 35.5.14 TIM15 njupuk / mbandhingaké register 1 (TIM15_CCR1) . . . . . . . . . . . . . . 1306 35.5.15 TIM15 njupuk / mbandhingaké register 2 (TIM15_CCR2) . . . . . . . . . . . . . . 1307 35.5.16 TIM15 break lan mati-wektu register (TIM15_BDTR) . . . . . . . . . . . . 1307 35.5.17 TIM15 DMA kontrol register (TIM15_DCR) . . . . . . . . . . . . . . . . . . . . 1310

36/2187

RM0438 Rev 8

RM0438

Isine

35.6

35.5.18 TIM15 DMA address for full transfer (TIM15_DMAR) . . . . . . . . . . . . 1310 35.5.19 TIM15 option register 1 (TIM15_OR1) . . . . . . . . . . . . . . . . . . . . . . . . 1311 35.5.20 TIM15 option register 2 (TIM15_OR2) . . . . . . . . . . . . . . . . . . . . . . . . 1311 35.5.21 TIM15 register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1313
TIM16/TIM17 registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1316
35.6.1 TIMx control register 1 (TIMx_CR1)(x = 16 to 17) . . . . . . . . . . . . . . . 1316 35.6.2 TIMx control register 2 (TIMx_CR2)(x = 16 to 17) . . . . . . . . . . . . . . . 1317 35.6.3 TIMx DMA/interrupt enable register (TIMx_DIER)(x = 16 to 17) . . . . 1318 35.6.4 TIMx status register (TIMx_SR)(x = 16 to 17) . . . . . . . . . . . . . . . . . . 1319 35.6.5 TIMx event generation register (TIMx_EGR)(x = 16 to 17) . . . . . . . . 1320 35.6.6 TIMx capture/compare mode register 1
(TIMx_CCMR1)(x = 16 to 17) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1321 35.6.7 TIMx capture/compare mode register 1 [alternate] (TIMx_CCMR1)(x = 16 to 17) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1322 35.6.8 TIMx capture/compare enable register (TIMx_CCER)(x = 16 to 17) . 1324 35.6.9 TIMx counter (TIMx_CNT)(x = 16 to 17) . . . . . . . . . . . . . . . . . . . . . . 1326 35.6.10 TIMx prescaler (TIMx_PSC)(x = 16 to 17) . . . . . . . . . . . . . . . . . . . . . 1327 35.6.11 TIMx auto-reload register (TIMx_ARR)(x = 16 to 17) . . . . . . . . . . . . 1327 35.6.12 TIMx repetition counter register (TIMx_RCR)(x = 16 to 17) . . . . . . . . 1328 35.6.13 TIMx capture/compare register 1 (TIMx_CCR1)(x = 16 to 17) . . . . . 1328 35.6.14 TIMx break and dead-time register (TIMx_BDTR)(x = 16 to 17) . . . . 1329 35.6.15 TIMx DMA control register (TIMx_DCR)(x = 16 to 17) . . . . . . . . . . . . 1331 35.6.16 TIMx DMA address for full transfer (TIMx_DMAR)(x = 16 to 17) . . . . 1332 35.6.17 TIM16 option register 1 (TIM16_OR1) . . . . . . . . . . . . . . . . . . . . . . . . 1332 35.6.18 TIM16 option register 2 (TIM16_OR2) . . . . . . . . . . . . . . . . . . . . . . . . 1333 35.6.19 TIM17 option register 1 (TIM17_OR1) . . . . . . . . . . . . . . . . . . . . . . . . 1334 35.6.20 TIM17 option register 2 (TIM17_OR2) . . . . . . . . . . . . . . . . . . . . . . . . 1335 35.6.21 TIM16/TIM17 register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1337

36

Basic timers (TIM6/TIM7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1339

36.1 TIM6/TIM7 introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1339

36.2 TIM6/TIM7 main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1339

36.3 TIM6/TIM7 functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1340

36.3.1 Time-base unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1340

36.3.2 Counting mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342

36.3.3 UIF bit remapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1345

36.3.4 Clock source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1345

RM0438 Rev 8

37/2187
54

Isine

RM0438

36.4

36.3.5 Debug mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1346
TIM6/TIM7 ndhaftar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1346
36.4.1 TIMx control register 1 (TIMx_CR1)(x = 6 to 7) . . . . . . . . . . . . . . . . . 1346 36.4.2 TIMx control register 2 (TIMx_CR2)(x = 6 to 7) . . . . . . . . . . . . . . . . . 1348 36.4.3 TIMx DMA/Interrupt enable register (TIMx_DIER)(x = 6 to 7) . . . . . . 1348 36.4.4 TIMx status register (TIMx_SR)(x = 6 to 7) . . . . . . . . . . . . . . . . . . . . 1349 36.4.5 TIMx event generation register (TIMx_EGR)(x = 6 to 7) . . . . . . . . . . 1349 36.4.6 TIMx counter (TIMx_CNT)(x = 6 to 7) . . . . . . . . . . . . . . . . . . . . . . . . 1349 36.4.7 TIMx prescaler (TIMx_PSC)(x = 6 to 7) . . . . . . . . . . . . . . . . . . . . . . . 1350 36.4.8 TIMx auto-reload register (TIMx_ARR)(x = 6 to 7) . . . . . . . . . . . . . . 1350 36.4.9 TIMx register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1351

37

Low-power timer (LPTIM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1352

37.1 LPTIM introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1352

37.2 LPTIM main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1352

37.3 LPTIM implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1352

37.4 Katrangan fungsi LPTIM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1353

37.4.1 LPTIM block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1353

37.4.2 LPTIM pins and internal signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1353

37.4.3 LPTIM input and trigger mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . 1354

37.4.4 LPTIM reset and clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1355

37.4.5 Glitch filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1355

37.4.6 Prescaler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1356

37.4.7 Trigger multiplexer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1356

37.4.8 Operating mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1357

37.4.9 Timeout function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1359

37.4.10 Waveform generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1359

37.4.11 Register update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1360

37.4.12 Counter mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1361

37.4.13 Timer enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1362

37.4.14 Timer counter reset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1362

37.4.15 Encoder mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1363

37.4.16 Repetition counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1364

37.4.17 Debug mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1365

37.5 LPTIM low-power modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1366

37.6 LPTIM interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1366

38/2187

RM0438 Rev 8

RM0438

Isine

37.7

LPTIM registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1367
37.7.1 LPTIM interrupt and status register (LPTIM_ISR) . . . . . . . . . . . . . . . 1367 37.7.2 LPTIM interrupt clear register (LPTIM_ICR) . . . . . . . . . . . . . . . . . . . 1368 37.7.3 LPTIM interrupt enable register (LPTIM_IER) . . . . . . . . . . . . . . . . . . 1369 37.7.4 LPTIM configuration register (LPTIM_CFGR) . . . . . . . . . . . . . . . . . . 1370 37.7.5 LPTIM control register (LPTIM_CR) . . . . . . . . . . . . . . . . . . . . . . . . . 1373 37.7.6 LPTIM compare r

Dokumen / Sumber Daya

ST STM32L5 Series Highly Secure With Low Power Consumption [pdf] Pandhuan pangguna
RM0438, STM32L5 Series Highly Secure With Low Power Consumption, STM32L5 Series, Highly Secure With Low Power Consumption, Low Power Consumption, Consumption

Referensi

Ninggalake komentar

Alamat email sampeyan ora bakal diterbitake. Kolom sing dibutuhake ditandhani *