RM0433-STM32H742-743-753-750
Introduction
This reference manual targets application developers. It provides complete information on how to use the STM32H742xx, STM32H743/53xx and STM32H750xB microcontroller memory and peripherals.
The STM32H742, STM32H743/753 and STM32H750 are lines of 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 ® -M7 with FPU core, refer to the corresponding Arm Technical Reference Manuals .
Related documents
- • Arm ® Cortex ® -M7 Technical Reference Manual, available from www.arm.com .
- • Cortex ® -M7 programming manual (PM0253).
- • STM32H742xx, STM32H743xx and STM32H753xx datasheets
- • STM32H750xB datasheet
- • STM32H742 and STM32H743/753 errata sheet
- • STM32H750 errata sheet
Contents
- 1 Documentation conventions . . . . . 101
- 1.1 General information . . . . . 101
- 1.2 List of abbreviations for registers . . . . . 101
- 1.3 Glossary . . . . . 102
- 1.4 Availability of peripherals . . . . . 102
- 2 Memory and bus architecture . . . . . 104
- 2.1 System architecture . . . . . 104
- 2.1.1 Bus matrices . . . . . 106
- 2.1.2 TCM buses . . . . . 106
- 2.1.3 Bus-to-bus bridges . . . . . 106
- 2.1.4 Inter-domain buses . . . . . 107
- 2.1.5 CPU buses . . . . . 107
- 2.1.6 Bus master peripherals . . . . . 108
- 2.1.7 Clocks to functional blocks . . . . . 109
- 2.2 AXI interconnect matrix (AXIM) . . . . . 109
- 2.2.1 AXI introduction . . . . . 109
- 2.2.2 AXI interconnect main features . . . . . 109
- 2.2.3 AXI interconnect functional description . . . . . 110
- 2.2.4 AXI interconnect registers . . . . . 112
- 2.2.5 AXI interconnect register map . . . . . 121
- 2.3 Memory organization . . . . . 129
- 2.3.1 Introduction . . . . . 129
- 2.3.2 Memory map and register boundary addresses . . . . . 130
- 2.4 Embedded SRAM . . . . . 136
- 2.5 Flash memory overview . . . . . 137
- 2.6 Boot configuration . . . . . 137
- 2.1 System architecture . . . . . 104
- 3 RAM ECC monitoring (RAMECC) . . . . . 140
- 3.1 Introduction . . . . . 140
- 3.2 RAMECC main features . . . . . 140
- 3.3 RAMECC functional description . . . . . 140
- 3.3.1 RAMECC block diagram . . . . . 140
| 3.3.2 | RAMECC internal signals ..... | 142 |
| 3.3.3 | RAMECC monitor mapping ..... | 142 |
| 3.4 | RAMECC registers ..... | 143 |
| 3.4.1 | RAMECC interrupt enable register (RAMECC_IER) ..... | 143 |
| 3.4.2 | RAMECC monitor x configuration register (RAMECC_MxCR) ..... | 144 |
| 3.4.3 | RAMECC monitor x status register (RAMECC_MxSR) ..... | 144 |
| 3.4.4 | RAMECC monitor x failing address register (RAMECC_MxFAR) ..... | 145 |
| 3.4.5 | RAMECC monitor x failing data low register (RAMECC_MxFDRL) .. | 145 |
| 3.4.6 | RAMECC monitor x failing data high register (RAMECC_MxFDRH) . | 146 |
| 3.4.7 | RAMECC monitor x failing ECC error code register RAMECC_MxFECR) ..... | 146 |
| 3.4.8 | RAMECC register map ..... | 147 |
| 4 | Embedded flash memory (FLASH) ..... | 148 |
| 4.1 | Introduction ..... | 148 |
| 4.2 | FLASH main features ..... | 148 |
| 4.3 | FLASH functional description ..... | 149 |
| 4.3.1 | FLASH block diagram ..... | 149 |
| 4.3.2 | FLASH internal signals ..... | 150 |
| 4.3.3 | FLASH architecture and integration in the system ..... | 150 |
| 4.3.4 | Flash memory architecture and usage ..... | 152 |
| 4.3.5 | FLASH system performance enhancements ..... | 156 |
| 4.3.6 | FLASH data protection schemes ..... | 156 |
| 4.3.7 | Overview of FLASH operations ..... | 157 |
| 4.3.8 | FLASH read operations ..... | 158 |
| 4.3.9 | FLASH program operations ..... | 161 |
| 4.3.10 | FLASH erase operations ..... | 165 |
| 4.3.11 | FLASH parallel operations (STM32H742/743/753 devices only) ..... | 168 |
| 4.3.12 | Flash memory error protections ..... | 168 |
| 4.3.13 | Flash bank and register swapping (STM32H742/743/753 devices only) . . | 170 |
| 4.3.14 | FLASH reset and clocks ..... | 173 |
| 4.4 | FLASH option bytes ..... | 173 |
| 4.4.1 | About option bytes ..... | 173 |
| 4.4.2 | Option byte loading ..... | 174 |
| 4.4.3 | Option byte modification ..... | 174 |
| 4.4.4 | Option bytes overview ..... | 177 |
| 4.4.5 | Description of user and system option bytes . . . . . | 179 |
| 4.4.6 | Description of data protection option bytes . . . . . | 180 |
| 4.4.7 | Description of boot address option bytes . . . . . | 181 |
| 4.5 | FLASH protection mechanisms . . . . . | 182 |
| 4.5.1 | FLASH configuration protection . . . . . | 182 |
| 4.5.2 | Write protection . . . . . | 183 |
| 4.5.3 | Readout protection (RDP) . . . . . | 184 |
| 4.5.4 | Proprietary code readout protection (PCROP) . . . . . | 189 |
| 4.5.5 | Secure access mode . . . . . | 190 |
| 4.6 | FLASH low-power modes . . . . . | 191 |
| 4.6.1 | Introduction . . . . . | 191 |
| 4.6.2 | Managing the FLASH domain switching to DStop or DStandby . . . . . | 192 |
| 4.7 | FLASH error management . . . . . | 193 |
| 4.7.1 | Introduction . . . . . | 193 |
| 4.7.2 | Write protection error (WRPERR) . . . . . | 193 |
| 4.7.3 | Programming sequence error (PGSERR) . . . . . | 194 |
| 4.7.4 | Strobe error (STRBERR) . . . . . | 195 |
| 4.7.5 | Inconsistency error (INCERR) . . . . . | 195 |
| 4.7.6 | Operation error (OPERR) . . . . . | 196 |
| 4.7.7 | Error correction code error (SNECCERR/DBECCERR) . . . . . | 196 |
| 4.7.8 | Read protection error (RDPERR) . . . . . | 197 |
| 4.7.9 | Read secure error (RDSERR) . . . . . | 197 |
| 4.7.10 | CRC read error (CRCRDERR) . . . . . | 197 |
| 4.7.11 | Option byte change error (OPTCHANGEERR) . . . . . | 198 |
| 4.7.12 | Miscellaneous HardFault errors . . . . . | 198 |
| 4.8 | FLASH interrupts . . . . . | 198 |
| 4.9 | FLASH registers . . . . . | 201 |
| 4.9.1 | FLASH access control register (FLASH_ACR) . . . . . | 201 |
| 4.9.2 | FLASH key register for bank 1 (FLASH_KEYR1) . . . . . | 201 |
| 4.9.3 | FLASH option key register (FLASH_OPTKEYR) . . . . . | 202 |
| 4.9.4 | FLASH control register for bank 1 (FLASH_CR1) . . . . . | 202 |
| 4.9.5 | FLASH status register for bank 1 (FLASH_SR1) . . . . . | 207 |
| 4.9.6 | FLASH clear control register for bank 1 (FLASH_CCR1) . . . . . | 210 |
| 4.9.7 | FLASH option control register (FLASH_OPTCR) . . . . . | 211 |
| 4.9.8 | FLASH option status register (FLASH_OPTSR_CUR) . . . . . | 212 |
| 4.9.9 | FLASH option status register (FLASH_OPTSR_PRG) . . . . . | 215 |
| 4.9.10 | FLASH option clear control register (FLASH_OPTCCR) . . . . . | 217 |
| 4.9.11 | FLASH protection address for bank 1 (FLASH_PRAR_CUR1) . . . . . | 217 |
| 4.9.12 | FLASH protection address for bank 1 (FLASH_PRAR_PRG1) . . . . . | 218 |
| 4.9.13 | FLASH secure address for bank 1 (FLASH_SCAR_CUR1) . . . . . | 219 |
| 4.9.14 | FLASH secure address for bank 1 (FLASH_SCAR_PRG1) . . . . . | 219 |
| 4.9.15 | FLASH write sector protection for bank 1 (FLASH_WPSN_CUR1R) . . . . . | 220 |
| 4.9.16 | FLASH write sector protection for bank 1 (FLASH_WPSN_PRG1R) . . . . . | 221 |
| 4.9.17 | FLASH register boot address (FLASH_BOOT_CURR) . . . . . | 221 |
| 4.9.18 | FLASH register boot address (FLASH_BOOT_PRGR) . . . . . | 221 |
| 4.9.19 | FLASH CRC control register for bank 1 (FLASH_CRCCR1) . . . . . | 222 |
| 4.9.20 | FLASH CRC start address register for bank 1 (FLASH_CRCADD1R) . . . . . | 223 |
| 4.9.21 | FLASH CRC end address register for bank 1 (FLASH_CRCEADD1R) . . . . . | 224 |
| 4.9.22 | FLASH CRC data register (FLASH_CRCDATAR) . . . . . | 224 |
| 4.9.23 | FLASH ECC fail address for bank 1 (FLASH_ECC_FA1R) . . . . . | 225 |
| 4.9.24 | FLASH key register for bank 2 (FLASH_KEYR2) . . . . . | 225 |
| 4.9.25 | FLASH control register for bank 2 (FLASH_CR2) . . . . . | 226 |
| 4.9.26 | FLASH status register for bank 2 (FLASH_SR2) . . . . . | 230 |
| 4.9.27 | FLASH clear control register for bank 2 (FLASH_CCR2) . . . . . | 233 |
| 4.9.28 | FLASH protection address for bank 2 (FLASH_PRAR_CUR2) . . . . . | 234 |
| 4.9.29 | FLASH protection address for bank 2 (FLASH_PRAR_PRG2) . . . . . | 234 |
| 4.9.30 | FLASH secure address for bank 2 (FLASH_SCAR_CUR2) . . . . . | 235 |
| 4.9.31 | FLASH secure address for bank 2 (FLASH_SCAR_PRG2) . . . . . | 236 |
| 4.9.32 | FLASH write sector protection for bank 2 (FLASH_WPSN_CUR2R) . . . . . | 237 |
| 4.9.33 | FLASH write sector protection for bank 2 (FLASH_WPSN_PRG2R) . . . . . | 237 |
| 4.9.34 | FLASH CRC control register for bank 2 (FLASH_CRCCR2) . . . . . | 238 |
| 4.9.35 | FLASH CRC start address register for bank 2 (FLASH_CRCADD2R) . . . . . | 239 |
| 4.9.36 | FLASH CRC end address register for bank 2 (FLASH_CRCEADD2R) . . . . . | 240 |
| 4.9.37 | FLASH ECC fail address for bank 2 (FLASH_ECC_FA2R) . . . . . | 240 |
| 4.9.38 | FLASH register map and reset values . . . . . | 241 |
| 5 | Secure memory management (SMM) . . . . . | 246 |
5.1 Introduction . . . . . 246
5.2 Glossary . . . . . 246
5.3 Secure access mode . . . . . 247
5.3.1 Associated features . . . . . 248
5.3.2 Boot state machine . . . . . 248
5.3.3 Secure access mode configuration . . . . . 249
5.4 Root secure services (RSS) . . . . . 250
5.4.1 Secure area setting service . . . . . 250
5.4.2 Secure area exiting service . . . . . 250
5.5 Secure user software . . . . . 251
5.5.1 Access rules . . . . . 251
5.5.2 Setting secure user memory areas . . . . . 251
5.6 Summary of flash protection mechanisms . . . . . 252
6 Power control (PWR) . . . . . 254
6.1 Introduction . . . . . 254
6.2 PWR main features . . . . . 254
6.3 PWR block diagram . . . . . 255
6.3.1 PWR pins and internal signals . . . . . 256
6.4 Power supplies . . . . . 258
6.4.1 System supply startup . . . . . 261
6.4.2 Core domain . . . . . 263
6.4.3 PWR external supply . . . . . 264
6.4.4 Backup domain . . . . . 265
6.4.5 VBAT battery charging . . . . . 267
6.4.6 Analog supply . . . . . 267
6.4.7 USB regulator . . . . . 268
6.5 Power supply supervision . . . . . 268
6.5.1 Power-on reset (POR)/power-down reset (PDR) . . . . . 269
6.5.2 Brownout reset (BOR) . . . . . 269
6.5.3 Programmable voltage detector (PVD) . . . . . 270
6.5.4 Analog voltage detector (AVD) . . . . . 272
6.5.5 Battery voltage thresholds . . . . . 273
6.5.6 Temperature thresholds . . . . . 274
6.6 Power management . . . . . 275
6.6.1 Operating modes . . . . . 276
| 6.6.2 | Voltage scaling . . . . . | 279 |
| 6.6.3 | Power control modes . . . . . | 281 |
| 6.6.4 | Power management examples . . . . . | 285 |
| 6.7 | Low-power modes . . . . . | 291 |
| 6.7.1 | Slowing down system clocks . . . . . | 291 |
| 6.7.2 | Controlling peripheral clocks . . . . . | 291 |
| 6.7.3 | Entering low-power modes . . . . . | 291 |
| 6.7.4 | Exiting from low-power modes . . . . . | 292 |
| 6.7.5 | CSleep mode . . . . . | 293 |
| 6.7.6 | CStop mode . . . . . | 294 |
| 6.7.7 | DStop mode . . . . . | 295 |
| 6.7.8 | Stop mode . . . . . | 296 |
| 6.7.9 | DStandby mode . . . . . | 298 |
| 6.7.10 | Standby mode . . . . . | 300 |
| 6.7.11 | Monitoring low-power modes . . . . . | 302 |
| 6.8 | PWR register description . . . . . | 303 |
| 6.8.1 | PWR control register 1 (PWR_CR1) . . . . . | 303 |
| 6.8.2 | PWR control status register 1 (PWR_CSR1) . . . . . | 304 |
| 6.8.3 | PWR control register 2 (PWR_CR2) . . . . . | 305 |
| 6.8.4 | PWR control register 3 (PWR_CR3) . . . . . | 306 |
| 6.8.5 | PWR CPU control register (PWR_CPUCR) . . . . . | 308 |
| 6.8.6 | PWR D3 domain control register (PWR_D3CR) . . . . . | 309 |
| 6.8.7 | PWR wakeup clear register (PWR_WKUPCR) . . . . . | 310 |
| 6.8.8 | PWR wakeup flag register (PWR_WKUPFR) . . . . . | 310 |
| 6.8.9 | PWR wakeup enable and polarity register (PWR_WKUPEPR) . . . . . | 311 |
| 6.8.10 | PWR register map . . . . . | 312 |
| 7 | Low-power D3 domain application example . . . . . | 313 |
| 7.1 | Introduction . . . . . | 313 |
| 7.2 | EXTI, RCC and PWR interconnections . . . . . | 313 |
| 7.2.1 | Interrupts and wakeup . . . . . | 315 |
| 7.2.2 | Block interactions . . . . . | 315 |
| 7.2.3 | Role of DMAMUX2 in D3 domain . . . . . | 316 |
| 7.3 | Low-power application example based on LPUART1 transmission . . . . . | 317 |
| 7.3.1 | Memory retention . . . . . | 317 |
| 7.3.2 | Memory-to-peripheral transfer using LPUART1 interface . . . . . | 317 |
- 7.3.3 Overall description of the low-power application example based on LPUART1 transmission . . . . . 322
- 7.3.4 Alternate implementations . . . . . 323
- 7.4 Other low-power applications . . . . . 324
- 8 Reset and Clock Control (RCC) . . . . . 325
- 8.1 RCC main features . . . . . 325
- 8.2 RCC block diagram . . . . . 326
- 8.3 RCC pins and internal signals . . . . . 326
- 8.4 RCC reset block functional description . . . . . 328
- 8.4.1 Power-on/off reset . . . . . 328
- 8.4.2 System reset . . . . . 329
- 8.4.3 Local resets . . . . . 330
- 8.4.4 Reset source identification . . . . . 332
- 8.4.5 Low-power mode security reset (lpwr_rst) . . . . . 333
- 8.4.6 Backup domain reset . . . . . 333
- 8.4.7 Power-on and wakeup sequences . . . . . 333
- 8.5 RCC clock block functional description . . . . . 336
- 8.5.1 Clock naming convention . . . . . 338
- 8.5.2 Oscillators description . . . . . 338
- 8.5.3 Clock Security System (CSS) . . . . . 343
- 8.5.4 Clock output generation (MCO1/MCO2) . . . . . 344
- 8.5.5 PLL description . . . . . 345
- 8.5.6 System clock (sys_ck) . . . . . 349
- 8.5.7 Handling clock generators in Stop and Standby mode . . . . . 351
- 8.5.8 Kernel clock selection . . . . . 353
- 8.5.9 General clock concept overview . . . . . 366
- 8.5.10 Peripheral allocation . . . . . 370
- 8.5.11 Peripheral clock gating control . . . . . 373
- 8.5.12 CPU and bus matrix clock gating control . . . . . 378
- 8.6 RCC Interrupts . . . . . 380
- 8.7 RCC register description . . . . . 381
- 8.7.1 Register mapping overview . . . . . 381
- 8.7.2 RCC source control register (RCC_CR) . . . . . 382
- 8.7.3 RCC internal clock source calibration register (RCC_ICSCR) . . . . . 386
- 8.7.4 RCC HSI configuration register (RCC_HSICFGR) . . . . . 387
| 8.7.5 | RCC clock recovery RC register (RCC_CRRCR) . . . . . | 388 |
| 8.7.6 | RCC CSI configuration register (RCC_CSICFGR) . . . . . | 389 |
| 8.7.7 | RCC clock configuration register (RCC_CFGR) . . . . . | 390 |
| 8.7.8 | RCC domain 1 clock configuration register (RCC_D1CFGR) . . . . . | 393 |
| 8.7.9 | RCC domain 2 clock configuration register (RCC_D2CFGR) . . . . . | 395 |
| 8.7.10 | RCC domain 3 clock configuration register (RCC_D3CFGR) . . . . . | 396 |
| 8.7.11 | RCC PLL clock source selection register (RCC_PLLCKSELR) . . . . . | 397 |
| 8.7.12 | RCC PLL configuration register (RCC_PLLCFGR) . . . . . | 399 |
| 8.7.13 | RCC PLL1 dividers configuration register (RCC_PLL1DIVR) . . . . . | 402 |
| 8.7.14 | RCC PLL1 fractional divider register (RCC_PLL1FRACR) . . . . . | 404 |
| 8.7.15 | RCC PLL2 divider configuration register (RCC_PLL2DIVR) . . . . . | 405 |
| 8.7.16 | RCC PLL2 fractional divider register (RCC_PLL2FRACR) . . . . . | 407 |
| 8.7.17 | RCC PLL3 divider configuration register (RCC_PLL3DIVR) . . . . . | 408 |
| 8.7.18 | RCC PLL3 fractional divider register (RCC_PLL3FRACR) . . . . . | 410 |
| 8.7.19 | RCC domain 1 kernel clock configuration register (RCC_D1CCIPR) . . . . . | 411 |
| 8.7.20 | RCC domain 2 kernel clock configuration register (RCC_D2CCIP1R) . . . . . | 412 |
| 8.7.21 | RCC domain 2 kernel clock configuration register (RCC_D2CCIP2R) . . . . . | 415 |
| 8.7.22 | RCC domain 3 kernel clock configuration register (RCC_D3CCIPR) . . . . . | 417 |
| 8.7.23 | RCC clock source interrupt enable register (RCC_CIER) . . . . . | 420 |
| 8.7.24 | RCC clock source Interrupt flag register (RCC_CIFR) . . . . . | 422 |
| 8.7.25 | RCC clock source interrupt clear register (RCC_CICR) . . . . . | 424 |
| 8.7.26 | RCC backup domain control register (RCC_BDCR) . . . . . | 426 |
| 8.7.27 | RCC clock control and status register (RCC_CSR) . . . . . | 428 |
| 8.7.28 | RCC AHB3 reset register (RCC_AHB3RSTR) . . . . . | 429 |
| 8.7.29 | RCC AHB1 peripheral reset register (RCC_AHB1RSTR) . . . . . | 431 |
| 8.7.30 | RCC AHB2 peripheral reset register (RCC_AHB2RSTR) . . . . . | 433 |
| 8.7.31 | RCC AHB4 peripheral reset register (RCC_AHB4RSTR) . . . . . | 434 |
| 8.7.32 | RCC APB3 peripheral reset register (RCC_APB3RSTR) . . . . . | 436 |
| 8.7.33 | RCC APB1 peripheral reset register (RCC_APB1LRSTR) . . . . . | 437 |
| 8.7.34 | RCC APB1 peripheral reset register (RCC_APB1HRSTR) . . . . . | 440 |
| 8.7.35 | RCC APB2 peripheral reset register (RCC_APB2RSTR) . . . . . | 441 |
| 8.7.36 | RCC APB4 peripheral reset register (RCC_APB4RSTR) . . . . . | 443 |
| 8.7.37 | RCC global control register (RCC_GCR) . . . . . | 445 |
| 8.7.38 | RCC D3 Autonomous mode register (RCC_D3AMR) . . . . . | 446 |
- 8.7.39 RCC reset status register (RCC_RSR) . . . . . 449
- 8.7.40 RCC AHB3 clock register (RCC_AHB3ENR) . . . . . 451
- 8.7.41 RCC AHB1 clock register (RCC_AHB1ENR) . . . . . 453
- 8.7.42 RCC AHB2 clock register (RCC_AHB2ENR) . . . . . 455
- 8.7.43 RCC AHB4 clock register (RCC_AHB4ENR) . . . . . 457
- 8.7.44 RCC APB3 clock register (RCC_APB3ENR) . . . . . 460
- 8.7.45 RCC APB1 clock register (RCC_APB1LENR) . . . . . 461
- 8.7.46 RCC APB1 clock register (RCC_APB1HENR) . . . . . 465
- 8.7.47 RCC APB2 clock register (RCC_APB2ENR) . . . . . 467
- 8.7.48 RCC APB4 clock register (RCC_APB4ENR) . . . . . 470
- 8.7.49 RCC AHB3 Sleep clock register (RCC_AHB3LPENR) . . . . . 473
- 8.7.50 RCC AHB1 Sleep clock register (RCC_AHB1LPENR) . . . . . 475
- 8.7.51 RCC AHB2 Sleep clock register (RCC_AHB2LPENR) . . . . . 477
- 8.7.52 RCC AHB4 Sleep clock register (RCC_AHB4LPENR) . . . . . 479
- 8.7.53 RCC APB3 Sleep clock register (RCC_APB3LPENR) . . . . . 482
- 8.7.54 RCC APB1 Low Sleep clock register (RCC_APB1LLPENR) . . . . . 483
- 8.7.55 RCC APB1 High Sleep clock register (RCC_APB1HLPENR) . . . . . 487
- 8.7.56 RCC APB2 Sleep clock register (RCC_APB2LPENR) . . . . . 489
- 8.7.57 RCC APB4 Sleep clock register (RCC_APB4LPENR) . . . . . 492
- 8.8 RCC register map . . . . . 495
- 9 Clock recovery system (CRS) . . . . . 505
- 9.1 Introduction . . . . . 505
- 9.2 CRS main features . . . . . 505
- 9.3 CRS implementation . . . . . 505
- 9.4 CRS functional description . . . . . 506
- 9.4.1 CRS block diagram . . . . . 506
- 9.5 CRS internal signals . . . . . 506
- 9.5.1 Synchronization input . . . . . 507
- 9.5.2 Frequency error measurement . . . . . 507
- 9.5.3 Frequency error evaluation and automatic trimming . . . . . 508
- 9.5.4 CRS initialization and configuration . . . . . 509
- 9.6 CRS low-power modes . . . . . 510
- 9.7 CRS interrupts . . . . . 510
- 9.8 CRS registers . . . . . 511
- 9.8.1 CRS control register (CRS_CR) . . . . . 511
| 9.8.2 | CRS configuration register (CRS_CFGR) . . . . . | 512 |
| 9.8.3 | CRS interrupt and status register (CRS_ISR) . . . . . | 513 |
| 9.8.4 | CRS interrupt flag clear register (CRS_ICR) . . . . . | 515 |
| 9.8.5 | CRS register map . . . . . | 515 |
| 10 | Hardware semaphore (HSEM) . . . . . | 517 |
| 10.1 | Introduction . . . . . | 517 |
| 10.2 | Main features . . . . . | 517 |
| 10.3 | Functional description . . . . . | 518 |
| 10.3.1 | HSEM block diagram . . . . . | 518 |
| 10.3.2 | HSEM internal signals . . . . . | 518 |
| 10.3.3 | HSEM lock procedures . . . . . | 518 |
| 10.3.4 | HSEM write/read/read lock register address . . . . . | 520 |
| 10.3.5 | HSEM unlock procedures . . . . . | 520 |
| 10.3.6 | HSEM MASTERID semaphore clear . . . . . | 521 |
| 10.3.7 | HSEM interrupts . . . . . | 521 |
| 10.3.8 | AHB bus master ID verification . . . . . | 523 |
| 10.4 | HSEM registers . . . . . | 524 |
| 10.4.1 | HSEM register semaphore x (HSEM_Rx) . . . . . | 524 |
| 10.4.2 | HSEM read lock register semaphore x (HSEM_RLRx) . . . . . | 525 |
| 10.4.3 | HSEM interrupt enable register (HSEM_IER) . . . . . | 526 |
| 10.4.4 | HSEM interrupt clear register (HSEM_ICR) . . . . . | 526 |
| 10.4.5 | HSEM interrupt status register (HSEM_ISR) . . . . . | 526 |
| 10.4.6 | HSEM interrupt status register (HSEM_MISR) . . . . . | 527 |
| 10.4.7 | HSEM clear register (HSEM_CR) . . . . . | 527 |
| 10.4.8 | HSEM clear semaphore key register (HSEM_KEYR) . . . . . | 528 |
| 10.4.9 | HSEM register map . . . . . | 529 |
| 11 | General-purpose I/Os (GPIO) . . . . . | 530 |
| 11.1 | Introduction . . . . . | 530 |
| 11.2 | GPIO main features . . . . . | 530 |
| 11.3 | GPIO functional description . . . . . | 530 |
| 11.3.1 | General-purpose I/O (GPIO) . . . . . | 533 |
| 11.3.2 | I/O pin alternate function multiplexer and mapping . . . . . | 533 |
| 11.3.3 | I/O port control registers . . . . . | 534 |
| 11.3.4 | I/O port data registers . . . . . | 534 |
| 11.3.5 | I/O data bitwise handling . . . . . | 534 |
| 11.3.6 | GPIO locking mechanism . . . . . | 535 |
| 11.3.7 | I/O alternate function input/output . . . . . | 535 |
| 11.3.8 | External interrupt/wake-up lines . . . . . | 535 |
| 11.3.9 | Input configuration . . . . . | 536 |
| 11.3.10 | Output configuration . . . . . | 536 |
| 11.3.11 | I/O compensation cell . . . . . | 537 |
| 11.3.12 | Alternate function configuration . . . . . | 537 |
| 11.3.13 | Analog configuration . . . . . | 538 |
| 11.3.14 | Using the HSE or LSE oscillator pins as GPIOs . . . . . | 539 |
| 11.3.15 | Using the GPIO pins in the backup supply domain . . . . . | 539 |
| 11.4 | GPIO registers . . . . . | 540 |
| 11.4.1 | GPIO port mode register (GPIOx_MODER) (x = A to K) . . . . . | 540 |
| 11.4.2 | GPIO port output type register (GPIOx_OTYPER) (x = A to K) . . . . . | 540 |
| 11.4.3 | GPIO port output speed register (GPIOx_OSPEEDR) (x = A to K) . . . . . | 541 |
| 11.4.4 | GPIO port pull-up/pull-down register (GPIOx_PUPDR) (x = A to K) . . . . . | 541 |
| 11.4.5 | GPIO port input data register (GPIOx_IDR) (x = A to K) . . . . . | 542 |
| 11.4.6 | GPIO port output data register (GPIOx_ODR) (x = A to K) . . . . . | 542 |
| 11.4.7 | GPIO port bit set/reset register (GPIOx_BSRR) (x = A to K) . . . . . | 543 |
| 11.4.8 | GPIO port configuration lock register (GPIOx_LCKR) (x = A to K) . . . . . | 543 |
| 11.4.9 | GPIO alternate function low register (GPIOx_AFRL) (x = A to K) . . . . . | 544 |
| 11.4.10 | GPIO alternate function high register (GPIOx_AFRH) (x = A to J) . . . . . | 545 |
| 11.4.11 | GPIO register map . . . . . | 546 |
| 12 | System configuration controller (SYSCFG) . . . . . | 548 |
| 12.1 | Introduction . . . . . | 548 |
| 12.2 | SYSCFG main features . . . . . | 548 |
| 12.3 | SYSCFG registers . . . . . | 548 |
| 12.3.1 | SYSCFG peripheral mode configuration register (SYSCFG_PMCR) . . . . . | 548 |
| 12.3.2 | SYSCFG external interrupt configuration register 1 (SYSCFG_EXTICR1) ..... | 551 |
| 12.3.3 | SYSCFG external interrupt configuration register 2 (SYSCFG_EXTICR2) ..... | 551 |
| 12.3.4 | SYSCFG external interrupt configuration register 3 (SYSCFG_EXTICR3) ..... | 553 |
| 12.3.5 | SYSCFG external interrupt configuration register 4 (SYSCFG_EXTICR4) ..... | 554 |
| 12.3.6 | SYSCFG configuration register (SYSCFG_CFGR) ..... | 555 |
| 12.3.7 | SYSCFG compensation cell control/status register (SYSCFG_CCCSR) ..... | 558 |
| 12.3.8 | SYSCFG compensation cell value register (SYSCFG_CCV) ..... | 559 |
| 12.3.9 | SYSCFG compensation cell code register (SYSCFG_CCCR) ..... | 559 |
| 12.3.10 | SYSCFG power control register (SYSCFG_PWR) ..... | 560 |
| 12.3.11 | SYSCFG package register (SYSCFG_PKG) ..... | 560 |
| 12.3.12 | SYSCFG user register 0 (SYSCFG_UR0) ..... | 562 |
| 12.3.13 | SYSCFG user register 2 (SYSCFG_UR2) ..... | 562 |
| 12.3.14 | SYSCFG user register 3 (SYSCFG_UR3) ..... | 563 |
| 12.3.15 | SYSCFG user register 4 (SYSCFG_UR4) ..... | 563 |
| 12.3.16 | SYSCFG user register 5 (SYSCFG_UR5) ..... | 564 |
| 12.3.17 | SYSCFG user register 6 (SYSCFG_UR6) ..... | 564 |
| 12.3.18 | SYSCFG user register 7 (SYSCFG_UR7) ..... | 565 |
| 12.3.19 | SYSCFG user register 8 (SYSCFG_UR8) ..... | 565 |
| 12.3.20 | SYSCFG user register 9 (SYSCFG_UR9) ..... | 566 |
| 12.3.21 | SYSCFG user register 10 (SYSCFG_UR10) ..... | 566 |
| 12.3.22 | SYSCFG user register 11 (SYSCFG_UR11) ..... | 567 |
| 12.3.23 | SYSCFG user register 12 (SYSCFG_UR12) ..... | 567 |
| 12.3.24 | SYSCFG user register 13 (SYSCFG_UR13) ..... | 568 |
| 12.3.25 | SYSCFG user register 14 (SYSCFG_UR14) ..... | 569 |
| 12.3.26 | SYSCFG user register 15 (SYSCFG_UR15) ..... | 570 |
| 12.3.27 | SYSCFG user register 16 (SYSCFG_UR16) ..... | 571 |
| 12.3.28 | SYSCFG user register 17 (SYSCFG_UR17) ..... | 571 |
| 12.3.29 | SYSCFG register maps ..... | 572 |
| 13 | Block interconnect ..... | 575 |
| 13.1 | Peripheral interconnect ..... | 575 |
| 13.1.1 | Introduction ..... | 575 |
| 13.1.2 | Connection overview ..... | 575 |
| 13.2 | Wakeup from low power modes . . . . . | 594 |
| 13.3 | DMA . . . . . | 599 |
| 13.3.1 | MDMA (D1 domain) . . . . . | 600 |
| 13.3.2 | DMAMUX1, DMA1 and DMA2 (D2 domain) . . . . . | 602 |
| 13.3.3 | DMAMUX2, BDMA (D3 domain) . . . . . | 607 |
| 14 | MDMA controller (MDMA) . . . . . | 610 |
| 14.1 | MDMA introduction . . . . . | 610 |
| 14.2 | MDMA main features . . . . . | 610 |
| 14.3 | MDMA functional description . . . . . | 612 |
| 14.3.1 | MDMA block diagram . . . . . | 612 |
| 14.3.2 | MDMA internal signals . . . . . | 612 |
| 14.3.3 | MDMA overview . . . . . | 612 |
| 14.3.4 | MDMA channel . . . . . | 614 |
| 14.3.5 | Source, destination and transfer modes . . . . . | 614 |
| 14.3.6 | Pointer update . . . . . | 614 |
| 14.3.7 | MDMA buffer transfer . . . . . | 615 |
| 14.3.8 | Request arbitration . . . . . | 616 |
| 14.3.9 | FIFO . . . . . | 616 |
| 14.3.10 | Block transfer . . . . . | 616 |
| 14.3.11 | Block repeat mode . . . . . | 617 |
| 14.3.12 | Linked-list mode . . . . . | 617 |
| 14.3.13 | MDMA transfer completion . . . . . | 617 |
| 14.3.14 | MDMA transfer suspension . . . . . | 617 |
| 14.3.15 | Error management . . . . . | 618 |
| 14.4 | MDMA interrupts . . . . . | 618 |
| 14.5 | MDMA registers . . . . . | 619 |
| 14.5.1 | MDMA global interrupt status register (MDMA_GISR0) . . . . . | 619 |
| 14.5.2 | MDMA channel x interrupt status register (MDMA_CxISR) . . . . . | 619 |
| 14.5.3 | MDMA channel x interrupt flag clear register (MDMA_CxIFCR) . . . . . | 621 |
| 14.5.4 | MDMA channel x error status register (MDMA_CxESR) . . . . . | 621 |
| 14.5.5 | MDMA channel x control register (MDMA_CxCR) . . . . . | 622 |
| 14.5.6 | MDMA channel x transfer configuration register (MDMA_CxTCR) . . . . . | 624 |
| 14.5.7 | MDMA channel x block number of data register (MDMA_CxBNDTR) . . . . . | 628 |
| 14.5.8 | MDMA channel x source address register (MDMA_CxSAR) . . . . . | 629 |
| 14.5.9 | MDMA channel x destination address register (MDMA_CxDAR) . . . . . | 630 |
| 14.5.10 | MDMA channel x block repeat address update register (MDMA_CxBRUR) . . . . . | 630 |
| 14.5.11 | MDMA channel x link address register (MDMA_CxLAR) . . . . . | 631 |
| 14.5.12 | MDMA channel x trigger and bus selection register (MDMA_CxTBR) . . . . . | 632 |
| 14.5.13 | MDMA channel x mask address register (MDMA_CxMAR) . . . . . | 633 |
| 14.5.14 | MDMA channel x mask data register (MDMA_CxMDR) . . . . . | 633 |
| 14.5.15 | MDMA register map . . . . . | 634 |
| 15 | Direct memory access controller (DMA) . . . . . | 635 |
| 15.1 | DMA introduction . . . . . | 635 |
| 15.2 | DMA main features . . . . . | 635 |
| 15.3 | DMA functional description . . . . . | 637 |
| 15.3.1 | DMA block diagram . . . . . | 637 |
| 15.3.2 | DMA internal signals . . . . . | 637 |
| 15.3.3 | DMA overview . . . . . | 637 |
| 15.3.4 | DMA transactions . . . . . | 638 |
| 15.3.5 | DMA request mapping . . . . . | 638 |
| 15.3.6 | Arbiter . . . . . | 639 |
| 15.3.7 | DMA streams . . . . . | 639 |
| 15.3.8 | Source, destination and transfer modes . . . . . | 639 |
| 15.3.9 | Pointer incrementation . . . . . | 643 |
| 15.3.10 | Circular mode . . . . . | 644 |
| 15.3.11 | Double-buffer mode . . . . . | 644 |
| 15.3.12 | Programmable data width, packing/unpacking, endianness . . . . . | 645 |
| 15.3.13 | Single and burst transfers . . . . . | 646 |
| 15.3.14 | FIFO . . . . . | 647 |
| 15.3.15 | DMA transfer completion . . . . . | 650 |
| 15.3.16 | DMA transfer suspension . . . . . | 651 |
| 15.3.17 | Flow controller . . . . . | 652 |
| 15.3.18 | Summary of the possible DMA configurations . . . . . | 653 |
| 15.3.19 | Stream configuration procedure . . . . . | 653 |
| 15.3.20 | Error management . . . . . | 654 |
| 15.4 | DMA interrupts . . . . . | 655 |
| 15.5 | DMA registers . . . . . | 656 |
| 15.5.1 | DMA low interrupt status register (DMA_LISR) . . . . . | 656 |
| 15.5.2 | DMA high interrupt status register (DMA_HISR) . . . . . | 657 |
| 15.5.3 | DMA low interrupt flag clear register (DMA_LIFCR) | 658 |
| 15.5.4 | DMA high interrupt flag clear register (DMA_HIFCR) | 658 |
| 15.5.5 | DMA stream x configuration register (DMA_SxCR) | 659 |
| 15.5.6 | DMA stream x number of data register (DMA_SxNDTR) | 662 |
| 15.5.7 | DMA stream x peripheral address register (DMA_SxPAR) | 662 |
| 15.5.8 | DMA stream x memory 0 address register (DMA_SxM0AR) | 663 |
| 15.5.9 | DMA stream x memory 1 address register (DMA_SxM1AR) | 663 |
| 15.5.10 | DMA stream x FIFO control register (DMA_SxFCR) | 664 |
| 15.5.11 | DMA register map | 665 |
| 16 | Basic direct memory access controller (BDMA) | 669 |
| 16.1 | Introduction | 669 |
| 16.2 | BDMA main features | 669 |
| 16.3 | BDMA implementation | 670 |
| 16.3.1 | BDMA | 670 |
| 16.3.2 | BDMA request mapping | 670 |
| 16.4 | BDMA functional description | 670 |
| 16.4.1 | BDMA block diagram | 670 |
| 16.4.2 | BDMA pins and internal signals | 671 |
| 16.4.3 | BDMA transfers | 671 |
| 16.4.4 | BDMA arbitration | 672 |
| 16.4.5 | BDMA channels | 672 |
| 16.4.6 | BDMA data width, alignment and endianness | 677 |
| 16.4.7 | BDMA error management | 678 |
| 16.5 | BDMA interrupts | 679 |
| 16.6 | BDMA registers | 679 |
| 16.6.1 | BDMA interrupt status register (BDMA_ISR) | 679 |
| 16.6.2 | BDMA interrupt flag clear register (BDMA_IFCR) | 682 |
| 16.6.3 | BDMA channel x configuration register (BDMA_CCRx) | 683 |
| 16.6.4 | BDMA channel x number of data to transfer register (BDMA_CNDTRx) | 687 |
| 16.6.5 | BDMA channel x peripheral address register (BDMA_CPARx) | 687 |
| 16.6.6 | BDMA channel x memory 0 address register (BDMA_CM0ARx) | 688 |
| 16.6.7 | BDMA channel x memory 1 address register (BDMA_CM1ARx) | 689 |
| 16.6.8 | BDMA register map | 689 |
| 17 | DMA request multiplexer (DMAMUX) | 692 |
| 17.1 | Introduction | 692 |
| 17.2 | DMAMUX main features | 693 |
| 17.3 | DMAMUX implementation | 693 |
| 17.3.1 | DMAMUX1 and DMAMUX2 instantiation | 693 |
| 17.3.2 | DMAMUX1 mapping | 693 |
| 17.3.3 | DMAMUX2 mapping | 696 |
| 17.4 | DMAMUX functional description | 699 |
| 17.4.1 | DMAMUX block diagram | 699 |
| 17.4.2 | DMAMUX signals | 700 |
| 17.4.3 | DMAMUX channels | 700 |
| 17.4.4 | DMAMUX request line multiplexer | 700 |
| 17.4.5 | DMAMUX request generator | 703 |
| 17.5 | DMAMUX interrupts | 704 |
| 17.6 | DMAMUX registers | 705 |
| 17.6.1 | DMAMUX1 request line multiplexer channel x configuration register (DMAMUX1_CxCR) | 705 |
| 17.6.2 | DMAMUX2 request line multiplexer channel x configuration register (DMAMUX2_CxCR) | 706 |
| 17.6.3 | DMAMUX1 request line multiplexer interrupt channel status register (DMAMUX1_CSR) | 707 |
| 17.6.4 | DMAMUX2 request line multiplexer interrupt channel status register (DMAMUX2_CSR) | 707 |
| 17.6.5 | DMAMUX1 request line multiplexer interrupt clear flag register (DMAMUX1_CFR) | 708 |
| 17.6.6 | DMAMUX2 request line multiplexer interrupt clear flag register (DMAMUX2_CFR) | 708 |
| 17.6.7 | DMAMUX1 request generator channel x configuration register (DMAMUX1_RGxCR) | 709 |
| 17.6.8 | DMAMUX2 request generator channel x configuration register (DMAMUX2_RGxCR) | 709 |
| 17.6.9 | DMAMUX1 request generator interrupt status register (DMAMUX1_RGSR) | 710 |
| 17.6.10 | DMAMUX2 request generator interrupt status register (DMAMUX2_RGSR) | 711 |
| 17.6.11 | DMAMUX1 request generator interrupt clear flag register (DMAMUX1_RGCFR) | 711 |
| 17.6.12 | DMAMUX2 request generator interrupt clear flag register (DMAMUX2_RGCFR) | 712 |
| 17.6.13 | DMAMUX register map | 713 |
- 18 Chrom-ART Accelerator controller (DMA2D) . . . . . 715
- 18.1 DMA2D introduction . . . . . 715
- 18.2 DMA2D main features . . . . . 715
- 18.3 DMA2D functional description . . . . . 716
- 18.3.1 General description . . . . . 716
- 18.3.2 DMA2D internal signals . . . . . 717
- 18.3.3 DMA2D control . . . . . 717
- 18.3.4 DMA2D foreground and background FIFOs . . . . . 718
- 18.3.5 DMA2D foreground and background PFC . . . . . 718
- 18.3.6 DMA2D foreground and background CLUT interface . . . . . 720
- 18.3.7 DMA2D blender . . . . . 721
- 18.3.8 DMA2D output PFC . . . . . 721
- 18.3.9 DMA2D output FIFO . . . . . 722
- 18.3.10 DMA2D output FIFO byte reordering . . . . . 723
- 18.3.11 DMA2D AXI master port timer . . . . . 724
- 18.3.12 DMA2D transactions . . . . . 724
- 18.3.13 DMA2D configuration . . . . . 725
- 18.3.14 YCbCr support . . . . . 729
- 18.3.15 DMA2D transfer control (start, suspend, abort, and completion) . . . . . 729
- 18.3.16 Watermark . . . . . 729
- 18.3.17 Error management . . . . . 729
- 18.3.18 AXI dead time . . . . . 730
- 18.4 DMA2D interrupts . . . . . 730
- 18.5 DMA2D registers . . . . . 731
- 18.5.1 DMA2D control register (DMA2D_CR) . . . . . 731
- 18.5.2 DMA2D interrupt status register (DMA2D_ISR) . . . . . 732
- 18.5.3 DMA2D interrupt flag clear register (DMA2D_IFCR) . . . . . 733
- 18.5.4 DMA2D foreground memory address register (DMA2D_FGMAR) . . . . . 734
- 18.5.5 DMA2D foreground offset register (DMA2D_FGOR) . . . . . 734
- 18.5.6 DMA2D background memory address register (DMA2D_BGMAR) . . . . . 735
- 18.5.7 DMA2D background offset register (DMA2D_BGOR) . . . . . 735
- 18.5.8 DMA2D foreground PFC control register (DMA2D_FGPFCCR) . . . . . 736
- 18.5.9 DMA2D foreground color register (DMA2D_FGCOLR) . . . . . 737
- 18.5.10 DMA2D background PFC control register (DMA2D_BGPFCCR) . . . . . 738
- 18.5.11 DMA2D background color register (DMA2D_BGCOLR) . . . . . 739
- 18.5.12 DMA2D foreground CLUT memory address register (DMA2D_FGCMAR) . . . . . 740
| 18.5.13 | DMA2D background CLUT memory address register (DMA2D_BGC MAR) . . . . . | 740 |
| 18.5.14 | DMA2D output PFC control register (DMA2D_OPFCCR) . . . . . | 741 |
| 18.5.15 | DMA2D output color register (DMA2D_OCOLR) . . . . . | 742 |
| 18.5.16 | DMA2D output color register [alternate] (DMA2D_OCOLR) . . . . . | 742 |
| 18.5.17 | DMA2D output color register [alternate] (DMA2D_OCOLR) . . . . . | 743 |
| 18.5.18 | DMA2D output color register [alternate] (DMA2D_OCOLR) . . . . . | 743 |
| 18.5.19 | DMA2D output memory address register (DMA2D_OMAR) . . . . . | 744 |
| 18.5.20 | DMA2D output offset register (DMA2D_OOR) . . . . . | 744 |
| 18.5.21 | DMA2D number of line register (DMA2D_NLR) . . . . . | 745 |
| 18.5.22 | DMA2D line watermark register (DMA2D_LWR) . . . . . | 745 |
| 18.5.23 | DMA2D AXI master timer configuration register (DMA2D_AMTCR) . . . . . | 746 |
| 18.5.24 | DMA2D foreground CLUT (DMA2D_FGCLUTx) . . . . . | 746 |
| 18.5.25 | DMA2D background CLUT (DMA2D_BGCLUTx) . . . . . | 747 |
| 18.5.26 | DMA2D register map . . . . . | 747 |
| 19 | Nested vectored interrupt controller (NVIC) . . . . . | 749 |
| 19.1 | NVIC features . . . . . | 749 |
| 19.1.1 | SysTick calibration value register . . . . . | 749 |
| 19.1.2 | Interrupt and exception vectors . . . . . | 750 |
| 20 | Extended interrupt and event controller (EXTI) . . . . . | 758 |
| 20.1 | EXTI main features . . . . . | 758 |
| 20.2 | EXTI block diagram . . . . . | 758 |
| 20.2.1 | EXTI connections between peripherals, CPU, and D3 domain . . . . . | 759 |
| 20.3 | EXTI functional description . . . . . | 760 |
| 20.3.1 | EXTI Configurable event input CPU wakeup . . . . . | 761 |
| 20.3.2 | EXTI configurable event input Any wakeup . . . . . | 762 |
| 20.3.3 | EXTI direct event input CPU wakeup . . . . . | 764 |
| 20.3.4 | EXTI direct event input Any wakeup . . . . . | 765 |
| 20.3.5 | EXTI D3 pending request clear selection . . . . . | 766 |
| 20.4 | EXTI event input mapping . . . . . | 766 |
| 20.5 | EXTI functional behavior . . . . . | 769 |
| 20.5.1 | EXTI CPU interrupt procedure . . . . . | 770 |
| 20.5.2 | EXTI CPU event procedure . . . . . | 770 |
| 20.5.3 | EXTI CPU wakeup procedure . . . . . | 771 |
| 20.5.4 | EXTI D3 domain wakeup for autonomous Run mode procedure . . . . . | 771 |
| 20.5.5 | EXTI software interrupt/event trigger procedure . . . . . | 771 |
| 20.6 | EXTI registers . . . . . | 772 |
| 20.6.1 | EXTI rising trigger selection register (EXTI_RTSR1) . . . . . | 772 |
| 20.6.2 | EXTI falling trigger selection register (EXTI_FTSR1) . . . . . | 772 |
| 20.6.3 | EXTI software interrupt event register (EXTI_SWIER1) . . . . . | 773 |
| 20.6.4 | EXTI D3 pending mask register (EXTI_D3PMR1) . . . . . | 773 |
| 20.6.5 | EXTI D3 pending clear selection register low (EXTI_D3PCR1L) . . . . . | 774 |
| 20.6.6 | EXTI D3 pending clear selection register high (EXTI_D3PCR1H) . . . . . | 774 |
| 20.6.7 | EXTI rising trigger selection register (EXTI_RTSR2) . . . . . | 775 |
| 20.6.8 | EXTI falling trigger selection register (EXTI_FTSR2) . . . . . | 776 |
| 20.6.9 | EXTI software interrupt event register (EXTI_SWIER2) . . . . . | 776 |
| 20.6.10 | EXTI D3 pending mask register (EXTI_D3PMR2) . . . . . | 777 |
| 20.6.11 | EXTI D3 pending clear selection register low (EXTI_D3PCR2L) . . . . . | 778 |
| 20.6.12 | EXTI D3 pending clear selection register high (EXTI_D3PCR2H) . . . . . | 778 |
| 20.6.13 | EXTI rising trigger selection register (EXTI_RTSR3) . . . . . | 779 |
| 20.6.14 | EXTI falling trigger selection register (EXTI_FTSR3) . . . . . | 779 |
| 20.6.15 | EXTI software interrupt event register (EXTI_SWIER3) . . . . . | 780 |
| 20.6.16 | EXTI D3 pending mask register (EXTI_D3PMR3) . . . . . | 780 |
| 20.6.17 | EXTI D3 pending clear selection register low (EXTI_D3PCR3L) . . . . . | 781 |
| 20.6.18 | EXTI D3 pending clear selection register high (EXTI_D3PCR3H) . . . . . | 781 |
| 20.6.19 | EXTI interrupt mask register (EXTI_CPUIMR1) . . . . . | 782 |
| 20.6.20 | EXTI event mask register (EXTI_CPUEMR1) . . . . . | 782 |
| 20.6.21 | EXTI pending register (EXTI_CPUPR1) . . . . . | 783 |
| 20.6.22 | EXTI interrupt mask register (EXTI_CPUIMR2) . . . . . | 783 |
| 20.6.23 | EXTI event mask register (EXTI_CPUEMR2) . . . . . | 784 |
| 20.6.24 | EXTI pending register (EXTI_CPUPR2) . . . . . | 784 |
| 20.6.25 | EXTI interrupt mask register (EXTI_CPUIMR3) . . . . . | 785 |
| 20.6.26 | EXTI event mask register (EXTI_CPUEMR3) . . . . . | 786 |
| 20.6.27 | EXTI pending register (EXTI_CPUPR3) . . . . . | 786 |
| 20.6.28 | EXTI register map . . . . . | 787 |
| 21 | Cyclic redundancy check calculation unit (CRC) . . . . . | 790 |
| 21.1 | Introduction . . . . . | 790 |
| 21.2 | CRC main features . . . . . | 790 |
| 21.3 | CRC functional description . . . . . | 791 |
| 21.3.1 | CRC block diagram . . . . . | 791 |
| 21.3.2 | CRC internal signals . . . . . | 791 |
| 21.3.3 | CRC operation . . . . . | 791 |
| 21.4 | CRC registers . . . . . | 793 |
| 21.4.1 | CRC data register (CRC_DR) . . . . . | 793 |
| 21.4.2 | CRC independent data register (CRC_IDR) . . . . . | 793 |
| 21.4.3 | CRC control register (CRC_CR) . . . . . | 794 |
| 21.4.4 | CRC initial value (CRC_INIT) . . . . . | 795 |
| 21.4.5 | CRC polynomial (CRC_POL) . . . . . | 795 |
| 21.4.6 | CRC register map . . . . . | 796 |
| 22 | Flexible memory controller (FMC) . . . . . | 797 |
| 22.1 | FMC main features . . . . . | 797 |
| 22.2 | FMC block diagram . . . . . | 798 |
| 22.3 | FMC internal signals . . . . . | 800 |
| 22.4 | AHB interface . . . . . | 800 |
| 22.5 | AXI interface . . . . . | 800 |
| 22.5.1 | Supported memories and transactions . . . . . | 801 |
| 22.6 | External device address mapping . . . . . | 802 |
| 22.6.1 | NOR/PSRAM address mapping . . . . . | 803 |
| 22.6.2 | NAND flash memory address mapping . . . . . | 804 |
| 22.6.3 | SDRAM address mapping . . . . . | 804 |
| 22.7 | NOR flash/PSRAM controller . . . . . | 808 |
| 22.7.1 | External memory interface signals . . . . . | 809 |
| 22.7.2 | Supported memories and transactions . . . . . | 811 |
| 22.7.3 | General timing rules . . . . . | 812 |
| 22.7.4 | NOR flash/PSRAM controller asynchronous transactions . . . . . | 813 |
| 22.7.5 | Synchronous transactions . . . . . | 832 |
| 22.7.6 | NOR/PSRAM controller registers . . . . . | 838 |
| 22.8 | NAND flash controller . . . . . | 847 |
| 22.8.1 | External memory interface signals . . . . . | 847 |
| 22.8.2 | NAND flash supported memories and transactions . . . . . | 848 |
| 22.8.3 | Timing diagrams for NAND flash memories . . . . . | 849 |
| 22.8.4 | NAND flash operations . . . . . | 850 |
| 22.8.5 | NAND flash prewait feature . . . . . | 851 |
| 22.8.6 | Computation of the error correction code (ECC) in NAND flash memory . . . . . | 852 |
| 22.8.7 | NAND flash controller registers . . . . . | 853 |
| 22.9 | SDRAM controller . . . . . | 859 |
| 22.9.1 | SDRAM controller main features . . . . . | 859 |
| 22.9.2 | SDRAM External memory interface signals . . . . . | 859 |
| 22.9.3 | SDRAM controller functional description . . . . . | 860 |
| 22.9.4 | Low-power modes . . . . . | 867 |
| 22.9.5 | SDRAM controller registers . . . . . | 870 |
| 22.9.6 | FMC register map . . . . . | 876 |
| 23 | Quad-SPI interface (QUADSPI) . . . . . | 879 |
| 23.1 | Introduction . . . . . | 879 |
| 23.2 | QUADSPI main features . . . . . | 879 |
| 23.3 | QUADSPI functional description . . . . . | 879 |
| 23.3.1 | QUADSPI block diagram . . . . . | 879 |
| 23.3.2 | QUADSPI pins and internal signals . . . . . | 880 |
| 23.3.3 | QUADSPI command sequence . . . . . | 881 |
| 23.3.4 | QUADSPI signal interface protocol modes . . . . . | 883 |
| 23.3.5 | QUADSPI indirect mode . . . . . | 885 |
| 23.3.6 | QUADSPI automatic status-polling mode . . . . . | 887 |
| 23.3.7 | QUADSPI memory-mapped mode . . . . . | 887 |
| 23.3.8 | QUADSPI free-running clock mode . . . . . | 888 |
| 23.3.9 | QUADSPI flash memory configuration . . . . . | 888 |
| 23.3.10 | QUADSPI delayed data sampling . . . . . | 889 |
| 23.3.11 | QUADSPI configuration . . . . . | 889 |
| 23.3.12 | QUADSPI use . . . . . | 889 |
| 23.3.13 | Sending the instruction only once . . . . . | 891 |
| 23.3.14 | QUADSPI error management . . . . . | 892 |
| 23.3.15 | QUADSPI busy bit and abort functionality . . . . . | 892 |
| 23.3.16 | NCS behavior . . . . . | 892 |
| 23.4 | QUADSPI interrupts . . . . . | 894 |
| 23.5 | QUADSPI registers . . . . . | 895 |
| 23.5.1 | QUADSPI control register (QUADSPI_CR) . . . . . | 895 |
| 23.5.2 | QUADSPI device configuration register (QUADSPI_DCR) . . . . . | 897 |
| 23.5.3 | QUADSPI status register (QUADSPI_SR) . . . . . | 898 |
| 23.5.4 | QUADSPI flag clear register (QUADSPI_FCR) . . . . . | 899 |
| 23.5.5 | QUADSPI data length register (QUADSPI_DLR) . . . . . | 900 |
| 23.5.6 | QUADSPI communication configuration register (QUADSPI_CCR) . . . . . | 900 |
| 23.5.7 | QUADSPI address register (QUADSPI_AR) . . . . . | 902 |
| 23.5.8 | QUADSPI alternate-byte register (QUADSPI_ABR) . . . . . | 903 |
| 23.5.9 | QUADSPI data register (QUADSPI_DR) . . . . . | 903 |
| 23.5.10 | QUADSPI polling status mask register (QUADSPI_PSMKR) . . . . . | 904 |
| 23.5.11 | QUADSPI polling status match register (QUADSPI_PSMAR) . . . . . | 904 |
| 23.5.12 | QUADSPI polling interval register (QUADSPI_PIR) . . . . . | 905 |
| 23.5.13 | QUADSPI low-power timeout register (QUADSPI_LPTR) . . . . . | 905 |
| 23.5.14 | QUADSPI register map . . . . . | 906 |
| 24 | Delay block (DLYB) . . . . . | 907 |
| 24.1 | Introduction . . . . . | 907 |
| 24.2 | DLYB main features . . . . . | 907 |
| 24.3 | DLYB functional description . . . . . | 907 |
| 24.3.1 | DLYB diagram . . . . . | 907 |
| 24.3.2 | DLYB pins and internal signals . . . . . | 908 |
| 24.3.3 | General description . . . . . | 908 |
| 24.3.4 | Delay line length configuration procedure . . . . . | 909 |
| 24.3.5 | Output clock phase configuration procedure . . . . . | 909 |
| 24.4 | DLYB registers . . . . . | 910 |
| 24.4.1 | DLYB control register (DLYB_CR) . . . . . | 910 |
| 24.4.2 | DLYB configuration register (DLYB_CFGR) . . . . . | 910 |
| 24.4.3 | DLYB register map . . . . . | 911 |
| 25 | Analog-to-digital converters (ADC) . . . . . | 912 |
| 25.1 | Introduction . . . . . | 912 |
| 25.2 | ADC main features . . . . . | 913 |
| 25.3 | ADC implementation . . . . . | 914 |
| 25.4 | ADC functional description . . . . . | 915 |
| 25.4.1 | ADC block diagram . . . . . | 915 |
| 25.4.2 | ADC pins and internal signals . . . . . | 916 |
| 25.4.3 | ADC clocks . . . . . | 917 |
| 25.4.4 | ADC1/2/3 connectivity . . . . . | 920 |
| 25.4.5 | Slave AHB interface . . . . . | 923 |
| 25.4.6 | ADC deep-power-down mode (DEEPPWD) and ADC voltage regulator (ADVREGEN) . . . . . | 923 |
| 25.4.7 | Single-ended and differential input channels . . . . . | 924 |
| 25.4.8 | Calibration (ADCAL, ADCALDIF, ADCALLIN, ADC_CALFACT) . . . . . | 924 |
| 25.4.9 | ADC on-off control (ADEN, ADDIS, ADRDY) . . . . . | 930 |
| 25.4.10 | Constraints when writing the ADC control bits . . . . . | 931 |
| 25.4.11 | Channel selection (SQRx, JSQRx) . . . . . | 931 |
| 25.4.12 | Channel preselection register (ADC_PCSEL) . . . . . | 932 |
| 25.4.13 | Channel-wise programmable sampling time (SMPR1, SMPR2) . . . . . | 933 |
| 25.4.14 | Single conversion mode (CONT=0) . . . . . | 934 |
| 25.4.15 | Continuous conversion mode (CONT=1) . . . . . | 934 |
| 25.4.16 | Starting conversions (ADSTART, JADSTART) . . . . . | 935 |
| 25.4.17 | Timing . . . . . | 936 |
| 25.4.18 | Stopping an ongoing conversion (ADSTP, JADSTP) . . . . . | 936 |
| 25.4.19 | Conversion on external trigger and trigger polarity (EXTSEL, EXTEN, JEXTSEL, JEXTEN) . . . . . | 938 |
| 25.4.20 | Injected channel management . . . . . | 941 |
| 25.4.21 | Discontinuous mode (DISCEN, DISCNUM, JDISCEN) . . . . . | 943 |
| 25.4.22 | Queue of context for injected conversions . . . . . | 944 |
| 25.4.23 | Programmable resolution (RES) - fast conversion mode . . . . . | 952 |
| 25.4.24 | End of conversion, end of sampling phase (EOC, JEOC, EOSMP) . . . . . | 952 |
| 25.4.25 | End of conversion sequence (EOS, JEOS) . . . . . | 952 |
| 25.4.26 | Timing diagrams example (single/continuous modes, hardware/software triggers) . . . . . | 953 |
| 25.4.27 | Data management . . . . . | 954 |
| 25.4.28 | Managing conversions using the DFSDM . . . . . | 962 |
| 25.4.29 | Dynamic low-power features . . . . . | 962 |
| 25.4.30 | Analog window watchdog (AWD1EN, JAWD1EN, AWD1SGL, AWD1CH, AWD2CH, AWD3CH, AWD_HTRy, AWD_LTRy, AWDy) . . . . . | 967 |
| 25.4.31 | Oversampler . . . . . | 970 |
| 25.4.32 | Dual ADC modes . . . . . | 976 |
| 25.4.33 | Temperature sensor . . . . . | 991 |
| 25.4.34 | VBAT supply monitoring . . . . . | 992 |
| 25.4.35 | Monitoring the internal voltage reference . . . . . | 993 |
| 25.5 | ADC interrupts . . . . . | 995 |
| 25.6 | ADC registers (for each ADC) . . . . . | 996 |
| 25.6.1 | ADC interrupt and status register (ADC_ISR) . . . . . | 996 |
| 25.6.2 | ADC interrupt enable register (ADC_IER) . . . . . | 999 |
| 25.6.3 | ADC control register (ADC_CR) . . . . . | 1001 |
| 25.6.4 | ADC configuration register (ADC_CFGR) . . . . . | 1010 |
| 25.6.5 | ADC configuration register 2 (ADC_CFGR2) . . . . . | 1014 |
| 25.6.6 | ADC sample time register 1 (ADC_SMPR1) . . . . . | 1016 |
| 25.6.7 | ADC sample time register 2 (ADC_SMPR2) . . . . . | 1017 |
| 25.6.8 | ADC channel preselection register (ADC_PCSEL) . . . . . | 1018 |
| 25.6.9 | ADC watchdog threshold register 1 (ADC_LTR1) . . . . . | 1018 |
| 25.6.10 | ADC watchdog threshold register 1 (ADC_HTR1) . . . . . | 1019 |
| 25.6.11 | ADC regular sequence register 1 (ADC_SQR1) . . . . . | 1020 |
| 25.6.12 | ADC regular sequence register 2 (ADC_SQR2) . . . . . | 1021 |
| 25.6.13 | ADC regular sequence register 3 (ADC_SQR3) . . . . . | 1022 |
| 25.6.14 | ADC regular sequence register 4 (ADC_SQR4) . . . . . | 1023 |
| 25.6.15 | ADC regular Data Register (ADC_DR) . . . . . | 1024 |
| 25.6.16 | ADC injected sequence register (ADC_JSQR) . . . . . | 1025 |
| 25.6.17 | ADC injected channel y offset register (ADC_OF Ry) . . . . . | 1027 |
| 25.6.18 | ADC injected channel y data register (ADC_JDRy) . . . . . | 1028 |
| 25.6.19 | ADC analog watchdog 2 configuration register (ADC_AWD2CR) . . . . . | 1028 |
| 25.6.20 | ADC analog watchdog 3 configuration register (ADC_AWD3CR) . . . . . | 1029 |
| 25.6.21 | ADC watchdog lower threshold register 2 (ADC_LTR2) . . . . . | 1029 |
| 25.6.22 | ADC watchdog higher threshold register 2 (ADC_HTR2) . . . . . | 1030 |
| 25.6.23 | ADC watchdog lower threshold register 3 (ADC_LTR3) . . . . . | 1030 |
| 25.6.24 | ADC watchdog higher threshold register 3 (ADC_HTR3) . . . . . | 1031 |
| 25.6.25 | ADC differential mode selection register (ADC_DIFSEL) . . . . . | 1031 |
| 25.6.26 | ADC calibration factors register (ADC_CALFACT) . . . . . | 1032 |
| 25.6.27 | ADC calibration factor register 2 (ADC_CALFACT2) . . . . . | 1032 |
| 25.7 | ADC common registers . . . . . | 1033 |
| 25.7.1 | ADC x common status register (ADCx_CSR) (x=1/2 or 3) . . . . . | 1033 |
| 25.7.2 | ADC x common control register (ADCx_CCR) (x=1/2 or 3) . . . . . | 1035 |
| 25.7.3 | ADC x common regular data register for dual mode (ADCx_CDR) (x=1/2 or 3) . . . . . | 1039 |
| 25.7.4 | ADC x common regular data register for 32-bit dual mode (ADCx_CDR2) (x=1/2 or 3) . . . . . | 1039 |
| 25.8 | ADC register map . . . . . | 1040 |
| 26 | Digital-to-analog converter (DAC) . . . . . | 1044 |
| 26.1 | Introduction . . . . . | 1044 |
| 26.2 | DAC main features . . . . . | 1044 |
| 26.3 | DAC implementation . . . . . | 1045 |
| 26.4 | DAC functional description . . . . . | 1046 |
| 26.4.1 | DAC block diagram . . . . . | 1046 |
| 26.4.2 | DAC pins and internal signals . . . . . | 1047 |
| 26.4.3 | DAC channel enable . . . . . | 1048 |
| 26.4.4 | DAC data format . . . . . | 1048 |
| 26.4.5 | DAC conversion . . . . . | 1050 |
| 26.4.6 | DAC output voltage . . . . . | 1050 |
| 26.4.7 | DAC trigger selection . . . . . | 1050 |
| 26.4.8 | DMA requests . . . . . | 1051 |
| 26.4.9 | Noise generation . . . . . | 1051 |
| 26.4.10 | Triangle-wave generation . . . . . | 1053 |
| 26.4.11 | DAC channel modes . . . . . | 1054 |
| 26.4.12 | DAC channel buffer calibration . . . . . | 1057 |
| 26.4.13 | Dual DAC channel conversion modes (if dual channels are available) . . . . . | 1058 |
| 26.5 | DAC in low-power modes . . . . . | 1062 |
| 26.6 | DAC interrupts . . . . . | 1063 |
| 26.7 | DAC registers . . . . . | 1064 |
| 26.7.1 | DAC control register (DAC_CR) . . . . . | 1064 |
| 26.7.2 | DAC software trigger register (DAC_SWTRGR) . . . . . | 1067 |
| 26.7.3 | DAC channel1 12-bit right-aligned data holding register (DAC_DHR12R1) . . . . . | 1068 |
| 26.7.4 | DAC channel1 12-bit left aligned data holding register (DAC_DHR12L1) . . . . . | 1068 |
| 26.7.5 | DAC channel1 8-bit right aligned data holding register (DAC_DHR8R1) . . . . . | 1069 |
| 26.7.6 | DAC channel2 12-bit right aligned data holding register (DAC_DHR12R2) . . . . . | 1069 |
| 26.7.7 | DAC channel2 12-bit left aligned data holding register (DAC_DHR12L2) . . . . . | 1070 |
| 26.7.8 | DAC channel2 8-bit right-aligned data holding register (DAC_DHR8R2) . . . . . | 1070 |
| 26.7.9 | Dual DAC 12-bit right-aligned data holding register (DAC_DHR12RD) . . . . . | 1071 |
| 26.7.10 | Dual DAC 12-bit left aligned data holding register (DAC_DHR12LD) . . . . . | 1071 |
| 26.7.11 | Dual DAC 8-bit right aligned data holding register (DAC_DHR8RD) . . . . . | 1072 |
| 26.7.12 | DAC channel1 data output register (DAC_DOR1) . . . . . | 1072 |
| 26.7.13 | DAC channel2 data output register (DAC_DOR2) . . . . . | 1073 |
| 26.7.14 | DAC status register (DAC_SR) . . . . . | 1073 |
| 26.7.15 | DAC calibration control register (DAC_CCR) . . . . . | 1075 |
| 26.7.16 | DAC mode control register (DAC_MCR) . . . . . | 1075 |
| 26.7.17 | DAC channel1 sample and hold sample time register (DAC_SHSR1) . . . . . | 1077 |
| 26.7.18 | DAC channel2 sample and hold sample time register (DAC_SHSR2) . . . . . | 1077 |
| 26.7.19 | DAC sample and hold time register (DAC_SHHR) . . . . . | 1078 |
| 26.7.20 | DAC sample and hold refresh time register (DAC_SHRR) . . . . . | 1078 |
| 26.7.21 | DAC register map . . . . . | 1079 |
| 27 | Voltage reference buffer (VREFBUF) . . . . . | 1081 |
| 27.1 | Introduction . . . . . | 1081 |
| 27.2 | VREFBUF functional description . . . . . | 1081 |
| 27.3 | VREFBUF registers . . . . . | 1082 |
| 27.3.1 | VREFBUF control and status register (VREFBUF_CSR) . . . . . | 1082 |
| 27.3.2 | VREFBUF calibration control register (VREFBUF_CCR) . . . . . | 1083 |
| 27.3.3 | VREFBUF register map . . . . . | 1083 |
| 28 | Comparator (COMP) . . . . . | 1084 |
| 28.1 | Introduction . . . . . | 1084 |
| 28.2 | COMP main features . . . . . | 1084 |
| 28.3 | COMP functional description . . . . . | 1085 |
| 28.3.1 | COMP block diagram . . . . . | 1085 |
| 28.3.2 | COMP pins and internal signals . . . . . | 1085 |
| 28.3.3 | COMP reset and clocks . . . . . | 1087 |
| 28.3.4 | Comparator LOCK mechanism . . . . . | 1087 |
| 28.3.5 | Window comparator . . . . . | 1087 |
| 28.3.6 | Hysteresis . . . . . | 1087 |
| 28.3.7 | Comparator output blanking function . . . . . | 1088 |
| 28.3.8 | Comparator output on GPIOs . . . . . | 1089 |
| 28.3.9 | Comparator output redirection . . . . . | 1090 |
| 28.3.10 | COMP power and speed modes . . . . . | 1090 |
| 28.4 | COMP low-power modes . . . . . | 1091 |
| 28.5 | COMP interrupts . . . . . | 1091 |
| 28.5.1 | Interrupt through EXTI block . . . . . | 1091 |
| 28.5.2 | Interrupt through NVIC of the CPU . . . . . | 1092 |
| 28.6 | SCALER function . . . . . | 1092 |
| 28.7 | COMP registers . . . . . | 1093 |
- 28.7.1 Comparator status register (COMP_SR) . . . . . 1093
- 28.7.2 Comparator interrupt clear flag register (COMP_ICFR) . . . . . 1093
- 28.7.3 Comparator option register (COMP_OR) . . . . . 1094
- 28.7.4 Comparator configuration register 1 (COMP_CFGR1) . . . . . 1094
- 28.7.5 Comparator configuration register 2 (COMP_CFGR2) . . . . . 1096
- 28.7.6 COMP register map . . . . . 1099
29 Operational amplifiers (OPAMP) . . . . . 1100
- 29.1 Introduction . . . . . 1100
- 29.2 OPAMP main features . . . . . 1100
- 29.3 OPAMP functional description . . . . . 1100
- 29.3.1 OPAMP reset and clocks . . . . . 1100
- 29.3.2 Initial configuration . . . . . 1101
- 29.3.3 Signal routing . . . . . 1101
- 29.3.4 OPAMP modes . . . . . 1102
- 29.3.5 Calibration . . . . . 1108
- 29.4 OPAMP low-power modes . . . . . 1110
- 29.5 OPAMP PGA gain . . . . . 1110
- 29.6 OPAMP registers . . . . . 1110
- 29.6.1 OPAMP1 control/status register (OPAMP1_CSR) . . . . . 1110
- 29.6.2 OPAMP1 trimming register in normal mode (OPAMP1_OTR) . . . . . 1112
- 29.6.3 OPAMP1 trimming register in high-speed mode (OPAMP1_HSOTR) 1113
- 29.6.4 OPAMP option register (OPAMP_OR) . . . . . 1113
- 29.6.5 OPAMP2 control/status register (OPAMP2_CSR) . . . . . 1113
- 29.6.6 OPAMP2 trimming register in normal mode (OPAMP2_OTR) . . . . . 1115
- 29.6.7 OPAMP2 trimming register in high-speed mode (OPAMP2_HSOTR) 1116
- 29.6.8 OPAMP register map . . . . . 1117
30 Digital filter for sigma delta modulators (DFSDM) . . . . . 1118
- 30.1 Introduction . . . . . 1118
- 30.2 DFSDM main features . . . . . 1119
- 30.3 DFSDM implementation . . . . . 1120
- 30.4 DFSDM functional description . . . . . 1121
- 30.4.1 DFSDM block diagram . . . . . 1121
- 30.4.2 DFSDM pins and internal signals . . . . . 1122
- 30.4.3 DFSDM reset and clocks . . . . . 1123
| 30.4.4 | Serial channel transceivers . . . . . | 1124 |
| 30.4.5 | Configuring the input serial interface . . . . . | 1134 |
| 30.4.6 | Parallel data inputs . . . . . | 1134 |
| 30.4.7 | Channel selection . . . . . | 1136 |
| 30.4.8 | Digital filter configuration . . . . . | 1137 |
| 30.4.9 | Integrator unit . . . . . | 1138 |
| 30.4.10 | Analog watchdog . . . . . | 1139 |
| 30.4.11 | Short-circuit detector . . . . . | 1141 |
| 30.4.12 | Extreme detector . . . . . | 1142 |
| 30.4.13 | Data unit block . . . . . | 1142 |
| 30.4.14 | Signed data format . . . . . | 1143 |
| 30.4.15 | Launching conversions . . . . . | 1144 |
| 30.4.16 | Continuous and fast continuous modes . . . . . | 1144 |
| 30.4.17 | Request precedence . . . . . | 1145 |
| 30.4.18 | Power optimization in run mode . . . . . | 1146 |
| 30.5 | DFSDM interrupts . . . . . | 1146 |
| 30.6 | DFSDM DMA transfer . . . . . | 1148 |
| 30.7 | DFSDM channel y registers (y=0..7) . . . . . | 1148 |
| 30.7.1 | DFSDM channel y configuration register (DFSDM_CHyCFGGR1) . . . . . | 1148 |
| 30.7.2 | DFSDM channel y configuration register (DFSDM_CHyCFGGR2) . . . . . | 1150 |
| 30.7.3 | DFSDM channel y analog watchdog and short-circuit detector register (DFSDM_CHyAWSCDR) . . . . . | 1151 |
| 30.7.4 | DFSDM channel y watchdog filter data register (DFSDM_CHyWDATR) . . . . . | 1152 |
| 30.7.5 | DFSDM channel y data input register (DFSDM_CHyDATINR) . . . . . | 1152 |
| 30.8 | DFSDM filter x module registers (x=0..3) . . . . . | 1153 |
| 30.8.1 | DFSDM filter x control register 1 (DFSDM_FLTxCR1) . . . . . | 1153 |
| 30.8.2 | DFSDM filter x control register 2 (DFSDM_FLTxCR2) . . . . . | 1156 |
| 30.8.3 | DFSDM filter x interrupt and status register (DFSDM_FLTxISR) . . . . . | 1157 |
| 30.8.4 | DFSDM filter x interrupt flag clear register (DFSDM_FLTxICR) . . . . . | 1159 |
| 30.8.5 | DFSDM filter x injected channel group selection register (DFSDM_FLTxJCHGR) . . . . . | 1160 |
| 30.8.6 | DFSDM filter x control register (DFSDM_FLTxFCR) . . . . . | 1160 |
| 30.8.7 | DFSDM filter x data register for injected group (DFSDM_FLTxJDATAR) . . . . . | 1161 |
| 30.8.8 | DFSDM filter x data register for the regular channel (DFSDM_FLTxRDATAR) . . . . . | 1162 |
30.8.9 DFSDM filter x analog watchdog high threshold register (DFSDM_FLTxAWHTR) . . . . . 1163
30.8.10 DFSDM filter x analog watchdog low threshold register (DFSDM_FLTxAWLTR) . . . . . 1163
30.8.11 DFSDM filter x analog watchdog status register (DFSDM_FLTxAWSR) . . . . . 1164
30.8.12 DFSDM filter x analog watchdog clear flag register (DFSDM_FLTxAWCFR) . . . . . 1165
30.8.13 DFSDM filter x extremes detector maximum register (DFSDM_FLTxEXMAX) . . . . . 1165
30.8.14 DFSDM filter x extremes detector minimum register (DFSDM_FLTxEXMIN) . . . . . 1166
30.8.15 DFSDM filter x conversion timer register (DFSDM_FLTxCNVTIMR) . . . . . 1166
30.8.16 DFSDM register map . . . . . 1167
31 Digital camera interface (DCMI) . . . . . 1177
31.1 Introduction . . . . . 1177
31.2 DCMI main features . . . . . 1177
31.3 DCMI functional description . . . . . 1177
31.3.1 DCMI block diagram . . . . . 1178
31.3.2 DCMI pins and internal signals . . . . . 1178
31.3.3 DCMI clocks . . . . . 1179
31.3.4 DCMI DMA interface . . . . . 1179
31.3.5 DCMI physical interface . . . . . 1179
31.3.6 DCMI synchronization . . . . . 1181
31.3.7 DCMI capture modes . . . . . 1183
31.3.8 DCMI crop feature . . . . . 1184
31.3.9 DCMI JPEG format . . . . . 1185
31.3.10 DCMI FIFO . . . . . 1185
31.3.11 DCMI data format description . . . . . 1186
31.4 DCMI interrupts . . . . . 1188
31.5 DCMI registers . . . . . 1189
31.5.1 DCMI control register (DCMI_CR) . . . . . 1189
31.5.2 DCMI status register (DCMI_SR) . . . . . 1191
31.5.3 DCMI raw interrupt status register (DCMI_RIS) . . . . . 1192
31.5.4 DCMI interrupt enable register (DCMI_IER) . . . . . 1193
31.5.5 DCMI masked interrupt status register (DCMI_MIS) . . . . . 1194
31.5.6 DCMI interrupt clear register (DCMI_ICR) . . . . . 1195
| 31.5.7 | DCMI embedded synchronization code register (DCMI_ESCR) . . . . | 1195 |
| 31.5.8 | DCMI embedded synchronization unmask register (DCMI_ESUR) . . | 1196 |
| 31.5.9 | DCMI crop window start (DCMI_CWSTRT) . . . . . | 1197 |
| 31.5.10 | DCMI crop window size (DCMI_CWSIZE) . . . . . | 1197 |
| 31.5.11 | DCMI data register (DCMI_DR) . . . . . | 1198 |
| 31.5.12 | DCMI register map . . . . . | 1198 |
| 32 | LCD-TFT display controller (LTDC) . . . . . | 1200 |
| 32.1 | Introduction . . . . . | 1200 |
| 32.2 | LTDC main features . . . . . | 1200 |
| 32.3 | LTDC functional description . . . . . | 1201 |
| 32.3.1 | LTDC block diagram . . . . . | 1201 |
| 32.3.2 | LTDC pins and internal signals . . . . . | 1201 |
| 32.3.3 | LTDC reset and clocks . . . . . | 1202 |
| 32.4 | LTDC programmable parameters . . . . . | 1204 |
| 32.4.1 | LTDC global configuration parameters . . . . . | 1204 |
| 32.4.2 | Layer programmable parameters . . . . . | 1206 |
| 32.5 | LTDC interrupts . . . . . | 1210 |
| 32.6 | LTDC programming procedure . . . . . | 1211 |
| 32.7 | LTDC registers . . . . . | 1212 |
| 32.7.1 | LTDC synchronization size configuration register (LTDC_SSCR) . . | 1212 |
| 32.7.2 | LTDC back porch configuration register (LTDC_BPCR) . . . . . | 1212 |
| 32.7.3 | LTDC active width configuration register (LTDC_AWCR) . . . . . | 1213 |
| 32.7.4 | LTDC total width configuration register (LTDC_TWCR) . . . . . | 1214 |
| 32.7.5 | LTDC global control register (LTDC_GCR) . . . . . | 1214 |
| 32.7.6 | LTDC shadow reload configuration register (LTDC_SRCR) . . . . . | 1216 |
| 32.7.7 | LTDC background color configuration register (LTDC_BCCR) . . . . . | 1216 |
| 32.7.8 | LTDC interrupt enable register (LTDC_IER) . . . . . | 1217 |
| 32.7.9 | LTDC interrupt status register (LTDC_ISR) . . . . . | 1218 |
| 32.7.10 | LTDC interrupt clear register (LTDC_ICR) . . . . . | 1218 |
| 32.7.11 | LTDC line interrupt position configuration register (LTDC_LIPCR) . . | 1219 |
| 32.7.12 | LTDC current position status register (LTDC_CPSR) . . . . . | 1219 |
| 32.7.13 | LTDC current display status register (LTDC_CDSR) . . . . . | 1220 |
| 32.7.14 | LTDC layer x control register (LTDC_LxCR) . . . . . | 1220 |
| 32.7.15 | LTDC layer x window horizontal position configuration register (LTDC_LxWHPER) . . . . . | 1221 |
32.7.16 LTDC layer x window vertical position configuration register (LTDC_LxWVPCR) . . . . . 1222
32.7.17 LTDC layer x color keying configuration register (LTDC_LxCKCR) . . . . . 1223
32.7.18 LTDC layer x pixel format configuration register (LTDC_LxPFCR) . . . . . 1223
32.7.19 LTDC layer x constant alpha configuration register (LTDC_LxCACR) . . . . . 1224
32.7.20 LTDC layer x default color configuration register (LTDC_LxDCCR) . . . . . 1224
32.7.21 LTDC layer x blending factors configuration register (LTDC_LxBFCR) . . . . . 1225
32.7.22 LTDC layer x color frame buffer address register (LTDC_LxCFBAR) . . . . . 1226
32.7.23 LTDC layer x color frame buffer length register (LTDC_LxCFBLR) . . . . . 1226
32.7.24 LTDC layer x color frame buffer line number register (LTDC_LxCFBLNR) . . . . . 1227
32.7.25 LTDC layer x CLUT write register (LTDC_LxCLUTWR) . . . . . 1227
32.7.26 LTDC register map . . . . . 1228
33 JPEG codec (JPEG) . . . . . 1231
33.1 Introduction . . . . . 1231
33.2 JPEG codec main features . . . . . 1231
33.3 JPEG codec block functional description . . . . . 1232
33.3.1 General description . . . . . 1232
33.3.2 JPEG internal signals . . . . . 1232
33.3.3 JPEG decoding procedure . . . . . 1233
33.3.4 JPEG encoding procedure . . . . . 1234
33.4 JPEG codec interrupts . . . . . 1236
33.5 JPEG codec registers . . . . . 1237
33.5.1 JPEG codec control register (JPEG_CONFR0) . . . . . 1237
33.5.2 JPEG codec configuration register 1 (JPEG_CONFR1) . . . . . 1237
33.5.3 JPEG codec configuration register 2 (JPEG_CONFR2) . . . . . 1238
33.5.4 JPEG codec configuration register 3 (JPEG_CONFR3) . . . . . 1239
33.5.5 JPEG codec configuration register x (JPEG_CONFRx) . . . . . 1239
33.5.6 JPEG control register (JPEG_CR) . . . . . 1240
33.5.7 JPEG status register (JPEG_SR) . . . . . 1241
33.5.8 JPEG clear flag register (JPEG_CFR) . . . . . 1242
| 33.5.9 | JPEG data input register (JPEG_DIR) . . . . . | 1243 |
| 33.5.10 | JPEG data output register (JPEG_DOR) . . . . . | 1243 |
| 33.5.11 | JPEG quantization memory x (JPEG_QMEMx_y) . . . . . | 1244 |
| 33.5.12 | JPEG Huffman min (JPEG_HUFFMINx_y) . . . . . | 1244 |
| 33.5.13 | JPEG Huffman min x [alternate] (JPEG_HUFFMINx_y) . . . . . | 1245 |
| 33.5.14 | JPEG Huffman base (JPEG_HUFFBASEx) . . . . . | 1245 |
| 33.5.15 | JPEG Huffman symbol (JPEG_HUFFSYMBx) . . . . . | 1246 |
| 33.5.16 | JPEG DHT memory (JPEG_DHTMEMx) . . . . . | 1247 |
| 33.5.17 | JPEG Huffman encoder ACx (JPEG_HUFFENC_ACx_y) . . . . . | 1247 |
| 33.5.18 | JPEG Huffman encoder DCx (JPEG_HUFFENC_DCx_y) . . . . . | 1248 |
| 33.5.19 | JPEG codec register map . . . . . | 1249 |
| 34 | True random number generator (RNG) . . . . . | 1251 |
| 34.1 | Introduction . . . . . | 1251 |
| 34.2 | RNG main features . . . . . | 1251 |
| 34.3 | RNG functional description . . . . . | 1252 |
| 34.3.1 | RNG block diagram . . . . . | 1252 |
| 34.3.2 | RNG internal signals . . . . . | 1252 |
| 34.3.3 | Random number generation . . . . . | 1252 |
| 34.3.4 | RNG initialization . . . . . | 1255 |
| 34.3.5 | RNG operation . . . . . | 1256 |
| 34.3.6 | RNG clocking . . . . . | 1257 |
| 34.3.7 | Error management . . . . . | 1257 |
| 34.3.8 | In this case application must clear the SEIS bit interrupt flag. RNG low-power use 1258 | |
| 34.4 | RNG interrupts . . . . . | 1258 |
| 34.5 | RNG processing time . . . . . | 1258 |
| 34.6 | RNG entropy source validation . . . . . | 1259 |
| 34.6.1 | Introduction . . . . . | 1259 |
| 34.6.2 | Validation conditions . . . . . | 1259 |
| 34.6.3 | Data collection . . . . . | 1259 |
| 34.7 | RNG registers . . . . . | 1259 |
| 34.7.1 | RNG control register (RNG_CR) . . . . . | 1259 |
| 34.7.2 | RNG status register (RNG_SR) . . . . . | 1260 |
| 34.7.3 | RNG data register (RNG_DR) . . . . . | 1261 |
| 34.7.4 | RNG register map . . . . . | 1262 |
| 35 | Cryptographic processor (CRYP) . . . . . | 1263 |
| 35.1 | Introduction . . . . . | 1263 |
| 35.2 | CRYP main features . . . . . | 1263 |
| 35.3 | CRYP implementation . . . . . | 1264 |
| 35.4 | CRYP functional description . . . . . | 1265 |
| 35.4.1 | CRYP block diagram . . . . . | 1265 |
| 35.4.2 | CRYP internal signals . . . . . | 1266 |
| 35.4.3 | CRYP DES/TDES cryptographic core . . . . . | 1266 |
| 35.4.4 | CRYP AES cryptographic core . . . . . | 1267 |
| 35.4.5 | CRYP procedure to perform a cipher operation . . . . . | 1273 |
| 35.4.6 | CRYP busy state . . . . . | 1275 |
| 35.4.7 | Preparing the CRYP AES key for decryption . . . . . | 1276 |
| 35.4.8 | CRYP stealing and data padding . . . . . | 1276 |
| 35.4.9 | CRYP suspend/resume operations . . . . . | 1278 |
| 35.4.10 | CRYP DES/TDES basic chaining modes (ECB, CBC) . . . . . | 1279 |
| 35.4.11 | CRYP AES basic chaining modes (ECB, CBC) . . . . . | 1284 |
| 35.4.12 | CRYP AES counter mode (AES-CTR) . . . . . | 1289 |
| 35.4.13 | CRYP AES Galois/counter mode (GCM) . . . . . | 1293 |
| 35.4.14 | CRYP AES Galois message authentication code (GMAC) . . . . . | 1298 |
| 35.4.15 | CRYP AES Counter with CBC-MAC (CCM) . . . . . | 1299 |
| 35.4.16 | CRYP data registers and data swapping . . . . . | 1304 |
| 35.4.17 | CRYP key registers . . . . . | 1308 |
| 35.4.18 | CRYP initialization vector registers . . . . . | 1308 |
| 35.4.19 | CRYP DMA interface . . . . . | 1309 |
| 35.4.20 | CRYP error management . . . . . | 1311 |
| 35.5 | CRYP interrupts . . . . . | 1312 |
| 35.6 | CRYP processing time . . . . . | 1313 |
| 35.7 | CRYP registers . . . . . | 1314 |
| 35.7.1 | CRYP control register (CRYP_CR) . . . . . | 1314 |
| 35.7.2 | CRYP status register (CRYP_SR) . . . . . | 1316 |
| 35.7.3 | CRYP data input register (CRYP_DIN) . . . . . | 1317 |
| 35.7.4 | CRYP data output register (CRYP_DOUT) . . . . . | 1317 |
| 35.7.5 | CRYP DMA control register (CRYP_DMACR) . . . . . | 1318 |
| 35.7.6 | CRYP interrupt mask set/clear register (CRYP_IMSCR) . . . . . | 1319 |
| 35.7.7 | CRYP raw interrupt status register (CRYP_RISR) . . . . . | 1319 |
| 35.7.8 | CRYP masked interrupt status register (CRYP_MISR) . . . . . | 1320 |
| 35.7.9 | CRYP key register 0L (CRYP_K0LR) | 1321 |
| 35.7.10 | CRYP key register 0R (CRYP_K0RR) | 1321 |
| 35.7.11 | CRYP key register 1L (CRYP_K1LR) | 1322 |
| 35.7.12 | CRYP key register 1R (CRYP_K1RR) | 1322 |
| 35.7.13 | CRYP key register 2L (CRYP_K2LR) | 1323 |
| 35.7.14 | CRYP key register 2R (CRYP_K2RR) | 1323 |
| 35.7.15 | CRYP key register 3L (CRYP_K3LR) | 1324 |
| 35.7.16 | CRYP key register 3R (CRYP_K3RR) | 1324 |
| 35.7.17 | CRYP initialization vector register 0L (CRYP_IV0LR) | 1325 |
| 35.7.18 | CRYP initialization vector register 0R (CRYP_IV0RR) | 1325 |
| 35.7.19 | CRYP initialization vector register 1L (CRYP_IV1LR) | 1326 |
| 35.7.20 | CRYP initialization vector register 1R (CRYP_IV1RR) | 1326 |
| 35.7.21 | CRYP context swap GCM-CCM registers (CRYP_CSGCMCCMxR) | 1326 |
| 35.7.22 | CRYP context swap GCM registers (CRYP_CSGCMxR) | 1327 |
| 35.7.23 | CRYP register map | 1327 |
| 36 | Hash processor (HASH) | 1330 |
| 36.1 | Introduction | 1330 |
| 36.2 | HASH main features | 1330 |
| 36.3 | HASH implementation | 1331 |
| 36.4 | HASH functional description | 1331 |
| 36.4.1 | HASH block diagram | 1331 |
| 36.4.2 | HASH internal signals | 1332 |
| 36.4.3 | About secure hash algorithms | 1332 |
| 36.4.4 | Message data feeding | 1332 |
| 36.4.5 | Message digest computing | 1334 |
| 36.4.6 | Message padding | 1335 |
| 36.4.7 | HMAC operation | 1337 |
| 36.4.8 | HASH suspend/resume operations | 1339 |
| 36.4.9 | HASH DMA interface | 1341 |
| 36.4.10 | HASH error management | 1341 |
| 36.5 | HASH interrupts | 1341 |
| 36.6 | HASH processing time | 1342 |
| 36.7 | HASH registers | 1343 |
| 36.7.1 | HASH control register (HASH_CR) | 1343 |
| 36.7.2 | HASH data input register (HASH_DIN) | 1345 |
| 36.7.3 | HASH start register (HASH_STR) . . . . . | 1346 |
| 36.7.4 | HASH digest registers . . . . . | 1347 |
| 36.7.5 | HASH interrupt enable register (HASH_IMR) . . . . . | 1348 |
| 36.7.6 | HASH status register (HASH_SR) . . . . . | 1349 |
| 36.7.7 | HASH context swap registers . . . . . | 1349 |
| 36.7.8 | HASH register map . . . . . | 1350 |
| 37 | High-Resolution Timer (HRTIM) . . . . . | 1352 |
| 37.1 | Introduction . . . . . | 1352 |
| 37.2 | Main features . . . . . | 1353 |
| 37.3 | Functional description . . . . . | 1354 |
| 37.3.1 | General description . . . . . | 1354 |
| 37.3.2 | HRTIM pins and internal signals . . . . . | 1356 |
| 37.3.3 | Clocks . . . . . | 1357 |
| 37.3.4 | Timer A..E timing units . . . . . | 1360 |
| 37.3.5 | Master timer . . . . . | 1377 |
| 37.3.6 | Set/reset events priorities and narrow pulses management . . . . . | 1378 |
| 37.3.7 | External events global conditioning . . . . . | 1379 |
| 37.3.8 | External event filtering in timing units . . . . . | 1384 |
| 37.3.9 | Delayed Protection . . . . . | 1389 |
| 37.3.10 | Register preload and update management . . . . . | 1395 |
| 37.3.11 | Events propagation within or across multiple timers . . . . . | 1398 |
| 37.3.12 | Output management . . . . . | 1402 |
| 37.3.13 | Burst mode controller . . . . . | 1404 |
| 37.3.14 | Chopper . . . . . | 1413 |
| 37.3.15 | Fault protection . . . . . | 1414 |
| 37.3.16 | Auxiliary outputs . . . . . | 1417 |
| 37.3.17 | Synchronizing the HRTIM with other timers or HRTIM instances . . . . . | 1420 |
| 37.3.18 | ADC triggers . . . . . | 1423 |
| 37.3.19 | DAC triggers . . . . . | 1424 |
| 37.3.20 | HRTIM Interrupts . . . . . | 1426 |
| 37.3.21 | DMA . . . . . | 1428 |
| 37.3.22 | HRTIM initialization . . . . . | 1431 |
| 37.3.23 | Debug . . . . . | 1432 |
| 37.4 | Application use cases . . . . . | 1433 |
| 37.4.1 | Buck converter . . . . . | 1433 |
| 37.4.2 | Buck converter with synchronous rectification . . . . . | 1434 |
| 37.4.3 | Multiphase converters ..... | 1435 |
| 37.4.4 | Transition mode Power Factor Correction ..... | 1437 |
| 37.5 | HRTIM registers ..... | 1439 |
| 37.5.1 | HRTIM Master Timer Control Register (HRTIM_MCR) ..... | 1439 |
| 37.5.2 | HRTIM Master Timer Interrupt Status Register (HRTIM_MISR) ..... | 1442 |
| 37.5.3 | HRTIM Master Timer Interrupt Clear Register (HRTIM_MICR) ..... | 1443 |
| 37.5.4 | HRTIM Master Timer DMA / Interrupt Enable Register (HRTIM_MDIER) ..... | 1444 |
| 37.5.5 | HRTIM Master Timer Counter Register (HRTIM_MCNTR) ..... | 1446 |
| 37.5.6 | HRTIM Master Timer Period Register (HRTIM_MPER) ..... | 1446 |
| 37.5.7 | HRTIM Master Timer Repetition Register (HRTIM_MREP) ..... | 1447 |
| 37.5.8 | HRTIM Master Timer Compare 1 Register (HRTIM_MCMP1R) ..... | 1447 |
| 37.5.9 | HRTIM Master Timer Compare 2 Register (HRTIM_MCMP2R) ..... | 1448 |
| 37.5.10 | HRTIM Master Timer Compare 3 Register (HRTIM_MCMP3R) ..... | 1448 |
| 37.5.11 | HRTIM Master Timer Compare 4 Register (HRTIM_MCMP4R) ..... | 1449 |
| 37.5.12 | HRTIM Timerx Control Register (HRTIM_TIMxCR) ..... | 1450 |
| 37.5.13 | HRTIM Timerx Interrupt Status Register (HRTIM_TIMxISR) ..... | 1454 |
| 37.5.14 | HRTIM Timerx Interrupt Clear Register (HRTIM_TIMxICR) ..... | 1456 |
| 37.5.15 | HRTIM Timerx DMA / Interrupt Enable Register (HRTIM_TIMxDIER) ..... | 1457 |
| 37.5.16 | HRTIM Timerx Counter Register (HRTIM_CNTxR) ..... | 1460 |
| 37.5.17 | HRTIM Timerx Period Register (HRTIM_PERxR) ..... | 1460 |
| 37.5.18 | HRTIM Timerx Repetition Register (HRTIM_REPxR) ..... | 1461 |
| 37.5.19 | HRTIM Timerx Compare 1 Register (HRTIM_CMP1xR) ..... | 1461 |
| 37.5.20 | HRTIM Timerx Compare 1 Compound Register (HRTIM_CMP1CxR) ..... | 1462 |
| 37.5.21 | HRTIM Timerx Compare 2 Register (HRTIM_CMP2xR) ..... | 1462 |
| 37.5.22 | HRTIM Timerx Compare 3 Register (HRTIM_CMP3xR) ..... | 1463 |
| 37.5.23 | HRTIM Timerx Compare 4 Register (HRTIM_CMP4xR) ..... | 1463 |
| 37.5.24 | HRTIM Timerx Capture 1 Register (HRTIM_CPT1xR) ..... | 1464 |
| 37.5.25 | HRTIM Timerx Capture 2 Register (HRTIM_CPT2xR) ..... | 1464 |
| 37.5.26 | HRTIM Timerx Deadtime Register (HRTIM_DTxR) ..... | 1465 |
| 37.5.27 | HRTIM Timerx Output1 Set Register (HRTIM_SETx1R) ..... | 1467 |
| 37.5.28 | HRTIM Timerx Output1 Reset Register (HRTIM_RSTx1R) ..... | 1469 |
| 37.5.29 | HRTIM Timerx Output2 Set Register (HRTIM_SETx2R) ..... | 1469 |
| 37.5.30 | HRTIM Timerx Output2 Reset Register (HRTIM_RSTx2R) ..... | 1470 |
| 37.5.31 | HRTIM Timerx External Event Filtering Register 1 (HRTIM_EEFxR1) ..... | 1471 |
| 37.5.32 | HRTIM Timerx External Event Filtering Register 2 (HRTIM_EEFxR2) . . . . . | 1473 |
| 37.5.33 | HRTIM Timerx Reset Register (HRTIM_RSTxR) . . . . . | 1474 |
| 37.5.34 | HRTIM Timerx Chopper Register (HRTIM_CHPxR) . . . . . | 1477 |
| 37.5.35 | HRTIM Timerx Capture 1 Control Register (HRTIM_CPT1xCR) . . . . . | 1479 |
| 37.5.36 | HRTIM Timerx Capture 2 Control Register (HRTIM_CPT2xCR) . . . . . | 1480 |
| 37.5.37 | HRTIM Timerx Output Register (HRTIM_OUTxR) . . . . . | 1483 |
| 37.5.38 | HRTIM Timerx Fault Register (HRTIM_FLTxR) . . . . . | 1486 |
| 37.5.39 | HRTIM Control Register 1 (HRTIM_CR1) . . . . . | 1487 |
| 37.5.40 | HRTIM Control Register 2 (HRTIM_CR2) . . . . . | 1489 |
| 37.5.41 | HRTIM Interrupt Status Register (HRTIM_ISR) . . . . . | 1490 |
| 37.5.42 | HRTIM Interrupt Clear Register (HRTIM_ICR) . . . . . | 1491 |
| 37.5.43 | HRTIM Interrupt Enable Register (HRTIM_IER) . . . . . | 1492 |
| 37.5.44 | HRTIM Output Enable Register (HRTIM_OENR) . . . . . | 1493 |
| 37.5.45 | HRTIM Output Disable Register (HRTIM_ODISR) . . . . . | 1494 |
| 37.5.46 | HRTIM Output Disable Status Register (HRTIM_ODSR) . . . . . | 1495 |
| 37.5.47 | HRTIM Burst Mode Control Register (HRTIM_BMCR) . . . . . | 1496 |
| 37.5.48 | HRTIM Burst Mode Trigger Register (HRTIM_BMTRGR) . . . . . | 1498 |
| 37.5.49 | HRTIM Burst Mode Compare Register (HRTIM_BMCMPR) . . . . . | 1500 |
| 37.5.50 | HRTIM Burst Mode Period Register (HRTIM_BMPER) . . . . . | 1500 |
| 37.5.51 | HRTIM Timer External Event Control Register 1 (HRTIM_EECR1) . . . . . | 1501 |
| 37.5.52 | HRTIM Timer External Event Control Register 2 (HRTIM_EECR2) . . . . . | 1503 |
| 37.5.53 | HRTIM Timer External Event Control Register 3 (HRTIM_EECR3) . . . . . | 1504 |
| 37.5.54 | HRTIM ADC Trigger 1 Register (HRTIM_ADC1R) . . . . . | 1505 |
| 37.5.55 | HRTIM ADC Trigger 2 Register (HRTIM_ADC2R) . . . . . | 1506 |
| 37.5.56 | HRTIM ADC Trigger 3 Register (HRTIM_ADC3R) . . . . . | 1507 |
| 37.5.57 | HRTIM ADC Trigger 4 Register (HRTIM_ADC4R) . . . . . | 1509 |
| 37.5.58 | HRTIM Fault Input Register 1 (HRTIM_FLTINR1) . . . . . | 1511 |
| 37.5.59 | HRTIM Fault Input Register 2 (HRTIM_FLTINR2) . . . . . | 1513 |
| 37.5.60 | HRTIM Burst DMA Master timer update Register (HRTIM_BDMUPR) . . . . . | 1515 |
| 37.5.61 | HRTIM Burst DMA Timerx update Register (HRTIM_BDTxUPR) . . . . . | 1516 |
| 37.5.62 | HRTIM Burst DMA Data Register (HRTIM_BDMADR) . . . . . | 1517 |
| 37.5.63 | HRTIM register map . . . . . | 1518 |
| 38 | Advanced-control timers (TIM1/TIM8) . . . . . | 1527 |
| 38.1 | TIM1/TIM8 introduction . . . . . | 1527 |
| 38.2 | TIM1/TIM8 main features . . . . . | 1527 |
| 38.3 | TIM1/TIM8 functional description . . . . . | 1529 |
| 38.3.1 | Time-base unit . . . . . | 1529 |
| 38.3.2 | Counter modes . . . . . | 1531 |
| 38.3.3 | Repetition counter . . . . . | 1542 |
| 38.3.4 | External trigger input . . . . . | 1544 |
| 38.3.5 | Clock selection . . . . . | 1545 |
| 38.3.6 | Capture/compare channels . . . . . | 1549 |
| 38.3.7 | Input capture mode . . . . . | 1551 |
| 38.3.8 | PWM input mode . . . . . | 1552 |
| 38.3.9 | Forced output mode . . . . . | 1553 |
| 38.3.10 | Output compare mode . . . . . | 1554 |
| 38.3.11 | PWM mode . . . . . | 1555 |
| 38.3.12 | Asymmetric PWM mode . . . . . | 1558 |
| 38.3.13 | Combined PWM mode . . . . . | 1559 |
| 38.3.14 | Combined 3-phase PWM mode . . . . . | 1560 |
| 38.3.15 | Complementary outputs and dead-time insertion . . . . . | 1561 |
| 38.3.16 | Using the break function . . . . . | 1563 |
| 38.3.17 | Bidirectional break inputs . . . . . | 1569 |
| 38.3.18 | Clearing the OCxREF signal on an external event . . . . . | 1569 |
| 38.3.19 | 6-step PWM generation . . . . . | 1571 |
| 38.3.20 | One-pulse mode . . . . . | 1572 |
| 38.3.21 | Retriggerable one pulse mode . . . . . | 1573 |
| 38.3.22 | Encoder interface mode . . . . . | 1574 |
| 38.3.23 | UIF bit remapping . . . . . | 1576 |
| 38.3.24 | Timer input XOR function . . . . . | 1577 |
| 38.3.25 | Interfacing with Hall sensors . . . . . | 1577 |
| 38.3.26 | Timer synchronization . . . . . | 1580 |
| 38.3.27 | ADC synchronization . . . . . | 1584 |
| 38.3.28 | DMA burst mode . . . . . | 1584 |
| 38.3.29 | Debug mode . . . . . | 1585 |
| 38.4 | TIM1/TIM8 registers . . . . . | 1586 |
| 38.4.1 | TIMx control register 1 (TIMx_CR1)(x = 1, 8) . . . . . | 1586 |
| 38.4.2 | TIMx control register 2 (TIMx_CR2)(x = 1, 8) . . . . . | 1587 |
| 38.4.3 | TIMx slave mode control register (TIMx_SMCR)(x = 1, 8) . . . . . | 1590 |
| 38.4.4 | TIMx DMA/interrupt enable register (TIMx_DIER)(x = 1, 8) . . . . . | 1592 |
| 38.4.5 | TIMx status register (TIMx_SR)(x = 1, 8) . . . . . | 1594 |
| 38.4.6 | TIMx event generation register (TIMx_EGR)(x = 1, 8) . . . . . | 1596 |
| 38.4.7 | TIMx capture/compare mode register 1(TIMx_CCMR1)(x = 1, 8) . . . | 1597 |
| 38.4.8 | TIMx capture/compare mode register 1 [alternate] (TIMx_CCMR1)(x = 1, 8) . . . . . | 1598 |
| 38.4.9 | TIMx capture/compare mode register 2 (TIMx_CCMR2)(x = 1, 8) . . | 1601 |
| 38.4.10 | TIMx capture/compare mode register 2 [alternate] (TIMx_CCMR2)(x = 1, 8) . . . . . | 1602 |
| 38.4.11 | TIMx capture/compare enable register (TIMx_CCER)(x = 1, 8) . . . . . | 1604 |
| 38.4.12 | TIMx counter (TIMx_CNT)(x = 1, 8) . . . . . | 1607 |
| 38.4.13 | TIMx prescaler (TIMx_PSC)(x = 1, 8) . . . . . | 1607 |
| 38.4.14 | TIMx auto-reload register (TIMx_ARR)(x = 1, 8) . . . . . | 1607 |
| 38.4.15 | TIMx repetition counter register (TIMx_RCR)(x = 1, 8) . . . . . | 1608 |
| 38.4.16 | TIMx capture/compare register 1 (TIMx_CCR1)(x = 1, 8) . . . . . | 1608 |
| 38.4.17 | TIMx capture/compare register 2 (TIMx_CCR2)(x = 1, 8) . . . . . | 1609 |
| 38.4.18 | TIMx capture/compare register 3 (TIMx_CCR3)(x = 1, 8) . . . . . | 1609 |
| 38.4.19 | TIMx capture/compare register 4 (TIMx_CCR4)(x = 1, 8) . . . . . | 1610 |
| 38.4.20 | TIMx break and dead-time register (TIMx_BDTR)(x = 1, 8) . . . . . | 1610 |
| 38.4.21 | TIMx DMA control register (TIMx_DCR)(x = 1, 8) . . . . . | 1613 |
| 38.4.22 | TIMx DMA address for full transfer (TIMx_DMAR)(x = 1, 8) . . . . . | 1614 |
| 38.4.23 | TIMx capture/compare mode register 3 (TIMx_CCMR3)(x = 1, 8) . . . . . | 1615 |
| 38.4.24 | TIMx capture/compare register 5 (TIMx_CCR5)(x = 1, 8) . . . . . | 1616 |
| 38.4.25 | TIMx capture/compare register 6 (TIMx_CCR6)(x = 1, 8) . . . . . | 1617 |
| 38.4.26 | TIM1 alternate function option register 1 (TIM1_AF1) . . . . . | 1617 |
| 38.4.27 | TIM1 Alternate function register 2 (TIM1_AF2) . . . . . | 1619 |
| 38.4.28 | TIM8 Alternate function option register 1 (TIM8_AF1) . . . . . | 1620 |
| 38.4.29 | TIM8 Alternate function option register 2 (TIM8_AF2) . . . . . | 1622 |
| 38.4.30 | TIM1 timer input selection register (TIM1_TISEL) . . . . . | 1624 |
| 38.4.31 | TIM8 timer input selection register (TIM8_TISEL) . . . . . | 1624 |
| 38.4.32 | TIM1 register map . . . . . | 1626 |
| 38.4.33 | TIM8 register map . . . . . | 1628 |
| 39 | General-purpose timers (TIM2/TIM3/TIM4/TIM5) . . . . . | 1631 |
| 39.1 | TIM2/TIM3/TIM4/TIM5 introduction . . . . . | 1631 |
| 39.2 | TIM2/TIM3/TIM4/TIM5 main features . . . . . | 1631 |
| 39.3 | TIM2/TIM3/TIM4/TIM5 functional description . . . . . | 1633 |
| 39.3.1 | Time-base unit . . . . . | 1633 |
| 39.3.2 | Counter modes . . . . . | 1635 |
| 39.3.3 | Clock selection . . . . . | 1645 |
| 39.3.4 | Capture/Compare channels . . . . . | 1649 |
| 39.3.5 | Input capture mode . . . . . | 1650 |
| 39.3.6 | PWM input mode . . . . . | 1651 |
| 39.3.7 | Forced output mode . . . . . | 1652 |
| 39.3.8 | Output compare mode . . . . . | 1653 |
| 39.3.9 | PWM mode . . . . . | 1654 |
| 39.3.10 | Asymmetric PWM mode . . . . . | 1657 |
| 39.3.11 | Combined PWM mode . . . . . | 1658 |
| 39.3.12 | Clearing the OCxREF signal on an external event . . . . . | 1659 |
| 39.3.13 | One-pulse mode . . . . . | 1661 |
| 39.3.14 | Retriggerable one pulse mode . . . . . | 1662 |
| 39.3.15 | Encoder interface mode . . . . . | 1663 |
| 39.3.16 | UIF bit remapping . . . . . | 1665 |
| 39.3.17 | Timer input XOR function . . . . . | 1665 |
| 39.3.18 | Timers and external trigger synchronization . . . . . | 1666 |
| 39.3.19 | Timer synchronization . . . . . | 1669 |
| 39.3.20 | DMA burst mode . . . . . | 1674 |
| 39.3.21 | Debug mode . . . . . | 1675 |
| 39.4 | TIM2/TIM3/TIM4/TIM5 registers . . . . . | 1676 |
| 39.4.1 | TIMx control register 1 (TIMx_CR1)(x = 2 to 5) . . . . . | 1676 |
| 39.4.2 | TIMx control register 2 (TIMx_CR2)(x = 2 to 5) . . . . . | 1677 |
| 39.4.3 | TIMx slave mode control register (TIMx_SMCR)(x = 2 to 5) . . . . . | 1679 |
| 39.4.4 | TIMx DMA/Interrupt enable register (TIMx_DIER)(x = 2 to 5) . . . . . | 1682 |
| 39.4.5 | TIMx status register (TIMx_SR)(x = 2 to 5) . . . . . | 1683 |
| 39.4.6 | TIMx event generation register (TIMx_EGR)(x = 2 to 5) . . . . . | 1684 |
| 39.4.7 | TIMx capture/compare mode register 1 (TIMx_CCMR1)(x = 2 to 5) . . . . . | 1686 |
| 39.4.8 | TIMx capture/compare mode register 1 [alternate] (TIMx_CCMR1) (x = 2 to 5) ..... | 1688 |
| 39.4.9 | TIMx capture/compare mode register 2 (TIMx_CCMR2)(x = 2 to 5) . | 1690 |
| 39.4.10 | TIMx capture/compare mode register 2 [alternate] (TIMx_CCMR2) (x = 2 to 5) ..... | 1691 |
| 39.4.11 | TIMx capture/compare enable register (TIMx_CCER)(x = 2 to 5) ..... | 1692 |
| 39.4.12 | TIMx counter (TIMx_CNT)(x = 2 to 5) ..... | 1693 |
| 39.4.13 | TIMx counter [alternate] (TIMx_CNT)(x = 2 to 5) ..... | 1694 |
| 39.4.14 | TIMx prescaler (TIMx_PSC)(x = 2 to 5) ..... | 1694 |
| 39.4.15 | TIMx auto-reload register (TIMx_ARR)(x = 2 to 5) ..... | 1695 |
| 39.4.16 | TIMx capture/compare register 1 (TIMx_CCR1)(x = 2 to 5) ..... | 1695 |
| 39.4.17 | TIMx capture/compare register 2 (TIMx_CCR2)(x = 2 to 5) ..... | 1696 |
| 39.4.18 | TIMx capture/compare register 3 (TIMx_CCR3)(x = 2 to 5) ..... | 1696 |
| 39.4.19 | TIMx capture/compare register 4 (TIMx_CCR4)(x = 2 to 5) ..... | 1697 |
| 39.4.20 | TIMx DMA control register (TIMx_DCR)(x = 2 to 5) ..... | 1698 |
| 39.4.21 | TIMx DMA address for full transfer (TIMx_DMAR)(x = 2 to 5) ..... | 1698 |
| 39.4.22 | TIM2 alternate function option register 1 (TIM2_AF1) ..... | 1699 |
| 39.4.23 | TIM3 alternate function option register 1 (TIM3_AF1) ..... | 1699 |
| 39.4.24 | TIM4 alternate function option register 1 (TIM4_AF1) ..... | 1700 |
| 39.4.25 | TIM5 alternate function option register 1 (TIM5_AF1) ..... | 1700 |
| 39.4.26 | TIM2 timer input selection register (TIM2_TISEL) ..... | 1701 |
| 39.4.27 | TIM3 timer input selection register (TIM3_TISEL) ..... | 1701 |
| 39.4.28 | TIM4 timer input selection register (TIM4_TISEL) ..... | 1702 |
| 39.4.29 | TIM5 timer input selection register (TIM5_TISEL) ..... | 1703 |
| 39.4.30 | TIMx register map ..... | 1705 |
| 40 | General-purpose timers (TIM12/TIM13/TIM14) ..... | 1708 |
| 40.1 | TIM12/TIM13/TIM14 introduction ..... | 1708 |
| 40.2 | TIM12/TIM13/TIM14 main features ..... | 1708 |
| 40.2.1 | TIM12 main features ..... | 1708 |
| 40.2.2 | TIM13/TIM14 main features ..... | 1709 |
| 40.3 | TIM12/TIM13/TIM14 functional description ..... | 1711 |
| 40.3.1 | Time-base unit ..... | 1711 |
| 40.3.2 | Counter modes ..... | 1713 |
| 40.3.3 | Clock selection ..... | 1716 |
| 40.3.4 | Capture/compare channels ..... | 1718 |
| 40.3.5 | Input capture mode ..... | 1720 |
| 40.3.6 | PWM input mode (only for TIM12) . . . . . | 1721 |
| 40.3.7 | Forced output mode . . . . . | 1722 |
| 40.3.8 | Output compare mode . . . . . | 1723 |
| 40.3.9 | PWM mode . . . . . | 1724 |
| 40.3.10 | Combined PWM mode (TIM12 only) . . . . . | 1725 |
| 40.3.11 | One-pulse mode . . . . . | 1726 |
| 40.3.12 | Retriggerable one pulse mode (TIM12 only) . . . . . | 1728 |
| 40.3.13 | UIF bit remapping . . . . . | 1728 |
| 40.3.14 | Timer input XOR function . . . . . | 1729 |
| 40.3.15 | TIM12 external trigger synchronization . . . . . | 1729 |
| 40.3.16 | Slave mode – combined reset + trigger mode . . . . . | 1732 |
| 40.3.17 | Timer synchronization (TIM12) . . . . . | 1733 |
| 40.3.18 | Using timer output as trigger for other timers (TIM13/TIM14) . . . . . | 1733 |
| 40.3.19 | Debug mode . . . . . | 1733 |
| 40.4 | TIM12 registers . . . . . | 1733 |
| 40.4.1 | TIM12 control register 1 (TIM12_CR1) . . . . . | 1733 |
| 40.4.2 | TIM12 control register 2 (TIM12_CR2) . . . . . | 1734 |
| 40.4.3 | TIM12 slave mode control register (TIM12_SMCR) . . . . . | 1735 |
| 40.4.4 | TIM12 Interrupt enable register (TIM12_DIER) . . . . . | 1737 |
| 40.4.5 | TIM12 status register (TIM12_SR) . . . . . | 1737 |
| 40.4.6 | TIM12 event generation register (TIM12_EGR) . . . . . | 1738 |
| 40.4.7 | TIM12 capture/compare mode register 1 (TIM12_CCMR1) . . . . . | 1739 |
| 40.4.8 | TIM12 capture/compare mode register 1 [alternate] (TIM12_CCMR1) . . . . . | 1740 |
| 40.4.9 | TIM12 capture/compare enable register (TIM12_CCER) . . . . . | 1743 |
| 40.4.10 | TIM12 counter (TIM12_CNT) . . . . . | 1744 |
| 40.4.11 | TIM12 prescaler (TIM12_PSC) . . . . . | 1745 |
| 40.4.12 | TIM12 auto-reload register (TIM12_ARR) . . . . . | 1745 |
| 40.4.13 | TIM12 capture/compare register 1 (TIM12_CCR1) . . . . . | 1745 |
| 40.4.14 | TIM12 capture/compare register 2 (TIM12_CCR2) . . . . . | 1746 |
| 40.4.15 | TIM12 timer input selection register (TIM12_TISEL) . . . . . | 1746 |
| 40.4.16 | TIM12 register map . . . . . | 1747 |
| 40.5 | TIM13/TIM14 registers . . . . . | 1749 |
| 40.5.1 | TIMx control register 1 (TIMx_CR1)(x = 13 to 14) . . . . . | 1749 |
| 40.5.2 | TIMx Interrupt enable register (TIMx_DIER)(x = 13 to 14) . . . . . | 1750 |
| 40.5.3 | TIMx status register (TIMx_SR)(x = 13 to 14) . . . . . | 1750 |
| 40.5.4 | TIMx event generation register (TIMx_EGR)(x = 13 to 14) . . . . . | 1751 |
- 40.5.5 TIMx capture/compare mode register 1
(TIMx_CCMR1)(x = 13 to 14) ..... 1752 - 40.5.6 TIMx capture/compare mode register 1 [alternate]
(TIMx_CCMR1)(x = 13 to 14) ..... 1753 - 40.5.7 TIMx capture/compare enable register
(TIMx_CCER)(x = 13 to 14) ..... 1755 - 40.5.8 TIMx counter (TIMx_CNT)(x = 13 to 14) ..... 1756
- 40.5.9 TIMx prescaler (TIMx_PSC)(x = 13 to 14) ..... 1757
- 40.5.10 TIMx auto-reload register (TIMx_ARR)(x = 13 to 14) ..... 1757
- 40.5.11 TIMx capture/compare register 1 (TIMx_CCR1)(x = 13 to 14) ..... 1757
- 40.5.12 TIM13 timer input selection register (TIM13_TISEL) ..... 1758
- 40.5.13 TIM14 timer input selection register (TIM14_TISEL) ..... 1758
- 40.5.14 TIM13/TIM14 register map ..... 1759
- 40.5.5 TIMx capture/compare mode register 1
- 41 General-purpose timers (TIM15/TIM16/TIM17) ..... 1761
- 41.1 TIM15/TIM16/TIM17 introduction ..... 1761
- 41.2 TIM15 main features ..... 1761
- 41.3 TIM16/TIM17 main features ..... 1762
- 41.4 TIM15/TIM16/TIM17 functional description ..... 1765
- 41.4.1 Time-base unit ..... 1765
- 41.4.2 Counter modes ..... 1767
- 41.4.3 Repetition counter ..... 1771
- 41.4.4 Clock selection ..... 1772
- 41.4.5 Capture/compare channels ..... 1774
- 41.4.6 Input capture mode ..... 1776
- 41.4.7 PWM input mode (only for TIM15) ..... 1777
- 41.4.8 Forced output mode ..... 1778
- 41.4.9 Output compare mode ..... 1779
- 41.4.10 PWM mode ..... 1780
- 41.4.11 Combined PWM mode (TIM15 only) ..... 1781
- 41.4.12 Complementary outputs and dead-time insertion ..... 1782
- 41.4.13 Using the break function ..... 1784
- 41.4.14 6-step PWM generation ..... 1789
- 41.4.15 One-pulse mode ..... 1790
- 41.4.16 Retriggerable one pulse mode (TIM15 only) ..... 1791
- 41.4.17 UIF bit remapping ..... 1792
- 41.4.18 Timer input XOR function (TIM15 only) ..... 1793
- 41.4.19 External trigger synchronization (TIM15 only) ..... 1794
| 41.4.20 | Slave mode – combined reset + trigger mode . . . . . | 1796 |
| 41.4.21 | DMA burst mode . . . . . | 1796 |
| 41.4.22 | Timer synchronization (TIM15) . . . . . | 1798 |
| 41.4.23 | Using timer output as trigger for other timers (TIM16/TIM17) . . . . . | 1798 |
| 41.4.24 | Debug mode . . . . . | 1798 |
| 41.5 | TIM15 registers . . . . . | 1799 |
| 41.5.1 | TIM15 control register 1 (TIM15_CR1) . . . . . | 1799 |
| 41.5.2 | TIM15 control register 2 (TIM15_CR2) . . . . . | 1800 |
| 41.5.3 | TIM15 slave mode control register (TIM15_SMCR) . . . . . | 1802 |
| 41.5.4 | TIM15 DMA/interrupt enable register (TIM15_DIER) . . . . . | 1803 |
| 41.5.5 | TIM15 status register (TIM15_SR) . . . . . | 1804 |
| 41.5.6 | TIM15 event generation register (TIM15_EGR) . . . . . | 1806 |
| 41.5.7 | TIM15 capture/compare mode register 1 (TIM15_CCMR1) . . . . . | 1807 |
| 41.5.8 | TIM15 capture/compare mode register 1 [alternate] (TIM15_CCMR1) . . . . . | 1808 |
| 41.5.9 | TIM15 capture/compare enable register (TIM15_CCER) . . . . . | 1811 |
| 41.5.10 | TIM15 counter (TIM15_CNT) . . . . . | 1814 |
| 41.5.11 | TIM15 prescaler (TIM15_PSC) . . . . . | 1814 |
| 41.5.12 | TIM15 auto-reload register (TIM15_ARR) . . . . . | 1814 |
| 41.5.13 | TIM15 repetition counter register (TIM15_RCR) . . . . . | 1815 |
| 41.5.14 | TIM15 capture/compare register 1 (TIM15_CCR1) . . . . . | 1815 |
| 41.5.15 | TIM15 capture/compare register 2 (TIM15_CCR2) . . . . . | 1816 |
| 41.5.16 | TIM15 break and dead-time register (TIM15_BDTR) . . . . . | 1816 |
| 41.5.17 | TIM15 DMA control register (TIM15_DCR) . . . . . | 1819 |
| 41.5.18 | TIM15 DMA address for full transfer (TIM15_DMAR) . . . . . | 1819 |
| 41.5.19 | TIM15 alternate register 1 (TIM15_AF1) . . . . . | 1820 |
| 41.5.20 | TIM15 input selection register (TIM15_TISEL) . . . . . | 1821 |
| 41.5.21 | TIM15 register map . . . . . | 1822 |
| 41.6 | TIM16/TIM17 registers . . . . . | 1824 |
| 41.6.1 | TIMx control register 1 (TIMx_CR1)(x = 16 to 17) . . . . . | 1824 |
| 41.6.2 | TIMx control register 2 (TIMx_CR2)(x = 16 to 17) . . . . . | 1825 |
| 41.6.3 | TIMx DMA/interrupt enable register (TIMx_DIER)(x = 16 to 17) . . . . . | 1826 |
| 41.6.4 | TIMx status register (TIMx_SR)(x = 16 to 17) . . . . . | 1827 |
| 41.6.5 | TIMx event generation register (TIMx_EGR)(x = 16 to 17) . . . . . | 1828 |
| 41.6.6 | TIMx capture/compare mode register 1 (TIMx_CCMR1)(x = 16 to 17) . . . . . | 1829 |
| 41.6.7 | TIMx capture/compare mode register 1 [alternate] (TIMx_CCMR1)(x = 16 to 17) . . . . . | 1830 |
| 41.6.8 | TIMx capture/compare enable register (TIMx_CCER)(x = 16 to 17) . . . . . | 1832 |
| 41.6.9 | TIMx counter (TIMx_CNT)(x = 16 to 17) . . . . . | 1834 |
| 41.6.10 | TIMx prescaler (TIMx_PSC)(x = 16 to 17) . . . . . | 1835 |
| 41.6.11 | TIMx auto-reload register (TIMx_ARR)(x = 16 to 17) . . . . . | 1835 |
| 41.6.12 | TIMx repetition counter register (TIMx_RCR)(x = 16 to 17) . . . . . | 1836 |
| 41.6.13 | TIMx capture/compare register 1 (TIMx_CCR1)(x = 16 to 17) . . . . . | 1836 |
| 41.6.14 | TIMx break and dead-time register (TIMx_BDTR)(x = 16 to 17) . . . . . | 1837 |
| 41.6.15 | TIMx DMA control register (TIMx_DCR)(x = 16 to 17) . . . . . | 1839 |
| 41.6.16 | TIMx DMA address for full transfer (TIMx_DMAR)(x = 16 to 17) . . . . . | 1840 |
| 41.6.17 | TIM16 alternate function register 1 (TIM16_AF1) . . . . . | 1841 |
| 41.6.18 | TIM16 input selection register (TIM16_TISEL) . . . . . | 1842 |
| 41.6.19 | TIM17 alternate function register 1 (TIM17_AF1) . . . . . | 1843 |
| 41.6.20 | TIM17 input selection register (TIM17_TISEL) . . . . . | 1844 |
| 41.6.21 | TIM16/TIM17 register map . . . . . | 1845 |
| 42 | Basic timers (TIM6/TIM7) . . . . . | 1847 |
| 42.1 | TIM6/TIM7 introduction . . . . . | 1847 |
| 42.2 | TIM6/TIM7 main features . . . . . | 1847 |
| 42.3 | TIM6/TIM7 functional description . . . . . | 1848 |
| 42.3.1 | Time-base unit . . . . . | 1848 |
| 42.3.2 | Counting mode . . . . . | 1850 |
| 42.3.3 | UIF bit remapping . . . . . | 1853 |
| 42.3.4 | Clock source . . . . . | 1853 |
| 42.3.5 | Debug mode . . . . . | 1854 |
| 42.4 | TIM6/TIM7 registers . . . . . | 1854 |
| 42.4.1 | TIMx control register 1 (TIMx_CR1)(x = 6 to 7) . . . . . | 1854 |
| 42.4.2 | TIMx control register 2 (TIMx_CR2)(x = 6 to 7) . . . . . | 1856 |
| 42.4.3 | TIMx DMA/Interrupt enable register (TIMx_DIER)(x = 6 to 7) . . . . . | 1856 |
| 42.4.4 | TIMx status register (TIMx_SR)(x = 6 to 7) . . . . . | 1857 |
| 42.4.5 | TIMx event generation register (TIMx_EGR)(x = 6 to 7) . . . . . | 1857 |
| 42.4.6 | TIMx counter (TIMx_CNT)(x = 6 to 7) . . . . . | 1857 |
| 42.4.7 | TIMx prescaler (TIMx_PSC)(x = 6 to 7) . . . . . | 1858 |
| 42.4.8 | TIMx auto-reload register (TIMx_ARR)(x = 6 to 7) . . . . . | 1858 |
| 42.4.9 | TIMx register map . . . . . | 1859 |
| 43 | Low-power timer (LPTIM) . . . . . | 1860 |
| 43.1 | Introduction . . . . . | 1860 |
| 43.2 | LPTIM main features . . . . . | 1860 |
| 43.3 | LPTIM implementation . . . . . | 1861 |
| 43.4 | LPTIM functional description . . . . . | 1861 |
| 43.4.1 | LPTIM block diagram . . . . . | 1861 |
| 43.4.2 | LPTIM pins and internal signals . . . . . | 1863 |
| 43.4.3 | LPTIM input and trigger mapping . . . . . | 1863 |
| 43.4.4 | LPTIM reset and clocks . . . . . | 1866 |
| 43.4.5 | Glitch filter . . . . . | 1866 |
| 43.4.6 | Prescaler . . . . . | 1867 |
| 43.4.7 | Trigger multiplexer . . . . . | 1868 |
| 43.4.8 | Operating mode . . . . . | 1868 |
| 43.4.9 | Timeout function . . . . . | 1870 |
| 43.4.10 | Waveform generation . . . . . | 1870 |
| 43.4.11 | Register update . . . . . | 1871 |
| 43.4.12 | Counter mode . . . . . | 1872 |
| 43.4.13 | Timer enable . . . . . | 1872 |
| 43.4.14 | Timer counter reset . . . . . | 1873 |
| 43.4.15 | Encoder mode . . . . . | 1873 |
| 43.4.16 | Debug mode . . . . . | 1875 |
| 43.5 | LPTIM low-power modes . . . . . | 1875 |
| 43.6 | LPTIM interrupts . . . . . | 1876 |
| 43.7 | LPTIM registers . . . . . | 1876 |
| 43.7.1 | LPTIM interrupt and status register (LPTIM_ISR) . . . . . | 1877 |
| 43.7.2 | LPTIM interrupt clear register (LPTIM_ICR) . . . . . | 1878 |
| 43.7.3 | LPTIM interrupt enable register (LPTIM_IER) . . . . . | 1878 |
| 43.7.4 | LPTIM configuration register (LPTIM_CFGR) . . . . . | 1879 |
| 43.7.5 | LPTIM control register (LPTIM_CR) . . . . . | 1882 |
| 43.7.6 | LPTIM compare register (LPTIM_CMP) . . . . . | 1884 |
| 43.7.7 | LPTIM autoreload register (LPTIM_ARR) . . . . . | 1884 |
| 43.7.8 | LPTIM counter register (LPTIM_CNT) . . . . . | 1885 |
| 43.7.9 | LPTIM configuration register 2 (LPTIM_CFGR2) . . . . . | 1885 |
| 43.7.10 | LPTIM3 configuration register 2 (LPTIM3_CFGR2) . . . . . | 1886 |
| 43.7.11 | LPTIM register map . . . . . | 1887 |
| 44 | System window watchdog (WWDG) . . . . . | 1888 |
| 44.1 | Introduction . . . . . | 1888 |
- 44.2 WWDG main features . . . . . 1888
- 44.3 WWDG functional description . . . . . 1888
- 44.3.1 WWDG block diagram . . . . . 1889
- 44.3.2 WWDG internal signals . . . . . 1889
- 44.3.3 Enabling the watchdog . . . . . 1889
- 44.3.4 Controlling the down-counter . . . . . 1889
- 44.3.5 How to program the watchdog timeout . . . . . 1890
- 44.3.6 Debug mode . . . . . 1891
- 44.4 WWDG interrupts . . . . . 1891
- 44.5 WWDG registers . . . . . 1891
- 44.5.1 WWDG control register (WWDG_CR) . . . . . 1892
- 44.5.2 WWDG configuration register (WWDG_CFR) . . . . . 1892
- 44.5.3 WWDG status register (WWDG_SR) . . . . . 1893
- 44.5.4 WWDG register map . . . . . 1893
- 45 Independent watchdog (IWDG) . . . . . 1894
- 45.1 Introduction . . . . . 1894
- 45.2 IWDG main features . . . . . 1894
- 45.3 IWDG functional description . . . . . 1894
- 45.3.1 IWDG block diagram . . . . . 1894
- 45.3.2 IWDG internal signals . . . . . 1895
- 45.3.3 Window option . . . . . 1895
- 45.3.4 Hardware watchdog . . . . . 1896
- 45.3.5 Low-power freeze . . . . . 1896
- 45.3.6 Register access protection . . . . . 1896
- 45.3.7 Debug mode . . . . . 1897
- 45.4 IWDG registers . . . . . 1898
- 45.4.1 IWDG key register (IWDG_KR) . . . . . 1898
- 45.4.2 IWDG prescaler register (IWDG_PR) . . . . . 1899
- 45.4.3 IWDG reload register (IWDG_RLR) . . . . . 1900
- 45.4.4 IWDG status register (IWDG_SR) . . . . . 1901
- 45.4.5 IWDG window register (IWDG_WINR) . . . . . 1902
- 45.4.6 IWDG register map . . . . . 1903
- 46 Real-time clock (RTC) . . . . . 1904
- 46.1 Introduction . . . . . 1904
| 46.2 | RTC main features . . . . . | 1905 |
| 46.3 | RTC functional description . . . . . | 1905 |
| 46.3.1 | RTC block diagram . . . . . | 1905 |
| 46.3.2 | RTC pins and internal signals . . . . . | 1908 |
| 46.3.3 | GPIOs controlled by the RTC . . . . . | 1908 |
| 46.3.4 | Clock and prescalers . . . . . | 1910 |
| 46.3.5 | Real-time clock and calendar . . . . . | 1911 |
| 46.3.6 | Programmable alarms . . . . . | 1911 |
| 46.3.7 | Periodic auto-wake-up . . . . . | 1911 |
| 46.3.8 | RTC initialization and configuration . . . . . | 1912 |
| 46.3.9 | Reading the calendar . . . . . | 1914 |
| 46.3.10 | Resetting the RTC . . . . . | 1915 |
| 46.3.11 | RTC synchronization . . . . . | 1915 |
| 46.3.12 | RTC reference clock detection . . . . . | 1916 |
| 46.3.13 | RTC smooth digital calibration . . . . . | 1916 |
| 46.3.14 | Time-stamp function . . . . . | 1918 |
| 46.3.15 | Tamper detection . . . . . | 1919 |
| 46.3.16 | Calibration clock output . . . . . | 1921 |
| 46.3.17 | Alarm output . . . . . | 1922 |
| 46.4 | RTC low-power modes . . . . . | 1922 |
| 46.5 | RTC interrupts . . . . . | 1922 |
| 46.6 | RTC registers . . . . . | 1923 |
| 46.6.1 | RTC time register (RTC_TR) . . . . . | 1923 |
| 46.6.2 | RTC date register (RTC_DR) . . . . . | 1924 |
| 46.6.3 | RTC control register (RTC_CR) . . . . . | 1926 |
| 46.6.4 | RTC initialization and status register (RTC_ISR) . . . . . | 1929 |
| 46.6.5 | RTC prescaler register (RTC_PRER) . . . . . | 1932 |
| 46.6.6 | RTC wake-up timer register (RTC_WUTR) . . . . . | 1933 |
| 46.6.7 | RTC alarm A register (RTC_ALRMAR) . . . . . | 1934 |
| 46.6.8 | RTC alarm B register (RTC_ALRMBR) . . . . . | 1935 |
| 46.6.9 | RTC write protection register (RTC_WPR) . . . . . | 1936 |
| 46.6.10 | RTC sub second register (RTC_SSR) . . . . . | 1936 |
| 46.6.11 | RTC shift control register (RTC_SHIFTR) . . . . . | 1937 |
| 46.6.12 | RTC timestamp time register (RTC_TSTR) . . . . . | 1938 |
| 46.6.13 | RTC timestamp date register (RTC_TSDR) . . . . . | 1939 |
| 46.6.14 | RTC time-stamp sub second register (RTC_TSSSR) . . . . . | 1940 |
| 46.6.15 | RTC calibration register (RTC_CALR) . . . . . | 1941 |
| 46.6.16 | RTC tamper configuration register (RTC_TAMPCR) . . . . . | 1942 |
| 46.6.17 | RTC alarm A sub second register (RTC_ALRMASSR) . . . . . | 1945 |
| 46.6.18 | RTC alarm B sub second register (RTC_ALRMBSSR) . . . . . | 1946 |
| 46.6.19 | RTC option register (RTC_OR) . . . . . | 1947 |
| 46.6.20 | RTC backup registers (RTC_BKPxR) . . . . . | 1947 |
| 46.6.21 | RTC register map . . . . . | 1948 |
| 47 | Inter-integrated circuit (I2C) interface . . . . . | 1950 |
| 47.1 | Introduction . . . . . | 1950 |
| 47.2 | I2C main features . . . . . | 1950 |
| 47.3 | I2C implementation . . . . . | 1951 |
| 47.4 | I2C functional description . . . . . | 1951 |
| 47.4.1 | I2C block diagram . . . . . | 1952 |
| 47.4.2 | I2C pins and internal signals . . . . . | 1953 |
| 47.4.3 | I2C clock requirements . . . . . | 1953 |
| 47.4.4 | Mode selection . . . . . | 1953 |
| 47.4.5 | I2C initialization . . . . . | 1954 |
| 47.4.6 | Software reset . . . . . | 1959 |
| 47.4.7 | Data transfer . . . . . | 1960 |
| 47.4.8 | I2C slave mode . . . . . | 1962 |
| 47.4.9 | I2C master mode . . . . . | 1971 |
| 47.4.10 | I2C_TIMINGR register configuration examples . . . . . | 1982 |
| 47.4.11 | SMBus specific features . . . . . | 1984 |
| 47.4.12 | SMBus initialization . . . . . | 1987 |
| 47.4.13 | SMBus: I2C_TIMEOUTR register configuration examples . . . . . | 1989 |
| 47.4.14 | SMBus slave mode . . . . . | 1989 |
| 47.4.15 | Wake-up from Stop mode on address match . . . . . | 1996 |
| 47.4.16 | Error conditions . . . . . | 1997 |
| 47.4.17 | DMA requests . . . . . | 1999 |
| 47.4.18 | Debug mode . . . . . | 1999 |
| 47.5 | I2C low-power modes . . . . . | 2000 |
| 47.6 | I2C interrupts . . . . . | 2001 |
| 47.7 | I2C registers . . . . . | 2003 |
| 47.7.1 | I2C control register 1 (I2C_CR1) . . . . . | 2003 |
| 47.7.2 | I2C control register 2 (I2C_CR2) . . . . . | 2006 |
| 47.7.3 | I2C own address 1 register (I2C_OAR1) . . . . . | 2008 |
| 47.7.4 | I2C own address 2 register (I2C_OAR2) . . . . . | 2008 |
| 47.7.5 | I2C timing register (I2C_TIMINGR) . . . . . | 2009 |
| 47.7.6 | I2C timeout register (I2C_TIMEOUTR) . . . . . | 2010 |
| 47.7.7 | I2C interrupt and status register (I2C_ISR) . . . . . | 2011 |
| 47.7.8 | I2C interrupt clear register (I2C_ICR) . . . . . | 2014 |
| 47.7.9 | I2C PEC register (I2C_PECR) . . . . . | 2015 |
| 47.7.10 | I2C receive data register (I2C_RXDR) . . . . . | 2015 |
| 47.7.11 | I2C transmit data register (I2C_TXDR) . . . . . | 2016 |
| 47.7.12 | I2C register map . . . . . | 2016 |
| 48 | Universal synchronous/asynchronous receiver transmitter (USART/UART) . . . . . | 2018 |
| 48.1 | USART introduction . . . . . | 2018 |
| 48.2 | USART main features . . . . . | 2019 |
| 48.3 | USART extended features . . . . . | 2020 |
| 48.4 | USART implementation . . . . . | 2020 |
| 48.5 | USART functional description . . . . . | 2021 |
| 48.5.1 | USART block diagram . . . . . | 2021 |
| 48.5.2 | USART signals . . . . . | 2022 |
| 48.5.3 | USART character description . . . . . | 2023 |
| 48.5.4 | USART FIFOs and thresholds . . . . . | 2025 |
| 48.5.5 | USART transmitter . . . . . | 2025 |
| 48.5.6 | USART receiver . . . . . | 2029 |
| 48.5.7 | USART baud rate generation . . . . . | 2036 |
| 48.5.8 | Tolerance of the USART receiver to clock deviation . . . . . | 2037 |
| 48.5.9 | USART auto baud rate detection . . . . . | 2039 |
| 48.5.10 | USART multiprocessor communication . . . . . | 2041 |
| 48.5.11 | USART Modbus communication . . . . . | 2043 |
| 48.5.12 | USART parity control . . . . . | 2044 |
| 48.5.13 | USART LIN (local interconnection network) mode . . . . . | 2045 |
| 48.5.14 | USART synchronous mode . . . . . | 2047 |
| 48.5.15 | USART single-wire Half-duplex communication . . . . . | 2051 |
| 48.5.16 | USART receiver timeout . . . . . | 2051 |
| 48.5.17 | USART Smartcard mode . . . . . | 2052 |
| 48.5.18 | USART IrDA SIR ENDEC block . . . . . | 2056 |
| 48.5.19 | Continuous communication using USART and DMA . . . . . | 2059 |
| 48.5.20 | RS232 Hardware flow control and RS485 Driver Enable . . . . . | 2061 |
| 48.5.21 | USART low-power management . . . . . | 2064 |
| 48.6 | USART in low-power modes . . . . . | 2067 |
| 48.7 | USART interrupts . . . . . | 2068 |
| 48.8 | USART registers . . . . . | 2069 |
| 48.8.1 | USART control register 1 (USART_CR1) . . . . . | 2069 |
| 48.8.2 | USART control register 1 [alternate] (USART_CR1) . . . . . | 2073 |
| 48.8.3 | USART control register 2 (USART_CR2) . . . . . | 2076 |
| 48.8.4 | USART control register 3 (USART_CR3) . . . . . | 2080 |
| 48.8.5 | USART baud rate register (USART_BRR) . . . . . | 2085 |
| 48.8.6 | USART guard time and prescaler register (USART_GTPR) . . . . . | 2085 |
| 48.8.7 | USART receiver timeout register (USART_RTOR) . . . . . | 2086 |
| 48.8.8 | USART request register (USART_RQR) . . . . . | 2087 |
| 48.8.9 | USART interrupt and status register (USART_ISR) . . . . . | 2088 |
| 48.8.10 | USART interrupt and status register [alternate] (USART_ISR) . . . . . | 2094 |
| 48.8.11 | USART interrupt flag clear register (USART_ICR) . . . . . | 2099 |
| 48.8.12 | USART receive data register (USART_RDR) . . . . . | 2101 |
| 48.8.13 | USART transmit data register (USART_TDR) . . . . . | 2101 |
| 48.8.14 | USART prescaler register (USART_PRESC) . . . . . | 2102 |
| 48.8.15 | USART register map . . . . . | 2103 |
| 49 | Low-power universal asynchronous receiver transmitter (LPUART) . . . . . | 2105 |
| 49.1 | LPUART introduction . . . . . | 2105 |
| 49.2 | LPUART main features . . . . . | 2106 |
| 49.3 | LPUART implementation . . . . . | 2107 |
| 49.4 | LPUART functional description . . . . . | 2108 |
| 49.4.1 | LPUART block diagram . . . . . | 2108 |
| 49.4.2 | LPUART signals . . . . . | 2109 |
| 49.4.3 | LPUART character description . . . . . | 2109 |
| 49.4.4 | LPUART FIFOs and thresholds . . . . . | 2110 |
| 49.4.5 | LPUART transmitter . . . . . | 2111 |
| 49.4.6 | LPUART receiver . . . . . | 2114 |
| 49.4.7 | LPUART baud rate generation . . . . . | 2118 |
| 49.4.8 | Tolerance of the LPUART receiver to clock deviation . . . . . | 2119 |
| 49.4.9 | LPUART multiprocessor communication . . . . . | 2120 |
| 49.4.10 | LPUART parity control . . . . . | 2122 |
| 49.4.11 | LPUART single-wire Half-duplex communication . . . . . | 2123 |
| 49.4.12 | Continuous communication using DMA and LPUART . . . . . | 2123 |
| 49.4.13 | RS232 Hardware flow control and RS485 Driver Enable . . . . . | 2126 |
| 49.4.14 | LPUART low-power management . . . . . | 2128 |
| 49.5 | LPUART in low-power modes . . . . . | 2131 |
| 49.6 | LPUART interrupts . . . . . | 2132 |
| 49.7 | LPUART registers . . . . . | 2133 |
| 49.7.1 | LPUART control register 1 (LPUART_CR1) . . . . . | 2133 |
| 49.7.2 | LPUART control register 1 [alternate] (LPUART_CR1) . . . . . | 2136 |
| 49.7.3 | LPUART control register 2 (LPUART_CR2) . . . . . | 2139 |
| 49.7.4 | LPUART control register 3 (LPUART_CR3) . . . . . | 2141 |
| 49.7.5 | LPUART baud rate register (LPUART_BRR) . . . . . | 2144 |
| 49.7.6 | LPUART request register (LPUART_RQR) . . . . . | 2145 |
| 49.7.7 | LPUART interrupt and status register (LPUART_ISR) . . . . . | 2145 |
| 49.7.8 | LPUART interrupt and status register [alternate] (LPUART_ISR) . . . . . | 2150 |
| 49.7.9 | LPUART interrupt flag clear register (LPUART_ICR) . . . . . | 2153 |
| 49.7.10 | LPUART receive data register (LPUART_RDR) . . . . . | 2154 |
| 49.7.11 | LPUART transmit data register (LPUART_TDR) . . . . . | 2154 |
| 49.7.12 | LPUART prescaler register (LPUART_PRESC) . . . . . | 2155 |
| 49.7.13 | LPUART register map . . . . . | 2156 |
| 50 | Serial peripheral interface (SPI) . . . . . | 2158 |
| 50.1 | Introduction . . . . . | 2158 |
| 50.2 | SPI main features . . . . . | 2158 |
| 50.3 | SPI implementation . . . . . | 2159 |
| 50.4 | SPI functional description . . . . . | 2159 |
| 50.4.1 | SPI block diagram . . . . . | 2159 |
| 50.4.2 | SPI signals . . . . . | 2161 |
| 50.4.3 | SPI communication general aspects . . . . . | 2161 |
| 50.4.4 | Communications between one master and one slave . . . . . | 2161 |
| 50.4.5 | Standard multislave communication . . . . . | 2164 |
| 50.4.6 | Multimaster communication . . . . . | 2167 |
| 50.4.7 | Slave select (SS) pin management . . . . . | 2167 |
| 50.4.8 | Communication formats . . . . . | 2171 |
| 50.4.9 | Configuration of SPI . . . . . | 2173 |
- 50.4.10 Procedure for enabling SPI . . . . . 2174
- 50.4.11 SPI data transmission and reception procedures . . . . . 2174
- 50.4.12 Procedure for disabling the SPI . . . . . 2179
- 50.4.13 Data packing . . . . . 2180
- 50.4.14 Communication using DMA (direct memory addressing) . . . . . 2181
- 50.5 SPI specific modes and control . . . . . 2183
- 50.5.1 TI mode . . . . . 2183
- 50.5.2 SPI error flags . . . . . 2183
- 50.5.3 CRC computation . . . . . 2187
- 50.6 Low-power mode management . . . . . 2188
- 50.7 SPI wakeup and interrupts . . . . . 2191
- 50.8 I2S main features . . . . . 2192
- 50.9 I2S functional description . . . . . 2193
- 50.9.1 I2S general description . . . . . 2193
- 50.9.2 Pin sharing with SPI function . . . . . 2193
- 50.9.3 Bitfields usable in I2S/PCM mode . . . . . 2194
- 50.9.4 Slave and master modes . . . . . 2195
- 50.9.5 Supported audio protocols . . . . . 2195
- 50.9.6 Additional Serial Interface Flexibility . . . . . 2201
- 50.9.7 Startup sequence . . . . . 2203
- 50.9.8 Stop sequence . . . . . 2205
- 50.9.9 Clock generator . . . . . 2205
- 50.9.10 Internal FIFOs . . . . . 2208
- 50.9.11 FIFOs status flags . . . . . 2209
- 50.9.12 Handling of underrun situation . . . . . 2209
- 50.9.13 Handling of overrun situation . . . . . 2210
- 50.9.14 Frame error detection . . . . . 2211
- 50.9.15 DMA Interface . . . . . 2212
- 50.9.16 Programing examples . . . . . 2214
- 50.10 I2S wakeup and interrupts . . . . . 2216
- 50.11 SPI/I2S registers . . . . . 2217
- 50.11.1 SPI/I2S control register 1 (SPI_CR1) . . . . . 2217
- 50.11.2 SPI control register 2 (SPI_CR2) . . . . . 2219
- 50.11.3 SPI configuration register 1 (SPI_CFG1) . . . . . 2219
- 50.11.4 SPI configuration register 2 (SPI_CFG2) . . . . . 2222
- 50.11.5 SPI/I2S interrupt enable register (SPI_IER) . . . . . 2224
| 50.11.6 | SPI/I2S status register (SPI_SR) . . . . . | 2225 |
| 50.11.7 | SPI/I2S interrupt/status flags clear register (SPI_IFCR) . . . . . | 2228 |
| 50.11.8 | SPI/I2S transmit data register (SPI_TXDR) . . . . . | 2229 |
| 50.11.9 | SPI/I2S receive data register (SPI_RXDR) . . . . . | 2229 |
| 50.11.10 | SPI polynomial register (SPI_CRCPOLY) . . . . . | 2230 |
| 50.11.11 | SPI transmitter CRC register (SPI_TXCRC) . . . . . | 2230 |
| 50.11.12 | SPI receiver CRC register (SPI_RXCRC) . . . . . | 2231 |
| 50.11.13 | SPI underrun data register (SPI_UDRDR) . . . . . | 2232 |
| 50.11.14 | SPI/I2S configuration register (SPI_I2SCFGR) . . . . . | 2232 |
| 50.12 | SPI register map and reset values . . . . . | 2235 |
| 51 | Serial audio interface (SAI) . . . . . | 2237 |
| 51.1 | Introduction . . . . . | 2237 |
| 51.2 | SAI main features . . . . . | 2237 |
| 51.3 | SAI implementation . . . . . | 2238 |
| 51.4 | SAI functional description . . . . . | 2238 |
| 51.4.1 | SAI block diagram . . . . . | 2238 |
| 51.4.2 | SAI pins and internal signals . . . . . | 2240 |
| 51.4.3 | Main SAI modes . . . . . | 2240 |
| 51.4.4 | SAI synchronization mode . . . . . | 2241 |
| 51.4.5 | Audio data size . . . . . | 2242 |
| 51.4.6 | Frame synchronization . . . . . | 2243 |
| 51.4.7 | Slot configuration . . . . . | 2246 |
| 51.4.8 | SAI clock generator . . . . . | 2248 |
| 51.4.9 | Internal FIFOs . . . . . | 2250 |
| 51.4.10 | PDM interface . . . . . | 2252 |
| 51.4.11 | AC'97 link controller . . . . . | 2260 |
| 51.4.12 | SPDIF output . . . . . | 2262 |
| 51.4.13 | Specific features . . . . . | 2265 |
| 51.4.14 | Error flags . . . . . | 2269 |
| 51.4.15 | Disabling the SAI . . . . . | 2272 |
| 51.4.16 | SAI DMA interface . . . . . | 2272 |
| 51.5 | SAI interrupts . . . . . | 2273 |
| 51.6 | SAI registers . . . . . | 2274 |
| 51.6.1 | SAI global configuration register (SAI_GCR) . . . . . | 2274 |
| 51.6.2 | SAI configuration register 1 (SAI_ACR1) . . . . . | 2275 |
| 51.6.3 | SAI configuration register 1 (SAI_BCR1) . . . . . | 2277 |
| 51.6.4 | SAI configuration register 2 (SAI_ACR2) . . . . . | 2280 |
| 51.6.5 | SAI configuration register 2 (SAI_BCR2) . . . . . | 2282 |
| 51.6.6 | SAI frame configuration register (SAI_AFRCR) . . . . . | 2284 |
| 51.6.7 | SAI frame configuration register (SAI_BFRCR) . . . . . | 2286 |
| 51.6.8 | SAI slot register (SAI_ASLOTR) . . . . . | 2287 |
| 51.6.9 | SAI slot register (SAI_BSLOTR) . . . . . | 2288 |
| 51.6.10 | SAI interrupt mask register (SAI_AIM) . . . . . | 2289 |
| 51.6.11 | SAI interrupt mask register (SAI_BIM) . . . . . | 2291 |
| 51.6.12 | SAI status register (SAI_ASR) . . . . . | 2292 |
| 51.6.13 | SAI status register (SAI_BSR) . . . . . | 2294 |
| 51.6.14 | SAI clear flag register (SAI_ACLRFR) . . . . . | 2296 |
| 51.6.15 | SAI clear flag register (SAI_BCLRFR) . . . . . | 2297 |
| 51.6.16 | SAI data register (SAI_ADR) . . . . . | 2298 |
| 51.6.17 | SAI data register (SAI_BDR) . . . . . | 2299 |
| 51.6.18 | SAI PDM control register (SAI_PDMCR) . . . . . | 2299 |
| 51.6.19 | SAI PDM delay register (SAI_PDMDLY) . . . . . | 2301 |
| 51.6.20 | SAI register map . . . . . | 2303 |
| 52 | SPDIF receiver interface (SPDIFRX) . . . . . | 2305 |
| 52.1 | SPDIFRX interface introduction . . . . . | 2305 |
| 52.2 | SPDIFRX main features . . . . . | 2305 |
| 52.3 | SPDIFRX functional description . . . . . | 2305 |
| 52.3.1 | SPDIFRX pins and internal signals . . . . . | 2306 |
| 52.3.2 | S/PDIF protocol (IEC-60958) . . . . . | 2307 |
| 52.3.3 | SPDIFRX decoder (SPDIFRX_DC) . . . . . | 2309 |
| 52.3.4 | SPDIFRX tolerance to clock deviation . . . . . | 2313 |
| 52.3.5 | SPDIFRX synchronization . . . . . | 2313 |
| 52.3.6 | SPDIFRX handling . . . . . | 2315 |
| 52.3.7 | Data reception management . . . . . | 2317 |
| 52.3.8 | Dedicated control flow . . . . . | 2319 |
| 52.3.9 | Reception errors . . . . . | 2320 |
| 52.3.10 | Clocking strategy . . . . . | 2322 |
| 52.3.11 | DMA interface . . . . . | 2322 |
| 52.3.12 | Interrupt generation . . . . . | 2323 |
| 52.3.13 | Register protection . . . . . | 2324 |
| 52.4 | Programming procedures . . . . . | 2325 |
| 52.4.1 | Initialization phase . . . . . | 2325 |
| 52.4.2 | Handling of interrupts coming from SPDIFRX . . . . . | 2326 |
| 52.4.3 | Handling of interrupts coming from DMA . . . . . | 2326 |
| 52.5 | SPDIFRX interface registers . . . . . | 2327 |
| 52.5.1 | SPDIFRX control register (SPDIFRX_CR) . . . . . | 2327 |
| 52.5.2 | SPDIFRX interrupt mask register (SPDIFRX_IMR) . . . . . | 2329 |
| 52.5.3 | SPDIFRX status register (SPDIFRX_SR) . . . . . | 2330 |
| 52.5.4 | SPDIFRX interrupt flag clear register (SPDIFRX_IFCR) . . . . . | 2332 |
| 52.5.5 | SPDIFRX data input register (SPDIFRX_FMT0_DR) . . . . . | 2333 |
| 52.5.6 | SPDIFRX data input register (SPDIFRX_FMT1_DR) . . . . . | 2333 |
| 52.5.7 | SPDIFRX data input register (SPDIFRX_FMT2_DR) . . . . . | 2334 |
| 52.5.8 | SPDIFRX channel status register (SPDIFRX_CSR) . . . . . | 2335 |
| 52.5.9 | SPDIFRX debug information register (SPDIFRX_DIR) . . . . . | 2335 |
| 52.5.10 | SPDIFRX interface register map . . . . . | 2336 |
| 53 | Single wire protocol master interface (SWPMI) . . . . . | 2337 |
| 53.1 | Introduction . . . . . | 2337 |
| 53.2 | SWPMI main features . . . . . | 2338 |
| 53.3 | SWPMI functional description . . . . . | 2339 |
| 53.3.1 | SWPMI block diagram . . . . . | 2339 |
| 53.3.2 | SWPMI pins and internal signals . . . . . | 2339 |
| 53.3.3 | SWP initialization and activation . . . . . | 2340 |
| 53.3.4 | SWP bus states . . . . . | 2341 |
| 53.3.5 | SWPMI_IO (internal transceiver) bypass . . . . . | 2342 |
| 53.3.6 | SWPMI bit rate . . . . . | 2342 |
| 53.3.7 | SWPMI frame handling . . . . . | 2343 |
| 53.3.8 | Transmission procedure . . . . . | 2343 |
| 53.3.9 | Reception procedure . . . . . | 2348 |
| 53.3.10 | Error management . . . . . | 2352 |
| 53.3.11 | Loopback mode . . . . . | 2354 |
| 53.4 | SWPMI low-power modes . . . . . | 2354 |
| 53.5 | SWPMI interrupts . . . . . | 2355 |
| 53.6 | SWPMI registers . . . . . | 2356 |
| 53.6.1 | SWPMI configuration/control register (SWPMI_CR) . . . . . | 2356 |
| 53.6.2 | SWPMI Bitrate register (SWPMI_BRR) . . . . . | 2357 |
| 53.6.3 | SWPMI Interrupt and Status register (SWPMI_ISR) . . . . . | 2358 |
| 53.6.4 | SWPMI Interrupt Flag Clear register (SWPMI_ICR) . . . . . | 2359 |
| 53.6.5 | SWPMI Interrupt Enable register (SWPMI_IER) . . . . . | 2360 |
| 53.6.6 | SWPMI Receive Frame Length register (SWPMI_RFL) . . . . . | 2362 |
| 53.6.7 | SWPMI Transmit data register (SWPMI_TDR) . . . . . | 2362 |
| 53.6.8 | SWPMI Receive data register (SWPMI_RDR) . . . . . | 2362 |
| 53.6.9 | SWPMI Option register (SWPMI_OR) . . . . . | 2363 |
| 53.6.10 | SWPMI register map and reset value table . . . . . | 2364 |
| 54 | Management data input/output (MDIOS) . . . . . | 2365 |
| 54.1 | MDIOS introduction . . . . . | 2365 |
| 54.2 | MDIOS main features . . . . . | 2365 |
| 54.3 | MDIOS functional description . . . . . | 2366 |
| 54.3.1 | MDIOS block diagram . . . . . | 2366 |
| 54.3.2 | MDIOS pins and internal signals . . . . . | 2366 |
| 54.3.3 | MDIOS protocol . . . . . | 2366 |
| 54.3.4 | MDIOS enabling and disabling . . . . . | 2367 |
| 54.3.5 | MDIOS data . . . . . | 2368 |
| 54.3.6 | MDIOS APB frequency . . . . . | 2369 |
| 54.3.7 | Write/read flags and interrupts . . . . . | 2369 |
| 54.3.8 | MDIOS error management . . . . . | 2370 |
| 54.3.9 | MDIOS in Stop mode . . . . . | 2371 |
| 54.3.10 | MDIOS interrupts . . . . . | 2371 |
| 54.4 | MDIOS registers . . . . . | 2371 |
| 54.4.1 | MDIOS configuration register (MDIOS_CR) . . . . . | 2371 |
| 54.4.2 | MDIOS write flag register (MDIOS_WRFR) . . . . . | 2372 |
| 54.4.3 | MDIOS clear write flag register (MDIOS_CWRFR) . . . . . | 2373 |
| 54.4.4 | MDIOS read flag register (MDIOS_RDFR) . . . . . | 2373 |
| 54.4.5 | MDIOS clear read flag register (MDIOS_CRDFR) . . . . . | 2374 |
| 54.4.6 | MDIOS status register (MDIOS_SR) . . . . . | 2374 |
| 54.4.7 | MDIOS clear flag register (MDIOS_CLRFR) . . . . . | 2375 |
| 54.4.8 | MDIOS input data register x (MDIOS_DINRx) . . . . . | 2375 |
| 54.4.9 | MDIOS output data register x (MDIOS_DOUTRx) . . . . . | 2376 |
| 54.4.10 | MDIOS register map . . . . . | 2376 |
| 55 | Secure digital input/output MultiMediaCard interface (SDMMC) . . . | 2378 |
| 55.1 | SDMMC main features . . . . . | 2378 |
| 55.2 | SDMMC implementation . . . . . | 2378 |
| 55.3 | SDMMC bus topology . . . . . | 2379 |
| 55.4 | SDMMC operation modes . . . . . | 2381 |
| 55.5 | SDMMC functional description . . . . . | 2382 |
| 55.5.1 | SDMMC block diagram . . . . . | 2382 |
| 55.5.2 | SDMMC pins and internal signals . . . . . | 2382 |
| 55.5.3 | General description . . . . . | 2383 |
| 55.5.4 | SDMMC adapter . . . . . | 2385 |
| 55.5.5 | SDMMC AHB slave interface . . . . . | 2407 |
| 55.5.6 | SDMMC AHB master interface . . . . . | 2407 |
| 55.5.7 | MDMA request generation . . . . . | 2409 |
| 55.5.8 | AHB and SDMMC_CK clock relation . . . . . | 2410 |
| 55.6 | Card functional description . . . . . | 2411 |
| 55.6.1 | SD I/O mode . . . . . | 2411 |
| 55.6.2 | CMD12 send timing . . . . . | 2419 |
| 55.6.3 | Sleep (CMD5) . . . . . | 2422 |
| 55.6.4 | Interrupt mode (Wait-IRQ) . . . . . | 2423 |
| 55.6.5 | Boot operation . . . . . | 2424 |
| 55.6.6 | Response R1b handling . . . . . | 2427 |
| 55.6.7 | Reset and card cycle power . . . . . | 2428 |
| 55.7 | Hardware flow control . . . . . | 2429 |
| 55.8 | Ultra-high-speed phase I (UHS-I) voltage switch . . . . . | 2430 |
| 55.9 | SDMMC interrupts . . . . . | 2433 |
| 55.10 | SDMMC registers . . . . . | 2435 |
| 55.10.1 | SDMMC power control register (SDMMC_POWER) . . . . . | 2435 |
| 55.10.2 | SDMMC clock control register (SDMMC_CLKCR) . . . . . | 2436 |
| 55.10.3 | SDMMC argument register (SDMMC_ARGR) . . . . . | 2438 |
| 55.10.4 | SDMMC command register (SDMMC_CMDR) . . . . . | 2438 |
| 55.10.5 | SDMMC command response register (SDMMC_RESPCMDR) . . . . . | 2440 |
| 55.10.6 | SDMMC response x register (SDMMC_RESPxR) . . . . . | 2441 |
| 55.10.7 | SDMMC data timer register (SDMMC_TIMER) . . . . . | 2441 |
| 55.10.8 | SDMMC data length register (SDMMC_DLENR) . . . . . | 2442 |
| 55.10.9 | SDMMC data control register (SDMMC_DCTRL) . . . . . | 2443 |
| 55.10.10 | SDMMC data counter register (SDMMC_DCNTR) . . . . . | 2444 |
| 55.10.11 | SDMMC status register (SDMMC_STAR) . . . . . | 2445 |
| 55.10.12 | SDMMC interrupt clear register (SDMMC_ICR) . . . . . | 2448 |
| 55.10.13 | SDMMC mask register (SDMMC_MASKR) . . . . . | 2450 |
| 55.10.14 | SDMMC acknowledgment timer register (SDMMC_ACKTIMER) . . . | 2453 |
| 55.10.15 | SDMMC data FIFO registers x (SDMMC_FIFORx) . . . . . | 2453 |
| 55.10.16 | SDMMC DMA control register (SDMMC_IDMACTRLR) . . . . . | 2454 |
| 55.10.17 | SDMMC IDMA buffer size register (SDMMC_IDMABSIZER) . . . . . | 2455 |
| 55.10.18 | SDMMC IDMA buffer 0 base address register (SDMMC_IDMABASE0R) . . . . . | 2455 |
| 55.10.19 | SDMMC IDMA buffer 1 base address register (SDMMC_IDMABASE1R) . . . . . | 2456 |
| 55.10.20 | SDMMC register map . . . . . | 2456 |
| 56 | Controller area network with flexible data rate (FDCAN) . . . . . | 2459 |
| 56.1 | Introduction . . . . . | 2459 |
| 56.2 | FDCAN main features . . . . . | 2462 |
| 56.3 | FDCAN implementation . . . . . | 2462 |
| 56.4 | FDCAN functional description . . . . . | 2463 |
| 56.4.1 | Operating modes . . . . . | 2464 |
| 56.4.2 | Message RAM . . . . . | 2473 |
| 56.4.3 | FIFO acknowledge handling . . . . . | 2484 |
| 56.4.4 | Bit timing . . . . . | 2485 |
| 56.4.5 | Clock calibration on CAN . . . . . | 2486 |
| 56.4.6 | Application . . . . . | 2490 |
| 56.4.7 | TTCAN operations (FDCAN1 only) . . . . . | 2491 |
| 56.4.8 | TTCAN configuration . . . . . | 2492 |
| 56.4.9 | Message scheduling . . . . . | 2494 |
| 56.4.10 | TTCAN gap control . . . . . | 2501 |
| 56.4.11 | Stop watch . . . . . | 2502 |
| 56.4.12 | Local time, cycle time, global time, and external clock synchronization . . . . . | 2502 |
| 56.4.13 | TTCAN error level . . . . . | 2505 |
| 56.4.14 | TTCAN message handling . . . . . | 2506 |
| 56.4.15 | TTCAN interrupt and error handling . . . . . | 2509 |
| 56.4.16 | Level 0 . . . . . | 2510 |
| 56.4.17 | Synchronization to external time schedule . . . . . | 2512 |
| 56.4.18 | FDCAN Rx buffer and FIFO element . . . . . | 2513 |
| 56.4.19 | FDCAN Tx buffer element . . . . . | 2515 |
| 56.4.20 | FDCAN Tx event FIFO element . . . . . | 2517 |
| 56.4.21 | FDCAN standard message ID filter element . . . . . | 2518 |
| 56.4.22 | FDCAN extended message ID filter element . . . . . | 2520 |
| 56.4.23 | FDCAN trigger memory element . . . . . | 2521 |
| 56.5 | FDCAN registers . . . . . | 2523 |
| 56.5.1 | FDCAN core release register (FDCAN_CREL) . . . . . | 2523 |
| 56.5.2 | FDCAN Endian register (FDCAN_ENDN) . . . . . | 2523 |
| 56.5.3 | FDCAN data bit timing and prescaler register (FDCAN_DBTP) . . . . . | 2524 |
| 56.5.4 | FDCAN test register (FDCAN_TEST) . . . . . | 2525 |
| 56.5.5 | FDCAN RAM watchdog register (FDCAN_RWD) . . . . . | 2525 |
| 56.5.6 | FDCAN CC control register (FDCAN_CCCR) . . . . . | 2526 |
| 56.5.7 | FDCAN nominal bit timing and prescaler register (FDCAN_NBTP) . . . . . | 2528 |
| 56.5.8 | FDCAN timestamp counter configuration register (FDCAN_TSCC) . . . . . | 2529 |
| 56.5.9 | FDCAN timestamp counter value register (FDCAN_TSCV) . . . . . | 2530 |
| 56.5.10 | FDCAN timeout counter configuration register (FDCAN_TOCC) . . . . . | 2530 |
| 56.5.11 | FDCAN timeout counter value register (FDCAN_TOCV) . . . . . | 2531 |
| 56.5.12 | FDCAN error counter register (FDCAN_ECR) . . . . . | 2532 |
| 56.5.13 | FDCAN protocol status register (FDCAN_PSR) . . . . . | 2532 |
| 56.5.14 | FDCAN transmitter delay compensation register (FDCAN_TDCR) . . . . . | 2534 |
| 56.5.15 | FDCAN interrupt register (FDCAN_IR) . . . . . | 2535 |
| 56.5.16 | FDCAN interrupt enable register (FDCAN_IE) . . . . . | 2538 |
| 56.5.17 | FDCAN interrupt line select register (FDCAN_ILS) . . . . . | 2540 |
| 56.5.18 | FDCAN interrupt line enable register (FDCAN_ILE) . . . . . | 2541 |
| 56.5.19 | FDCAN global filter configuration register (FDCAN_GFC) . . . . . | 2542 |
| 56.5.20 | FDCAN standard ID filter configuration register (FDCAN_SIDFC) . . . . . | 2543 |
| 56.5.21 | FDCAN extended ID filter configuration register (FDCAN_XIDFC) . . . . . | 2543 |
| 56.5.22 | FDCAN extended ID and mask register (FDCAN_XIDAM) . . . . . | 2544 |
| 56.5.23 | FDCAN high priority message status register (FDCAN_HPMS) . . . . . | 2545 |
| 56.5.24 | FDCAN new data 1 register (FDCAN_NDAT1) . . . . . | 2545 |
| 56.5.25 | FDCAN new data 2 register (FDCAN_NDAT2) . . . . . | 2546 |
| 56.5.26 | FDCAN Rx FIFO 0 configuration register (FDCAN_RXF0C) . . . . . | 2546 |
| 56.5.27 | FDCAN Rx FIFO 0 status register (FDCAN_RXF0S) . . . . . | 2547 |
| 56.5.28 | FDCAN Rx FIFO 0 acknowledge register (FDCAN_RXF0A) . . . . . | 2548 |
| 56.5.29 | FDCAN Rx buffer configuration register (FDCAN_RXBC) . . . . . | 2548 |
| 56.5.30 | FDCAN Rx FIFO 1 configuration register (FDCAN_RXF1C) . . . . . | 2549 |
| 56.5.31 | FDCAN Rx FIFO 1 status register (FDCAN_RXF1S) . . . . . | 2550 |
| 56.5.32 | FDCAN Rx FIFO 1 acknowledge register (FDCAN_RXF1A) . . . . . | 2551 |
| 56.5.33 | FDCAN Rx buffer element size configuration register (FDCAN_RXESC) . . . . . | 2551 |
| 56.5.34 | FDCAN Tx buffer configuration register (FDCAN_TXBC) . . . . . | 2552 |
| 56.5.35 | FDCAN Tx FIFO/queue status register (FDCAN_TXFQS) . . . . . | 2553 |
| 56.5.36 | FDCAN Tx buffer element size configuration register (FDCAN_TXESC) . . . . . | 2554 |
| 56.5.37 | FDCAN Tx buffer request pending register (FDCAN_TXBRP) . . . . . | 2554 |
| 56.5.38 | FDCAN Tx buffer add request register (FDCAN_TXBAR) . . . . . | 2555 |
| 56.5.39 | FDCAN Tx buffer cancellation request register (FDCAN_TXBCR) . . . . . | 2556 |
| 56.5.40 | FDCAN Tx buffer transmission occurred register (FDCAN_TXBTO) . . . . . | 2556 |
| 56.5.41 | FDCAN Tx buffer cancellation finished register (FDCAN_TXBCF) . . . . . | 2557 |
| 56.5.42 | FDCAN Tx buffer transmission interrupt enable register (FDCAN_TXBTIE) . . . . . | 2557 |
| 56.5.43 | FDCAN Tx buffer cancellation finished interrupt enable register (FDCAN_TXBCIE) . . . . . | 2558 |
| 56.5.44 | FDCAN Tx event FIFO configuration register (FDCAN_TXEFC) . . . . . | 2558 |
| 56.5.45 | FDCAN Tx event FIFO status register (FDCAN_TXEFS) . . . . . | 2559 |
| 56.5.46 | FDCAN Tx event FIFO acknowledge register (FDCAN_TXEFA) . . . . . | 2560 |
| 56.5.47 | FDCAN register map . . . . . | 2560 |
| 56.6 | TTCAN registers . . . . . | 2564 |
| 56.6.1 | FDCAN TT trigger memory configuration register (FDCAN_TTTMC) . . . . . | 2564 |
| 56.6.2 | FDCAN TT reference message configuration register (FDCAN_TTRMC) . . . . . | 2564 |
| 56.6.3 | FDCAN TT operation configuration register (FDCAN_TTOCF) . . . . . | 2565 |
| 56.6.4 | FDCAN TT matrix limits register (FDCAN_TTMLM) . . . . . | 2567 |
| 56.6.5 | FDCAN TUR configuration register (FDCAN_TURCF) . . . . . | 2568 |
| 56.6.6 | FDCAN TT operation control register (FDCAN_TTOCN) . . . . . | 2569 |
| 56.6.7 | FDCAN TT global time preset register (FDCAN_TTGTP) . . . . . | 2571 |
| 56.6.8 | FDCAN TT time mark register (FDCAN_TTTMK) . . . . . | 2571 |
| 56.6.9 | FDCAN TT interrupt register (FDCAN_TTIR) . . . . . | 2572 |
| 56.6.10 | FDCAN TT interrupt enable register (FDCAN_TTIE) . . . . . | 2574 |
| 56.6.11 | FDCAN TT interrupt line select register (FDCAN_TTILS) . . . . . | 2576 |
| 56.6.12 | FDCAN TT operation status register (FDCAN_TTOST) . . . . . | 2577 |
| 56.6.13 | FDCAN TUR numerator actual register (FDCAN_TURNA) . . . . . | 2579 |
| 56.6.14 | FDCAN TT local and global time register (FDCAN_TTLGT) . . . . . | 2580 |
| 56.6.15 | FDCAN TT cycle time and count register (FDCAN_TTCTC) . . . . . | 2580 |
| 56.6.16 | FDCAN TT capture time register (FDCAN_TTCPT) . . . . . | 2581 |
| 56.6.17 | FDCAN TT cycle sync mark register (FDCAN_TTCSM) . . . . . | 2581 |
| 56.6.18 | FDCAN TT trigger select register (FDCAN_TTTS) . . . . . | 2582 |
| 56.6.19 | FDCAN TT register map . . . . . | 2582 |
| 56.7 | CCU registers . . . . . | 2584 |
| 56.7.1 | Clock calibration unit core release register (FDCAN_CCU_CREL) . . . | 2584 |
| 56.7.2 | Calibration configuration register (FDCAN_CCU_CCFG) . . . . . | 2584 |
| 56.7.3 | Calibration status register (FDCAN_CCU_CSTAT) . . . . . | 2586 |
| 56.7.4 | Calibration watchdog register (FDCAN_CCU_CWD) . . . . . | 2586 |
| 56.7.5 | Clock calibration unit interrupt register (FDCAN_CCU_IR) . . . . . | 2587 |
| 56.7.6 | Clock calibration unit interrupt enable register (FDCAN_CCU_IE) . . . | 2588 |
| 56.7.7 | CCU register map . . . . . | 2588 |
| 57 | USB on-the-go high-speed (OTG_HS) . . . . . | 2590 |
| 57.1 | Introduction . . . . . | 2590 |
| 57.2 | OTG_HS main features . . . . . | 2591 |
| 57.2.1 | General features . . . . . | 2591 |
| 57.2.2 | Host-mode features . . . . . | 2592 |
| 57.2.3 | Peripheral-mode features . . . . . | 2592 |
| 57.3 | OTG_HS implementation . . . . . | 2593 |
| 57.4 | OTG_HS functional description . . . . . | 2593 |
| 57.4.1 | OTG_HS block diagram . . . . . | 2593 |
| 57.4.2 | OTG_HS pin and internal signals . . . . . | 2595 |
| 57.4.3 | OTG_HS core . . . . . | 2595 |
| 57.4.4 | Embedded full-speed OTG PHY connected to OTG_HS . . . . . | 2596 |
| 57.4.5 | OTG detections . . . . . | 2596 |
| 57.4.6 | High-speed OTG PHY connected to OTG_HS . . . . . | 2596 |
| 57.5 | OTG_HS dual role device (DRD) . . . . . | 2597 |
| 57.5.1 | ID line detection . . . . . | 2597 |
| 57.5.2 | HNP dual role device . . . . . | 2597 |
| 57.5.3 | SRP dual role device . . . . . | 2598 |
| 57.6 | OTG_HS as a USB peripheral . . . . . | 2598 |
| 57.6.1 | SRP-capable peripheral . . . . . | 2599 |
| 57.6.2 | Peripheral states . . . . . | 2599 |
| 57.6.3 | Peripheral endpoints . . . . . | 2600 |
| 57.7 | OTG_HS as a USB host . . . . . | 2602 |
| 57.7.1 | SRP-capable host . . . . . | 2603 |
| 57.7.2 | USB host states . . . . . | 2603 |
| 57.7.3 | Host channels . . . . . | 2605 |
| 57.7.4 | Host scheduler . . . . . | 2606 |
| 57.8 | OTG_HS SOF trigger . . . . . | 2607 |
| 57.8.1 | Host SOFs | 2607 |
| 57.8.2 | Peripheral SOFs | 2607 |
| 57.9 | OTG_HS low-power modes | 2608 |
| 57.10 | OTG_HS Dynamic update of the OTG_HFIR register | 2609 |
| 57.11 | OTG_HS data FIFOs | 2609 |
| 57.11.1 | Peripheral FIFO architecture | 2610 |
| 57.11.2 | Host FIFO architecture | 2611 |
| 57.11.3 | FIFO RAM allocation | 2612 |
| 57.12 | OTG_HS interrupts | 2614 |
| 57.13 | OTG_HS control and status registers | 2616 |
| 57.13.1 | CSR memory map | 2616 |
| 57.14 | OTG_HS registers | 2621 |
| 57.14.1 | OTG control and status register (OTG_GOTGCTL) | 2621 |
| 57.14.2 | OTG interrupt register (OTG_GOTGINT) | 2624 |
| 57.14.3 | OTG AHB configuration register (OTG_GAHBCFG) | 2626 |
| 57.14.4 | OTG USB configuration register (OTG_GUSBCFG) | 2627 |
| 57.14.5 | OTG reset register (OTG_GRSTCTL) | 2630 |
| 57.14.6 | OTG core interrupt register (OTG_GINTSTS) | 2633 |
| 57.14.7 | OTG interrupt mask register (OTG_GINTMSK) | 2637 |
| 57.14.8 | OTG receive status debug read register (OTG_GRXSTSR) | 2641 |
| 57.14.9 | OTG receive status debug read [alternate] (OTG_GRXSTSR) | 2642 |
| 57.14.10 | OTG status read and pop registers (OTG_GRXSTSP) | 2643 |
| 57.14.11 | OTG status read and pop registers [alternate] (OTG_GRXSTSP) | 2644 |
| 57.14.12 | OTG receive FIFO size register (OTG_GRXFSIZ) | 2645 |
| 57.14.13 | OTG host non-periodic transmit FIFO size register (OTG_HNPTXFSIZ)/Endpoint 0 Transmit FIFO size (OTG_DIEPTXF0) | 2645 |
| 57.14.14 | OTG non-periodic transmit FIFO/queue status register (OTG_HNPTXSTS) | 2646 |
| 57.14.15 | OTG general core configuration register (OTG_GCCFG) | 2647 |
| 57.14.16 | OTG core ID register (OTG_CID) | 2649 |
| 57.14.17 | OTG core LPM configuration register (OTG_GLPMCFG) | 2649 |
| 57.14.18 | OTG host periodic transmit FIFO size register (OTG_HPTXFSIZ) | 2653 |
| 57.14.19 | OTG device IN endpoint transmit FIFO x size register (OTG_DIEPTXFx) | 2653 |
| 57.14.20 | Host-mode registers | 2654 |
| 57.14.21 | OTG host configuration register (OTG_HCFG) | 2654 |
| 57.14.22 | OTG host frame interval register (OTG_HFIR) . . . . . | 2655 |
| 57.14.23 | OTG host frame number/frame time remaining register (OTG_HFNUM) . . . . . | 2656 |
| 57.14.24 | OTG_Host periodic transmit FIFO/queue status register (OTG_HPTXSTS) . . . . . | 2657 |
| 57.14.25 | OTG host all channels interrupt register (OTG_HAINT) . . . . . | 2658 |
| 57.14.26 | OTG host all channels interrupt mask register (OTG_HAINTMSK) . . . . . | 2658 |
| 57.14.27 | OTG host frame list base address register (OTG_HFLBADDR) . . . . . | 2659 |
| 57.14.28 | OTG host port control and status register (OTG_HPRT) . . . . . | 2659 |
| 57.14.29 | OTG host channel x characteristics register (OTG_HCCHARx) . . . . . | 2662 |
| 57.14.30 | OTG host channel x split control register (OTG_HCSPLTx) . . . . . | 2663 |
| 57.14.31 | OTG host channel x interrupt register (OTG_HCINTx) . . . . . | 2664 |
| 57.14.32 | OTG host channel x interrupt mask register (OTG_HCINTMSKx) . . . . . | 2665 |
| 57.14.33 | OTG host channel x transfer size register (OTG_HCTSIZx) . . . . . | 2667 |
| 57.14.34 | OTG host channel x transfer size register (OTG_HCTSIZSGx) . . . . . | 2668 |
| 57.14.35 | OTG host channel x DMA address register in buffer DMA [alternate] (OTG_HCDMAx) . . . . . | 2670 |
| 57.14.36 | OTG host channel x DMA address register in scatter/gather DMA [alternate] (OTG_HCDMASGx) . . . . . | 2670 |
| 57.14.37 | OTG host channel-n DMA address buffer register (OTG_HCDMABx) . . . . . | 2671 |
| 57.14.38 | Device-mode registers . . . . . | 2672 |
| 57.14.39 | OTG device configuration register (OTG_DCFG) . . . . . | 2672 |
| 57.14.40 | OTG device control register (OTG_DCTL) . . . . . | 2674 |
| 57.14.41 | OTG device status register (OTG_DSTS) . . . . . | 2676 |
| 57.14.42 | OTG device IN endpoint common interrupt mask register (OTG_DIEPMSK) . . . . . | 2677 |
| 57.14.43 | OTG device OUT endpoint common interrupt mask register (OTG_DOEPMSK) . . . . . | 2678 |
| 57.14.44 | OTG device all endpoints interrupt register (OTG_DAINIT) . . . . . | 2679 |
| 57.14.45 | OTG all endpoints interrupt mask register (OTG_DAINMSK) . . . . . | 2680 |
| 57.14.46 | OTG device V
BUS
discharge time register (OTG_DVBUSDIS) . . . . . | 2681 |
| 57.14.47 | OTG device V
BUS
pulsing time register (OTG_DVBUSPULSE) . . . . . | 2681 |
| 57.14.48 | OTG device threshold control register (OTG_DTHRCTL) . . . . . | 2682 |
| 57.14.49 | OTG device IN endpoint FIFO empty interrupt mask register (OTG_DIEPEMPMSK) . . . . . | 2683 |
| 57.14.50 | OTG device each endpoint interrupt register (OTG_DEACHINT) | 2683 |
| 57.14.51 | OTG device each endpoint interrupt mask register (OTG_DEACHINTMSK) | 2684 |
| 57.14.52 | OTG device each IN endpoint-1 interrupt mask register (OTG_HS_DIEPEACHMSK1) | 2684 |
| 57.14.53 | OTG device each OUT endpoint-1 interrupt mask register (OTG_HS_DOEPEACHMSK1) | 2685 |
| 57.14.54 | OTG device IN endpoint x control register (OTG_DIEPCTLx) | 2687 |
| 57.14.55 | OTG device IN endpoint x interrupt register (OTG_DIEPINTx) | 2689 |
| 57.14.56 | OTG device IN endpoint 0 transfer size register (OTG_DIEPTSIZ0) | 2691 |
| 57.14.57 | OTG device IN endpoint x DMA address register (OTG_DIEPDMAX) | 2691 |
| 57.14.58 | OTG device IN endpoint transmit FIFO status register (OTG_DTXFSTSx) | 2692 |
| 57.14.59 | OTG device IN endpoint x transfer size register (OTG_DIEPTSIZx) | 2692 |
| 57.14.60 | OTG device control OUT endpoint 0 control register (OTG_DOEPCTL0) | 2693 |
| 57.14.61 | OTG device OUT endpoint x interrupt register (OTG_DOEPINTx) | 2695 |
| 57.14.62 | OTG device OUT endpoint 0 transfer size register (OTG_DOEPTSIZ0) | 2697 |
| 57.14.63 | OTG device OUT endpoint x DMA address register (OTG_DOEPDMAX) | 2698 |
| 57.14.64 | OTG device OUT endpoint x control register (OTG_DOEPCTLx) | 2698 |
| 57.14.65 | OTG device OUT endpoint x transfer size register (OTG_DOEPTSIZx) | 2701 |
| 57.14.66 | OTG power and clock gating control register (OTG_PCGCCTL) | 2702 |
| 57.14.67 | OTG_HS register map | 2703 |
| 57.15 | OTG_HS programming model | 2715 |
| 57.15.1 | Core initialization | 2715 |
| 57.15.2 | Host initialization | 2716 |
| 57.15.3 | Device initialization | 2717 |
| 57.15.4 | DMA mode | 2717 |
| 57.15.5 | Host programming model | 2718 |
| 57.15.6 | Device programming model | 2750 |
| 57.15.7 | Worst case response time | 2770 |
| 57.15.8 | OTG programming model | 2772 |
| 58 | Ethernet (ETH): media access control (MAC) with DMA controller . . . . . | 2778 |
| 58.1 | Ethernet introduction . . . . . | 2778 |
| 58.2 | Ethernet main features . . . . . | 2778 |
| 58.2.1 | Standard compliance . . . . . | 2778 |
| 58.2.2 | MAC features . . . . . | 2778 |
| 58.2.3 | Transaction layer (MTL) features . . . . . | 2780 |
| 58.2.4 | DMA block features . . . . . | 2781 |
| 58.2.5 | Bus interface features . . . . . | 2781 |
| 58.3 | Ethernet pins and internal signals . . . . . | 2782 |
| 58.4 | Ethernet architecture . . . . . | 2783 |
| 58.4.1 | DMA controller . . . . . | 2784 |
| 58.4.2 | MTL . . . . . | 2793 |
| 58.4.3 | MAC . . . . . | 2793 |
| 58.5 | )Ethernet functional description: MAC . . . . . | 2798 |
| 58.5.1 | Double VLAN processing . . . . . | 2798 |
| 58.5.2 | Source address and VLAN insertion, replacement, or deletion . . . . . | 2799 |
| 58.5.3 | Packet filtering . . . . . | 2801 |
| 58.5.4 | IEEE 1588 timestamp support . . . . . | 2807 |
| 58.5.5 | Checksum offload engine . . . . . | 2832 |
| 58.5.6 | TCP segmentation offload . . . . . | 2838 |
| 58.5.7 | IPv4 ARP offload . . . . . | 2844 |
| 58.5.8 | Loopback . . . . . | 2845 |
| 58.5.9 | Flow control . . . . . | 2846 |
| 58.5.10 | MAC management counters . . . . . | 2849 |
| 58.5.11 | Interrupts generated by the MAC . . . . . | 2851 |
| 58.5.12 | MAC and MMC register descriptions . . . . . | 2851 |
| 58.6 | Ethernet functional description: PHY interfaces . . . . . | 2852 |
| 58.6.1 | Station management agent (SMA) . . . . . | 2852 |
| 58.6.2 | Media independent interface (MII) . . . . . | 2859 |
| 58.6.3 | Reduced media independent interface (RMII) . . . . . | 2860 |
| 58.7 | Ethernet low-power modes . . . . . | 2864 |
| 58.7.1 | Low-power management . . . . . | 2864 |
| 58.7.2 | Energy Efficient Ethernet (EEE) . . . . . | 2870 |
| 58.8 | Ethernet interrupts . . . . . | 2875 |
| 58.8.1 | DMA interrupts . . . . . | 2875 |
- 58.8.2 MTL interrupts . . . . . 2876
- 58.8.3 MAC Interrupts . . . . . 2877
- 58.9 Ethernet programming model . . . . . 2878
- 58.9.1 DMA initialization . . . . . 2878
- 58.9.2 MTL initialization . . . . . 2879
- 58.9.3 MAC initialization . . . . . 2879
- 58.9.4 Performing normal receive and transmit operation . . . . . 2880
- 58.9.5 Stopping and starting transmission . . . . . 2881
- 58.9.6 Programming guidelines for switching to new descriptor list in RxDMA . . . . . 2881
- 58.9.7 Programming guidelines for switching the AHB clock frequency . . . . . 2881
- 58.9.8 Programming guidelines for MII link state transitions . . . . . 2882
- 58.9.9 Programming guidelines for IEEE 1588 timestamping . . . . . 2883
- 58.9.10 Programming guidelines for PTP offload feature . . . . . 2884
- 58.9.11 Programming guidelines for Energy Efficient Ethernet (EEE) . . . . . 2888
- 58.9.12 Programming guidelines for flexible pulse-per-second (PPS) output . . . . . 2890
- 58.9.13 Programming guidelines for TSO . . . . . 2892
- 58.9.14 Programming guidelines to perform VLAN filtering on the receive . . . . . 2893
- 58.10 Descriptors . . . . . 2893
- 58.10.1 Descriptor overview . . . . . 2893
- 58.10.2 Descriptor structure . . . . . 2894
- 58.10.3 Transmit descriptor . . . . . 2896
- 58.10.4 Receive descriptor . . . . . 2909
- 58.11 Ethernet registers . . . . . 2921
- 58.11.1 Ethernet register maps . . . . . 2921
- 58.11.2 Ethernet DMA registers . . . . . 2921
- 58.11.3 Ethernet MTL registers . . . . . 2947
- 58.11.4 Ethernet MAC and MMC registers . . . . . 2959
- 59 HDMI-CEC controller (CEC) . . . . . 3056
- 59.1 HDMI-CEC introduction . . . . . 3056
- 59.2 HDMI-CEC controller main features . . . . . 3056
- 59.3 HDMI-CEC functional description . . . . . 3057
- 59.3.1 HDMI-CEC pin and internal signals . . . . . 3057
- 59.3.2 HDMI-CEC block diagram . . . . . 3058
- 59.3.3 Message description . . . . . 3058
- 59.3.4 Bit timing . . . . . 3059
| 59.4 | Arbitration . . . . . | 3059 |
| 59.4.1 | SFT option bit . . . . . | 3061 |
| 59.5 | Error handling . . . . . | 3061 |
| 59.5.1 | Bit error . . . . . | 3061 |
| 59.5.2 | Message error . . . . . | 3062 |
| 59.5.3 | Bit rising error (BRE) . . . . . | 3062 |
| 59.5.4 | Short bit period error (SBPE) . . . . . | 3062 |
| 59.5.5 | Long bit period error (LBPE) . . . . . | 3062 |
| 59.5.6 | Transmission error detection (TXERR) . . . . . | 3064 |
| 59.6 | HDMI-CEC interrupts . . . . . | 3065 |
| 59.7 | HDMI-CEC registers . . . . . | 3066 |
| 59.7.1 | CEC control register (CEC_CR) . . . . . | 3066 |
| 59.7.2 | CEC configuration register (CEC_CFGR) . . . . . | 3067 |
| 59.7.3 | CEC Tx data register (CEC_TXDR) . . . . . | 3069 |
| 59.7.4 | CEC Rx data register (CEC_RXDR) . . . . . | 3069 |
| 59.7.5 | CEC interrupt and status register (CEC_ISR) . . . . . | 3069 |
| 59.7.6 | CEC interrupt enable register (CEC_IER) . . . . . | 3071 |
| 59.7.7 | HDMI-CEC register map . . . . . | 3073 |
| 60 | Debug infrastructure . . . . . | 3074 |
| 60.1 | Introduction . . . . . | 3074 |
| 60.2 | Debug infrastructure features . . . . . | 3075 |
| 60.3 | Debug infrastructure functional description . . . . . | 3075 |
| 60.3.1 | Debug infrastructure block diagram . . . . . | 3075 |
| 60.3.2 | Debug infrastructure pins and internal signals . . . . . | 3076 |
| 60.3.3 | Debug infrastructure powering, clocking and reset . . . . . | 3077 |
| 60.4 | Debug access port functional description . . . . . | 3079 |
| 60.4.1 | Serial-wire and JTAG debug port (SWJ-DP) . . . . . | 3079 |
| 60.4.2 | Access ports . . . . . | 3093 |
| 60.5 | Trace and debug subsystem functional description . . . . . | 3099 |
| 60.5.1 | System ROM tables . . . . . | 3099 |
| 60.5.2 | Global timestamp generator (TSG) . . . . . | 3108 |
| 60.5.3 | Cross trigger interfaces (CTI) and matrix (CTM) . . . . . | 3115 |
| 60.5.4 | Trace funnel (CSTF) . . . . . | 3135 |
| 60.5.5 | Embedded trace FIFO (ETF) . . . . . | 3145 |
| 60.5.6 | Trace port interface unit (TPIU) . . . . . | 3167 |
| 60.5.7 | Serial wire output (SWO) and SWO trace funnel (SWTF) . . . . . | 3185 |
| 60.5.8 | Microcontroller debug unit (DBGMCU) . . . . . | 3208 |
| 60.6 | Cortex-M7 debug functional description . . . . . | 3214 |
| 60.6.1 | Cortex-M7 ROM tables . . . . . | 3215 |
| 60.6.2 | Cortex-M7 data watchpoint and trace unit (DWT) . . . . . | 3227 |
| 60.6.3 | Cortex-M7 instrumentation trace macrocell (ITM) . . . . . | 3240 |
| 60.6.4 | Cortex-M7 breakpoint unit (FPB) . . . . . | 3249 |
| 60.6.5 | Cortex-M7 embedded trace macrocell (ETM) . . . . . | 3257 |
| 60.6.6 | Cortex-M7 cross trigger interface (CTI) . . . . . | 3289 |
| 60.7 | References for debug infrastructure . . . . . | 3289 |
| 61 | Device electronic signature . . . . . | 3290 |
| 61.1 | Unique device ID register (96 bits) . . . . . | 3290 |
| 61.2 | Flash size . . . . . | 3292 |
| 61.3 | Package data register . . . . . | 3292 |
| 62 | Important security notice . . . . . | 3293 |
| 63 | Revision history . . . . . | 3294 |
List of tables
| Table 1. | Peripherals versus products . . . . . | 102 |
| Table 2. | Availability of security features . . . . . | 103 |
| Table 3. | Bus-master-to-bus-slave interconnect . . . . . | 104 |
| Table 4. | ASIB configuration . . . . . | 110 |
| Table 5. | AMIB configuration . . . . . | 111 |
| Table 6. | AXI interconnect register map and reset values . . . . . | 121 |
| Table 7. | Memory map and default device memory area attributes . . . . . | 130 |
| Table 8. | Register boundary addresses . . . . . | 132 |
| Table 9. | Boot modes . . . . . | 138 |
| Table 10. | RAMECC internal input/output signals . . . . . | 142 |
| Table 11. | ECC controller mapping . . . . . | 142 |
| Table 12. | RAMECC register map and reset values . . . . . | 147 |
| Table 13. | FLASH internal input/output signals . . . . . | 150 |
| Table 14. | Flash memory organization on STM32H750xB devices . . . . . | 153 |
| Table 15. | Flash memory organization on STM32H742xl/743xl/753xl devices . . . . . | 153 |
| Table 16. | Flash memory organization on STM32H742xG/743xG devices . . . . . | 154 |
| Table 17. | FLASH recommended number of wait states and programming delay . . . . . | 160 |
| Table 18. | FLASH parallelism parameter . . . . . | 164 |
| Table 19. | FLASH AXI interface memory map vs swapping option . . . . . | 170 |
| Table 20. | Flash register map vs swapping option . . . . . | 172 |
| Table 21. | Option byte organization . . . . . | 177 |
| Table 22. | Flash interface register protection summary . . . . . | 183 |
| Table 23. | RDP value vs readout protection level . . . . . | 184 |
| Table 24. | Protection vs RDP Level . . . . . | 186 |
| Table 25. | RDP transition and its effects . . . . . | 187 |
| Table 26. | Effect of low-power modes on the embedded flash memory . . . . . | 191 |
| Table 27. | Flash interrupt request . . . . . | 199 |
| Table 28. | Register map and reset value table . . . . . | 241 |
| Table 29. | List of preferred terms . . . . . | 246 |
| Table 30. | RSS API addresses . . . . . | 250 |
| Table 31. | Summary of flash protected areas access rights . . . . . | 252 |
| Table 32. | PWR input/output signals connected to package pins or balls . . . . . | 256 |
| Table 33. | PWR internal input/output signals . . . . . | 256 |
| Table 34. | Supply configuration control . . . . . | 260 |
| Table 35. | Low-power mode summary . . . . . | 278 |
| Table 36. | PDDS_Dn low-power mode control . . . . . | 282 |
| Table 37. | Low-power exit mode flags . . . . . | 284 |
| Table 38. | CSleep mode . . . . . | 293 |
| Table 39. | CStop mode . . . . . | 294 |
| Table 40. | DStop mode overview . . . . . | 295 |
| Table 41. | DStop mode . . . . . | 296 |
| Table 42. | Stop mode operation . . . . . | 297 |
| Table 43. | Stop mode . . . . . | 298 |
| Table 44. | DStandby mode . . . . . | 299 |
| Table 45. | Standby and Stop flags . . . . . | 301 |
| Table 46. | Standby mode . . . . . | 301 |
| Table 47. | Low-power modes monitoring pin overview . . . . . | 302 |
| Table 48. | GPIO state according to CPU and domain state . . . . . | 302 |
| Table 49. | Power control register map and reset values . . . . . | 312 |
| Table 50. | BDMA and DMAMUX2 initialization sequence (DMAMUX2_INIT) . . . . . | 320 |
| Table 51. | LPUART1 Initial programming (LPUART1_INIT) . . . . . | 322 |
| Table 52. | LPUART1 start programming (LPUART1_Start) . . . . . | 322 |
| Table 53. | RCC input/output signals connected to package pins or balls . . . . . | 326 |
| Table 54. | RCC internal input/output signals . . . . . | 327 |
| Table 55. | Reset distribution summary . . . . . | 330 |
| Table 56. | Reset source identification (RCC_RSR) . . . . . | 332 |
| Table 57. | Ratio between clock timer and pclk . . . . . | 350 |
| Table 58. | STOPWUCK and STOPKERWUCK description . . . . . | 351 |
| Table 59. | HSIKERON and CSIKERON behavior . . . . . | 352 |
| Table 60. | Kernel clock distribution overview . . . . . | 354 |
| Table 61. | System states overview . . . . . | 369 |
| Table 62. | Peripheral clock enabling for D1 and D2 peripherals . . . . . | 375 |
| Table 63. | Peripheral clock enabling for D3 peripherals . . . . . | 376 |
| Table 64. | Interrupt sources and control . . . . . | 380 |
| Table 65. | RCC_RSR address offset and reset value . . . . . | 449 |
| Table 66. | RCC_AHB3ENR address offset and reset value . . . . . | 451 |
| Table 67. | RCC_AHB1ENR address offset and reset value . . . . . | 453 |
| Table 68. | RCC_AHB2ENR address offset and reset value . . . . . | 455 |
| Table 69. | RCC_AHB4ENR address offset and reset value . . . . . | 457 |
| Table 70. | RCC_APB3ENR address offset and reset value . . . . . | 460 |
| Table 71. | RCC_APB1ENR address offset and reset value . . . . . | 461 |
| Table 72. | RCC_APB1ENR address offset and reset value . . . . . | 465 |
| Table 73. | RCC_APB2ENR address offset and reset value . . . . . | 467 |
| Table 74. | RCC_APB4ENR address offset and reset value . . . . . | 470 |
| Table 75. | RCC_AHB3LPENR address offset and reset value . . . . . | 473 |
| Table 76. | RCC_AHB1LPENR address offset and reset value . . . . . | 475 |
| Table 77. | RCC_AHB2LPENR address offset and reset value . . . . . | 477 |
| Table 78. | RCC_AHB4LPENR address offset and reset value . . . . . | 479 |
| Table 79. | RCC_APB3LPENR address offset and reset value . . . . . | 482 |
| Table 80. | RCC_APB1LLPENR address offset and reset value . . . . . | 483 |
| Table 81. | RCC_APB1HLPENR address offset and reset value . . . . . | 487 |
| Table 82. | RCC_APB2LPENR address offset and reset value . . . . . | 489 |
| Table 83. | RCC_APB4LPENR address offset and reset value . . . . . | 492 |
| Table 84. | RCC register map and reset values . . . . . | 495 |
| Table 85. | CRS features . . . . . | 505 |
| Table 86. | CRS internal input/output signals . . . . . | 506 |
| Table 87. | Effect of low-power modes on CRS . . . . . | 510 |
| Table 88. | Interrupt control bits . . . . . | 510 |
| Table 89. | CRS register map and reset values . . . . . | 515 |
| Table 90. | HSEM internal input/output signals . . . . . | 518 |
| Table 91. | Authorized AHB bus master ID . . . . . | 523 |
| Table 92. | HSEM register map and reset values . . . . . | 529 |
| Table 93. | Port bit configuration table . . . . . | 532 |
| Table 94. | GPIO register map and reset values . . . . . | 546 |
| Table 95. | SYSCFG register map and reset values . . . . . | 572 |
| Table 96. | Peripherals interconnect matrix (D2 domain) . . . . . | 576 |
| Table 97. | Peripherals interconnect matrix (D3 domain) . . . . . | 577 |
| Table 98. | Peripherals interconnect matrix details . . . . . | 578 |
| Table 99. | EXTI wakeup inputs . . . . . | 595 |
| Table 100. | EXTI pending requests clear inputs . . . . . | 598 |
| Table 101. | MDMA | 600 |
| Table 102. | DMAMUX1, DMA1 and DMA2 connections | 602 |
| Table 103. | DMAMUX2 and BDMA connections | 607 |
| Table 104. | MDMA internal input/output signals | 612 |
| Table 105. | MDMA interrupt requests | 618 |
| Table 106. | MDMA register map and reset values | 634 |
| Table 107. | DMA internal input/output signals | 637 |
| Table 108. | Source and destination address | 639 |
| Table 109. | Source and destination address registers in double-buffer mode (DBM = 1) | 645 |
| Table 110. | Packing/unpacking and endian behavior (bit PINC = MINC = 1) | 646 |
| Table 111. | Restriction on NDT versus PSIZE and MSIZE | 646 |
| Table 112. | FIFO threshold configurations | 649 |
| Table 113. | Possible DMA configurations | 653 |
| Table 114. | DMA interrupt requests | 655 |
| Table 115. | DMA register map and reset values | 665 |
| Table 116. | BDMA implementation | 670 |
| Table 117. | BDMA internal input/output signals | 671 |
| Table 118. | Programmable data width and endian behavior (when PINC = MINC = 1) | 677 |
| Table 119. | BDMA interrupt requests | 679 |
| Table 120. | BDMA register map and reset values | 689 |
| Table 121. | DMAMUX1 and DMAMUX2 instantiation | 693 |
| Table 122. | DMAMUX1: assignment of multiplexer inputs to resources | 694 |
| Table 123. | DMAMUX1: assignment of multiplexer inputs to resources | 695 |
| Table 124. | DMAMUX1: assignment of trigger inputs to resources | 696 |
| Table 125. | DMAMUX1: assignment of synchronization inputs to resources | 696 |
| Table 126. | DMAMUX2: assignment of multiplexer inputs to resources | 697 |
| Table 127. | DMAMUX2: assignment of trigger inputs to resources | 697 |
| Table 128. | DMAMUX2: assignment of synchronization inputs to resources | 698 |
| Table 129. | DMAMUX signals | 700 |
| Table 130. | DMAMUX interrupts | 704 |
| Table 131. | DMAMUX register map and reset values | 713 |
| Table 132. | DMA2D internal input/output signals | 717 |
| Table 133. | Supported color mode in input | 718 |
| Table 134. | Data order in memory | 719 |
| Table 135. | Alpha mode configuration | 720 |
| Table 136. | Supported CLUT color mode | 721 |
| Table 137. | CLUT data order in memory | 721 |
| Table 138. | Supported color mode in output | 722 |
| Table 139. | Data order in memory | 722 |
| Table 140. | Standard data order in memory | 723 |
| Table 141. | Output FIFO byte reordering steps | 724 |
| Table 142. | MCU order in memory | 729 |
| Table 143. | DMA2D interrupt requests | 730 |
| Table 144. | DMA2D register map and reset values | 747 |
| Table 145. | NVIC | 750 |
| Table 146. | EXTI Event input configurations and register control | 760 |
| Table 147. | Configurable Event input Asynchronous Edge detector reset | 762 |
| Table 148. | EXTI Event input mapping | 767 |
| Table 149. | Masking functionality | 769 |
| Table 150. | Asynchronous interrupt/event controller register map and reset values | 787 |
| Table 151. | CRC internal input/output signals | 791 |
| Table 152. | CRC register map and reset values | 796 |
| Table 153. | FMC pins . . . . . | 800 |
| Table 154. | FMC bank mapping options . . . . . | 803 |
| Table 155. | NOR/PSRAM bank selection . . . . . | 803 |
| Table 156. | NOR/PSRAM External memory address . . . . . | 803 |
| Table 157. | NAND memory mapping and timing registers. . . . . | 804 |
| Table 158. | NAND bank selection . . . . . | 804 |
| Table 159. | SDRAM bank selection. . . . . | 804 |
| Table 160. | SDRAM address mapping . . . . . | 805 |
| Table 161. | SDRAM address mapping with 8-bit data bus width. . . . . | 805 |
| Table 162. | SDRAM address mapping with 16-bit data bus width. . . . . | 806 |
| Table 163. | SDRAM address mapping with 32-bit data bus width. . . . . | 807 |
| Table 164. | Programmable NOR/PSRAM access parameters . . . . . | 809 |
| Table 165. | Non-multiplexed I/O NOR flash memory. . . . . | 809 |
| Table 166. | 16-bit multiplexed I/O NOR flash memory . . . . . | 810 |
| Table 167. | Non-multiplexed I/Os PSRAM/SRAM . . . . . | 810 |
| Table 168. | 16-Bit multiplexed I/O PSRAM . . . . . | 810 |
| Table 169. | NOR flash/PSRAM: Example of supported memories and transactions . . . . . | 811 |
| Table 170. | FMC_BCRx bitfields (mode 1) . . . . . | 814 |
| Table 171. | FMC_BTRx bitfields (mode 1) . . . . . | 815 |
| Table 172. | FMC_BCRx bitfields (mode A) . . . . . | 817 |
| Table 173. | FMC_BTRx bitfields (mode A) . . . . . | 818 |
| Table 174. | FMC_BWTRx bitfields (mode A). . . . . | 818 |
| Table 175. | FMC_BCRx bitfields (mode 2/B). . . . . | 820 |
| Table 176. | FMC_BTRx bitfields (mode 2/B). . . . . | 821 |
| Table 177. | FMC_BWTRx bitfields (mode 2/B) . . . . . | 821 |
| Table 178. | FMC_BCRx bitfields (mode C) . . . . . | 823 |
| Table 179. | FMC_BTRx bitfields (mode C) . . . . . | 824 |
| Table 180. | FMC_BWTRx bitfields (mode C). . . . . | 824 |
| Table 181. | FMC_BCRx bitfields (mode D) . . . . . | 826 |
| Table 182. | FMC_BTRx bitfields (mode D) . . . . . | 826 |
| Table 183. | FMC_BWTRx bitfields (mode D). . . . . | 827 |
| Table 184. | FMC_BCRx bitfields (Muxed mode) . . . . . | 829 |
| Table 185. | FMC_BTRx bitfields (Muxed mode) . . . . . | 829 |
| Table 186. | FMC_BCRx bitfields (Synchronous multiplexed read mode) . . . . . | 835 |
| Table 187. | FMC_BTRx bitfields (Synchronous multiplexed read mode) . . . . . | 835 |
| Table 188. | FMC_BCRx bitfields (Synchronous multiplexed write mode) . . . . . | 836 |
| Table 189. | FMC_BTRx bitfields (Synchronous multiplexed write mode) . . . . . | 837 |
| Table 190. | Programmable NAND flash access parameters . . . . . | 847 |
| Table 191. | 8-bit NAND flash memory . . . . . | 847 |
| Table 192. | 16-bit NAND flash memory . . . . . | 848 |
| Table 193. | Supported memories and transactions . . . . . | 848 |
| Table 194. | ECC result relevant bits . . . . . | 858 |
| Table 195. | SDRAM signals. . . . . | 859 |
| Table 196. | FMC register map . . . . . | 876 |
| Table 197. | QUADSPI internal signals. . . . . | 880 |
| Table 198. | QUADSPI pins . . . . . | 880 |
| Table 199. | QUADSPI interrupt requests. . . . . | 894 |
| Table 200. | QUADSPI register map and reset values . . . . . | 906 |
| Table 201. | DLYB internal input/output signals . . . . . | 908 |
| Table 202. | Delay block control . . . . . | 908 |
| Table 203. | DLYB register map and reset values . . . . . | 911 |
| Table 204. | ADC features . . . . . | 914 |
| Table 205. | ADC input/output pins . . . . . | 916 |
| Table 206. | ADC internal input/output signals . . . . . | 916 |
| Table 207. | ADC interconnection . . . . . | 917 |
| Table 208. | Configuring the trigger polarity for regular external triggers . . . . . | 938 |
| Table 209. | Configuring the trigger polarity for injected external triggers . . . . . | 938 |
| Table 210. | ADC1, ADC2 and ADC3 - External triggers for regular channels . . . . . | 939 |
| Table 211. | ADC1, ADC2 and ADC3 - External triggers for injected channels . . . . . | 940 |
| Table 212. | TSAR timings depending on resolution . . . . . | 952 |
| Table 213. | Offset computation versus data resolution . . . . . | 955 |
| Table 214. | 16-bit data formats . . . . . | 958 |
| Table 215. | Numerical examples for 16-bit format (bold indicates saturation) . . . . . | 958 |
| Table 216. | Analog watchdog channel selection . . . . . | 967 |
| Table 217. | Analog watchdog 1,2,3 comparison . . . . . | 968 |
| Table 218. | Oversampler operating modes summary . . . . . | 976 |
| Table 219. | ADC interrupts per each ADC . . . . . | 995 |
| Table 220. | DELAY bits versus ADC resolution . . . . . | 1037 |
| Table 221. | ADC global register map . . . . . | 1040 |
| Table 222. | ADC register map and reset values for each ADC (offset=0x000 for master ADC, 0x100 for slave ADC) . . . . . | 1040 |
| Table 223. | ADC register map and reset values (master and slave ADC common registers) offset =0x300) . . . . . | 1043 |
| Table 224. | DAC features . . . . . | 1045 |
| Table 225. | DAC input/output pins . . . . . | 1047 |
| Table 226. | DAC internal input/output signals . . . . . | 1047 |
| Table 227. | DAC interconnection . . . . . | 1048 |
| Table 228. | Sample and refresh timings . . . . . | 1055 |
| Table 229. | Channel output modes summary . . . . . | 1056 |
| Table 230. | Effect of low-power modes on DAC . . . . . | 1062 |
| Table 231. | DAC interrupts . . . . . | 1063 |
| Table 232. | DAC register map and reset values . . . . . | 1079 |
| Table 233. | VREF buffer modes . . . . . | 1081 |
| Table 234. | VREFBUF register map and reset values . . . . . | 1083 |
| Table 235. | COMP input/output internal signals . . . . . | 1086 |
| Table 236. | COMP input/output pins . . . . . | 1086 |
| Table 237. | COMP1_OUT assignment to GPIOs . . . . . | 1089 |
| Table 238. | COMP2_OUT assignment to GPIOs . . . . . | 1089 |
| Table 239. | Comparator behavior in the low-power modes . . . . . | 1091 |
| Table 240. | Interrupt control bits . . . . . | 1091 |
| Table 241. | Interrupt control bits . . . . . | 1092 |
| Table 242. | COMP register map and reset values . . . . . | 1099 |
| Table 243. | Operational amplifier possible connections . . . . . | 1101 |
| Table 244. | Operating modes and calibration . . . . . | 1108 |
| Table 245. | Effect of low-power modes on the OPAMP . . . . . | 1110 |
| Table 246. | OPAMP register map and reset values . . . . . | 1117 |
| Table 247. | DFSDM1 implementation . . . . . | 1120 |
| Table 248. | DFSDM external pins . . . . . | 1122 |
| Table 249. | DFSDM internal signals . . . . . | 1122 |
| Table 250. | DFSDM triggers connection . . . . . | 1122 |
| Table 251. | DFSDM break connection . . . . . | 1123 |
| Table 252. | Filter maximum output resolution (peak data values from filter output) for some FOSR values . . . . . | 1138 |
| Table 253. | Integrator maximum output resolution (peak data values from integrator output) for some IOSR values and FOSR = 256 and Sinc3 filter type (largest data) . . . | 1139 |
| Table 254. | DFSDM interrupt requests . . . . . | 1147 |
| Table 255. | DFSDM register map and reset values. . . . . | 1167 |
| Table 256. | DCMI input/output pins . . . . . | 1178 |
| Table 257. | DCMI internal input/output signals . . . . . | 1178 |
| Table 258. | Positioning of captured data bytes in 32-bit words (8-bit width) . . . . . | 1180 |
| Table 259. | Positioning of captured data bytes in 32-bit words (10-bit width) . . . . . | 1180 |
| Table 260. | Positioning of captured data bytes in 32-bit words (12-bit width) . . . . . | 1180 |
| Table 261. | Positioning of captured data bytes in 32-bit words (14-bit width) . . . . . | 1181 |
| Table 262. | Data storage in monochrome progressive video format. . . . . | 1186 |
| Table 263. | Data storage in RGB progressive video format . . . . . | 1187 |
| Table 264. | Data storage in YCbCr progressive video format . . . . . | 1187 |
| Table 265. | Data storage in YCbCr progressive video format - Y extraction mode . . . . . | 1188 |
| Table 266. | DCMI interrupts. . . . . | 1188 |
| Table 267. | DCMI register map and reset values . . . . . | 1198 |
| Table 268. | LTDC external pins . . . . . | 1201 |
| Table 269. | LTDC internal signals . . . . . | 1202 |
| Table 270. | Clock domain for each register . . . . . | 1202 |
| Table 271. | LTDC register access and update durations . . . . . | 1203 |
| Table 272. | Pixel data mapping versus color format . . . . . | 1207 |
| Table 273. | LTDC interrupt requests . . . . . | 1211 |
| Table 274. | LTDC register map and reset values . . . . . | 1228 |
| Table 275. | JPEG internal signals . . . . . | 1232 |
| Table 276. | JPEG codec interrupt requests . . . . . | 1236 |
| Table 277. | JPEG codec register map and reset values . . . . . | 1249 |
| Table 278. | RNG internal input/output signals . . . . . | 1252 |
| Table 279. | RNG interrupt requests . . . . . | 1258 |
| Table 280. | RNG register map and reset map. . . . . | 1262 |
| Table 281. | CRYP internal input/output signals. . . . . | 1266 |
| Table 282. | Counter mode initialization vector. . . . . | 1291 |
| Table 283. | GCM last block definition . . . . . | 1294 |
| Table 284. | GCM mode IV registers initialization. . . . . | 1294 |
| Table 285. | CCM mode IV registers initialization. . . . . | 1301 |
| Table 286. | DES/TDES data swapping example. . . . . | 1305 |
| Table 287. | AES data swapping example . . . . . | 1306 |
| Table 288. | Key endianness in CRYP_KxR/LR registers (AES 128/192/256-bit keys) . . . . . | 1308 |
| Table 289. | Key endianness in CRYP_KxR/LR registers (DES K1 and TDES K1/2/3) . . . . . | 1308 |
| Table 290. | Initialization vector endianness in CRYP_IVx(L/R)R registers (AES) . . . . . | 1309 |
| Table 291. | Initialization vector endianness in CRYP_IVx(L/R)R registers (DES/TDES) . . . . . | 1309 |
| Table 292. | Cryptographic processor configuration for memory-to-peripheral DMA transfers . . . . . | 1309 |
| Table 293. | Cryptographic processor configuration for peripheral-to-memory DMA transfers . . . . . | 1310 |
| Table 294. | CRYP interrupt requests. . . . . | 1312 |
| Table 295. | Processing latency for ECB, CBC and CTR. . . . . | 1313 |
| Table 296. | Processing time (in clock cycle) for GCM and CCM per 128-bit block . . . . . | 1313 |
| Table 297. | CRYP register map and reset values . . . . . | 1327 |
| Table 298. | HASH internal input/output signals. . . . . | 1332 |
| Table 299. | Hash processor outputs . . . . . | 1335 |
| Table 300. | HASH interrupt requests. . . . . | 1342 |
| Table 301. | Processing time (in clock cycle) . . . . . | 1342 |
| Table 302. | HASH register map and reset values . . . . . | 1350 |
| Table 303. | HRTIM Input/output summary. . . . . | 1356 |
| Table 304. | Timer resolution and min. PWM frequency for \( f_{HRTIM} = 400 \) MHz . . . . . | 1358 |
| Table 305. | Period and Compare registers min and max values . . . . . | 1360 |
| Table 306. | Timer operating modes. . . . . | 1361 |
| Table 307. | Events mapping across Timer A to E . . . . . | 1366 |
| Table 308. | Deadtime resolution and max absolute values . . . . . | 1374 |
| Table 309. | External events mapping and associated features . . . . . | 1381 |
| Table 310. | Output set/reset latency and jitter vs external event operating mode. . . . . | 1382 |
| Table 311. | Filtering signals mapping per time . . . . . | 1385 |
| Table 312. | Windowing signals mapping per timer (EEFLTR[3:0] = 1111) . . . . . | 1387 |
| Table 313. | HRTIM preloadable control registers and associated update sources . . . . . | 1396 |
| Table 314. | Update enable inputs and sources . . . . . | 1397 |
| Table 315. | Master timer update event propagation . . . . . | 1399 |
| Table 316. | TIMx update event propagation . . . . . | 1399 |
| Table 317. | Reset events able to generate an update. . . . . | 1400 |
| Table 318. | Update event propagation for a timer reset . . . . . | 1401 |
| Table 319. | Output state programming, x= A..E, y = 1 or 2 . . . . . | 1402 |
| Table 320. | Timer output programming for burst mode . . . . . | 1405 |
| Table 321. | Burst mode clock sources from general purpose timer. . . . . | 1407 |
| Table 322. | Fault inputs . . . . . | 1415 |
| Table 323. | Sampling rate and filter length vs FLTFxF[3:0] and clock setting . . . . . | 1416 |
| Table 324. | Effect of sync event vs timer operating modes . . . . . | 1421 |
| Table 325. | HRTIM interrupt summary . . . . . | 1427 |
| Table 326. | HRTIM DMA request summary. . . . . | 1428 |
| Table 327. | RTIM global register map . . . . . | 1518 |
| Table 328. | HRTIM Register map and reset values: Master timer. . . . . | 1518 |
| Table 329. | HRTIM Register map and reset values: TIMx (x= A..E) . . . . . | 1520 |
| Table 330. | HRTIM Register map and reset values: Common functions. . . . . | 1524 |
| Table 331. | Behavior of timer outputs versus BRK/BRK2 inputs. . . . . | 1568 |
| Table 332. | Counting direction versus encoder signals . . . . . | 1575 |
| Table 333. | TIMx internal trigger connection . . . . . | 1592 |
| Table 334. | Output control bits for complementary OCx and OCxN channels with break feature . . . . . | 1606 |
| Table 335. | TIM1 register map and reset values . . . . . | 1626 |
| Table 336. | TIM8 register map and reset values . . . . . | 1628 |
| Table 337. | Counting direction versus encoder signals . . . . . | 1664 |
| Table 338. | TIMx internal trigger connection . . . . . | 1682 |
| Table 339. | Output control bit for standard OCx channels. . . . . | 1693 |
| Table 340. | TIM2/TIM3/TIM4/TIM5 register map and reset values . . . . . | 1705 |
| Table 341. | TIMx internal trigger connection . . . . . | 1736 |
| Table 342. | Output control bit for standard OCx channels. . . . . | 1744 |
| Table 343. | TIM12 register map and reset values . . . . . | 1747 |
| Table 344. | Output control bit for standard OCx channels. . . . . | 1756 |
| Table 345. | TIM13/TIM14 register map and reset values . . . . . | 1759 |
| Table 346. | TIMx Internal trigger connection . . . . . | 1803 |
| Table 347. | Output control bits for complementary OCx and OCxN channels with break feature (TIM15) . . . . . | 1813 |
| Table 348. | TIM15 register map and reset values . . . . . | 1822 |
| Table 349. | Output control bits for complementary OCx and OCxN channels with break feature (TIM16/17) . . . . . | 1834 |
| Table 350. | TIM16/TIM17 register map and reset values . . . . . | 1845 |
| Table 351. | TIMx register map and reset values . . . . . | 1859 |
| Table 352. | STM32H742, STM32H743/753 and STM32H750 LPTIM features . . . . . | 1861 |
| Table 353. | LPTIM input/output pins . . . . . | 1863 |
| Table 354. | LPTIM internal signals . . . . . | 1863 |
| Table 355. | LPTIM1 external trigger connection . . . . . | 1863 |
| Table 356. | LPTIM2 external trigger connection . . . . . | 1864 |
| Table 357. | LPTIM3 external trigger connection . . . . . | 1864 |
| Table 358. | LPTIM4 external trigger connection . . . . . | 1864 |
| Table 359. | LPTIM5 external trigger connection . . . . . | 1865 |
| Table 360. | LPTIM1 input 1 connection . . . . . | 1865 |
| Table 361. | LPTIM1 input 2 connection . . . . . | 1865 |
| Table 362. | LPTIM2 input 1 connection . . . . . | 1865 |
| Table 363. | LPTIM2 input 2 connection . . . . . | 1866 |
| Table 364. | LPTIM3 input 1 connection . . . . . | 1866 |
| Table 365. | Prescaler division ratios . . . . . | 1867 |
| Table 366. | Encoder counting scenarios . . . . . | 1874 |
| Table 367. | Effect of low-power modes on the LPTIM . . . . . | 1875 |
| Table 368. | Interrupt events . . . . . | 1876 |
| Table 369. | LPTIM register map and reset values . . . . . | 1887 |
| Table 370. | WWDG internal input/output signals . . . . . | 1889 |
| Table 371. | WWDG register map and reset values . . . . . | 1893 |
| Table 372. | IWDG internal input/output signals . . . . . | 1895 |
| Table 373. | IWDG register map and reset values . . . . . | 1903 |
| Table 374. | RTC pins and internal signals . . . . . | 1908 |
| Table 375. | RTC pin PC13 configuration . . . . . | 1908 |
| Table 376. | RTC_OUT mapping . . . . . | 1909 |
| Table 377. | RTC functions over modes . . . . . | 1910 |
| Table 378. | Effect of low-power modes on RTC . . . . . | 1922 |
| Table 379. | Interrupt control bits . . . . . | 1923 |
| Table 380. | RTC register map and reset values . . . . . | 1948 |
| Table 381. | STM32H742, STM32H743/753 and STM32H750 I2C implementation . . . . . | 1951 |
| Table 382. | I2C input/output pins . . . . . | 1953 |
| Table 383. | I2C internal input/output signals . . . . . | 1953 |
| Table 384. | Comparison of analog vs. digital filters . . . . . | 1955 |
| Table 385. | I2C-SMBus specification data setup and hold times . . . . . | 1957 |
| Table 386. | I2C configuration . . . . . | 1962 |
| Table 387. | I2C-SMBus specification clock timings . . . . . | 1973 |
| Table 388. | Examples of timing settings for f I2CCLK = 8 MHz . . . . . | 1983 |
| Table 389. | Examples of timing settings for f I2CCLK = 16 MHz . . . . . | 1983 |
| Table 390. | Examples of timing settings for f I2CCLK = 48 MHz . . . . . | 1984 |
| Table 391. | SMBus timeout specifications . . . . . | 1986 |
| Table 392. | SMBus with PEC configuration . . . . . | 1987 |
| Table 393. | Examples of TIMEOUTA settings (max t TIMEOUT = 25 ms) . . . . . | 1989 |
| Table 394. | Examples of TIMEOUTB settings . . . . . | 1989 |
| Table 395. | Examples of TIMEOUTA settings (max t IDLE = 50 µs) . . . . . | 1989 |
| Table 396. | Effect of low-power modes on the I2C . . . . . | 2000 |
| Table 397. | I2C Interrupt requests . . . . . | 2001 |
| Table 398. | I2C register map and reset values . . . . . | 2016 |
| Table 399. | USART / LPUART features . . . . . | 2020 |
| Table 400. | Noise detection from sampled data . . . . . | 2035 |
| Table 401. | Tolerance of the USART receiver when BRR [3:0] = 0000 . . . . . | 2038 |
| Table 402. | Tolerance of the USART receiver when BRR[3:0] is different from 0000 . . . . . | 2039 |
| Table 403. | USART frame formats . . . . . | 2044 |
| Table 404. | Effect of low-power modes on the USART . . . . . | 2067 |
| Table 405. | USART interrupt requests. . . . . | 2068 |
| Table 406. | USART register map and reset values . . . . . | 2103 |
| Table 407. | USART / LPUART features . . . . . | 2107 |
| Table 408. | Error calculation for programmed baud rates at lpuart_ker_ck_pres = 32.768 kHz . . . . . | 2118 |
| Table 409. | Error calculation for programmed baud rates at fCK = 100 MHz . . . . . | 2119 |
| Table 410. | Tolerance of the LPUART receiver. . . . . | 2120 |
| Table 412. | Effect of low-power modes on the LPUART . . . . . | 2131 |
| Table 413. | LPUART interrupt requests. . . . . | 2132 |
| Table 414. | LPUART register map and reset values . . . . . | 2156 |
| Table 415. | STM32H742xx, STM32H743/53xx and STM32H750xB SPI features . . . . . | 2159 |
| Table 416. | SPI wakeup and interrupt requests. . . . . | 2191 |
| Table 417. | Bitfields usable in PCM/I2S mode . . . . . | 2194 |
| Table 418. | WS and CK level before SPI/I2S is enabled when AFCNTR = 1 . . . . . | 2202 |
| Table 419. | Serial data line swapping . . . . . | 2202 |
| Table 420. | CLKGEN programming examples for usual I2S frequencies . . . . . | 2207 |
| Table 421. | I2S interrupt requests . . . . . | 2216 |
| Table 422. | SPI register map and reset values . . . . . | 2235 |
| Table 423. | STM32H743/753/745/755/747/757 SAI features . . . . . | 2238 |
| Table 424. | SAI internal input/output signals . . . . . | 2240 |
| Table 425. | SAI input/output pins. . . . . | 2240 |
| Table 426. | External synchronization selection . . . . . | 2242 |
| Table 427. | Clock generator programming examples . . . . . | 2250 |
| Table 428. | TDM settings. . . . . | 2257 |
| Table 429. | TDM frame configuration examples . . . . . | 2259 |
| Table 430. | SOPD pattern . . . . . | 2263 |
| Table 431. | Parity bit calculation . . . . . | 2263 |
| Table 432. | Audio sampling frequency versus symbol rates . . . . . | 2264 |
| Table 433. | SAI interrupt sources . . . . . | 2273 |
| Table 434. | SAI register map and reset values . . . . . | 2303 |
| Table 435. | SPDIFRX internal input/output signals . . . . . | 2306 |
| Table 436. | SPDIFRX pins. . . . . | 2306 |
| Table 437. | Transition sequence for preamble . . . . . | 2312 |
| Table 438. | Minimum spdifrx_ker_ck frequency versus audio sampling rate . . . . . | 2322 |
| Table 439. | Bit field property versus SPDIFRX state. . . . . | 2324 |
| Table 440. | SPDIFRX interface register map and reset values . . . . . | 2336 |
| Table 441. | SWPMI input/output signals connected to package pins or balls . . . . . | 2339 |
| Table 442. | SWPMI internal input/output signals. . . . . | 2340 |
| Table 443. | Effect of low-power modes on SWPMI . . . . . | 2354 |
| Table 444. | Interrupt control bits . . . . . | 2355 |
| Table 445. | Buffer modes selection for transmission/reception . . . . . | 2357 |
| Table 446. | SWPMI register map and reset values . . . . . | 2364 |
| Table 447. | MDIOS input/output signals connected to package pins or balls . . . . . | 2366 |
| Table 448. | MDIOS internal input/output signals . . . . . | 2366 |
| Table 449. | Interrupt control bits . . . . . | 2371 |
| Table 450. | MDIOS register map and reset values . . . . . | 2376 |
| Table 451. | SDMMC features . . . . . | 2378 |
| Table 452. | SDMMC operation modes SD and SDIO . . . . . | 2381 |
| Table 453. | SDMMC operation modes e•MMC . . . . . | 2381 |
| Table 454. | SDMMC internal input/output signals . . . . . | 2382 |
| Table 455. | SDMMC pins. . . . . | 2383 |
| Table 456. | SDMMC Command and data phase selection . . . . . | 2384 |
| Table 457. | Command token format . . . . . | 2390 |
| Table 458. | Short response with CRC token format . . . . . | 2391 |
| Table 459. | Short response without CRC token format . . . . . | 2391 |
| Table 460. | Long response with CRC token format . . . . . | 2391 |
| Table 461. | Specific Commands overview . . . . . | 2392 |
| Table 462. | Command path status flags . . . . . | 2393 |
| Table 463. | Command path error handling . . . . . | 2393 |
| Table 464. | Data token format . . . . . | 2401 |
| Table 465. | Data path status flags and clear bits . . . . . | 2401 |
| Table 466. | Data path error handling . . . . . | 2403 |
| Table 467. | Data FIFO access . . . . . | 2404 |
| Table 468. | Transmit FIFO status flags . . . . . | 2405 |
| Table 469. | Receive FIFO status flags . . . . . | 2406 |
| Table 470. | SDMMC connections to MDMA . . . . . | 2410 |
| Table 471. | AHB and SDMMC_CK clock frequency relation . . . . . | 2410 |
| Table 472. | SDIO special operation control . . . . . | 2411 |
| Table 473. | 4-bit mode Start, interrupt, and CRC-status Signaling detection . . . . . | 2415 |
| Table 474. | CMD12 use cases . . . . . | 2419 |
| Table 475. | SDMMC interrupts . . . . . | 2433 |
| Table 476. | Response type and SDMMC_RESPxR registers . . . . . | 2441 |
| Table 477. | SDMMC register map . . . . . | 2456 |
| Table 478. | CAN subsystem I/O signals . . . . . | 2459 |
| Table 479. | CAN subsystem I/O pins . . . . . | 2460 |
| Table 480. | Main features . . . . . | 2462 |
| Table 481. | DLC coding in FDCAN . . . . . | 2467 |
| Table 482. | Example of filter configuration for Rx buffers . . . . . | 2479 |
| Table 483. | Example of filter configuration for Debug messages . . . . . | 2480 |
| Table 484. | Possible configurations for frame transmission . . . . . | 2480 |
| Table 485. | Tx buffer/FIFO - queue element size . . . . . | 2481 |
| Table 486. | First byte of level 1 reference message . . . . . | 2491 |
| Table 487. | First four bytes of level 2 reference message . . . . . | 2492 |
| Table 488. | First four bytes of level 0 reference message . . . . . | 2492 |
| Table 489. | TUR configuration example . . . . . | 2493 |
| Table 490. | System matrix, Node A . . . . . | 2498 |
| Table 491. | Trigger list, Node A . . . . . | 2499 |
| Table 492. | Number of data bytes transmitted with a reference message . . . . . | 2506 |
| Table 493. | Rx buffer and FIFO element . . . . . | 2513 |
| Table 494. | Rx buffer and FIFO element description . . . . . | 2513 |
| Table 495. | Tx buffer and FIFO element . . . . . | 2515 |
| Table 496. | Tx buffer element description . . . . . | 2515 |
| Table 497. | Tx Event FIFO element . . . . . | 2517 |
| Table 498. | Tx Event FIFO element description . . . . . | 2517 |
| Table 499. | Standard message ID filter element . . . . . | 2518 |
| Table 500. | Standard message ID filter element field description . . . . . | 2519 |
| Table 501. | Extended message ID filter element . . . . . | 2520 |
| Table 502. | Extended message ID filter element field description . . . . . | 2520 |
| Table 503. | Trigger memory element . . . . . | 2521 |
| Table 504. | Trigger memory element description . . . . . | 2521 |
| Table 505. | FDCAN register map and reset values . . . . . | 2560 |
| Table 506. | FDCAN TT register map and reset values . . . . . | 2582 |
| Table 507. | CCU register map and reset values . . . . . | 2588 |
| Table 508. | OTG_HS speeds supported . . . . . | 2591 |
| Table 509. | OTG_HS implementation . . . . . | 2593 |
| Table 510. | OTG_FS input/output pins . . . . . | 2595 |
| Table 511. | OTG_HS input/output pins . . . . . | 2595 |
| Table 512. | OTG_HS input/output signals . . . . . | 2595 |
| Table 513. | Compatibility of STM32 low power modes with the OTG . . . . . | 2608 |
| Table 514. | Core global control and status registers (CSRs). . . . . | 2616 |
| Table 515. | Host-mode control and status registers (CSRs) . . . . . | 2617 |
| Table 516. | Device-mode control and status registers . . . . . | 2619 |
| Table 517. | Data FIFO (DFIFO) access register map . . . . . | 2621 |
| Table 518. | Power and clock gating control and status registers . . . . . | 2621 |
| Table 519. | TRDT values . . . . . | 2630 |
| Table 520. | Minimum duration for soft disconnect . . . . . | 2675 |
| Table 521. | OTG_HS register map and reset values . . . . . | 2703 |
| Table 522. | Ethernet peripheral pins . . . . . | 2782 |
| Table 523. | Ethernet internal input/output signals . . . . . | 2783 |
| Table 524. | Priority scheme for Tx DMA and Rx DMA . . . . . | 2792 |
| Table 525. | Double VLAN processing features in Tx path . . . . . | 2798 |
| Table 526. | Double VLAN processing in Rx path . . . . . | 2799 |
| Table 527. | VLAN insertion or replacement based on VLTi bit . . . . . | 2800 |
| Table 528. | Destination address filtering . . . . . | 2803 |
| Table 529. | Source address filtering . . . . . | 2804 |
| Table 530. | VLAN match status . . . . . | 2805 |
| Table 531. | Ordinary clock: PTP messages for snapshot . . . . . | 2808 |
| Table 532. | End-to-end transparent clock: PTP messages for snapshot . . . . . | 2809 |
| Table 533. | Peer-to-peer transparent clock: PTP messages for snapshot . . . . . | 2810 |
| Table 534. | Egress and ingress latency for PHY interfaces . . . . . | 2813 |
| Table 535. | Minimum PTP clock frequency example . . . . . | 2814 |
| Table 536. | Message format defined in IEEE 1588-2008 . . . . . | 2815 |
| Table 537. | Message format defined in IEEE 1588-2008 . . . . . | 2815 |
| Table 538. | IPv6-UDP PTP packet fields required for control and status . . . . . | 2816 |
| Table 539. | Ethernet PTP packet fields required for control and status . . . . . | 2817 |
| Table 540. | Timestamp Snapshot Dependency on ETH_MACTSCR bits . . . . . | 2819 |
| Table 541. | PTP message generation criteria . . . . . | 2825 |
| Table 542. | Common PTP message header fields . . . . . | 2827 |
| Table 543. | MAC Transmit PTP mode and one-step timestamping operation . . . . . | 2830 |
| Table 544. | Transmit checksum offload engine functions for different packet types . . . . . | 2835 |
| Table 545. | Receive checksum offload engine functions for different packet types . . . . . | 2837 |
| Table 546. | TSO: TCP and IP header fields . . . . . | 2841 |
| Table 547. | Pause packet fields . . . . . | 2846 |
| Table 548. | Tx MAC flow control . . . . . | 2847 |
| Table 549. | Rx MAC flow control . . . . . | 2847 |
| Table 550. | Size of the maximum receive packet . . . . . | 2850 |
| Table 551. | MCD clock selection . . . . . | 2853 |
| Table 552. | MDIO Clause 45 frame structure . . . . . | 2854 |
| Table 553. | MDIO Clause 22 frame structure . . . . . | 2855 |
| Table 554. | Remote wake-up packet filter register . . . . . | 2866 |
| Table 555. | Description of the remote wake-up filter fields . . . . . | 2867 |
| Table 556. | Remote wake-up packet and PMT interrupt generation . . . . . | 2868 |
| Table 557. | Transfer complete interrupt behavior . . . . . | 2876 |
| Table 558. | TDES0 normal descriptor (read format) . . . . . | 2896 |
| Table 559. | TDES1 normal descriptor (read format) . . . . . | 2897 |
| Table 560. | TDES2 normal descriptor (read format) . . . . . | 2897 |
| Table 561. | TDES3 normal descriptor (read format) . . . . . | 2898 |
| Table 562. | TDES0 normal descriptor (write-back format). . . . . | 2901 |
| Table 563. | TDES1 normal descriptor (write-back format). . . . . | 2901 |
| Table 564. | TDES2 normal descriptor (write-back format). . . . . | 2902 |
| Table 565. | TDES3 normal descriptor (write-back format). . . . . | 2902 |
| Table 566. | TDES0 context descriptor. . . . . | 2905 |
| Table 567. | TDES1 context descriptor. . . . . | 2906 |
| Table 568. | TDES2 context descriptor. . . . . | 2906 |
| Table 569. | TDES3 context descriptor. . . . . | 2906 |
| Table 570. | RDES0 normal descriptor (read format) . . . . . | 2910 |
| Table 571. | RDES1 normal descriptor (read format) . . . . . | 2910 |
| Table 572. | RDES2 normal descriptor (read format) . . . . . | 2910 |
| Table 573. | RDES3 normal descriptor (read format) . . . . . | 2911 |
| Table 574. | RDES0 normal descriptor (write-back format) . . . . . | 2912 |
| Table 575. | RDES1 normal descriptor (write-back format) . . . . . | 2913 |
| Table 576. | RDES2 normal descriptor (write-back format) . . . . . | 2915 |
| Table 577. | RDES3 normal descriptor (write-back format) . . . . . | 2916 |
| Table 578. | RDES0 context descriptor . . . . . | 2919 |
| Table 579. | RDES1 context descriptor . . . . . | 2920 |
| Table 580. | RDES2 context descriptor . . . . . | 2920 |
| Table 581. | RDES3 context descriptor . . . . . | 2920 |
| Table 582. | ETH_DMA common register map and reset values . . . . . | 2944 |
| Table 583. | ETH_DMA_CH register map and reset values . . . . . | 2944 |
| Table 584. | ETH_MTL register map and reset values . . . . . | 2957 |
| Table 585. | Giant Packet Status based on S2KP and JE Bits . . . . . | 2963 |
| Table 586. | Packet Length based on the CST and ACS bits . . . . . | 2963 |
| Table 587. | Ethernet MAC register map and reset values . . . . . | 3045 |
| Table 588. | HDMI pin . . . . . | 3057 |
| Table 589. | HDMI-CEC internal input/output signals . . . . . | 3057 |
| Table 590. | Error handling timing parameters . . . . . | 3063 |
| Table 591. | TXERR timing parameters . . . . . | 3064 |
| Table 592. | HDMI-CEC interrupts . . . . . | 3065 |
| Table 593. | HDMI-CEC register map and reset values . . . . . | 3073 |
| Table 594. | JTAG/Serial-wire debug port pins . . . . . | 3076 |
| Table 595. | Trace port pins . . . . . | 3076 |
| Table 596. | Serial-wire trace port pins . . . . . | 3076 |
| Table 597. | Trigger pins . . . . . | 3076 |
| Table 598. | Packet request . . . . . | 3080 |
| Table 599. | ACK response . . . . . | 3080 |
| Table 600. | Data transfer . . . . . | 3080 |
| Table 601. | JTAG-DP data registers . . . . . | 3083 |
| Table 602. | Debug port registers . . . . . | 3085 |
| Table 603. | MEM-AP registers . . . . . | 3095 |
| Table 604. | System ROM table 1 . . . . . | 3099 |
| Table 605. | System ROM table 2 . . . . . | 3100 |
| Table 606. | System ROM table 1 register map and reset values . . . . . | 3106 |
| Table 607. | System ROM table 2 register map and reset values . . . . . | 3107 |
| Table 608. | TSG register map and reset values . . . . . | 3115 |
| Table 609. | System CTI inputs . . . . . | 3116 |
| Table 610. | System CTI outputs . . . . . | 3117 |
| Table 611. | Cortex-M7 CTI inputs . . . . . | 3117 |
| Table 612. | Cortex-M7 CTI outputs . . . . . | 3118 |
| Table 613. | CTI register map and reset values . . . . . | 3133 |
| Table 614. | CSTF register map and reset values . . . . . | 3144 |
| Table 615. | ETF register map and reset values. . . . . | 3165 |
| Table 616. | TPIU register map and reset values . . . . . | 3183 |
| Table 617. | SWO register map and reset values. . . . . | 3195 |
| Table 618. | SWTF register map and reset values . . . . . | 3206 |
| Table 619. | DBGMCU register map and reset values . . . . . | 3214 |
| Table 620. | Cortex-M7 processor ROM table . . . . . | 3215 |
| Table 621. | Cortex-M7 PPB ROM table. . . . . | 3215 |
| Table 622. | Cortex-M7 processor ROM table register map and reset values . . . . . | 3221 |
| Table 623. | Cortex-M7 PPB ROM table register map and reset values . . . . . | 3226 |
| Table 624. | Cortex-M7 DWT register map and reset values . . . . . | 3238 |
| Table 625. | Cortex-M7 ITM register map and reset values . . . . . | 3248 |
| Table 626. | Cortex-M7 FPB register map and reset values. . . . . | 3255 |
| Table 627. | Cortex-M7 ETM register map and reset values . . . . . | 3285 |
| Table 628. | Document revision history . . . . . | 3294 |
List of figures
| Figure 1. | System architecture for STM32H742xx, STM32H743/53xx and STM32H750xB devices | 105 |
| Figure 2. | AXI interconnect . . . . . | 110 |
| Figure 3. | RAM ECC controller implementation schematic. . . . . | 141 |
| Figure 4. | Connection between RAM ECC controller and RAMECC monitoring unit . . . . . | 141 |
| Figure 5. | FLASH block diagram . . . . . | 149 |
| Figure 6. | Detailed FLASH architecture . . . . . | 151 |
| Figure 7. | Embedded flash memory organization . . . . . | 152 |
| Figure 8. | Embedded flash memory usage . . . . . | 155 |
| Figure 9. | FLASH protection mechanisms . . . . . | 156 |
| Figure 10. | FLASH read pipeline architecture. . . . . | 159 |
| Figure 11. | FLASH write pipeline architecture . . . . . | 162 |
| Figure 12. | Flash bank swapping sequence . . . . . | 171 |
| Figure 13. | RDP protection transition scheme . . . . . | 187 |
| Figure 14. | Example of protected region overlapping . . . . . | 188 |
| Figure 15. | Flash memory areas and services in Standard and Secure access modes. . . . . | 248 |
| Figure 16. | Bootloader state machine in Secure access mode . . . . . | 249 |
| Figure 17. | Core access to flash memory areas . . . . . | 252 |
| Figure 18. | Power control block diagram . . . . . | 255 |
| Figure 19. | Power supply overview. . . . . | 259 |
| Figure 20. | System supply configurations. . . . . | 260 |
| Figure 21. | Device startup with V CORE supplied from voltage regulator . . . . . | 262 |
| Figure 22. | Device startup with V
CORE
supplied in Bypass mode from external regulator . . . . . | 263 |
| Figure 23. | Backup domain . . . . . | 267 |
| Figure 24. | USB supply configurations . . . . . | 268 |
| Figure 25. | Power-on reset/power-down reset waveform . . . . . | 269 |
| Figure 26. | BOR thresholds . . . . . | 270 |
| Figure 27. | PVD thresholds. . . . . | 271 |
| Figure 28. | AVD thresholds. . . . . | 272 |
| Figure 29. | VBAT thresholds. . . . . | 273 |
| Figure 30. | Temperature thresholds . . . . . | 274 |
| Figure 31. | Switching V CORE from V OS1 to V OS0 . . . . . | 280 |
| Figure 32. | V CORE voltage scaling versus system power modes . . . . . | 281 |
| Figure 33. | Power control modes detailed state diagram . . . . . | 283 |
| Figure 34. | Dynamic voltage scaling in Run mode . . . . . | 286 |
| Figure 35. | Dynamic voltage scaling behavior with D1, D2 and system in Stop mode . . . . . | 287 |
| Figure 36. | Dynamic Voltage Scaling D1, D2, system Standby mode . . . . . | 288 |
| Figure 37. | Dynamic voltage scaling behavior with D1 and D2 in DStandby mode and D3 in autonomous mode . . . . . | 290 |
| Figure 38. | EXTI, RCC and PWR interconnections . . . . . | 314 |
| Figure 39. | Timing diagram of SRAM4-to-LPUART1 transfer with BDMA and D3 domain in Autonomous mode . . . . . | 318 |
| Figure 40. | BDMA and DMAMUX2 interconnection . . . . . | 320 |
| Figure 41. | Timing diagram of LPUART1 transmission with D3 domain in Autonomous mode . . . . . | 323 |
| Figure 42. | RCC Block diagram . . . . . | 326 |
| Figure 43. | System reset circuit . . . . . | 329 |
| Figure 44. | Boot sequences versus system states . . . . . | 335 |
| Figure 45. | Top-level clock tree. . . . . | 337 |
| Figure 46. | HSE/LSE clock source . . . . . | 338 |
| Figure 47. | PLL block diagram . . . . . | 345 |
| Figure 48. | PLLs Initialization Flowchart . . . . . | 348 |
| Figure 49. | Core and bus clock generation . . . . . | 350 |
| Figure 50. | Kernel clock distribution for SAIs and DFSDM . . . . . | 357 |
| Figure 51. | Kernel clock distribution for SPIs and SPI/I2S . . . . . | 358 |
| Figure 52. | Kernel clock distribution for I2Cs . . . . . | 359 |
| Figure 53. | Kernel clock distribution for UARTs, USARTs and LPUART1 . . . . . | 359 |
| Figure 54. | Kernel clock distribution for LTDC . . . . . | 360 |
| Figure 55. | Kernel clock distribution for SDMMC, QUADSPI and FMC . . . . . | 360 |
| Figure 56. | Kernel clock distribution for USB (2) . . . . . | 361 |
| Figure 57. | Kernel clock distribution for Ethernet . . . . . | 362 |
| Figure 58. | Kernel clock distribution for ADCs, SWPMI, RNG and FDCAN (2) . . . . . | 363 |
| Figure 59. | Kernel clock distribution for LPTIMs and HDMI-CEC (2) . . . . . | 364 |
| Figure 60. | Peripheral allocation example. . . . . | 367 |
| Figure 61. | Kernel Clock switching . . . . . | 370 |
| Figure 62. | Peripheral kernel clock enable logic details . . . . . | 374 |
| Figure 63. | Bus clock enable logic . . . . . | 379 |
| Figure 64. | RCC mapping overview . . . . . | 381 |
| Figure 65. | CRS block diagram. . . . . | 506 |
| Figure 66. | CRS counter behavior . . . . . | 508 |
| Figure 67. | HSEM block diagram . . . . . | 518 |
| Figure 68. | Procedure state diagram . . . . . | 519 |
| Figure 69. | Interrupt state diagram . . . . . | 522 |
| Figure 70. | Basic structure of an I/O port bit . . . . . | 531 |
| Figure 71. | Basic structure of a 5-Volt tolerant I/O port bit . . . . . | 531 |
| Figure 72. | Input floating / pull up / pull down configurations . . . . . | 536 |
| Figure 73. | Output configuration . . . . . | 537 |
| Figure 74. | Alternate function configuration . . . . . | 538 |
| Figure 75. | High impedance-analog configuration . . . . . | 538 |
| Figure 76. | Analog inputs connected to ADC inputs . . . . . | 539 |
| Figure 77. | MDMA block diagram . . . . . | 612 |
| Figure 78. | DMA block diagram . . . . . | 637 |
| Figure 79. | Peripheral-to-memory mode . . . . . | 641 |
| Figure 80. | Memory-to-peripheral mode . . . . . | 642 |
| Figure 81. | Memory-to-memory mode . . . . . | 643 |
| Figure 82. | FIFO structure. . . . . | 648 |
| Figure 83. | BDMA block diagram . . . . . | 670 |
| Figure 84. | DMAMUX block diagram . . . . . | 699 |
| Figure 85. | Synchronization mode of the DMAMUX request line multiplexer channel . . . . . | 702 |
| Figure 86. | Event generation of the DMA request line multiplexer channel . . . . . | 702 |
| Figure 87. | DMA2D block diagram . . . . . | 717 |
| Figure 88. | Intel 8080 16-bit mode (RGB565) . . . . . | 723 |
| Figure 89. | Intel 8080 18/24-bit mode (RGB888) . . . . . | 724 |
| Figure 90. | EXTI block diagram . . . . . | 759 |
| Figure 91. | Configurable event triggering logic CPU wakeup . . . . . | 761 |
| Figure 92. | Configurable event triggering logic Any wakeup . . . . . | 763 |
| Figure 93. | Direct event triggering logic CPU Wakeup . . . . . | 764 |
| Figure 94. | Direct event triggering logic Any Wakeup . . . . . | 765 |
| Figure 95. | D3 domain Pending request clear logic . . . . . | 766 |
| Figure 96. | CRC calculation unit block diagram . . . . . | 791 |
| Figure 97. | FMC block diagram. . . . . | 799 |
| Figure 98. | FMC memory banks (default mapping) . . . . . | 802 |
| Figure 99. | Mode 1 read access waveforms . . . . . | 813 |
| Figure 100. | Mode 1 write access waveforms. . . . . | 814 |
| Figure 101. | Mode A read access waveforms. . . . . | 816 |
| Figure 102. | Mode A write access waveforms . . . . . | 817 |
| Figure 103. | Mode 2 and mode B read access waveforms. . . . . | 819 |
| Figure 104. | Mode 2 write access waveforms. . . . . | 819 |
| Figure 105. | Mode B write access waveforms . . . . . | 820 |
| Figure 106. | Mode C read access waveforms . . . . . | 822 |
| Figure 107. | Mode C write access waveforms . . . . . | 822 |
| Figure 108. | Mode D read access waveforms . . . . . | 825 |
| Figure 109. | Mode D write access waveforms . . . . . | 825 |
| Figure 110. | Muxed read access waveforms . . . . . | 828 |
| Figure 111. | Muxed write access waveforms . . . . . | 828 |
| Figure 112. | Asynchronous wait during a read access waveforms. . . . . | 831 |
| Figure 113. | Asynchronous wait during a write access waveforms. . . . . | 831 |
| Figure 114. | Wait configuration waveforms. . . . . | 834 |
| Figure 115. | Synchronous multiplexed read mode waveforms - NOR, PSRAM (CRAM). . . . . | 834 |
| Figure 116. | Synchronous multiplexed write mode waveforms - PSRAM (CRAM). . . . . | 836 |
| Figure 117. | NAND flash controller waveforms for common memory access. . . . . | 850 |
| Figure 118. | Access to non 'CE don't care' NAND-flash. . . . . | 851 |
| Figure 119. | Burst write SDRAM access waveforms . . . . . | 861 |
| Figure 120. | Burst read SDRAM access . . . . . | 862 |
| Figure 121. | Logic diagram of Read access with RBURST bit set (CAS=2, RPIPE=0) . . . . . | 863 |
| Figure 122. | Read access crossing row boundary . . . . . | 865 |
| Figure 123. | Write access crossing row boundary . . . . . | 865 |
| Figure 124. | Self-refresh mode . . . . . | 868 |
| Figure 125. | Power-down mode . . . . . | 869 |
| Figure 126. | QUADSPI block diagram when dual-flash mode is disabled . . . . . | 879 |
| Figure 127. | QUADSPI block diagram when dual-flash mode is enabled. . . . . | 880 |
| Figure 128. | Example of read command in quad-SPI mode . . . . . | 881 |
| Figure 129. | Example of a DDR command in quad-SPI mode . . . . . | 884 |
| Figure 130. | NCS when CKMODE = 0 (T = CLK period) . . . . . | 892 |
| Figure 131. | NCS when CKMODE = 1 in SDR mode (T = CLK period) . . . . . | 893 |
| Figure 132. | NCS when CKMODE = 1 in DDR mode (T = CLK period) . . . . . | 893 |
| Figure 133. | NCS when CKMODE = 1 with an abort (T = CLK period). . . . . | 894 |
| Figure 134. | DLYB block diagram. . . . . | 907 |
| Figure 135. | ADC block diagram . . . . . | 915 |
| Figure 136. | ADC Clock scheme. . . . . | 918 |
| Figure 137. | ADC clock scheme . . . . . | 919 |
| Figure 138. | ADC1 connectivity . . . . . | 920 |
| Figure 139. | ADC2 connectivity . . . . . | 921 |
| Figure 140. | ADC3 connectivity . . . . . | 922 |
| Figure 141. | ADC calibration . . . . . | 926 |
| Figure 142. | Updating the ADC offset calibration factor . . . . . | 926 |
| Figure 143. | Mixing single-ended and differential channels . . . . . | 927 |
| Figure 144. | Enabling / Disabling the ADC . . . . . | 930 |
| Figure 145. | Analog to digital conversion time . . . . . | 936 |
| Figure 146. | Stopping ongoing regular conversions . . . . . | 937 |
| Figure 147. | Stopping ongoing regular and injected conversions. . . . . | 937 |
| Figure 148. Triggers are shared between ADC master and ADC slave . . . . . | 939 |
| Figure 149. Injected conversion latency . . . . . | 942 |
| Figure 150. Example of JSQR queue of context (sequence change) . . . . . | 945 |
| Figure 151. Example of JSQR queue of context (trigger change) . . . . . | 946 |
| Figure 152. Example of JSQR queue of context with overflow before conversion . . . . . | 946 |
| Figure 153. Example of JSQR queue of context with overflow during conversion . . . . . | 947 |
| Figure 154. Example of JSQR queue of context with empty queue (case JQM=0). . . . . | 947 |
| Figure 155. Example of JSQR queue of context with empty queue (case JQM=1). . . . . | 948 |
| Figure 156. Flushing JSQR queue of context by setting JADSTP=1 (JQM=0). Case when JADSTP occurs during an ongoing conversion. . . . . | 948 |
| Figure 157. Flushing JSQR queue of context by setting JADSTP=1 (JQM=0). Case when JADSTP occurs during an ongoing conversion and a new trigger occurs. . . . . | 949 |
| Figure 158. Flushing JSQR queue of context by setting JADSTP=1 (JQM=0). Case when JADSTP occurs outside an ongoing conversion . . . . . | 949 |
| Figure 159. Flushing JSQR queue of context by setting JADSTP=1 (JQM=1) . . . . . | 950 |
| Figure 160. Flushing JSQR queue of context by setting ADDIS=1 (JQM=0). . . . . | 950 |
| Figure 161. Flushing JSQR queue of context by setting ADDIS=1 (JQM=1). . . . . | 951 |
| Figure 162. Single conversions of a sequence, software trigger . . . . . | 953 |
| Figure 163. Continuous conversion of a sequence, software trigger. . . . . | 953 |
| Figure 164. Single conversions of a sequence, hardware trigger . . . . . | 954 |
| Figure 165. Continuous conversions of a sequence, hardware trigger . . . . . | 954 |
| Figure 166. Right alignment (offset disabled, unsigned value) . . . . . | 956 |
| Figure 167. Right alignment (offset enabled, signed value) . . . . . | 956 |
| Figure 168. Left alignment (offset disabled, unsigned value) . . . . . | 957 |
| Figure 169. Left alignment (offset enabled, signed value) . . . . . | 957 |
| Figure 170. Example of overrun (OVRMOD = 0). . . . . | 960 |
| Figure 171. Example of overrun (OVRMOD = 1). . . . . | 960 |
| Figure 172. AUTDLY=1, regular conversion in continuous mode, software trigger . . . . . | 964 |
| Figure 173. AUTDLY=1, regular HW conversions interrupted by injected conversions (DISCEN=0; JDISCEN=0) . . . . . | 964 |
| Figure 174. AUTDLY=1, regular HW conversions interrupted by injected conversions. (DISCEN=1, JDISCEN=1) . . . . . | 965 |
| Figure 175. AUTDLY=1, regular continuous conversions interrupted by injected conversions . . . . . | 966 |
| Figure 176. AUTDLY=1 in auto- injected mode (JAUTO=1) . . . . . | 966 |
| Figure 177. Analog watchdog guarded area . . . . . | 967 |
| Figure 178. ADCy_AWDx_OUT signal generation (on all regular channels). . . . . | 969 |
| Figure 179. ADCy_AWDx_OUT signal generation (AWDx flag not cleared by SW) . . . . . | 969 |
| Figure 180. ADCy_AWDx_OUT signal generation (on a single regular channel) . . . . . | 970 |
| Figure 181. ADCy_AWDx_OUT signal generation (on all injected channels) . . . . . | 970 |
| Figure 182. 16-bit result oversampling with 10-bits right shift and rounding . . . . . | 971 |
| Figure 183. Triggered regular oversampling mode (TROVS bit = 1). . . . . | 973 |
| Figure 184. Regular oversampling modes (4x ratio) . . . . . | 974 |
| Figure 185. Regular and injected oversampling modes used simultaneously . . . . . | 974 |
| Figure 186. Triggered regular oversampling with injection . . . . . | 975 |
| Figure 187. Oversampling in auto-injected mode . . . . . | 975 |
| Figure 188. Dual ADC block diagram (1) . . . . . | 978 |
| Figure 189. Injected simultaneous mode on 4 channels: dual ADC mode . . . . . | 979 |
| Figure 190. Regular simultaneous mode on 16 channels: dual ADC mode . . . . . | 981 |
| Figure 191. Interleaved mode on 1 channel in continuous conversion mode: dual ADC mode . . . . . | 982 |
| Figure 192. Interleaved mode on 1 channel in single conversion mode: dual ADC mode . . . . . | 983 |
| Figure 193. Interleaved conversion with injection . . . . . | 983 |
| Figure 194. Alternate trigger: injected group of each ADC . . . . . | 984 |
| Figure 195. Alternate trigger: 4 injected channels (each ADC) in discontinuous mode . . . . . | 985 |
| Figure 196. Alternate + regular simultaneous . . . . . | 986 |
| Figure 197. Case of trigger occurring during injected conversion . . . . . | 986 |
| Figure 198. Interleaved single channel CH0 with injected sequence CH11, CH12 . . . . . | 987 |
| Figure 199. Two Interleaved channels (CH1, CH2) with injected sequence CH11, CH12 - case 1: Master interrupted first . . . . . | 987 |
| Figure 200. Two Interleaved channels (CH1, CH2) with injected sequence CH11, CH12 - case 2: Slave interrupted first . . . . . | 987 |
| Figure 201. DMA Requests in regular simultaneous mode when DAMDF=0b00 . . . . . | 988 |
| Figure 202. DMA requests in regular simultaneous mode when DAMDF=0b10 . . . . . | 989 |
| Figure 203. DMA requests in interleaved mode when DAMDF=0b10 . . . . . | 989 |
| Figure 204. Temperature sensor channel block diagram . . . . . | 991 |
| Figure 205. VBAT channel block diagram . . . . . | 993 |
| Figure 206. VREFINT channel block diagram . . . . . | 993 |
| Figure 207. Dual-channel DAC block diagram . . . . . | 1046 |
| Figure 208. Data registers in single DAC channel mode . . . . . | 1049 |
| Figure 209. Data registers in dual DAC channel mode . . . . . | 1049 |
| Figure 210. Timing diagram for conversion with trigger disabled TEN = 0 . . . . . | 1050 |
| Figure 211. DAC LFSR register calculation algorithm . . . . . | 1052 |
| Figure 212. DAC conversion (SW trigger enabled) with LFSR wave generation . . . . . | 1052 |
| Figure 213. DAC triangle wave generation . . . . . | 1053 |
| Figure 214. DAC conversion (SW trigger enabled) with triangle wave generation . . . . . | 1053 |
| Figure 215. DAC Sample and hold mode phase diagram . . . . . | 1056 |
| Figure 216. Comparator functional block diagram . . . . . | 1085 |
| Figure 217. Comparator hysteresis . . . . . | 1088 |
| Figure 218. Comparator output blanking . . . . . | 1088 |
| Figure 219. Output redirection . . . . . | 1090 |
| Figure 220. Scaler block diagram . . . . . | 1092 |
| Figure 221. Standalone mode: external gain setting mode . . . . . | 1102 |
| Figure 222. Follower configuration . . . . . | 1103 |
| Figure 223. PGA mode, internal gain setting (x2/x4/x8/x16), inverting input not used . . . . . | 1104 |
| Figure 224. PGA mode, internal gain setting (x2/x4/x8/x16), inverting input used for filtering . . . . . | 1105 |
| Figure 225. PGA mode, non-inverting gain setting (x2/x4/x8/x16) or inverting gain setting (x-1/x-3/x-7/x-15) . . . . . | 1106 |
| Figure 226. Example configuration . . . . . | 1106 |
| Figure 227. PGA mode, non-inverting gain setting (x2/x4/x8/x16) or inverting gain setting (x-1/x-3/x-7/x-15) with filtering . . . . . | 1107 |
| Figure 228. Example configuration . . . . . | 1107 |
| Figure 229. Single DFSDM block diagram . . . . . | 1121 |
| Figure 230. Input channel pins redirection . . . . . | 1125 |
| Figure 231. Channel transceiver timing diagrams . . . . . | 1128 |
| Figure 232. Clock absence timing diagram for SPI . . . . . | 1129 |
| Figure 233. Clock absence timing diagram for Manchester coding . . . . . | 1130 |
| Figure 234. First conversion for Manchester coding (Manchester synchronization) . . . . . | 1132 |
| Figure 235. DFSDM_CHyDATINR registers operation modes and assignment . . . . . | 1136 |
| Figure 236. Example: Sinc3 filter response . . . . . | 1138 |
| Figure 237. DCMI block diagram . . . . . | 1178 |
| Figure 238. DCMI signal waveforms . . . . . | 1179 |
| Figure 239. Timing diagram . . . . . | 1181 |
| Figure 240. Frame capture waveforms in snapshot mode . . . . . | 1183 |
| Figure 241. Frame capture waveforms in continuous grab mode . . . . . | 1184 |
| Figure 242. Coordinates and size of the window after cropping . . . . . | 1184 |
| Figure 243. Data capture waveforms . . . . . | 1185 |
| Figure 244. Pixel raster scan order . . . . . | 1186 |
| Figure 245. LTDC block diagram . . . . . | 1201 |
| Figure 246. LTDC synchronous timings . . . . . | 1204 |
| Figure 247. Layer window programmable parameters . . . . . | 1207 |
| Figure 248. Blending two layers with background . . . . . | 1209 |
| Figure 249. Interrupt events . . . . . | 1211 |
| Figure 250. JPEG codec block diagram . . . . . | 1232 |
| Figure 251. RNG block diagram . . . . . | 1252 |
| Figure 252. Entropy source model . . . . . | 1253 |
| Figure 253. RNG initialization overview . . . . . | 1255 |
| Figure 254. CRYPT block diagram . . . . . | 1265 |
| Figure 255. AES-ECB mode overview . . . . . | 1268 |
| Figure 256. AES-CBC mode overview . . . . . | 1269 |
| Figure 257. AES-CTR mode overview . . . . . | 1270 |
| Figure 258. AES-GCM mode overview . . . . . | 1271 |
| Figure 259. AES-GMAC mode overview . . . . . | 1271 |
| Figure 260. AES-CCM mode overview . . . . . | 1272 |
| Figure 261. Example of suspend mode management . . . . . | 1278 |
| Figure 262. DES/TDES-ECB mode encryption . . . . . | 1279 |
| Figure 263. DES/TDES-ECB mode decryption . . . . . | 1280 |
| Figure 264. DES/TDES-CBC mode encryption . . . . . | 1281 |
| Figure 265. DES/TDES-CBC mode decryption . . . . . | 1282 |
| Figure 266. AES-ECB mode encryption . . . . . | 1284 |
| Figure 267. AES-ECB mode decryption . . . . . | 1285 |
| Figure 268. AES-CBC mode encryption . . . . . | 1286 |
| Figure 269. AES-CBC mode decryption . . . . . | 1287 |
| Figure 270. Message construction for the Counter mode . . . . . | 1289 |
| Figure 271. AES-CTR mode encryption . . . . . | 1290 |
| Figure 272. AES-CTR mode decryption . . . . . | 1291 |
| Figure 273. Message construction for the Galois/counter mode . . . . . | 1293 |
| Figure 274. Message construction for the Galois Message Authentication Code mode . . . . . | 1298 |
| Figure 275. Message construction for the Counter with CBC-MAC mode . . . . . | 1299 |
| Figure 276. 64-bit block construction according to the data type (IN FIFO) . . . . . | 1306 |
| Figure 277. 128-bit block construction according to the data type . . . . . | 1307 |
| Figure 278. HASH block diagram . . . . . | 1331 |
| Figure 279. Message data swapping feature . . . . . | 1333 |
| Figure 280. HASH suspend/resume mechanism . . . . . | 1339 |
| Figure 281. High-resolution timer block diagram . . . . . | 1355 |
| Figure 282. Timer A..E overview . . . . . | 1360 |
| Figure 283. Continuous timer operation . . . . . | 1361 |
| Figure 284. Single-shot timer operation . . . . . | 1362 |
| Figure 285. Timer reset resynchronization (prescaling ratio above 32) . . . . . | 1363 |
| Figure 286. Repetition rate vs HRTIM_REPxR content in continuous mode . . . . . | 1364 |
| Figure 287. Repetition counter behavior in single-shot mode . . . . . | 1365 |
| Figure 288. Compare events action on outputs: set on compare 1, reset on compare 2 . . . . . | 1366 |
| Figure 289. Timing unit capture circuitry . . . . . | 1368 |
| Figure 290. Auto-delayed overview (Compare 2 only) . . . . . | 1369 |
| Figure 291. Auto-delayed compare . . . . . | 1370 |
| Figure 292. Push-pull mode block diagram . . . . . | 1372 |
| Figure 293. Push-pull mode example . . . . . | 1373 |
| Figure 294. Complementary outputs with deadtime insertion . . . . . | 1373 |
| Figure 295. Deadtime insertion vs deadtime sign (1 indicates negative deadtime). . . . . | 1374 |
| Figure 296. Complementary outputs for low pulse width (SDTRx = SDTFx = 0). . . . . | 1375 |
| Figure 297. Complementary outputs for low pulse width (SDTRx = SDTFx = 1). . . . . | 1375 |
| Figure 298. Complementary outputs for low pulse width (SDTRx = 0, SDTFx = 1). . . . . | 1375 |
| Figure 299. Complementary outputs for low pulse width (SDTRx = 1, SDTFx=0). . . . . | 1376 |
| Figure 300. Master timer overview. . . . . | 1377 |
| Figure 301. External event conditioning overview (1 channel represented) . . . . . | 1380 |
| Figure 302. Latency to external events falling edge (counter reset and output set) . . . . . | 1383 |
| Figure 303. Latency to external events (output reset on external event). . . . . | 1383 |
| Figure 304. Event blanking mode . . . . . | 1384 |
| Figure 305. Event postpone mode. . . . . | 1384 |
| Figure 306. External trigger blanking with edge-sensitive trigger . . . . . | 1386 |
| Figure 307. External trigger blanking, level sensitive triggering. . . . . | 1386 |
| Figure 308. Event windowing mode. . . . . | 1387 |
| Figure 309. External trigger windowing with edge-sensitive trigger. . . . . | 1388 |
| Figure 310. External trigger windowing, level sensitive triggering . . . . . | 1388 |
| Figure 311. Delayed Idle mode entry. . . . . | 1390 |
| Figure 312. Burst mode and delayed protection priorities (DIDL = 0) . . . . . | 1391 |
| Figure 313. Burst mode and delayed protection priorities (DIDL = 1) . . . . . | 1392 |
| Figure 314. Balanced Idle protection example. . . . . | 1393 |
| Figure 315. Output management overview . . . . . | 1403 |
| Figure 316. HRTIM output states and transitions . . . . . | 1403 |
| Figure 317. Burst mode operation example. . . . . | 1405 |
| Figure 318. Burst mode trigger on external event . . . . . | 1407 |
| Figure 319. Delayed burst mode entry with deadtime enabled and IDLESx = 1 . . . . . | 1409 |
| Figure 320. Delayed Burst mode entry during deadtime . . . . . | 1410 |
| Figure 321. Burst mode exit when the deadtime generator is enabled . . . . . | 1411 |
| Figure 322. Burst mode emulation example . . . . . | 1413 |
| Figure 323. Carrier frequency signal insertion . . . . . | 1413 |
| Figure 324. HRTIM outputs with Chopper mode enabled . . . . . | 1414 |
| Figure 325. Fault protection circuitry (FAULT1 fully represented, FAULT2..5 partially). . . . . | 1415 |
| Figure 326. Fault signal filtering (FLTxF[3:0]= 0010: f SAMPLING = f HRTIM , N = 4) . . . . . | 1416 |
| Figure 327. Auxiliary outputs . . . . . | 1418 |
| Figure 328. Auxiliary and main outputs during burst mode (DIDLx = 0) . . . . . | 1419 |
| Figure 329. Deadtime distortion on auxiliary output when exiting burst mode. . . . . | 1419 |
| Figure 330. Counter behavior in synchronized start mode . . . . . | 1423 |
| Figure 331. ADC trigger selection overview . . . . . | 1424 |
| Figure 332. Combining several updates on a single hrtim_dac_trgx output . . . . . | 1425 |
| Figure 333. DMA burst overview . . . . . | 1429 |
| Figure 334. Burst DMA operation flowchart. . . . . | 1430 |
| Figure 335. Registers update following DMA burst transfer . . . . . | 1431 |
| Figure 336. Buck converter topology . . . . . | 1433 |
| Figure 337. Dual Buck converter management . . . . . | 1434 |
| Figure 338. Synchronous rectification depending on output current . . . . . | 1434 |
| Figure 339. Buck with synchronous rectification . . . . . | 1435 |
| Figure 340. 3-phase interleaved buck converter . . . . . | 1436 |
| Figure 341. 3-phase interleaved buck converter control . . . . . | 1437 |
| Figure 342. Transition mode PFC . . . . . | 1437 |
| Figure 343. Transition mode PFC waveforms . . . . . | 1438 |
| Figure 344. Advanced-control timer block diagram . . . . . | 1528 |
| Figure 345. Counter timing diagram with prescaler division change from 1 to 2 . . . . . | 1530 |
| Figure 346. Counter timing diagram with prescaler division change from 1 to 4 . . . . . | 1530 |
| Figure 347. Counter timing diagram, internal clock divided by 1 . . . . . | 1532 |
| Figure 348. Counter timing diagram, internal clock divided by 2 . . . . . | 1532 |
| Figure 349. Counter timing diagram, internal clock divided by 4 . . . . . | 1533 |
| Figure 350. Counter timing diagram, internal clock divided by N . . . . . | 1533 |
| Figure 351. Counter timing diagram, update event when ARPE=0 (TIMx_ARR not preloaded) . . . . . | 1534 |
| Figure 352. Counter timing diagram, update event when ARPE=1 (TIMx_ARR preloaded) . . . . . | 1534 |
| Figure 353. Counter timing diagram, internal clock divided by 1 . . . . . | 1536 |
| Figure 354. Counter timing diagram, internal clock divided by 2 . . . . . | 1536 |
| Figure 355. Counter timing diagram, internal clock divided by 4 . . . . . | 1537 |
| Figure 356. Counter timing diagram, internal clock divided by N . . . . . | 1537 |
| Figure 357. Counter timing diagram, update event when repetition counter is not used . . . . . | 1538 |
| Figure 358. Counter timing diagram, internal clock divided by 1, TIMx_ARR = 0x6 . . . . . | 1539 |
| Figure 359. Counter timing diagram, internal clock divided by 2 . . . . . | 1540 |
| Figure 360. Counter timing diagram, internal clock divided by 4, TIMx_ARR=0x36 . . . . . | 1540 |
| Figure 361. Counter timing diagram, internal clock divided by N . . . . . | 1541 |
| Figure 362. Counter timing diagram, update event with ARPE=1 (counter underflow) . . . . . | 1541 |
| Figure 363. Counter timing diagram, Update event with ARPE=1 (counter overflow) . . . . . | 1542 |
| Figure 364. Update rate examples depending on mode and TIMx_RCR register settings . . . . . | 1543 |
| Figure 365. External trigger input block . . . . . | 1544 |
| Figure 366. TIM1/TIM8 ETR input circuitry . . . . . | 1544 |
| Figure 367. Control circuit in normal mode, internal clock divided by 1 . . . . . | 1545 |
| Figure 368. TI2 external clock connection example . . . . . | 1546 |
| Figure 369. Control circuit in external clock mode 1 . . . . . | 1547 |
| Figure 370. External trigger input block . . . . . | 1547 |
| Figure 371. Control circuit in external clock mode 2 . . . . . | 1548 |
| Figure 372. Capture/compare channel (example: channel 1 input stage) . . . . . | 1549 |
| Figure 373. Capture/compare channel 1 main circuit . . . . . | 1549 |
| Figure 374. Output stage of capture/compare channel (channel 1, idem ch. 2 and 3) . . . . . | 1550 |
| Figure 375. Output stage of capture/compare channel (channel 4) . . . . . | 1550 |
| Figure 376. Output stage of capture/compare channel (channel 5, idem ch. 6) . . . . . | 1551 |
| Figure 377. PWM input mode timing . . . . . | 1553 |
| Figure 378. Output compare mode, toggle on OC1 . . . . . | 1555 |
| Figure 379. Edge-aligned PWM waveforms (ARR=8) . . . . . | 1556 |
| Figure 380. Center-aligned PWM waveforms (ARR=8) . . . . . | 1557 |
| Figure 381. Generation of 2 phase-shifted PWM signals with 50% duty cycle . . . . . | 1559 |
| Figure 382. Combined PWM mode on channel 1 and 3 . . . . . | 1560 |
| Figure 383. 3-phase combined PWM signals with multiple trigger pulses per period . . . . . | 1561 |
| Figure 384. Complementary output with dead-time insertion . . . . . | 1562 |
| Figure 385. Dead-time waveforms with delay greater than the negative pulse . . . . . | 1562 |
| Figure 386. Dead-time waveforms with delay greater than the positive pulse . . . . . | 1563 |
| Figure 387. Break and Break2 circuitry overview . . . . . | 1565 |
| Figure 388. Various output behavior in response to a break event on BRK (OSSI = 1) . . . . . | 1567 |
| Figure 389. PWM output state following BRK and BRK2 pins assertion (OSSI=1) . . . . . | 1568 |
| Figure 390. PWM output state following BRK assertion (OSSI=0) . . . . . | 1569 |
| Figure 391. Output redirection . . . . . | 1569 |
| Figure 392. Clearing TIMx_OCxREF . . . . . | 1570 |
| Figure 393. 6-step generation, COM example (OSSR=1) . . . . . | 1571 |
| Figure 394. Example of one pulse mode . . . . . | 1572 |
| Figure 395. Retriggerable one pulse mode . . . . . | 1574 |
| Figure 396. Example of counter operation in encoder interface mode . . . . . | 1575 |
| Figure 397. Example of encoder interface mode with TI1FP1 polarity inverted. . . . . | 1576 |
| Figure 398. Measuring time interval between edges on 3 signals . . . . . | 1577 |
| Figure 399. Example of Hall sensor interface . . . . . | 1579 |
| Figure 400. Control circuit in reset mode . . . . . | 1580 |
| Figure 401. Control circuit in Gated mode . . . . . | 1581 |
| Figure 402. Control circuit in trigger mode . . . . . | 1582 |
| Figure 403. Control circuit in external clock mode 2 + trigger mode . . . . . | 1583 |
| Figure 404. General-purpose timer block diagram . . . . . | 1632 |
| Figure 405. Counter timing diagram with prescaler division change from 1 to 2 . . . . . | 1634 |
| Figure 406. Counter timing diagram with prescaler division change from 1 to 4 . . . . . | 1634 |
| Figure 407. Counter timing diagram, internal clock divided by 1 . . . . . | 1635 |
| Figure 408. Counter timing diagram, internal clock divided by 2 . . . . . | 1636 |
| Figure 409. Counter timing diagram, internal clock divided by 4 . . . . . | 1636 |
| Figure 410. Counter timing diagram, internal clock divided by N . . . . . | 1637 |
| Figure 411. Counter timing diagram, Update event when ARPE=0 (TIMx_ARR not preloaded). . . . . | 1637 |
| Figure 412. Counter timing diagram, Update event when ARPE=1 (TIMx_ARR preloaded). . . . . | 1638 |
| Figure 413. Counter timing diagram, internal clock divided by 1 . . . . . | 1639 |
| Figure 414. Counter timing diagram, internal clock divided by 2 . . . . . | 1639 |
| Figure 415. Counter timing diagram, internal clock divided by 4 . . . . . | 1640 |
| Figure 416. Counter timing diagram, internal clock divided by N . . . . . | 1640 |
| Figure 417. Counter timing diagram, Update event . . . . . | 1641 |
| Figure 418. Counter timing diagram, internal clock divided by 1, TIMx_ARR=0x6 . . . . . | 1642 |
| Figure 419. Counter timing diagram, internal clock divided by 2 . . . . . | 1643 |
| Figure 420. Counter timing diagram, internal clock divided by 4, TIMx_ARR=0x36 . . . . . | 1643 |
| Figure 421. Counter timing diagram, internal clock divided by N . . . . . | 1644 |
| Figure 422. Counter timing diagram, Update event with ARPE=1 (counter underflow). . . . . | 1644 |
| Figure 423. Counter timing diagram, Update event with ARPE=1 (counter overflow). . . . . | 1645 |
| Figure 424. Control circuit in normal mode, internal clock divided by 1 . . . . . | 1646 |
| Figure 425. TI2 external clock connection example. . . . . | 1646 |
| Figure 426. Control circuit in external clock mode 1 . . . . . | 1647 |
| Figure 427. External trigger input block . . . . . | 1648 |
| Figure 428. Control circuit in external clock mode 2 . . . . . | 1649 |
| Figure 429. Capture/Compare channel (example: channel 1 input stage) . . . . . | 1649 |
| Figure 430. Capture/Compare channel 1 main circuit . . . . . | 1650 |
| Figure 431. Output stage of Capture/Compare channel (channel 1). . . . . | 1650 |
| Figure 432. PWM input mode timing . . . . . | 1652 |
| Figure 433. Output compare mode, toggle on OC1 . . . . . | 1654 |
| Figure 434. Edge-aligned PWM waveforms (ARR=8) . . . . . | 1655 |
| Figure 435. Center-aligned PWM waveforms (ARR=8). . . . . | 1656 |
| Figure 436. Generation of 2 phase-shifted PWM signals with 50% duty cycle . . . . . | 1657 |
| Figure 437. Combined PWM mode on channels 1 and 3 . . . . . | 1659 |
| Figure 438. Clearing TIMx_OCxREF . . . . . | 1660 |
| Figure 439. Example of one-pulse mode. . . . . | 1661 |
| Figure 440. Retriggerable one-pulse mode. . . . . | 1663 |
| Figure 441. Example of counter operation in encoder interface mode . . . . . | 1664 |
| Figure 442. Example of encoder interface mode with TI1FP1 polarity inverted . . . . . | 1665 |
| Figure 443. Control circuit in reset mode . . . . . | 1666 |
| Figure 444. Control circuit in gated mode . . . . . | 1667 |
| Figure 445. Control circuit in trigger mode . . . . . | 1668 |
| Figure 446. Control circuit in external clock mode 2 + trigger mode . . . . . | 1669 |
| Figure 447. Master/Slave timer example . . . . . | 1669 |
| Figure 448. Master/slave connection example with 1 channel only timers . . . . . | 1670 |
| Figure 449. Gating TIM2 with OC1REF of TIM3 . . . . . | 1671 |
| Figure 450. Gating TIM2 with Enable of TIM3 . . . . . | 1672 |
| Figure 451. Triggering TIM2 with update of TIM3 . . . . . | 1672 |
| Figure 452. Triggering TIM2 with Enable of TIM3 . . . . . | 1673 |
| Figure 453. Triggering TIM3 and TIM2 with TIM3 TI1 input. . . . . | 1674 |
| Figure 454. General-purpose timer block diagram (TIM12). . . . . | 1709 |
| Figure 455. General-purpose timer block diagram (TIM13/TIM14) . . . . . | 1710 |
| Figure 456. Counter timing diagram with prescaler division change from 1 to 2 . . . . . | 1712 |
| Figure 457. Counter timing diagram with prescaler division change from 1 to 4 . . . . . | 1712 |
| Figure 458. Counter timing diagram, internal clock divided by 1 . . . . . | 1713 |
| Figure 459. Counter timing diagram, internal clock divided by 2 . . . . . | 1714 |
| Figure 460. Counter timing diagram, internal clock divided by 4 . . . . . | 1714 |
| Figure 461. Counter timing diagram, internal clock divided by N . . . . . | 1715 |
| Figure 462. Counter timing diagram, update event when ARPE=0 (TIMx_ARR not preloaded). . . . . | 1715 |
| Figure 463. Counter timing diagram, update event when ARPE=1 (TIMx_ARR preloaded). . . . . | 1716 |
| Figure 464. Control circuit in normal mode, internal clock divided by 1 . . . . . | 1717 |
| Figure 465. TI2 external clock connection example. . . . . | 1717 |
| Figure 466. Control circuit in external clock mode 1 . . . . . | 1718 |
| Figure 467. Capture/compare channel (example: channel 1 input stage). . . . . | 1719 |
| Figure 468. Capture/compare channel 1 main circuit . . . . . | 1719 |
| Figure 469. Output stage of capture/compare channel (channel 1). . . . . | 1720 |
| Figure 470. PWM input mode timing . . . . . | 1722 |
| Figure 471. Output compare mode, toggle on OC1. . . . . | 1724 |
| Figure 472. Edge-aligned PWM waveforms (ARR=8). . . . . | 1725 |
| Figure 473. Combined PWM mode on channel 1 and 2 . . . . . | 1726 |
| Figure 474. Example of one pulse mode. . . . . | 1727 |
| Figure 475. Retriggerable one pulse mode . . . . . | 1728 |
| Figure 476. Measuring time interval between edges on 2 signals. . . . . | 1729 |
| Figure 477. Control circuit in reset mode . . . . . | 1730 |
| Figure 478. Control circuit in gated mode . . . . . | 1731 |
| Figure 479. Control circuit in trigger mode. . . . . | 1731 |
| Figure 480. TIM15 block diagram . . . . . | 1763 |
| Figure 481. TIM16/TIM17 block diagram . . . . . | 1764 |
| Figure 482. Counter timing diagram with prescaler division change from 1 to 2 . . . . . | 1766 |
| Figure 483. Counter timing diagram with prescaler division change from 1 to 4 . . . . . | 1766 |
| Figure 484. Counter timing diagram, internal clock divided by 1 . . . . . | 1768 |
| Figure 485. Counter timing diagram, internal clock divided by 2 . . . . . | 1768 |
| Figure 486. Counter timing diagram, internal clock divided by 4 . . . . . | 1769 |
| Figure 487. Counter timing diagram, internal clock divided by N . . . . . | 1769 |
| Figure 488. Counter timing diagram, update event when ARPE=0 (TIMx_ARR not preloaded). . . . . | 1770 |
| Figure 489. Counter timing diagram, update event when ARPE=1 (TIMx_ARR preloaded). . . . . | 1770 |
| Figure 490. Update rate examples depending on mode and TIMx_RCR register settings . . . . . | 1772 |
| Figure 491. Control circuit in normal mode, internal clock divided by 1 . . . . . | 1773 |
| Figure 492. TI2 external clock connection example. . . . . | 1773 |
| Figure 493. Control circuit in external clock mode 1 . . . . . | 1774 |
| Figure 494. Capture/compare channel (example: channel 1 input stage). . . . . | 1775 |
| Figure 495. Capture/compare channel 1 main circuit . . . . . | 1775 |
| Figure 496. Output stage of capture/compare channel (channel 1). . . . . | 1776 |
| Figure 497. Output stage of capture/compare channel (channel 2 for TIM15) . . . . . | 1776 |
| Figure 498. PWM input mode timing . . . . . | 1778 |
| Figure 499. Output compare mode, toggle on OC1 . . . . . | 1780 |
| Figure 500. Edge-aligned PWM waveforms (ARR=8) . . . . . | 1781 |
| Figure 501. Combined PWM mode on channel 1 and 2 . . . . . | 1782 |
| Figure 502. Complementary output with dead-time insertion. . . . . | 1783 |
| Figure 503. Dead-time waveforms with delay greater than the negative pulse. . . . . | 1783 |
| Figure 504. Dead-time waveforms with delay greater than the positive pulse. . . . . | 1784 |
| Figure 505. Break circuitry overview . . . . . | 1786 |
| Figure 506. Output behavior in response to a break . . . . . | 1788 |
| Figure 507. 6-step generation, COM example (OSSR=1) . . . . . | 1789 |
| Figure 508. Example of one pulse mode . . . . . | 1790 |
| Figure 509. Retriggerable one pulse mode . . . . . | 1792 |
| Figure 510. Measuring time interval between edges on 2 signals . . . . . | 1793 |
| Figure 511. Control circuit in reset mode . . . . . | 1794 |
| Figure 512. Control circuit in gated mode . . . . . | 1795 |
| Figure 513. Control circuit in trigger mode . . . . . | 1796 |
| Figure 514. Basic timer block diagram. . . . . | 1847 |
| Figure 515. Counter timing diagram with prescaler division change from 1 to 2 . . . . . | 1849 |
| Figure 516. Counter timing diagram with prescaler division change from 1 to 4 . . . . . | 1849 |
| Figure 517. Counter timing diagram, internal clock divided by 1 . . . . . | 1850 |
| Figure 518. Counter timing diagram, internal clock divided by 2 . . . . . | 1851 |
| Figure 519. Counter timing diagram, internal clock divided by 4 . . . . . | 1851 |
| Figure 520. Counter timing diagram, internal clock divided by N . . . . . | 1852 |
| Figure 521. Counter timing diagram, update event when ARPE = 0 (TIMx_ARR not preloaded). . . . . | 1852 |
| Figure 522. Counter timing diagram, update event when ARPE=1 (TIMx_ARR preloaded). . . . . | 1853 |
| Figure 523. Control circuit in normal mode, internal clock divided by 1 . . . . . | 1854 |
| Figure 524. Low-power timer block diagram (LPTIM1 and LPTIM2) . . . . . | 1861 |
| Figure 525. Low-power timer block diagram (LPTIM3) . . . . . | 1862 |
| Figure 526. Low-power timer block diagram (LPTIM4 and LPTIM5) . . . . . | 1862 |
| Figure 527. Glitch filter timing diagram . . . . . | 1867 |
| Figure 528. LPTIM output waveform, single counting mode configuration . . . . . | 1869 |
| Figure 529. LPTIM output waveform, Single counting mode configuration and Set-once mode activated (WAVE bit is set). . . . . | 1869 |
| Figure 530. LPTIM output waveform, Continuous counting mode configuration . . . . . | 1870 |
| Figure 531. Waveform generation . . . . . | 1871 |
| Figure 532. Encoder mode counting sequence . . . . . | 1875 |
| Figure 533. Watchdog block diagram . . . . . | 1889 |
| Figure 534. Window watchdog timing diagram . . . . . | 1890 |
| Figure 535. Independent watchdog block diagram . . . . . | 1895 |
| Figure 536. RTC block overview . . . . . | 1905 |
| Figure 537. Detailed RTC block diagram. . . . . | 1906 |
| Figure 538. Tamper detection . . . . . | 1907 |
| Figure 539. I2C block diagram . . . . . | 1952 |
| Figure 540. I2C bus protocol . . . . . | 1954 |
| Figure 541. Setup and hold timings . . . . . | 1956 |
| Figure 542. I2C initialization flow . . . . . | 1959 |
| Figure 543. Data reception . . . . . | 1960 |
| Figure 544. Data transmission . . . . . | 1961 |
| Figure 545. Slave initialization flow . . . . . | 1964 |
| Figure 546. | Transfer sequence flow for I2C slave transmitter, NOSTRETCH = 0 . . . . . | 1966 |
| Figure 547. | Transfer sequence flow for I2C slave transmitter, NOSTRETCH = 1 . . . . . | 1967 |
| Figure 548. | Transfer bus diagrams for I2C slave transmitter (mandatory events only) . . . . . | 1968 |
| Figure 549. | Transfer sequence flow for slave receiver with NOSTRETCH = 0 . . . . . | 1969 |
| Figure 550. | Transfer sequence flow for slave receiver with NOSTRETCH = 1 . . . . . | 1970 |
| Figure 551. | Transfer bus diagrams for I2C slave receiver (mandatory events only) . . . . . | 1970 |
| Figure 552. | Master clock generation . . . . . | 1972 |
| Figure 553. | Master initialization flow . . . . . | 1974 |
| Figure 554. | 10-bit address read access with HEAD10R = 0 . . . . . | 1974 |
| Figure 555. | 10-bit address read access with HEAD10R = 1 . . . . . | 1975 |
| Figure 556. | Transfer sequence flow for I2C master transmitter for N ≤ 255 bytes . . . . . | 1976 |
| Figure 557. | Transfer sequence flow for I2C master transmitter for N > 255 bytes . . . . . | 1977 |
| Figure 558. | Transfer bus diagrams for I2C master transmitter (mandatory events only) . . . . . | 1978 |
| Figure 559. | Transfer sequence flow for I2C master receiver for N ≤ 255 bytes . . . . . | 1980 |
| Figure 560. | Transfer sequence flow for I2C master receiver for N > 255 bytes . . . . . | 1981 |
| Figure 561. | Transfer bus diagrams for I2C master receiver (mandatory events only) . . . . . | 1982 |
| Figure 562. | Timeout intervals for \( t_{LOW:SEXT} \) , \( t_{LOW:MEXT} \) . . . . . | 1986 |
| Figure 563. | Transfer sequence flow for SMBus slave transmitter N bytes + PEC . . . . . | 1990 |
| Figure 564. | Transfer bus diagrams for SMBus slave transmitter (SBC = 1) . . . . . | 1990 |
| Figure 565. | Transfer sequence flow for SMBus slave receiver N bytes + PEC . . . . . | 1992 |
| Figure 566. | Bus transfer diagrams for SMBus slave receiver (SBC = 1) . . . . . | 1993 |
| Figure 567. | Bus transfer diagrams for SMBus master transmitter . . . . . | 1994 |
| Figure 568. | Bus transfer diagrams for SMBus master receiver . . . . . | 1996 |
| Figure 569. | I2C interrupt mapping diagram . . . . . | 2002 |
| Figure 570. | USART block diagram . . . . . | 2021 |
| Figure 571. | Word length programming . . . . . | 2024 |
| Figure 572. | Configurable stop bits . . . . . | 2026 |
| Figure 573. | TC/TXE behavior when transmitting . . . . . | 2029 |
| Figure 574. | Start bit detection when oversampling by 16 or 8 . . . . . | 2030 |
| Figure 575. | usart_ker_ck clock divider block diagram . . . . . | 2033 |
| Figure 576. | Data sampling when oversampling by 16 . . . . . | 2034 |
| Figure 577. | Data sampling when oversampling by 8 . . . . . | 2035 |
| Figure 578. | Mute mode using Idle line detection . . . . . | 2042 |
| Figure 579. | Mute mode using address mark detection . . . . . | 2043 |
| Figure 580. | Break detection in LIN mode (11-bit break length - LBDL bit is set) . . . . . | 2046 |
| Figure 581. | Break detection in LIN mode vs. Framing error detection . . . . . | 2047 |
| Figure 582. | USART example of synchronous master transmission . . . . . | 2048 |
| Figure 583. | USART data clock timing diagram in synchronous master mode (M bits = 00) . . . . . | 2048 |
| Figure 584. | USART data clock timing diagram in synchronous master mode (M bits = 01) . . . . . | 2049 |
| Figure 585. | USART data clock timing diagram in synchronous slave mode (M bits = 00) . . . . . | 2050 |
| Figure 586. | ISO 7816-3 asynchronous protocol . . . . . | 2052 |
| Figure 587. | Parity error detection using the 1.5 stop bits . . . . . | 2054 |
| Figure 588. | IrDA SIR ENDEC block diagram . . . . . | 2058 |
| Figure 589. | IrDA data modulation (3/16) - Normal mode . . . . . | 2058 |
| Figure 590. | Transmission using DMA . . . . . | 2060 |
| Figure 591. | Reception using DMA . . . . . | 2061 |
| Figure 592. Hardware flow control between 2 USARTs . . . . . | 2061 |
| Figure 593. RS232 RTS flow control . . . . . | 2062 |
| Figure 594. RS232 CTS flow control . . . . . | 2063 |
| Figure 595. Wake-up event verified (wake-up event = address match, FIFO disabled) . . . . . | 2066 |
| Figure 596. Wake-up event not verified (wake-up event = address match, FIFO disabled) . . . . . | 2066 |
| Figure 597. LPUART block diagram . . . . . | 2108 |
| Figure 598. LPUART word length programming . . . . . | 2110 |
| Figure 599. Configurable stop bits . . . . . | 2112 |
| Figure 600. TC/TXE behavior when transmitting . . . . . | 2114 |
| Figure 601. lpuart_ker_ck clock divider block diagram . . . . . | 2117 |
| Figure 602. Mute mode using Idle line detection . . . . . | 2121 |
| Figure 603. Mute mode using address mark detection . . . . . | 2122 |
| Figure 604. Transmission using DMA . . . . . | 2124 |
| Figure 605. Reception using DMA . . . . . | 2125 |
| Figure 606. Hardware flow control between 2 LPUARTs . . . . . | 2126 |
| Figure 607. RS232 RTS flow control . . . . . | 2126 |
| Figure 608. RS232 CTS flow control . . . . . | 2127 |
| Figure 609. Wake-up event verified (wake-up event = address match, FIFO disabled) . . . . . | 2130 |
| Figure 610. Wake-up event not verified (wake-up event = address match, FIFO disabled) . . . . . | 2130 |
| Figure 611. SPI2S block diagram . . . . . | 2160 |
| Figure 612. Full-duplex single master/ single slave application . . . . . | 2162 |
| Figure 613. Half-duplex single master/ single slave application . . . . . | 2162 |
| Figure 614. Simplex single master/single slave application (master in transmit-only/ slave in receive-only mode) . . . . . | 2163 |
| Figure 615. Master and three independent slaves at star topology . . . . . | 2164 |
| Figure 616. Master and three slaves at circular (daisy chain) topology . . . . . | 2166 |
| Figure 617. Multimaster application . . . . . | 2167 |
| Figure 618. Scheme of SS control logic . . . . . | 2169 |
| Figure 619. Data flow timing control (SSOE=1, SSOM=0, SSM=0) . . . . . | 2169 |
| Figure 620. SS interleaving pulses between data (SSOE=1, SSOM=1,SSM=0). . . . . | 2170 |
| Figure 621. Data clock timing diagram . . . . . | 2172 |
| Figure 622. Data alignment when data size is not equal to 8-bit, 16-bit or 32-bit . . . . . | 2173 |
| Figure 623. Packing data in FIFO for transmission and reception . . . . . | 2181 |
| Figure 624. TI mode transfer . . . . . | 2183 |
| Figure 625. Optional configurations of slave's behavior at detection of underrun condition . . . . . | 2185 |
| Figure 626. Low-power mode application example . . . . . | 2189 |
| Figure 627. Waveform examples . . . . . | 2196 |
| Figure 628. Master I2S Philips protocol waveforms (16/32-bit full accuracy) . . . . . | 2197 |
| Figure 629. I2S Philips standard waveforms . . . . . | 2197 |
| Figure 630. Master MSB Justified 16-bit or 32-bit full-accuracy length . . . . . | 2198 |
| Figure 631. Master MSB justified 16 or 24-bit data length . . . . . | 2198 |
| Figure 632. Slave MSB justified . . . . . | 2199 |
| Figure 633. LSB justified 16 or 24-bit data length . . . . . | 2199 |
| Figure 634. Master PCM when the frame length is equal the data length . . . . . | 2200 |
| Figure 635. Master PCM standard waveforms (16 or 24-bit data length) . . . . . | 2200 |
| Figure 636. Slave PCM waveforms . . . . . | 2201 |
| Figure 637. Startup sequence, I2S Philips standard, master . . . . . | 2204 |
| Figure 638. Startup sequence, I2S Philips standard, slave . . . . . | 2204 |
| Figure 639. Stop sequence, I2S Philips standard, master . . . . . | 2205 |
| Figure 640. I 2 S clock generator architecture . . . . . | 2206 |
| Figure 641. Data Format . . . . . | 2208 |
| Figure 642. Handling of underrun situation . . . . . | 2210 |
| Figure 643. Handling of overrun situation . . . . . | 2211 |
| Figure 644. Frame error detection, with FIXCH=0 . . . . . | 2212 |
| Figure 645. Frame error detection, with FIXCH=1 . . . . . | 2212 |
| Figure 646. SAI functional block diagram . . . . . | 2239 |
| Figure 647. Audio frame . . . . . | 2243 |
| Figure 648. FS role is start of frame + channel side identification (FSDEF = TRIS = 1) . . . . . | 2245 |
| Figure 649. FS role is start of frame (FSDEF = 0) . . . . . | 2246 |
| Figure 650. Slot size configuration with FBOFF = 0 in SAI_xSLOTR . . . . . | 2247 |
| Figure 651. First bit offset . . . . . | 2247 |
| Figure 652. Audio block clock generator overview . . . . . | 2248 |
| Figure 653. PDM typical connection and timing . . . . . | 2252 |
| Figure 654. Detailed PDM interface block diagram . . . . . | 2253 |
| Figure 655. Start-up sequence . . . . . | 2254 |
| Figure 656. SAI_ADR format in TDM, 32-bit slot width . . . . . | 2255 |
| Figure 657. SAI_ADR format in TDM, 16-bit slot width . . . . . | 2256 |
| Figure 658. SAI_ADR format in TDM, 8-bit slot width . . . . . | 2257 |
| Figure 659. AC'97 audio frame . . . . . | 2260 |
| Figure 660. Example of typical AC'97 configuration on devices featuring at least 2 embedded SAIs (three external AC'97 decoders) . . . . . | 2261 |
| Figure 661. SPDIF format . . . . . | 2262 |
| Figure 662. SAI_xDR register ordering . . . . . | 2263 |
| Figure 663. Data companding hardware in an audio block in the SAI . . . . . | 2267 |
| Figure 664. Tristate strategy on SD output line on an inactive slot . . . . . | 2268 |
| Figure 665. Tristate on output data line in a protocol like I2S . . . . . | 2269 |
| Figure 666. Overrun detection error . . . . . | 2270 |
| Figure 667. FIFO underrun event . . . . . | 2270 |
| Figure 668. SPDIFRX block diagram . . . . . | 2306 |
| Figure 669. S/PDIF sub-frame format . . . . . | 2307 |
| Figure 670. S/PDIF block format . . . . . | 2307 |
| Figure 671. S/PDIF Preambles . . . . . | 2308 |
| Figure 672. Channel coding example . . . . . | 2309 |
| Figure 673. SPDIFRX decoder . . . . . | 2310 |
| Figure 674. Noise filtering and edge detection . . . . . | 2310 |
| Figure 675. Thresholds . . . . . | 2312 |
| Figure 676. Synchronization flowchart . . . . . | 2314 |
| Figure 677. Synchronization process scheduling . . . . . | 2315 |
| Figure 678. SPDIFRX States . . . . . | 2316 |
| Figure 679. SPDIFRX_FMTx_DR register format . . . . . | 2318 |
| Figure 680. Channel/user data format . . . . . | 2319 |
| Figure 681. S/PDIF overrun error when RXSTEO = 0 . . . . . | 2321 |
| Figure 682. S/PDIF overrun error when RXSTEO = 1 . . . . . | 2322 |
| Figure 683. SPDIFRX interface interrupt mapping diagram . . . . . | 2323 |
| Figure 684. S1 signal coding . . . . . | 2337 |
| Figure 685. S2 signal coding . . . . . | 2337 |
| Figure 686. SWPMI block diagram . . . . . | 2339 |
| Figure 687. SWP bus states . . . . . | 2342 |
| Figure 688. SWP frame structure . . . . . | 2343 |
| Figure 689. SWPMI No software buffer mode transmission . . . . . | 2344 |
| Figure 690. SWPMI No software buffer mode transmission, consecutive frames . . . . . | 2345 |
| Figure 691. SWPMI Multi software buffer mode transmission . . . . . | 2347 |
| Figure 692. SWPMI No software buffer mode reception . . . . . | 2349 |
| Figure 693. SWPMI single software buffer mode reception. . . . . | 2350 |
| Figure 694. SWPMI Multi software buffer mode reception . . . . . | 2352 |
| Figure 695. SWPMI single buffer mode reception with CRC error. . . . . | 2353 |
| Figure 696. MDIOS block diagram . . . . . | 2366 |
| Figure 697. MDIO protocol write frame waveform . . . . . | 2367 |
| Figure 698. MDIO protocol read frame waveform . . . . . | 2367 |
| Figure 699. SDMMC “no response” and “no data” operations. . . . . | 2379 |
| Figure 700. SDMMC (multiple) block read operation. . . . . | 2379 |
| Figure 701. SDMMC (multiple) block write operation. . . . . | 2380 |
| Figure 702. SDMMC (sequential) stream read operation . . . . . | 2380 |
| Figure 703. SDMMC (sequential) stream write operation . . . . . | 2380 |
| Figure 704. SDMMC block diagram. . . . . | 2382 |
| Figure 705. SDMMC Command and data phase relation . . . . . | 2384 |
| Figure 706. Control unit . . . . . | 2386 |
| Figure 707. Command/response path . . . . . | 2387 |
| Figure 708. Command path state machine (CPSM) . . . . . | 2388 |
| Figure 709. Data path . . . . . | 2394 |
| Figure 710. DDR mode data packet clocking . . . . . | 2395 |
| Figure 711. DDR mode CRC status / boot acknowledgment clocking. . . . . | 2395 |
| Figure 712. Data path state machine (DPSM) . . . . . | 2396 |
| Figure 713. CLKMUX unit . . . . . | 2407 |
| Figure 714. Asynchronous interrupt generation. . . . . | 2412 |
| Figure 715. Synchronous interrupt period data read . . . . . | 2412 |
| Figure 716. Synchronous interrupt period data write . . . . . | 2413 |
| Figure 717. Asynchronous interrupt period data read . . . . . | 2414 |
| Figure 718. Asynchronous interrupt period data write . . . . . | 2414 |
| Figure 719. Clock stop with SDMMC_CK for DS, HS, SDR12, SDR25. . . . . | 2417 |
| Figure 720. Clock stop with SDMMC_CK for DDR50, SDR50, SDR104. . . . . | 2417 |
| Figure 721. Read Wait with SDMMC_CK < 50 MHz . . . . . | 2418 |
| Figure 722. Read Wait with SDMMC_CK > 50 MHz . . . . . | 2419 |
| Figure 723. CMD12 stream timing . . . . . | 2421 |
| Figure 724. CMD5 Sleep Awake procedure . . . . . | 2423 |
| Figure 725. Normal boot mode operation . . . . . | 2425 |
| Figure 726. Alternative boot mode operation. . . . . | 2426 |
| Figure 727. Command response R1b busy signaling . . . . . | 2427 |
| Figure 728. SDMMC state control . . . . . | 2428 |
| Figure 729. Card cycle power / power up diagram . . . . . | 2429 |
| Figure 730. CMD11 signal voltage switch sequence . . . . . | 2430 |
| Figure 731. Voltage switch transceiver typical application. . . . . | 2432 |
| Figure 732. CAN subsystem . . . . . | 2461 |
| Figure 733. FDCAN block diagram . . . . . | 2463 |
| Figure 734. Transceiver delay measurement . . . . . | 2468 |
| Figure 735. Pin control in bus monitoring mode . . . . . | 2470 |
| Figure 736. Pin control in loop back mode. . . . . | 2472 |
| Figure 737. Message RAM configuration. . . . . | 2473 |
| Figure 738. Standard message ID filter path . . . . . | 2476 |
| Figure 739. Extended message ID filter path. . . . . | 2477 |
| Figure 740. Example of mixed configuration dedicated Tx buffers / Tx FIFO . . . . . | 2483 |
| Figure 741. Example of mixed configuration dedicated Tx buffers / Tx queue . . . . . | 2483 |
| Figure 742. Bit timing . . . . . | 2485 |
| Figure 743. Bypass operation . . . . . | 2487 |
| Figure 744. FSM calibration. . . . . | 2488 |
| Figure 745. Cycle time and global time synchronization . . . . . | 2503 |
| Figure 746. TTCAN level 0 and level 2 drift compensation . . . . . | 2504 |
| Figure 747. Level 0 schedule synchronization state machine . . . . . | 2511 |
| Figure 748. Level 0 master to slave relation . . . . . | 2512 |
| Figure 749. USB1 OTG_HS high-speed block diagram (OTG_HS1) . . . . . | 2594 |
| Figure 750. USB2 OTG_HS high-speed block diagram (OTG_HS2) . . . . . | 2594 |
| Figure 751. OTG_HS A-B device connection . . . . . | 2597 |
| Figure 752. OTG_HS peripheral-only connection . . . . . | 2599 |
| Figure 753. OTG_HS host-only connection . . . . . | 2603 |
| Figure 754. SOF connectivity (SOF trigger output to TIM and ITR1 connection) . . . . . | 2607 |
| Figure 755. Updating OTG_HFIR dynamically (RLDCTRL = 1) . . . . . | 2609 |
| Figure 756. Device-mode FIFO address mapping and AHB FIFO access mapping . . . . . | 2610 |
| Figure 757. Host-mode FIFO address mapping and AHB FIFO access mapping . . . . . | 2611 |
| Figure 758. Interrupt hierarchy. . . . . | 2615 |
| Figure 759. Transmit FIFO write task . . . . . | 2720 |
| Figure 760. Receive FIFO read task . . . . . | 2721 |
| Figure 761. Normal bulk/control OUT/SETUP . . . . . | 2722 |
| Figure 762. Bulk/control IN transactions . . . . . | 2726 |
| Figure 763. Normal interrupt OUT . . . . . | 2729 |
| Figure 764. Normal interrupt IN . . . . . | 2734 |
| Figure 765. Isochronous OUT transactions . . . . . | 2736 |
| Figure 766. Isochronous IN transactions . . . . . | 2739 |
| Figure 767. Normal bulk/control OUT/SETUP transactions - DMA . . . . . | 2741 |
| Figure 768. Normal bulk/control IN transaction - DMA. . . . . | 2743 |
| Figure 769. Normal interrupt OUT transactions - DMA mode . . . . . | 2744 |
| Figure 770. Normal interrupt IN transactions - DMA mode . . . . . | 2745 |
| Figure 771. Normal isochronous OUT transaction - DMA mode . . . . . | 2746 |
| Figure 772. Normal isochronous IN transactions - DMA mode . . . . . | 2747 |
| Figure 773. Receive FIFO packet read . . . . . | 2753 |
| Figure 774. Processing a SETUP packet . . . . . | 2755 |
| Figure 775. Bulk OUT transaction . . . . . | 2762 |
| Figure 776. TRDT max timing case . . . . . | 2771 |
| Figure 777. A-device SRP . . . . . | 2772 |
| Figure 778. B-device SRP . . . . . | 2773 |
| Figure 779. A-device HNP . . . . . | 2774 |
| Figure 780. B-device HNP . . . . . | 2776 |
| Figure 781. Ethernet high-level block diagram . . . . . | 2784 |
| Figure 782. DMA transmission flow (standard mode) . . . . . | 2787 |
| Figure 783. DMA transmission flow (OSP mode) . . . . . | 2789 |
| Figure 784. Receive DMA flow . . . . . | 2791 |
| Figure 785. Overview of MAC transmission flow . . . . . | 2795 |
| Figure 786. MAC reception flow . . . . . | 2797 |
| Figure 787. Packet filtering sequence . . . . . | 2801 |
| Figure 788. Networked time synchronization. . . . . | 2810 |
| Figure 789. Propagation delay calculation in clocks supporting peer-to-peer path correction . . . . . | 2811 |
| Figure 790. System time update using fine correction method . . . . . | 2821 |
| Figure 791. TCP segmentation offload overview . . . . . | 2838 |
| Figure 792. TCP segmentation offload flow . . . . . | 2839 |
| Figure 793. Header and payload fields of segmented packets . . . . . | 2842 |
| Figure 794. Supported PHY interfaces . . . . . | 2852 |
| Figure 795. SMA Interface block . . . . . | 2852 |
| Figure 796. MDIO packet structure (Clause 45) . . . . . | 2853 |
| Figure 797. MDIO packet structure (Clause 22) . . . . . | 2854 |
| Figure 798. SMA write operation flow . . . . . | 2856 |
| Figure 799. Write data packet . . . . . | 2857 |
| Figure 800. Read data packet . . . . . | 2857 |
| Figure 801. Media independent interface (MII) signals . . . . . | 2859 |
| Figure 802. RMII block diagram . . . . . | 2861 |
| Figure 803. Transmission bit order . . . . . | 2862 |
| Figure 804. Receive bit order . . . . . | 2863 |
| Figure 805. LPI transitions (Transmit, 100 Mbds) . . . . . | 2871 |
| Figure 806. LPI Tx clock gating (when LPITCSE = 1) . . . . . | 2872 |
| Figure 807. LPI transitions (receive, 100 Mbps) . . . . . | 2873 |
| Figure 808. Descriptor ring structure . . . . . | 2894 |
| Figure 809. DMA descriptor ring . . . . . | 2895 |
| Figure 810. Transmit descriptor (read format) . . . . . | 2896 |
| Figure 811. Transmit descriptor write-back format . . . . . | 2901 |
| Figure 812. Transmit context descriptor format . . . . . | 2905 |
| Figure 813. Receive normal descriptor (read format) . . . . . | 2909 |
| Figure 814. Receive normal descriptor (write-back format) . . . . . | 2912 |
| Figure 815. Receive context descriptor . . . . . | 2919 |
| Figure 816. Generation of ETH_DMAISR flags . . . . . | 2937 |
| Figure 817. HDMI-CEC block diagram . . . . . | 3058 |
| Figure 818. Message structure . . . . . | 3058 |
| Figure 819. Blocks . . . . . | 3059 |
| Figure 820. Bit timings . . . . . | 3059 |
| Figure 821. Signal free time . . . . . | 3060 |
| Figure 822. Arbitration phase . . . . . | 3060 |
| Figure 823. SFT of three nominal bit periods . . . . . | 3060 |
| Figure 824. Error bit timing . . . . . | 3061 |
| Figure 825. Error handling . . . . . | 3063 |
| Figure 826. TXERR detection . . . . . | 3064 |
| Figure 827. Block diagram of debug infrastructure . . . . . | 3075 |
| Figure 828. Power domains of debug infrastructure . . . . . | 3077 |
| Figure 829. Clock domains of debug infrastructure . . . . . | 3078 |
| Figure 830. SWD successful data transfer . . . . . | 3081 |
| Figure 831. JTAG TAP state machine . . . . . | 3082 |
| Figure 832. Debug and access port connections . . . . . | 3093 |
| Figure 833. APB-D CoreSight component topology . . . . . | 3101 |
| Figure 834. Global timestamp distribution . . . . . | 3109 |
| Figure 835. Embedded cross trigger . . . . . | 3116 |
| Figure 836. Mapping of trigger inputs to outputs . . . . . | 3118 |
| Figure 837. ETF state transition diagram . . . . . | 3147 |
| Figure 838. Cortex-M7 CoreSight topology . . . . . | 3216 |
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. Power control (PWR)
- 7. Low-power D3 domain application example
- 8. Reset and Clock Control (RCC)
- 9. Clock recovery system (CRS)
- 10. Hardware semaphore (HSEM)
- 11. General-purpose I/Os (GPIO)
- 12. System configuration controller (SYSCFG)
- 13. Block interconnect
- 14. MDMA controller (MDMA)
- 15. Direct memory access controller (DMA)
- 16. Basic direct memory access controller (BDMA)
- 17. DMA request multiplexer (DMAMUX)
- 18. Chrom-ART Accelerator controller (DMA2D)
- 19. Nested vectored interrupt controller (NVIC)
- 20. Extended interrupt and event controller (EXTI)
- 21. Cyclic redundancy check calculation unit (CRC)
- 22. Flexible memory controller (FMC)
- 23. Quad-SPI interface (QUADSPI)
- 24. Delay block (DLYB)
- 25. Analog-to-digital converters (ADC)
- 26. Digital-to-analog converter (DAC)
- 27. Voltage reference buffer (VREFBUF)
- 28. Comparator (COMP)
- 29. Operational amplifiers (OPAMP)
- 30. Digital filter for sigma delta modulators (DFSDM)
- 31. Digital camera interface (DCMI)
- 32. LCD-TFT display controller (LTDC)
- 33. JPEG codec (JPEG)
- 34. True random number generator (RNG)
- 35. Cryptographic processor (CRYP)
- 36. Hash processor (HASH)
- 37. High-Resolution Timer (HRTIM)
- 38. Advanced-control timers (TIM1/TIM8)
- 39. General-purpose timers (TIM2/TIM3/TIM4/TIM5)
- 40. General-purpose timers (TIM12/TIM13/TIM14)
- 41. General-purpose timers (TIM15/TIM16/TIM17)
- 42. Basic timers (TIM6/TIM7)
- 43. Low-power timer (LPTIM)
- 44. System window watchdog (WWDG)
- 45. Independent watchdog (IWDG)
- 46. Real-time clock (RTC)
- 47. Inter-integrated circuit (I2C) interface
- 48. Universal synchronous/asynchronous receiver transmitter (USART/UART)
- 49. Low-power universal asynchronous receiver transmitter (LPUART)
- 50. Serial peripheral interface (SPI)
- 51. Serial audio interface (SAI)
- 52. SPDIF receiver interface (SPDIFRX)
- 53. Single wire protocol master interface (SWPMI)
- 54. Management data input/output (MDIOS)
- 55. Secure digital input/output MultiMediaCard interface (SDMMC)
- 56. Controller area network with flexible data rate (FDCAN)
- 57. USB on-the-go high-speed (OTG_HS)
- 58. Ethernet (ETH): media access control (MAC) with DMA controller
- 59. HDMI-CEC controller (CEC)
- 60. Debug infrastructure
- 61. Device electronic signature
- 62. Important security notice
- 63. Revision history
- Index