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 |