RM0399-STM32H745-755-747-757
Introduction
This reference manual targets application developers. It provides complete information on how to use the STM32H745/55/47/57xx microcontroller memory and peripherals.
The STM32H745/755 and STM32H747/757 lines include microcontrollers with different memory sizes, packages and peripherals.
The devices include ST state-of-the-art patented technology.
For ordering information, mechanical, and electrical device characteristics refer to the corresponding datasheets.
For information on the Arm ® Cortex ® -M4 with FPU and Arm ® Cortex ® -M7 with FPU cores, refer to the corresponding Arm Technical Reference Manuals .
Related documents
- • Arm ® Cortex ® -M4 Technical Reference Manual, available from www.arm.com .
- • Arm ® Cortex ® -M7 Technical Reference Manual, available from www.arm.com .
- • Cortex ® -M4 programming manual (PM0214).
- • Cortex ® -M7 programming manual (PM0253).
- • STM32H745/755 and STM32H747/757 errata sheet
Contents
- 1 Documentation conventions . . . . . 106
- 1.1 General information . . . . . 106
- 1.2 List of abbreviations for registers . . . . . 106
- 1.3 Glossary . . . . . 107
- 1.4 Availability of peripherals . . . . . 107
- 2 Memory and bus architecture . . . . . 108
- 2.1 System architecture . . . . . 108
- 2.1.1 Bus matrices . . . . . 110
- 2.1.2 TCM buses . . . . . 110
- 2.1.3 Bus-to-bus bridges . . . . . 110
- 2.1.4 ART accelerator . . . . . 111
- 2.1.5 Inter-domain buses . . . . . 111
- 2.1.6 CPU buses . . . . . 111
- 2.1.7 Bus master peripherals . . . . . 112
- 2.1.8 Clocks to functional blocks . . . . . 113
- 2.2 AXI interconnect matrix (AXIM) . . . . . 114
- 2.2.1 AXI introduction . . . . . 114
- 2.2.2 AXI interconnect main features . . . . . 114
- 2.2.3 AXI interconnect functional description . . . . . 115
- 2.2.4 AXI interconnect registers . . . . . 117
- 2.2.5 AXI interconnect register map . . . . . 126
- 2.3 Memory organization . . . . . 134
- 2.3.1 Introduction . . . . . 134
- 2.3.2 Memory map and register boundary addresses . . . . . 135
- 2.4 Embedded SRAM . . . . . 142
- 2.5 Flash memory overview . . . . . 143
- 2.6 Boot configuration . . . . . 143
- 2.1 System architecture . . . . . 108
- 3 RAM ECC monitoring (RAMECC) . . . . . 146
- 3.1 Introduction . . . . . 146
- 3.2 RAMECC main features . . . . . 146
- 3.3 RAMECC functional description . . . . . 146
| 3.3.1 | RAMECC block diagram ..... | 146 |
| 3.3.2 | RAMECC internal signals ..... | 148 |
| 3.3.3 | RAMECC monitor mapping ..... | 148 |
| 3.4 | RAMECC registers ..... | 149 |
| 3.4.1 | RAMECC interrupt enable register (RAMECC_IER) ..... | 149 |
| 3.4.2 | RAMECC monitor x configuration register (RAMECC_MxCR) ..... | 150 |
| 3.4.3 | RAMECC monitor x status register (RAMECC_MxSR) ..... | 150 |
| 3.4.4 | RAMECC monitor x failing address register (RAMECC_MxFAR) ..... | 151 |
| 3.4.5 | RAMECC monitor x failing data low register (RAMECC_MxFDRL) ..... | 151 |
| 3.4.6 | RAMECC monitor x failing data high register (RAMECC_MxFDRH) ..... | 152 |
| 3.4.7 | RAMECC monitor x failing ECC error code register RAMECC_MxFECR) ..... | 152 |
| 3.4.8 | RAMECC register map ..... | 153 |
| 4 | Embedded flash memory (FLASH) ..... | 154 |
| 4.1 | Introduction ..... | 154 |
| 4.2 | FLASH main features ..... | 154 |
| 4.3 | FLASH functional description ..... | 155 |
| 4.3.1 | FLASH block diagram ..... | 155 |
| 4.3.2 | FLASH internal signals ..... | 156 |
| 4.3.3 | FLASH architecture and integration in the system ..... | 156 |
| 4.3.4 | Flash memory architecture and usage ..... | 158 |
| 4.3.5 | FLASH system performance enhancements ..... | 162 |
| 4.3.6 | FLASH data protection schemes ..... | 162 |
| 4.3.7 | Overview of FLASH operations ..... | 163 |
| 4.3.8 | FLASH read operations ..... | 164 |
| 4.3.9 | FLASH program operations ..... | 167 |
| 4.3.10 | FLASH erase operations ..... | 171 |
| 4.3.11 | FLASH parallel operations ..... | 174 |
| 4.3.12 | Flash memory error protections ..... | 174 |
| 4.3.13 | Flash bank and register swapping ..... | 176 |
| 4.3.14 | FLASH reset and clocks ..... | 179 |
| 4.4 | FLASH option bytes ..... | 179 |
| 4.4.1 | About option bytes ..... | 179 |
| 4.4.2 | Option byte loading ..... | 180 |
| 4.4.3 | Option byte modification ..... | 180 |
| 4.4.4 | Option bytes overview ..... | 183 |
| 4.4.5 | Description of user and system option bytes . . . . . | 185 |
| 4.4.6 | Description of data protection option bytes . . . . . | 187 |
| 4.4.7 | Description of boot address option bytes . . . . . | 188 |
| 4.5 | FLASH protection mechanisms . . . . . | 188 |
| 4.5.1 | FLASH configuration protection . . . . . | 188 |
| 4.5.2 | Write protection . . . . . | 190 |
| 4.5.3 | Readout protection (RDP) . . . . . | 191 |
| 4.5.4 | Proprietary code readout protection (PCROP) . . . . . | 195 |
| 4.5.5 | Secure access mode . . . . . | 196 |
| 4.6 | FLASH low-power modes . . . . . | 198 |
| 4.6.1 | Introduction . . . . . | 198 |
| 4.6.2 | Managing the FLASH domain switching to DStop or DStandby . . . . . | 198 |
| 4.7 | FLASH error management . . . . . | 200 |
| 4.7.1 | Introduction . . . . . | 200 |
| 4.7.2 | Write protection error (WRPERR) . . . . . | 200 |
| 4.7.3 | Programming sequence error (PGSERR) . . . . . | 201 |
| 4.7.4 | Strobe error (STRBERR) . . . . . | 202 |
| 4.7.5 | Inconsistency error (INCERR) . . . . . | 202 |
| 4.7.6 | Operation error (OPERR) . . . . . | 203 |
| 4.7.7 | Error correction code error (SNECCERR/DBECCERR) . . . . . | 203 |
| 4.7.8 | Read protection error (RDPERR) . . . . . | 204 |
| 4.7.9 | Read secure error (RDSERR) . . . . . | 204 |
| 4.7.10 | CRC read error (CRCRDERR) . . . . . | 204 |
| 4.7.11 | Option byte change error (OPTCHANGEERR) . . . . . | 205 |
| 4.7.12 | Miscellaneous HardFault errors . . . . . | 205 |
| 4.8 | FLASH interrupts . . . . . | 205 |
| 4.9 | FLASH registers . . . . . | 208 |
| 4.9.1 | FLASH access control register (FLASH_ACR) . . . . . | 208 |
| 4.9.2 | FLASH key register for bank 1 (FLASH_KEYR1) . . . . . | 208 |
| 4.9.3 | FLASH option key register (FLASH_OPTKEYR) . . . . . | 209 |
| 4.9.4 | FLASH control register for bank 1 (FLASH_CR1) . . . . . | 209 |
| 4.9.5 | FLASH status register for bank 1 (FLASH_SR1) . . . . . | 214 |
| 4.9.6 | FLASH clear control register for bank 1 (FLASH_CCR1) . . . . . | 217 |
| 4.9.7 | FLASH option control register (FLASH_OPTCR) . . . . . | 218 |
| 4.9.8 | FLASH option status register (FLASH_OPTSR_CUR) . . . . . | 219 |
| 4.9.9 | FLASH option status register (FLASH_OPTSR_PRG) . . . . . | 222 |
| 4.9.10 | FLASH option clear control register (FLASH_OPTCCR) . . . . . | 224 |
| 4.9.11 | FLASH protection address for bank 1 (FLASH_PRAR_CUR1) . . . . . | 225 |
| 4.9.12 | FLASH protection address for bank 1 (FLASH_PRAR_PRG1) . . . . . | 225 |
| 4.9.13 | FLASH secure address for bank 1 (FLASH_SCAR_CUR1) . . . . . | 226 |
| 4.9.14 | FLASH secure address for bank 1 (FLASH_SCAR_PRG1) . . . . . | 227 |
| 4.9.15 | FLASH write sector protection for bank 1 (FLASH_WPSN_CUR1R) . . . . . | 227 |
| 4.9.16 | FLASH write sector protection for bank 1 (FLASH_WPSN_PRG1R) . . . . . | 228 |
| 4.9.17 | FLASH register boot address (for Arm® Cortex®-M7 core (FLASH_BOOT7_CURR) . . . . . | 228 |
| 4.9.18 | FLASH register boot address for Arm® Cortex®-M7 core (FLASH_BOOT7_PRGR) . . . . . | 229 |
| 4.9.19 | FLASH register boot address for Arm® Cortex®-M4 core (FLASH_BOOT4_CURR) . . . . . | 229 |
| 4.9.20 | FLASH register boot address for Arm® Cortex®-M4 core (FLASH_BOOT4_PRGR) . . . . . | 230 |
| 4.9.21 | FLASH CRC control register for bank 1 (FLASH_CRCCR1) . . . . . | 230 |
| 4.9.22 | FLASH CRC start address register for bank 1 (FLASH_CRCSADD1R) . . . . . | 232 |
| 4.9.23 | FLASH CRC end address register for bank 1 (FLASH_CRCEADD1R) . . . . . | 232 |
| 4.9.24 | FLASH CRC data register (FLASH_CRCDATAR) . . . . . | 232 |
| 4.9.25 | FLASH ECC fail address for bank 1 (FLASH_ECC_FA1R) . . . . . | 233 |
| 4.9.26 | FLASH key register for bank 2 (FLASH_KEYR2) . . . . . | 233 |
| 4.9.27 | FLASH control register for bank 2 (FLASH_CR2) . . . . . | 234 |
| 4.9.28 | FLASH status register for bank 2 (FLASH_SR2) . . . . . | 238 |
| 4.9.29 | FLASH clear control register for bank 2 (FLASH_CCR2) . . . . . | 241 |
| 4.9.30 | FLASH protection address for bank 2 (FLASH_PRAR_CUR2) . . . . . | 242 |
| 4.9.31 | FLASH protection address for bank 2 (FLASH_PRAR_PRG2) . . . . . | 242 |
| 4.9.32 | FLASH secure address for bank 2 (FLASH_SCAR_CUR2) . . . . . | 243 |
| 4.9.33 | FLASH secure address for bank 2 (FLASH_SCAR_PRG2) . . . . . | 244 |
| 4.9.34 | FLASH write sector protection for bank 2 (FLASH_WPSN_CUR2R) . . . . . | 245 |
| 4.9.35 | FLASH write sector protection for bank 2 (FLASH_WPSN_PRG2R) . . . . . | 245 |
| 4.9.36 | FLASH CRC control register for bank 2 (FLASH_CRCCR2) . . . . . | 246 |
| 4.9.37 | FLASH CRC start address register for bank 2 (FLASH_CRCSADD2R) . . . . . | 247 |
| 4.9.38 | FLASH CRC end address register for bank 2 (FLASH_CRCEADD2R) . . . . . | 248 |
- 4.9.39 FLASH ECC fail address for bank 2 (FLASH_ECC_FA2R) . . . . . 248
- 4.9.40 FLASH register map and reset values . . . . . 249
- 5 Secure memory management (SMM) . . . . . 254
- 5.1 Introduction . . . . . 254
- 5.2 Glossary . . . . . 254
- 5.3 Secure access mode . . . . . 255
- 5.3.1 Associated features . . . . . 256
- 5.3.2 Boot state machine . . . . . 256
- 5.3.3 Secure access mode configuration . . . . . 257
- 5.4 Root secure services (RSS) . . . . . 258
- 5.4.1 Secure area setting service . . . . . 258
- 5.4.2 Secure area exiting service . . . . . 258
- 5.5 Secure user software . . . . . 259
- 5.5.1 Access rules . . . . . 259
- 5.5.2 Setting secure user memory areas . . . . . 259
- 5.6 Summary of flash protection mechanisms . . . . . 260
- 6 ART accelerator . . . . . 262
- 6.1 Introduction . . . . . 262
- 6.2 ART accelerator features . . . . . 262
- 6.3 ART accelerator functional description . . . . . 263
- 6.3.1 Block diagram . . . . . 263
- 6.3.2 ART accelerator blocks and operation . . . . . 263
- 6.4 ART accelerator registers . . . . . 266
- 6.4.1 ART accelerator - control register (ART_CTR) . . . . . 266
- 7 Power control (PWR) . . . . . 268
- 7.1 Introduction . . . . . 268
- 7.2 PWR main features . . . . . 268
- 7.3 PWR block diagram . . . . . 269
- 7.3.1 PWR pins and internal signals . . . . . 270
- 7.4 Power supplies . . . . . 272
- 7.4.1 System supply startup . . . . . 276
- 7.4.2 Core domain . . . . . 280
- 7.4.3 PWR external supply . . . . . 282
| 7.4.4 | Backup domain . . . . . | 282 |
| 7.4.5 | VBAT battery charging . . . . . | 284 |
| 7.4.6 | Analog supply . . . . . | 284 |
| 7.4.7 | USB regulator . . . . . | 285 |
| 7.4.8 | DSI regulator . . . . . | 285 |
| 7.5 | Power supply supervision . . . . . | 286 |
| 7.5.1 | Power-on reset (POR)/power-down reset (PDR) . . . . . | 287 |
| 7.5.2 | Brownout reset (BOR) . . . . . | 287 |
| 7.5.3 | Programmable voltage detector (PVD) . . . . . | 288 |
| 7.5.4 | Analog voltage detector (AVD) . . . . . | 290 |
| 7.5.5 | Battery voltage thresholds . . . . . | 291 |
| 7.5.6 | Temperature thresholds . . . . . | 292 |
| 7.5.7 | VCORE maximum voltage level detector . . . . . | 292 |
| 7.6 | Power management . . . . . | 293 |
| 7.6.1 | Operating modes . . . . . | 294 |
| 7.6.2 | Voltage scaling . . . . . | 297 |
| 7.6.3 | Power control modes . . . . . | 299 |
| 7.6.4 | Power management examples . . . . . | 303 |
| 7.7 | Low-power modes . . . . . | 310 |
| 7.7.1 | Slowing down system clocks . . . . . | 310 |
| 7.7.2 | Controlling peripheral clocks . . . . . | 310 |
| 7.7.3 | Entering low-power modes . . . . . | 310 |
| 7.7.4 | Exiting from low-power modes . . . . . | 311 |
| 7.7.5 | CSleep mode . . . . . | 312 |
| 7.7.6 | CStop mode . . . . . | 312 |
| 7.7.7 | DStop mode . . . . . | 313 |
| 7.7.8 | Stop mode . . . . . | 315 |
| 7.7.9 | DStandby mode . . . . . | 320 |
| 7.7.10 | Standby mode . . . . . | 322 |
| 7.7.11 | Monitoring low-power modes . . . . . | 324 |
| 7.8 | PWR registers . . . . . | 325 |
| 7.8.1 | PWR control register 1 (PWR_CR1) . . . . . | 325 |
| 7.8.2 | PWR control status register 1 (PWR_CSR1) . . . . . | 327 |
| 7.8.3 | PWR control register 2 (PWR_CR2) . . . . . | 328 |
| 7.8.4 | PWR control register 3 (PWR_CR3) . . . . . | 329 |
| 7.8.5 | PWR CPU1 control register (PWR_CPU1CR) . . . . . | 331 |
| 7.8.6 | PWR CPU2 control register (PWR_CPU2CR) . . . . . | 333 |
- 7.8.7 PWR D3 domain control register (PWR_D3CR) . . . . . 335
- 7.8.8 PWR wakeup clear register (PWR_WKUPCR) . . . . . 336
- 7.8.9 PWR wakeup flag register (PWR_WKUPFR) . . . . . 336
- 7.8.10 PWR wakeup enable and polarity register (PWR_WKUPEPR) . . . . . 337
- 7.8.11 PWR register map . . . . . 338
- 8 Low-power D3 domain application example . . . . . 339
- 8.1 Introduction . . . . . 339
- 8.2 EXTI, RCC and PWR interconnections . . . . . 339
- 8.2.1 Interrupts and wakeup . . . . . 341
- 8.2.2 Block interactions . . . . . 341
- 8.2.3 Role of DMAMUX2 in D3 domain . . . . . 342
- 8.3 Low-power application example based on LPUART1 transmission . . . . . 343
- 8.3.1 Memory retention . . . . . 343
- 8.3.2 Memory-to-peripheral transfer using LPUART1 interface . . . . . 343
- 8.3.3 Overall description of the low-power application example based on LPUART1 transmission . . . . . 348
- 8.3.4 Alternate implementations . . . . . 349
- 8.4 Other low-power applications . . . . . 350
- 9 Reset and Clock Control (RCC) . . . . . 351
- 9.1 RCC main features . . . . . 351
- 9.2 RCC block diagram . . . . . 352
- 9.3 RCC pins and internal signals . . . . . 352
- 9.4 RCC reset block functional description . . . . . 354
- 9.4.1 Power-on/off reset . . . . . 354
- 9.4.2 System reset . . . . . 355
- 9.4.3 Local resets . . . . . 356
- 9.4.4 Reset source identification . . . . . 358
- 9.4.5 Low-power mode security reset (lpwr[2:1]_rst) . . . . . 359
- 9.4.6 Backup domain reset . . . . . 360
- 9.4.7 Power-on and wakeup sequences . . . . . 360
- 9.5 RCC clock block functional description . . . . . 364
- 9.5.1 Clock naming convention . . . . . 366
- 9.5.2 Oscillators description . . . . . 366
- 9.5.3 Clock Security System (CSS) . . . . . 371
| 9.5.4 | Clock output generation (MCO1/MCO2) . . . . . | 372 |
| 9.5.5 | PLL description . . . . . | 372 |
| 9.5.6 | System clock (sys_ck) . . . . . | 377 |
| 9.5.7 | Handling clock generators in Stop and Standby mode . . . . . | 379 |
| 9.5.8 | Kernel clock selection . . . . . | 381 |
| 9.5.9 | General clock concept overview . . . . . | 395 |
| 9.5.10 | Peripheral allocation . . . . . | 400 |
| 9.5.11 | Peripheral clock gating control . . . . . | 403 |
| 9.5.12 | CPU and bus matrix clock gating control . . . . . | 409 |
| 9.6 | RCC Interrupts . . . . . | 413 |
| 9.7 | RCC registers . . . . . | 414 |
| 9.7.1 | Register mapping overview . . . . . | 414 |
| 9.7.2 | RCC source control register (RCC_CR) . . . . . | 415 |
| 9.7.3 | RCC HSI configuration register (RCC_HSI CFGR) . . . . . | 419 |
| 9.7.4 | RCC clock recovery RC register (RCC_CRR CR) . . . . . | 420 |
| 9.7.5 | RCC CSI configuration register (RCC_CSI CFGR) . . . . . | 421 |
| 9.7.6 | RCC clock configuration register (RCC_CFGR) . . . . . | 422 |
| 9.7.7 | RCC domain 1 clock configuration register (RCC_D1 CFGR) . . . . . | 425 |
| 9.7.8 | RCC domain 2 clock configuration register (RCC_D2 CFGR) . . . . . | 427 |
| 9.7.9 | RCC domain 3 clock configuration register (RCC_D3 CFGR) . . . . . | 428 |
| 9.7.10 | RCC PLLs clock source selection register (RCC_PLLCKSEL R) . . . . . | 429 |
| 9.7.11 | RCC PLL configuration register (RCC_PLL CFGR) . . . . . | 431 |
| 9.7.12 | RCC PLL1 dividers configuration register (RCC_PLL1 DIVR) . . . . . | 434 |
| 9.7.13 | RCC PLL1 fractional divider register (RCC_PLL1 FRACR) . . . . . | 436 |
| 9.7.14 | RCC PLL2 dividers configuration register (RCC_PLL2 DIVR) . . . . . | 437 |
| 9.7.15 | RCC PLL2 fractional divider register (RCC_PLL2 FRACR) . . . . . | 439 |
| 9.7.16 | RCC PLL3 dividers configuration register (RCC_PLL3 DIVR) . . . . . | 440 |
| 9.7.17 | RCC PLL3 fractional divider register (RCC_PLL3 FRACR) . . . . . | 442 |
| 9.7.18 | RCC domain 1 kernel clock configuration register (RCC_D1 CCIPR) . . . . . | 443 |
| 9.7.19 | RCC domain 2 kernel clock configuration register (RCC_D2 CCIP1R) . . . . . | 444 |
| 9.7.20 | RCC domain 2 kernel clock configuration register (RCC_D2 CCIP2R) . . . . . | 447 |
| 9.7.21 | RCC domain 3 kernel clock configuration register (RCC_D3 CCIPR) . . . . . | 449 |
| 9.7.22 | RCC clock source interrupt enable register (RCC_CIER) . . . . . | 452 |
| 9.7.23 | RCC clock source interrupt flag register (RCC_CIFR) . . . . . | 454 |
| 9.7.24 | RCC clock source interrupt clear register (RCC_CICR) . . . . . | 456 |
| 9.7.25 | RCC Backup domain control register (RCC_BDCR) . . . . . | 458 |
| 9.7.26 | RCC clock control and status register (RCC_CSR) . . . . . | 460 |
| 9.7.27 | RCC AHB3 reset register (RCC_AHB3RSTR) ..... | 461 |
| 9.7.28 | RCC AHB1 peripheral reset register(RCC_AHB1RSTR) ..... | 463 |
| 9.7.29 | RCC AHB2 peripheral reset register (RCC_AHB2RSTR) ..... | 465 |
| 9.7.30 | RCC AHB4 peripheral reset register (RCC_AHB4RSTR) ..... | 466 |
| 9.7.31 | RCC APB3 peripheral reset register (RCC_APB3RSTR) ..... | 468 |
| 9.7.32 | RCC APB1 peripheral reset register (RCC_APB1LRSTR) ..... | 469 |
| 9.7.33 | RCC APB1 peripheral reset register (RCC_APB1HRSTR) ..... | 472 |
| 9.7.34 | RCC APB2 peripheral reset register (RCC_APB2RSTR) ..... | 473 |
| 9.7.35 | RCC APB4 peripheral reset register (RCC_APB4RSTR) ..... | 475 |
| 9.7.36 | RCC global control register (RCC_GCR) ..... | 477 |
| 9.7.37 | RCC D3 Autonomous mode register (RCC_D3AMR) ..... | 478 |
| 9.7.38 | RCC reset status register (RCC_RSR) ..... | 481 |
| 9.7.39 | RCC AHB3 clock register (RCC_AHB3ENR) ..... | 484 |
| 9.7.40 | RCC AHB1 clock register (RCC_AHB1ENR) ..... | 487 |
| 9.7.41 | RCC AHB2 clock register (RCC_AHB2ENR) ..... | 489 |
| 9.7.42 | RCC AHB4 clock register (RCC_AHB4ENR) ..... | 492 |
| 9.7.43 | RCC APB3 clock register (RCC_APB3ENR) ..... | 495 |
| 9.7.44 | RCC APB1 clock register (RCC_APB1LENR) ..... | 496 |
| 9.7.45 | RCC APB1 clock register (RCC_APB1HENR) ..... | 500 |
| 9.7.46 | RCC APB2 clock register (RCC_APB2ENR) ..... | 502 |
| 9.7.47 | RCC APB4 clock register (RCC_APB4ENR) ..... | 505 |
| 9.7.48 | RCC AHB3 Sleep clock register (RCC_AHB3LPENR) ..... | 508 |
| 9.7.49 | RCC AHB1 Sleep clock register (RCC_AHB1LPENR) ..... | 510 |
| 9.7.50 | RCC AHB2 Sleep clock register (RCC_AHB2LPENR) ..... | 512 |
| 9.7.51 | RCC AHB4 Sleep clock register (RCC_AHB4LPENR) ..... | 514 |
| 9.7.52 | RCC APB3 Sleep clock register (RCC_APB3LPENR) ..... | 517 |
| 9.7.53 | RCC APB1 Low Sleep clock register (RCC_APB1LLPENR) ..... | 518 |
| 9.7.54 | RCC APB1 High Sleep clock register (RCC_APB1HLPENR) ..... | 522 |
| 9.7.55 | RCC APB2 Sleep clock register (RCC_APB2LPENR) ..... | 524 |
| 9.7.56 | RCC APB4 Sleep clock register (RCC_APB4LPENR) ..... | 527 |
| 9.8 | RCC register map ..... | 530 |
| 10 | Clock recovery system (CRS) ..... | 542 |
| 10.1 | Introduction ..... | 542 |
| 10.2 | CRS main features ..... | 542 |
| 10.3 | CRS implementation ..... | 542 |
| 10.4 | CRS functional description ..... | 543 |
| 10.4.1 | CRS block diagram . . . . . | 543 |
| 10.5 | CRS internal signals . . . . . | 543 |
| 10.5.1 | Synchronization input . . . . . | 544 |
| 10.5.2 | Frequency error measurement . . . . . | 544 |
| 10.5.3 | Frequency error evaluation and automatic trimming . . . . . | 545 |
| 10.5.4 | CRS initialization and configuration . . . . . | 546 |
| 10.6 | CRS low-power modes . . . . . | 547 |
| 10.7 | CRS interrupts . . . . . | 547 |
| 10.8 | CRS registers . . . . . | 548 |
| 10.8.1 | CRS control register (CRS_CR) . . . . . | 548 |
| 10.8.2 | CRS configuration register (CRS_CFGR) . . . . . | 549 |
| 10.8.3 | CRS interrupt and status register (CRS_ISR) . . . . . | 550 |
| 10.8.4 | CRS interrupt flag clear register (CRS_ICR) . . . . . | 551 |
| 10.8.5 | CRS register map . . . . . | 552 |
| 11 | Hardware semaphore (HSEM) . . . . . | 554 |
| 11.1 | Introduction . . . . . | 554 |
| 11.2 | Main features . . . . . | 554 |
| 11.3 | Functional description . . . . . | 555 |
| 11.3.1 | HSEM block diagram . . . . . | 555 |
| 11.3.2 | HSEM internal signals . . . . . | 555 |
| 11.3.3 | HSEM lock procedures . . . . . | 555 |
| 11.3.4 | HSEM write/read/read lock register address . . . . . | 557 |
| 11.3.5 | HSEM unlock procedures . . . . . | 557 |
| 11.3.6 | HSEM COREID semaphore clear . . . . . | 558 |
| 11.3.7 | HSEM interrupts . . . . . | 558 |
| 11.3.8 | AHB bus master ID verification . . . . . | 560 |
| 11.4 | HSEM registers . . . . . | 561 |
| 11.4.1 | HSEM register semaphore x (HSEM_Rx) . . . . . | 561 |
| 11.4.2 | HSEM read lock register semaphore x (HSEM_RLRx) . . . . . | 562 |
| 11.4.3 | HSEM interrupt enable register (HSEM_CnIER) . . . . . | 563 |
| 11.4.4 | HSEM interrupt clear register (HSEM_CnICR) . . . . . | 563 |
| 11.4.5 | HSEM interrupt status register (HSEM_CnISR) . . . . . | 563 |
| 11.4.6 | HSEM interrupt status register (HSEM_CnMISR) . . . . . | 564 |
| 11.4.7 | HSEM clear register (HSEM_CR) . . . . . | 564 |
| 11.4.8 | HSEM clear semaphore key register (HSEM_KEYR) . . . . . | 565 |
| 11.4.9 | HSEM register map ..... | 566 |
| 12 | General-purpose I/Os (GPIO) ..... | 568 |
| 12.1 | Introduction ..... | 568 |
| 12.2 | GPIO main features ..... | 568 |
| 12.3 | GPIO functional description ..... | 568 |
| 12.3.1 | General-purpose I/O (GPIO) ..... | 571 |
| 12.3.2 | I/O pin alternate function multiplexer and mapping ..... | 571 |
| 12.3.3 | I/O port control registers ..... | 572 |
| 12.3.4 | I/O port data registers ..... | 572 |
| 12.3.5 | I/O data bitwise handling ..... | 572 |
| 12.3.6 | GPIO locking mechanism ..... | 573 |
| 12.3.7 | I/O alternate function input/output ..... | 573 |
| 12.3.8 | External interrupt/wake-up lines ..... | 573 |
| 12.3.9 | Input configuration ..... | 574 |
| 12.3.10 | Output configuration ..... | 574 |
| 12.3.11 | I/O compensation cell ..... | 575 |
| 12.3.12 | Alternate function configuration ..... | 575 |
| 12.3.13 | Analog configuration ..... | 576 |
| 12.3.14 | Using the HSE or LSE oscillator pins as GPIOs ..... | 577 |
| 12.3.15 | Using the GPIO pins in the backup supply domain ..... | 577 |
| 12.4 | GPIO registers ..... | 578 |
| 12.4.1 | GPIO port mode register (GPIOx_MODER) (x = A to K) ..... | 578 |
| 12.4.2 | GPIO port output type register (GPIOx_OTYPER) (x = A to K) ..... | 578 |
| 12.4.3 | GPIO port output speed register (GPIOx_OSPEEDR) (x = A to K) ..... | 579 |
| 12.4.4 | GPIO port pull-up/pull-down register (GPIOx_PUPDR) (x = A to K) ..... | 579 |
| 12.4.5 | GPIO port input data register (GPIOx_IDR) (x = A to K) ..... | 580 |
| 12.4.6 | GPIO port output data register (GPIOx_ODR) (x = A to K) ..... | 580 |
| 12.4.7 | GPIO port bit set/reset register (GPIOx_BSRR) (x = A to K) ..... | 581 |
| 12.4.8 | GPIO port configuration lock register (GPIOx_LCKR) (x = A to K) ..... | 581 |
| 12.4.9 | GPIO alternate function low register (GPIOx_AFRL) (x = A to K) ..... | 582 |
| 12.4.10 | GPIO alternate function high register (GPIOx_AFRH) (x = A to J) ..... | 583 |
| 12.4.11 | GPIO register map ..... | 584 |
| 13 | System configuration controller (SYSCFG) ..... | 586 |
| 13.1 | Introduction ..... | 586 |
| 13.2 | SYSCFG main features ..... | 586 |
| 13.3 | SYSCFG registers ..... | 586 |
| 13.3.1 | SYSCFG peripheral mode configuration register (SYSCFG_PMCR) . | 586 |
| 13.3.2 | SYSCFG external interrupt configuration register 1 (SYSCFG_EXTICR1) ..... | 589 |
| 13.3.3 | SYSCFG external interrupt configuration register 2 (SYSCFG_EXTICR2) ..... | 589 |
| 13.3.4 | SYSCFG external interrupt configuration register 3 (SYSCFG_EXTICR3) ..... | 591 |
| 13.3.5 | SYSCFG external interrupt configuration register 4 (SYSCFG_EXTICR4) ..... | 592 |
| 13.3.6 | SYSCFG configuration register (SYSCFG_CFGR) ..... | 593 |
| 13.3.7 | SYSCFG compensation cell control/status register (SYSCFG_CCCSR) ..... | 596 |
| 13.3.8 | SYSCFG compensation cell value register (SYSCFG_CCVR) ..... | 597 |
| 13.3.9 | SYSCFG compensation cell code register (SYSCFG_CCCR) ..... | 597 |
| 13.3.10 | SYSCFG power control register (SYSCFG_PWRRCR) ..... | 598 |
| 13.3.11 | SYSCFG system register (SYSCFG_SR0) ..... | 598 |
| 13.3.12 | SYSCFG package register (SYSCFG_PKGR) ..... | 599 |
| 13.3.13 | SYSCFG user register 0 (SYSCFG_UR0) ..... | 600 |
| 13.3.14 | SYSCFG user register 1 (SYSCFG_UR1) ..... | 601 |
| 13.3.15 | SYSCFG user register 2 (SYSCFG_UR2) ..... | 601 |
| 13.3.16 | SYSCFG user register 3 (SYSCFG_UR3) ..... | 602 |
| 13.3.17 | SYSCFG user register 4 (SYSCFG_UR4) ..... | 602 |
| 13.3.18 | SYSCFG user register 5 (SYSCFG_UR5) ..... | 603 |
| 13.3.19 | SYSCFG user register 6 (SYSCFG_UR6) ..... | 603 |
| 13.3.20 | SYSCFG user register 7 (SYSCFG_UR7) ..... | 604 |
| 13.3.21 | SYSCFG user register 8 (SYSCFG_UR8) ..... | 604 |
| 13.3.22 | SYSCFG user register 9 (SYSCFG_UR9) ..... | 605 |
| 13.3.23 | SYSCFG user register 10 (SYSCFG_UR10) ..... | 605 |
| 13.3.24 | SYSCFG user register 11 (SYSCFG_UR11) ..... | 606 |
| 13.3.25 | SYSCFG user register 12 (SYSCFG_UR12) . . . . . | 606 |
| 13.3.26 | SYSCFG user register 13 (SYSCFG_UR13) . . . . . | 607 |
| 13.3.27 | SYSCFG user register 14 (SYSCFG_UR14) . . . . . | 608 |
| 13.3.28 | SYSCFG user register 15 (SYSCFG_UR15) . . . . . | 609 |
| 13.3.29 | SYSCFG user register 16 (SYSCFG_UR16) . . . . . | 610 |
| 13.3.30 | SYSCFG user register 17 (SYSCFG_UR17) . . . . . | 610 |
| 13.3.31 | SYSCFG register maps . . . . . | 611 |
| 14 | Block interconnect . . . . . | 614 |
| 14.1 | Peripheral interconnect . . . . . | 614 |
| 14.1.1 | Introduction . . . . . | 614 |
| 14.1.2 | Connection overview . . . . . | 614 |
| 14.2 | Wakeup from low power modes . . . . . | 633 |
| 14.3 | DMA . . . . . | 638 |
| 14.3.1 | MDMA (D1 domain) . . . . . | 639 |
| 14.3.2 | DMAMUX1, DMA1 and DMA2 (D2 domain) . . . . . | 641 |
| 14.3.3 | DMAMUX2, BDMA (D3 domain) . . . . . | 646 |
| 15 | MDMA controller (MDMA) . . . . . | 649 |
| 15.1 | MDMA introduction . . . . . | 649 |
| 15.2 | MDMA main features . . . . . | 649 |
| 15.3 | MDMA functional description . . . . . | 651 |
| 15.3.1 | MDMA block diagram . . . . . | 651 |
| 15.3.2 | MDMA internal signals . . . . . | 651 |
| 15.3.3 | MDMA overview . . . . . | 651 |
| 15.3.4 | MDMA channel . . . . . | 653 |
| 15.3.5 | Source, destination and transfer modes . . . . . | 653 |
| 15.3.6 | Pointer update . . . . . | 653 |
| 15.3.7 | MDMA buffer transfer . . . . . | 654 |
| 15.3.8 | Request arbitration . . . . . | 655 |
| 15.3.9 | FIFO . . . . . | 655 |
| 15.3.10 | Block transfer . . . . . | 655 |
| 15.3.11 | Block repeat mode . . . . . | 656 |
| 15.3.12 | Linked-list mode . . . . . | 656 |
| 15.3.13 | MDMA transfer completion . . . . . | 656 |
| 15.3.14 | MDMA transfer suspension . . . . . | 656 |
| 15.3.15 | Error management . . . . . | 657 |
| 15.4 | MDMA interrupts . . . . . | 657 |
| 15.5 | MDMA registers . . . . . | 658 |
| 15.5.1 | MDMA global interrupt status register (MDMA_GISR0) . . . . . | 658 |
| 15.5.2 | MDMA channel x interrupt status register (MDMA_CxISR) . . . . . | 658 |
| 15.5.3 | MDMA channel x interrupt flag clear register (MDMA_CxIFCR) . . . . . | 660 |
| 15.5.4 | MDMA channel x error status register (MDMA_CxESR) . . . . . | 660 |
| 15.5.5 | MDMA channel x control register (MDMA_CxCR) . . . . . | 661 |
| 15.5.6 | MDMA channel x transfer configuration register (MDMA_CxTCR) . . . . . | 663 |
| 15.5.7 | MDMA channel x block number of data register (MDMA_CxBNDTR) . . . . . | 667 |
| 15.5.8 | MDMA channel x source address register (MDMA_CxSAR) . . . . . | 668 |
| 15.5.9 | MDMA channel x destination address register (MDMA_CxDAR) . . . . . | 669 |
| 15.5.10 | MDMA channel x block repeat address update register (MDMA_CxBRUR) . . . . . | 669 |
| 15.5.11 | MDMA channel x link address register (MDMA_CxLAR) . . . . . | 670 |
| 15.5.12 | MDMA channel x trigger and bus selection register (MDMA_CxTBR) . . . . . | 671 |
| 15.5.13 | MDMA channel x mask address register (MDMA_CxMAR) . . . . . | 672 |
| 15.5.14 | MDMA channel x mask data register (MDMA_CxMDR) . . . . . | 672 |
| 15.5.15 | MDMA register map . . . . . | 673 |
| 16 | Direct memory access controller (DMA) . . . . . | 674 |
| 16.1 | DMA introduction . . . . . | 674 |
| 16.2 | DMA main features . . . . . | 674 |
| 16.3 | DMA functional description . . . . . | 676 |
| 16.3.1 | DMA block diagram . . . . . | 676 |
| 16.3.2 | DMA internal signals . . . . . | 676 |
| 16.3.3 | DMA overview . . . . . | 676 |
| 16.3.4 | DMA transactions . . . . . | 677 |
| 16.3.5 | DMA request mapping . . . . . | 677 |
| 16.3.6 | Arbiter . . . . . | 678 |
| 16.3.7 | DMA streams . . . . . | 678 |
| 16.3.8 | Source, destination and transfer modes . . . . . | 678 |
| 16.3.9 | Pointer incrementation . . . . . | 682 |
| 16.3.10 | Circular mode . . . . . | 683 |
| 16.3.11 | Double-buffer mode . . . . . | 683 |
| 16.3.12 | Programmable data width, packing/unpacking, endianness . . . . . | 684 |
| 16.3.13 | Single and burst transfers . . . . . | 685 |
- 16.3.14 FIFO . . . . . 686
- 16.3.15 DMA transfer completion . . . . . 689
- 16.3.16 DMA transfer suspension . . . . . 690
- 16.3.17 Flow controller . . . . . 691
- 16.3.18 Summary of the possible DMA configurations . . . . . 692
- 16.3.19 Stream configuration procedure . . . . . 692
- 16.3.20 Error management . . . . . 693
- 16.4 DMA interrupts . . . . . 694
- 16.5 DMA registers . . . . . 695
- 16.5.1 DMA low interrupt status register (DMA_LISR) . . . . . 695
- 16.5.2 DMA high interrupt status register (DMA_HISR) . . . . . 696
- 16.5.3 DMA low interrupt flag clear register (DMA_LIFCR) . . . . . 697
- 16.5.4 DMA high interrupt flag clear register (DMA_HIFCR) . . . . . 697
- 16.5.5 DMA stream x configuration register (DMA_SxCR) . . . . . 698
- 16.5.6 DMA stream x number of data register (DMA_SxNDTR) . . . . . 701
- 16.5.7 DMA stream x peripheral address register (DMA_SxPAR) . . . . . 701
- 16.5.8 DMA stream x memory 0 address register
(DMA_SxM0AR) . . . . . 702 - 16.5.9 DMA stream x memory 1 address register
(DMA_SxM1AR) . . . . . 702 - 16.5.10 DMA stream x FIFO control register (DMA_SxFCR) . . . . . 703
- 16.5.11 DMA register map . . . . . 704
- 17 Basic direct memory access controller (BDMA) . . . . . 708
- 17.1 Introduction . . . . . 708
- 17.2 BDMA main features . . . . . 708
- 17.3 BDMA implementation . . . . . 709
- 17.3.1 BDMA . . . . . 709
- 17.3.2 BDMA request mapping . . . . . 709
- 17.4 BDMA functional description . . . . . 709
- 17.4.1 BDMA block diagram . . . . . 709
- 17.4.2 BDMA pins and internal signals . . . . . 710
- 17.4.3 BDMA transfers . . . . . 710
- 17.4.4 BDMA arbitration . . . . . 711
- 17.4.5 BDMA channels . . . . . 711
- 17.4.6 BDMA data width, alignment and endianness . . . . . 716
- 17.4.7 BDMA error management . . . . . 717
| 17.5 | BDMA interrupts . . . . . | 718 |
| 17.6 | BDMA registers . . . . . | 718 |
| 17.6.1 | BDMA interrupt status register (BDMA_ISR) . . . . . | 718 |
| 17.6.2 | BDMA interrupt flag clear register (BDMA_IFCR) . . . . . | 721 |
| 17.6.3 | BDMA channel x configuration register (BDMA_CCRx) . . . . . | 722 |
| 17.6.4 | BDMA channel x number of data to transfer register (BDMA_CNDTRx) . . . . . | 726 |
| 17.6.5 | BDMA channel x peripheral address register (BDMA_CPARx) . . . . . | 726 |
| 17.6.6 | BDMA channel x memory 0 address register (BDMA_CM0ARx) . . . . . | 727 |
| 17.6.7 | BDMA channel x memory 1 address register (BDMA_CM1ARx) . . . . . | 728 |
| 17.6.8 | BDMA register map . . . . . | 728 |
| 18 | DMA request multiplexer (DMAMUX) . . . . . | 731 |
| 18.1 | Introduction . . . . . | 731 |
| 18.2 | DMAMUX main features . . . . . | 732 |
| 18.3 | DMAMUX implementation . . . . . | 732 |
| 18.3.1 | DMAMUX1 and DMAMUX2 instantiation . . . . . | 732 |
| 18.3.2 | DMAMUX1 mapping . . . . . | 732 |
| 18.3.3 | DMAMUX2 mapping . . . . . | 735 |
| 18.4 | DMAMUX functional description . . . . . | 738 |
| 18.4.1 | DMAMUX block diagram . . . . . | 738 |
| 18.4.2 | DMAMUX signals . . . . . | 739 |
| 18.4.3 | DMAMUX channels . . . . . | 739 |
| 18.4.4 | DMAMUX request line multiplexer . . . . . | 739 |
| 18.4.5 | DMAMUX request generator . . . . . | 742 |
| 18.5 | DMAMUX interrupts . . . . . | 743 |
| 18.6 | DMAMUX registers . . . . . | 744 |
| 18.6.1 | DMAMUX1 request line multiplexer channel x configuration register (DMAMUX1_CxCR) . . . . . | 744 |
| 18.6.2 | DMAMUX2 request line multiplexer channel x configuration register (DMAMUX2_CxCR) . . . . . | 745 |
| 18.6.3 | DMAMUX1 request line multiplexer interrupt channel status register (DMAMUX1_CSR) . . . . . | 746 |
| 18.6.4 | DMAMUX2 request line multiplexer interrupt channel status register (DMAMUX2_CSR) . . . . . | 746 |
| 18.6.5 | DMAMUX1 request line multiplexer interrupt clear flag register (DMAMUX1_CFR) . . . . . | 747 |
18.6.6 DMAMUX2 request line multiplexer interrupt clear flag register (DMAMUX2_CFR) . . . . . 747
18.6.7 DMAMUX1 request generator channel x configuration register (DMAMUX1_RGxCR) . . . . . 748
18.6.8 DMAMUX2 request generator channel x configuration register (DMAMUX2_RGxCR) . . . . . 748
18.6.9 DMAMUX1 request generator interrupt status register (DMAMUX1_RGSR) . . . . . 749
18.6.10 DMAMUX2 request generator interrupt status register (DMAMUX2_RGSR) . . . . . 750
18.6.11 DMAMUX1 request generator interrupt clear flag register (DMAMUX1_RGCFR) . . . . . 750
18.6.12 DMAMUX2 request generator interrupt clear flag register (DMAMUX2_RGCFR) . . . . . 751
18.6.13 DMAMUX register map . . . . . 752
19 Chrom-ART Accelerator controller (DMA2D) . . . . . 754
19.1 DMA2D introduction . . . . . 754
19.2 DMA2D main features . . . . . 754
19.3 DMA2D functional description . . . . . 755
19.3.1 General description . . . . . 755
19.3.2 DMA2D internal signals . . . . . 756
19.3.3 DMA2D control . . . . . 756
19.3.4 DMA2D foreground and background FIFOs . . . . . 757
19.3.5 DMA2D foreground and background PFC . . . . . 757
19.3.6 DMA2D foreground and background CLUT interface . . . . . 759
19.3.7 DMA2D blender . . . . . 760
19.3.8 DMA2D output PFC . . . . . 760
19.3.9 DMA2D output FIFO . . . . . 761
19.3.10 DMA2D output FIFO byte reordering . . . . . 762
19.3.11 DMA2D AXI master port timer . . . . . 763
19.3.12 DMA2D transactions . . . . . 763
19.3.13 DMA2D configuration . . . . . 764
19.3.14 YCbCr support . . . . . 768
19.3.15 DMA2D transfer control (start, suspend, abort, and completion) . . . . . 768
19.3.16 Watermark . . . . . 768
19.3.17 Error management . . . . . 768
19.3.18 AXI dead time . . . . . 769
19.4 DMA2D interrupts . . . . . 769
| 19.5 | DMA2D registers . . . . . | 770 |
| 19.5.1 | DMA2D control register (DMA2D_CR) . . . . . | 770 |
| 19.5.2 | DMA2D interrupt status register (DMA2D_ISR) . . . . . | 771 |
| 19.5.3 | DMA2D interrupt flag clear register (DMA2D_IFCR) . . . . . | 772 |
| 19.5.4 | DMA2D foreground memory address register (DMA2D_FGMAR) . . . . . | 773 |
| 19.5.5 | DMA2D foreground offset register (DMA2D_FGOR) . . . . . | 773 |
| 19.5.6 | DMA2D background memory address register (DMA2D_BGMAR) . . . . . | 774 |
| 19.5.7 | DMA2D background offset register (DMA2D_BGOR) . . . . . | 774 |
| 19.5.8 | DMA2D foreground PFC control register (DMA2D_FGPFCCR) . . . . . | 775 |
| 19.5.9 | DMA2D foreground color register (DMA2D_FGCOLR) . . . . . | 776 |
| 19.5.10 | DMA2D background PFC control register (DMA2D_BGPFCCR) . . . . . | 777 |
| 19.5.11 | DMA2D background color register (DMA2D_BGCOLR) . . . . . | 778 |
| 19.5.12 | DMA2D foreground CLUT memory address register (DMA2D_FGCMAR) . . . . . | 779 |
| 19.5.13 | DMA2D background CLUT memory address register (DMA2D_BGCMAR) . . . . . | 779 |
| 19.5.14 | DMA2D output PFC control register (DMA2D_OPFCCR) . . . . . | 780 |
| 19.5.15 | DMA2D output color register (DMA2D_OCOLR) . . . . . | 781 |
| 19.5.16 | DMA2D output color register [alternate] (DMA2D_OCOLR) . . . . . | 781 |
| 19.5.17 | DMA2D output color register [alternate] (DMA2D_OCOLR) . . . . . | 782 |
| 19.5.18 | DMA2D output color register [alternate] (DMA2D_OCOLR) . . . . . | 782 |
| 19.5.19 | DMA2D output memory address register (DMA2D_OMAR) . . . . . | 783 |
| 19.5.20 | DMA2D output offset register (DMA2D_OOR) . . . . . | 783 |
| 19.5.21 | DMA2D number of line register (DMA2D_NLR) . . . . . | 784 |
| 19.5.22 | DMA2D line watermark register (DMA2D_LWR) . . . . . | 784 |
| 19.5.23 | DMA2D AXI master timer configuration register (DMA2D_AMTCR) . . . . . | 785 |
| 19.5.24 | DMA2D foreground CLUT (DMA2D_FGCLUTx) . . . . . | 785 |
| 19.5.25 | DMA2D background CLUT (DMA2D_BGCLUTx) . . . . . | 786 |
| 19.5.26 | DMA2D register map . . . . . | 786 |
| 20 | Nested vectored interrupt controllers (NVIC1 and NVIC2) . . . . . | 788 |
| 20.1 | NVIC features . . . . . | 788 |
| 20.1.1 | SysTick calibration value register . . . . . | 788 |
| 20.1.2 | Interrupt and exception vectors . . . . . | 788 |
| 21 | Extended interrupt and event controller (EXTI) . . . . . | 797 |
| 21.1 | EXTI main features . . . . . | 797 |
| 21.2 | EXTI block diagram . . . . . | 797 |
| 21.2.1 | EXTI connections between peripherals, CPU, and D3 domain . . . . . | 798 |
| 21.3 | EXTI functional description . . . . . | 799 |
| 21.3.1 | EXTI Configurable event input CPU wakeup . . . . . | 800 |
| 21.3.2 | EXTI configurable event input Any wakeup . . . . . | 801 |
| 21.3.3 | EXTI direct event input CPU wakeup . . . . . | 802 |
| 21.3.4 | EXTI direct event input Any wakeup . . . . . | 804 |
| 21.3.5 | EXTI D3 pending request clear selection . . . . . | 805 |
| 21.4 | EXTI event input mapping . . . . . | 805 |
| 21.5 | EXTI functional behavior . . . . . | 808 |
| 21.5.1 | EXTI CPU interrupt procedure . . . . . | 809 |
| 21.5.2 | EXTI CPU event procedure . . . . . | 810 |
| 21.5.3 | EXTI CPU wakeup procedure . . . . . | 810 |
| 21.5.4 | EXTI D3 domain wakeup for autonomous Run mode procedure . . . . . | 810 |
| 21.5.5 | EXTI software interrupt/event trigger procedure . . . . . | 811 |
| 21.6 | EXTI registers . . . . . | 812 |
| 21.6.1 | EXTI rising trigger selection register (EXTI_RTSR1) . . . . . | 812 |
| 21.6.2 | EXTI falling trigger selection register (EXTI_FTSR1) . . . . . | 812 |
| 21.6.3 | EXTI software interrupt event register (EXTI_SWIER1) . . . . . | 813 |
| 21.6.4 | EXTI D3 pending mask register (EXTI_D3PMR1) . . . . . | 813 |
| 21.6.5 | EXTI D3 pending clear selection register low (EXTI_D3PCR1L) . . . . . | 814 |
| 21.6.6 | EXTI D3 pending clear selection register high (EXTI_D3PCR1H) . . . . . | 814 |
| 21.6.7 | EXTI rising trigger selection register (EXTI_RTSR2) . . . . . | 815 |
| 21.6.8 | EXTI falling trigger selection register (EXTI_FTSR2) . . . . . | 816 |
| 21.6.9 | EXTI software interrupt event register (EXTI_SWIER2) . . . . . | 816 |
| 21.6.10 | EXTI D3 pending mask register (EXTI_D3PMR2) . . . . . | 817 |
| 21.6.11 | EXTI D3 pending clear selection register low (EXTI_D3PCR2L) . . . . . | 818 |
| 21.6.12 | EXTI D3 pending clear selection register high (EXTI_D3PCR2H) . . . . . | 818 |
| 21.6.13 | EXTI rising trigger selection register (EXTI_RTSR3) . . . . . | 819 |
| 21.6.14 | EXTI falling trigger selection register (EXTI_FTSR3) . . . . . | 819 |
| 21.6.15 | EXTI software interrupt event register (EXTI_SWIER3) . . . . . | 820 |
| 21.6.16 | EXTI D3 pending mask register (EXTI_D3PMR3) . . . . . | 820 |
| 21.6.17 | EXTI D3 pending clear selection register low (EXTI_D3PCR3L) . . . . . | 821 |
| 21.6.18 | EXTI D3 pending clear selection register high (EXTI_D3PCR3H) . . . . . | 821 |
| 21.6.19 | EXTI interrupt mask register (EXTI_CnIMR1) . . . . . | 822 |
| 21.6.20 | EXTI event mask register (EXTI_CnEMR1) . . . . . | 822 |
| 21.6.21 | EXTI pending register (EXTI_CnPR1) . . . . . | 823 |
| 21.6.22 | EXTI interrupt mask register (EXTI_CnIMR2) . . . . . | 823 |
| 21.6.23 | EXTI event mask register (EXTI_CnEMR2) . . . . . | 824 |
| 21.6.24 | EXTI pending register (EXTI_CnPR2) . . . . . | 824 |
| 21.6.25 | EXTI interrupt mask register (EXTI_CnIMR3) . . . . . | 825 |
| 21.6.26 | EXTI event mask register (EXTI_CnEMR3) . . . . . | 826 |
| 21.6.27 | EXTI pending register (EXTI_CnPR3) . . . . . | 826 |
| 21.6.28 | EXTI register map . . . . . | 827 |
| 22 | Cyclic redundancy check calculation unit (CRC) . . . . . | 830 |
| 22.1 | Introduction . . . . . | 830 |
| 22.2 | CRC main features . . . . . | 830 |
| 22.3 | CRC functional description . . . . . | 831 |
| 22.3.1 | CRC block diagram . . . . . | 831 |
| 22.3.2 | CRC internal signals . . . . . | 831 |
| 22.3.3 | CRC operation . . . . . | 831 |
| 22.4 | CRC registers . . . . . | 833 |
| 22.4.1 | CRC data register (CRC_DR) . . . . . | 833 |
| 22.4.2 | CRC independent data register (CRC_IDR) . . . . . | 833 |
| 22.4.3 | CRC control register (CRC_CR) . . . . . | 834 |
| 22.4.4 | CRC initial value (CRC_INIT) . . . . . | 835 |
| 22.4.5 | CRC polynomial (CRC_POL) . . . . . | 835 |
| 22.4.6 | CRC register map . . . . . | 836 |
| 23 | Flexible memory controller (FMC) . . . . . | 837 |
| 23.1 | FMC main features . . . . . | 837 |
| 23.2 | FMC block diagram . . . . . | 838 |
| 23.3 | FMC internal signals . . . . . | 840 |
| 23.4 | AHB interface . . . . . | 840 |
| 23.5 | AXI interface . . . . . | 840 |
| 23.5.1 | Supported memories and transactions . . . . . | 841 |
| 23.6 | External device address mapping . . . . . | 842 |
| 23.6.1 | NOR/PSRAM address mapping . . . . . | 843 |
| 23.6.2 | NAND flash memory address mapping . . . . . | 844 |
| 23.6.3 | SDRAM address mapping . . . . . | 844 |
| 23.7 | NOR flash/PSRAM controller . . . . . | 848 |
- 23.7.1 External memory interface signals . . . . . 849
- 23.7.2 Supported memories and transactions . . . . . 851
- 23.7.3 General timing rules . . . . . 852
- 23.7.4 NOR flash/PSRAM controller asynchronous transactions . . . . . 853
- 23.7.5 Synchronous transactions . . . . . 872
- 23.7.6 NOR/PSRAM controller registers . . . . . 878
- 23.8 NAND flash controller . . . . . 887
- 23.8.1 External memory interface signals . . . . . 887
- 23.8.2 NAND flash supported memories and transactions . . . . . 888
- 23.8.3 Timing diagrams for NAND flash memories . . . . . 889
- 23.8.4 NAND flash operations . . . . . 890
- 23.8.5 NAND flash prewait feature . . . . . 891
- 23.8.6 Computation of the error correction code (ECC)
in NAND flash memory . . . . . 892 - 23.8.7 NAND flash controller registers . . . . . 893
- 23.9 SDRAM controller . . . . . 899
- 23.9.1 SDRAM controller main features . . . . . 899
- 23.9.2 SDRAM External memory interface signals . . . . . 899
- 23.9.3 SDRAM controller functional description . . . . . 900
- 23.9.4 Low-power modes . . . . . 907
- 23.9.5 SDRAM controller registers . . . . . 910
- 23.9.6 FMC register map . . . . . 916
- 24 Quad-SPI interface (QUADSPI) . . . . . 919
- 24.1 Introduction . . . . . 919
- 24.2 QUADSPI main features . . . . . 919
- 24.3 QUADSPI functional description . . . . . 919
- 24.3.1 QUADSPI block diagram . . . . . 919
- 24.3.2 QUADSPI pins and internal signals . . . . . 920
- 24.3.3 QUADSPI command sequence . . . . . 921
- 24.3.4 QUADSPI signal interface protocol modes . . . . . 923
- 24.3.5 QUADSPI indirect mode . . . . . 925
- 24.3.6 QUADSPI automatic status-polling mode . . . . . 927
- 24.3.7 QUADSPI memory-mapped mode . . . . . 927
- 24.3.8 QUADSPI free-running clock mode . . . . . 928
- 24.3.9 QUADSPI flash memory configuration . . . . . 928
- 24.3.10 QUADSPI delayed data sampling . . . . . 929
| 24.3.11 | QUADSPI configuration . . . . . | 929 |
| 24.3.12 | QUADSPI use . . . . . | 929 |
| 24.3.13 | Sending the instruction only once . . . . . | 931 |
| 24.3.14 | QUADSPI error management . . . . . | 932 |
| 24.3.15 | QUADSPI busy bit and abort functionality . . . . . | 932 |
| 24.3.16 | NCS behavior . . . . . | 932 |
| 24.4 | QUADSPI interrupts . . . . . | 934 |
| 24.5 | QUADSPI registers . . . . . | 935 |
| 24.5.1 | QUADSPI control register (QUADSPI_CR) . . . . . | 935 |
| 24.5.2 | QUADSPI device configuration register (QUADSPI_DCR) . . . . . | 937 |
| 24.5.3 | QUADSPI status register (QUADSPI_SR) . . . . . | 938 |
| 24.5.4 | QUADSPI flag clear register (QUADSPI_FCR) . . . . . | 939 |
| 24.5.5 | QUADSPI data length register (QUADSPI_DLR) . . . . . | 940 |
| 24.5.6 | QUADSPI communication configuration register (QUADSPI_CCR) . . . . . | 940 |
| 24.5.7 | QUADSPI address register (QUADSPI_AR) . . . . . | 942 |
| 24.5.8 | QUADSPI alternate-byte register (QUADSPI_ABR) . . . . . | 943 |
| 24.5.9 | QUADSPI data register (QUADSPI_DR) . . . . . | 943 |
| 24.5.10 | QUADSPI polling status mask register (QUADSPI_PSMKR) . . . . . | 944 |
| 24.5.11 | QUADSPI polling status match register (QUADSPI_PSMAR) . . . . . | 944 |
| 24.5.12 | QUADSPI polling interval register (QUADSPI_PIR) . . . . . | 945 |
| 24.5.13 | QUADSPI low-power timeout register (QUADSPI_LPTR) . . . . . | 945 |
| 24.5.14 | QUADSPI register map . . . . . | 946 |
| 25 | Delay block (DLYB) . . . . . | 947 |
| 25.1 | Introduction . . . . . | 947 |
| 25.2 | DLYB main features . . . . . | 947 |
| 25.3 | DLYB functional description . . . . . | 947 |
| 25.3.1 | DLYB diagram . . . . . | 947 |
| 25.3.2 | DLYB pins and internal signals . . . . . | 948 |
| 25.3.3 | General description . . . . . | 948 |
| 25.3.4 | Delay line length configuration procedure . . . . . | 949 |
| 25.3.5 | Output clock phase configuration procedure . . . . . | 949 |
| 25.4 | DLYB registers . . . . . | 950 |
| 25.4.1 | DLYB control register (DLYB_CR) . . . . . | 950 |
| 25.4.2 | DLYB configuration register (DLYB_CFGR) . . . . . | 950 |
| 25.4.3 | DLYB register map . . . . . | 951 |
| 26 | Analog-to-digital converters (ADC) . . . . . | 952 |
| 26.1 | Introduction . . . . . | 952 |
| 26.2 | ADC main features . . . . . | 953 |
| 26.3 | ADC implementation . . . . . | 954 |
| 26.4 | ADC functional description . . . . . | 955 |
| 26.4.1 | ADC block diagram . . . . . | 955 |
| 26.4.2 | ADC pins and internal signals . . . . . | 956 |
| 26.4.3 | ADC clocks . . . . . | 957 |
| 26.4.4 | ADC1/2/3 connectivity . . . . . | 959 |
| 26.4.5 | Slave AHB interface . . . . . | 962 |
| 26.4.6 | ADC deep-power-down mode (DEEPPWD) and ADC voltage regulator (ADVREGEN) . . . . . | 962 |
| 26.4.7 | Single-ended and differential input channels . . . . . | 963 |
| 26.4.8 | Calibration (ADCAL, ADCALDIF, ADCALLIN, ADC_CALFACT) . . . . . | 963 |
| 26.4.9 | ADC on-off control (ADEN, ADDIS, ADRDY) . . . . . | 969 |
| 26.4.10 | Constraints when writing the ADC control bits . . . . . | 970 |
| 26.4.11 | Channel selection (SQRx, JSQRx) . . . . . | 970 |
| 26.4.12 | Channel preselection register (ADC_PCSEL) . . . . . | 971 |
| 26.4.13 | Channel-wise programmable sampling time (SMPR1, SMPR2) . . . . . | 972 |
| 26.4.14 | Single conversion mode (CONT=0) . . . . . | 973 |
| 26.4.15 | Continuous conversion mode (CONT=1) . . . . . | 973 |
| 26.4.16 | Starting conversions (ADSTART, JADSTART) . . . . . | 974 |
| 26.4.17 | Timing . . . . . | 975 |
| 26.4.18 | Stopping an ongoing conversion (ADSTP, JADSTP) . . . . . | 975 |
| 26.4.19 | Conversion on external trigger and trigger polarity (EXTSEL, EXTEN, JEXTSEL, JEXTEN) . . . . . | 977 |
| 26.4.20 | Injected channel management . . . . . | 980 |
| 26.4.21 | Discontinuous mode (DISCEN, DISCNUM, JDISCEN) . . . . . | 982 |
| 26.4.22 | Queue of context for injected conversions . . . . . | 983 |
| 26.4.23 | Programmable resolution (RES) - fast conversion mode . . . . . | 991 |
| 26.4.24 | End of conversion, end of sampling phase (EOC, JEOC, EOSMP) . . . . . | 991 |
| 26.4.25 | End of conversion sequence (EOS, JEOS) . . . . . | 991 |
| 26.4.26 | Timing diagrams example (single/continuous modes, hardware/software triggers) . . . . . | 992 |
| 26.4.27 | Data management . . . . . | 993 |
| 26.4.28 | Managing conversions using the DFSDM . . . . . | 1001 |
| 26.4.29 | Dynamic low-power features . . . . . | 1001 |
| 26.4.30 | Analog window watchdog (AWD1EN, JAWD1EN, AWD1SGL, AWD1CH, AWD2CH, AWD3CH, AWD_HTRy, AWD_LTRy, AWDy) | 1006 |
| 26.4.31 | Oversampler | 1009 |
| 26.4.32 | Dual ADC modes | 1015 |
| 26.4.33 | Temperature sensor | 1029 |
| 26.4.34 | VBAT supply monitoring | 1030 |
| 26.4.35 | Monitoring the internal voltage reference | 1031 |
| 26.5 | ADC interrupts | 1033 |
| 26.6 | ADC registers (for each ADC) | 1034 |
| 26.6.1 | ADC interrupt and status register (ADC_ISR) | 1034 |
| 26.6.2 | ADC interrupt enable register (ADC_IER) | 1037 |
| 26.6.3 | ADC control register (ADC_CR) | 1039 |
| 26.6.4 | ADC configuration register (ADC_CFGR) | 1044 |
| 26.6.5 | ADC configuration register 2 (ADC_CFGR2) | 1048 |
| 26.6.6 | ADC sample time register 1 (ADC_SMPR1) | 1050 |
| 26.6.7 | ADC sample time register 2 (ADC_SMPR2) | 1051 |
| 26.6.8 | ADC channel preselection register (ADC_PCSEL) | 1052 |
| 26.6.9 | ADC watchdog threshold register 1 (ADC_LTR1) | 1052 |
| 26.6.10 | ADC watchdog threshold register 1 (ADC_HTR1) | 1053 |
| 26.6.11 | ADC regular sequence register 1 (ADC_SQR1) | 1054 |
| 26.6.12 | ADC regular sequence register 2 (ADC_SQR2) | 1055 |
| 26.6.13 | ADC regular sequence register 3 (ADC_SQR3) | 1056 |
| 26.6.14 | ADC regular sequence register 4 (ADC_SQR4) | 1057 |
| 26.6.15 | ADC regular Data Register (ADC_DR) | 1058 |
| 26.6.16 | ADC injected sequence register (ADC_JSQR) | 1059 |
| 26.6.17 | ADC injected channel y offset register (ADC_OFRy) | 1061 |
| 26.6.18 | ADC injected channel y data register (ADC_JDRy) | 1062 |
| 26.6.19 | ADC analog watchdog 2 configuration register (ADC_AWD2CR) | 1062 |
| 26.6.20 | ADC analog watchdog 3 configuration register (ADC_AWD3CR) | 1063 |
| 26.6.21 | ADC watchdog lower threshold register 2 (ADC_LTR2) | 1063 |
| 26.6.22 | ADC watchdog higher threshold register 2 (ADC_HTR2) | 1064 |
| 26.6.23 | ADC watchdog lower threshold register 3 (ADC_LTR3) | 1064 |
| 26.6.24 | ADC watchdog higher threshold register 3 (ADC_HTR3) | 1065 |
| 26.6.25 | ADC differential mode selection register (ADC_DIFSEL) | 1065 |
| 26.6.26 | ADC calibration factors register (ADC_CALFACT) | 1066 |
| 26.6.27 | ADC calibration factor register 2 (ADC_CALFACT2) | 1066 |
| 26.7 | ADC common registers . . . . . | 1067 |
| 26.7.1 | ADC x common status register (ADCx_CSR) (x=1/2 or 3) . . . . . | 1067 |
| 26.7.2 | ADC x common control register (ADCx_CCR) (x=1/2 or 3) . . . . . | 1069 |
| 26.7.3 | ADC x common regular data register for dual mode (ADCx_CDR) (x=1/2 or 3) . . . . . | 1072 |
| 26.7.4 | ADC x common regular data register for 32-bit dual mode (ADCx_CDR2) (x=1/2 or 3) . . . . . | 1072 |
| 26.8 | ADC register map . . . . . | 1073 |
| 27 | Digital-to-analog converter (DAC) . . . . . | 1077 |
| 27.1 | Introduction . . . . . | 1077 |
| 27.2 | DAC main features . . . . . | 1077 |
| 27.3 | DAC implementation . . . . . | 1078 |
| 27.4 | DAC functional description . . . . . | 1079 |
| 27.4.1 | DAC block diagram . . . . . | 1079 |
| 27.4.2 | DAC pins and internal signals . . . . . | 1080 |
| 27.4.3 | DAC channel enable . . . . . | 1081 |
| 27.4.4 | DAC data format . . . . . | 1081 |
| 27.4.5 | DAC conversion . . . . . | 1083 |
| 27.4.6 | DAC output voltage . . . . . | 1083 |
| 27.4.7 | DAC trigger selection . . . . . | 1083 |
| 27.4.8 | DMA requests . . . . . | 1084 |
| 27.4.9 | Noise generation . . . . . | 1084 |
| 27.4.10 | Triangle-wave generation . . . . . | 1086 |
| 27.4.11 | DAC channel modes . . . . . | 1087 |
| 27.4.12 | DAC channel buffer calibration . . . . . | 1090 |
| 27.4.13 | Dual DAC channel conversion modes (if dual channels are available) . . . . . | 1091 |
| 27.5 | DAC in low-power modes . . . . . | 1095 |
| 27.6 | DAC interrupts . . . . . | 1096 |
| 27.7 | DAC registers . . . . . | 1097 |
| 27.7.1 | DAC control register (DAC_CR) . . . . . | 1097 |
| 27.7.2 | DAC software trigger register (DAC_SWTRGR) . . . . . | 1100 |
| 27.7.3 | DAC channel1 12-bit right-aligned data holding register (DAC_DHR12R1) . . . . . | 1101 |
| 27.7.4 | DAC channel1 12-bit left aligned data holding register (DAC_DHR12L1) . . . . . | 1101 |
| 27.7.5 | DAC channel1 8-bit right aligned data holding register (DAC_DHR8R1) . . . . . | 1102 |
| 27.7.6 | DAC channel2 12-bit right aligned data holding register (DAC_DHR12R2) . . . . . | 1102 |
| 27.7.7 | DAC channel2 12-bit left aligned data holding register (DAC_DHR12L2) . . . . . | 1103 |
| 27.7.8 | DAC channel2 8-bit right-aligned data holding register (DAC_DHR8R2) . . . . . | 1103 |
| 27.7.9 | Dual DAC 12-bit right-aligned data holding register (DAC_DHR12RD) . . . . . | 1104 |
| 27.7.10 | Dual DAC 12-bit left aligned data holding register (DAC_DHR12LD) . . . . . | 1104 |
| 27.7.11 | Dual DAC 8-bit right aligned data holding register (DAC_DHR8RD) . . . . . | 1105 |
| 27.7.12 | DAC channel1 data output register (DAC_DOR1) . . . . . | 1105 |
| 27.7.13 | DAC channel2 data output register (DAC_DOR2) . . . . . | 1106 |
| 27.7.14 | DAC status register (DAC_SR) . . . . . | 1106 |
| 27.7.15 | DAC calibration control register (DAC_CCR) . . . . . | 1108 |
| 27.7.16 | DAC mode control register (DAC_MCR) . . . . . | 1108 |
| 27.7.17 | DAC channel1 sample and hold sample time register (DAC_SHSR1) . . . . . | 1110 |
| 27.7.18 | DAC channel2 sample and hold sample time register (DAC_SHSR2) . . . . . | 1110 |
| 27.7.19 | DAC sample and hold time register (DAC_SHHR) . . . . . | 1111 |
| 27.7.20 | DAC sample and hold refresh time register (DAC_SHRR) . . . . . | 1111 |
| 27.7.21 | DAC register map . . . . . | 1112 |
| 28 | Voltage reference buffer (VREFBUF) . . . . . | 1114 |
| 28.1 | Introduction . . . . . | 1114 |
| 28.2 | VREFBUF functional description . . . . . | 1114 |
| 28.3 | VREFBUF registers . . . . . | 1115 |
| 28.3.1 | VREFBUF control and status register (VREFBUF_CSR) . . . . . | 1115 |
| 28.3.2 | VREFBUF calibration control register (VREFBUF_CCR) . . . . . | 1116 |
| 28.3.3 | VREFBUF register map . . . . . | 1116 |
| 29 | Comparator (COMP) . . . . . | 1117 |
| 29.1 | Introduction . . . . . | 1117 |
| 29.2 | COMP main features . . . . . | 1117 |
| 29.3 | COMP functional description . . . . . | 1118 |
| 29.3.1 | COMP block diagram . . . . . | 1118 |
| 29.3.2 | COMP pins and internal signals . . . . . | 1118 |
| 29.3.3 | COMP reset and clocks . . . . . | 1120 |
| 29.3.4 | Comparator LOCK mechanism . . . . . | 1120 |
| 29.3.5 | Window comparator . . . . . | 1120 |
| 29.3.6 | Hysteresis . . . . . | 1120 |
| 29.3.7 | Comparator output blanking function . . . . . | 1121 |
| 29.3.8 | Comparator output on GPIOs . . . . . | 1122 |
| 29.3.9 | Comparator output redirection . . . . . | 1123 |
| 29.3.10 | COMP power and speed modes . . . . . | 1123 |
| 29.4 | COMP low-power modes . . . . . | 1124 |
| 29.5 | COMP interrupts . . . . . | 1124 |
| 29.5.1 | Interrupt through EXTI block . . . . . | 1124 |
| 29.5.2 | Interrupt through NVIC of the CPU . . . . . | 1125 |
| 29.6 | SCALER function . . . . . | 1125 |
| 29.7 | COMP registers . . . . . | 1126 |
| 29.7.1 | Comparator status register (COMP_SR) . . . . . | 1126 |
| 29.7.2 | Comparator interrupt clear flag register (COMP_ICFR) . . . . . | 1126 |
| 29.7.3 | Comparator option register (COMP_OR) . . . . . | 1127 |
| 29.7.4 | Comparator configuration register 1 (COMP_CFGR1) . . . . . | 1127 |
| 29.7.5 | Comparator configuration register 2 (COMP_CFGR2) . . . . . | 1129 |
| 29.7.6 | COMP register map . . . . . | 1132 |
| 30 | Operational amplifiers (OPAMP) . . . . . | 1133 |
| 30.1 | Introduction . . . . . | 1133 |
| 30.2 | OPAMP main features . . . . . | 1133 |
| 30.3 | OPAMP functional description . . . . . | 1133 |
| 30.3.1 | OPAMP reset and clocks . . . . . | 1133 |
| 30.3.2 | Initial configuration . . . . . | 1134 |
| 30.3.3 | Signal routing . . . . . | 1134 |
| 30.3.4 | OPAMP modes . . . . . | 1135 |
| 30.3.5 | Calibration . . . . . | 1141 |
| 30.4 | OPAMP low-power modes . . . . . | 1143 |
| 30.5 | OPAMP PGA gain . . . . . | 1143 |
| 30.6 | OPAMP registers . . . . . | 1143 |
| 30.6.1 | OPAMP1 control/status register (OPAMP1_CSR) . . . . . | 1143 |
| 30.6.2 | OPAMP1 trimming register in normal mode (OPAMP1_OTR) . . . . . | 1145 |
| 30.6.3 | OPAMP1 trimming register in high-speed mode (OPAMP1_HSOTR) | 1146 |
| 30.6.4 | OPAMP option register (OPAMP_OR) . . . . . | 1146 |
| 30.6.5 | OPAMP2 control/status register (OPAMP2_CSR) . . . . . | 1146 |
| 30.6.6 | OPAMP2 trimming register in normal mode (OPAMP2_OTR) . . . . . | 1148 |
| 30.6.7 | OPAMP2 trimming register in high-speed mode (OPAMP2_HSOTR) | 1149 |
| 30.6.8 | OPAMP register map . . . . . | 1150 |
| 31 | Digital filter for sigma delta modulators (DFSDM) . . . . . | 1151 |
| 31.1 | Introduction . . . . . | 1151 |
| 31.2 | DFSDM main features . . . . . | 1152 |
| 31.3 | DFSDM implementation . . . . . | 1153 |
| 31.4 | DFSDM functional description . . . . . | 1154 |
| 31.4.1 | DFSDM block diagram . . . . . | 1154 |
| 31.4.2 | DFSDM pins and internal signals . . . . . | 1155 |
| 31.4.3 | DFSDM reset and clocks . . . . . | 1156 |
| 31.4.4 | Serial channel transceivers . . . . . | 1157 |
| 31.4.5 | Configuring the input serial interface . . . . . | 1167 |
| 31.4.6 | Parallel data inputs . . . . . | 1167 |
| 31.4.7 | Channel selection . . . . . | 1169 |
| 31.4.8 | Digital filter configuration . . . . . | 1170 |
| 31.4.9 | Integrator unit . . . . . | 1171 |
| 31.4.10 | Analog watchdog . . . . . | 1172 |
| 31.4.11 | Short-circuit detector . . . . . | 1174 |
| 31.4.12 | Extreme detector . . . . . | 1175 |
| 31.4.13 | Data unit block . . . . . | 1175 |
| 31.4.14 | Signed data format . . . . . | 1176 |
| 31.4.15 | Launching conversions . . . . . | 1177 |
| 31.4.16 | Continuous and fast continuous modes . . . . . | 1177 |
| 31.4.17 | Request precedence . . . . . | 1178 |
| 31.4.18 | Power optimization in run mode . . . . . | 1179 |
| 31.5 | DFSDM interrupts . . . . . | 1179 |
| 31.6 | DFSDM DMA transfer . . . . . | 1181 |
| 31.7 | DFSDM channel y registers (y=0..7) . . . . . | 1181 |
| 31.7.1 | DFSDM channel y configuration register (DFSDM_CHyCFGR1) . . . | 1181 |
| 31.7.2 | DFSDM channel y configuration register (DFSDM_CHyCFGR2) . . . | 1183 |
- 31.7.3 DFSDM channel y analog watchdog and short-circuit detector register (DFSDM_CHyAWSCDR) . . . . . 1184
- 31.7.4 DFSDM channel y watchdog filter data register (DFSDM_CHyWDATR) . . . . . 1185
- 31.7.5 DFSDM channel y data input register (DFSDM_CHyDATINR) . . . . . 1185
- 31.8 DFSDM filter x module registers (x=0..3) . . . . .1186
- 31.8.1 DFSDM filter x control register 1 (DFSDM_FLTxCR1) . . . . . 1186
- 31.8.2 DFSDM filter x control register 2 (DFSDM_FLTxCR2) . . . . . 1189
- 31.8.3 DFSDM filter x interrupt and status register (DFSDM_FLTxISR) . . . . . 1190
- 31.8.4 DFSDM filter x interrupt flag clear register (DFSDM_FLTxICR) . . . . . 1192
- 31.8.5 DFSDM filter x injected channel group selection register (DFSDM_FLTxJCHGR) . . . . . 1193
- 31.8.6 DFSDM filter x control register (DFSDM_FLTxFCR) . . . . . 1193
- 31.8.7 DFSDM filter x data register for injected group (DFSDM_FLTxJDATAR) . . . . . 1194
- 31.8.8 DFSDM filter x data register for the regular channel (DFSDM_FLTxRDATAR) . . . . . 1195
- 31.8.9 DFSDM filter x analog watchdog high threshold register (DFSDM_FLTxAWHTR) . . . . . 1196
- 31.8.10 DFSDM filter x analog watchdog low threshold register (DFSDM_FLTxAWLTR) . . . . . 1196
- 31.8.11 DFSDM filter x analog watchdog status register (DFSDM_FLTxAWSR) . . . . . 1197
- 31.8.12 DFSDM filter x analog watchdog clear flag register (DFSDM_FLTxAWCFR) . . . . . 1198
- 31.8.13 DFSDM filter x extremes detector maximum register (DFSDM_FLTxEXMAX) . . . . . 1198
- 31.8.14 DFSDM filter x extremes detector minimum register (DFSDM_FLTxEXMIN) . . . . . 1199
- 31.8.15 DFSDM filter x conversion timer register (DFSDM_FLTxCNVTIMR) . . . . . 1199
- 31.8.16 DFSDM register map . . . . . 1200
32 Digital camera interface (DCMI) . . . . . 1210
- 32.1 Introduction . . . . . 1210
- 32.2 DCMI main features . . . . . 1210
- 32.3 DCMI functional description . . . . . 1210
- 32.3.1 DCMI block diagram . . . . . 1211
- 32.3.2 DCMI pins and internal signals . . . . . 1211
- 32.3.3 DCMI clocks . . . . . 1212
- 32.3.4 DCMI DMA interface . . . . . 1212
| 32.3.5 | DCMI physical interface . . . . . | 1212 |
| 32.3.6 | DCMI synchronization . . . . . | 1214 |
| 32.3.7 | DCMI capture modes . . . . . | 1216 |
| 32.3.8 | DCMI crop feature . . . . . | 1217 |
| 32.3.9 | DCMI JPEG format . . . . . | 1218 |
| 32.3.10 | DCMI FIFO . . . . . | 1218 |
| 32.3.11 | DCMI data format description . . . . . | 1219 |
| 32.4 | DCMI interrupts . . . . . | 1221 |
| 32.5 | DCMI registers . . . . . | 1222 |
| 32.5.1 | DCMI control register (DCMI_CR) . . . . . | 1222 |
| 32.5.2 | DCMI status register (DCMI_SR) . . . . . | 1224 |
| 32.5.3 | DCMI raw interrupt status register (DCMI_RIS) . . . . . | 1225 |
| 32.5.4 | DCMI interrupt enable register (DCMI_IER) . . . . . | 1226 |
| 32.5.5 | DCMI masked interrupt status register (DCMI_MIS) . . . . . | 1227 |
| 32.5.6 | DCMI interrupt clear register (DCMI_ICR) . . . . . | 1228 |
| 32.5.7 | DCMI embedded synchronization code register (DCMI_ESCR) . . . . . | 1228 |
| 32.5.8 | DCMI embedded synchronization unmask register (DCMI_ESUR) . . . . . | 1229 |
| 32.5.9 | DCMI crop window start (DCMI_CWSTRT) . . . . . | 1230 |
| 32.5.10 | DCMI crop window size (DCMI_CWSIZE) . . . . . | 1230 |
| 32.5.11 | DCMI data register (DCMI_DR) . . . . . | 1231 |
| 32.5.12 | DCMI register map . . . . . | 1231 |
| 33 | LCD-TFT display controller (LTDC) . . . . . | 1233 |
| 33.1 | Introduction . . . . . | 1233 |
| 33.2 | LTDC main features . . . . . | 1233 |
| 33.3 | LTDC functional description . . . . . | 1234 |
| 33.3.1 | LTDC block diagram . . . . . | 1234 |
| 33.3.2 | LTDC pins and internal signals . . . . . | 1234 |
| 33.3.3 | LTDC reset and clocks . . . . . | 1235 |
| 33.4 | LTDC programmable parameters . . . . . | 1237 |
| 33.4.1 | LTDC global configuration parameters . . . . . | 1237 |
| 33.4.2 | Layer programmable parameters . . . . . | 1239 |
| 33.5 | LTDC interrupts . . . . . | 1243 |
| 33.6 | LTDC programming procedure . . . . . | 1244 |
| 33.7 | LTDC registers . . . . . | 1245 |
| 33.7.1 | LTDC synchronization size configuration register (LTDC_SSCR) . . . . . | 1245 |
33.7.2 LTDC back porch configuration register (LTDC_BPCR) . . . . . 1245
33.7.3 LTDC active width configuration register (LTDC_AWCR) . . . . . 1246
33.7.4 LTDC total width configuration register (LTDC_TWCR) . . . . . 1247
33.7.5 LTDC global control register (LTDC_GCR) . . . . . 1247
33.7.6 LTDC shadow reload configuration register (LTDC_SRCR) . . . . . 1249
33.7.7 LTDC background color configuration register (LTDC_BCCR) . . . . . 1249
33.7.8 LTDC interrupt enable register (LTDC_IER) . . . . . 1250
33.7.9 LTDC interrupt status register (LTDC_ISR) . . . . . 1251
33.7.10 LTDC interrupt clear register (LTDC_ICR) . . . . . 1251
33.7.11 LTDC line interrupt position configuration register (LTDC_LIPCR) . . . . . 1252
33.7.12 LTDC current position status register (LTDC_CPSR) . . . . . 1252
33.7.13 LTDC current display status register (LTDC_CDSR) . . . . . 1253
33.7.14 LTDC layer x control register (LTDC_LxCR) . . . . . 1253
33.7.15 LTDC layer x window horizontal position configuration register
(LTDC_LxWHPER) . . . . . 1254
33.7.16 LTDC layer x window vertical position configuration register
(LTDC_LxWVPER) . . . . . 1255
33.7.17 LTDC layer x color keying configuration register
(LTDC_LxCKCR) . . . . . 1256
33.7.18 LTDC layer x pixel format configuration register
(LTDC_LxPFCR) . . . . . 1256
33.7.19 LTDC layer x constant alpha configuration register
(LTDC_LxCACR) . . . . . 1257
33.7.20 LTDC layer x default color configuration register
(LTDC_LxDCCR) . . . . . 1257
33.7.21 LTDC layer x blending factors configuration register
(LTDC_LxBFCR) . . . . . 1258
33.7.22 LTDC layer x color frame buffer address register
(LTDC_LxCFBAR) . . . . . 1259
33.7.23 LTDC layer x color frame buffer length register
(LTDC_LxCFBLR) . . . . . 1259
33.7.24 LTDC layer x color frame buffer line number register
(LTDC_LxCFBLNR) . . . . . 1260
33.7.25 LTDC layer x CLUT write register (LTDC_LxCLUTWR) . . . . . 1260
33.7.26 LTDC register map . . . . . 1261
34 DSI Host (DSI) . . . . . 1264
34.1 Introduction . . . . . 1264
34.2 Standard and references . . . . . 1264
34.3 DSI Host main features . . . . . 1265
| 34.4 | DSI Host functional description . . . . . | 1266 |
| 34.4.1 | General description . . . . . | 1266 |
| 34.4.2 | DSI Host pins and internal signals . . . . . | 1266 |
| 34.4.3 | Supported resolutions and frame rates . . . . . | 1267 |
| 34.4.4 | System level architecture . . . . . | 1267 |
| 34.5 | Functional description: video mode on LTDC interface . . . . . | 1270 |
| 34.5.1 | Video transmission mode . . . . . | 1271 |
| 34.5.2 | Updating the LTDC interface configuration in video mode . . . . . | 1273 |
| 34.6 | Functional description: adapted command mode on LTDC interface . . . . . | 1275 |
| 34.7 | Functional description: APB slave generic interface . . . . . | 1279 |
| 34.7.1 | Packet transmission using the generic interface . . . . . | 1279 |
| 34.8 | Functional description: timeout counters . . . . . | 1283 |
| 34.8.1 | Contention error detection timeout counters . . . . . | 1283 |
| 34.8.2 | Peripheral response timeout counters . . . . . | 1284 |
| 34.9 | Functional description: transmission of commands . . . . . | 1289 |
| 34.9.1 | Transmission of commands in video mode . . . . . | 1289 |
| 34.9.2 | Transmission of commands in low-power mode . . . . . | 1291 |
| 34.9.3 | Transmission of commands in high-speed . . . . . | 1295 |
| 34.9.4 | Read command transmission . . . . . | 1295 |
| 34.9.5 | Clock lane in low-power mode . . . . . | 1296 |
| 34.10 | Functional description: virtual channels . . . . . | 1298 |
| 34.11 | Functional description: video mode pattern generator . . . . . | 1299 |
| 34.11.1 | Color bar pattern . . . . . | 1299 |
| 34.11.2 | Color coding . . . . . | 1301 |
| 34.11.3 | BER testing pattern . . . . . | 1301 |
| 34.11.4 | Video mode pattern generator resolution . . . . . | 1302 |
| 34.12 | Functional description: D-PHY management . . . . . | 1303 |
| 34.12.1 | D-PHY configuration . . . . . | 1303 |
| 34.12.2 | D-PHY HS2LP and LP2HS durations . . . . . | 1305 |
| 34.12.3 | Special D-PHY operations . . . . . | 1305 |
| 34.12.4 | Special low-power D-PHY functions . . . . . | 1305 |
| 34.12.5 | DSI PLL control . . . . . | 1306 |
| 34.12.6 | Regulator control . . . . . | 1307 |
| 34.13 | Functional description: interrupts and errors . . . . . | 1307 |
| 34.13.1 | DSI Wrapper interrupts . . . . . | 1307 |
| 34.13.2 | DSI Host interrupts and errors . . . . . | 1308 |
| 34.14 | Programing procedure . . . . . | 1315 |
| 34.14.1 | Programing procedure overview . . . . . | 1315 |
| 34.14.2 | Configuring the D-PHY parameters . . . . . | 1315 |
| 34.14.3 | Configuring the DSI Host timing . . . . . | 1316 |
| 34.14.4 | Configuring flow control and DBI interface . . . . . | 1317 |
| 34.14.5 | Configuring the DSI Host LTDC interface . . . . . | 1317 |
| 34.14.6 | Configuring the video mode . . . . . | 1318 |
| 34.14.7 | Configuring the adapted command mode . . . . . | 1322 |
| 34.14.8 | Configuring the video mode pattern generator . . . . . | 1322 |
| 34.14.9 | Managing ULPM . . . . . | 1323 |
| 34.15 | DSI Host registers . . . . . | 1326 |
| 34.15.1 | DSI Host version register (DSI_VR) . . . . . | 1326 |
| 34.15.2 | DSI Host control register (DSI_CR) . . . . . | 1326 |
| 34.15.3 | DSI Host clock control register (DSI_CCR) . . . . . | 1326 |
| 34.15.4 | DSI Host LTDC VCID register (DSI_LVCIDR) . . . . . | 1327 |
| 34.15.5 | DSI Host LTDC color coding register (DSI_LCOLCR) . . . . . | 1327 |
| 34.15.6 | DSI Host LTDC polarity configuration register (DSI_LPCR) . . . . . | 1328 |
| 34.15.7 | DSI Host low-power mode configuration register (DSI_LPPCR) . . . . . | 1328 |
| 34.15.8 | DSI Host protocol configuration register (DSI_PCR) . . . . . | 1329 |
| 34.15.9 | DSI Host generic VCID register (DSI_GVCIDR) . . . . . | 1330 |
| 34.15.10 | DSI Host mode configuration register (DSI_MCR) . . . . . | 1330 |
| 34.15.11 | DSI Host video mode configuration register (DSI_VMCR) . . . . . | 1330 |
| 34.15.12 | DSI Host video packet configuration register (DSI_VPCR) . . . . . | 1332 |
| 34.15.13 | DSI Host video chunks configuration register (DSI_VCCR) . . . . . | 1332 |
| 34.15.14 | DSI Host video null packet configuration register (DSI_VNPCR) . . . . . | 1333 |
| 34.15.15 | DSI Host video HSA configuration register (DSI_VHSACR) . . . . . | 1333 |
| 34.15.16 | DSI Host video HBP configuration register (DSI_VHBPCR) . . . . . | 1334 |
| 34.15.17 | DSI Host video line configuration register (DSI_VLCR) . . . . . | 1334 |
| 34.15.18 | DSI Host video VSA configuration register (DSI_VVSACR) . . . . . | 1334 |
| 34.15.19 | DSI Host video VBP configuration register (DSI_VVBPCR) . . . . . | 1335 |
| 34.15.20 | DSI Host video VFP configuration register (DSI_VVFPPCR) . . . . . | 1335 |
| 34.15.21 | DSI Host video VA configuration register (DSI_VVACR) . . . . . | 1335 |
| 34.15.22 | DSI Host LTDC command configuration register (DSI_LCCR) . . . . . | 1336 |
| 34.15.23 | DSI Host command mode configuration register (DSI_CMCR) . . . . . | 1336 |
| 34.15.24 | DSI Host generic header configuration register (DSI_GHCR) . . . . . | 1338 |
| 34.15.25 | DSI Host generic payload data register (DSI_GPDR) . . . . . | 1339 |
| 34.15.26 | DSI Host generic packet status register (DSI_GPSR) . . . . . | 1339 |
| 34.15.27 DSI Host timeout counter configuration register 0 (DSI_TCCR0) . . . | 1340 |
| 34.15.28 DSI Host timeout counter configuration register 1 (DSI_TCCR1) . . . | 1341 |
| 34.15.29 DSI Host timeout counter configuration register 2 (DSI_TCCR2) . . . | 1341 |
| 34.15.30 DSI Host timeout counter configuration register 3 (DSI_TCCR3) . . . | 1341 |
| 34.15.31 DSI Host timeout counter configuration register 4 (DSI_TCCR4) . . . | 1342 |
| 34.15.32 DSI Host timeout counter configuration register 5 (DSI_TCCR5) . . . | 1342 |
| 34.15.33 DSI Host clock lane configuration register (DSI_CLCR) . . . . . | 1343 |
| 34.15.34 DSI Host clock lane timer configuration register (DSI_CLTCR) . . . . . | 1343 |
| 34.15.35 DSI Host data lane timer configuration register (DSI_DLTCR) . . . . . | 1344 |
| 34.15.36 DSI Host PHY control register (DSI_PCTLR) . . . . . | 1344 |
| 34.15.37 DSI Host PHY configuration register (DSI_PCONF) . . . . . | 1345 |
| 34.15.38 DSI Host PHY ULPS control register (DSI_PUCR) . . . . . | 1345 |
| 34.15.39 DSI Host PHY TX triggers configuration register (DSI_PTT) . . . . . | 1346 |
| 34.15.40 DSI Host PHY status register (DSI_PSR) . . . . . | 1346 |
| 34.15.41 DSI Host interrupt and status register 0 (DSI_ISR0) . . . . . | 1347 |
| 34.15.42 DSI Host interrupt and status register 1 (DSI_ISR1) . . . . . | 1349 |
| 34.15.43 DSI Host interrupt enable register 0 (DSI_IER0) . . . . . | 1350 |
| 34.15.44 DSI Host interrupt enable register 1 (DSI_IER1) . . . . . | 1352 |
| 34.15.45 DSI Host force interrupt register 0 (DSI_FIR0) . . . . . | 1354 |
| 34.15.46 DSI Host force interrupt register 1 (DSI_FIR1) . . . . . | 1355 |
| 34.15.47 DSI Host video shadow control register (DSI_VSCR) . . . . . | 1356 |
| 34.15.48 DSI Host LTDC current VCID register (DSI_LCVCIDR) . . . . . | 1357 |
| 34.15.49 DSI Host LTDC current color coding register (DSI_LCCCR) . . . . . | 1357 |
| 34.15.50 DSI Host low-power mode current configuration register (DSI_LPMCCR) . . . . . | 1358 |
| 34.15.51 DSI Host video mode current configuration register (DSI_VMCCR) . . . . . | 1358 |
| 34.15.52 DSI Host video packet current configuration register (DSI_VPCCR) . . . . . | 1359 |
| 34.15.53 DSI Host video chunks current configuration register (DSI_VCCCR) . . . . . | 1360 |
| 34.15.54 DSI Host video null packet current configuration register (DSI_VNPCCR) . . . . . | 1360 |
| 34.15.55 DSI Host video HSA current configuration register (DSI_VHSACCR) . . . . . | 1361 |
| 34.15.56 DSI Host video HBP current configuration register (DSI_VHBPCCR) . . . . . | 1361 |
| 34.15.57 DSI Host video line current configuration register (DSI_VLCCR) . . . | 1361 |
| 34.15.58 | DSI Host video VSA current configuration register (DSI_VVSACCR) . . . . . | 1362 |
| 34.15.59 | DSI Host video VBP current configuration register (DSI_VBPCCR) . . . . . | 1362 |
| 34.15.60 | DSI Host video VFP current configuration register (DSI_VVFPCCR) . . . . . | 1363 |
| 34.15.61 | DSI Host video VA current configuration register (DSI_VVACCR) . . . . . | 1363 |
| 34.16 | DSI Wrapper registers . . . . . | 1364 |
| 34.16.1 | DSI Wrapper configuration register (DSI_WCFGR) . . . . . | 1364 |
| 34.16.2 | DSI Wrapper control register (DSI_WCR) . . . . . | 1365 |
| 34.16.3 | DSI Wrapper interrupt enable register (DSI_WIER) . . . . . | 1365 |
| 34.16.4 | DSI Wrapper interrupt and status register (DSI_WISR) . . . . . | 1366 |
| 34.16.5 | DSI Wrapper interrupt flag clear register (DSI_WIFCR) . . . . . | 1367 |
| 34.16.6 | DSI Wrapper PHY configuration register 0 (DSI_WPCR0) . . . . . | 1368 |
| 34.16.7 | DSI Wrapper PHY configuration register 1 (DSI_WPCR1) . . . . . | 1370 |
| 34.16.8 | DSI Wrapper PHY configuration register 2 (DSI_WPCR2) . . . . . | 1372 |
| 34.16.9 | DSI Wrapper PHY configuration register 3 (DSI_WPCR3) . . . . . | 1373 |
| 34.16.10 | DSI Wrapper PHY configuration register 4 (DSI_WPCR4) . . . . . | 1373 |
| 34.16.11 | DSI Wrapper regulator and PLL control register (DSI_WRPCR) . . . . . | 1374 |
| 34.16.12 | DSI register map . . . . . | 1375 |
| 35 | JPEG codec (JPEG) . . . . . | 1381 |
| 35.1 | Introduction . . . . . | 1381 |
| 35.2 | JPEG codec main features . . . . . | 1381 |
| 35.3 | JPEG codec block functional description . . . . . | 1382 |
| 35.3.1 | General description . . . . . | 1382 |
| 35.3.2 | JPEG internal signals . . . . . | 1382 |
| 35.3.3 | JPEG decoding procedure . . . . . | 1383 |
| 35.3.4 | JPEG encoding procedure . . . . . | 1384 |
| 35.4 | JPEG codec interrupts . . . . . | 1386 |
| 35.5 | JPEG codec registers . . . . . | 1387 |
| 35.5.1 | JPEG codec control register (JPEG_CONF0) . . . . . | 1387 |
| 35.5.2 | JPEG codec configuration register 1 (JPEG_CONF1) . . . . . | 1387 |
| 35.5.3 | JPEG codec configuration register 2 (JPEG_CONF2) . . . . . | 1388 |
| 35.5.4 | JPEG codec configuration register 3 (JPEG_CONF3) . . . . . | 1389 |
| 35.5.5 | JPEG codec configuration register x (JPEG_CONFx) . . . . . | 1389 |
| 35.5.6 | JPEG control register (JPEG_CR) . . . . . | 1390 |
| 35.5.7 | JPEG status register (JPEG_SR) . . . . . | 1391 |
| 35.5.8 | JPEG clear flag register (JPEG_CFR) . . . . . | 1392 |
| 35.5.9 | JPEG data input register (JPEG_DIR) . . . . . | 1393 |
| 35.5.10 | JPEG data output register (JPEG_DOR) . . . . . | 1393 |
| 35.5.11 | JPEG quantization memory x (JPEG_QMEMx_y) . . . . . | 1394 |
| 35.5.12 | JPEG Huffman min (JPEG_HUFFMINx_y) . . . . . | 1394 |
| 35.5.13 | JPEG Huffman min x (JPEG_HUFFMINx_y) . . . . . | 1395 |
| 35.5.14 | JPEG Huffman base (JPEG_HUFFBASEx) . . . . . | 1395 |
| 35.5.15 | JPEG Huffman symbol (JPEG_HUFFSYMBx) . . . . . | 1396 |
| 35.5.16 | JPEG DHT memory (JPEG_DHTMEMx) . . . . . | 1397 |
| 35.5.17 | JPEG Huffman encoder ACx (JPEG_HUFFENC_ACx_y) . . . . . | 1397 |
| 35.5.18 | JPEG Huffman encoder DCx (JPEG_HUFFENC_DCx_y) . . . . . | 1398 |
| 35.5.19 | JPEG codec register map . . . . . | 1399 |
| 36 | True random number generator (RNG) . . . . . | 1401 |
| 36.1 | Introduction . . . . . | 1401 |
| 36.2 | RNG main features . . . . . | 1401 |
| 36.3 | RNG functional description . . . . . | 1402 |
| 36.3.1 | RNG block diagram . . . . . | 1402 |
| 36.3.2 | RNG internal signals . . . . . | 1402 |
| 36.3.3 | Random number generation . . . . . | 1403 |
| 36.3.4 | RNG initialization . . . . . | 1405 |
| 36.3.5 | RNG operation . . . . . | 1406 |
| 36.3.6 | RNG clocking . . . . . | 1407 |
| 36.3.7 | Error management . . . . . | 1407 |
| 36.3.8 | RNG low-power use . . . . . | 1408 |
| 36.4 | RNG interrupts . . . . . | 1409 |
| 36.5 | RNG processing time . . . . . | 1409 |
| 36.6 | RNG entropy source validation . . . . . | 1409 |
| 36.6.1 | Introduction . . . . . | 1409 |
| 36.6.2 | Validation conditions . . . . . | 1409 |
| 36.6.3 | Data collection . . . . . | 1410 |
| 36.7 | RNG registers . . . . . | 1410 |
| 36.7.1 | RNG control register (RNG_CR) . . . . . | 1410 |
| 36.7.2 | RNG status register (RNG_SR) . . . . . | 1411 |
| 36.7.3 | RNG data register (RNG_DR) . . . . . | 1412 |
| 36.7.4 | RNG register map . . . . . | 1412 |
| 37 | Cryptographic processor (CRYP) . . . . . | 1413 |
| 37.1 | Introduction . . . . . | 1413 |
| 37.2 | CRYP main features . . . . . | 1413 |
| 37.3 | CRYP implementation . . . . . | 1414 |
| 37.4 | CRYP functional description . . . . . | 1415 |
| 37.4.1 | CRYP block diagram . . . . . | 1415 |
| 37.4.2 | CRYP internal signals . . . . . | 1416 |
| 37.4.3 | CRYP DES/TDES cryptographic core . . . . . | 1416 |
| 37.4.4 | CRYP AES cryptographic core . . . . . | 1417 |
| 37.4.5 | CRYP procedure to perform a cipher operation . . . . . | 1423 |
| 37.4.6 | CRYP busy state . . . . . | 1425 |
| 37.4.7 | Preparing the CRYP AES key for decryption . . . . . | 1426 |
| 37.4.8 | CRYP stealing and data padding . . . . . | 1426 |
| 37.4.9 | CRYP suspend/resume operations . . . . . | 1427 |
| 37.4.10 | CRYP DES/TDES basic chaining modes (ECB, CBC) . . . . . | 1428 |
| 37.4.11 | CRYP AES basic chaining modes (ECB, CBC) . . . . . | 1433 |
| 37.4.12 | CRYP AES counter mode (AES-CTR) . . . . . | 1438 |
| 37.4.13 | CRYP AES Galois/counter mode (GCM) . . . . . | 1442 |
| 37.4.14 | CRYP AES Galois message authentication code (GMAC) . . . . . | 1447 |
| 37.4.15 | CRYP AES Counter with CBC-MAC (CCM) . . . . . | 1448 |
| 37.4.16 | CRYP data registers and data swapping . . . . . | 1453 |
| 37.4.17 | CRYP key registers . . . . . | 1457 |
| 37.4.18 | CRYP initialization vector registers . . . . . | 1458 |
| 37.4.19 | CRYP DMA interface . . . . . | 1459 |
| 37.4.20 | CRYP error management . . . . . | 1461 |
| 37.5 | CRYP interrupts . . . . . | 1461 |
| 37.6 | CRYP processing time . . . . . | 1462 |
| 37.7 | CRYP registers . . . . . | 1463 |
| 37.7.1 | CRYP control register (CRYP_CR) . . . . . | 1463 |
| 37.7.2 | CRYP status register (CRYP_SR) . . . . . | 1465 |
| 37.7.3 | CRYP data input register (CRYP_DIN) . . . . . | 1466 |
| 37.7.4 | CRYP data output register (CRYP_DOUT) . . . . . | 1467 |
| 37.7.5 | CRYP DMA control register (CRYP_DMACR) . . . . . | 1468 |
| 37.7.6 | CRYP interrupt mask set/clear register (CRYP_IMSCR) . . . . . | 1468 |
| 37.7.7 | CRYP raw interrupt status register (CRYP_RISR) . . . . . | 1469 |
| 37.7.8 | CRYP masked interrupt status register (CRYP_MISR) . . . . . | 1470 |
| 37.7.9 | CRYP key register 0L (CRYP_K0LR) . . . . . | 1470 |
| 37.7.10 | CRYP key register 0R (CRYP_K0RR) . . . . . | 1471 |
| 37.7.11 | CRYP key register 1L (CRYP_K1LR) . . . . . | 1471 |
| 37.7.12 | CRYP key register 1R (CRYP_K1RR) . . . . . | 1472 |
| 37.7.13 | CRYP key register 2L (CRYP_K2LR) . . . . . | 1472 |
| 37.7.14 | CRYP key register 2R (CRYP_K2RR) . . . . . | 1473 |
| 37.7.15 | CRYP key register 3L (CRYP_K3LR) . . . . . | 1473 |
| 37.7.16 | CRYP key register 3R (CRYP_K3RR) . . . . . | 1474 |
| 37.7.17 | CRYP initialization vector register 0L (CRYP_IV0LR) . . . . . | 1474 |
| 37.7.18 | CRYP initialization vector register 0R (CRYP_IV0RR) . . . . . | 1475 |
| 37.7.19 | CRYP initialization vector register 1L (CRYP_IV1LR) . . . . . | 1475 |
| 37.7.20 | CRYP initialization vector register 1R (CRYP_IV1RR) . . . . . | 1476 |
| 37.7.21 | CRYP context swap GCM-CCM registers (CRYP_CSGCMCCMxR) . . . . . | 1476 |
| 37.7.22 | CRYP context swap GCM registers (CRYP_CSGCMxR) . . . . . | 1477 |
| 37.7.23 | CRYP register map . . . . . | 1477 |
| 38 | Hash processor (HASH) . . . . . | 1480 |
| 38.1 | Introduction . . . . . | 1480 |
| 38.2 | HASH main features . . . . . | 1480 |
| 38.3 | HASH implementation . . . . . | 1481 |
| 38.4 | HASH functional description . . . . . | 1481 |
| 38.4.1 | HASH block diagram . . . . . | 1481 |
| 38.4.2 | HASH internal signals . . . . . | 1482 |
| 38.4.3 | About secure hash algorithms . . . . . | 1482 |
| 38.4.4 | Message data feeding . . . . . | 1482 |
| 38.4.5 | Message digest computing . . . . . | 1484 |
| 38.4.6 | Message padding . . . . . | 1485 |
| 38.4.7 | HMAC operation . . . . . | 1487 |
| 38.4.8 | HASH suspend/resume operations . . . . . | 1489 |
| 38.4.9 | HASH DMA interface . . . . . | 1491 |
| 38.4.10 | HASH error management . . . . . | 1491 |
| 38.5 | HASH interrupts . . . . . | 1491 |
| 38.6 | HASH processing time . . . . . | 1492 |
| 38.7 | HASH registers . . . . . | 1493 |
| 38.7.1 | HASH control register (HASH_CR) . . . . . | 1493 |
| 38.7.2 | HASH data input register (HASH_DIN) . . . . . | 1495 |
| 38.7.3 | HASH start register (HASH_STR) . . . . . | 1496 |
| 38.7.4 | HASH digest registers . . . . . | 1497 |
| 38.7.5 | HASH interrupt enable register (HASH_IMR) . . . . . | 1498 |
| 38.7.6 | HASH status register (HASH_SR) . . . . . | 1499 |
| 38.7.7 | HASH context swap registers . . . . . | 1499 |
| 38.7.8 | HASH register map . . . . . | 1500 |
| 39 | High-resolution timer (HRTIM) . . . . . | 1502 |
| 39.1 | Introduction . . . . . | 1502 |
| 39.2 | Main features . . . . . | 1503 |
| 39.3 | Functional description . . . . . | 1504 |
| 39.3.1 | General description . . . . . | 1504 |
| 39.3.2 | HRTIM pins and internal signals . . . . . | 1506 |
| 39.3.3 | Clocks . . . . . | 1507 |
| 39.3.4 | Timer A..E timing units . . . . . | 1510 |
| 39.3.5 | Master timer . . . . . | 1527 |
| 39.3.6 | Set/reset events priorities and narrow pulses management . . . . . | 1528 |
| 39.3.7 | External events global conditioning . . . . . | 1529 |
| 39.3.8 | External event filtering in timing units . . . . . | 1534 |
| 39.3.9 | Delayed Protection . . . . . | 1539 |
| 39.3.10 | Register preload and update management . . . . . | 1545 |
| 39.3.11 | Events propagation within or across multiple timers . . . . . | 1548 |
| 39.3.12 | Output management . . . . . | 1552 |
| 39.3.13 | Burst mode controller . . . . . | 1554 |
| 39.3.14 | Chopper . . . . . | 1563 |
| 39.3.15 | Fault protection . . . . . | 1564 |
| 39.3.16 | Auxiliary outputs . . . . . | 1567 |
| 39.3.17 | Synchronizing the HRTIM with other timers or HRTIM instances . . . . . | 1570 |
| 39.3.18 | ADC triggers . . . . . | 1573 |
| 39.3.19 | DAC triggers . . . . . | 1574 |
| 39.3.20 | HRTIM Interrupts . . . . . | 1576 |
| 39.3.21 | DMA . . . . . | 1578 |
| 39.3.22 | HRTIM initialization . . . . . | 1581 |
| 39.3.23 | Debug . . . . . | 1582 |
| 39.4 | Application use cases . . . . . | 1583 |
| 39.4.1 | Buck converter . . . . . | 1583 |
| 39.4.2 | Buck converter with synchronous rectification . . . . . | 1584 |
| 39.4.3 | Multiphase converters . . . . . | 1585 |
| 39.4.4 | Transition mode Power Factor Correction . . . . . | 1587 |
| 39.5 | HRTIM registers . . . . . | 1589 |
| 39.5.1 | HRTIM Master Timer Control Register (HRTIM_MCR) . . . . . | 1589 |
| 39.5.2 | HRTIM Master Timer Interrupt Status Register (HRTIM_MISR) . . . . . | 1592 |
| 39.5.3 | HRTIM Master Timer Interrupt Clear Register (HRTIM_MICR) . . . . . | 1593 |
| 39.5.4 | HRTIM Master Timer DMA / Interrupt Enable Register (HRTIM_MDIER) . . . . . | 1594 |
| 39.5.5 | HRTIM Master Timer Counter Register (HRTIM_MCNTR) . . . . . | 1596 |
| 39.5.6 | HRTIM Master Timer Period Register (HRTIM_MPER) . . . . . | 1596 |
| 39.5.7 | HRTIM Master Timer Repetition Register (HRTIM_MREP) . . . . . | 1597 |
| 39.5.8 | HRTIM Master Timer Compare 1 Register (HRTIM_MCMP1R) . . . . . | 1597 |
| 39.5.9 | HRTIM Master Timer Compare 2 Register (HRTIM_MCMP2R) . . . . . | 1598 |
| 39.5.10 | HRTIM Master Timer Compare 3 Register (HRTIM_MCMP3R) . . . . . | 1598 |
| 39.5.11 | HRTIM Master Timer Compare 4 Register (HRTIM_MCMP4R) . . . . . | 1599 |
| 39.5.12 | HRTIM Timerx Control Register (HRTIM_TIMxCR) . . . . . | 1600 |
| 39.5.13 | HRTIM Timerx Interrupt Status Register (HRTIM_TIMxISR) . . . . . | 1604 |
| 39.5.14 | HRTIM Timerx Interrupt Clear Register (HRTIM_TIMxICR) . . . . . | 1606 |
| 39.5.15 | HRTIM Timerx DMA / Interrupt Enable Register (HRTIM_TIMxDIER) . . . . . | 1607 |
| 39.5.16 | HRTIM Timerx Counter Register (HRTIM_CNTxR) . . . . . | 1610 |
| 39.5.17 | HRTIM Timerx Period Register (HRTIM_PERxR) . . . . . | 1610 |
| 39.5.18 | HRTIM Timerx Repetition Register (HRTIM_REPxR) . . . . . | 1611 |
| 39.5.19 | HRTIM Timerx Compare 1 Register (HRTIM_CMP1xR) . . . . . | 1611 |
| 39.5.20 | HRTIM Timerx Compare 1 Compound Register (HRTIM_CMP1CxR) . . . . . | 1612 |
| 39.5.21 | HRTIM Timerx Compare 2 Register (HRTIM_CMP2xR) . . . . . | 1612 |
| 39.5.22 | HRTIM Timerx Compare 3 Register (HRTIM_CMP3xR) . . . . . | 1613 |
| 39.5.23 | HRTIM Timerx Compare 4 Register (HRTIM_CMP4xR) . . . . . | 1613 |
| 39.5.24 | HRTIM Timerx Capture 1 Register (HRTIM_CPT1xR) . . . . . | 1614 |
| 39.5.25 | HRTIM Timerx Capture 2 Register (HRTIM_CPT2xR) . . . . . | 1614 |
| 39.5.26 | HRTIM Timerx Deadtime Register (HRTIM_DTxR) . . . . . | 1615 |
| 39.5.27 | HRTIM Timerx Output1 Set Register (HRTIM_SETx1R) . . . . . | 1617 |
| 39.5.28 | HRTIM Timerx Output1 Reset Register (HRTIM_RSTx1R) . . . . . | 1619 |
| 39.5.29 | HRTIM Timerx Output2 Set Register (HRTIM_SETx2R) . . . . . | 1619 |
| 39.5.30 | HRTIM Timerx Output2 Reset Register (HRTIM_RSTx2R) . . . . . | 1620 |
| 39.5.31 | HRTIM Timerx External Event Filtering Register 1 (HRTIM_EEFxR1) . . . . . | 1621 |
| 39.5.32 | HRTIM Timerx External Event Filtering Register 2 (HRTIM_EEFxR2) . . . . . | 1623 |
| 39.5.33 | HRTIM Timerx Reset Register (HRTIM_RSTxR) . . . . . | 1624 |
| 39.5.34 | HRTIM Timerx Chopper Register (HRTIM_CHPxR) . . . . . | 1627 |
| 39.5.35 | HRTIM Timerx Capture 1 Control Register (HRTIM_CPT1xCR) . . . . . | 1629 |
| 39.5.36 | HRTIM Timerx Capture 2 Control Register (HRTIM_CPT2xCR) . . . . . | 1630 |
| 39.5.37 | HRTIM Timerx Output Register (HRTIM_OUTxR) . . . . . | 1633 |
| 39.5.38 | HRTIM Timerx Fault Register (HRTIM_FLTxR) . . . . . | 1636 |
| 39.5.39 | HRTIM Control Register 1 (HRTIM_CR1) . . . . . | 1637 |
| 39.5.40 | HRTIM Control Register 2 (HRTIM_CR2) . . . . . | 1639 |
| 39.5.41 | HRTIM Interrupt Status Register (HRTIM_ISR) . . . . . | 1640 |
| 39.5.42 | HRTIM Interrupt Clear Register (HRTIM_ICR) . . . . . | 1641 |
| 39.5.43 | HRTIM Interrupt Enable Register (HRTIM_IER) . . . . . | 1642 |
| 39.5.44 | HRTIM Output Enable Register (HRTIM_OENR) . . . . . | 1643 |
| 39.5.45 | HRTIM Output Disable Register (HRTIM_ODISR) . . . . . | 1644 |
| 39.5.46 | HRTIM Output Disable Status Register (HRTIM_ODSR) . . . . . | 1645 |
| 39.5.47 | HRTIM Burst Mode Control Register (HRTIM_BMCR) . . . . . | 1646 |
| 39.5.48 | HRTIM Burst Mode Trigger Register (HRTIM_BMTRGR) . . . . . | 1648 |
| 39.5.49 | HRTIM Burst Mode Compare Register (HRTIM_BMCMPR) . . . . . | 1650 |
| 39.5.50 | HRTIM Burst Mode Period Register (HRTIM_BMPER) . . . . . | 1650 |
| 39.5.51 | HRTIM Timer External Event Control Register 1 (HRTIM_EECR1) . . . . . | 1651 |
| 39.5.52 | HRTIM Timer External Event Control Register 2 (HRTIM_EECR2) . . . . . | 1653 |
| 39.5.53 | HRTIM Timer External Event Control Register 3 (HRTIM_EECR3) . . . . . | 1654 |
| 39.5.54 | HRTIM ADC Trigger 1 Register (HRTIM_ADC1R) . . . . . | 1655 |
| 39.5.55 | HRTIM ADC Trigger 2 Register (HRTIM_ADC2R) . . . . . | 1656 |
| 39.5.56 | HRTIM ADC Trigger 3 Register (HRTIM_ADC3R) . . . . . | 1657 |
| 39.5.57 | HRTIM ADC Trigger 4 Register (HRTIM_ADC4R) . . . . . | 1659 |
| 39.5.58 | HRTIM Fault Input Register 1 (HRTIM_FLTINR1) . . . . . | 1661 |
| 39.5.59 | HRTIM Fault Input Register 2 (HRTIM_FLTINR2) . . . . . | 1663 |
| 39.5.60 | HRTIM Burst DMA Master timer update Register (HRTIM_BDMUPR) . . . . . | 1665 |
| 39.5.61 | HRTIM Burst DMA Timerx update Register (HRTIM_BDTxUPR) . . . . . | 1666 |
| 39.5.62 | HRTIM Burst DMA Data Register (HRTIM_BDMADR) . . . . . | 1667 |
| 39.5.63 | HRTIM register map . . . . . | 1668 |
| 40 | Advanced-control timers (TIM1/TIM8) . . . . . | 1677 |
| 40.1 | TIM1/TIM8 introduction . . . . . | 1677 |
| 40.2 | TIM1/TIM8 main features . . . . . | 1677 |
| 40.3 | TIM1/TIM8 functional description . . . . . | 1679 |
| 40.3.1 | Time-base unit . . . . . | 1679 |
| 40.3.2 | Counter modes . . . . . | 1681 |
| 40.3.3 | Repetition counter . . . . . | 1692 |
| 40.3.4 | External trigger input . . . . . | 1694 |
| 40.3.5 | Clock selection . . . . . | 1695 |
| 40.3.6 | Capture/compare channels . . . . . | 1699 |
| 40.3.7 | Input capture mode . . . . . | 1701 |
| 40.3.8 | PWM input mode . . . . . | 1702 |
| 40.3.9 | Forced output mode . . . . . | 1703 |
| 40.3.10 | Output compare mode . . . . . | 1704 |
| 40.3.11 | PWM mode . . . . . | 1705 |
| 40.3.12 | Asymmetric PWM mode . . . . . | 1708 |
| 40.3.13 | Combined PWM mode . . . . . | 1709 |
| 40.3.14 | Combined 3-phase PWM mode . . . . . | 1710 |
| 40.3.15 | Complementary outputs and dead-time insertion . . . . . | 1711 |
| 40.3.16 | Using the break function . . . . . | 1713 |
| 40.3.17 | Bidirectional break inputs . . . . . | 1719 |
| 40.3.18 | Clearing the OCxREF signal on an external event . . . . . | 1719 |
| 40.3.19 | 6-step PWM generation . . . . . | 1721 |
| 40.3.20 | One-pulse mode . . . . . | 1722 |
| 40.3.21 | Retriggerable one pulse mode . . . . . | 1723 |
| 40.3.22 | Encoder interface mode . . . . . | 1724 |
| 40.3.23 | UIF bit remapping . . . . . | 1726 |
| 40.3.24 | Timer input XOR function . . . . . | 1727 |
| 40.3.25 | Interfacing with Hall sensors . . . . . | 1727 |
| 40.3.26 | Timer synchronization . . . . . | 1730 |
| 40.3.27 | ADC synchronization . . . . . | 1734 |
| 40.3.28 | DMA burst mode . . . . . | 1734 |
| 40.3.29 | Debug mode . . . . . | 1735 |
| 40.4 | TIM1/TIM8 registers . . . . . | 1736 |
| 40.4.1 | TIMx control register 1 (TIMx_CR1)(x = 1, 8) . . . . . | 1736 |
| 40.4.2 | TIMx control register 2 (TIMx_CR2)(x = 1, 8) . . . . . | 1737 |
| 40.4.3 | TIMx slave mode control register (TIMx_SMCR)(x = 1, 8) . . . . . | 1740 |
| 40.4.4 | TIMx DMA/interrupt enable register (TIMx_DIER)(x = 1, 8) . . . . . | 1742 |
| 40.4.5 | TIMx status register (TIMx_SR)(x = 1, 8) . . . . . | 1744 |
| 40.4.6 | TIMx event generation register (TIMx_EGR)(x = 1, 8) . . . . . | 1746 |
| 40.4.7 | TIMx capture/compare mode register 1(TIMx_CCMR1)(x = 1, 8) . . . | 1747 |
| 40.4.8 | TIMx capture/compare mode register 1 [alternate] (TIMx_CCMR1)(x = 1, 8) . . . . . | 1748 |
| 40.4.9 | TIMx capture/compare mode register 2 (TIMx_CCMR2)(x = 1, 8) . . | 1751 |
| 40.4.10 | TIMx capture/compare mode register 2 [alternate] (TIMx_CCMR2)(x = 1, 8) . . . . . | 1752 |
| 40.4.11 | TIMx capture/compare enable register (TIMx_CCER)(x = 1, 8) . . . . . | 1754 |
| 40.4.12 | TIMx counter (TIMx_CNT)(x = 1, 8) . . . . . | 1757 |
| 40.4.13 | TIMx prescaler (TIMx_PSC)(x = 1, 8) . . . . . | 1757 |
| 40.4.14 | TIMx auto-reload register (TIMx_ARR)(x = 1, 8) . . . . . | 1757 |
| 40.4.15 | TIMx repetition counter register (TIMx_RCR)(x = 1, 8) . . . . . | 1758 |
| 40.4.16 | TIMx capture/compare register 1 (TIMx_CCR1)(x = 1, 8) . . . . . | 1758 |
| 40.4.17 | TIMx capture/compare register 2 (TIMx_CCR2)(x = 1, 8) . . . . . | 1759 |
| 40.4.18 | TIMx capture/compare register 3 (TIMx_CCR3)(x = 1, 8) . . . . . | 1759 |
| 40.4.19 | TIMx capture/compare register 4 (TIMx_CCR4)(x = 1, 8) . . . . . | 1760 |
| 40.4.20 | TIMx break and dead-time register (TIMx_BDTR)(x = 1, 8) . . . . . | 1760 |
| 40.4.21 | TIMx DMA control register (TIMx_DCR)(x = 1, 8) . . . . . | 1763 |
| 40.4.22 | TIMx DMA address for full transfer (TIMx_DMAR)(x = 1, 8) . . . . . | 1764 |
| 40.4.23 | TIMx capture/compare mode register 3 (TIMx_CCMR3)(x = 1, 8) . . . . . | 1765 |
| 40.4.24 | TIMx capture/compare register 5 (TIMx_CCR5)(x = 1, 8) . . . . . | 1766 |
| 40.4.25 | TIMx capture/compare register 6 (TIMx_CCR6)(x = 1, 8) . . . . . | 1767 |
| 40.4.26 | TIM1 alternate function option register 1 (TIM1_AF1) . . . . . | 1767 |
| 40.4.27 | TIM1 Alternate function register 2 (TIM1_AF2) . . . . . | 1769 |
| 40.4.28 | TIM8 Alternate function option register 1 (TIM8_AF1) . . . . . | 1770 |
| 40.4.29 | TIM8 Alternate function option register 2 (TIM8_AF2) . . . . . | 1772 |
| 40.4.30 | TIM1 timer input selection register (TIM1_TISEL) . . . . . | 1774 |
| 40.4.31 | TIM8 timer input selection register (TIM8_TISEL) . . . . . | 1774 |
| 40.4.32 | TIM1 register map . . . . . | 1776 |
| 40.4.33 | TIM8 register map . . . . . | 1778 |
| 41 | General-purpose timers (TIM2/TIM3/TIM4/TIM5) . . . . . | 1781 |
| 41.1 | TIM2/TIM3/TIM4/TIM5 introduction . . . . . | 1781 |
| 41.2 | TIM2/TIM3/TIM4/TIM5 main features . . . . . | 1781 |
| 41.3 | TIM2/TIM3/TIM4/TIM5 functional description . . . . . | 1783 |
| 41.3.1 | Time-base unit . . . . . | 1783 |
| 41.3.2 | Counter modes . . . . . | 1785 |
| 41.3.3 | Clock selection . . . . . | 1795 |
| 41.3.4 | Capture/Compare channels . . . . . | 1799 |
| 41.3.5 | Input capture mode . . . . . | 1800 |
| 41.3.6 | PWM input mode . . . . . | 1801 |
| 41.3.7 | Forced output mode . . . . . | 1802 |
| 41.3.8 | Output compare mode . . . . . | 1803 |
| 41.3.9 | PWM mode . . . . . | 1804 |
| 41.3.10 | Asymmetric PWM mode . . . . . | 1807 |
| 41.3.11 | Combined PWM mode . . . . . | 1808 |
| 41.3.12 | Clearing the OCxREF signal on an external event . . . . . | 1809 |
| 41.3.13 | One-pulse mode . . . . . | 1811 |
| 41.3.14 | Retriggerable one pulse mode . . . . . | 1812 |
| 41.3.15 | Encoder interface mode . . . . . | 1813 |
| 41.3.16 | UIF bit remapping . . . . . | 1815 |
| 41.3.17 | Timer input XOR function . . . . . | 1815 |
| 41.3.18 | Timers and external trigger synchronization . . . . . | 1816 |
| 41.3.19 | Timer synchronization . . . . . | 1819 |
| 41.3.20 | DMA burst mode . . . . . | 1824 |
| 41.3.21 | Debug mode . . . . . | 1825 |
| 41.4 | TIM2/TIM3/TIM4/TIM5 registers . . . . . | 1826 |
| 41.4.1 | TIMx control register 1 (TIMx_CR1)(x = 2 to 5) . . . . . | 1826 |
| 41.4.2 | TIMx control register 2 (TIMx_CR2)(x = 2 to 5) . . . . . | 1827 |
| 41.4.3 | TIMx slave mode control register (TIMx_SMCR)(x = 2 to 5) . . . . . | 1829 |
| 41.4.4 | TIMx DMA/Interrupt enable register (TIMx_DIER)(x = 2 to 5) . . . . . | 1832 |
| 41.4.5 | TIMx status register (TIMx_SR)(x = 2 to 5) . . . . . | 1833 |
| 41.4.6 | TIMx event generation register (TIMx_EGR)(x = 2 to 5) . . . . . | 1834 |
| 41.4.7 | TIMx capture/compare mode register 1 (TIMx_CCMR1)(x = 2 to 5) . . . . . | 1836 |
| 41.4.8 | TIMx capture/compare mode register 1 [alternate] (TIMx_CCMR1) (x = 2 to 5) . . . . . | 1838 |
| 41.4.9 | TIMx capture/compare mode register 2 (TIMx_CCMR2)(x = 2 to 5) . . . . . | 1840 |
| 41.4.10 | TIMx capture/compare mode register 2 [alternate] (TIMx_CCMR2) (x = 2 to 5) . . . . . | 1841 |
| 41.4.11 | TIMx capture/compare enable register (TIMx_CCER)(x = 2 to 5) . . . . . | 1842 |
| 41.4.12 | TIMx counter (TIMx_CNT)(x = 2 to 5) . . . . . | 1843 |
| 41.4.13 | TIMx counter [alternate] (TIMx_CNT)(x = 2 to 5) . . . . . | 1844 |
| 41.4.14 | TIMx prescaler (TIMx_PSC)(x = 2 to 5) . . . . . | 1844 |
| 41.4.15 | TIMx auto-reload register (TIMx_ARR)(x = 2 to 5) . . . . . | 1845 |
| 41.4.16 | TIMx capture/compare register 1 (TIMx_CCR1)(x = 2 to 5) . . . . . | 1845 |
| 41.4.17 | TIMx capture/compare register 2 (TIMx_CCR2)(x = 2 to 5) . . . . . | 1846 |
| 41.4.18 | TIMx capture/compare register 3 (TIMx_CCR3)(x = 2 to 5) . . . . . | 1846 |
| 41.4.19 | TIMx capture/compare register 4 (TIMx_CCR4)(x = 2 to 5) . . . . . | 1847 |
| 41.4.20 | TIMx DMA control register (TIMx_DCR)(x = 2 to 5) . . . . . | 1848 |
| 41.4.21 | TIMx DMA address for full transfer (TIMx_DMAR)(x = 2 to 5) . . . . . | 1848 |
| 41.4.22 | TIM2 alternate function option register 1 (TIM2_AF1) . . . . . | 1849 |
| 41.4.23 | TIM3 alternate function option register 1 (TIM3_AF1) . . . . . | 1849 |
| 41.4.24 | TIM4 alternate function option register 1 (TIM4_AF1) . . . . . | 1850 |
| 41.4.25 | TIM5 alternate function option register 1 (TIM5_AF1) . . . . . | 1850 |
| 41.4.26 | TIM2 timer input selection register (TIM2_TISEL) . . . . . | 1851 |
| 41.4.27 | TIM3 timer input selection register (TIM3_TISEL) . . . . . | 1851 |
| 41.4.28 | TIM4 timer input selection register (TIM4_TISEL) . . . . . | 1852 |
| 41.4.29 | TIM5 timer input selection register (TIM5_TISEL) . . . . . | 1853 |
| 41.4.30 | TIMx register map . . . . . | 1855 |
| 42 | General-purpose timers (TIM12/TIM13/TIM14) . . . . . | 1858 |
| 42.1 | TIM12/TIM13/TIM14 introduction . . . . . | 1858 |
| 42.2 | TIM12/TIM13/TIM14 main features . . . . . | 1858 |
| 42.2.1 | TIM12 main features . . . . . | 1858 |
| 42.2.2 | TIM13/TIM14 main features . . . . . | 1859 |
| 42.3 | TIM12/TIM13/TIM14 functional description . . . . . | 1861 |
| 42.3.1 | Time-base unit . . . . . | 1861 |
| 42.3.2 | Counter modes . . . . . | 1863 |
| 42.3.3 | Clock selection . . . . . | 1866 |
| 42.3.4 | Capture/compare channels . . . . . | 1868 |
| 42.3.5 | Input capture mode . . . . . | 1870 |
| 42.3.6 | PWM input mode (only for TIM12) . . . . . | 1871 |
| 42.3.7 | Forced output mode . . . . . | 1872 |
| 42.3.8 | Output compare mode . . . . . | 1873 |
| 42.3.9 | PWM mode . . . . . | 1874 |
| 42.3.10 | Combined PWM mode (TIM12 only) . . . . . | 1875 |
| 42.3.11 | One-pulse mode . . . . . | 1876 |
| 42.3.12 | Retriggerable one pulse mode (TIM12 only) . . . . . | 1878 |
| 42.3.13 | UIF bit remapping . . . . . | 1878 |
| 42.3.14 | Timer input XOR function . . . . . | 1879 |
| 42.3.15 | TIM12 external trigger synchronization . . . . . | 1879 |
| 42.3.16 | Slave mode – combined reset + trigger mode . . . . . | 1882 |
| 42.3.17 | Timer synchronization (TIM12) . . . . . | 1883 |
| 42.3.18 | Using timer output as trigger for other timers (TIM13/TIM14) . . . . . | 1883 |
| 42.3.19 | Debug mode . . . . . | 1883 |
| 42.4 | TIM12 registers . . . . . | 1883 |
| 42.4.1 | TIM12 control register 1 (TIM12_CR1) . . . . . | 1883 |
| 42.4.2 | TIM12 control register 2 (TIM12_CR2) . . . . . | 1884 |
| 42.4.3 | TIM12 slave mode control register (TIM12_SMCR) . . . . . | 1885 |
| 42.4.4 | TIM12 Interrupt enable register (TIM12_DIER) . . . . . | 1887 |
| 42.4.5 | TIM12 status register (TIM12_SR) . . . . . | 1887 |
| 42.4.6 | TIM12 event generation register (TIM12_EGR) . . . . . | 1888 |
| 42.4.7 | TIM12 capture/compare mode register 1 (TIM12_CCMR1) . . . . . | 1889 |
| 42.4.8 | TIM12 capture/compare mode register 1 [alternate] (TIM12_CCMR1) . . . . . | 1890 |
| 42.4.9 | TIM12 capture/compare enable register (TIM12_CCER) . . . . . | 1893 |
| 42.4.10 | TIM12 counter (TIM12_CNT) . . . . . | 1894 |
| 42.4.11 | TIM12 prescaler (TIM12_PSC) . . . . . | 1895 |
| 42.4.12 | TIM12 auto-reload register (TIM12_ARR) . . . . . | 1895 |
| 42.4.13 | TIM12 capture/compare register 1 (TIM12_CCR1) . . . . . | 1895 |
| 42.4.14 | TIM12 capture/compare register 2 (TIM12_CCR2) . . . . . | 1896 |
| 42.4.15 | TIM12 timer input selection register (TIM12_TISEL) . . . . . | 1896 |
| 42.4.16 | TIM12 register map . . . . . | 1897 |
| 42.5 | TIM13/TIM14 registers . . . . . | 1899 |
| 42.5.1 | TIMx control register 1 (TIMx_CR1)(x = 13 to 14) . . . . . | 1899 |
| 42.5.2 | TIMx Interrupt enable register (TIMx_DIER)(x = 13 to 14) . . . . . | 1900 |
| 42.5.3 | TIMx status register (TIMx_SR)(x = 13 to 14) . . . . . | 1900 |
| 42.5.4 | TIMx event generation register (TIMx_EGR)(x = 13 to 14) . . . . . | 1901 |
| 42.5.5 | TIMx capture/compare mode register 1 (TIMx_CCMR1)(x = 13 to 14) . . . . . | 1902 |
| 42.5.6 | TIMx capture/compare mode register 1 [alternate] (TIMx_CCMR1)(x = 13 to 14) . . . . . | 1903 |
| 42.5.7 | TIMx capture/compare enable register (TIMx_CCER)(x = 13 to 14) . . . . . | 1905 |
| 42.5.8 | TIMx counter (TIMx_CNT)(x = 13 to 14) . . . . . | 1906 |
| 42.5.9 | TIMx prescaler (TIMx_PSC)(x = 13 to 14) . . . . . | 1907 |
| 42.5.10 | TIMx auto-reload register (TIMx_ARR)(x = 13 to 14) . . . . . | 1907 |
| 42.5.11 | TIMx capture/compare register 1 (TIMx_CCR1)(x = 13 to 14) . . . . . | 1907 |
| 42.5.12 | TIM13 timer input selection register (TIM13_TISEL) . . . . . | 1908 |
| 42.5.13 | TIM14 timer input selection register (TIM14_TISEL) . . . . . | 1908 |
| 42.5.14 | TIM13/TIM14 register map . . . . . | 1909 |
| 43 | General-purpose timers (TIM15/TIM16/TIM17) . . . . . | 1911 |
| 43.1 | TIM15/TIM16/TIM17 introduction . . . . . | 1911 |
| 43.2 | TIM15 main features . . . . . | 1911 |
| 43.3 | TIM16/TIM17 main features . . . . . | 1912 |
| 43.4 | TIM15/TIM16/TIM17 functional description . . . . . | 1915 |
| 43.4.1 | Time-base unit . . . . . | 1915 |
| 43.4.2 | Counter modes . . . . . | 1917 |
| 43.4.3 | Repetition counter . . . . . | 1921 |
| 43.4.4 | Clock selection . . . . . | 1922 |
| 43.4.5 | Capture/compare channels . . . . . | 1924 |
| 43.4.6 | Input capture mode . . . . . | 1926 |
| 43.4.7 | PWM input mode (only for TIM15) . . . . . | 1927 |
| 43.4.8 | Forced output mode . . . . . | 1928 |
| 43.4.9 | Output compare mode . . . . . | 1929 |
| 43.4.10 | PWM mode . . . . . | 1930 |
| 43.4.11 | Combined PWM mode (TIM15 only) . . . . . | 1931 |
| 43.4.12 | Complementary outputs and dead-time insertion . . . . . | 1932 |
| 43.4.13 | Using the break function . . . . . | 1934 |
| 43.4.14 | 6-step PWM generation . . . . . | 1939 |
| 43.4.15 | One-pulse mode . . . . . | 1940 |
| 43.4.16 | Retriggerable one pulse mode (TIM15 only) . . . . . | 1941 |
| 43.4.17 | UIF bit remapping . . . . . | 1942 |
| 43.4.18 | Timer input XOR function (TIM15 only) . . . . . | 1943 |
| 43.4.19 | External trigger synchronization (TIM15 only) . . . . . | 1944 |
| 43.4.20 | Slave mode – combined reset + trigger mode . . . . . | 1946 |
| 43.4.21 | DMA burst mode . . . . . | 1946 |
| 43.4.22 | Timer synchronization (TIM15) . . . . . | 1948 |
| 43.4.23 | Using timer output as trigger for other timers (TIM16/TIM17) . . . . . | 1948 |
| 43.4.24 | Debug mode . . . . . | 1948 |
| 43.5 | TIM15 registers . . . . . | 1949 |
| 43.5.1 | TIM15 control register 1 (TIM15_CR1) . . . . . | 1949 |
| 43.5.2 | TIM15 control register 2 (TIM15_CR2) . . . . . | 1950 |
| 43.5.3 | TIM15 slave mode control register (TIM15_SMCR) . . . . . | 1952 |
| 43.5.4 | TIM15 DMA/interrupt enable register (TIM15_DIER) . . . . . | 1953 |
| 43.5.5 | TIM15 status register (TIM15_SR) . . . . . | 1954 |
| 43.5.6 | TIM15 event generation register (TIM15_EGR) . . . . . | 1956 |
| 43.5.7 | TIM15 capture/compare mode register 1 (TIM15_CCMR1) . . . . . | 1957 |
| 43.5.8 | TIM15 capture/compare mode register 1 [alternate] (TIM15_CCMR1) . . . . . | 1958 |
| 43.5.9 | TIM15 capture/compare enable register (TIM15_CCER) . . . . . | 1961 |
| 43.5.10 | TIM15 counter (TIM15_CNT) . . . . . | 1964 |
| 43.5.11 | TIM15 prescaler (TIM15_PSC) . . . . . | 1964 |
| 43.5.12 | TIM15 auto-reload register (TIM15_ARR) . . . . . | 1964 |
| 43.5.13 | TIM15 repetition counter register (TIM15_RCR) . . . . . | 1965 |
| 43.5.14 | TIM15 capture/compare register 1 (TIM15_CCR1) . . . . . | 1965 |
| 43.5.15 | TIM15 capture/compare register 2 (TIM15_CCR2) . . . . . | 1966 |
| 43.5.16 | TIM15 break and dead-time register (TIM15_BDTR) . . . . . | 1966 |
| 43.5.17 | TIM15 DMA control register (TIM15_DCR) . . . . . | 1969 |
| 43.5.18 | TIM15 DMA address for full transfer (TIM15_DMAR) . . . . . | 1969 |
| 43.5.19 | TIM15 alternate register 1 (TIM15_AF1) . . . . . | 1970 |
| 43.5.20 | TIM15 input selection register (TIM15_TISEL) . . . . . | 1971 |
| 43.5.21 | TIM15 register map . . . . . | 1972 |
| 43.6 | TIM16/TIM17 registers . . . . . | 1974 |
| 43.6.1 | TIMx control register 1 (TIMx_CR1)(x = 16 to 17) . . . . . | 1974 |
| 43.6.2 | TIMx control register 2 (TIMx_CR2)(x = 16 to 17) . . . . . | 1975 |
| 43.6.3 | TIMx DMA/interrupt enable register (TIMx_DIER)(x = 16 to 17) . . . . . | 1976 |
| 43.6.4 | TIMx status register (TIMx_SR)(x = 16 to 17) . . . . . | 1977 |
| 43.6.5 | TIMx event generation register (TIMx_EGR)(x = 16 to 17) . . . . . | 1978 |
| 43.6.6 | TIMx capture/compare mode register 1 (TIMx_CCMR1)(x = 16 to 17) . . . . . | 1979 |
| 43.6.7 | TIMx capture/compare mode register 1 [alternate] (TIMx_CCMR1)(x = 16 to 17) . . . . . | 1980 |
| 43.6.8 | TIMx capture/compare enable register (TIMx_CCER)(x = 16 to 17) . . . . . | 1982 |
| 43.6.9 | TIMx counter (TIMx_CNT)(x = 16 to 17) . . . . . | 1984 |
| 43.6.10 | TIMx prescaler (TIMx_PSC)(x = 16 to 17) . . . . . | 1985 |
| 43.6.11 | TIMx auto-reload register (TIMx_ARR)(x = 16 to 17) . . . . . | 1985 |
| 43.6.12 | TIMx repetition counter register (TIMx_RCR)(x = 16 to 17) . . . . . | 1986 |
| 43.6.13 | TIMx capture/compare register 1 (TIMx_CCR1)(x = 16 to 17) . . . . . | 1986 |
| 43.6.14 | TIMx break and dead-time register (TIMx_BDTR)(x = 16 to 17) . . . . . | 1987 |
| 43.6.15 | TIMx DMA control register (TIMx_DCR)(x = 16 to 17) . . . . . | 1989 |
| 43.6.16 | TIMx DMA address for full transfer (TIMx_DMAR)(x = 16 to 17) . . . . . | 1990 |
| 43.6.17 | TIM16 alternate function register 1 (TIM16_AF1) . . . . . | 1991 |
| 43.6.18 | TIM16 input selection register (TIM16_TISEL) . . . . . | 1992 |
| 43.6.19 | TIM17 alternate function register 1 (TIM17_AF1) . . . . . | 1993 |
| 43.6.20 | TIM17 input selection register (TIM17_TISEL) . . . . . | 1994 |
| 43.6.21 | TIM16/TIM17 register map . . . . . | 1995 |
| 44 | Basic timers (TIM6/TIM7) . . . . . | 1997 |
| 44.1 | TIM6/TIM7 introduction . . . . . | 1997 |
| 44.2 | TIM6/TIM7 main features . . . . . | 1997 |
| 44.3 | TIM6/TIM7 functional description . . . . . | 1998 |
| 44.3.1 | Time-base unit . . . . . | 1998 |
| 44.3.2 | Counting mode . . . . . | 2000 |
| 44.3.3 | UIF bit remapping . . . . . | 2003 |
| 44.3.4 | Clock source . . . . . | 2003 |
| 44.3.5 | Debug mode . . . . . | 2004 |
| 44.4 | TIM6/TIM7 registers . . . . . | 2004 |
| 44.4.1 | TIMx control register 1 (TIMx_CR1)(x = 6 to 7) . . . . . | 2004 |
| 44.4.2 | TIMx control register 2 (TIMx_CR2)(x = 6 to 7) . . . . . | 2006 |
| 44.4.3 | TIMx DMA/Interrupt enable register (TIMx_DIER)(x = 6 to 7) . . . . . | 2006 |
| 44.4.4 | TIMx status register (TIMx_SR)(x = 6 to 7) . . . . . | 2007 |
| 44.4.5 | TIMx event generation register (TIMx_EGR)(x = 6 to 7) . . . . . | 2007 |
| 44.4.6 | TIMx counter (TIMx_CNT)(x = 6 to 7) . . . . . | 2007 |
| 44.4.7 | TIMx prescaler (TIMx_PSC)(x = 6 to 7) . . . . . | 2008 |
| 44.4.8 | TIMx auto-reload register (TIMx_ARR)(x = 6 to 7) . . . . . | 2008 |
| 44.4.9 | TIMx register map . . . . . | 2009 |
| 45 | Low-power timer (LPTIM) . . . . . | 2010 |
| 45.1 | Introduction . . . . . | 2010 |
| 45.2 | LPTIM main features . . . . . | 2010 |
| 45.3 | LPTIM implementation . . . . . | 2011 |
| 45.4 | LPTIM functional description . . . . . | 2011 |
| 45.4.1 | LPTIM block diagram . . . . . | 2011 |
| 45.4.2 | LPTIM pins and internal signals . . . . . | 2013 |
| 45.4.3 | LPTIM input and trigger mapping . . . . . | 2013 |
| 45.4.4 | LPTIM reset and clocks . . . . . | 2016 |
| 45.4.5 | Glitch filter . . . . . | 2016 |
| 45.4.6 | Prescaler . . . . . | 2017 |
| 45.4.7 | Trigger multiplexer . . . . . | 2018 |
| 45.4.8 | Operating mode . . . . . | 2018 |
| 45.4.9 | Timeout function . . . . . | 2020 |
| 45.4.10 | Waveform generation . . . . . | 2020 |
| 45.4.11 | Register update . . . . . | 2021 |
| 45.4.12 | Counter mode . . . . . | 2022 |
| 45.4.13 | Timer enable . . . . . | 2022 |
| 45.4.14 | Timer counter reset . . . . . | 2023 |
| 45.4.15 | Encoder mode . . . . . | 2023 |
| 45.4.16 | Debug mode . . . . . | 2025 |
| 45.5 | LPTIM low-power modes . . . . . | 2025 |
| 45.6 | LPTIM interrupts . . . . . | 2026 |
| 45.7 | LPTIM registers . . . . . | 2026 |
| 45.7.1 | LPTIM interrupt and status register (LPTIM_ISR) . . . . . | 2027 |
| 45.7.2 | LPTIM interrupt clear register (LPTIM_ICR) . . . . . | 2028 |
| 45.7.3 | LPTIM interrupt enable register (LPTIM_IER) . . . . . | 2028 |
| 45.7.4 | LPTIM configuration register (LPTIM_CFGR) . . . . . | 2029 |
| 45.7.5 | LPTIM control register (LPTIM_CR) . . . . . | 2032 |
| 45.7.6 | LPTIM compare register (LPTIM_CMP) . . . . . | 2034 |
| 45.7.7 | LPTIM autoreload register (LPTIM_ARR) . . . . . | 2034 |
| 45.7.8 | LPTIM counter register (LPTIM_CNT) . . . . . | 2035 |
| 45.7.9 | LPTIM configuration register 2 (LPTIM_CFGR2) . . . . . | 2035 |
| 45.7.10 | LPTIM3 configuration register 2 (LPTIM3_CFGR2) . . . . . | 2036 |
| 45.7.11 | LPTIM register map . . . . . | 2037 |
| 46 | Watchdog overview . . . . . | 2038 |
| 46.1 | Watchdog main features . . . . . | 2038 |
| 46.2 | Watchdog brief functional description . . . . . | 2038 |
| 46.2.1 | Enabling the watchdog clock . . . . . | 2040 |
| 46.2.2 | Window watchdog reset scope . . . . . | 2040 |
| 46.2.3 | Watchdog behavior versus CPU state . . . . . | 2040 |
| 47 | System window watchdog (WWDG) . . . . . | 2041 |
| 47.1 | Introduction . . . . . | 2041 |
| 47.2 | WWDG main features . . . . . | 2041 |
| 47.3 | WWDG functional description . . . . . | 2041 |
| 47.3.1 | WWDG block diagram . . . . . | 2042 |
| 47.3.2 | WWDG internal signals . . . . . | 2042 |
| 47.3.3 | Enabling the watchdog . . . . . | 2042 |
| 47.3.4 | Controlling the down-counter . . . . . | 2042 |
| 47.3.5 | How to program the watchdog timeout . . . . . | 2043 |
| 47.3.6 | Debug mode . . . . . | 2044 |
| 47.4 | WWDG interrupts . . . . . | 2044 |
| 47.5 | WWDG registers . . . . . | 2044 |
| 47.5.1 | WWDG control register (WWDG_CR) . . . . . | 2045 |
| 47.5.2 | WWDG configuration register (WWDG_CFR) . . . . . | 2045 |
| 47.5.3 | WWDG status register (WWDG_SR) . . . . . | 2046 |
| 47.5.4 | WWDG register map . . . . . | 2046 |
| 48 | Independent watchdog (IWDG) . . . . . | 2047 |
| 48.1 | Introduction . . . . . | 2047 |
| 48.2 | IWDG main features . . . . . | 2047 |
| 48.3 | IWDG functional description . . . . . | 2047 |
| 48.3.1 | IWDG block diagram . . . . . | 2047 |
| 48.3.2 | IWDG internal signals . . . . . | 2048 |
| 48.3.3 | Window option . . . . . | 2048 |
| 48.3.4 | Hardware watchdog . . . . . | 2049 |
| 48.3.5 | Low-power freeze . . . . . | 2049 |
| 48.3.6 | Register access protection . . . . . | 2049 |
| 48.3.7 | Debug mode . . . . . | 2049 |
| 48.4 | IWDG registers . . . . . | 2050 |
| 48.4.1 | IWDG key register (IWDG_KR) . . . . . | 2050 |
| 48.4.2 | IWDG prescaler register (IWDG_PR) . . . . . | 2051 |
| 48.4.3 | IWDG reload register (IWDG_RLR) . . . . . | 2052 |
| 48.4.4 | IWDG status register (IWDG_SR) . . . . . | 2053 |
| 48.4.5 | IWDG window register (IWDG_WINR) . . . . . | 2054 |
| 48.4.6 | IWDG register map . . . . . | 2055 |
| 49 | Real-time clock (RTC) . . . . . | 2056 |
| 49.1 | Introduction . . . . . | 2056 |
| 49.2 | RTC main features . . . . . | 2057 |
| 49.3 | RTC functional description . . . . . | 2057 |
| 49.3.1 | RTC block diagram . . . . . | 2057 |
| 49.3.2 | RTC pins and internal signals . . . . . | 2060 |
| 49.3.3 | GPIOs controlled by the RTC . . . . . | 2060 |
| 49.3.4 | Clock and prescalers . . . . . | 2062 |
| 49.3.5 | Real-time clock and calendar . . . . . | 2063 |
| 49.3.6 | Programmable alarms . . . . . | 2063 |
| 49.3.7 | Periodic auto-wake-up . . . . . | 2063 |
| 49.3.8 | RTC initialization and configuration . . . . . | 2064 |
| 49.3.9 | Reading the calendar . . . . . | 2066 |
| 49.3.10 | Resetting the RTC . . . . . | 2067 |
| 49.3.11 | RTC synchronization . . . . . | 2067 |
| 49.3.12 | RTC reference clock detection . . . . . | 2068 |
| 49.3.13 | RTC smooth digital calibration . . . . . | 2068 |
| 49.3.14 | Time-stamp function . . . . . | 2070 |
| 49.3.15 | Tamper detection . . . . . | 2071 |
| 49.3.16 | Calibration clock output . . . . . | 2073 |
| 49.3.17 | Alarm output . . . . . | 2074 |
| 49.4 | RTC low-power modes . . . . . | 2074 |
| 49.5 | RTC interrupts . . . . . | 2074 |
| 49.6 | RTC registers . . . . . | 2075 |
| 49.6.1 | RTC time register (RTC_TR) . . . . . | 2075 |
| 49.6.2 | RTC date register (RTC_DR) . . . . . | 2076 |
| 49.6.3 | RTC control register (RTC_CR) . . . . . | 2078 |
| 49.6.4 | RTC initialization and status register (RTC_ISR) . . . . . | 2081 |
| 49.6.5 | RTC prescaler register (RTC_PRER) . . . . . | 2084 |
| 49.6.6 | RTC wake-up timer register (RTC_WUTR) . . . . . | 2085 |
| 49.6.7 | RTC alarm A register (RTC_ALRMAR) . . . . . | 2086 |
| 49.6.8 | RTC alarm B register (RTC_ALRMBR) . . . . . | 2087 |
| 49.6.9 | RTC write protection register (RTC_WPR) . . . . . | 2088 |
| 49.6.10 | RTC sub second register (RTC_SSR) . . . . . | 2088 |
| 49.6.11 | RTC shift control register (RTC_SHIFTR) . . . . . | 2089 |
| 49.6.12 | RTC timestamp time register (RTC_TSTR) . . . . . | 2090 |
| 49.6.13 | RTC timestamp date register (RTC_TSDR) . . . . . | 2091 |
| 49.6.14 | RTC time-stamp sub second register (RTC_TSSSR) . . . . . | 2092 |
| 49.6.15 | RTC calibration register (RTC_CALR) . . . . . | 2093 |
| 49.6.16 | RTC tamper configuration register (RTC_TAMPCR) . . . . . | 2094 |
| 49.6.17 | RTC alarm A sub second register (RTC_ALRMASSR) . . . . . | 2097 |
| 49.6.18 | RTC alarm B sub second register (RTC_ALRMBSSR) . . . . . | 2098 |
| 49.6.19 | RTC option register (RTC_OR) . . . . . | 2099 |
| 49.6.20 | RTC backup registers (RTC_BKPxR) . . . . . | 2099 |
| 49.6.21 | RTC register map . . . . . | 2100 |
| 50 | Inter-integrated circuit (I2C) interface . . . . . | 2102 |
| 50.1 | Introduction . . . . . | 2102 |
| 50.2 | I2C main features . . . . . | 2102 |
| 50.3 | I2C implementation . . . . . | 2103 |
| 50.4 | I2C functional description . . . . . | 2103 |
| 50.4.1 | I2C block diagram . . . . . | 2104 |
| 50.4.2 | I2C pins and internal signals . . . . . | 2105 |
| 50.4.3 | I2C clock requirements . . . . . | 2105 |
| 50.4.4 | Mode selection . . . . . | 2105 |
| 50.4.5 | I2C initialization . . . . . | 2106 |
| 50.4.6 | Software reset . . . . . | 2111 |
| 50.4.7 | Data transfer . . . . . | 2112 |
| 50.4.8 | I2C slave mode . . . . . | 2114 |
| 50.4.9 | I2C master mode . . . . . | 2123 |
| 50.4.10 | I2C_TIMINGR register configuration examples . . . . . | 2134 |
| 50.4.11 | SMBus specific features . . . . . | 2136 |
| 50.4.12 | SMBus initialization . . . . . | 2139 |
| 50.4.13 | SMBus: I2C_TIMEOUTR register configuration examples . . . . . | 2141 |
| 50.4.14 | SMBus slave mode . . . . . | 2141 |
| 50.4.15 | Wake-up from Stop mode on address match . . . . . | 2148 |
| 50.4.16 | Error conditions . . . . . | 2149 |
| 50.4.17 | DMA requests . . . . . | 2151 |
| 50.4.18 | Debug mode ..... | 2151 |
| 50.5 | I2C low-power modes ..... | 2152 |
| 50.6 | I2C interrupts ..... | 2153 |
| 50.7 | I2C registers ..... | 2155 |
| 50.7.1 | I2C control register 1 (I2C_CR1) ..... | 2155 |
| 50.7.2 | I2C control register 2 (I2C_CR2) ..... | 2157 |
| 50.7.3 | I2C own address 1 register (I2C_OAR1) ..... | 2159 |
| 50.7.4 | I2C own address 2 register (I2C_OAR2) ..... | 2160 |
| 50.7.5 | I2C timing register (I2C_TIMINGR) ..... | 2161 |
| 50.7.6 | I2C timeout register (I2C_TIMEOUTR) ..... | 2162 |
| 50.7.7 | I2C interrupt and status register (I2C_ISR) ..... | 2163 |
| 50.7.8 | I2C interrupt clear register (I2C_ICR) ..... | 2165 |
| 50.7.9 | I2C PEC register (I2C_PECR) ..... | 2166 |
| 50.7.10 | I2C receive data register (I2C_RXDR) ..... | 2167 |
| 50.7.11 | I2C transmit data register (I2C_TXDR) ..... | 2167 |
| 50.7.12 | I2C register map ..... | 2168 |
| 51 | Universal synchronous/asynchronous receiver transmitter (USART/UART) ..... | 2170 |
| 51.1 | USART introduction ..... | 2170 |
| 51.2 | USART main features ..... | 2171 |
| 51.3 | USART extended features ..... | 2172 |
| 51.4 | USART implementation ..... | 2172 |
| 51.5 | USART functional description ..... | 2173 |
| 51.5.1 | USART block diagram ..... | 2173 |
| 51.5.2 | USART signals ..... | 2174 |
| 51.5.3 | USART character description ..... | 2175 |
| 51.5.4 | USART FIFOs and thresholds ..... | 2177 |
| 51.5.5 | USART transmitter ..... | 2177 |
| 51.5.6 | USART receiver ..... | 2181 |
| 51.5.7 | USART baud rate generation ..... | 2188 |
| 51.5.8 | Tolerance of the USART receiver to clock deviation ..... | 2189 |
| 51.5.9 | USART auto baud rate detection ..... | 2191 |
| 51.5.10 | USART multiprocessor communication ..... | 2193 |
| 51.5.11 | USART Modbus communication ..... | 2195 |
| 51.5.12 | USART parity control ..... | 2196 |
| 51.5.13 | USART LIN (local interconnection network) mode . . . . . | 2197 |
| 51.5.14 | USART synchronous mode . . . . . | 2199 |
| 51.5.15 | USART single-wire Half-duplex communication . . . . . | 2203 |
| 51.5.16 | USART receiver timeout . . . . . | 2203 |
| 51.5.17 | USART Smartcard mode . . . . . | 2204 |
| 51.5.18 | USART IrDA SIR ENDEC block . . . . . | 2208 |
| 51.5.19 | Continuous communication using USART and DMA . . . . . | 2211 |
| 51.5.20 | RS232 Hardware flow control and RS485 Driver Enable . . . . . | 2213 |
| 51.5.21 | USART low-power management . . . . . | 2216 |
| 51.6 | USART in low-power modes . . . . . | 2219 |
| 51.7 | USART interrupts . . . . . | 2220 |
| 51.8 | USART registers . . . . . | 2221 |
| 51.8.1 | USART control register 1 (USART_CR1) . . . . . | 2221 |
| 51.8.2 | USART control register 1 [alternate] (USART_CR1) . . . . . | 2225 |
| 51.8.3 | USART control register 2 (USART_CR2) . . . . . | 2228 |
| 51.8.4 | USART control register 3 (USART_CR3) . . . . . | 2232 |
| 51.8.5 | USART baud rate register (USART_BRR) . . . . . | 2237 |
| 51.8.6 | USART guard time and prescaler register (USART_GTPR) . . . . . | 2237 |
| 51.8.7 | USART receiver timeout register (USART_RTOR) . . . . . | 2238 |
| 51.8.8 | USART request register (USART_RQR) . . . . . | 2239 |
| 51.8.9 | USART interrupt and status register (USART_ISR) . . . . . | 2240 |
| 51.8.10 | USART interrupt and status register [alternate] (USART_ISR) . . . . . | 2246 |
| 51.8.11 | USART interrupt flag clear register (USART_ICR) . . . . . | 2251 |
| 51.8.12 | USART receive data register (USART_RDR) . . . . . | 2253 |
| 51.8.13 | USART transmit data register (USART_TDR) . . . . . | 2253 |
| 51.8.14 | USART prescaler register (USART_PRESC) . . . . . | 2254 |
| 51.8.15 | USART register map . . . . . | 2255 |
| 52 | Low-power universal asynchronous receiver transmitter (LPUART) . . . . . | 2257 |
| 52.1 | LPUART introduction . . . . . | 2257 |
| 52.2 | LPUART main features . . . . . | 2258 |
| 52.3 | LPUART implementation . . . . . | 2259 |
| 52.4 | LPUART functional description . . . . . | 2260 |
| 52.4.1 | LPUART block diagram . . . . . | 2260 |
| 52.4.2 | LPUART signals . . . . . | 2261 |
| 52.4.3 | LPUART character description . . . . . | 2261 |
| 52.4.4 | LPUART FIFOs and thresholds . . . . . | 2262 |
| 52.4.5 | LPUART transmitter . . . . . | 2263 |
| 52.4.6 | LPUART receiver . . . . . | 2266 |
| 52.4.7 | LPUART baud rate generation . . . . . | 2270 |
| 52.4.8 | Tolerance of the LPUART receiver to clock deviation . . . . . | 2271 |
| 52.4.9 | LPUART multiprocessor communication . . . . . | 2272 |
| 52.4.10 | LPUART parity control . . . . . | 2274 |
| 52.4.11 | LPUART single-wire Half-duplex communication . . . . . | 2275 |
| 52.4.12 | Continuous communication using DMA and LPUART . . . . . | 2275 |
| 52.4.13 | RS232 Hardware flow control and RS485 Driver Enable . . . . . | 2278 |
| 52.4.14 | LPUART low-power management . . . . . | 2280 |
| 52.5 | LPUART in low-power modes . . . . . | 2283 |
| 52.6 | LPUART interrupts . . . . . | 2284 |
| 52.7 | LPUART registers . . . . . | 2285 |
| 52.7.1 | LPUART control register 1 (LPUART_CR1) . . . . . | 2285 |
| 52.7.2 | LPUART control register 1 [alternate] (LPUART_CR1) . . . . . | 2288 |
| 52.7.3 | LPUART control register 2 (LPUART_CR2) . . . . . | 2291 |
| 52.7.4 | LPUART control register 3 (LPUART_CR3) . . . . . | 2293 |
| 52.7.5 | LPUART baud rate register (LPUART_BRR) . . . . . | 2296 |
| 52.7.6 | LPUART request register (LPUART_RQR) . . . . . | 2297 |
| 52.7.7 | LPUART interrupt and status register (LPUART_ISR) . . . . . | 2297 |
| 52.7.8 | LPUART interrupt and status register [alternate] (LPUART_ISR) . . . . . | 2302 |
| 52.7.9 | LPUART interrupt flag clear register (LPUART_ICR) . . . . . | 2305 |
| 52.7.10 | LPUART receive data register (LPUART_RDR) . . . . . | 2306 |
| 52.7.11 | LPUART transmit data register (LPUART_TDR) . . . . . | 2306 |
| 52.7.12 | LPUART prescaler register (LPUART_PRESC) . . . . . | 2307 |
| 52.7.13 | LPUART register map . . . . . | 2308 |
| 53 | Serial peripheral interface (SPI) . . . . . | 2310 |
| 53.1 | Introduction . . . . . | 2310 |
| 53.2 | SPI main features . . . . . | 2311 |
| 53.3 | SPI implementation . . . . . | 2311 |
| 53.4 | SPI functional description . . . . . | 2312 |
| 53.4.1 | SPI block diagram . . . . . | 2312 |
| 53.4.2 | SPI signals . . . . . | 2313 |
| 53.4.3 | SPI communication general aspects . . . . . | 2314 |
| 53.4.4 | Communications between one master and one slave . . . . . | 2314 |
| 53.4.5 | Standard multislave communication . . . . . | 2316 |
| 53.4.6 | Multimaster communication . . . . . | 2319 |
| 53.4.7 | Slave select (SS) pin management . . . . . | 2319 |
| 53.4.8 | Communication formats . . . . . | 2323 |
| 53.4.9 | Configuration of SPI . . . . . | 2325 |
| 53.4.10 | Procedure for enabling SPI . . . . . | 2326 |
| 53.4.11 | SPI data transmission and reception procedures . . . . . | 2326 |
| 53.4.12 | Procedure for disabling the SPI . . . . . | 2331 |
| 53.4.13 | Data packing . . . . . | 2332 |
| 53.4.14 | Communication using DMA (direct memory addressing) . . . . . | 2333 |
| 53.5 | SPI specific modes and control . . . . . | 2335 |
| 53.5.1 | TI mode . . . . . | 2335 |
| 53.5.2 | SPI error flags . . . . . | 2335 |
| 53.5.3 | CRC computation . . . . . | 2339 |
| 53.6 | Low-power mode management . . . . . | 2340 |
| 53.7 | SPI wakeup and interrupts . . . . . | 2343 |
| 53.8 | I2S main features . . . . . | 2344 |
| 53.9 | I2S functional description . . . . . | 2345 |
| 53.9.1 | I2S general description . . . . . | 2345 |
| 53.9.2 | Pin sharing with SPI function . . . . . | 2345 |
| 53.9.3 | Bitfields usable in I2S/PCM mode . . . . . | 2346 |
| 53.9.4 | Slave and master modes . . . . . | 2347 |
| 53.9.5 | Supported audio protocols . . . . . | 2347 |
| 53.9.6 | Additional Serial Interface Flexibility . . . . . | 2353 |
| 53.9.7 | Startup sequence . . . . . | 2355 |
| 53.9.8 | Stop sequence . . . . . | 2357 |
| 53.9.9 | Clock generator . . . . . | 2357 |
| 53.9.10 | Internal FIFOs . . . . . | 2360 |
| 53.9.11 | FIFOs status flags . . . . . | 2361 |
| 53.9.12 | Handling of underrun situation . . . . . | 2361 |
| 53.9.13 | Handling of overrun situation . . . . . | 2362 |
| 53.9.14 | Frame error detection . . . . . | 2363 |
| 53.9.15 | DMA Interface . . . . . | 2364 |
| 53.9.16 | Programing examples . . . . . | 2366 |
| 53.10 | I2S wakeup and interrupts . . . . . | 2368 |
| 53.11 | SPI/I2S registers . . . . . | 2369 |
| 53.11.1 | SPI/I2S control register 1 (SPI_CR1) . . . . . | 2369 |
| 53.11.2 | SPI control register 2 (SPI_CR2) . . . . . | 2371 |
| 53.11.3 | SPI configuration register 1 (SPI_CFG1) . . . . . | 2371 |
| 53.11.4 | SPI configuration register 2 (SPI_CFG2) . . . . . | 2374 |
| 53.11.5 | SPI/I2S interrupt enable register (SPI_IER) . . . . . | 2376 |
| 53.11.6 | SPI/I2S status register (SPI_SR) . . . . . | 2377 |
| 53.11.7 | SPI/I2S interrupt/status flags clear register (SPI_IFCR) . . . . . | 2380 |
| 53.11.8 | SPI/I2S transmit data register (SPI_TXDR) . . . . . | 2381 |
| 53.11.9 | SPI/I2S receive data register (SPI_RXDR) . . . . . | 2381 |
| 53.11.10 | SPI polynomial register (SPI_CRCPOLY) . . . . . | 2382 |
| 53.11.11 | SPI transmitter CRC register (SPI_TXCRC) . . . . . | 2382 |
| 53.11.12 | SPI receiver CRC register (SPI_RXCRC) . . . . . | 2383 |
| 53.11.13 | SPI underrun data register (SPI_UDRDR) . . . . . | 2384 |
| 53.11.14 | SPI/I2S configuration register (SPI_I2SCFGR) . . . . . | 2384 |
| 53.12 | SPI register map and reset values . . . . . | 2387 |
| 54 | Serial audio interface (SAI) . . . . . | 2389 |
| 54.1 | Introduction . . . . . | 2389 |
| 54.2 | SAI main features . . . . . | 2389 |
| 54.3 | SAI implementation . . . . . | 2390 |
| 54.4 | SAI functional description . . . . . | 2390 |
| 54.4.1 | SAI block diagram . . . . . | 2390 |
| 54.4.2 | SAI pins and internal signals . . . . . | 2392 |
| 54.4.3 | Main SAI modes . . . . . | 2392 |
| 54.4.4 | SAI synchronization mode . . . . . | 2393 |
| 54.4.5 | Audio data size . . . . . | 2394 |
| 54.4.6 | Frame synchronization . . . . . | 2395 |
| 54.4.7 | Slot configuration . . . . . | 2398 |
| 54.4.8 | SAI clock generator . . . . . | 2400 |
| 54.4.9 | Internal FIFOs . . . . . | 2403 |
| 54.4.10 | PDM interface . . . . . | 2405 |
| 54.4.11 | AC'97 link controller . . . . . | 2413 |
| 54.4.12 | SPDIF output . . . . . | 2415 |
| 54.4.13 | Specific features . . . . . | 2418 |
| 54.4.14 | Error flags . . . . . | 2422 |
| 54.4.15 | Disabling the SAI . . . . . | 2425 |
| 54.4.16 | SAI DMA interface . . . . . | 2425 |
| 54.5 | SAI interrupts . . . . . | 2426 |
| 54.6 | SAI registers . . . . . | 2427 |
| 54.6.1 | SAI global configuration register (SAI_GCR) . . . . . | 2427 |
| 54.6.2 | SAI configuration register 1 (SAI_ACR1) . . . . . | 2428 |
| 54.6.3 | SAI configuration register 1 (SAI_BCR1) . . . . . | 2430 |
| 54.6.4 | SAI configuration register 2 (SAI_ACR2) . . . . . | 2433 |
| 54.6.5 | SAI configuration register 2 (SAI_BCR2) . . . . . | 2435 |
| 54.6.6 | SAI frame configuration register (SAI_AFRCR) . . . . . | 2437 |
| 54.6.7 | SAI frame configuration register (SAI_BFRCR) . . . . . | 2439 |
| 54.6.8 | SAI slot register (SAI_ASLOTR) . . . . . | 2440 |
| 54.6.9 | SAI slot register (SAI_BSLOTR) . . . . . | 2441 |
| 54.6.10 | SAI interrupt mask register (SAI_AIM) . . . . . | 2442 |
| 54.6.11 | SAI interrupt mask register (SAI_BIM) . . . . . | 2444 |
| 54.6.12 | SAI status register (SAI_ASR) . . . . . | 2445 |
| 54.6.13 | SAI status register (SAI_BSR) . . . . . | 2447 |
| 54.6.14 | SAI clear flag register (SAI_ACLRFR) . . . . . | 2449 |
| 54.6.15 | SAI clear flag register (SAI_BCLRFR) . . . . . | 2450 |
| 54.6.16 | SAI data register (SAI_ADR) . . . . . | 2451 |
| 54.6.17 | SAI data register (SAI_BDR) . . . . . | 2452 |
| 54.6.18 | SAI PDM control register (SAI_PDMCR) . . . . . | 2452 |
| 54.6.19 | SAI PDM delay register (SAI_PDMPLY) . . . . . | 2454 |
| 54.6.20 | SAI register map . . . . . | 2456 |
| 55 | SPDIFRX receiver interface (SPDIFRX) . . . . . | 2458 |
| 55.1 | SPDIFRX interface introduction . . . . . | 2458 |
| 55.2 | SPDIFRX main features . . . . . | 2458 |
| 55.3 | SPDIFRX functional description . . . . . | 2458 |
| 55.3.1 | SPDIFRX pins and internal signals . . . . . | 2459 |
| 55.3.2 | S/PDIF protocol (IEC-60958) . . . . . | 2460 |
| 55.3.3 | SPDIFRX decoder (SPDIFRX_DC) . . . . . | 2462 |
| 55.3.4 | SPDIFRX tolerance to clock deviation . . . . . | 2466 |
| 55.3.5 | SPDIFRX synchronization . . . . . | 2466 |
| 55.3.6 | SPDIFRX handling . . . . . | 2468 |
| 55.3.7 | Data reception management . . . . . | 2470 |
| 55.3.8 | Dedicated control flow . . . . . | 2472 |
| 55.3.9 | Reception errors . . . . . | 2473 |
| 55.3.10 | Clocking strategy . . . . . | 2475 |
| 55.3.11 | DMA interface . . . . . | 2475 |
| 55.3.12 | Interrupt generation . . . . . | 2476 |
| 55.3.13 | Register protection . . . . . | 2477 |
| 55.4 | Programming procedures . . . . . | 2478 |
| 55.4.1 | Initialization phase . . . . . | 2478 |
| 55.4.2 | Handling of interrupts coming from SPDIFRX . . . . . | 2479 |
| 55.4.3 | Handling of interrupts coming from DMA . . . . . | 2479 |
| 55.5 | SPDIFRX interface registers . . . . . | 2480 |
| 55.5.1 | SPDIFRX control register (SPDIFRX_CR) . . . . . | 2480 |
| 55.5.2 | SPDIFRX interrupt mask register (SPDIFRX_IMR) . . . . . | 2482 |
| 55.5.3 | SPDIFRX status register (SPDIFRX_SR) . . . . . | 2483 |
| 55.5.4 | SPDIFRX interrupt flag clear register (SPDIFRX_IFCR) . . . . . | 2485 |
| 55.5.5 | SPDIFRX data input register (SPDIFRX_FMT0_DR) . . . . . | 2486 |
| 55.5.6 | SPDIFRX data input register (SPDIFRX_FMT1_DR) . . . . . | 2486 |
| 55.5.7 | SPDIFRX data input register (SPDIFRX_FMT2_DR) . . . . . | 2487 |
| 55.5.8 | SPDIFRX channel status register (SPDIFRX_CSR) . . . . . | 2488 |
| 55.5.9 | SPDIFRX debug information register (SPDIFRX_DIR) . . . . . | 2488 |
| 55.5.10 | SPDIFRX interface register map . . . . . | 2489 |
| 56 | Single wire protocol master interface (SWPMI) . . . . . | 2490 |
| 56.1 | Introduction . . . . . | 2490 |
| 56.2 | SWPMI main features . . . . . | 2491 |
| 56.3 | SWPMI functional description . . . . . | 2492 |
| 56.3.1 | SWPMI block diagram . . . . . | 2492 |
| 56.3.2 | SWPMI pins and internal signals . . . . . | 2492 |
| 56.3.3 | SWP initialization and activation . . . . . | 2493 |
| 56.3.4 | SWP bus states . . . . . | 2494 |
| 56.3.5 | SWPMI_IO (internal transceiver) bypass . . . . . | 2495 |
| 56.3.6 | SWPMI bit rate . . . . . | 2495 |
| 56.3.7 | SWPMI frame handling . . . . . | 2496 |
| 56.3.8 | Transmission procedure . . . . . | 2496 |
| 56.3.9 | Reception procedure . . . . . | 2501 |
| 56.3.10 | Error management . . . . . | 2505 |
| 56.3.11 | Loopback mode . . . . . | 2507 |
| 56.4 | SWPMI low-power modes . . . . . | 2507 |
| 56.5 | SWPMI interrupts . . . . . | 2508 |
| 56.6 | SWPMI registers . . . . . | 2509 |
| 56.6.1 | SWPMI configuration/control register (SWPMI_CR) . . . . . | 2509 |
| 56.6.2 | SWPMI Bitrate register (SWPMI_BRR) . . . . . | 2510 |
| 56.6.3 | SWPMI Interrupt and Status register (SWPMI_ISR) . . . . . | 2511 |
| 56.6.4 | SWPMI Interrupt Flag Clear register (SWPMI_ICR) . . . . . | 2512 |
| 56.6.5 | SWPMI Interrupt Enable register (SWPMI_IER) . . . . . | 2513 |
| 56.6.6 | SWPMI Receive Frame Length register (SWPMI_RFL) . . . . . | 2515 |
| 56.6.7 | SWPMI Transmit data register (SWPMI_TDR) . . . . . | 2515 |
| 56.6.8 | SWPMI Receive data register (SWPMI_RDR) . . . . . | 2515 |
| 56.6.9 | SWPMI Option register (SWPMI_OR) . . . . . | 2516 |
| 56.6.10 | SWPMI register map and reset value table . . . . . | 2517 |
| 57 | Management data input/output (MDIOS) . . . . . | 2518 |
| 57.1 | MDIOS introduction . . . . . | 2518 |
| 57.2 | MDIOS main features . . . . . | 2518 |
| 57.3 | MDIOS functional description . . . . . | 2519 |
| 57.3.1 | MDIOS block diagram . . . . . | 2519 |
| 57.3.2 | MDIOS pins and internal signals . . . . . | 2519 |
| 57.3.3 | MDIOS protocol . . . . . | 2519 |
| 57.3.4 | MDIOS enabling and disabling . . . . . | 2520 |
| 57.3.5 | MDIOS data . . . . . | 2521 |
| 57.3.6 | MDIOS APB frequency . . . . . | 2522 |
| 57.3.7 | Write/read flags and interrupts . . . . . | 2522 |
| 57.3.8 | MDIOS error management . . . . . | 2523 |
| 57.3.9 | MDIOS in Stop mode . . . . . | 2524 |
| 57.3.10 | MDIOS interrupts . . . . . | 2524 |
| 57.4 | MDIOS registers . . . . . | 2524 |
| 57.4.1 | MDIOS configuration register (MDIOS_CR) . . . . . | 2524 |
| 57.4.2 | MDIOS write flag register (MDIOS_WRFR) . . . . . | 2525 |
| 57.4.3 | MDIOS clear write flag register (MDIOS_CWRFR) . . . . . | 2526 |
| 57.4.4 | MDIOS read flag register (MDIOS_RDFR) . . . . . | 2526 |
| 57.4.5 | MDIOS clear read flag register (MDIOS_CRDFR) . . . . . | 2527 |
| 57.4.6 | MDIOS status register (MDIOS_SR) . . . . . | 2527 |
| 57.4.7 | MDIOS clear flag register (MDIOS_CLRFR) . . . . . | 2528 |
| 57.4.8 | MDIOS input data register x (MDIOS_DINRx) . . . . . | 2528 |
| 57.4.9 | MDIOS output data register x (MDIOS_DOUTRx) . . . . . | 2529 |
| 57.4.10 | MDIOS register map . . . . . | 2529 |
| 58 | Secure digital input/output MultiMediaCard interface (SDMMC) . . . | 2531 |
| 58.1 | SDMMC main features . . . . . | 2531 |
| 58.2 | SDMMC implementation . . . . . | 2531 |
| 58.3 | SDMMC bus topology . . . . . | 2532 |
| 58.4 | SDMMC operation modes . . . . . | 2534 |
| 58.5 | SDMMC functional description . . . . . | 2535 |
| 58.5.1 | SDMMC block diagram . . . . . | 2535 |
| 58.5.2 | SDMMC pins and internal signals . . . . . | 2535 |
| 58.5.3 | General description . . . . . | 2536 |
| 58.5.4 | SDMMC adapter . . . . . | 2538 |
| 58.5.5 | SDMMC AHB slave interface . . . . . | 2560 |
| 58.5.6 | SDMMC AHB master interface . . . . . | 2560 |
| 58.5.7 | MDMA request generation . . . . . | 2562 |
| 58.5.8 | AHB and SDMMC_CK clock relation . . . . . | 2563 |
| 58.6 | Card functional description . . . . . | 2564 |
| 58.6.1 | SD I/O mode . . . . . | 2564 |
| 58.6.2 | CMD12 send timing . . . . . | 2572 |
| 58.6.3 | Sleep (CMD5) . . . . . | 2575 |
| 58.6.4 | Interrupt mode (Wait-IRQ) . . . . . | 2576 |
| 58.6.5 | Boot operation . . . . . | 2577 |
| 58.6.6 | Response R1b handling . . . . . | 2580 |
| 58.6.7 | Reset and card cycle power . . . . . | 2581 |
| 58.7 | Hardware flow control . . . . . | 2582 |
| 58.8 | Ultra-high-speed phase I (UHS-I) voltage switch . . . . . | 2583 |
| 58.9 | SDMMC interrupts . . . . . | 2586 |
| 58.10 | SDMMC registers . . . . . | 2588 |
| 58.10.1 | SDMMC power control register (SDMMC_POWER) . . . . . | 2588 |
| 58.10.2 | SDMMC clock control register (SDMMC_CLKCR) . . . . . | 2589 |
| 58.10.3 | SDMMC argument register (SDMMC_ARGR) . . . . . | 2591 |
| 58.10.4 | SDMMC command register (SDMMC_CMDR) . . . . . | 2591 |
| 58.10.5 | SDMMC command response register (SDMMC_RESPCMDR) . . . . . | 2593 |
| 58.10.6 | SDMMC response x register (SDMMC_RESPxR) . . . . . | 2594 |
| 58.10.7 | SDMMC data timer register (SDMMC_DTIMER) . . . . . | 2594 |
| 58.10.8 | SDMMC data length register (SDMMC_DLENR) . . . . . | 2595 |
| 58.10.9 | SDMMC data control register (SDMMC_DCTRL) . . . . . | 2596 |
| 58.10.10 | SDMMC data counter register (SDMMC_DCNTR) . . . . . | 2597 |
| 58.10.11 | SDMMC status register (SDMMC_STAR) . . . . . | 2598 |
| 58.10.12 | SDMMC interrupt clear register (SDMMC_ICR) . . . . . | 2601 |
| 58.10.13 | SDMMC mask register (SDMMC_MASKR) . . . . . | 2603 |
| 58.10.14 | SDMMC acknowledgment timer register (SDMMC_ACKTIMER) . . . . . | 2606 |
| 58.10.15 | SDMMC data FIFO registers x (SDMMC_FIFORx) . . . . . | 2606 |
| 58.10.16 | SDMMC DMA control register (SDMMC_IDMACTRLR) . . . . . | 2607 |
| 58.10.17 | SDMMC IDMA buffer size register (SDMMC_IDMABSIZER) . . . . . | 2608 |
| 58.10.18 | SDMMC IDMA buffer 0 base address register (SDMMC_IDMABASE0R) . . . . . | 2608 |
| 58.10.19 | SDMMC IDMA buffer 1 base address register (SDMMC_IDMABASE1R) . . . . . | 2609 |
| 58.10.20 | SDMMC register map . . . . . | 2609 |
| 59 | Controller area network with flexible data rate (FDCAN) . . . . . | 2612 |
| 59.1 | Introduction . . . . . | 2612 |
| 59.2 | FDCAN main features . . . . . | 2615 |
| 59.3 | FDCAN implementation . . . . . | 2615 |
| 59.4 | FDCAN functional description . . . . . | 2616 |
| 59.4.1 | Operating modes . . . . . | 2617 |
| 59.4.2 | Message RAM . . . . . | 2626 |
| 59.4.3 | FIFO acknowledge handling . . . . . | 2637 |
| 59.4.4 | Bit timing . . . . . | 2638 |
| 59.4.5 | Clock calibration on CAN . . . . . | 2639 |
| 59.4.6 | Application . . . . . | 2643 |
| 59.4.7 | TT CAN operations (FDCAN1 only) . . . . . | 2644 |
| 59.4.8 | TT CAN configuration . . . . . | 2645 |
| 59.4.9 | Message scheduling . . . . . | 2647 |
| 59.4.10 | TT CAN gap control . . . . . | 2654 |
| 59.4.11 | Stop watch . . . . . | 2655 |
| 59.4.12 | Local time, cycle time, global time, and external clock synchronization . . . . . | 2655 |
| 59.4.13 | TT CAN error level . . . . . | 2658 |
| 59.4.14 | TT CAN message handling . . . . . | 2659 |
| 59.4.15 | TT CAN interrupt and error handling . . . . . | 2662 |
| 59.4.16 | Level 0 . . . . . | 2663 |
| 59.4.17 | Synchronization to external time schedule . . . . . | 2665 |
| 59.4.18 | FDCAN Rx buffer and FIFO element . . . . . | 2666 |
| 59.4.19 | FDCAN Tx buffer element . . . . . | 2668 |
| 59.4.20 | FDCAN Tx event FIFO element . . . . . | 2670 |
| 59.4.21 | FDCAN standard message ID filter element . . . . . | 2671 |
| 59.4.22 | FDCAN extended message ID filter element . . . . . | 2673 |
| 59.4.23 | FDCAN trigger memory element . . . . . | 2674 |
| 59.5 | FDCAN registers . . . . . | 2676 |
| 59.5.1 | FDCAN core release register (FDCAN_CREL) . . . . . | 2676 |
| 59.5.2 | FDCAN Endian register (FDCAN_ENDN) . . . . . | 2676 |
| 59.5.3 | FDCAN data bit timing and prescaler register (FDCAN_DBTP) . . . . . | 2677 |
| 59.5.4 | FDCAN test register (FDCAN_TEST) . . . . . | 2678 |
| 59.5.5 | FDCAN RAM watchdog register (FDCAN_RWD) . . . . . | 2678 |
| 59.5.6 | FDCAN CC control register (FDCAN_CCCR) . . . . . | 2679 |
| 59.5.7 | FDCAN nominal bit timing and prescaler register (FDCAN_NBTP) . . . . . | 2681 |
| 59.5.8 | FDCAN timestamp counter configuration register (FDCAN_TSCC) . . . . . | 2682 |
| 59.5.9 | FDCAN timestamp counter value register (FDCAN_TSCV) . . . . . | 2683 |
| 59.5.10 | FDCAN timeout counter configuration register (FDCAN_TOCC) . . . . . | 2683 |
| 59.5.11 | FDCAN timeout counter value register (FDCAN_TOCV) . . . . . | 2684 |
| 59.5.12 | FDCAN error counter register (FDCAN_ECR) . . . . . | 2685 |
| 59.5.13 | FDCAN protocol status register (FDCAN_PSR) . . . . . | 2685 |
| 59.5.14 | FDCAN transmitter delay compensation register (FDCAN_TDCR) . . . . . | 2687 |
| 59.5.15 | FDCAN interrupt register (FDCAN_IR) . . . . . | 2688 |
| 59.5.16 | FDCAN interrupt enable register (FDCAN_IE) . . . . . | 2691 |
| 59.5.17 | FDCAN interrupt line select register (FDCAN_ILS) . . . . . | 2693 |
| 59.5.18 | FDCAN interrupt line enable register (FDCAN_ILE) . . . . . | 2694 |
| 59.5.19 | FDCAN global filter configuration register (FDCAN_GFC) . . . . . | 2695 |
| 59.5.20 | FDCAN standard ID filter configuration register (FDCAN_SIDFC) . . . . . | 2696 |
| 59.5.21 | FDCAN extended ID filter configuration register (FDCAN_XIDFC) . . . . . | 2696 |
| 59.5.22 | FDCAN extended ID and mask register (FDCAN_XIDAM) . . . . . | 2697 |
| 59.5.23 | FDCAN high priority message status register (FDCAN_HPMS) . . . . . | 2698 |
| 59.5.24 | FDCAN new data 1 register (FDCAN_NDAT1) . . . . . | 2698 |
| 59.5.25 | FDCAN new data 2 register (FDCAN_NDAT2) . . . . . | 2699 |
| 59.5.26 | FDCAN Rx FIFO 0 configuration register (FDCAN_RXF0C) . . . . . | 2699 |
| 59.5.27 | FDCAN Rx FIFO 0 status register (FDCAN_RXF0S) . . . . . | 2700 |
| 59.5.28 | FDCAN Rx FIFO 0 acknowledge register (FDCAN_RXF0A) . . . . . | 2701 |
| 59.5.29 | FDCAN Rx buffer configuration register (FDCAN_RXBC) | 2701 |
| 59.5.30 | FDCAN Rx FIFO 1 configuration register (FDCAN_RXF1C) | 2702 |
| 59.5.31 | FDCAN Rx FIFO 1 status register (FDCAN_RXF1S) | 2703 |
| 59.5.32 | FDCAN Rx FIFO 1 acknowledge register (FDCAN_RXF1A) | 2704 |
| 59.5.33 | FDCAN Rx buffer element size configuration register (FDCAN_RXESC) | 2704 |
| 59.5.34 | FDCAN Tx buffer configuration register (FDCAN_TXBC) | 2705 |
| 59.5.35 | FDCAN Tx FIFO/queue status register (FDCAN_TXFQS) | 2706 |
| 59.5.36 | FDCAN Tx buffer element size configuration register (FDCAN_TXESC) | 2707 |
| 59.5.37 | FDCAN Tx buffer request pending register (FDCAN_TXBRP) | 2707 |
| 59.5.38 | FDCAN Tx buffer add request register (FDCAN_TXBAR) | 2708 |
| 59.5.39 | FDCAN Tx buffer cancellation request register (FDCAN_TXBCR) | 2709 |
| 59.5.40 | FDCAN Tx buffer transmission occurred register (FDCAN_TXBTO) | 2709 |
| 59.5.41 | FDCAN Tx buffer cancellation finished register (FDCAN_TXBCF) | 2710 |
| 59.5.42 | FDCAN Tx buffer transmission interrupt enable register (FDCAN_TXBTIE) | 2710 |
| 59.5.43 | FDCAN Tx buffer cancellation finished interrupt enable register (FDCAN_TXBCIE) | 2711 |
| 59.5.44 | FDCAN Tx event FIFO configuration register (FDCAN_TXEFC) | 2711 |
| 59.5.45 | FDCAN Tx event FIFO status register (FDCAN_TXEFS) | 2712 |
| 59.5.46 | FDCAN Tx event FIFO acknowledge register (FDCAN_TXEFA) | 2713 |
| 59.5.47 | FDCAN register map | 2713 |
| 59.6 | TT CAN registers | 2717 |
| 59.6.1 | FDCAN TT trigger memory configuration register (FDCAN_TTTMC) | 2717 |
| 59.6.2 | FDCAN TT reference message configuration register (FDCAN_TTRMC) | 2717 |
| 59.6.3 | FDCAN TT operation configuration register (FDCAN_TTOCF) | 2718 |
| 59.6.4 | FDCAN TT matrix limits register (FDCAN_TTMLM) | 2720 |
| 59.6.5 | FDCAN TUR configuration register (FDCAN_TURCF) | 2721 |
| 59.6.6 | FDCAN TT operation control register (FDCAN_TTOCN) | 2722 |
| 59.6.7 | FDCAN TT global time preset register (FDCAN_TTGTP) | 2724 |
| 59.6.8 | FDCAN TT time mark register (FDCAN_TTTMK) | 2724 |
| 59.6.9 | FDCAN TT interrupt register (FDCAN_TTIR) | 2725 |
| 59.6.10 | FDCAN TT interrupt enable register (FDCAN_TTIE) | 2727 |
| 59.6.11 | FDCAN TT interrupt line select register (FDCAN_TTILS) | 2729 |
| 59.6.12 | FDCAN TT operation status register (FDCAN_TTOST) | 2730 |
| 59.6.13 | FDCAN TUR numerator actual register (FDCAN_TURNA) | 2732 |
| 59.6.14 | FDCAN TT local and global time register (FDCAN_TTLGT) . . . . . | 2733 |
| 59.6.15 | FDCAN TT cycle time and count register (FDCAN_TTCTC) . . . . . | 2733 |
| 59.6.16 | FDCAN TT capture time register (FDCAN_TTCPT) . . . . . | 2734 |
| 59.6.17 | FDCAN TT cycle sync mark register (FDCAN_TTCSM) . . . . . | 2734 |
| 59.6.18 | FDCAN TT trigger select register (FDCAN_TTTS) . . . . . | 2735 |
| 59.6.19 | FDCAN TT register map . . . . . | 2735 |
| 59.7 | CCU registers . . . . . | 2737 |
| 59.7.1 | Clock calibration unit core release register (FDCAN_CCU_CREL) . . | 2737 |
| 59.7.2 | Calibration configuration register (FDCAN_CCU_CCFG) . . . . . | 2737 |
| 59.7.3 | Calibration status register (FDCAN_CCU_CSTAT) . . . . . | 2739 |
| 59.7.4 | Calibration watchdog register (FDCAN_CCU_CWD) . . . . . | 2739 |
| 59.7.5 | Clock calibration unit interrupt register (FDCAN_CCU_IR) . . . . . | 2740 |
| 59.7.6 | Clock calibration unit interrupt enable register (FDCAN_CCU_IE) . . | 2741 |
| 59.7.7 | CCU register map . . . . . | 2741 |
| 60 | USB on-the-go high-speed (OTG_HS) . . . . . | 2743 |
| 60.1 | Introduction . . . . . | 2743 |
| 60.2 | OTG_HS main features . . . . . | 2744 |
| 60.2.1 | General features . . . . . | 2744 |
| 60.2.2 | Host-mode features . . . . . | 2745 |
| 60.2.3 | Peripheral-mode features . . . . . | 2745 |
| 60.3 | OTG_HS implementation . . . . . | 2746 |
| 60.4 | OTG_HS functional description . . . . . | 2746 |
| 60.4.1 | OTG_HS block diagram . . . . . | 2746 |
| 60.4.2 | OTG_HS pin and internal signals . . . . . | 2748 |
| 60.4.3 | OTG_HS core . . . . . | 2748 |
| 60.4.4 | Embedded full-speed OTG PHY connected to OTG_HS . . . . . | 2749 |
| 60.4.5 | OTG detections . . . . . | 2749 |
| 60.4.6 | High-speed OTG PHY connected to OTG_HS . . . . . | 2749 |
| 60.5 | OTG_HS dual role device (DRD) . . . . . | 2750 |
| 60.5.1 | ID line detection . . . . . | 2750 |
| 60.5.2 | HNP dual role device . . . . . | 2750 |
| 60.5.3 | SRP dual role device . . . . . | 2751 |
| 60.6 | OTG_HS as a USB peripheral . . . . . | 2751 |
| 60.6.1 | SRP-capable peripheral . . . . . | 2752 |
| 60.6.2 | Peripheral states . . . . . | 2752 |
| 60.6.3 | Peripheral endpoints . . . . . | 2753 |
| 60.7 | OTG_HS as a USB host . . . . . | 2755 |
| 60.7.1 | SRP-capable host . . . . . | 2756 |
| 60.7.2 | USB host states . . . . . | 2756 |
| 60.7.3 | Host channels . . . . . | 2758 |
| 60.7.4 | Host scheduler . . . . . | 2759 |
| 60.8 | OTG_HS SOF trigger . . . . . | 2760 |
| 60.8.1 | Host SOFs . . . . . | 2760 |
| 60.8.2 | Peripheral SOFs . . . . . | 2760 |
| 60.9 | OTG_HS low-power modes . . . . . | 2761 |
| 60.10 | OTG_HS Dynamic update of the OTG_HFIR register . . . . . | 2762 |
| 60.11 | OTG_HS data FIFOs . . . . . | 2762 |
| 60.11.1 | Peripheral FIFO architecture . . . . . | 2763 |
| 60.11.2 | Host FIFO architecture . . . . . | 2764 |
| 60.11.3 | FIFO RAM allocation . . . . . | 2765 |
| 60.12 | OTG_HS interrupts . . . . . | 2767 |
| 60.13 | OTG_HS control and status registers . . . . . | 2769 |
| 60.13.1 | CSR memory map . . . . . | 2769 |
| 60.14 | OTG_HS registers . . . . . | 2774 |
| 60.14.1 | OTG control and status register (OTG_GOTGCTL) . . . . . | 2774 |
| 60.14.2 | OTG interrupt register (OTG_GOTGINT) . . . . . | 2777 |
| 60.14.3 | OTG AHB configuration register (OTG_GAHBCFG) . . . . . | 2779 |
| 60.14.4 | OTG USB configuration register (OTG_GUSBCFG) . . . . . | 2780 |
| 60.14.5 | OTG reset register (OTG_GRSTCTL) . . . . . | 2783 |
| 60.14.6 | OTG core interrupt register (OTG_GINTSTS) . . . . . | 2786 |
| 60.14.7 | OTG interrupt mask register (OTG_GINTMSK) . . . . . | 2790 |
| 60.14.8 | OTG receive status debug read register (OTG_GRXSTSR) . . . . . | 2794 |
| 60.14.9 | OTG receive status debug read [alternate] (OTG_GRXSTSR) . . . . . | 2795 |
| 60.14.10 | OTG status read and pop registers (OTG_GRXSTSP) . . . . . | 2796 |
| 60.14.11 | OTG status read and pop registers [alternate] (OTG_GRXSTSP) . . . . . | 2797 |
| 60.14.12 | OTG receive FIFO size register (OTG_GRXFSIZ) . . . . . | 2798 |
| 60.14.13 | OTG host non-periodic transmit FIFO size register (OTG_HNPTXFSIZ)/Endpoint 0 Transmit FIFO size (OTG_DIEPTXF0) . . . . . | 2798 |
| 60.14.14 | OTG non-periodic transmit FIFO/queue status register (OTG_HNPTXSTS) . . . . . | 2799 |
| 60.14.15 | OTG general core configuration register (OTG_GCCFG) . . . . . | 2800 |
| 60.14.16 | OTG core ID register (OTG_CID) . . . . . | 2802 |
| 60.14.17 | OTG core LPM configuration register (OTG_GLPMCFG) . . . . . | 2802 |
| 60.14.18 | OTG host periodic transmit FIFO size register (OTG_HPTXFSIZ) . . . . . | 2806 |
| 60.14.19 | OTG device IN endpoint transmit FIFO x size register (OTG_DIEPTXFx) . . . . . | 2806 |
| 60.14.20 | Host-mode registers . . . . . | 2807 |
| 60.14.21 | OTG host configuration register (OTG_HCFG) . . . . . | 2807 |
| 60.14.22 | OTG host frame interval register (OTG_HFIR) . . . . . | 2808 |
| 60.14.23 | OTG host frame number/frame time remaining register (OTG_HFNUM) . . . . . | 2809 |
| 60.14.24 | OTG_Host periodic transmit FIFO/queue status register (OTG_HPTXSTS) . . . . . | 2810 |
| 60.14.25 | OTG host all channels interrupt register (OTG_HAINT) . . . . . | 2811 |
| 60.14.26 | OTG host all channels interrupt mask register (OTG_HAINTMSK) . . . . . | 2811 |
| 60.14.27 | OTG host frame list base address register (OTG_HFLBADDR) . . . . . | 2812 |
| 60.14.28 | OTG host port control and status register (OTG_HPRT) . . . . . | 2812 |
| 60.14.29 | OTG host channel x characteristics register (OTG_HCCHARx) . . . . . | 2815 |
| 60.14.30 | OTG host channel x split control register (OTG_HCSPLTx) . . . . . | 2816 |
| 60.14.31 | OTG host channel x interrupt register (OTG_HCINTx) . . . . . | 2817 |
| 60.14.32 | OTG host channel x interrupt mask register (OTG_HCINTMSKx) . . . . . | 2818 |
| 60.14.33 | OTG host channel x transfer size register (OTG_HCTSIZx) . . . . . | 2820 |
| 60.14.34 | OTG host channel x transfer size register (OTG_HCTSIZSGx) . . . . . | 2821 |
| 60.14.35 | OTG host channel x DMA address register in buffer DMA [alternate] (OTG_HCDMAx) . . . . . | 2823 |
| 60.14.36 | OTG host channel x DMA address register in scatter/gather DMA [alternate] (OTG_HCDMASGx) . . . . . | 2823 |
| 60.14.37 | OTG host channel-n DMA address buffer register (OTG_HCDMABx) . . . . . | 2824 |
| 60.14.38 | Device-mode registers . . . . . | 2825 |
| 60.14.39 | OTG device configuration register (OTG_DCFG) . . . . . | 2825 |
| 60.14.40 | OTG device control register (OTG_DCTL) . . . . . | 2827 |
| 60.14.41 | OTG device status register (OTG_DSTS) . . . . . | 2829 |
| 60.14.42 | OTG device IN endpoint common interrupt mask register (OTG_DIEPMSK) . . . . . | 2830 |
| 60.14.43 | OTG device OUT endpoint common interrupt mask register (OTG_DOEPMSK) . . . . . | 2831 |
| 60.14.44 | OTG device all endpoints interrupt register (OTG_DAINT) . . . . . | 2832 |
| 60.14.45 | OTG all endpoints interrupt mask register (OTG_DAINTRMSK) ..... | 2833 |
| 60.14.46 | OTG device V
BUS
discharge time register (OTG_DVBUSDIS) ..... | 2834 |
| 60.14.47 | OTG device V
BUS
pulsing time register (OTG_DVBUSPULSE) ..... | 2834 |
| 60.14.48 | OTG device threshold control register (OTG_DTHRCTL) ..... | 2835 |
| 60.14.49 | OTG device IN endpoint FIFO empty interrupt mask register (OTG_DIEPEMPMSK) ..... | 2836 |
| 60.14.50 | OTG device each endpoint interrupt register (OTG_DEACHINT) . . . | 2836 |
| 60.14.51 | OTG device each endpoint interrupt mask register (OTG_DEACHINTMSK) ..... | 2837 |
| 60.14.52 | OTG device each IN endpoint-1 interrupt mask register (OTG_HS_DIEPEACHMSK1) ..... | 2837 |
| 60.14.53 | OTG device each OUT endpoint-1 interrupt mask register (OTG_HS_DOEPEACHMSK1) ..... | 2838 |
| 60.14.54 | OTG device IN endpoint x control register (OTG_DIEPCTLx) . . . . . | 2840 |
| 60.14.55 | OTG device IN endpoint x interrupt register (OTG_DIEPINTx) . . . . . | 2842 |
| 60.14.56 | OTG device IN endpoint 0 transfer size register (OTG_DIEPTSIZ0) ..... | 2844 |
| 60.14.57 | OTG device IN endpoint x DMA address register (OTG_DIEPDMAX) ..... | 2844 |
| 60.14.58 | OTG device IN endpoint transmit FIFO status register (OTG_DTXFSTSx) ..... | 2845 |
| 60.14.59 | OTG device IN endpoint x transfer size register (OTG_DIEPTSIZx) . . | 2845 |
| 60.14.60 | OTG device control OUT endpoint 0 control register (OTG_DOEPCTL0) ..... | 2846 |
| 60.14.61 | OTG device OUT endpoint x interrupt register (OTG_DOEPINTx) . . . | 2848 |
| 60.14.62 | OTG device OUT endpoint 0 transfer size register (OTG_DOEPTSIZ0) ..... | 2850 |
| 60.14.63 | OTG device OUT endpoint x DMA address register (OTG_DOEPDMAX) ..... | 2851 |
| 60.14.64 | OTG device OUT endpoint x control register (OTG_DOEPCTLx) ..... | 2851 |
| 60.14.65 | OTG device OUT endpoint x transfer size register (OTG_DOEPTSIZx) ..... | 2854 |
| 60.14.66 | OTG power and clock gating control register (OTG_PCGCCTL) . . . | 2855 |
| 60.14.67 | OTG_HS register map ..... | 2856 |
| 60.15 | OTG_HS programming model ..... | 2868 |
| 60.15.1 | Core initialization ..... | 2868 |
| 60.15.2 | Host initialization ..... | 2869 |
| 60.15.3 | Device initialization ..... | 2870 |
| 60.15.4 | DMA mode ..... | 2870 |
| 60.15.5 | Host programming model ..... | 2871 |
| 60.15.6 | Device programming model ..... | 2903 |
| 60.15.7 | Worst case response time ..... | 2923 |
| 60.15.8 | OTG programming model ..... | 2925 |
| 61 | Ethernet (ETH): media access control (MAC) with DMA controller ..... | 2931 |
| 61.1 | Ethernet introduction ..... | 2931 |
| 61.2 | Ethernet main features ..... | 2931 |
| 61.2.1 | Standard compliance ..... | 2931 |
| 61.2.2 | MAC features ..... | 2931 |
| 61.2.3 | Transaction layer (MTL) features ..... | 2933 |
| 61.2.4 | DMA block features ..... | 2934 |
| 61.2.5 | Bus interface features ..... | 2934 |
| 61.3 | Ethernet pins and internal signals ..... | 2935 |
| 61.4 | Ethernet architecture ..... | 2936 |
| 61.4.1 | DMA controller ..... | 2937 |
| 61.4.2 | MTL ..... | 2946 |
| 61.4.3 | MAC ..... | 2946 |
| 61.5 | )Ethernet functional description: MAC ..... | 2951 |
| 61.5.1 | Double VLAN processing ..... | 2951 |
| 61.5.2 | Source address and VLAN insertion, replacement, or deletion ..... | 2952 |
| 61.5.3 | Packet filtering ..... | 2954 |
| 61.5.4 | IEEE 1588 timestamp support ..... | 2960 |
| 61.5.5 | Checksum offload engine ..... | 2985 |
| 61.5.6 | TCP segmentation offload ..... | 2991 |
| 61.5.7 | IPv4 ARP offload ..... | 2997 |
| 61.5.8 | Loopback ..... | 2998 |
| 61.5.9 | Flow control ..... | 2999 |
| 61.5.10 | MAC management counters ..... | 3002 |
| 61.5.11 | Interrupts generated by the MAC ..... | 3004 |
| 61.5.12 | MAC and MMC register descriptions ..... | 3004 |
| 61.6 | Ethernet functional description: PHY interfaces ..... | 3005 |
| 61.6.1 | Station management agent (SMA) ..... | 3005 |
| 61.6.2 | Media independent interface (MII) ..... | 3012 |
- 61.6.3 Reduced media independent interface (RMII) . . . . . 3013
- 61.7 Ethernet low-power modes . . . . . 3017
- 61.7.1 Low-power management . . . . . 3017
- 61.7.2 Energy Efficient Ethernet (EEE) . . . . . 3023
- 61.8 Ethernet interrupts . . . . . 3028
- 61.8.1 DMA interrupts . . . . . 3028
- 61.8.2 MTL interrupts . . . . . 3030
- 61.8.3 MAC Interrupts . . . . . 3030
- 61.9 Ethernet programming model . . . . . 3031
- 61.9.1 DMA initialization . . . . . 3031
- 61.9.2 MTL initialization . . . . . 3032
- 61.9.3 MAC initialization . . . . . 3032
- 61.9.4 Performing normal receive and transmit operation . . . . . 3033
- 61.9.5 Stopping and starting transmission . . . . . 3034
- 61.9.6 Programming guidelines for switching to new descriptor list
in RxDMA . . . . . 3034 - 61.9.7 Programming guidelines for switching the AHB clock frequency . . . . . 3034
- 61.9.8 Programming guidelines for MII link state transitions . . . . . 3035
- 61.9.9 Programming guidelines for IEEE 1588 timestamping . . . . . 3036
- 61.9.10 Programming guidelines for PTP offload feature . . . . . 3037
- 61.9.11 Programming guidelines for Energy Efficient Ethernet (EEE) . . . . . 3041
- 61.9.12 Programming guidelines for flexible pulse-per-second (PPS) output . . . . . 3043
- 61.9.13 Programming guidelines for TSO . . . . . 3045
- 61.9.14 Programming guidelines to perform VLAN filtering on the receive . . . . . 3046
- 61.10 Descriptors . . . . . 3046
- 61.10.1 Descriptor overview . . . . . 3046
- 61.10.2 Descriptor structure . . . . . 3047
- 61.10.3 Transmit descriptor . . . . . 3049
- 61.10.4 Receive descriptor . . . . . 3062
- 61.11 Ethernet registers . . . . . 3074
- 61.11.1 Ethernet register maps . . . . . 3074
- 61.11.2 Ethernet DMA registers . . . . . 3074
- 61.11.3 Ethernet MTL registers . . . . . 3100
- 61.11.4 Ethernet MAC and MMC registers . . . . . 3112
62 HDMI-CEC controller (CEC) . . . . . 3208
- 62.1 HDMI-CEC introduction . . . . . 3208
| 62.2 | HDMI-CEC controller main features . . . . . | 3208 |
| 62.3 | HDMI-CEC functional description . . . . . | 3209 |
| 62.3.1 | HDMI-CEC pin and internal signals . . . . . | 3209 |
| 62.3.2 | HDMI-CEC block diagram . . . . . | 3210 |
| 62.3.3 | Message description . . . . . | 3210 |
| 62.3.4 | Bit timing . . . . . | 3211 |
| 62.4 | Arbitration . . . . . | 3211 |
| 62.4.1 | SFT option bit . . . . . | 3213 |
| 62.5 | Error handling . . . . . | 3213 |
| 62.5.1 | Bit error . . . . . | 3213 |
| 62.5.2 | Message error . . . . . | 3214 |
| 62.5.3 | Bit rising error (BRE) . . . . . | 3214 |
| 62.5.4 | Short bit period error (SBPE) . . . . . | 3214 |
| 62.5.5 | Long bit period error (LBPE) . . . . . | 3214 |
| 62.5.6 | Transmission error detection (TXERR) . . . . . | 3216 |
| 62.6 | HDMI-CEC interrupts . . . . . | 3217 |
| 62.7 | HDMI-CEC registers . . . . . | 3218 |
| 62.7.1 | CEC control register (CEC_CR) . . . . . | 3218 |
| 62.7.2 | CEC configuration register (CEC_CFGR) . . . . . | 3219 |
| 62.7.3 | CEC Tx data register (CEC_TXDR) . . . . . | 3221 |
| 62.7.4 | CEC Rx data register (CEC_RXDR) . . . . . | 3221 |
| 62.7.5 | CEC interrupt and status register (CEC_ISR) . . . . . | 3221 |
| 62.7.6 | CEC interrupt enable register (CEC_IER) . . . . . | 3223 |
| 62.7.7 | HDMI-CEC register map . . . . . | 3225 |
| 63 | Debug infrastructure . . . . . | 3226 |
| 63.1 | Introduction . . . . . | 3226 |
| 63.2 | Debug infrastructure features . . . . . | 3227 |
| 63.3 | Debug infrastructure functional description . . . . . | 3227 |
| 63.3.1 | Debug infrastructure block diagram . . . . . | 3227 |
| 63.3.2 | Debug infrastructure pins and internal signals . . . . . | 3228 |
| 63.3.3 | Debug infrastructure powering, clocking and reset . . . . . | 3230 |
| 63.4 | Debug access port functional description . . . . . | 3232 |
| 63.4.1 | Serial-wire and JTAG debug port (SWJ-DP) . . . . . | 3232 |
| 63.4.2 | Access ports . . . . . | 3246 |
| 63.5 | Trace and debug subsystem functional description . . . . . | 3252 |
| 63.5.1 | System ROM tables . . . . . | 3252 |
| 63.5.2 | Global timestamp generator (TSG) . . . . . | 3261 |
| 63.5.3 | Cross trigger interfaces (CTI) and matrix (CTM) . . . . . | 3269 |
| 63.5.4 | Trace funnel (CSTF) . . . . . | 3291 |
| 63.5.5 | Embedded trace FIFO (ETF) . . . . . | 3301 |
| 63.5.6 | Trace port interface unit (TPIU) . . . . . | 3323 |
| 63.5.7 | Serial wire output (SWO) and SWO trace funnel (SWTF) . . . . . | 3341 |
| 63.5.8 | Microcontroller debug unit (DBGMCU) . . . . . | 3364 |
| 63.6 | Cortex-M7 debug functional description . . . . . | 3375 |
| 63.6.1 | Cortex-M7 ROM tables . . . . . | 3375 |
| 63.6.2 | Cortex-M7 data watchpoint and trace unit (DWT) . . . . . | 3388 |
| 63.6.3 | Cortex-M7 instrumentation trace macrocell (ITM) . . . . . | 3401 |
| 63.6.4 | Cortex-M7 breakpoint unit (FPB) . . . . . | 3410 |
| 63.6.5 | Cortex-M7 embedded trace macrocell (ETM) . . . . . | 3418 |
| 63.6.6 | Cortex-M7 cross trigger interface (CTI) . . . . . | 3450 |
| 63.7 | Cortex-M4 debug functional description . . . . . | 3450 |
| 63.7.1 | Cortex-M4 ROM table . . . . . | 3451 |
| 63.7.2 | Cortex-M4 data watchpoint and trace unit (DWT) . . . . . | 3457 |
| 63.7.3 | Cortex-M4 instrumentation trace macrocell (ITM) . . . . . | 3471 |
| 63.7.4 | Cortex-M4 breakpoint unit (FPB) . . . . . | 3479 |
| 63.7.5 | Cortex-M4 embedded trace macrocell (ETM) . . . . . | 3486 |
| 63.7.6 | Cortex-M4 cross trigger interface (CTI) . . . . . | 3508 |
| 63.8 | References for debug infrastructure . . . . . | 3509 |
| 64 | Device electronic signature . . . . . | 3510 |
| 64.1 | Unique device ID register (96 bits) . . . . . | 3510 |
| 64.2 | Flash size . . . . . | 3512 |
| 64.3 | Line identifier . . . . . | 3512 |
| 64.4 | Package data register . . . . . | 3512 |
| 65 | Important security notice . . . . . | 3513 |
| 66 | Revision history . . . . . | 3514 |
List of tables
| Table 1. | Availability of security features . . . . . | 107 |
| Table 2. | Bus-master-to-bus-slave interconnect . . . . . | 108 |
| Table 3. | ASIB configuration . . . . . | 115 |
| Table 4. | AMIB configuration . . . . . | 116 |
| Table 5. | AXI interconnect register map and reset values . . . . . | 126 |
| Table 6. | Memory map and default device memory area attributes . . . . . | 135 |
| Table 7. | Register boundary addresses . . . . . | 138 |
| Table 8. | Boot order . . . . . | 144 |
| Table 9. | Boot modes . . . . . | 144 |
| Table 10. | RAMECC internal input/output signals . . . . . | 148 |
| Table 11. | ECC controller mapping . . . . . | 148 |
| Table 12. | RAMECC register map and reset values . . . . . | 153 |
| Table 13. | FLASH internal input/output signals . . . . . | 156 |
| Table 14. | Flash memory organization on STM32H745xl/747xl/755xl/757xl devices . . . . . | 159 |
| Table 15. | Flash memory organization on STM32H745xG/STM32H747xG devices . . . . . | 160 |
| Table 16. | FLASH recommended number of wait states and programming delay . . . . . | 166 |
| Table 17. | FLASH parallelism parameter . . . . . | 170 |
| Table 18. | FLASH AXI interface memory map vs swapping option . . . . . | 176 |
| Table 19. | Flash register map vs swapping option . . . . . | 178 |
| Table 20. | Option byte organization . . . . . | 183 |
| Table 21. | Flash interface register protection summary . . . . . | 189 |
| Table 22. | RDP value vs readout protection level . . . . . | 191 |
| Table 23. | Protection vs RDP Level . . . . . | 192 |
| Table 24. | RDP transition and its effects . . . . . | 194 |
| Table 25. | Effect of low-power modes on the embedded flash memory . . . . . | 198 |
| Table 26. | Flash interrupt request . . . . . | 206 |
| Table 27. | Register map and reset value table . . . . . | 249 |
| Table 28. | List of preferred terms . . . . . | 254 |
| Table 29. | RSS API addresses . . . . . | 258 |
| Table 30. | Summary of flash protected areas access rights . . . . . | 261 |
| Table 31. | PWR input/output signals connected to package pins or balls . . . . . | 270 |
| Table 32. | PWR internal input/output signals . . . . . | 271 |
| Table 33. | Supply configuration control . . . . . | 275 |
| Table 34. | Low-power mode summary . . . . . | 296 |
| Table 35. | PDDS_Dn low-power mode control . . . . . | 300 |
| Table 36. | Low-power exit mode flags . . . . . | 302 |
| Table 37. | CSleep mode . . . . . | 312 |
| Table 38. | CStop mode . . . . . | 313 |
| Table 39. | DStop mode overview . . . . . | 314 |
| Table 40. | DStop mode . . . . . | 315 |
| Table 41. | Stop mode operation . . . . . | 316 |
| Table 42. | Stop mode hold control . . . . . | 317 |
| Table 43. | Wakeup hold behavior and associated flags . . . . . | 319 |
| Table 44. | Stop mode . . . . . | 319 |
| Table 45. | DStandby mode . . . . . | 321 |
| Table 46. | Standby and Stop flags . . . . . | 323 |
| Table 47. | Standby mode . . . . . | 323 |
| Table 48. | Low-power modes monitoring pin overview . . . . . | 324 |
| Table 49. | GPIO state according to CPU and domain state . . . . . | 324 |
| Table 50. | Power control register map and reset values . . . . . | 338 |
| Table 51. | BDMA and DMAMUX2 initialization sequence (DMAMUX2_INIT) . . . . . | 346 |
| Table 52. | LPUART1 Initial programming (LPUART1_INIT) . . . . . | 348 |
| Table 53. | LPUART1 start programming (LPUART1_Start) . . . . . | 348 |
| Table 54. | RCC input/output signals connected to package pins or balls . . . . . | 352 |
| Table 55. | RCC internal input/output signals . . . . . | 353 |
| Table 56. | Reset distribution summary . . . . . | 356 |
| Table 57. | Reset source identification (RCC_RSR) . . . . . | 359 |
| Table 58. | Boot enable Function . . . . . | 363 |
| Table 59. | Ratio between clock timer and pclk . . . . . | 379 |
| Table 60. | STOPWUCK and STOPKERWUCK description. . . . . | 380 |
| Table 61. | HSIKERON and CSIKERON behavior . . . . . | 380 |
| Table 62. | Kernel clock distribution overview. . . . . | 382 |
| Table 63. | System states overview . . . . . | 399 |
| Table 64. | Peripheral clock enabling for D1 and D2 peripherals . . . . . | 405 |
| Table 65. | Peripheral clock enabling for D3 peripherals . . . . . | 406 |
| Table 66. | Domain bus clock enabling for D1 peripherals . . . . . | 409 |
| Table 67. | Domain bus clock enabling for D3 peripherals . . . . . | 410 |
| Table 68. | Interrupt sources and control . . . . . | 413 |
| Table 69. | RCC_RSR address offset and reset value . . . . . | 481 |
| Table 70. | RCC_AHB3ENR address offset and reset value . . . . . | 484 |
| Table 71. | RCC_AHB1ENR address offset and reset value . . . . . | 487 |
| Table 72. | RCC_AHB2ENR address offset and reset value . . . . . | 489 |
| Table 73. | RCC_AHB4ENR address offset and reset value . . . . . | 492 |
| Table 74. | RCC_APB3ENR address offset and reset value . . . . . | 495 |
| Table 75. | RCC_APB1ENR address offset and reset value . . . . . | 496 |
| Table 76. | RCC_APB1ENR address offset and reset value . . . . . | 500 |
| Table 77. | RCC_APB2ENR address offset and reset value . . . . . | 502 |
| Table 78. | RCC_APB4ENR address offset and reset value . . . . . | 505 |
| Table 79. | RCC_AHB3LPENR address offset and reset value . . . . . | 508 |
| Table 80. | RCC_AHB1LPENR address offset and reset value . . . . . | 510 |
| Table 81. | RCC_AHB2LPENR address offset and reset value . . . . . | 512 |
| Table 82. | RCC_AHB4LPENR address offset and reset value . . . . . | 514 |
| Table 83. | RCC_APB3LPENR address offset and reset value . . . . . | 517 |
| Table 84. | RCC_APB1LLPENR address offset and reset value . . . . . | 518 |
| Table 85. | RCC_APB1HLPENR address offset and reset value . . . . . | 522 |
| Table 86. | RCC_APB2LPENR address offset and reset value . . . . . | 524 |
| Table 87. | RCC_APB4LPENR address offset and reset value . . . . . | 527 |
| Table 88. | RCC register map and reset values . . . . . | 530 |
| Table 89. | CRS features . . . . . | 542 |
| Table 90. | CRS internal input/output signals . . . . . | 543 |
| Table 91. | Effect of low-power modes on CRS . . . . . | 547 |
| Table 92. | Interrupt control bits . . . . . | 547 |
| Table 93. | CRS register map and reset values . . . . . | 552 |
| Table 94. | HSEM internal input/output signals. . . . . | 555 |
| Table 95. | Authorized AHB bus master IDs . . . . . | 560 |
| Table 96. | HSEM register map and reset values . . . . . | 566 |
| Table 97. | Port bit configuration table . . . . . | 570 |
| Table 98. | GPIO register map and reset values . . . . . | 584 |
| Table 99. | SYSCFG register map and reset values. . . . . | 611 |
| Table 100. | Peripherals interconnect matrix (D2 domain) . . . . . | 615 |
| Table 101. | Peripherals interconnect matrix (D3 domain) . . . . . | 616 |
| Table 102. | Peripherals interconnect matrix details . . . . . | 617 |
| Table 103. | EXTI wakeup inputs . . . . . | 634 |
| Table 104. | EXTI pending requests clear inputs . . . . . | 637 |
| Table 105. | MDMA . . . . . | 639 |
| Table 106. | DMAMUX1, DMA1 and DMA2 connections . . . . . | 641 |
| Table 107. | DMAMUX2 and BDMA connections . . . . . | 646 |
| Table 108. | MDMA internal input/output signals . . . . . | 651 |
| Table 109. | MDMA interrupt requests . . . . . | 657 |
| Table 110. | MDMA register map and reset values . . . . . | 673 |
| Table 111. | DMA internal input/output signals . . . . . | 676 |
| Table 112. | Source and destination address . . . . . | 678 |
| Table 113. | Source and destination address registers in double-buffer mode (DBM = 1) . . . . . | 684 |
| Table 114. | Packing/unpacking and endian behavior (bit PINC = MINC = 1) . . . . . | 685 |
| Table 115. | Restriction on NDT versus PSIZE and MSIZE . . . . . | 685 |
| Table 116. | FIFO threshold configurations . . . . . | 688 |
| Table 117. | Possible DMA configurations . . . . . | 692 |
| Table 118. | DMA interrupt requests . . . . . | 694 |
| Table 119. | DMA register map and reset values . . . . . | 704 |
| Table 120. | BDMA implementation . . . . . | 709 |
| Table 121. | BDMA internal input/output signals . . . . . | 710 |
| Table 122. | Programmable data width and endian behavior (when PINC = MINC = 1) . . . . . | 716 |
| Table 123. | BDMA interrupt requests . . . . . | 718 |
| Table 124. | BDMA register map and reset values . . . . . | 728 |
| Table 125. | DMAMUX1 and DMAMUX2 instantiation . . . . . | 732 |
| Table 126. | DMAMUX1: assignment of multiplexer inputs to resources . . . . . | 733 |
| Table 127. | DMAMUX1: assignment of multiplexer inputs to resources . . . . . | 734 |
| Table 128. | DMAMUX1: assignment of trigger inputs to resources . . . . . | 735 |
| Table 129. | DMAMUX1: assignment of synchronization inputs to resources . . . . . | 735 |
| Table 130. | DMAMUX2: assignment of multiplexer inputs to resources . . . . . | 736 |
| Table 131. | DMAMUX2: assignment of trigger inputs to resources . . . . . | 736 |
| Table 132. | DMAMUX2: assignment of synchronization inputs to resources . . . . . | 737 |
| Table 133. | DMAMUX signals . . . . . | 739 |
| Table 134. | DMAMUX interrupts . . . . . | 743 |
| Table 135. | DMAMUX register map and reset values . . . . . | 752 |
| Table 136. | DMA2D internal input/output signals . . . . . | 756 |
| Table 137. | Supported color mode in input . . . . . | 757 |
| Table 138. | Data order in memory . . . . . | 758 |
| Table 139. | Alpha mode configuration . . . . . | 759 |
| Table 140. | Supported CLUT color mode . . . . . | 760 |
| Table 141. | CLUT data order in memory . . . . . | 760 |
| Table 142. | Supported color mode in output . . . . . | 761 |
| Table 143. | Data order in memory . . . . . | 761 |
| Table 144. | Standard data order in memory . . . . . | 762 |
| Table 145. | Output FIFO byte reordering steps . . . . . | 763 |
| Table 146. | MCU order in memory . . . . . | 768 |
| Table 147. | DMA2D interrupt requests . . . . . | 769 |
| Table 148. | DMA2D register map and reset values . . . . . | 786 |
| Table 149. | NVIC1 (CPU1) and NVIC2 (CPU2) . . . . . | 789 |
| Table 150. | EXTI Event input configurations and register control . . . . . | 799 |
| Table 151. | Configurable Event input Asynchronous Edge detector reset . . . . . | 801 |
| Table 152. | EXTI Event input mapping . . . . . | 806 |
| Table 153. | Masking functionality . . . . . | 808 |
| Table 154. | Asynchronous interrupt/event controller register map and reset values . . . . . | 827 |
| Table 155. | CRC internal input/output signals . . . . . | 831 |
| Table 156. | CRC register map and reset values . . . . . | 836 |
| Table 157. | FMC pins . . . . . | 840 |
| Table 158. | FMC bank mapping options . . . . . | 843 |
| Table 159. | NOR/PSRAM bank selection . . . . . | 843 |
| Table 160. | NOR/PSRAM External memory address . . . . . | 843 |
| Table 161. | NAND memory mapping and timing registers. . . . . | 844 |
| Table 162. | NAND bank selection . . . . . | 844 |
| Table 163. | SDRAM bank selection. . . . . | 844 |
| Table 164. | SDRAM address mapping . . . . . | 845 |
| Table 165. | SDRAM address mapping with 8-bit data bus width. . . . . | 845 |
| Table 166. | SDRAM address mapping with 16-bit data bus width. . . . . | 846 |
| Table 167. | SDRAM address mapping with 32-bit data bus width. . . . . | 847 |
| Table 168. | Programmable NOR/PSRAM access parameters . . . . . | 849 |
| Table 169. | Non-multiplexed I/O NOR flash memory. . . . . | 849 |
| Table 170. | 16-bit multiplexed I/O NOR flash memory . . . . . | 850 |
| Table 171. | Non-multiplexed I/Os PSRAM/SRAM . . . . . | 850 |
| Table 172. | 16-Bit multiplexed I/O PSRAM . . . . . | 850 |
| Table 173. | NOR flash/PSRAM: Example of supported memories and transactions . . . . . | 851 |
| Table 174. | FMC_BCRx bitfields (mode 1) . . . . . | 854 |
| Table 175. | FMC_BTRx bitfields (mode 1) . . . . . | 855 |
| Table 176. | FMC_BCRx bitfields (mode A) . . . . . | 857 |
| Table 177. | FMC_BTRx bitfields (mode A) . . . . . | 858 |
| Table 178. | FMC_BWTRx bitfields (mode A). . . . . | 858 |
| Table 179. | FMC_BCRx bitfields (mode 2/B). . . . . | 860 |
| Table 180. | FMC_BTRx bitfields (mode 2/B). . . . . | 861 |
| Table 181. | FMC_BWTRx bitfields (mode 2/B) . . . . . | 861 |
| Table 182. | FMC_BCRx bitfields (mode C) . . . . . | 863 |
| Table 183. | FMC_BTRx bitfields (mode C) . . . . . | 864 |
| Table 184. | FMC_BWTRx bitfields (mode C). . . . . | 864 |
| Table 185. | FMC_BCRx bitfields (mode D) . . . . . | 866 |
| Table 186. | FMC_BTRx bitfields (mode D) . . . . . | 866 |
| Table 187. | FMC_BWTRx bitfields (mode D). . . . . | 867 |
| Table 188. | FMC_BCRx bitfields (Muxed mode) . . . . . | 869 |
| Table 189. | FMC_BTRx bitfields (Muxed mode) . . . . . | 869 |
| Table 190. | FMC_BCRx bitfields (Synchronous multiplexed read mode) . . . . . | 875 |
| Table 191. | FMC_BTRx bitfields (Synchronous multiplexed read mode) . . . . . | 875 |
| Table 192. | FMC_BCRx bitfields (Synchronous multiplexed write mode) . . . . . | 876 |
| Table 193. | FMC_BTRx bitfields (Synchronous multiplexed write mode) . . . . . | 877 |
| Table 194. | Programmable NAND flash access parameters . . . . . | 887 |
| Table 195. | 8-bit NAND flash memory . . . . . | 887 |
| Table 196. | 16-bit NAND flash memory . . . . . | 888 |
| Table 197. | Supported memories and transactions . . . . . | 888 |
| Table 198. | ECC result relevant bits . . . . . | 898 |
| Table 199. | SDRAM signals. . . . . | 899 |
| Table 200. | FMC register map . . . . . | 916 |
| Table 201. | QUADSPI internal signals. . . . . | 920 |
| Table 202. | QUADSPI pins . . . . . | 920 |
| Table 203. | QUADSPI interrupt requests. . . . . | 934 |
| Table 204. | QUADSPI register map and reset values . . . . . | 946 |
| Table 205. | DLYB internal input/output signals . . . . . | 948 |
| Table 206. | Delay block control . . . . . | 948 |
| Table 207. | DLYB register map and reset values . . . . . | 951 |
| Table 208. | ADC features . . . . . | 954 |
| Table 209. | ADC input/output pins . . . . . | 956 |
| Table 210. | ADC internal input/output signals . . . . . | 956 |
| Table 211. | ADC interconnection . . . . . | 957 |
| Table 212. | Configuring the trigger polarity for regular external triggers . . . . . | 977 |
| Table 213. | Configuring the trigger polarity for injected external triggers . . . . . | 977 |
| Table 214. | ADC1, ADC2 and ADC3 - External triggers for regular channels . . . . . | 978 |
| Table 215. | ADC1, ADC2 and ADC3 - External triggers for injected channels . . . . . | 979 |
| Table 216. | TSAR timings depending on resolution . . . . . | 991 |
| Table 217. | Offset computation versus data resolution . . . . . | 994 |
| Table 218. | 16-bit data formats . . . . . | 997 |
| Table 219. | Numerical examples for 16-bit format (bold indicates saturation) . . . . . | 997 |
| Table 220. | Analog watchdog channel selection . . . . . | 1006 |
| Table 221. | Analog watchdog 1,2,3 comparison . . . . . | 1007 |
| Table 222. | Oversampler operating modes summary . . . . . | 1014 |
| Table 223. | ADC interrupts per each ADC . . . . . | 1033 |
| Table 224. | DELAY bits versus ADC resolution . . . . . | 1071 |
| Table 225. | ADC global register map . . . . . | 1073 |
| Table 226. | ADC register map and reset values for each ADC (offset=0x000 for master ADC, 0x100 for slave ADC) . . . . . | 1073 |
| Table 227. | ADC register map and reset values (master and slave ADC common registers) offset =0x300) . . . . . | 1076 |
| Table 228. | DAC features . . . . . | 1078 |
| Table 229. | DAC input/output pins . . . . . | 1080 |
| Table 230. | DAC internal input/output signals . . . . . | 1080 |
| Table 231. | DAC interconnection . . . . . | 1081 |
| Table 232. | Sample and refresh timings . . . . . | 1088 |
| Table 233. | Channel output modes summary . . . . . | 1089 |
| Table 234. | Effect of low-power modes on DAC . . . . . | 1095 |
| Table 235. | DAC interrupts . . . . . | 1096 |
| Table 236. | DAC register map and reset values . . . . . | 1112 |
| Table 237. | VREF buffer modes . . . . . | 1114 |
| Table 238. | VREFBUF register map and reset values . . . . . | 1116 |
| Table 239. | COMP input/output internal signals . . . . . | 1119 |
| Table 240. | COMP input/output pins . . . . . | 1119 |
| Table 241. | COMP1_OUT assignment to GPIOs . . . . . | 1122 |
| Table 242. | COMP2_OUT assignment to GPIOs . . . . . | 1122 |
| Table 243. | Comparator behavior in the low-power modes . . . . . | 1124 |
| Table 244. | Interrupt control bits . . . . . | 1124 |
| Table 245. | Interrupt control bits . . . . . | 1125 |
| Table 246. | COMP register map and reset values . . . . . | 1132 |
| Table 247. | Operational amplifier possible connections . . . . . | 1134 |
| Table 248. | Operating modes and calibration . . . . . | 1141 |
| Table 249. | Effect of low-power modes on the OPAMP . . . . . | 1143 |
| Table 250. | OPAMP register map and reset values . . . . . | 1150 |
| Table 251. | DFSDM1 implementation . . . . . | 1153 |
| Table 252. | DFSDM external pins . . . . . | 1155 |
| Table 253. | DFSDM internal signals . . . . . | 1155 |
| Table 254. | DFSDM triggers connection . . . . . | 1155 |
| Table 255. | DFSDM break connection. . . . . | 1156 |
| Table 256. | Filter maximum output resolution (peak data values from filter output) for some FOSR values . . . . . | 1171 |
| Table 257. | Integrator maximum output resolution (peak data values from integrator output) for some IOSR values and FOSR = 256 and Sinc3 filter type (largest data) . . . . . | 1172 |
| Table 258. | DFSDM interrupt requests . . . . . | 1180 |
| Table 259. | DFSDM register map and reset values. . . . . | 1200 |
| Table 260. | DCMI input/output pins . . . . . | 1211 |
| Table 261. | DCMI internal input/output signals . . . . . | 1211 |
| Table 262. | Positioning of captured data bytes in 32-bit words (8-bit width) . . . . . | 1213 |
| Table 263. | Positioning of captured data bytes in 32-bit words (10-bit width) . . . . . | 1213 |
| Table 264. | Positioning of captured data bytes in 32-bit words (12-bit width) . . . . . | 1213 |
| Table 265. | Positioning of captured data bytes in 32-bit words (14-bit width) . . . . . | 1214 |
| Table 266. | Data storage in monochrome progressive video format . . . . . | 1219 |
| Table 267. | Data storage in RGB progressive video format . . . . . | 1220 |
| Table 268. | Data storage in YCbCr progressive video format . . . . . | 1220 |
| Table 269. | Data storage in YCbCr progressive video format - Y extraction mode . . . . . | 1221 |
| Table 270. | DCMI interrupts. . . . . | 1221 |
| Table 271. | DCMI register map and reset values . . . . . | 1231 |
| Table 272. | LTDC external pins . . . . . | 1234 |
| Table 273. | LTDC internal signals . . . . . | 1235 |
| Table 274. | Clock domain for each register . . . . . | 1235 |
| Table 275. | LTDC register access and update durations . . . . . | 1236 |
| Table 276. | Pixel data mapping versus color format . . . . . | 1240 |
| Table 277. | LTDC interrupt requests . . . . . | 1244 |
| Table 278. | LTDC register map and reset values . . . . . | 1261 |
| Table 279. | DSI pins . . . . . | 1266 |
| Table 280. | DSI internal input/output signals . . . . . | 1267 |
| Table 281. | Location of color components in the LTDC interface . . . . . | 1270 |
| Table 282. | Multiplicity of the payload size in pixels for each data type . . . . . | 1271 |
| Table 283. | Contention detection timeout counters configuration . . . . . | 1283 |
| Table 284. | List of events of different categories of the PRESP_TO counter . . . . . | 1284 |
| Table 285. | PRESP_TO counter configuration . . . . . | 1287 |
| Table 286. | Frame requirement configuration registers. . . . . | 1299 |
| Table 287. | RGB components . . . . . | 1301 |
| Table 288. | Slew-rate and delay tuning . . . . . | 1303 |
| Table 289. | Custom lane configuration . . . . . | 1304 |
| Table 290. | Custom timing parameters . . . . . | 1304 |
| Table 291. | HS2LP and LP2HS values . . . . . | 1305 |
| Table 292. | DSI Wrapper interrupt requests . . . . . | 1308 |
| Table 293. | Error causes and recovery . . . . . | 1309 |
| Table 294. | DSI register map and reset values . . . . . | 1375 |
| Table 295. | JPEG internal signals . . . . . | 1382 |
| Table 296. | JPEG codec interrupt requests . . . . . | 1386 |
| Table 297. | JPEG codec register map and reset values . . . . . | 1399 |
| Table 298. | RNG internal input/output signals . . . . . | 1402 |
| Table 299. | RNG interrupt requests . . . . . | 1409 |
| Table 300. | RNG register map and reset map. . . . . | 1412 |
| Table 301. | CRYP internal input/output signals. . . . . | 1416 |
| Table 302. | Counter mode initialization vector. . . . . | 1440 |
| Table 303. | GCM last block definition . . . . . | 1443 |
| Table 304. | GCM mode IV registers initialization. . . . . | 1443 |
| Table 305. | CCM mode IV registers initialization. . . . . | 1450 |
| Table 306. | DES/TDES data swapping example . . . . . | 1454 |
| Table 307. | AES data swapping example . . . . . | 1455 |
| Table 308. | Key endianness in CRYP_KxR/LR registers (AES 128/192/256-bit keys) . . . . . | 1457 |
| Table 309. | Key endianness in CRYP_KxR/LR registers (DES K1 and TDES K1/2/3) . . . . . | 1458 |
| Table 310. | Initialization vector endianness in CRYP_IVx(L/R)R registers (AES) . . . . . | 1458 |
| Table 311. | Initialization vector endianness in CRYP_IVx(L/R)R registers (DES/TDES) . . . . . | 1458 |
| Table 312. | Cryptographic processor configuration for memory-to-peripheral DMA transfers . . . . . | 1459 |
| Table 313. | Cryptographic processor configuration for peripheral-to-memory DMA transfers . . . . . | 1460 |
| Table 314. | CRYP interrupt requests. . . . . | 1462 |
| Table 315. | Processing latency for ECB, CBC and CTR. . . . . | 1463 |
| Table 316. | Processing time (in clock cycle) for GCM and CCM per 128-bit block . . . . . | 1463 |
| Table 317. | CRYP register map and reset values . . . . . | 1477 |
| Table 318. | HASH internal input/output signals . . . . . | 1482 |
| Table 319. | Hash processor outputs . . . . . | 1485 |
| Table 320. | HASH interrupt requests. . . . . | 1492 |
| Table 321. | Processing time (in clock cycle) . . . . . | 1492 |
| Table 322. | HASH register map and reset values . . . . . | 1500 |
| Table 323. | HRTIM Input/output summary. . . . . | 1506 |
| Table 324. | Timer resolution and min. PWM frequency for \( f_{HRTIM} = 400 \) MHz . . . . . | 1508 |
| Table 325. | Period and Compare registers min and max values . . . . . | 1510 |
| Table 326. | Timer operating modes. . . . . | 1511 |
| Table 327. | Events mapping across Timer A to E . . . . . | 1516 |
| Table 328. | Deadtime resolution and max absolute values . . . . . | 1524 |
| Table 329. | External events mapping and associated features . . . . . | 1531 |
| Table 330. | Output set/reset latency and jitter vs external event operating mode. . . . . | 1532 |
| Table 331. | Filtering signals mapping per timer . . . . . | 1535 |
| Table 332. | Windowing signals mapping per timer (EEFLTR[3:0] = 1111) . . . . . | 1537 |
| Table 333. | HRTIM preloadable control registers and associated update sources . . . . . | 1546 |
| Table 334. | Update enable inputs and sources . . . . . | 1547 |
| Table 335. | Master timer update event propagation . . . . . | 1549 |
| Table 336. | TIMx update event propagation . . . . . | 1549 |
| Table 337. | Reset events able to generate an update. . . . . | 1550 |
| Table 338. | Update event propagation for a timer reset . . . . . | 1551 |
| Table 339. | Output state programming, x= A..E, y = 1 or 2 . . . . . | 1552 |
| Table 340. | Timer output programming for burst mode . . . . . | 1555 |
| Table 341. | Burst mode clock sources from general purpose timer. . . . . | 1557 |
| Table 342. | Fault inputs . . . . . | 1565 |
| Table 343. | Sampling rate and filter length vs FLTFxF[3:0] and clock setting . . . . . | 1566 |
| Table 344. | Effect of sync event vs timer operating modes . . . . . | 1571 |
| Table 345. | HRTIM interrupt summary . . . . . | 1577 |
| Table 346. | HRTIM DMA request summary. . . . . | 1578 |
| Table 347. | RTIM global register map . . . . . | 1668 |
| Table 348. | HRTIM Register map and reset values: Master timer. . . . . | 1668 |
| Table 349. | HRTIM Register map and reset values: TIMx (x= A..E) . . . . . | 1670 |
| Table 350. | HRTIM Register map and reset values: Common functions. . . . . | 1674 |
| Table 351. | Behavior of timer outputs versus BRK/BRK2 inputs. . . . . | 1718 |
| Table 352. | Counting direction versus encoder signals . . . . . | 1725 |
| Table 353. | TIMx internal trigger connection . . . . . | 1742 |
| Table 354. | Output control bits for complementary OCx and OCxN channels with break feature . . . | 1756 |
| Table 355. | TIM1 register map and reset values . . . . . | 1776 |
| Table 356. | TIM8 register map and reset values . . . . . | 1778 |
| Table 357. | Counting direction versus encoder signals . . . . . | 1814 |
| Table 358. | TIMx internal trigger connection . . . . . | 1832 |
| Table 359. | Output control bit for standard OCx channels . . . . . | 1843 |
| Table 360. | TIM2/TIM3/TIM4/TIM5 register map and reset values . . . . . | 1855 |
| Table 361. | TIMx internal trigger connection . . . . . | 1886 |
| Table 362. | Output control bit for standard OCx channels . . . . . | 1894 |
| Table 363. | TIM12 register map and reset values . . . . . | 1897 |
| Table 364. | Output control bit for standard OCx channels . . . . . | 1906 |
| Table 365. | TIM13/TIM14 register map and reset values . . . . . | 1909 |
| Table 366. | TIMx Internal trigger connection . . . . . | 1953 |
| Table 367. | Output control bits for complementary OCx and OCxN channels with break feature (TIM15) . . . . . | 1963 |
| Table 368. | TIM15 register map and reset values . . . . . | 1972 |
| Table 369. | Output control bits for complementary OCx and OCxN channels with break feature (TIM16/17) . . . . . | 1984 |
| Table 370. | TIM16/TIM17 register map and reset values . . . . . | 1995 |
| Table 371. | TIMx register map and reset values . . . . . | 2009 |
| Table 372. | STM32H745/755 and STM32H747/757 LPTIM features . . . . . | 2011 |
| Table 373. | LPTIM input/output pins . . . . . | 2013 |
| Table 374. | LPTIM internal signals . . . . . | 2013 |
| Table 375. | LPTIM1 external trigger connection . . . . . | 2013 |
| Table 376. | LPTIM2 external trigger connection . . . . . | 2014 |
| Table 377. | LPTIM3 external trigger connection . . . . . | 2014 |
| Table 378. | LPTIM4 external trigger connection . . . . . | 2014 |
| Table 379. | LPTIM5 external trigger connection . . . . . | 2015 |
| Table 380. | LPTIM1 input 1 connection . . . . . | 2015 |
| Table 381. | LPTIM1 input 2 connection . . . . . | 2015 |
| Table 382. | LPTIM2 input 1 connection . . . . . | 2015 |
| Table 383. | LPTIM2 input 2 connection . . . . . | 2016 |
| Table 384. | LPTIM3 input 1 connection . . . . . | 2016 |
| Table 385. | Prescaler division ratios . . . . . | 2017 |
| Table 386. | Encoder counting scenarios . . . . . | 2024 |
| Table 387. | Effect of low-power modes on the LPTIM . . . . . | 2025 |
| Table 388. | Interrupt events . . . . . | 2026 |
| Table 389. | LPTIM register map and reset values . . . . . | 2037 |
| Table 390. | WWDG internal input/output signals . . . . . | 2042 |
| Table 391. | WWDG register map and reset values . . . . . | 2046 |
| Table 392. | IWDG internal input/output signals . . . . . | 2048 |
| Table 393. | IWDG register map and reset values . . . . . | 2055 |
| Table 394. | RTC pins and internal signals . . . . . | 2060 |
| Table 395. | RTC pin PC13 configuration . . . . . | 2060 |
| Table 396. | RTC_OUT mapping . . . . . | 2061 |
| Table 397. | RTC functions over modes . . . . . | 2062 |
| Table 398. | Effect of low-power modes on RTC . . . . . | 2074 |
| Table 399. | Interrupt control bits . . . . . | 2075 |
| Table 400. | RTC register map and reset values . . . . . | 2100 |
| Table 401. | STM32H745/755 and STM32H747/757 I2C implementation . . . . . | 2103 |
| Table 402. | I2C input/output pins . . . . . | 2105 |
| Table 403. | I2C internal input/output signals . . . . . | 2105 |
| Table 404. | Comparison of analog vs. digital filters . . . . . | 2107 |
| Table 405. | I2C-SMBus specification data setup and hold times . . . . . | 2109 |
| Table 406. | I2C configuration. . . . . | 2114 |
| Table 407. | I2C-SMBus specification clock timings . . . . . | 2125 |
| Table 408. | Examples of timing settings for fI2CCLK = 8 MHz . . . . . | 2135 |
| Table 409. | Examples of timing settings for fI2CCLK = 16 MHz . . . . . | 2135 |
| Table 410. | Examples of timing settings for fI2CCLK = 48 MHz . . . . . | 2136 |
| Table 411. | SMBus timeout specifications . . . . . | 2138 |
| Table 412. | SMBus with PEC configuration . . . . . | 2139 |
| Table 413. | Examples of TIMEOUTA settings (max t T IMEOUT = 25 ms) . . . . . | 2141 |
| Table 414. | Examples of TIMEOUTB settings . . . . . | 2141 |
| Table 415. | Examples of TIMEOUTA settings (max t D LE = 50 µs) . . . . . | 2141 |
| Table 416. | Effect of low-power modes on the I2C . . . . . | 2152 |
| Table 417. | I2C interrupt requests . . . . . | 2153 |
| Table 418. | I2C register map and reset values . . . . . | 2168 |
| Table 419. | USART / LPUART features . . . . . | 2172 |
| Table 420. | Noise detection from sampled data . . . . . | 2187 |
| Table 421. | Tolerance of the USART receiver when BRR [3:0] = 0000. . . . . | 2190 |
| Table 422. | Tolerance of the USART receiver when BRR[3:0] is different from 0000. . . . . | 2191 |
| Table 423. | USART frame formats . . . . . | 2196 |
| Table 424. | Effect of low-power modes on the USART . . . . . | 2219 |
| Table 425. | USART interrupt requests. . . . . | 2220 |
| Table 426. | USART register map and reset values . . . . . | 2255 |
| Table 427. | USART / LPUART features . . . . . | 2259 |
| Table 428. | Error calculation for programmed baud rates at lpuart_ker_ck_pres = 32.768 kHz . . . . . | 2270 |
| Table 429. | Error calculation for programmed baud rates at fCK = 100 MHz . . . . . | 2271 |
| Table 430. | Tolerance of the LPUART receiver. . . . . | 2272 |
| Table 432. | Effect of low-power modes on the LPUART . . . . . | 2283 |
| Table 433. | LPUART interrupt requests. . . . . | 2284 |
| Table 434. | LPUART register map and reset values . . . . . | 2308 |
| Table 435. | STM32H745/55/47/57xx SPI features . . . . . | 2311 |
| Table 436. | SPI wakeup and interrupt requests. . . . . | 2343 |
| Table 437. | Bitfields usable in PCM/I2S mode . . . . . | 2346 |
| Table 438. | WS and CK level before SPI/I2S is enabled when AFCNTR = 1 . . . . . | 2354 |
| Table 439. | Serial data line swapping . . . . . | 2354 |
| Table 440. | CLKGEN programming examples for usual I2S frequencies . . . . . | 2359 |
| Table 441. | I2S interrupt requests . . . . . | 2368 |
| Table 442. | SPI register map and reset values . . . . . | 2387 |
| Table 443. | STM32H743/753/745/755/747/757 SAI features . . . . . | 2390 |
| Table 444. | SAI internal input/output signals . . . . . | 2392 |
| Table 445. | SAI input/output pins. . . . . | 2392 |
| Table 446. | External synchronization selection . . . . . | 2394 |
| Table 447. | MCLK_x activation conditions. . . . . | 2400 |
| Table 448. | Clock generator programming examples . . . . . | 2403 |
| Table 449. | TDM settings. . . . . | 2410 |
| Table 450. | TDM frame configuration examples . . . . . | 2412 |
| Table 451. | SOPD pattern . . . . . | 2416 |
| Table 452. | Parity bit calculation . . . . . | 2416 |
| Table 453. | Audio sampling frequency versus symbol rates . . . . . | 2417 |
| Table 454. | SAI interrupt sources . . . . . | 2426 |
| Table 455. | SAI register map and reset values . . . . . | 2456 |
| Table 456. | SPDIFRX internal input/output signals . . . . . | 2459 |
| Table 457. | SPDIFRX pins . . . . . | 2459 |
| Table 458. | Transition sequence for preamble . . . . . | 2465 |
| Table 459. | Minimum spdifrx_ker_ck frequency versus audio sampling rate . . . . . | 2475 |
| Table 460. | Bit field property versus SPDIFRX state . . . . . | 2477 |
| Table 461. | SPDIFRX interface register map and reset values . . . . . | 2489 |
| Table 462. | SWPMI input/output signals connected to package pins or balls . . . . . | 2492 |
| Table 463. | SWPMI internal input/output signals . . . . . | 2493 |
| Table 464. | Effect of low-power modes on SWPMI . . . . . | 2507 |
| Table 465. | Interrupt control bits . . . . . | 2508 |
| Table 466. | Buffer modes selection for transmission/reception . . . . . | 2510 |
| Table 467. | SWPMI register map and reset values . . . . . | 2517 |
| Table 468. | MDOIS input/output signals connected to package pins or balls . . . . . | 2519 |
| Table 469. | MDOIS internal input/output signals . . . . . | 2519 |
| Table 470. | Interrupt control bits . . . . . | 2524 |
| Table 471. | MDOIS register map and reset values . . . . . | 2529 |
| Table 472. | SDMMC features . . . . . | 2531 |
| Table 473. | SDMMC operation modes SD and SDIO . . . . . | 2534 |
| Table 474. | SDMMC operation modes e•MMC . . . . . | 2534 |
| Table 475. | SDMMC internal input/output signals . . . . . | 2535 |
| Table 476. | SDMMC pins . . . . . | 2536 |
| Table 477. | SDMMC Command and data phase selection . . . . . | 2537 |
| Table 478. | Command token format . . . . . | 2543 |
| Table 479. | Short response with CRC token format . . . . . | 2544 |
| Table 480. | Short response without CRC token format . . . . . | 2544 |
| Table 481. | Long response with CRC token format . . . . . | 2544 |
| Table 482. | Specific Commands overview . . . . . | 2545 |
| Table 483. | Command path status flags . . . . . | 2546 |
| Table 484. | Command path error handling . . . . . | 2546 |
| Table 485. | Data token format . . . . . | 2554 |
| Table 486. | Data path status flags and clear bits . . . . . | 2554 |
| Table 487. | Data path error handling . . . . . | 2556 |
| Table 488. | Data FIFO access . . . . . | 2557 |
| Table 489. | Transmit FIFO status flags . . . . . | 2558 |
| Table 490. | Receive FIFO status flags . . . . . | 2559 |
| Table 491. | SDMMC connections to MDMA . . . . . | 2563 |
| Table 492. | AHB and SDMMC_CK clock frequency relation . . . . . | 2563 |
| Table 493. | SDIO special operation control . . . . . | 2564 |
| Table 494. | 4-bit mode Start, interrupt, and CRC-status Signaling detection . . . . . | 2568 |
| Table 495. | CMD12 use cases . . . . . | 2572 |
| Table 496. | SDMMC interrupts . . . . . | 2586 |
| Table 497. | Response type and SDMMC_RESPxR registers . . . . . | 2594 |
| Table 498. | SDMMC register map . . . . . | 2609 |
| Table 499. | CAN subsystem I/O signals . . . . . | 2612 |
| Table 500. | CAN subsystem I/O pins . . . . . | 2613 |
| Table 501. | Main features . . . . . | 2615 |
| Table 502. | DLC coding in FDCAN . . . . . | 2620 |
| Table 503. | Example of filter configuration for Rx buffers . . . . . | 2632 |
| Table 504. | Example of filter configuration for Debug messages . . . . . | 2633 |
| Table 505. | Possible configurations for frame transmission . . . . . | 2633 |
| Table 506. | Tx buffer/FIFO - queue element size . . . . . | 2634 |
| Table 507. | First byte of level 1 reference message . . . . . | 2644 |
| Table 508. | First four bytes of level 2 reference message . . . . . | 2645 |
| Table 509. | First four bytes of level 0 reference message . . . . . | 2645 |
| Table 510. | TUR configuration example . . . . . | 2646 |
| Table 511. | System matrix, Node A . . . . . | 2651 |
| Table 512. | Trigger list, Node A . . . . . | 2652 |
| Table 513. | Number of data bytes transmitted with a reference message. . . . . | 2659 |
| Table 514. | Rx buffer and FIFO element . . . . . | 2666 |
| Table 515. | Rx buffer and FIFO element description . . . . . | 2666 |
| Table 516. | Tx buffer and FIFO element . . . . . | 2668 |
| Table 517. | Tx buffer element description . . . . . | 2668 |
| Table 518. | Tx Event FIFO element. . . . . | 2670 |
| Table 519. | Tx Event FIFO element description . . . . . | 2670 |
| Table 520. | Standard message ID filter element . . . . . | 2671 |
| Table 521. | Standard message ID filter element field description . . . . . | 2672 |
| Table 522. | Extended message ID filter element. . . . . | 2673 |
| Table 523. | Extended message ID filter element field description . . . . . | 2673 |
| Table 524. | Trigger memory element. . . . . | 2674 |
| Table 525. | Trigger memory element description . . . . . | 2674 |
| Table 526. | FDCAN register map and reset values . . . . . | 2713 |
| Table 527. | FDCAN TT register map and reset values . . . . . | 2735 |
| Table 528. | CCU register map and reset values . . . . . | 2741 |
| Table 529. | OTG_HS speeds supported . . . . . | 2744 |
| Table 530. | OTG_HS implementation . . . . . | 2746 |
| Table 531. | OTG_FS input/output pins . . . . . | 2748 |
| Table 532. | OTG_HS input/output pins . . . . . | 2748 |
| Table 533. | OTG_HS input/output signals . . . . . | 2748 |
| Table 534. | Compatibility of STM32 low power modes with the OTG . . . . . | 2761 |
| Table 535. | Core global control and status registers (CSRs). . . . . | 2769 |
| Table 536. | Host-mode control and status registers (CSRs) . . . . . | 2770 |
| Table 537. | Device-mode control and status registers . . . . . | 2772 |
| Table 538. | Data FIFO (DFIFO) access register map . . . . . | 2774 |
| Table 539. | Power and clock gating control and status registers . . . . . | 2774 |
| Table 540. | TRDT values . . . . . | 2783 |
| Table 541. | Minimum duration for soft disconnect . . . . . | 2828 |
| Table 542. | OTG_HS register map and reset values. . . . . | 2856 |
| Table 543. | Ethernet peripheral pins . . . . . | 2935 |
| Table 544. | Ethernet internal input/output signals . . . . . | 2936 |
| Table 545. | Priority scheme for Tx DMA and Rx DMA. . . . . | 2945 |
| Table 546. | Double VLAN processing features in Tx path. . . . . | 2951 |
| Table 547. | Double VLAN processing in Rx path . . . . . | 2952 |
| Table 548. | VLAN insertion or replacement based on VLTi bit . . . . . | 2953 |
| Table 549. | Destination address filtering . . . . . | 2956 |
| Table 550. | Source address filtering . . . . . | 2957 |
| Table 551. | VLAN match status . . . . . | 2958 |
| Table 552. | Ordinary clock: PTP messages for snapshot . . . . . | 2961 |
| Table 553. | End-to-end transparent clock: PTP messages for snapshot . . . . . | 2962 |
| Table 554. | Peer-to-peer transparent clock: PTP messages for snapshot. . . . . | 2963 |
| Table 555. | Egress and ingress latency for PHY interfaces . . . . . | 2966 |
| Table 556. | Minimum PTP clock frequency example. . . . . | 2967 |
| Table 557. | Message format defined in IEEE 1588-2008 . . . . . | 2968 |
| Table 558. | Message format defined in IEEE 1588-2008 . . . . . | 2968 |
| Table 559. | IPv6-UDP PTP packet fields required for control and status . . . . . | 2969 |
| Table 560. | Ethernet PTP packet fields required for control and status . . . . . | 2970 |
| Table 561. | Timestamp Snapshot Dependency on ETH_MACTSCR bits . . . . . | 2972 |
| Table 562. | PTP message generation criteria . . . . . | 2978 |
| Table 563. | Common PTP message header fields . . . . . | 2980 |
| Table 564. | MAC Transmit PTP mode and one-step timestamping operation. . . . . | 2983 |
| Table 565. | Transmit checksum offload engine functions for different packet types . . . . . | 2988 |
| Table 566. | Receive checksum offload engine functions for different packet types . . . . . | 2990 |
| Table 567. | TSO: TCP and IP header fields . . . . . | 2994 |
| Table 568. | Pause packet fields. . . . . | 2999 |
| Table 569. | Tx MAC flow control . . . . . | 3000 |
| Table 570. | Rx MAC flow control . . . . . | 3000 |
| Table 571. | Size of the maximum receive packet . . . . . | 3003 |
| Table 572. | MCD clock selection . . . . . | 3006 |
| Table 573. | MDIO Clause 45 frame structure . . . . . | 3007 |
| Table 574. | MDIO Clause 22 frame structure . . . . . | 3008 |
| Table 575. | Remote wakeup packet filter register . . . . . | 3019 |
| Table 576. | Description of the remote wakeup filter fields . . . . . | 3020 |
| Table 577. | Remote wakeup packet and PMT interrupt generation . . . . . | 3021 |
| Table 578. | Transfer complete interrupt behavior . . . . . | 3029 |
| Table 579. | TDES0 normal descriptor (read format) . . . . . | 3049 |
| Table 580. | TDES1 normal descriptor (read format) . . . . . | 3050 |
| Table 581. | TDES2 normal descriptor (read format) . . . . . | 3050 |
| Table 582. | TDES3 normal descriptor (read format) . . . . . | 3051 |
| Table 583. | TDES0 normal descriptor (write-back format). . . . . | 3054 |
| Table 584. | TDES1 normal descriptor (write-back format). . . . . | 3054 |
| Table 585. | TDES2 normal descriptor (write-back format). . . . . | 3055 |
| Table 586. | TDES3 normal descriptor (write-back format). . . . . | 3055 |
| Table 587. | TDES0 context descriptor. . . . . | 3058 |
| Table 588. | TDES1 context descriptor. . . . . | 3059 |
| Table 589. | TDES2 context descriptor. . . . . | 3059 |
| Table 590. | TDES3 context descriptor. . . . . | 3059 |
| Table 591. | RDES0 normal descriptor (read format) . . . . . | 3063 |
| Table 592. | RDES1 normal descriptor (read format) . . . . . | 3063 |
| Table 593. | RDES2 normal descriptor (read format) . . . . . | 3063 |
| Table 594. | RDES3 normal descriptor (read format) . . . . . | 3064 |
| Table 595. | RDES0 normal descriptor (write-back format) . . . . . | 3065 |
| Table 596. | RDES1 normal descriptor (write-back format) . . . . . | 3066 |
| Table 597. | RDES2 normal descriptor (write-back format) . . . . . | 3068 |
| Table 598. | RDES3 normal descriptor (write-back format) . . . . . | 3069 |
| Table 599. | RDES0 context descriptor . . . . . | 3072 |
| Table 600. | RDES1 context descriptor . . . . . | 3073 |
| Table 601. | RDES2 context descriptor . . . . . | 3073 |
| Table 602. | RDES3 context descriptor . . . . . | 3073 |
| Table 603. | ETH_DMA common register map and reset values . . . . . | 3097 |
| Table 604. | ETH_DMA_CH register map and reset values . . . . . | 3097 |
| Table 605. | ETH_MTL register map and reset values . . . . . | 3110 |
| Table 606. | Giant Packet Status based on S2KP and JE Bits . . . . . | 3116 |
| Table 607. | Packet Length based on the CST and ACS bits . . . . . | 3116 |
| Table 608. | Ethernet MAC register map and reset values . . . . . | 3197 |
| Table 609. | HDMI pin . . . . . | 3209 |
| Table 610. | HDMI-CEC internal input/output signals . . . . . | 3209 |
| Table 611. | Error handling timing parameters . . . . . | 3215 |
| Table 612. | TXERR timing parameters . . . . . | 3216 |
| Table 613. | HDMI-CEC interrupts . . . . . | 3217 |
| Table 614. | HDMI-CEC register map and reset values . . . . . | 3225 |
| Table 615. | JTAG/Serial-wire debug port pins . . . . . | 3228 |
| Table 616. | Trace port pins . . . . . | 3229 |
| Table 617. | Serial-wire trace port pins . . . . . | 3229 |
| Table 618. | Trigger pins . . . . . | 3229 |
| Table 619. | Packet request . . . . . | 3233 |
| Table 620. | ACK response . . . . . | 3233 |
| Table 621. | Data transfer . . . . . | 3234 |
| Table 622. | JTAG-DP data registers . . . . . | 3236 |
| Table 623. | Debug port registers . . . . . | 3238 |
| Table 624. | MEM-AP registers . . . . . | 3248 |
| Table 625. | System ROM table 1 . . . . . | 3252 |
| Table 626. | System ROM table 2 . . . . . | 3253 |
| Table 627. | System ROM table 1 register map and reset values . . . . . | 3259 |
| Table 628. | System ROM table 2 register map and reset values . . . . . | 3260 |
| Table 629. | TSG register map and reset values . . . . . | 3268 |
| Table 630. | System CTI inputs . . . . . | 3271 |
| Table 631. | System CTI outputs . . . . . | 3271 |
| Table 632. | Cortex-M7 CTI inputs . . . . . | 3271 |
| Table 633. | Cortex-M7 CTI outputs . . . . . | 3272 |
| Table 634. | Cortex-M4 CTI inputs . . . . . | 3272 |
| Table 635. | Cortex-M4 CTI outputs . . . . . | 3272 |
| Table 636. | CTI register map and reset values . . . . . | 3289 |
| Table 637. | CSTF register map and reset values . . . . . | 3300 |
| Table 638. | ETF register map and reset values . . . . . | 3321 |
| Table 639. | TPIU register map and reset values . . . . . | 3339 |
| Table 640. | SWO register map and reset values . . . . . | 3351 |
| Table 641. | SWTF register map and reset values . . . . . | 3362 |
| Table 642. | DBGMCU register map and reset values . . . . . | 3374 |
| Table 643. | Cortex-M7 processor ROM table . . . . . | 3376 |
| Table 644. | Cortex-M7 PPB ROM table . . . . . | 3376 |
| Table 645. | Cortex-M7 processor ROM table register map and reset values . . . . . | 3382 |
| Table 646. | Cortex-M7 PPB ROM table register map and reset values . . . . . | 3387 |
| Table 647. | Cortex-M7 DWT register map and reset values . . . . . | 3399 |
| Table 648. | Cortex-M7 ITM register map and reset values . . . . . | 3409 |
| Table 649. | Cortex-M7 FPB register map and reset values . . . . . | 3416 |
| Table 650. | Cortex-M7 ETM register map and reset values . . . . . | 3446 |
| Table 651. | Cortex-M4 ROM table . . . . . | 3451 |
| Table 652. | Cortex-M4 ROM table register map and reset values . . . . . | 3457 |
| Table 653. | Cortex-M4 DWT register map and reset values . . . . . | 3468 |
| Table 654. | Cortex-M4 ITM register map and reset values . . . . . | 3478 |
| Table 655. | Cortex-M4 FPB register map and reset values . . . . . | 3485 |
| Table 656. | Cortex-M4 ETM register map and reset values . . . . . | 3505 |
| Table 657. | Document revision history . . . . . | 3514 |
List of figures
| Figure 1. | System architecture for STM32H745/55/47/57xx devices . . . . . | 109 |
| Figure 2. | AXI interconnect . . . . . | 115 |
| Figure 3. | RAM ECC controller implementation schematic. . . . . | 147 |
| Figure 4. | Connection between RAM ECC controller and RAMECC monitoring unit . . . . . | 147 |
| Figure 5. | FLASH block diagram . . . . . | 155 |
| Figure 6. | Detailed FLASH architecture . . . . . | 157 |
| Figure 7. | Embedded flash memory organization . . . . . | 158 |
| Figure 8. | Embedded flash memory usage . . . . . | 161 |
| Figure 9. | FLASH protection mechanisms . . . . . | 162 |
| Figure 10. | FLASH read pipeline architecture . . . . . | 165 |
| Figure 11. | FLASH write pipeline architecture . . . . . | 168 |
| Figure 12. | Flash bank swapping sequence . . . . . | 177 |
| Figure 13. | RDP protection transition scheme . . . . . | 193 |
| Figure 14. | Example of protected region overlapping . . . . . | 195 |
| Figure 15. | Flash memory areas and services in Standard and Secure access modes . . . . . | 256 |
| Figure 16. | Bootloader state machine in Secure access mode . . . . . | 257 |
| Figure 17. | Core access to flash memory areas . . . . . | 260 |
| Figure 18. | ART accelerator - block schematic . . . . . | 263 |
| Figure 19. | Instruction fetch from cache . . . . . | 265 |
| Figure 20. | Power control block diagram . . . . . | 269 |
| Figure 21. | Power supply overview . . . . . | 273 |
| Figure 22. | System supply configurations . . . . . | 274 |
| Figure 23. | Device startup with V CORE supplied from voltage regulator . . . . . | 277 |
| Figure 24. | Device startup with V
CORE
supplied directly from SMPS step-down converter . . . . . | 278 |
| Figure 25. | Device startup with V
CORE
supplied in Bypass mode from external regulator . . . . . | 279 |
| Figure 26. | Backup domain . . . . . | 284 |
| Figure 27. | USB supply configurations . . . . . | 285 |
| Figure 28. | DSI supply configuration. . . . . | 286 |
| Figure 29. | Power-on reset/power-down reset waveform . . . . . | 287 |
| Figure 30. | BOR thresholds . . . . . | 288 |
| Figure 31. | PVD thresholds . . . . . | 289 |
| Figure 32. | AVD thresholds . . . . . | 290 |
| Figure 33. | VBAT thresholds . . . . . | 291 |
| Figure 34. | Temperature thresholds . . . . . | 292 |
| Figure 35. | V CORE overvoltage protection. . . . . | 293 |
| Figure 36. | Switching V CORE from VOS1 to VOS0 . . . . . | 298 |
| Figure 37. | V CORE voltage scaling versus system power modes . . . . . | 299 |
| Figure 38. | Power control modes detailed state diagram . . . . . | 301 |
| Figure 39. | Dynamic voltage scaling in Run mode . . . . . | 304 |
| Figure 40. | Dynamic voltage scaling behavior with D1, D2 and system in Stop mode . . . . . | 305 |
| Figure 41. | Dynamic Voltage Scaling D1, D2, system Standby mode . . . . . | 307 |
| Figure 42. | Dynamic voltage scaling behavior with D1 and D2 in DStandby mode and D3 in autonomous mode. . . . . | 309 |
| Figure 43. | Stop mode hold mechanism state diagram . . . . . | 318 |
| Figure 44. | EXTI, RCC and PWR interconnections . . . . . | 340 |
| Figure 45. | Timing diagram of SRAM4-to-LPUART1 transfer with BDMA and D3 domain in Autonomous mode . . . . . | 344 |
| Figure 46. | BDMA and DMAMUX2 interconnection . . . . . | 346 |
| Figure 47. | Timing diagram of LPUART1 transmission with D3 domain in Autonomous mode . . . . . | 349 |
| Figure 48. | RCC Block diagram . . . . . | 352 |
| Figure 49. | System reset circuit . . . . . | 356 |
| Figure 50. | Boot sequences versus system states . . . . . | 362 |
| Figure 51. | Top-level clock tree. . . . . | 365 |
| Figure 52. | HSE/LSE clock source . . . . . | 366 |
| Figure 53. | PLL block diagram . . . . . | 373 |
| Figure 54. | PLLs Initialization Flowchart . . . . . | 376 |
| Figure 55. | Core and bus clock generation . . . . . | 378 |
| Figure 56. | Kernel clock distribution for SAIs and DFSDM1 . . . . . | 385 |
| Figure 57. | Kernel clock distribution for SPIs and SPI/I2S . . . . . | 386 |
| Figure 58. | Kernel clock distribution for I2Cs . . . . . | 387 |
| Figure 59. | Kernel clock distribution for UARTs, USARTs and LPUART1 . . . . . | 387 |
| Figure 60. | Kernel clock distribution for DSI and LTDC . . . . . | 388 |
| Figure 61. | Kernel clock distribution for SDMMC, QUADSPI and FMC . . . . . | 388 |
| Figure 62. | Kernel clock distribution For USB (2) . . . . . | 389 |
| Figure 63. | Kernel clock distribution for Ethernet . . . . . | 390 |
| Figure 64. | Kernel clock distribution For ADCs, SWPMI, RNG and FDCAN (2) . . . . . | 391 |
| Figure 65. | Kernel clock distribution for LPTIMs and HDMI-CEC (2) . . . . . | 392 |
| Figure 66. | Peripheral allocation example. . . . . | 396 |
| Figure 67. | Kernel Clock switching . . . . . | 401 |
| Figure 68. | Peripheral kernel clock enable logic details . . . . . | 404 |
| Figure 69. | Bus clock enable logic . . . . . | 411 |
| Figure 70. | RCC mapping overview . . . . . | 414 |
| Figure 71. | CRS block diagram. . . . . | 543 |
| Figure 72. | CRS counter behavior . . . . . | 545 |
| Figure 73. | HSEM block diagram . . . . . | 555 |
| Figure 74. | Procedure state diagram . . . . . | 556 |
| Figure 75. | Interrupt state diagram . . . . . | 559 |
| Figure 76. | Basic structure of an I/O port bit . . . . . | 569 |
| Figure 77. | Basic structure of a 5-Volt tolerant I/O port bit . . . . . | 569 |
| Figure 78. | Input floating / pull up / pull down configurations . . . . . | 574 |
| Figure 79. | Output configuration . . . . . | 575 |
| Figure 80. | Alternate function configuration . . . . . | 576 |
| Figure 81. | High impedance-analog configuration . . . . . | 576 |
| Figure 82. | Analog inputs connected to ADC inputs . . . . . | 577 |
| Figure 83. | MDMA block diagram . . . . . | 651 |
| Figure 84. | DMA block diagram . . . . . | 676 |
| Figure 85. | Peripheral-to-memory mode . . . . . | 680 |
| Figure 86. | Memory-to-peripheral mode . . . . . | 681 |
| Figure 87. | Memory-to-memory mode . . . . . | 682 |
| Figure 88. | FIFO structure. . . . . | 687 |
| Figure 89. | BDMA block diagram . . . . . | 709 |
| Figure 90. | DMAMUX block diagram . . . . . | 738 |
| Figure 91. | Synchronization mode of the DMAMUX request line multiplexer channel . . . . . | 741 |
| Figure 92. | Event generation of the DMA request line multiplexer channel . . . . . | 741 |
| Figure 93. | DMA2D block diagram . . . . . | 756 |
| Figure 94. | Intel 8080 16-bit mode (RGB565). . . . . | 762 |
| Figure 95. | Intel 8080 18/24-bit mode (RGB888) . . . . . | 763 |
| Figure 96. | EXTI block diagram . . . . . | 798 |
| Figure 97. | Configurable event triggering logic CPU wakeup . . . . . | 800 |
| Figure 98. | Configurable event triggering logic Any wakeup . . . . . | 802 |
| Figure 99. | Direct event triggering logic CPU Wakeup . . . . . | 803 |
| Figure 100. | Direct event triggering logic Any Wakeup . . . . . | 804 |
| Figure 101. | D3 domain Pending request clear logic . . . . . | 805 |
| Figure 102. | CRC calculation unit block diagram . . . . . | 831 |
| Figure 103. | FMC block diagram. . . . . | 839 |
| Figure 104. | FMC memory banks (default mapping) . . . . . | 842 |
| Figure 105. | Mode 1 read access waveforms . . . . . | 853 |
| Figure 106. | Mode 1 write access waveforms. . . . . | 854 |
| Figure 107. | Mode A read access waveforms. . . . . | 856 |
| Figure 108. | Mode A write access waveforms . . . . . | 857 |
| Figure 109. | Mode 2 and mode B read access waveforms. . . . . | 859 |
| Figure 110. | Mode 2 write access waveforms. . . . . | 859 |
| Figure 111. | Mode B write access waveforms . . . . . | 860 |
| Figure 112. | Mode C read access waveforms . . . . . | 862 |
| Figure 113. | Mode C write access waveforms . . . . . | 862 |
| Figure 114. | Mode D read access waveforms . . . . . | 865 |
| Figure 115. | Mode D write access waveforms . . . . . | 865 |
| Figure 116. | Muxed read access waveforms . . . . . | 868 |
| Figure 117. | Muxed write access waveforms . . . . . | 868 |
| Figure 118. | Asynchronous wait during a read access waveforms. . . . . | 871 |
| Figure 119. | Asynchronous wait during a write access waveforms. . . . . | 871 |
| Figure 120. | Wait configuration waveforms. . . . . | 874 |
| Figure 121. | Synchronous multiplexed read mode waveforms - NOR, PSRAM (CRAM). . . . . | 874 |
| Figure 122. | Synchronous multiplexed write mode waveforms - PSRAM (CRAM). . . . . | 876 |
| Figure 123. | NAND flash controller waveforms for common memory access. . . . . | 890 |
| Figure 124. | Access to non 'CE don't care' NAND-flash. . . . . | 891 |
| Figure 125. | Burst write SDRAM access waveforms . . . . . | 901 |
| Figure 126. | Burst read SDRAM access . . . . . | 902 |
| Figure 127. | Logic diagram of Read access with RBURST bit set (CAS=2, RPIPE=0) . . . . . | 903 |
| Figure 128. | Read access crossing row boundary . . . . . | 905 |
| Figure 129. | Write access crossing row boundary . . . . . | 905 |
| Figure 130. | Self-refresh mode . . . . . | 908 |
| Figure 131. | Power-down mode . . . . . | 909 |
| Figure 132. | QUADSPI block diagram when dual-flash mode is disabled . . . . . | 919 |
| Figure 133. | QUADSPI block diagram when dual-flash mode is enabled. . . . . | 920 |
| Figure 134. | Example of read command in quad-SPI mode . . . . . | 921 |
| Figure 135. | Example of a DDR command in quad-SPI mode . . . . . | 924 |
| Figure 136. | NCS when CKMODE = 0 (T = CLK period) . . . . . | 932 |
| Figure 137. | NCS when CKMODE = 1 in SDR mode (T = CLK period) . . . . . | 933 |
| Figure 138. | NCS when CKMODE = 1 in DDR mode (T = CLK period) . . . . . | 933 |
| Figure 139. | NCS when CKMODE = 1 with an abort (T = CLK period). . . . . | 934 |
| Figure 140. | DLYB block diagram. . . . . | 947 |
| Figure 141. | ADC block diagram . . . . . | 955 |
| Figure 142. | ADC Clock scheme . . . . . | 958 |
| Figure 143. | ADC1 connectivity . . . . . | 959 |
| Figure 144. | ADC2 connectivity . . . . . | 960 |
| Figure 145. | ADC3 connectivity . . . . . | 961 |
| Figure 146. | ADC calibration . . . . . | 965 |
| Figure 147. | Updating the ADC offset calibration factor . . . . . | 965 |
| Figure 148. | Mixing single-ended and differential channels . . . . . | 966 |
| Figure 149. | Enabling / Disabling the ADC . . . . . | 969 |
| Figure 150. | Analog to digital conversion time . . . . . | 975 |
| Figure 151. | Stopping ongoing regular conversions . . . . . | 976 |
| Figure 152. | Stopping ongoing regular and injected conversions . . . . . | 976 |
| Figure 153. | Triggers are shared between ADC master and ADC slave . . . . . | 978 |
| Figure 154. | Injected conversion latency . . . . . | 981 |
| Figure 155. | Example of JSQR queue of context (sequence change) . . . . . | 984 |
| Figure 156. | Example of JSQR queue of context (trigger change) . . . . . | 985 |
| Figure 157. | Example of JSQR queue of context with overflow before conversion . . . . . | 985 |
| Figure 158. | Example of JSQR queue of context with overflow during conversion . . . . . | 986 |
| Figure 159. | Example of JSQR queue of context with empty queue (case JQM=0). . . . . | 986 |
| Figure 160. | Example of JSQR queue of context with empty queue (case JQM=1). . . . . | 987 |
| Figure 161. | Flushing JSQR queue of context by setting JADSTP=1 (JQM=0). Case when JADSTP occurs during an ongoing conversion. . . . . | 987 |
| Figure 162. | Flushing JSQR queue of context by setting JADSTP=1 (JQM=0). Case when JADSTP occurs during an ongoing conversion and a new trigger occurs. . . . . | 988 |
| Figure 163. | Flushing JSQR queue of context by setting JADSTP=1 (JQM=0). Case when JADSTP occurs outside an ongoing conversion . . . . . | 988 |
| Figure 164. | Flushing JSQR queue of context by setting JADSTP=1 (JQM=1) . . . . . | 989 |
| Figure 165. | Flushing JSQR queue of context by setting ADDIS=1 (JQM=0). . . . . | 989 |
| Figure 166. | Flushing JSQR queue of context by setting ADDIS=1 (JQM=1). . . . . | 990 |
| Figure 167. | Single conversions of a sequence, software trigger . . . . . | 992 |
| Figure 168. | Continuous conversion of a sequence, software trigger. . . . . | 992 |
| Figure 169. | Single conversions of a sequence, hardware trigger . . . . . | 993 |
| Figure 170. | Continuous conversions of a sequence, hardware trigger . . . . . | 993 |
| Figure 171. | Right alignment (offset disabled, unsigned value) . . . . . | 995 |
| Figure 172. | Right alignment (offset enabled, signed value) . . . . . | 995 |
| Figure 173. | Left alignment (offset disabled, unsigned value) . . . . . | 996 |
| Figure 174. | Left alignment (offset enabled, signed value) . . . . . | 996 |
| Figure 175. | Example of overrun (OVRMOD = 0). . . . . | 999 |
| Figure 176. | Example of overrun (OVRMOD = 1). . . . . | 999 |
| Figure 177. | AUTDLY=1, regular conversion in continuous mode, software trigger . . . . . | 1003 |
| Figure 178. | AUTDLY=1, regular HW conversions interrupted by injected conversions (DISCEN=0; JDISCEN=0) . . . . . | 1003 |
| Figure 179. | AUTDLY=1, regular HW conversions interrupted by injected conversions. (DISCEN=1, JDISCEN=1) . . . . . | 1004 |
| Figure 180. | AUTDLY=1, regular continuous conversions interrupted by injected conversions . . . . . | 1005 |
| Figure 181. | AUTDLY=1 in auto- injected mode (JAUTO=1) . . . . . | 1005 |
| Figure 182. | Analog watchdog guarded area . . . . . | 1006 |
| Figure 183. | ADC y _AWD x _OUT signal generation (on all regular channels). . . . . | 1008 |
| Figure 184. | ADC y _AWD x _OUT signal generation (AWD x flag not cleared by SW) . . . . . | 1008 |
| Figure 185. | ADC y _AWD x _OUT signal generation (on a single regular channel) . . . . . | 1009 |
| Figure 186. | ADC y _AWD x _OUT signal generation (on all injected channels) . . . . . | 1009 |
| Figure 187. | 16-bit result oversampling with 10-bits right shift and rounding . . . . . | 1010 |
| Figure 188. | Triggered regular oversampling mode (TROVS bit = 1). . . . . | 1011 |
| Figure 189. | Regular oversampling modes (4x ratio) . . . . . | 1012 |
| Figure 190. | Regular and injected oversampling modes used simultaneously . . . . . | 1013 |
| Figure 191. | Triggered regular oversampling with injection . . . . . | 1013 |
| Figure 192. | Oversampling in auto-injected mode . . . . . | 1014 |
| Figure 193. Dual ADC block diagram (1) . . . . . | 1016 |
| Figure 194. Injected simultaneous mode on 4 channels: dual ADC mode . . . . . | 1017 |
| Figure 195. Regular simultaneous mode on 16 channels: dual ADC mode . . . . . | 1019 |
| Figure 196. Interleaved mode on 1 channel in continuous conversion mode: dual ADC mode . . . . . | 1020 |
| Figure 197. Interleaved mode on 1 channel in single conversion mode: dual ADC mode . . . . . | 1021 |
| Figure 198. Interleaved conversion with injection . . . . . | 1021 |
| Figure 199. Alternate trigger: injected group of each ADC . . . . . | 1022 |
| Figure 200. Alternate trigger: 4 injected channels (each ADC) in discontinuous mode . . . . . | 1023 |
| Figure 201. Alternate + regular simultaneous . . . . . | 1024 |
| Figure 202. Case of trigger occurring during injected conversion . . . . . | 1024 |
| Figure 203. Interleaved single channel CH0 with injected sequence CH11, CH12 . . . . . | 1025 |
| Figure 204. Two Interleaved channels (CH1, CH2) with injected sequence CH11, CH12 - case 1: Master interrupted first . . . . . | 1025 |
| Figure 205. Two Interleaved channels (CH1, CH2) with injected sequence CH11, CH12 - case 2: Slave interrupted first . . . . . | 1025 |
| Figure 206. DMA Requests in regular simultaneous mode when DAMDF=0b00 . . . . . | 1026 |
| Figure 207. DMA requests in regular simultaneous mode when DAMDF=0b10 . . . . . | 1027 |
| Figure 208. DMA requests in interleaved mode when DAMDF=0b10 . . . . . | 1027 |
| Figure 209. Temperature sensor channel block diagram . . . . . | 1029 |
| Figure 210. VBAT channel block diagram . . . . . | 1031 |
| Figure 211. VREFINT channel block diagram . . . . . | 1031 |
| Figure 212. Dual-channel DAC block diagram . . . . . | 1079 |
| Figure 213. Data registers in single DAC channel mode . . . . . | 1082 |
| Figure 214. Data registers in dual DAC channel mode . . . . . | 1082 |
| Figure 215. Timing diagram for conversion with trigger disabled TEN = 0 . . . . . | 1083 |
| Figure 216. DAC LFSR register calculation algorithm . . . . . | 1085 |
| Figure 217. DAC conversion (SW trigger enabled) with LFSR wave generation . . . . . | 1085 |
| Figure 218. DAC triangle wave generation . . . . . | 1086 |
| Figure 219. DAC conversion (SW trigger enabled) with triangle wave generation . . . . . | 1086 |
| Figure 220. DAC Sample and hold mode phase diagram . . . . . | 1089 |
| Figure 221. Comparator functional block diagram . . . . . | 1118 |
| Figure 222. Comparator hysteresis . . . . . | 1121 |
| Figure 223. Comparator output blanking . . . . . | 1121 |
| Figure 224. Output redirection . . . . . | 1123 |
| Figure 225. Scaler block diagram . . . . . | 1125 |
| Figure 226. Standalone mode: external gain setting mode . . . . . | 1135 |
| Figure 227. Follower configuration . . . . . | 1136 |
| Figure 228. PGA mode, internal gain setting (x2/x4/x8/x16), inverting input not used . . . . . | 1137 |
| Figure 229. PGA mode, internal gain setting (x2/x4/x8/x16), inverting input used for filtering . . . . . | 1138 |
| Figure 230. PGA mode, non-inverting gain setting (x2/x4/x8/x16) or inverting gain setting (x-1/x-3/x-7/x-15) . . . . . | 1139 |
| Figure 231. Example configuration . . . . . | 1139 |
| Figure 232. PGA mode, non-inverting gain setting (x2/x4/x8/x16) or inverting gain setting (x-1/x-3/x-7/x-15) with filtering . . . . . | 1140 |
| Figure 233. Example configuration . . . . . | 1140 |
| Figure 234. Single DFSDM block diagram . . . . . | 1154 |
| Figure 235. Input channel pins redirection . . . . . | 1158 |
| Figure 236. Channel transceiver timing diagrams . . . . . | 1161 |
| Figure 237. Clock absence timing diagram for SPI . . . . . | 1162 |
| Figure 238. Clock absence timing diagram for Manchester coding . . . . . | 1163 |
| Figure 239. First conversion for Manchester coding (Manchester synchronization) . . . . . | 1165 |
| Figure 240. DFSDM_CHyDATINR registers operation modes and assignment . . . . . | 1169 |
| Figure 241. Example: Sinc3 filter response . . . . . | 1171 |
| Figure 242. DCMI block diagram . . . . . | 1211 |
| Figure 243. DCMI signal waveforms . . . . . | 1212 |
| Figure 244. Timing diagram . . . . . | 1214 |
| Figure 245. Frame capture waveforms in snapshot mode. . . . . | 1216 |
| Figure 246. Frame capture waveforms in continuous grab mode . . . . . | 1217 |
| Figure 247. Coordinates and size of the window after cropping . . . . . | 1217 |
| Figure 248. Data capture waveforms. . . . . | 1218 |
| Figure 249. Pixel raster scan order . . . . . | 1219 |
| Figure 250. LTDC block diagram . . . . . | 1234 |
| Figure 251. LTDC synchronous timings. . . . . | 1237 |
| Figure 252. Layer window programmable parameters . . . . . | 1240 |
| Figure 253. Blending two layers with background . . . . . | 1242 |
| Figure 254. Interrupt events. . . . . | 1244 |
| Figure 255. DSI block diagram . . . . . | 1266 |
| Figure 256. DSI Host architecture . . . . . | 1268 |
| Figure 257. Flow to update the LTDC interface configuration using shadow registers . . . . . | 1273 |
| Figure 258. Immediate update procedure . . . . . | 1274 |
| Figure 259. Configuration update during the transmission of a frame . . . . . | 1274 |
| Figure 260. Adapted command mode usage flow . . . . . | 1276 |
| Figure 261. 24 bpp APB pixel to byte organization . . . . . | 1280 |
| Figure 262. 18 bpp APB pixel to byte organization . . . . . | 1281 |
| Figure 263. 16 bpp APB pixel to byte organization . . . . . | 1281 |
| Figure 264. 12 bpp APB pixel to byte organization . . . . . | 1282 |
| Figure 265. 8 bpp APB pixel to byte organization . . . . . | 1282 |
| Figure 266. Timing of PRESP_TO after a bus-turn-around. . . . . | 1285 |
| Figure 267. Timing of PRESP_TO after a read request (HS or LP). . . . . | 1286 |
| Figure 268. Timing of PRESP_TO after a write request (HS or LP) . . . . . | 1287 |
| Figure 269. Effect of prep mode at 1 . . . . . | 1288 |
| Figure 270. Command transmission periods within the image area . . . . . | 1289 |
| Figure 271. Transmission of commands on the last line of a frame. . . . . | 1290 |
| Figure 272. LPSIZE for non-burst with sync pulses. . . . . | 1291 |
| Figure 273. LPSIZE for burst or non-burst with sync events . . . . . | 1291 |
| Figure 274. VLPSIZE for non-burst with sync pulses . . . . . | 1293 |
| Figure 275. VLPSIZE for non-burst with sync events . . . . . | 1293 |
| Figure 276. VLPSIZE for burst mode. . . . . | 1293 |
| Figure 277. Location of LPSIZE and VLPSIZE in the image area . . . . . | 1295 |
| Figure 278. Clock lane and data lane in HS . . . . . | 1296 |
| Figure 279. Clock lane in HS and data lanes in LP . . . . . | 1297 |
| Figure 280. Clock lane and data lane in LP . . . . . | 1297 |
| Figure 281. Command transmission by the generic interface . . . . . | 1298 |
| Figure 282. Vertical color bar mode. . . . . | 1300 |
| Figure 283. Horizontal color bar mode. . . . . | 1300 |
| Figure 284. RGB888 BER testing pattern . . . . . | 1301 |
| Figure 285. Vertical pattern (103x15) . . . . . | 1302 |
| Figure 286. Horizontal pattern (103x15) . . . . . | 1302 |
| Figure 287. PLL block diagram . . . . . | 1306 |
| Figure 288. Error sources . . . . . | 1309 |
| Figure 289. Video packet transmission configuration flow diagram. . . . . | 1320 |
| Figure 290. Programming sequence to send a test pattern. . . . . | 1322 |
| Figure 291. Frame configuration registers . . . . . | 1323 |
| Figure 292. JPEG codec block diagram . . . . . | 1382 |
| Figure 293. RNG block diagram . . . . . | 1402 |
| Figure 294. Entropy source model . . . . . | 1403 |
| Figure 295. RNG initialization overview . . . . . | 1406 |
| Figure 296. CRYPT block diagram . . . . . | 1415 |
| Figure 297. AES-ECB mode overview . . . . . | 1418 |
| Figure 298. AES-CBC mode overview . . . . . | 1419 |
| Figure 299. AES-CTR mode overview . . . . . | 1420 |
| Figure 300. AES-GCM mode overview . . . . . | 1421 |
| Figure 301. AES-GMAC mode overview . . . . . | 1421 |
| Figure 302. AES-CCM mode overview . . . . . | 1422 |
| Figure 303. Example of suspend mode management . . . . . | 1427 |
| Figure 304. DES/TDES-ECB mode encryption . . . . . | 1428 |
| Figure 305. DES/TDES-ECB mode decryption . . . . . | 1429 |
| Figure 306. DES/TDES-CBC mode encryption . . . . . | 1430 |
| Figure 307. DES/TDES-CBC mode decryption . . . . . | 1431 |
| Figure 308. AES-ECB mode encryption . . . . . | 1433 |
| Figure 309. AES-ECB mode decryption . . . . . | 1434 |
| Figure 310. AES-CBC mode encryption . . . . . | 1435 |
| Figure 311. AES-CBC mode decryption . . . . . | 1436 |
| Figure 312. Message construction for the Counter mode . . . . . | 1438 |
| Figure 313. AES-CTR mode encryption . . . . . | 1439 |
| Figure 314. AES-CTR mode decryption . . . . . | 1440 |
| Figure 315. Message construction for the Galois/counter mode . . . . . | 1442 |
| Figure 316. Message construction for the Galois Message Authentication Code mode . . . . . | 1447 |
| Figure 317. Message construction for the Counter with CBC-MAC mode . . . . . | 1448 |
| Figure 318. 64-bit block construction according to the data type (IN FIFO) . . . . . | 1455 |
| Figure 319. 128-bit block construction according to the data type . . . . . | 1457 |
| Figure 320. HASH block diagram . . . . . | 1481 |
| Figure 321. Message data swapping feature . . . . . | 1483 |
| Figure 322. HASH suspend/resume mechanism . . . . . | 1489 |
| Figure 323. High-resolution timer block diagram . . . . . | 1505 |
| Figure 324. Timer A..E overview . . . . . | 1510 |
| Figure 325. Continuous timer operation . . . . . | 1511 |
| Figure 326. Single-shot timer operation . . . . . | 1512 |
| Figure 327. Timer reset resynchronization (prescaling ratio above 32) . . . . . | 1513 |
| Figure 328. Repetition rate vs HRTIM_REPxR content in continuous mode . . . . . | 1514 |
| Figure 329. Repetition counter behavior in single-shot mode . . . . . | 1515 |
| Figure 330. Compare events action on outputs: set on compare 1, reset on compare 2 . . . . . | 1516 |
| Figure 331. Timing unit capture circuitry . . . . . | 1518 |
| Figure 332. Auto-delayed overview (Compare 2 only) . . . . . | 1519 |
| Figure 333. Auto-delayed compare . . . . . | 1520 |
| Figure 334. Push-pull mode block diagram . . . . . | 1522 |
| Figure 335. Push-pull mode example . . . . . | 1523 |
| Figure 336. Complementary outputs with deadtime insertion . . . . . | 1523 |
| Figure 337. Deadtime insertion vs deadtime sign (1 indicates negative deadtime) . . . . . | 1524 |
| Figure 338. Complementary outputs for low pulse width (SDTRx = SDTFx = 0) . . . . . | 1525 |
| Figure 339. Complementary outputs for low pulse width (SDTRx = SDTFx = 1) . . . . . | 1525 |
| Figure 340. Complementary outputs for low pulse width (SDTRx = 0, SDTFx = 1) . . . . . | 1525 |
| Figure 341. Complementary outputs for low pulse width (SDTRx = 1, SDTFx=0) . . . . . | 1526 |
| Figure 342. Master timer overview . . . . . | 1527 |
| Figure 343. External event conditioning overview (1 channel represented) . . . . . | 1530 |
| Figure 344. Latency to external events falling edge (counter reset and output set) . . . . . | 1533 |
| Figure 345. Latency to external events (output reset on external event). . . . . | 1533 |
| Figure 346. Event blanking mode . . . . . | 1534 |
| Figure 347. Event postpone mode. . . . . | 1534 |
| Figure 348. External trigger blanking with edge-sensitive trigger . . . . . | 1536 |
| Figure 349. External trigger blanking, level sensitive triggering. . . . . | 1536 |
| Figure 350. Event windowing mode. . . . . | 1537 |
| Figure 351. External trigger windowing with edge-sensitive trigger. . . . . | 1538 |
| Figure 352. External trigger windowing, level sensitive triggering . . . . . | 1538 |
| Figure 353. Delayed Idle mode entry. . . . . | 1540 |
| Figure 354. Burst mode and delayed protection priorities (DIDL = 0) . . . . . | 1541 |
| Figure 355. Burst mode and delayed protection priorities (DIDL = 1) . . . . . | 1542 |
| Figure 356. Balanced Idle protection example. . . . . | 1543 |
| Figure 357. Output management overview . . . . . | 1553 |
| Figure 358. HRTIM output states and transitions . . . . . | 1553 |
| Figure 359. Burst mode operation example. . . . . | 1555 |
| Figure 360. Burst mode trigger on external event . . . . . | 1557 |
| Figure 361. Delayed burst mode entry with deadtime enabled and IDLESx = 1 . . . . . | 1559 |
| Figure 362. Delayed Burst mode entry during deadtime . . . . . | 1560 |
| Figure 363. Burst mode exit when the deadtime generator is enabled . . . . . | 1561 |
| Figure 364. Burst mode emulation example . . . . . | 1563 |
| Figure 365. Carrier frequency signal insertion . . . . . | 1563 |
| Figure 366. HRTIM outputs with Chopper mode enabled . . . . . | 1564 |
| Figure 367. Fault protection circuitry (FAULT1 fully represented, FAULT2..5 partially). . . . . | 1565 |
| Figure 368. Fault signal filtering (FLTxF[3:0]= 0010: \( f_{\text{SAMPLING}} = f_{\text{HRTIM}} \) , N = 4) . . . . . | 1566 |
| Figure 369. Auxiliary outputs . . . . . | 1568 |
| Figure 370. Auxiliary and main outputs during burst mode (DIDLx = 0) . . . . . | 1569 |
| Figure 371. Deadtime distortion on auxiliary output when exiting burst mode. . . . . | 1569 |
| Figure 372. Counter behavior in synchronized start mode . . . . . | 1573 |
| Figure 373. ADC trigger selection overview . . . . . | 1574 |
| Figure 374. Combining several updates on a single hrtim_dac_trgx output . . . . . | 1575 |
| Figure 375. DMA burst overview . . . . . | 1579 |
| Figure 376. Burst DMA operation flowchart . . . . . | 1580 |
| Figure 377. Registers update following DMA burst transfer . . . . . | 1581 |
| Figure 378. Buck converter topology . . . . . | 1583 |
| Figure 379. Dual Buck converter management . . . . . | 1584 |
| Figure 380. Synchronous rectification depending on output current . . . . . | 1584 |
| Figure 381. Buck with synchronous rectification . . . . . | 1585 |
| Figure 382. 3-phase interleaved buck converter . . . . . | 1586 |
| Figure 383. 3-phase interleaved buck converter control . . . . . | 1587 |
| Figure 384. Transition mode PFC . . . . . | 1587 |
| Figure 385. Transition mode PFC waveforms . . . . . | 1588 |
| Figure 386. Advanced-control timer block diagram . . . . . | 1678 |
| Figure 387. Counter timing diagram with prescaler division change from 1 to 2 . . . . . | 1680 |
| Figure 388. Counter timing diagram with prescaler division change from 1 to 4 . . . . . | 1680 |
| Figure 389. Counter timing diagram, internal clock divided by 1 . . . . . | 1682 |
| Figure 390. Counter timing diagram, internal clock divided by 2 . . . . . | 1682 |
| Figure 391. Counter timing diagram, internal clock divided by 4 . . . . . | 1683 |
| Figure 392. Counter timing diagram, internal clock divided by N. . . . . | 1683 |
| Figure 393. Counter timing diagram, update event when ARPE=0 (TIMx_ARR not preloaded). . . . . | 1684 |
| Figure 394. Counter timing diagram, update event when ARPE=1 (TIMx_ARR preloaded). . . . . | 1684 |
| Figure 395. Counter timing diagram, internal clock divided by 1 . . . . . | 1686 |
| Figure 396. Counter timing diagram, internal clock divided by 2 . . . . . | 1686 |
| Figure 397. Counter timing diagram, internal clock divided by 4 . . . . . | 1687 |
| Figure 398. Counter timing diagram, internal clock divided by N . . . . . | 1687 |
| Figure 399. Counter timing diagram, update event when repetition counter is not used. . . . . | 1688 |
| Figure 400. Counter timing diagram, internal clock divided by 1, TIMx_ARR = 0x6 . . . . . | 1689 |
| Figure 401. Counter timing diagram, internal clock divided by 2 . . . . . | 1690 |
| Figure 402. Counter timing diagram, internal clock divided by 4, TIMx_ARR=0x36 . . . . . | 1690 |
| Figure 403. Counter timing diagram, internal clock divided by N . . . . . | 1691 |
| Figure 404. Counter timing diagram, update event with ARPE=1 (counter underflow) . . . . . | 1691 |
| Figure 405. Counter timing diagram, Update event with ARPE=1 (counter overflow) . . . . . | 1692 |
| Figure 406. Update rate examples depending on mode and TIMx_RCR register settings . . . . . | 1693 |
| Figure 407. External trigger input block . . . . . | 1694 |
| Figure 408. TIM1/TIM8 ETR input circuitry . . . . . | 1694 |
| Figure 409. Control circuit in normal mode, internal clock divided by 1 . . . . . | 1695 |
| Figure 410. TI2 external clock connection example. . . . . | 1696 |
| Figure 411. Control circuit in external clock mode 1 . . . . . | 1697 |
| Figure 412. External trigger input block . . . . . | 1697 |
| Figure 413. Control circuit in external clock mode 2 . . . . . | 1698 |
| Figure 414. Capture/compare channel (example: channel 1 input stage) . . . . . | 1699 |
| Figure 415. Capture/compare channel 1 main circuit . . . . . | 1699 |
| Figure 416. Output stage of capture/compare channel (channel 1, idem ch. 2 and 3) . . . . . | 1700 |
| Figure 417. Output stage of capture/compare channel (channel 4). . . . . | 1700 |
| Figure 418. Output stage of capture/compare channel (channel 5, idem ch. 6) . . . . . | 1701 |
| Figure 419. PWM input mode timing . . . . . | 1703 |
| Figure 420. Output compare mode, toggle on OC1 . . . . . | 1705 |
| Figure 421. Edge-aligned PWM waveforms (ARR=8) . . . . . | 1706 |
| Figure 422. Center-aligned PWM waveforms (ARR=8). . . . . | 1707 |
| Figure 423. Generation of 2 phase-shifted PWM signals with 50% duty cycle . . . . . | 1709 |
| Figure 424. Combined PWM mode on channel 1 and 3 . . . . . | 1710 |
| Figure 425. 3-phase combined PWM signals with multiple trigger pulses per period . . . . . | 1711 |
| Figure 426. Complementary output with dead-time insertion . . . . . | 1712 |
| Figure 427. Dead-time waveforms with delay greater than the negative pulse . . . . . | 1712 |
| Figure 428. Dead-time waveforms with delay greater than the positive pulse. . . . . | 1713 |
| Figure 429. Break and Break2 circuitry overview . . . . . | 1715 |
| Figure 430. Various output behavior in response to a break event on BRK (OSSI = 1) . . . . . | 1717 |
| Figure 431. PWM output state following BRK and BRK2 pins assertion (OSSI=1) . . . . . | 1718 |
| Figure 432. PWM output state following BRK assertion (OSSI=0) . . . . . | 1719 |
| Figure 433. Output redirection . . . . . | 1719 |
| Figure 434. Clearing TIMx_OCxREF . . . . . | 1720 |
| Figure 435. 6-step generation, COM example (OSSR=1) . . . . . | 1721 |
| Figure 436. Example of one pulse mode. . . . . | 1722 |
| Figure 437. Retriggerable one pulse mode . . . . . | 1724 |
| Figure 438. Example of counter operation in encoder interface mode. . . . . | 1725 |
| Figure 439. Example of encoder interface mode with TI1FP1 polarity inverted. . . . . | 1726 |
| Figure 440. Measuring time interval between edges on 3 signals . . . . . | 1727 |
| Figure 441. Example of Hall sensor interface . . . . . | 1729 |
| Figure 442. Control circuit in reset mode . . . . . | 1730 |
| Figure 443. Control circuit in Gated mode . . . . . | 1731 |
| Figure 444. Control circuit in trigger mode . . . . . | 1732 |
| Figure 445. Control circuit in external clock mode 2 + trigger mode . . . . . | 1733 |
| Figure 446. General-purpose timer block diagram . . . . . | 1782 |
| Figure 447. Counter timing diagram with prescaler division change from 1 to 2 . . . . . | 1784 |
| Figure 448. Counter timing diagram with prescaler division change from 1 to 4 . . . . . | 1784 |
| Figure 449. Counter timing diagram, internal clock divided by 1 . . . . . | 1785 |
| Figure 450. Counter timing diagram, internal clock divided by 2 . . . . . | 1786 |
| Figure 451. Counter timing diagram, internal clock divided by 4 . . . . . | 1786 |
| Figure 452. Counter timing diagram, internal clock divided by N . . . . . | 1787 |
| Figure 453. Counter timing diagram, Update event when ARPE=0 (TIMx_ARR not preloaded). . . . . | 1787 |
| Figure 454. Counter timing diagram, Update event when ARPE=1 (TIMx_ARR preloaded). . . . . | 1788 |
| Figure 455. Counter timing diagram, internal clock divided by 1 . . . . . | 1789 |
| Figure 456. Counter timing diagram, internal clock divided by 2 . . . . . | 1789 |
| Figure 457. Counter timing diagram, internal clock divided by 4 . . . . . | 1790 |
| Figure 458. Counter timing diagram, internal clock divided by N . . . . . | 1790 |
| Figure 459. Counter timing diagram, Update event . . . . . | 1791 |
| Figure 460. Counter timing diagram, internal clock divided by 1, TIMx_ARR=0x6 . . . . . | 1792 |
| Figure 461. Counter timing diagram, internal clock divided by 2 . . . . . | 1793 |
| Figure 462. Counter timing diagram, internal clock divided by 4, TIMx_ARR=0x36 . . . . . | 1793 |
| Figure 463. Counter timing diagram, internal clock divided by N . . . . . | 1794 |
| Figure 464. Counter timing diagram, Update event with ARPE=1 (counter underflow). . . . . | 1794 |
| Figure 465. Counter timing diagram, Update event with ARPE=1 (counter overflow). . . . . | 1795 |
| Figure 466. Control circuit in normal mode, internal clock divided by 1 . . . . . | 1796 |
| Figure 467. TI2 external clock connection example. . . . . | 1796 |
| Figure 468. Control circuit in external clock mode 1 . . . . . | 1797 |
| Figure 469. External trigger input block . . . . . | 1798 |
| Figure 470. Control circuit in external clock mode 2 . . . . . | 1799 |
| Figure 471. Capture/Compare channel (example: channel 1 input stage) . . . . . | 1799 |
| Figure 472. Capture/Compare channel 1 main circuit . . . . . | 1800 |
| Figure 473. Output stage of Capture/Compare channel (channel 1). . . . . | 1800 |
| Figure 474. PWM input mode timing . . . . . | 1802 |
| Figure 475. Output compare mode, toggle on OC1 . . . . . | 1804 |
| Figure 476. Edge-aligned PWM waveforms (ARR=8). . . . . | 1805 |
| Figure 477. Center-aligned PWM waveforms (ARR=8). . . . . | 1806 |
| Figure 478. Generation of 2 phase-shifted PWM signals with 50% duty cycle . . . . . | 1807 |
| Figure 479. Combined PWM mode on channels 1 and 3 . . . . . | 1809 |
| Figure 480. Clearing TIMx_OCxREF . . . . . | 1810 |
| Figure 481. Example of one-pulse mode. . . . . | 1811 |
| Figure 482. Retriggerable one-pulse mode. . . . . | 1813 |
| Figure 483. Example of counter operation in encoder interface mode . . . . . | 1814 |
| Figure 484. Example of encoder interface mode with TI1FP1 polarity inverted . . . . . | 1815 |
| Figure 485. Control circuit in reset mode . . . . . | 1816 |
| Figure 486. Control circuit in gated mode . . . . . | 1817 |
| Figure 487. Control circuit in trigger mode. . . . . | 1818 |
| Figure 488. Control circuit in external clock mode 2 + trigger mode . . . . . | 1819 |
| Figure 489. Master/Slave timer example . . . . . | 1819 |
| Figure 490. Master/slave connection example with 1 channel only timers . . . . . | 1820 |
| Figure 491. Gating TIM2 with OC1REF of TIM3 . . . . . | 1821 |
| Figure 492. Gating TIM2 with Enable of TIM3 . . . . . | 1822 |
| Figure 493. Triggering TIM2 with update of TIM3 . . . . . | 1822 |
| Figure 494. Triggering TIM2 with Enable of TIM3 . . . . . | 1823 |
| Figure 495. Triggering TIM3 and TIM2 with TIM3 TI1 input. . . . . | 1824 |
| Figure 496. General-purpose timer block diagram (TIM12). . . . . | 1859 |
| Figure 497. General-purpose timer block diagram (TIM13/TIM14) . . . . . | 1860 |
| Figure 498. Counter timing diagram with prescaler division change from 1 to 2 . . . . . | 1862 |
| Figure 499. Counter timing diagram with prescaler division change from 1 to 4 . . . . . | 1862 |
| Figure 500. | Counter timing diagram, internal clock divided by 1 . . . . . | 1863 |
| Figure 501. | Counter timing diagram, internal clock divided by 2 . . . . . | 1864 |
| Figure 502. | Counter timing diagram, internal clock divided by 4 . . . . . | 1864 |
| Figure 503. | Counter timing diagram, internal clock divided by N . . . . . | 1865 |
| Figure 504. | Counter timing diagram, update event when ARPE=0 (TIMx_ARR not preloaded). . . . . | 1865 |
| Figure 505. | Counter timing diagram, update event when ARPE=1 (TIMx_ARR preloaded). . . . . | 1866 |
| Figure 506. | Control circuit in normal mode, internal clock divided by 1 . . . . . | 1867 |
| Figure 507. | TI2 external clock connection example. . . . . | 1867 |
| Figure 508. | Control circuit in external clock mode 1 . . . . . | 1868 |
| Figure 509. | Capture/compare channel (example: channel 1 input stage) . . . . . | 1869 |
| Figure 510. | Capture/compare channel 1 main circuit . . . . . | 1869 |
| Figure 511. | Output stage of capture/compare channel (channel 1). . . . . | 1870 |
| Figure 512. | PWM input mode timing . . . . . | 1872 |
| Figure 513. | Output compare mode, toggle on OC1. . . . . | 1874 |
| Figure 514. | Edge-aligned PWM waveforms (ARR=8) . . . . . | 1875 |
| Figure 515. | Combined PWM mode on channel 1 and 2 . . . . . | 1876 |
| Figure 516. | Example of one pulse mode. . . . . | 1877 |
| Figure 517. | Retriggerable one pulse mode . . . . . | 1878 |
| Figure 518. | Measuring time interval between edges on 2 signals . . . . . | 1879 |
| Figure 519. | Control circuit in reset mode . . . . . | 1880 |
| Figure 520. | Control circuit in gated mode . . . . . | 1881 |
| Figure 521. | Control circuit in trigger mode . . . . . | 1881 |
| Figure 522. | TIM15 block diagram . . . . . | 1913 |
| Figure 523. | TIM16/TIM17 block diagram . . . . . | 1914 |
| Figure 524. | Counter timing diagram with prescaler division change from 1 to 2 . . . . . | 1916 |
| Figure 525. | Counter timing diagram with prescaler division change from 1 to 4 . . . . . | 1916 |
| Figure 526. | Counter timing diagram, internal clock divided by 1 . . . . . | 1918 |
| Figure 527. | Counter timing diagram, internal clock divided by 2 . . . . . | 1918 |
| Figure 528. | Counter timing diagram, internal clock divided by 4 . . . . . | 1919 |
| Figure 529. | Counter timing diagram, internal clock divided by N . . . . . | 1919 |
| Figure 530. | Counter timing diagram, update event when ARPE=0 (TIMx_ARR not preloaded). . . . . | 1920 |
| Figure 531. | Counter timing diagram, update event when ARPE=1 (TIMx_ARR preloaded). . . . . | 1920 |
| Figure 532. | Update rate examples depending on mode and TIMx_RCR register settings . . . . . | 1922 |
| Figure 533. | Control circuit in normal mode, internal clock divided by 1 . . . . . | 1923 |
| Figure 534. | TI2 external clock connection example. . . . . | 1923 |
| Figure 535. | Control circuit in external clock mode 1 . . . . . | 1924 |
| Figure 536. | Capture/compare channel (example: channel 1 input stage) . . . . . | 1925 |
| Figure 537. | Capture/compare channel 1 main circuit . . . . . | 1925 |
| Figure 538. | Output stage of capture/compare channel (channel 1). . . . . | 1926 |
| Figure 539. | Output stage of capture/compare channel (channel 2 for TIM15) . . . . . | 1926 |
| Figure 540. | PWM input mode timing . . . . . | 1928 |
| Figure 541. | Output compare mode, toggle on OC1. . . . . | 1930 |
| Figure 542. | Edge-aligned PWM waveforms (ARR=8) . . . . . | 1931 |
| Figure 543. | Combined PWM mode on channel 1 and 2 . . . . . | 1932 |
| Figure 544. | Complementary output with dead-time insertion. . . . . | 1933 |
| Figure 545. | Dead-time waveforms with delay greater than the negative pulse. . . . . | 1933 |
| Figure 546. | Dead-time waveforms with delay greater than the positive pulse. . . . . | 1934 |
| Figure 547. | Break circuitry overview . . . . . | 1936 |
| Figure 548. Output behavior in response to a break . . . . . | 1938 |
| Figure 549. 6-step generation, COM example (OSSR=1) . . . . . | 1939 |
| Figure 550. Example of one pulse mode . . . . . | 1940 |
| Figure 551. Retriggerable one pulse mode . . . . . | 1942 |
| Figure 552. Measuring time interval between edges on 2 signals . . . . . | 1943 |
| Figure 553. Control circuit in reset mode . . . . . | 1944 |
| Figure 554. Control circuit in gated mode . . . . . | 1945 |
| Figure 555. Control circuit in trigger mode . . . . . | 1946 |
| Figure 556. Basic timer block diagram. . . . . | 1997 |
| Figure 557. Counter timing diagram with prescaler division change from 1 to 2 . . . . . | 1999 |
| Figure 558. Counter timing diagram with prescaler division change from 1 to 4 . . . . . | 1999 |
| Figure 559. Counter timing diagram, internal clock divided by 1 . . . . . | 2000 |
| Figure 560. Counter timing diagram, internal clock divided by 2 . . . . . | 2001 |
| Figure 561. Counter timing diagram, internal clock divided by 4 . . . . . | 2001 |
| Figure 562. Counter timing diagram, internal clock divided by N . . . . . | 2002 |
| Figure 563. Counter timing diagram, update event when ARPE = 0 (TIMx_ARR not preloaded). . . . . | 2002 |
| Figure 564. Counter timing diagram, update event when ARPE=1 (TIMx_ARR preloaded). . . . . | 2003 |
| Figure 565. Control circuit in normal mode, internal clock divided by 1 . . . . . | 2004 |
| Figure 566. Low-power timer block diagram (LPTIM1 and LPTIM2) . . . . . | 2011 |
| Figure 567. Low-power timer block diagram (LPTIM3) . . . . . | 2012 |
| Figure 568. Low-power timer block diagram (LPTIM4 and LPTIM5) . . . . . | 2012 |
| Figure 569. Glitch filter timing diagram . . . . . | 2017 |
| Figure 570. LPTIM output waveform, single counting mode configuration . . . . . | 2019 |
| Figure 571. LPTIM output waveform, Single counting mode configuration and Set-once mode activated (WAVE bit is set). . . . . | 2019 |
| Figure 572. LPTIM output waveform, Continuous counting mode configuration . . . . . | 2020 |
| Figure 573. Waveform generation . . . . . | 2021 |
| Figure 574. Encoder mode counting sequence . . . . . | 2025 |
| Figure 575. Watchdog high-level block diagram . . . . . | 2039 |
| Figure 576. Watchdog block diagram . . . . . | 2042 |
| Figure 577. Window watchdog timing diagram . . . . . | 2043 |
| Figure 578. Independent watchdog block diagram . . . . . | 2047 |
| Figure 579. RTC block overview . . . . . | 2057 |
| Figure 580. Detailed RTC block diagram. . . . . | 2058 |
| Figure 581. Tamper detection . . . . . | 2059 |
| Figure 582. I2C block diagram . . . . . | 2104 |
| Figure 583. I2C bus protocol . . . . . | 2106 |
| Figure 584. Setup and hold timings . . . . . | 2108 |
| Figure 585. I2C initialization flow . . . . . | 2111 |
| Figure 586. Data reception . . . . . | 2112 |
| Figure 587. Data transmission . . . . . | 2113 |
| Figure 588. Slave initialization flow . . . . . | 2116 |
| Figure 589. Transfer sequence flow for I2C slave transmitter, NOSTRETCH = 0. . . . . | 2118 |
| Figure 590. Transfer sequence flow for I2C slave transmitter, NOSTRETCH = 1. . . . . | 2119 |
| Figure 591. Transfer bus diagrams for I2C slave transmitter (mandatory events only). . . . . | 2120 |
| Figure 592. Transfer sequence flow for slave receiver with NOSTRETCH = 0 . . . . . | 2121 |
| Figure 593. Transfer sequence flow for slave receiver with NOSTRETCH = 1 . . . . . | 2122 |
| Figure 594. Transfer bus diagrams for I2C slave receiver (mandatory events only). . . . . | 2122 |
| Figure 595. Master clock generation . . . . . | 2124 |
| Figure 596. Master initialization flow . . . . . | 2126 |
| Figure 597. 10-bit address read access with HEAD10R = 0 . . . . . | 2126 |
| Figure 598. 10-bit address read access with HEAD10R = 1 . . . . . | 2127 |
| Figure 599. Transfer sequence flow for I2C master transmitter for N ≤ 255 bytes . . . . . | 2128 |
| Figure 600. Transfer sequence flow for I2C master transmitter for N > 255 bytes . . . . . | 2129 |
| Figure 601. Transfer bus diagrams for I2C master transmitter (mandatory events only) . . . . . | 2130 |
| Figure 602. Transfer sequence flow for I2C master receiver for N ≤ 255 bytes . . . . . | 2132 |
| Figure 603. Transfer sequence flow for I2C master receiver for N > 255 bytes . . . . . | 2133 |
| Figure 604. Transfer bus diagrams for I2C master receiver (mandatory events only) . . . . . | 2134 |
| Figure 605. Timeout intervals for t LOW:SEXT , t LOW:MEXT . . . . . | 2138 |
| Figure 606. Transfer sequence flow for SMBus slave transmitter N bytes + PEC. . . . . | 2142 |
| Figure 607. Transfer bus diagrams for SMBus slave transmitter (SBC = 1) . . . . . | 2142 |
| Figure 608. Transfer sequence flow for SMBus slave receiver N bytes + PEC. . . . . | 2144 |
| Figure 609. Bus transfer diagrams for SMBus slave receiver (SBC = 1). . . . . | 2145 |
| Figure 610. Bus transfer diagrams for SMBus master transmitter . . . . . | 2146 |
| Figure 611. Bus transfer diagrams for SMBus master receiver . . . . . | 2148 |
| Figure 612. I2C interrupt mapping diagram . . . . . | 2154 |
| Figure 613. USART block diagram . . . . . | 2173 |
| Figure 614. Word length programming . . . . . | 2176 |
| Figure 615. Configurable stop bits . . . . . | 2178 |
| Figure 616. TC/TXE behavior when transmitting . . . . . | 2181 |
| Figure 617. Start bit detection when oversampling by 16 or 8. . . . . | 2182 |
| Figure 618. usart_ker_ck clock divider block diagram . . . . . | 2185 |
| Figure 619. Data sampling when oversampling by 16 . . . . . | 2186 |
| Figure 620. Data sampling when oversampling by 8 . . . . . | 2187 |
| Figure 621. Mute mode using Idle line detection . . . . . | 2194 |
| Figure 622. Mute mode using address mark detection . . . . . | 2195 |
| Figure 623. Break detection in LIN mode (11-bit break length - LBDL bit is set). . . . . | 2198 |
| Figure 624. Break detection in LIN mode vs. Framing error detection. . . . . | 2199 |
| Figure 625. USART example of synchronous master transmission. . . . . | 2200 |
| Figure 626. USART data clock timing diagram in synchronous master mode (M bits = 00) . . . . . | 2200 |
| Figure 627. USART data clock timing diagram in synchronous master mode (M bits = 01) . . . . . | 2201 |
| Figure 628. USART data clock timing diagram in synchronous slave mode (M bits = 00) . . . . . | 2202 |
| Figure 629. ISO 7816-3 asynchronous protocol . . . . . | 2204 |
| Figure 630. Parity error detection using the 1.5 stop bits . . . . . | 2206 |
| Figure 631. IrDA SIR ENDEC block diagram. . . . . | 2210 |
| Figure 632. IrDA data modulation (3/16) - Normal mode. . . . . | 2210 |
| Figure 633. Transmission using DMA . . . . . | 2212 |
| Figure 634. Reception using DMA . . . . . | 2213 |
| Figure 635. Hardware flow control between 2 USARTs . . . . . | 2213 |
| Figure 636. RS232 RTS flow control . . . . . | 2214 |
| Figure 637. RS232 CTS flow control . . . . . | 2215 |
| Figure 638. Wake-up event verified (wake-up event = address match, FIFO disabled) . . . . . | 2218 |
| Figure 639. Wake-up event not verified (wake-up event = address match, FIFO disabled) . . . . . | 2218 |
| Figure 640. LPUART block diagram . . . . . | 2260 |
| Figure 641. LPUART word length programming . . . . . | 2262 |
| Figure 642. Configurable stop bits . . . . . | 2264 |
| Figure 643. TC/TXE behavior when transmitting . . . . . | 2266 |
| Figure 644. lpuart_ker_ck clock divider block diagram . . . . . | 2269 |
| Figure 645. Mute mode using Idle line detection . . . . . | 2273 |
| Figure 646. Mute mode using address mark detection . . . . . | 2274 |
| Figure 647. Transmission using DMA . . . . . | 2276 |
| Figure 648. Reception using DMA . . . . . | 2277 |
| Figure 649. Hardware flow control between 2 LPUARTs . . . . . | 2278 |
| Figure 650. RS232 RTS flow control . . . . . | 2278 |
| Figure 651. RS232 CTS flow control . . . . . | 2279 |
| Figure 652. Wake-up event verified (wake-up event = address match, FIFO disabled) . . . . . | 2282 |
| Figure 653. Wake-up event not verified (wake-up event = address match, FIFO disabled) . . . . . | 2282 |
| Figure 654. SPI2S block diagram . . . . . | 2312 |
| Figure 655. Full-duplex single master/ single slave application . . . . . | 2314 |
| Figure 656. Half-duplex single master/ single slave application . . . . . | 2315 |
| Figure 657. Simplex single master/single slave application (master in transmit-only/ slave in receive-only mode) . . . . . | 2316 |
| Figure 658. Master and three independent slaves at star topology . . . . . | 2317 |
| Figure 659. Master and three slaves at circular (daisy chain) topology . . . . . | 2318 |
| Figure 660. Multimaster application . . . . . | 2319 |
| Figure 661. Scheme of SS control logic . . . . . | 2321 |
| Figure 662. Data flow timing control (SSOE=1, SSOM=0, SSM=0) . . . . . | 2321 |
| Figure 663. SS interleaving pulses between data (SSOE=1, SSOM=1,SSM=0). . . . . | 2322 |
| Figure 664. Data clock timing diagram . . . . . | 2324 |
| Figure 665. Data alignment when data size is not equal to 8-bit, 16-bit or 32-bit . . . . . | 2325 |
| Figure 666. Packing data in FIFO for transmission and reception . . . . . | 2333 |
| Figure 667. TI mode transfer . . . . . | 2335 |
| Figure 668. Optional configurations of slave behavior at detection of underrun condition . . . . . | 2337 |
| Figure 669. Low-power mode application example . . . . . | 2341 |
| Figure 670. Waveform examples . . . . . | 2348 |
| Figure 671. Master I2S Philips protocol waveforms (16/32-bit full accuracy) . . . . . | 2349 |
| Figure 672. I2S Philips standard waveforms . . . . . | 2349 |
| Figure 673. Master MSB Justified 16-bit or 32-bit full-accuracy length . . . . . | 2350 |
| Figure 674. Master MSB justified 16 or 24-bit data length . . . . . | 2350 |
| Figure 675. Slave MSB justified . . . . . | 2351 |
| Figure 676. LSB justified 16 or 24-bit data length . . . . . | 2351 |
| Figure 677. Master PCM when the frame length is equal the data length . . . . . | 2352 |
| Figure 678. Master PCM standard waveforms (16 or 24-bit data length) . . . . . | 2352 |
| Figure 679. Slave PCM waveforms . . . . . | 2353 |
| Figure 680. Startup sequence, I2S Philips standard, master . . . . . | 2356 |
| Figure 681. Startup sequence, I2S Philips standard, slave . . . . . | 2356 |
| Figure 682. Stop sequence, I2S Philips standard, master . . . . . | 2357 |
| Figure 683. I 2 S clock generator architecture . . . . . | 2358 |
| Figure 684. Data Format . . . . . | 2360 |
| Figure 685. Handling of underrun situation . . . . . | 2362 |
| Figure 686. Handling of overrun situation . . . . . | 2363 |
| Figure 687. Frame error detection, with FIXCH=0 . . . . . | 2364 |
| Figure 688. Frame error detection, with FIXCH=1 . . . . . | 2364 |
| Figure 689. SAI functional block diagram . . . . . | 2391 |
| Figure 690. Audio frame . . . . . | 2395 |
| Figure 691. FS role is start of frame + channel side identification (FSDEF = TRIS = 1) . . . . . | 2397 |
| Figure 692. FS role is start of frame (FSDEF = 0) . . . . . | 2398 |
| Figure 693. Slot size configuration with FBOFF = 0 in SAI_xSLOTR . . . . . | 2399 |
| Figure 694. First bit offset . . . . . | 2399 |
| Figure 695. Audio block clock generator overview . . . . . | 2401 |
| Figure 696. PDM typical connection and timing . . . . . | 2405 |
| Figure 697. Detailed PDM interface block diagram . . . . . | 2406 |
| Figure 698. Start-up sequence . . . . . | 2407 |
| Figure 699. SAI_ADR format in TDM, 32-bit slot width . . . . . | 2408 |
| Figure 700. SAI_ADR format in TDM, 16-bit slot width . . . . . | 2409 |
| Figure 701. SAI_ADR format in TDM, 8-bit slot width . . . . . | 2410 |
| Figure 702. AC'97 audio frame . . . . . | 2413 |
| Figure 703. Example of typical AC'97 configuration on devices featuring at least 2 embedded SAIs (three external AC'97 decoders) . . . . . | 2414 |
| Figure 704. SPDIF format . . . . . | 2415 |
| Figure 705. SAI_xDR register ordering . . . . . | 2416 |
| Figure 706. Data companding hardware in an audio block in the SAI . . . . . | 2420 |
| Figure 707. Tristate strategy on SD output line on an inactive slot . . . . . | 2421 |
| Figure 708. Tristate on output data line in a protocol like I2S . . . . . | 2422 |
| Figure 709. Overrun detection error . . . . . | 2423 |
| Figure 710. FIFO underrun event . . . . . | 2423 |
| Figure 711. SPDIFRX block diagram . . . . . | 2459 |
| Figure 712. S/PDIF sub-frame format . . . . . | 2460 |
| Figure 713. S/PDIF block format . . . . . | 2460 |
| Figure 714. S/PDIF Preambles . . . . . | 2461 |
| Figure 715. Channel coding example . . . . . | 2462 |
| Figure 716. SPDIFRX decoder . . . . . | 2463 |
| Figure 717. Noise filtering and edge detection . . . . . | 2463 |
| Figure 718. Thresholds . . . . . | 2465 |
| Figure 719. Synchronization flowchart . . . . . | 2467 |
| Figure 720. Synchronization process scheduling . . . . . | 2468 |
| Figure 721. SPDIFRX States . . . . . | 2469 |
| Figure 722. SPDIFRX_FMTx_DR register format . . . . . | 2471 |
| Figure 723. Channel/user data format . . . . . | 2472 |
| Figure 724. S/PDIF overrun error when RXSTEO = 0 . . . . . | 2474 |
| Figure 725. S/PDIF overrun error when RXSTEO = 1 . . . . . | 2475 |
| Figure 726. SPDIFRX interface interrupt mapping diagram . . . . . | 2476 |
| Figure 727. S1 signal coding . . . . . | 2490 |
| Figure 728. S2 signal coding . . . . . | 2490 |
| Figure 729. SWPMI block diagram . . . . . | 2492 |
| Figure 730. SWP bus states . . . . . | 2495 |
| Figure 731. SWP frame structure . . . . . | 2496 |
| Figure 732. SWPMI No software buffer mode transmission . . . . . | 2497 |
| Figure 733. SWPMI No software buffer mode transmission, consecutive frames . . . . . | 2498 |
| Figure 734. SWPMI Multi software buffer mode transmission . . . . . | 2500 |
| Figure 735. SWPMI No software buffer mode reception . . . . . | 2502 |
| Figure 736. SWPMI single software buffer mode reception . . . . . | 2503 |
| Figure 737. SWPMI Multi software buffer mode reception . . . . . | 2505 |
| Figure 738. SWPMI single buffer mode reception with CRC error . . . . . | 2506 |
| Figure 739. MDIOS block diagram . . . . . | 2519 |
| Figure 740. MDIO protocol write frame waveform . . . . . | 2520 |
| Figure 741. MDIO protocol read frame waveform . . . . . | 2520 |
| Figure 742. SDMMC “no response” and “no data” operations . . . . . | 2532 |
| Figure 743. SDMMC (multiple) block read operation . . . . . | 2532 |
| Figure 744. SDMMC (multiple) block write operation . . . . . | 2533 |
| Figure 745. SDMMC (sequential) stream read operation . . . . . | 2533 |
| Figure 746. SDMMC (sequential) stream write operation . . . . . | 2533 |
| Figure 747. SDMMC block diagram . . . . . | 2535 |
| Figure 748. SDMMC Command and data phase relation . . . . . | 2537 |
| Figure 749. Control unit . . . . . | 2539 |
| Figure 750. Command/response path . . . . . | 2540 |
| Figure 751. Command path state machine (CPSM) . . . . . | 2541 |
| Figure 752. Data path . . . . . | 2547 |
| Figure 753. DDR mode data packet clocking . . . . . | 2548 |
| Figure 754. DDR mode CRC status / boot acknowledgment clocking . . . . . | 2548 |
| Figure 755. Data path state machine (DPSM) . . . . . | 2549 |
| Figure 756. CLKMUX unit . . . . . | 2560 |
| Figure 757. Asynchronous interrupt generation . . . . . | 2565 |
| Figure 758. Synchronous interrupt period data read . . . . . | 2565 |
| Figure 759. Synchronous interrupt period data write . . . . . | 2566 |
| Figure 760. Asynchronous interrupt period data read . . . . . | 2567 |
| Figure 761. Asynchronous interrupt period data write . . . . . | 2567 |
| Figure 762. Clock stop with SDMMC_CK for DS, HS, SDR12, SDR25 . . . . . | 2570 |
| Figure 763. Clock stop with SDMMC_CK for DDR50, SDR50, SDR104 . . . . . | 2570 |
| Figure 764. Read Wait with SDMMC_CK < 50 MHz . . . . . | 2571 |
| Figure 765. Read Wait with SDMMC_CK > 50 MHz . . . . . | 2572 |
| Figure 766. CMD12 stream timing . . . . . | 2574 |
| Figure 767. CMD5 Sleep Awake procedure . . . . . | 2576 |
| Figure 768. Normal boot mode operation . . . . . | 2578 |
| Figure 769. Alternative boot mode operation . . . . . | 2579 |
| Figure 770. Command response R1b busy signaling . . . . . | 2580 |
| Figure 771. SDMMC state control . . . . . | 2581 |
| Figure 772. Card cycle power / power up diagram . . . . . | 2582 |
| Figure 773. CMD11 signal voltage switch sequence . . . . . | 2583 |
| Figure 774. Voltage switch transceiver typical application . . . . . | 2585 |
| Figure 775. CAN subsystem . . . . . | 2614 |
| Figure 776. FDCAN block diagram . . . . . | 2616 |
| Figure 777. Transceiver delay measurement . . . . . | 2621 |
| Figure 778. Pin control in bus monitoring mode . . . . . | 2623 |
| Figure 779. Pin control in loop back mode . . . . . | 2625 |
| Figure 780. Message RAM configuration . . . . . | 2626 |
| Figure 781. Standard message ID filter path . . . . . | 2629 |
| Figure 782. Extended message ID filter path . . . . . | 2630 |
| Figure 783. Example of mixed configuration dedicated Tx buffers / Tx FIFO . . . . . | 2636 |
| Figure 784. Example of mixed configuration dedicated Tx buffers / Tx queue . . . . . | 2636 |
| Figure 785. Bit timing . . . . . | 2638 |
| Figure 786. Bypass operation . . . . . | 2640 |
| Figure 787. FSM calibration . . . . . | 2641 |
| Figure 788. Cycle time and global time synchronization . . . . . | 2656 |
| Figure 789. TTCAN level 0 and level 2 drift compensation . . . . . | 2657 |
| Figure 790. Level 0 schedule synchronization state machine . . . . . | 2664 |
| Figure 791. Level 0 master to slave relation . . . . . | 2665 |
| Figure 792. USB1 OTG_HS high-speed block diagram (OTG_HS1) . . . . . | 2747 |
| Figure 793. USB2 OTG_HS high-speed block diagram (OTG_HS2) . . . . . | 2747 |
| Figure 794. OTG_HS A-B device connection . . . . . | 2750 |
| Figure 795. OTG_HS peripheral-only connection . . . . . | 2752 |
| Figure 796. OTG_HS host-only connection . . . . . | 2756 |
| Figure 797. SOF connectivity (SOF trigger output to TIM and ITR1 connection) . . . . . | 2760 |
| Figure 798. Updating OTG_HFIR dynamically (RLDCTRL = 1) . . . . . | 2762 |
| Figure 799. Device-mode FIFO address mapping and AHB FIFO access mapping . . . . . | 2763 |
| Figure 800. Host-mode FIFO address mapping and AHB FIFO access mapping . . . . . | 2764 |
| Figure 801. Interrupt hierarchy . . . . . | 2768 |
| Figure 802. Transmit FIFO write task . . . . . | 2873 |
| Figure 803. Receive FIFO read task . . . . . | 2874 |
| Figure 804. Normal bulk/control OUT/SETUP . . . . . | 2875 |
| Figure 805. Bulk/control IN transactions . . . . . | 2879 |
| Figure 806. Normal interrupt OUT . . . . . | 2882 |
| Figure 807. Normal interrupt IN . . . . . | 2887 |
| Figure 808. Isochronous OUT transactions . . . . . | 2889 |
| Figure 809. Isochronous IN transactions . . . . . | 2892 |
| Figure 810. Normal bulk/control OUT/SETUP transactions - DMA . . . . . | 2894 |
| Figure 811. Normal bulk/control IN transaction - DMA . . . . . | 2896 |
| Figure 812. Normal interrupt OUT transactions - DMA mode . . . . . | 2897 |
| Figure 813. Normal interrupt IN transactions - DMA mode . . . . . | 2898 |
| Figure 814. Normal isochronous OUT transaction - DMA mode . . . . . | 2899 |
| Figure 815. Normal isochronous IN transactions - DMA mode . . . . . | 2900 |
| Figure 816. Receive FIFO packet read . . . . . | 2906 |
| Figure 817. Processing a SETUP packet . . . . . | 2908 |
| Figure 818. Bulk OUT transaction . . . . . | 2915 |
| Figure 819. TRDT max timing case . . . . . | 2924 |
| Figure 820. A-device SRP . . . . . | 2925 |
| Figure 821. B-device SRP . . . . . | 2926 |
| Figure 822. A-device HNP . . . . . | 2927 |
| Figure 823. B-device HNP . . . . . | 2929 |
| Figure 824. Ethernet high-level block diagram . . . . . | 2937 |
| Figure 825. DMA transmission flow (standard mode) . . . . . | 2940 |
| Figure 826. DMA transmission flow (OSP mode) . . . . . | 2942 |
| Figure 827. Receive DMA flow . . . . . | 2944 |
| Figure 828. Overview of MAC transmission flow . . . . . | 2948 |
| Figure 829. MAC reception flow . . . . . | 2950 |
| Figure 830. Packet filtering sequence . . . . . | 2954 |
| Figure 831. Networked time synchronization . . . . . | 2963 |
| Figure 832. Propagation delay calculation in clocks supporting peer-to-peer path correction . . . . . | 2964 |
| Figure 833. System time update using fine correction method . . . . . | 2974 |
| Figure 834. TCP segmentation offload overview . . . . . | 2991 |
| Figure 835. TCP segmentation offload flow . . . . . | 2992 |
| Figure 836. Header and payload fields of segmented packets . . . . . | 2995 |
| Figure 837. Supported PHY interfaces . . . . . | 3005 |
| Figure 838. SMA Interface block . . . . . | 3005 |
| Figure 839. MDIO packet structure (Clause 45) . . . . . | 3006 |
| Figure 840. MDIO packet structure (Clause 22) . . . . . | 3007 |
| Figure 841. SMA write operation flow . . . . . | 3009 |
| Figure 842. Write data packet . . . . . | 3010 |
| Figure 843. Read data packet . . . . . | 3010 |
| Figure 844. Media independent interface (MII) signals . . . . . | 3012 |
| Figure 845. RMII block diagram . . . . . | 3014 |
| Figure 846. Transmission bit order . . . . . | 3015 |
| Figure 847. Receive bit order. . . . . | 3016 |
| Figure 848. LPI transitions (Transmit, 100 Mbds) . . . . . | 3024 |
| Figure 849. LPI Tx clock gating (when LPITCSE = 1) . . . . . | 3025 |
| Figure 850. LPI transitions (receive, 100 Mbps) . . . . . | 3026 |
| Figure 851. Descriptor ring structure . . . . . | 3047 |
| Figure 852. DMA descriptor ring . . . . . | 3048 |
| Figure 853. Transmit descriptor (read format) . . . . . | 3049 |
| Figure 854. Transmit descriptor write-back format. . . . . | 3054 |
| Figure 855. Transmit context descriptor format . . . . . | 3058 |
| Figure 856. Receive normal descriptor (read format) . . . . . | 3062 |
| Figure 857. Receive normal descriptor (write-back format) . . . . . | 3065 |
| Figure 858. Receive context descriptor . . . . . | 3072 |
| Figure 859. Generation of ETH_DMAISR flags . . . . . | 3090 |
| Figure 860. HDMI-CEC block diagram . . . . . | 3210 |
| Figure 861. Message structure . . . . . | 3210 |
| Figure 862. Blocks . . . . . | 3211 |
| Figure 863. Bit timings . . . . . | 3211 |
| Figure 864. Signal free time . . . . . | 3212 |
| Figure 865. Arbitration phase. . . . . | 3212 |
| Figure 866. SFT of three nominal bit periods. . . . . | 3212 |
| Figure 867. Error bit timing . . . . . | 3213 |
| Figure 868. Error handling . . . . . | 3215 |
| Figure 869. TXERR detection . . . . . | 3216 |
| Figure 870. Block diagram of debug infrastructure . . . . . | 3228 |
| Figure 871. Power domains of debug infrastructure . . . . . | 3230 |
| Figure 872. Clock domains of debug infrastructure . . . . . | 3231 |
| Figure 873. SWD successful data transfer . . . . . | 3234 |
| Figure 874. JTAG TAP state machine . . . . . | 3235 |
| Figure 875. Debug and access port connections. . . . . | 3246 |
| Figure 876. APB-D CoreSight component topology . . . . . | 3254 |
| Figure 877. Global timestamp distribution . . . . . | 3262 |
| Figure 878. Embedded cross trigger . . . . . | 3270 |
| Figure 879. Mapping of trigger inputs to outputs . . . . . | 3273 |
| Figure 880. Cross trigger configuration example. . . . . | 3274 |
| Figure 881. ETF state transition diagram. . . . . | 3303 |
| Figure 882. Cortex-M7 CoreSight topology . . . . . | 3377 |
| Figure 883. Cortex-M4 CoreSight Topology . . . . . | 3452 |
Chapters
- 1. Documentation conventions
- 2. Memory and bus architecture
- 3. RAM ECC monitoring (RAMECC)
- 4. Embedded flash memory (FLASH)
- 5. Secure memory management (SMM)
- 6. ART accelerator
- 7. Power control (PWR)
- 8. Low-power D3 domain application example
- 9. Reset and Clock Control (RCC)
- 10. Clock recovery system (CRS)
- 11. Hardware semaphore (HSEM)
- 12. General-purpose I/Os (GPIO)
- 13. System configuration controller (SYSCFG)
- 14. Block interconnect
- 15. MDMA controller (MDMA)
- 16. Direct memory access controller (DMA)
- 17. Basic direct memory access controller (BDMA)
- 18. DMA request multiplexer (DMAMUX)
- 19. Chrom-ART Accelerator controller (DMA2D)
- 20. Nested vectored interrupt controllers (NVIC1 and NVIC2)
- 21. Extended interrupt and event controller (EXTI)
- 22. Cyclic redundancy check calculation unit (CRC)
- 23. Flexible memory controller (FMC)
- 24. Quad-SPI interface (QUADSPI)
- 25. Delay block (DLYB)
- 26. Analog-to-digital converters (ADC)
- 27. Digital-to-analog converter (DAC)
- 28. Voltage reference buffer (VREFBUF)
- 29. Comparator (COMP)
- 30. Operational amplifiers (OPAMP)
- 31. Digital filter for sigma delta modulators (DFSDM)
- 32. Digital camera interface (DCMI)
- 33. LCD-TFT display controller (LTDC)
- 34. DSI Host (DSI)
- 35. JPEG codec (JPEG)
- 36. True random number generator (RNG)
- 37. Cryptographic processor (CRYP)
- 38. Hash processor (HASH)
- 39. High-resolution timer (HRTIM)
- 40. Advanced-control timers (TIM1/TIM8)
- 41. General-purpose timers (TIM2/TIM3/TIM4/TIM5)
- 42. General-purpose timers (TIM12/TIM13/TIM14)
- 43. General-purpose timers (TIM15/TIM16/TIM17)
- 44. Basic timers (TIM6/TIM7)
- 45. Low-power timer (LPTIM)
- 46. Watchdog overview
- 47. System window watchdog (WWDG)
- 48. Independent watchdog (IWDG)
- 49. Real-time clock (RTC)
- 50. Inter-integrated circuit (I2C) interface
- 51. Universal synchronous/asynchronous receiver transmitter (USART/UART)
- 52. Low-power universal asynchronous receiver transmitter (LPUART)
- 53. Serial peripheral interface (SPI)
- 54. Serial audio interface (SAI)
- 55. SPDIF receiver interface (SPDIFRX)
- 56. Single wire protocol master interface (SWPMI)
- 57. Management data input/output (MDIOS)
- 58. Secure digital input/output MultiMediaCard interface (SDMMC)
- 59. Controller area network with flexible data rate (FDCAN)
- 60. USB on-the-go high-speed (OTG_HS)
- 61. Ethernet (ETH): media access control (MAC) with DMA controller
- 62. HDMI-CEC controller (CEC)
- 63. Debug infrastructure
- 64. Device electronic signature
- 65. Important security notice
- 66. Revision history