RM0477-STM32H7Rx-7Sx
This reference manual targets application developers. It provides complete information on how to use the STM32H7R3, STM32H7S3, STM32H7R7, and STM32H7S7 memory and peripherals.
Microcontrollers of the STM32H7R3/7S3 and STM32H7R7/7S7 lines have different memory sizes, packages, and peripherals. They are referred to as STM32H7Rx/7Sx hereafter.
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 manual available from www.arm.com .
STM32H7Rx/7Sx microcontrollers include ST state-of-the-art patented technology.
Related documents
- • Cortex ® -M7 programming manual (PM0253)
- • STM32H7S3x8 and STM32H7S7x8 (DS14359)
- • STM32H7R3x8 and STM32H7R7x8 (DS14360)
Contents
- 1 Documentation conventions . . . . . 120
- 1.1 General information . . . . . 120
- 1.2 List of abbreviations for registers . . . . . 120
- 1.3 Register reset value . . . . . 121
- 1.4 Glossary . . . . . 121
- 1.5 Availability of peripherals . . . . . 121
- 1.6 Availability of security features . . . . . 121
- 2 Memory and bus architecture . . . . . 122
- 2.1 System architecture . . . . . 122
- 2.1.1 Bus matrices . . . . . 125
- 2.1.2 Bus-to-bus bridges . . . . . 125
- 2.1.3 TCM-buses . . . . . 125
- 2.1.4 CPU buses . . . . . 125
- 2.1.5 Bus master peripherals . . . . . 126
- 2.1.6 GPU2D-bus . . . . . 127
- 2.1.7 GFXMMU-bus . . . . . 127
- 2.1.8 Clocks to functional blocks . . . . . 127
- 2.2 AXI interconnect matrix (AXIM) . . . . . 128
- 2.2.1 AXI introduction . . . . . 128
- 2.2.2 AXI interconnect main features . . . . . 128
- 2.2.3 AXI interconnect functional description . . . . . 129
- 2.2.4 AXI interconnect registers . . . . . 132
- 2.2.5 AXI interconnect register map . . . . . 140
- 2.3 Memory organization . . . . . 150
- 2.3.1 Introduction . . . . . 150
- 2.3.2 Memory map and register boundary addresses . . . . . 151
- 2.4 Embedded SRAM . . . . . 160
- 2.5 Flash memory overview . . . . . 163
- 2.6 Boot configuration . . . . . 163
- 2.1 System architecture . . . . . 122
- 3 RAMECC monitoring (RAMECC) . . . . . 165
- 3.1 Introduction . . . . . 165
| 3.2 | RAMECC main features . . . . . | 165 |
| 3.3 | RAMECC functional description . . . . . | 165 |
| 3.3.1 | RAMECC internal signals . . . . . | 167 |
| 3.3.2 | RAMECC monitor mapping . . . . . | 168 |
| 3.3.3 | ECC fault injection test on SRAM1, SRAM3, and TCM . . . . . | 169 |
| 3.4 | RAMECC low-power modes . . . . . | 169 |
| 3.5 | RAMECC interrupts . . . . . | 170 |
| 3.6 | RAMECC registers . . . . . | 171 |
| 3.6.1 | RAMECC interrupt enable register (RAMECC_IER) . . . . . | 171 |
| 3.6.2 | RAMECC monitor x configuration register (RAMECC_MxCN) . . . . . | 172 |
| 3.6.3 | RAMECC monitor x status register (RAMECC_MxSR) . . . . . | 174 |
| 3.6.4 | RAMECC monitor x failing address register (RAMECC_MxFAR) . . . . . | 174 |
| 3.6.5 | RAMECC monitor x failing data low register (RAMECC_MxFDRL) . . . . . | 175 |
| 3.6.6 | RAMECC monitor x failing data high register (RAMECC_MxFDRH) . . . . . | 175 |
| 3.6.7 | RAMECC monitor x failing ECC error code register (RAMECC_MxFECR) . . . . . | 176 |
| 3.6.8 | RAMECC register map . . . . . | 177 |
| 4 | System security . . . . . | 178 |
| 4.1 | Key security features . . . . . | 178 |
| 4.2 | Secure install . . . . . | 179 |
| 4.3 | Secure boot . . . . . | 180 |
| 4.3.1 | Unique boot entry . . . . . | 180 |
| 4.3.2 | Security services in system flash memory . . . . . | 181 |
| 4.4 | Secure update . . . . . | 183 |
| 4.5 | Resource isolation using hide protect levels . . . . . | 183 |
| 4.5.1 | Temporal isolation using secure hide protection (HDP) . . . . . | 183 |
| 4.6 | Secure execution . . . . . | 184 |
| 4.6.1 | Memory protection unit (MPU) . . . . . | 184 |
| 4.6.2 | Embedded flash memory write protection . . . . . | 184 |
| 4.6.3 | Tamper detection and response . . . . . | 184 |
| 4.7 | Secure storage . . . . . | 187 |
| 4.7.1 | Hardware secret key management . . . . . | 188 |
| 4.7.2 | Unique ID ..... | 189 |
| 4.8 | Crypto engines ..... | 189 |
| 4.8.1 | Crypto engines features ..... | 189 |
| 4.8.2 | Secure AES co-processor (SAES) ..... | 190 |
| 4.8.3 | Memory cipher engine (MCE) ..... | 190 |
| 4.9 | Product life cycle ..... | 191 |
| 4.9.1 | Product configurations and security services ..... | 192 |
| 4.9.2 | Recommended product settings ..... | 193 |
| 4.10 | System memory ..... | 193 |
| 4.10.1 | Introduction ..... | 193 |
| 4.10.2 | RSS user functions ..... | 193 |
| 5 | Embedded flash memory (FLASH) ..... | 200 |
| 5.1 | Introduction ..... | 200 |
| 5.2 | FLASH main features ..... | 200 |
| 5.3 | FLASH functional description ..... | 201 |
| 5.3.1 | FLASH block diagram ..... | 201 |
| 5.3.2 | FLASH internal signals ..... | 202 |
| 5.3.3 | FLASH architecture and integration in the system ..... | 202 |
| 5.3.4 | Flash memory architecture and usage ..... | 204 |
| 5.3.5 | Flash hide protection schemes ..... | 208 |
| 5.3.6 | Overview of FLASH operations ..... | 209 |
| 5.3.7 | FLASH read operations ..... | 210 |
| 5.3.8 | FLASH program operations ..... | 212 |
| 5.3.9 | FLASH erase operations ..... | 216 |
| 5.3.10 | Flash memory error protections ..... | 218 |
| 5.3.11 | FLASH one-time programmable area ..... | 219 |
| 5.3.12 | FLASH read-only area ..... | 221 |
| 5.3.13 | FLASH reset and clocks ..... | 221 |
| 5.4 | FLASH option bytes ..... | 222 |
| 5.4.1 | About option bytes ..... | 222 |
| 5.4.2 | Option byte loading ..... | 222 |
| 5.4.3 | Option byte words modification ..... | 223 |
| 5.4.4 | Option byte key management ..... | 225 |
| 5.4.5 | Option byte user words overview ..... | 226 |
| 5.4.6 | Description of user option byte word ..... | 228 |
| 5.4.7 | Description of security option bytes . . . . . | 229 |
| 5.5 | FLASH protection mechanisms . . . . . | 231 |
| 5.5.1 | FLASH configuration protection . . . . . | 231 |
| 5.5.2 | Write protection . . . . . | 232 |
| 5.5.3 | Life cycle management . . . . . | 233 |
| 5.5.4 | Hide protected system flash area . . . . . | 234 |
| 5.5.5 | Hide protected user flash area . . . . . | 234 |
| 5.6 | FLASH low-power modes . . . . . | 237 |
| 5.6.1 | Introduction . . . . . | 237 |
| 5.6.2 | Managing the FLASH domain switching to Stop or Standby . . . . . | 237 |
| 5.7 | FLASH error management . . . . . | 238 |
| 5.7.1 | Introduction . . . . . | 238 |
| 5.7.2 | Write protection error (WRPERRF) . . . . . | 238 |
| 5.7.3 | Programming sequence error (PGSERRF) . . . . . | 239 |
| 5.7.4 | Strobe error (STRBERRF) . . . . . | 239 |
| 5.7.5 | Inconsistency error (INCERRF) . . . . . | 240 |
| 5.7.6 | Error correction code error (SNECCERRF/DBECCERRF) . . . . . | 240 |
| 5.7.7 | Read secure error (RDSERRF) . . . . . | 241 |
| 5.7.8 | CRC read error (CRCRDERRF) . . . . . | 241 |
| 5.7.9 | Option byte change error (OPTERRF) . . . . . | 241 |
| 5.7.10 | Key valid error (KVEF) . . . . . | 242 |
| 5.7.11 | Key transfer error (KTEF) . . . . . | 242 |
| 5.7.12 | Option byte loading error (OBLERRF) . . . . . | 242 |
| 5.7.13 | Miscellaneous HardFault errors . . . . . | 243 |
| 5.8 | FLASH interrupts . . . . . | 243 |
| 5.9 | FLASH registers . . . . . | 245 |
| 5.9.1 | FLASH access control register (FLASH_ACR) . . . . . | 245 |
| 5.9.2 | FLASH control key register (FLASH_KEYR) . . . . . | 246 |
| 5.9.3 | FLASH control register (FLASH_CR) . . . . . | 246 |
| 5.9.4 | FLASH status register (FLASH_SR) . . . . . | 249 |
| 5.9.5 | FLASH interrupt enable register (FLASH_IER) . . . . . | 251 |
| 5.9.6 | FLASH interrupt status register (FLASH_ISR) . . . . . | 252 |
| 5.9.7 | FLASH interrupt clear register (FLASH_ICR) . . . . . | 254 |
| 5.9.8 | FLASH CRC control register (FLASH_CRCCR) . . . . . | 255 |
| 5.9.9 | FLASH CRC start address register (FLASH_CRCSADDR) . . . . . | 256 |
| 5.9.10 | FLASH CRC end address register (FLASH_CRCEADDR) . . . . . | 257 |
| 5.9.11 | FLASH CRC data register (FLASH_CRCDATAR) . . . . . | 257 |
| 5.9.12 | FLASH ECC single error fail address (FLASH_ECCSFADDR) . . . . . | 258 |
| 5.9.13 | FLASH ECC double error fail address (FLASH_ECCDFADDR) . . . . . | 258 |
| 5.9.14 | FLASH options key register (FLASH_OPTKEYR) . . . . . | 259 |
| 5.9.15 | FLASH options control register (FLASH_OPTCR) . . . . . | 259 |
| 5.9.16 | FLASH options interrupt status register (FLASH_OPTISR) . . . . . | 260 |
| 5.9.17 | FLASH options interrupt clear register (FLASH_OPTICR) . . . . . | 261 |
| 5.9.18 | FLASH option byte key control register (FLASH_OBKCR) . . . . . | 262 |
| 5.9.19 | FLASH option bytes key data register x (FLASH_OBKDRx) . . . . . | 263 |
| 5.9.20 | FLASH non-volatile status register (FLASH_NVSR) . . . . . | 263 |
| 5.9.21 | FLASH security status register programming (FLASH_NVS RP) . . . . . | 264 |
| 5.9.22 | FLASH RoT status register (FLASH_ROTSR) . . . . . | 265 |
| 5.9.23 | FLASH RoT status register programming (FLASH_ROTSRP) . . . . . | 266 |
| 5.9.24 | FLASH OTP lock status register (FLASH_OTPLSR) . . . . . | 266 |
| 5.9.25 | FLASH OTP lock status register programming (FLASH_OTPLSRP) . . . . . | 267 |
| 5.9.26 | FLASH write protection status register (FLASH_WRPSR) . . . . . | 267 |
| 5.9.27 | FLASH write protection status register programming (FLASH_WRPSRP) . . . . . | 268 |
| 5.9.28 | FLASH hide protection status register (FLASH_HDPSR) . . . . . | 268 |
| 5.9.29 | FLASH hide protection status register programming (FLASH_HDPSRP) . . . . . | 269 |
| 5.9.30 | FLASH epoch status register (FLASH_EPOCHSR) . . . . . | 270 |
| 5.9.31 | FLASH RoT status register programming (FLASH_EPOCHSRP) . . . . . | 270 |
| 5.9.32 | FLASH option byte word 1 status register (FLASH_OBW1SR) . . . . . | 271 |
| 5.9.33 | FLASH option byte word 1 status register programming (FLASH_OBW1SRP) . . . . . | 272 |
| 5.9.34 | FLASH option byte word 2 status register (FLASH_OBW2SR) . . . . . | 273 |
| 5.9.35 | FLASH option byte word 2 status register programming (FLASH_OBW2SRP) . . . . . | 274 |
| 5.9.36 | FLASH register map . . . . . | 275 |
| 6 | Power control (PWR) . . . . . | 279 |
| 6.1 | Introduction . . . . . | 279 |
| 6.2 | PWR main features . . . . . | 279 |
| 6.3 | PWR block diagram . . . . . | 280 |
| 6.3.1 | PWR pins and internal signals . . . . . | 281 |
| 6.4 | Power supplies . . . . . | 283 |
| 6.4.1 | System supply startup . . . . . | 287 |
| 6.4.2 | Core domain . . . . . | 290 |
| 6.4.3 | PWR external supply . . . . . | 292 |
| 6.4.4 | Backup domain . . . . . | 292 |
| 6.4.5 | VBAT battery charging . . . . . | 294 |
| 6.4.6 | Analog supply . . . . . | 295 |
| 6.4.7 | USB regulator . . . . . | 296 |
| 6.5 | Power supply supervision . . . . . | 297 |
| 6.5.1 | Power-on reset (POR)/power-down reset (PDR) . . . . . | 297 |
| 6.5.2 | Brownout reset (BOR) . . . . . | 298 |
| 6.5.3 | Programmable voltage detector (PVD) . . . . . | 299 |
| 6.5.4 | Analog voltage detector (AVD) . . . . . | 300 |
| 6.5.5 | Battery voltage thresholds . . . . . | 301 |
| 6.5.6 | Temperature thresholds . . . . . | 302 |
| 6.5.7 | VCORE maximum voltage level detector . . . . . | 303 |
| 6.6 | Power management . . . . . | 304 |
| 6.6.1 | Operating modes . . . . . | 304 |
| 6.6.2 | Voltage scaling . . . . . | 305 |
| 6.6.3 | Power management examples . . . . . | 306 |
| 6.7 | Low-power modes . . . . . | 309 |
| 6.7.1 | Slowing down system clocks . . . . . | 310 |
| 6.7.2 | Controlling peripheral clocks . . . . . | 310 |
| 6.7.3 | Entering low-power modes . . . . . | 310 |
| 6.7.4 | Exiting from low-power modes . . . . . | 310 |
| 6.7.5 | Sleep mode . . . . . | 312 |
| 6.7.6 | Stop mode . . . . . | 312 |
| 6.7.7 | Standby mode . . . . . | 315 |
| 6.7.8 | Monitoring low-power modes . . . . . | 317 |
| 6.8 | PWR registers . . . . . | 318 |
| 6.8.1 | PWR control register 1 (PWR_CR1) . . . . . | 318 |
| 6.8.2 | PWR control status register 1 (PWR_SR1) . . . . . | 320 |
| 6.8.3 | PWR control status register 1 (PWR_CSR1) . . . . . | 321 |
| 6.8.4 | PWR control register 2 (PWR_CSR2) . . . . . | 323 |
| 6.8.5 | PWR CPU control register 3 (PWR_CSR3) . . . . . | 326 |
| 6.8.6 | PWR control status register 4 (PWR_CSR4) . . . . . | 327 |
| 6.8.7 | PWR wake-up clear register (PWR_WKUPCR) . . . . . | 328 |
| 6.8.8 | PWR wake-up flag register (PWR_WKUPFR) . . . . . | 329 |
| 6.8.9 | PWR wake-up enable and polarity register (PWR_WKUPEPR) . . . . . | 330 |
| 6.8.10 | PWR USB Type-C and Power Delivery register (PWR_UCPDR) | 331 |
| 6.8.11 | PWR apply pull configuration register (PWR_APCR) | 332 |
| 6.8.12 | PWR port N pull-up control register (PWR_PUCRN) | 334 |
| 6.8.13 | PWR port N pull-down control register (PWR_PDCRN) | 335 |
| 6.8.14 | PWR port O pull-up control register (PWR_PUCRO) | 336 |
| 6.8.15 | PWR port O pull-down control register (PWR_PDCRO) | 337 |
| 6.8.16 | PWR port P pull-down control register (PWR_PDCRP) | 338 |
| 6.8.17 | PWR register map | 339 |
| 7 | Reset and clock control (RCC) | 341 |
| 7.1 | RCC main features | 341 |
| 7.2 | RCC block diagram | 342 |
| 7.3 | RCC pins and internal signals | 343 |
| 7.4 | RCC reset block functional description | 345 |
| 7.4.1 | Reset from PWR block | 345 |
| 7.4.2 | The system and application resets (sys_rst and nreset) | 347 |
| 7.4.3 | The NRST reset | 347 |
| 7.4.4 | Low-power mode security reset (lpwr_rst) | 347 |
| 7.4.5 | Backup domain reset | 348 |
| 7.4.6 | Coresight debug reset | 348 |
| 7.4.7 | Option bytes loading | 349 |
| 7.4.8 | Peripheral resets | 349 |
| 7.4.9 | Reset coverage summary | 349 |
| 7.4.10 | Reset source identification | 351 |
| 7.4.11 | Power-on and wake-up sequences | 351 |
| 7.5 | RCC clock block functional description | 353 |
| 7.5.1 | Clock naming convention | 355 |
| 7.5.2 | Oscillators description | 355 |
| 7.5.3 | Clock security system (CSS) | 365 |
| 7.5.4 | Clock output generation (MCO1/MCO2) | 368 |
| 7.5.5 | PLL description | 370 |
| 7.5.6 | System clock ( sys_ck ) | 376 |
| 7.5.7 | Clock protection | 379 |
| 7.5.8 | Clock generation in Stop and Standby modes | 380 |
| 7.5.9 | Peripheral clock distribution | 382 |
| 7.5.10 | General clock concept overview | 411 |
| 7.5.11 | Peripheral allocation | 412 |
| 7.5.12 | Peripheral clock gating control . . . . . | 413 |
| 7.5.13 | CPU and bus matrix clock gating control . . . . . | 416 |
| 7.5.14 | Low-power emulation modes . . . . . | 417 |
| 7.6 | RCC interrupts . . . . . | 418 |
| 7.7 | RCC Programming examples . . . . . | 419 |
| 7.7.1 | PLL programming procedure . . . . . | 419 |
| 7.7.2 | Frequency configuration examples . . . . . | 421 |
| 7.8 | RCC registers . . . . . | 424 |
| 7.8.1 | RCC source control register (RCC_CR) . . . . . | 424 |
| 7.8.2 | RCC clock protection register (RCC_CKPROTR) . . . . . | 428 |
| 7.8.3 | RCC HSI calibration register (RCC_HSICFGR) . . . . . | 429 |
| 7.8.4 | RCC clock recovery RC register (RCC_CRRRCR) . . . . . | 430 |
| 7.8.5 | RCC CSI calibration register (RCC_CSICFGR) . . . . . | 430 |
| 7.8.6 | RCC clock configuration register (RCC_CFGR) . . . . . | 431 |
| 7.8.7 | RCC CPU domain clock configuration register (RCC_CDCFGR) . . . . . | 434 |
| 7.8.8 | RCC AHB clock configuration register (RCC_BMCFGR) . . . . . | 435 |
| 7.8.9 | RCC APB clocks configuration register (RCC_APBCFGR) . . . . . | 436 |
| 7.8.10 | RCC PLLs clock source selection register (RCC_PLLCKSEL) . . . . . | 438 |
| 7.8.11 | RCC PLLs configuration register (RCC_PLLCFGR) . . . . . | 440 |
| 7.8.12 | RCC PLL1 dividers configuration register 1 (RCC_PLL1DIVR1) . . . . . | 443 |
| 7.8.13 | RCC PLL1 dividers configuration register 2 (RCC_PLL1DIVR2) . . . . . | 445 |
| 7.8.14 | RCC PLL1 fractional divider register (RCC_PLL1FRACR) . . . . . | 445 |
| 7.8.15 | RCC PLL1 Spread Spectrum Clock Generator register (RCC_PLL1SSCG) . . . . . | 447 |
| 7.8.16 | RCC PLL2 dividers configuration register 1 (RCC_PLL2DIVR1) . . . . . | 448 |
| 7.8.17 | RCC PLL2 dividers configuration register 2 (RCC_PLL2DIVR2) . . . . . | 450 |
| 7.8.18 | RCC PLL2 fractional divider register (RCC_PLL2FRACR) . . . . . | 451 |
| 7.8.19 | RCC PLL2 Spread Spectrum Clock Generator register (RCC_PLL2SSCG) . . . . . | 452 |
| 7.8.20 | RCC PLL3 dividers configuration register 1 (RCC_PLL3DIVR1) . . . . . | 453 |
| 7.8.21 | RCC PLL3 dividers configuration register 2 (RCC_PLL3DIVR2) . . . . . | 455 |
| 7.8.22 | RCC PLL3 fractional divider register (RCC_PLL3FRACR) . . . . . | 455 |
| 7.8.23 | RCC PLL3 Spread Spectrum Clock Generator register (RCC_PLL3SSCG) . . . . . | 457 |
| 7.8.24 | RCC AHB peripheral kernel clock selection register (RCC_CCIPR1) . . . . . | 458 |
| 7.8.25 | RCC APB1 peripherals kernel clock selection register (RCC_CCIPR2) . . . . . | 461 |
| 7.8.26 | RCC APB2 peripherals kernel clock selection register (RCC_CCIPR3) . . . . . | 463 |
| 7.8.27 | RCC APB4,5 peripherals kernel clock selection register (RCC_CCIPR4) . . . . . | 465 |
| 7.8.28 | RCC clock source interrupt enable register (RCC_CIER) . . . . . | 467 |
| 7.8.29 | RCC clock source interrupt flag register (RCC_CIFR) . . . . . | 468 |
| 7.8.30 | RCC clock source interrupt clear register (RCC_CICR) . . . . . | 470 |
| 7.8.31 | RCC Backup domain control register (RCC_BDCR) . . . . . | 472 |
| 7.8.32 | RCC clock control and status register (RCC_CSR) . . . . . | 474 |
| 7.8.33 | RCC AHB1 peripheral reset register (RCC_AHB1RSTR) . . . . . | 475 |
| 7.8.34 | RCC AHB2 peripheral reset register (RCC_AHB2RSTR) . . . . . | 476 |
| 7.8.35 | RCC AHB3 peripheral reset register (RCC_AHB3RSTR) . . . . . | 477 |
| 7.8.36 | RCC AHB4 peripheral reset register (RCC_AHB4RSTR) . . . . . | 478 |
| 7.8.37 | RCC AHB5 peripheral reset register (RCC_AHB5RSTR) . . . . . | 480 |
| 7.8.38 | RCC APB1 peripheral reset register 1 (RCC_APB1RSTR1) . . . . . | 482 |
| 7.8.39 | RCC APB1 peripheral reset register 2 (RCC_APB1RSTR2) . . . . . | 485 |
| 7.8.40 | RCC APB2 peripheral reset register (RCC_APB2RSTR) . . . . . | 486 |
| 7.8.41 | RCC APB4 peripheral reset register (RCC_APB4RSTR) . . . . . | 488 |
| 7.8.42 | RCC APB5 peripheral reset register (RCC_APB5RSTR) . . . . . | 490 |
| 7.8.43 | RCC AXI clocks gating disable register (RCC_CKGDISR) . . . . . | 491 |
| 7.8.44 | RCC Reset status register (RCC_RSR) . . . . . | 495 |
| 7.8.45 | RCC AHB1 clock enable register (RCC_AHB1ENR) . . . . . | 497 |
| 7.8.46 | RCC AHB2 clock enable register (RCC_AHB2ENR) . . . . . | 499 |
| 7.8.47 | RCC AHB3 clock enable register (RCC_AHB3ENR) . . . . . | 500 |
| 7.8.48 | RCC AHB4 clock enable register (RCC_AHB4ENR) . . . . . | 501 |
| 7.8.49 | RCC AHB5 clock enable register (RCC_AHB5ENR) . . . . . | 503 |
| 7.8.50 | RCC APB1 clock enable register 1 (RCC_APB1ENR1) . . . . . | 505 |
| 7.8.51 | RCC APB1 clock enable register 2 (RCC_APB1ENR2) . . . . . | 508 |
| 7.8.52 | RCC APB2 clock enable register (RCC_APB2ENR) . . . . . | 509 |
| 7.8.53 | RCC APB4 clock enable register (RCC_APB4ENR) . . . . . | 510 |
| 7.8.54 | RCC APB5 clock enable register (RCC_APB5ENR) . . . . . | 513 |
| 7.8.55 | RCC AHB5 low-power clock enable register (RCC_AHB5LPENR) . . . . . | 514 |
| 7.8.56 | RCC AHB1 low-power clock enable register (RCC_AHB1LPENR) . . . . . | 516 |
| 7.8.57 | RCC AHB2 low-power clock enable register (RCC_AHB2LPENR) . . . . . | 518 |
| 7.8.58 | RCC AHB3 low-power clock enable register (RCC_AHB3LPENR) . . . . . | 519 |
| 7.8.59 | RCC AHB4 low-power clock enable register (RCC_AHB4LPENR) . . . . . | 520 |
| 7.8.60 | RCC APB1 low-power clock enable register 1 (RCC_APB1LPENR1) . . . . . | 522 |
| 7.8.61 | RCC APB1 low-power clock enable register 2 (RCC_APB1LPENR2) . . . . . | 525 |
| 7.8.62 | RCC APB2 low-power clock enable register (RCC_APB2LPENR) . . . | 526 |
| 7.8.63 | RCC APB4 low-power clock enable register (RCC_APB4LPENR) . . . | 528 |
| 7.8.64 | RCC APB5 low-power clock enable register (RCC_APB5LPENR) . . . | 530 |
| 7.9 | RCC register map . . . . . | 531 |
| 8 | System configuration, boot and security (SBS) . . . . . | 540 |
| 8.1 | SBS introduction . . . . . | 540 |
| 8.2 | SBS main features . . . . . | 540 |
| 8.3 | SBS functional description . . . . . | 541 |
| 8.3.1 | SBS block diagram . . . . . | 541 |
| 8.3.2 | SBS internal signals . . . . . | 541 |
| 8.3.3 | SBS reset and clocks . . . . . | 541 |
| 8.3.4 | SBS hide protection management . . . . . | 542 |
| 8.3.5 | SBS boot control . . . . . | 542 |
| 8.3.6 | SBS debug management . . . . . | 543 |
| 8.3.7 | SBS voltage booster for I/O analog switches . . . . . | 544 |
| 8.3.8 | SBS I/O compensation cell management . . . . . | 544 |
| 8.3.9 | SBS registers access control . . . . . | 545 |
| 8.3.10 | SBS error management . . . . . | 546 |
| 8.4 | SBS interrupts . . . . . | 546 |
| 8.5 | SBS registers . . . . . | 546 |
| 8.5.1 | SBS boot status register (SBS_BOOTSR) . . . . . | 546 |
| 8.5.2 | SBS hide protection control register (SBS_HDPLCR) . . . . . | 547 |
| 8.5.3 | SBS hide protection status register (SBS_HDPLSR) . . . . . | 547 |
| 8.5.4 | SBS debug control register (SBS_DBGCR) . . . . . | 548 |
| 8.5.5 | SBS debug lock register (SBS_DBGLOCKR) . . . . . | 548 |
| 8.5.6 | SBS RSS command register (SBS_RSSCMDR) . . . . . | 549 |
| 8.5.7 | SBS product mode and configuration register (SBS_PMCR) . . . . . | 549 |
| 8.5.8 | SBS FPU interrupt mask register (SBS_FPUIMR) . . . . . | 550 |
| 8.5.9 | SBS memory erase status register (SBS_MESR) . . . . . | 551 |
| 8.5.10 | SBS I/O compensation cell control and status register (SBS_CCCSR) . . . . . | 551 |
| 8.5.11 | SBS compensation cell for I/Os value register (SBS_CCVALR) . . . . . | 554 |
| 8.5.12 | SBS compensation cell for I/Os software value register (SBS_CCSWVALR) . . . . . | 555 |
| 8.5.13 | SBS break lockup register (SBS_BKLOCKR) . . . . . | 556 |
| 8.5.14 | SBS external interrupt configuration register x (SBS_EXTICRx) . . . . . | 558 |
- 8.5.15 SBS register map . . . . . 559
- 9 Clock recovery system (CRS) . . . . . 561
- 9.1 CRS introduction . . . . . 561
- 9.2 CRS main features . . . . . 561
- 9.3 CRS implementation . . . . . 561
- 9.4 CRS functional description . . . . . 562
- 9.4.1 CRS block diagram . . . . . 562
- 9.4.2 CRS internal signals . . . . . 562
- 9.4.3 Synchronization input . . . . . 563
- 9.4.4 Frequency error measurement . . . . . 563
- 9.4.5 Frequency error evaluation and automatic trimming . . . . . 564
- 9.4.6 CRS initialization and configuration . . . . . 565
- 9.5 CRS in low-power modes . . . . . 566
- 9.6 CRS interrupts . . . . . 566
- 9.7 CRS registers . . . . . 566
- 9.7.1 CRS control register (CRS_CR) . . . . . 566
- 9.7.2 CRS configuration register (CRS_CFGR) . . . . . 568
- 9.7.3 CRS interrupt and status register (CRS_ISR) . . . . . 569
- 9.7.4 CRS interrupt flag clear register (CRS_ICR) . . . . . 571
- 9.7.5 CRS register map . . . . . 571
- 10 General-purpose I/Os (GPIO) . . . . . 573
- 10.1 Introduction . . . . . 573
- 10.2 GPIO main features . . . . . 573
- 10.3 GPIO functional description . . . . . 573
- 10.3.1 General-purpose I/O (GPIO) . . . . . 575
- 10.3.2 I/O pin alternate function multiplexer and mapping . . . . . 576
- 10.3.3 I/O port control registers . . . . . 576
- 10.3.4 I/O port data registers . . . . . 577
- 10.3.5 I/O data bitwise handling . . . . . 577
- 10.3.6 GPIO locking mechanism . . . . . 577
- 10.3.7 I/O alternate function input/output . . . . . 577
- 10.3.8 External interrupt/wake-up lines . . . . . 578
- 10.3.9 Input configuration . . . . . 578
- 10.3.10 Output configuration . . . . . 579
| 10.3.11 | Alternate function configuration . . . . . | 579 |
| 10.3.12 | Analog configuration . . . . . | 580 |
| 10.3.13 | Using the HSE or LSE oscillator pins as GPIOs . . . . . | 580 |
| 10.3.14 | Using the GPIO pins in the RTC supply domain . . . . . | 581 |
| 10.3.15 | Privileged and unprivileged modes . . . . . | 581 |
| 10.3.16 | High-speed low-voltage mode (HSLV) . . . . . | 581 |
| 10.3.17 | I/O compensation cell . . . . . | 582 |
| 10.4 | GPIO registers . . . . . | 582 |
| 10.4.1 | GPIO port mode register (GPIOx_MODER) (x=A to H, M to P) . . . . . | 582 |
| 10.4.2 | GPIO port output type register (GPIOx_OTYPER) (x = A to G, M to P) . . . . . | 583 |
| 10.4.3 | GPIO port output speed register (GPIOx_OSPEEDR) (x = A to G, M to P) . . . . . | 583 |
| 10.4.4 | GPIO port pull-up/pull-down register (GPIOx_PUPDR) (x = A to G, M to P) . . . . . | 584 |
| 10.4.5 | GPIO port input data register (GPIOx_IDR) (x = A to G, M to P) . . . . . | 584 |
| 10.4.6 | GPIO port output data register (GPIOx_ODR) (x = A to G, M to P) . . . . . | 585 |
| 10.4.7 | GPIO port bit set/reset register (GPIOx_BSRR) (x = A to G, M to P) . . . . . | 585 |
| 10.4.8 | GPIO port configuration lock register (GPIOx_LCKR) (x = A to G, M to P) . . . . . | 586 |
| 10.4.9 | GPIO alternate function low register (GPIOx_AFRL) (x = A to G, M to P) . . . . . | 587 |
| 10.4.10 | GPIO alternate function high register (GPIOx_AFRH) (x = A to G, M to P) . . . . . | 588 |
| 10.4.11 | GPIO port bit reset register (GPIOx_BRR) (x = A to G, M to P) . . . . . | 589 |
| 10.4.12 | GPIO register map . . . . . | 590 |
| 11 | Peripheral interconnect . . . . . | 592 |
| 11.1 | Introduction . . . . . | 592 |
| 11.2 | Connection summary . . . . . | 592 |
| 11.3 | Interconnection details . . . . . | 594 |
| 11.3.1 | Master to slave interconnection for timers . . . . . | 594 |
| 11.3.2 | Triggers to ADCs . . . . . | 595 |
| 11.3.3 | ADC analog watchdogs as triggers to timers . . . . . | 596 |
| 11.3.4 | Triggers on ADF1 . . . . . | 596 |
| 11.3.5 | Internal input and clock sources to timers . . . . . | 596 |
| 11.3.6 | Triggers to low-power timers . . . . . | 597 |
| 11.3.7 | RTC wake-up as inputs to timers . . . . . | 598 |
| 11.3.8 | USB OTG SOF as trigger to timers . . . . . | 598 |
| 11.3.9 | System errors as break signals to timers . . . . . | 598 |
| 11.3.10 | Triggers to GPDMA/HPDMA . . . . . | 599 |
| 11.3.11 | Internal analog signals to analog peripherals . . . . . | 599 |
| 11.3.12 | ADC data filtering by the ADF1 . . . . . | 600 |
| 11.3.13 | Internal tamper sources . . . . . | 600 |
| 11.3.14 | Output from tamper to RTC . . . . . | 601 |
| 11.3.15 | Encryption keys to AES/SAES . . . . . | 601 |
| 12 | General purpose direct memory access controller (GPDMA) . . . . . | 602 |
| 12.1 | GPDMA introduction . . . . . | 602 |
| 12.2 | GPDMA main features . . . . . | 602 |
| 12.3 | GPDMA implementation . . . . . | 603 |
| 12.3.1 | GPDMA channels . . . . . | 603 |
| 12.3.2 | GPDMA in low-power modes . . . . . | 604 |
| 12.3.3 | GPDMA requests . . . . . | 604 |
| 12.3.4 | GPDMA block requests . . . . . | 607 |
| 12.3.5 | GPDMA channels with peripheral early termination . . . . . | 607 |
| 12.3.6 | GPDMA triggers . . . . . | 608 |
| 12.4 | GPDMA functional description . . . . . | 610 |
| 12.4.1 | GPDMA block diagram . . . . . | 610 |
| 12.4.2 | GPDMA channel state and direct programming without any linked-list . . . . . | 610 |
| 12.4.3 | GPDMA channel suspend and resume . . . . . | 611 |
| 12.4.4 | GPDMA channel abort and restart . . . . . | 612 |
| 12.4.5 | GPDMA linked-list data structure . . . . . | 613 |
| 12.4.6 | Linked-list item transfer execution . . . . . | 616 |
| 12.4.7 | GPDMA channel state and linked-list programming in run-to-completion mode . . . . . | 616 |
| 12.4.8 | GPDMA channel state and linked-list programming in link step mode . . . . . | 620 |
| 12.4.9 | GPDMA channel state and linked-list programming . . . . . | 627 |
| 12.4.10 | GPDMA FIFO-based transfers . . . . . | 629 |
| 12.4.11 | GPDMA transfer request and arbitration . . . . . | 636 |
| 12.4.12 | GPDMA triggered transfer . . . . . | 640 |
| 12.4.13 | GPDMA circular buffering with linked-list programming . . . . . | 641 |
| 12.4.14 | GPDMA transfer in peripheral flow-control mode . . . . . | 643 |
| 12.4.15 | GPDMA privileged/unprivileged channel . . . . . | 644 |
| 12.4.16 | GPDMA error management . . . . . | 644 |
| 12.5 | GPDMA in debug mode . . . . . | 646 |
| 12.6 | GPDMA in low-power modes . . . . . | 646 |
| 12.7 | GPDMA interrupts . . . . . | 647 |
| 12.8 | GPDMA registers . . . . . | 648 |
| 12.8.1 | GPDMA privileged configuration register (GPDMA_PRIVCFGR) . . . . . | 648 |
| 12.8.2 | GPDMA configuration lock register (GPDMA_RCFGLOCKR) . . . . . | 649 |
| 12.8.3 | GPDMA masked interrupt status register (GPDMA_MISR) . . . . . | 649 |
| 12.8.4 | GPDMA channel x linked-list base address register (GPDMA_CxLBAR) . . . . . | 650 |
| 12.8.5 | GPDMA channel x flag clear register (GPDMA_CxFCR) . . . . . | 651 |
| 12.8.6 | GPDMA channel x status register (GPDMA_CxSR) . . . . . | 652 |
| 12.8.7 | GPDMA channel x control register (GPDMA_CxCGR) . . . . . | 653 |
| 12.8.8 | GPDMA channel x transfer register 1 (GPDMA_CxTR1) . . . . . | 655 |
| 12.8.9 | GPDMA channel x transfer register 2 (GPDMA_CxTR2) . . . . . | 658 |
| 12.8.10 | GPDMA channel x block register 1 (GPDMA_CxBR1) . . . . . | 662 |
| 12.8.11 | GPDMA channel x alternate block register 1 (GPDMA_CxBR1) . . . . . | 663 |
| 12.8.12 | GPDMA channel x source address register (GPDMA_CxSAR) . . . . . | 666 |
| 12.8.13 | GPDMA channel x destination address register (GPDMA_CxDAR) . . . . . | 667 |
| 12.8.14 | GPDMA channel x transfer register 3 (GPDMA_CxTR3) . . . . . | 668 |
| 12.8.15 | GPDMA channel x block register 2 (GPDMA_CxBR2) . . . . . | 669 |
| 12.8.16 | GPDMA channel x linked-list address register (GPDMA_CxLLR) . . . . . | 670 |
| 12.8.17 | GPDMA channel x alternate linked-list address register (GPDMA_CxLLR) . . . . . | 672 |
| 12.8.18 | GPDMA register map . . . . . | 673 |
| 13 | High-performance direct memory access controller (HPDMA) . . . . . | 675 |
| 13.1 | HPDMA introduction . . . . . | 675 |
| 13.2 | HPDMA main features . . . . . | 675 |
| 13.3 | HPDMA implementation . . . . . | 676 |
| 13.3.1 | HPDMA channels . . . . . | 676 |
| 13.3.2 | HPDMA in low-power modes . . . . . | 677 |
| 13.3.3 | HPDMA requests . . . . . | 677 |
| 13.3.4 | HPDMA block requests . . . . . | 678 |
| 13.3.5 | HPDMA channels with peripheral early termination . . . . . | 678 |
| 13.3.6 | HPDMA triggers . . . . . | 678 |
| 13.4 | HPDMA functional description . . . . . | 681 |
| 13.4.1 | HPDMA block diagram . . . . . | 681 |
| 13.4.2 | HPDMA channel state and direct programming without any linked-list . . . . . | 681 |
| 13.4.3 | HPDMA channel suspend and resume . . . . . | 682 |
| 13.4.4 | HPDMA channel abort and restart . . . . . | 683 |
| 13.4.5 | HPDMA linked-list data structure . . . . . | 684 |
| 13.4.6 | Linked-list item transfer execution . . . . . | 687 |
| 13.4.7 | HPDMA channel state and linked-list programming in run-to-completion mode . . . . . | 687 |
| 13.4.8 | HPDMA channel state and linked-list programming in link step mode . . . . . | 691 |
| 13.4.9 | HPDMA channel state and linked-list programming . . . . . | 698 |
| 13.4.10 | HPDMA FIFO-based transfers . . . . . | 700 |
| 13.4.11 | HPDMA transfer request and arbitration . . . . . | 716 |
| 13.4.12 | HPDMA triggered transfer . . . . . | 720 |
| 13.4.13 | HPDMA circular buffering with linked-list programming . . . . . | 721 |
| 13.4.14 | HPDMA transfer in peripheral flow-control mode . . . . . | 723 |
| 13.4.15 | HPDMA privileged/unprivileged channel . . . . . | 724 |
| 13.4.16 | HPDMA error management . . . . . | 724 |
| 13.5 | HPDMA in debug mode . . . . . | 726 |
| 13.6 | HPDMA in low-power modes . . . . . | 726 |
| 13.7 | HPDMA interrupts . . . . . | 727 |
| 13.8 | HPDMA registers . . . . . | 728 |
| 13.8.1 | HPDMA privileged configuration register (HPDMA_PRIVCFGR) . . . . . | 728 |
| 13.8.2 | HPDMA configuration lock register (HPDMA_RCFGLOCKR) . . . . . | 729 |
| 13.8.3 | HPDMA masked interrupt status register (HPDMA_MISR) . . . . . | 729 |
| 13.8.4 | HPDMA channel x linked-list base address register (HPDMA_CxLBAR) . . . . . | 730 |
| 13.8.5 | HPDMA channel x flag clear register (HPDMA_CxFCR) . . . . . | 731 |
| 13.8.6 | HPDMA channel x status register (HPDMA_CxSR) . . . . . | 732 |
| 13.8.7 | HPDMA channel x control register (HPDMA_CxCR) . . . . . | 733 |
| 13.8.8 | HPDMA channel x transfer register 1 (HPDMA_CxTR1) . . . . . | 736 |
| 13.8.9 | HPDMA channel x transfer register 2 (HPDMA_CxTR2) . . . . . | 739 |
| 13.8.10 | HPDMA channel x block register 1 (HPDMA_CxBR1) . . . . . | 743 |
| 13.8.11 | HPDMA channel x alternate block register 1 (HPDMA_CxBR1) . . . . . | 744 |
| 13.8.12 | HPDMA channel x source address register (HPDMA_CxSAR) . . . . . | 747 |
| 13.8.13 | HPDMA channel x destination address register (HPDMA_CxDAR) . . . | 748 |
| 13.8.14 | HPDMA channel x transfer register 3 (HPDMA_CxTR3) . . . . . | 749 |
| 13.8.15 | HPDMA channel x block register 2 (HPDMA_CxBR2) . . . . . | 750 |
| 13.8.16 | HPDMA channel x linked-list address register (HPDMA_CxLLR) . . . . | 751 |
| 13.8.17 | HPDMA channel x alternate linked-list address register (HPDMA_CxLLR) . . . . . | 753 |
| 13.8.18 | HPDMA register map . . . . . | 754 |
| 14 | Chrom-GRC (GFXMMU) . . . . . | 756 |
| 14.1 | GFXMMU introduction . . . . . | 756 |
| 14.2 | GFXMMU main features . . . . . | 756 |
| 14.3 | GFXMMU functional and architectural description . . . . . | 756 |
| 14.3.1 | GFXMMU block diagram . . . . . | 756 |
| 14.3.2 | GFXMMU internal signals . . . . . | 757 |
| 14.3.3 | Virtual memory . . . . . | 757 |
| 14.3.4 | Packing and unpacking . . . . . | 759 |
| 14.3.5 | MMU architecture . . . . . | 760 |
| 14.4 | GTZC TZIC GFXMMU interrupts . . . . . | 763 |
| 14.5 | GFXMMU registers . . . . . | 764 |
| 14.5.1 | GFXMMU configuration register (GFXMMU_CR) . . . . . | 764 |
| 14.5.2 | GFXMMU status register (GFXMMU_SR) . . . . . | 766 |
| 14.5.3 | GFXMMU flag clear register (GFXMMU_FCR) . . . . . | 766 |
| 14.5.4 | GFXMMU default value register (GFXMMU_DVR) . . . . . | 767 |
| 14.5.5 | GFXMMU default alpha register (GFXMMU_DAR) . . . . . | 767 |
| 14.5.6 | GFXMMU buffer x configuration register (GFXMMU_BxCR) . . . . . | 768 |
| 14.5.7 | GFXMMU LUT entry x low (GFXMMU_LUTxL) . . . . . | 768 |
| 14.5.8 | GFXMMU LUT entry x high (GFXMMU_LUTxH) . . . . . | 769 |
| 14.5.9 | GFXMMU register map . . . . . | 769 |
| 15 | Chrom-ART Accelerator controller (DMA2D) . . . . . | 771 |
| 15.1 | DMA2D introduction . . . . . | 771 |
| 15.2 | DMA2D main features . . . . . | 771 |
| 15.3 | DMA2D functional description . . . . . | 772 |
| 15.3.1 | General description . . . . . | 772 |
| 15.3.2 | DMA2D internal signals . . . . . | 773 |
| 15.3.3 | DMA2D control . . . . . | 774 |
| 15.3.4 | DMA2D foreground and background FIFOs . . . . . | 774 |
| 15.3.5 | DMA2D foreground and background PFC . . . . . | 774 |
| 15.3.6 | DMA2D foreground and background CLUT interface . . . . . | 776 |
| 15.3.7 | DMA2D blender . . . . . | 778 |
| 15.3.8 | DMA2D output PFC . . . . . | 778 |
| 15.3.9 | DMA2D output FIFO . . . . . | 778 |
| 15.3.10 | DMA2D output FIFO byte reordering . . . . . | 779 |
| 15.3.11 | DMA2D AXI master port timer . . . . . | 781 |
| 15.3.12 | DMA2D transactions . . . . . | 781 |
| 15.3.13 | DMA2D configuration . . . . . | 781 |
| 15.3.14 | YCbCr support . . . . . | 785 |
| 15.3.15 | DMA2D transfer control (start, suspend, abort, and completion) . . . . . | 785 |
| 15.3.16 | Watermark . . . . . | 786 |
| 15.3.17 | Error management . . . . . | 786 |
| 15.3.18 | AXI dead time . . . . . | 786 |
| 15.4 | DMA2D interrupts . . . . . | 786 |
| 15.5 | DMA2D registers . . . . . | 787 |
| 15.5.1 | DMA2D control register (DMA2D_CR) . . . . . | 787 |
| 15.5.2 | DMA2D interrupt status register (DMA2D_ISR) . . . . . | 789 |
| 15.5.3 | DMA2D interrupt flag clear register (DMA2D_IFCR) . . . . . | 789 |
| 15.5.4 | DMA2D foreground memory address register (DMA2D_FGMAR) . . . . . | 790 |
| 15.5.5 | DMA2D foreground offset register (DMA2D_FGOR) . . . . . | 790 |
| 15.5.6 | DMA2D background memory address register (DMA2D_BGMAR) . . . . . | 791 |
| 15.5.7 | DMA2D background offset register (DMA2D_BGOR) . . . . . | 791 |
| 15.5.8 | DMA2D foreground PFC control register (DMA2D_FGPFCCR) . . . . . | 792 |
| 15.5.9 | DMA2D foreground color register (DMA2D_FGCOLR) . . . . . | 794 |
| 15.5.10 | DMA2D background PFC control register (DMA2D_BGPFCCR) . . . . . | 794 |
| 15.5.11 | DMA2D background color register (DMA2D_BGCOLR) . . . . . | 796 |
| 15.5.12 | DMA2D foreground CLUT memory address register (DMA2D_FGCMAR) . . . . . | 796 |
| 15.5.13 | DMA2D background CLUT memory address register (DMA2D_BGCMAR) . . . . . | 797 |
| 15.5.14 | DMA2D output PFC control register (DMA2D_OPFCCR) . . . . . | 797 |
| 15.5.15 | DMA2D output color register (DMA2D_OCOLR) . . . . . | 798 |
| 15.5.16 | DMA2D output color register [alternate] (DMA2D_OCOLR) . . . . . | 799 |
| 15.5.17 | DMA2D output color register [alternate] (DMA2D_OCOLR) . . . . . | 799 |
| 15.5.18 | DMA2D output color register [alternate] (DMA2D_OCOLR) . . . . . | 800 |
| 15.5.19 | DMA2D output memory address register (DMA2D_OMAR) . . . . . | 800 |
| 15.5.20 | DMA2D output offset register (DMA2D_OOR) . . . . . | 801 |
| 15.5.21 | DMA2D number of line register (DMA2D_NLR) . . . . . | 801 |
| 15.5.22 | DMA2D line watermark register (DMA2D_LWR) . . . . . | 802 |
| 15.5.23 | DMA2D AXI master timer configuration register (DMA2D_AMTCR) . . . . . | 802 |
| 15.5.24 | DMA2D foreground CLUT (DMA2D_FGCLUTx) . . . . . | 803 |
| 15.5.25 | DMA2D background CLUT (DMA2D_BGCLUTx) . . . . . | 803 |
| 15.5.26 | DMA2D register map . . . . . | 804 |
| 16 | Neo-Chrom graphic processor (GPU2D) . . . . . | 806 |
| 16.1 | GPU2D introduction . . . . . | 806 |
| 16.2 | GPU2D main features . . . . . | 806 |
| 16.3 | GPU2D general description . . . . . | 807 |
| 16.3.1 | GPU2D block diagram . . . . . | 807 |
| 16.3.2 | GPU2D pins and internal signals . . . . . | 807 |
| 17 | Texture cache (ICACHE) . . . . . | 809 |
| 17.1 | ICACHE introduction . . . . . | 809 |
| 17.2 | ICACHE main features . . . . . | 809 |
| 17.3 | ICACHE implementation . . . . . | 810 |
| 17.4 | ICACHE functional description . . . . . | 810 |
| 17.4.1 | ICACHE block diagram . . . . . | 811 |
| 17.4.2 | ICACHE reset and clocks . . . . . | 811 |
| 17.4.3 | ICACHE TAG memory . . . . . | 812 |
| 17.4.4 | Direct-mapped ICACHE (1-way cache) . . . . . | 813 |
| 17.4.5 | ICACHE enable . . . . . | 814 |
| 17.4.6 | Cacheable and noncacheable traffic . . . . . | 814 |
| 17.4.7 | Cacheable accesses . . . . . | 815 |
| 17.4.8 | ICACHE maintenance . . . . . | 815 |
| 17.4.9 | ICACHE performance monitoring . . . . . | 816 |
| 17.4.10 | ICACHE boot . . . . . | 816 |
| 17.5 | ICACHE low-power modes . . . . . | 816 |
| 17.6 | ICACHE error management and interrupts . . . . . | 817 |
| 17.7 | ICACHE registers . . . . . | 817 |
| 17.7.1 | ICACHE control register (ICACHE_CR) . . . . . | 817 |
| 17.7.2 | ICACHE status register (ICACHE_SR) . . . . . | 818 |
| 17.7.3 | ICACHE interrupt enable register (ICACHE_IER) . . . . . | 819 |
| 17.7.4 | ICACHE flag clear register (ICACHE_FCR) . . . . . | 819 |
| 17.7.5 | ICACHE hit monitor register (ICACHE_HMONR) . . . . . | 820 |
| 17.7.6 | ICACHE miss monitor register (ICACHE_MMONR) . . . . . | 820 |
| 17.7.7 | ICACHE register map . . . . . | 820 |
| 18 | Graphic timer (GFXTIM) . . . . . | 822 |
| 18.1 | GFXTIM introduction . . . . . | 822 |
| 18.2 | GFXTIM main features . . . . . | 822 |
| 18.3 | GFXTIM functional description . . . . . | 822 |
| 18.3.1 | Block diagram . . . . . | 822 |
| 18.3.2 | GFXTIM pins and internal signals . . . . . | 823 |
| 18.3.3 | Clock generator . . . . . | 824 |
| 18.3.4 | Example of clock generator configuration . . . . . | 826 |
| 18.3.5 | Absolute timers . . . . . | 830 |
| 18.3.6 | Relative timers . . . . . | 831 |
| 18.3.7 | Tearing-effect detection . . . . . | 832 |
| 18.3.8 | Event generator . . . . . | 832 |
| 18.3.9 | Watchdog timer . . . . . | 833 |
| 18.4 | GFXTIM interrupts . . . . . | 834 |
| 18.5 | GFXTIM registers . . . . . | 835 |
| 18.5.1 | GFXTIM configuration register (GFXTIM_CR) . . . . . | 835 |
| 18.5.2 | GFXTIM clock generator configuration register (GFXTIM_CGCR) . . . . . | 836 |
| 18.5.3 | GFXTIM timers configuration register (GFXTIM_TCR) . . . . . | 838 |
| 18.5.4 | GFXTIM timers disable register (GFXTIM_TDR) . . . . . | 839 |
| 18.5.5 | GFXTIM events control register (GFXTIM_EVCR) . . . . . | 840 |
| 18.5.6 | GFXTIM events selection register (GFXTIM_EVSR) . . . . . | 840 |
| 18.5.7 | GFXTIM watchdog timer configuration register (GFXTIM_WDGTCR) . . . . . | 842 |
| 18.5.8 | GFXTIM interrupt status register (GFXTIM_ISR) . . . . . | 844 |
| 18.5.9 | GFXTIM interrupt clear register (GFXTIM_ICR) . . . . . | 845 |
| 18.5.10 | GFXTIM interrupt enable register (GFXTIM_IER) . . . . . | 847 |
| 18.5.11 | GFXTIM timers status register (GFXTIM_TSR) . . . . . | 849 |
| 18.5.12 | GFXTIM line-clock counter reload register (GFXTIM_LCCRR) . . . . . | 850 |
| 18.5.13 | GFXTIM frame-clock counter reload register (GFXTIM_FCCRR) . . . . . | 850 |
| 18.5.14 | GFXTIM absolute time register (GFXTIM_ATR) . . . . . | 850 |
| 18.5.15 | GFXTIM absolute frame counter register (GFXTIM_AFCR) . . . . . | 851 |
| 18.5.16 | GFXTIM absolute line counter register (GFXTIM_ALCR) . . . . . | 851 |
| 18.5.17 | GFXTIM absolute frame counter compare 1 register (GFXTIM_AFCC1R) . . . . . | 852 |
| 18.5.18 | GFXTIM absolute line counter compare 1 register (GFXTIM_ALCC1R) . . . . . | 852 |
| 18.5.19 | GFXTIM absolute line counter compare 2 register (GFXTIM_ALCC2R) . . . . . | 852 |
| 18.5.20 | GFXTIM relative frame counter 1 register (GFXTIM_RFC1R) . . . . . | 853 |
| 18.5.21 | GFXTIM relative frame counter 1 reload register (GFXTIM_RFC1RR) . . . . . | 853 |
| 18.5.22 | GFXTIM relative frame counter 2 register (GFXTIM_RFC2R) . . . . . | 854 |
| 18.5.23 | GFXTIM relative frame counter 2 reload register (GFXTIM_RFC2RR) . . . . . | 854 |
| 18.5.24 | GFXTIM watchdog counter register (GFXTIM_WDGCR) . . . . . | 854 |
| 18.5.25 | GFXTIM watchdog reload register (GFXTIM_WDGRR) . . . . . | 855 |
| 18.5.26 | GFXTIM watchdog pre-alarm register (GFXTIM_WDGPAR) . . . . . | 855 |
| 18.5.27 | GFXTIM register map . . . . . | 855 |
| 19 | Nested vectored interrupt controller (NVIC) . . . . . | 858 |
| 19.1 | NVIC features . . . . . | 858 |
| 19.1.1 | SysTick calibration value register . . . . . | 858 |
| 19.1.2 | Interrupt and exception vectors . . . . . | 859 |
| 20 | Extended interrupt and event controller (EXTI) . . . . . | 866 |
| 20.1 | EXTI main features . . . . . | 866 |
| 20.2 | EXTI block diagram . . . . . | 866 |
| 20.2.1 | EXTI connections between peripherals and CPU . . . . . | 867 |
| 20.3 | EXTI functional description . . . . . | 868 |
| 20.3.1 | EXTI configurable event input - CPU wake-up . . . . . | 869 |
| 20.3.2 | EXTI direct event input - CPU wake up . . . . . | 870 |
| 20.4 | EXTI event input mapping . . . . . | 871 |
| 20.5 | EXTI functional behavior . . . . . | 873 |
| 20.5.1 | EXTI CPU interrupt procedure . . . . . | 874 |
| 20.5.2 | EXTI CPU event procedure . . . . . | 874 |
| 20.5.3 | EXTI CPU wake-up procedure . . . . . | 874 |
| 20.5.4 | EXTI software interrupt/event trigger procedure . . . . . | 874 |
| 20.6 | EXTI registers . . . . . | 875 |
| 20.6.1 | EXTI rising trigger selection register (EXTI_RTSR1) . . . . . | 875 |
| 20.6.2 | EXTI falling trigger selection register (EXTI_FTSR1) . . . . . | 875 |
| 20.6.3 | EXTI software interrupt event register (EXTI_SWIER1) . . . . . | 876 |
| 20.6.4 | EXTI rising trigger selection register (EXTI_RTSR2) . . . . . | 876 |
| 20.6.5 | EXTI falling trigger selection register (EXTI_FTSR2) . . . . . | 877 |
| 20.6.6 | EXTI software interrupt event register (EXTI_SWIER2) . . . . . | 878 |
| 20.6.7 | EXTI interrupt mask register (EXTI_IMR1) . . . . . | 879 |
| 20.6.8 | EXTI event mask register (EXTI_EMR1) . . . . . | 880 |
| 20.6.9 | EXTI pending register (EXTI_PR1) . . . . . | 880 |
| 20.6.10 | EXTI interrupt mask register (EXTI_IMR2) . . . . . | 881 |
| 20.6.11 | EXTI event mask register (EXTI_EMR2) . . . . . | 881 |
| 20.6.12 | EXTI pending register (EXTI_PR2) . . . . . | 882 |
| 20.6.13 | EXTI interrupt mask register (EXTI_IMR3) . . . . . | 883 |
| 20.6.14 | EXTI event mask register (EXTI_EMR3) . . . . . | 883 |
| 20.6.15 | EXTI register map . . . . . | 884 |
| 21 | Cyclic redundancy check calculation unit (CRC) . . . . . | 886 |
| 21.1 | CRC introduction . . . . . | 886 |
| 21.2 | CRC main features . . . . . | 886 |
| 21.3 | CRC functional description . . . . . | 887 |
| 21.3.1 | CRC block diagram . . . . . | 887 |
| 21.3.2 | CRC internal signals . . . . . | 887 |
| 21.3.3 | CRC operation . . . . . | 887 |
| 21.4 | CRC registers . . . . . | 889 |
| 21.4.1 | CRC data register (CRC_DR) . . . . . | 889 |
| 21.4.2 | CRC independent data register (CRC_IDR) . . . . . | 889 |
| 21.4.3 | CRC control register (CRC_CR) . . . . . | 890 |
| 21.4.4 | CRC initial value (CRC_INIT) . . . . . | 891 |
| 21.4.5 | CRC polynomial (CRC_POL) . . . . . | 891 |
| 21.4.6 | CRC register map . . . . . | 892 |
| 22 | CORDIC coprocessor (CORDIC) . . . . . | 893 |
| 22.1 | CORDIC introduction . . . . . | 893 |
| 22.2 | CORDIC main features . . . . . | 893 |
| 22.3 | CORDIC functional description . . . . . | 893 |
| 22.3.1 | General description . . . . . | 893 |
| 22.3.2 | CORDIC functions . . . . . | 893 |
| 22.3.3 | Fixed point representation . . . . . | 900 |
| 22.3.4 | Scaling factor . . . . . | 900 |
| 22.3.5 | Precision . . . . . | 901 |
| 22.3.6 | Zero-overhead mode . . . . . | 904 |
| 22.3.7 | Polling mode . . . . . | 905 |
| 22.3.8 | Interrupt mode . . . . . | 906 |
| 22.3.9 | DMA mode . . . . . | 906 |
| 22.4 | CORDIC registers . . . . . | 907 |
| 22.4.1 | CORDIC control/status register (CORDIC_CSR) . . . . . | 907 |
| 22.4.2 | CORDIC argument register (CORDIC_WDATA) . . . . . | 909 |
| 22.4.3 | CORDIC result register (CORDIC_RDATA) . . . . . | 910 |
| 22.4.4 | CORDIC register map . . . . . | 910 |
| 23 | Flexible memory controller (FMC) . . . . . | 911 |
| 23.1 | FMC main features . . . . . | 911 |
| 23.2 | FMC block diagram . . . . . | 912 |
| 23.3 | FMC internal signals . . . . . | 914 |
| 23.4 | AHB interface . . . . . | 914 |
| 23.5 | AXI interface . . . . . | 914 |
| 23.5.1 | Supported memories and transactions . . . . . | 915 |
| 23.6 | External device address mapping . . . . . | 916 |
| 23.6.1 | NOR/PSRAM address mapping . . . . . | 917 |
| 23.6.2 | NAND flash memory address mapping . . . . . | 917 |
| 23.6.3 | SDRAM address mapping . . . . . | 918 |
| 23.7 | NOR flash/PSRAM controller . . . . . | 922 |
| 23.7.1 | External memory interface signals . . . . . | 923 |
| 23.7.2 | Supported memories and transactions . . . . . | 925 |
| 23.7.3 | General timing rules . . . . . | 926 |
| 23.7.4 | NOR flash/PSRAM controller asynchronous transactions . . . . . | 927 |
| 23.7.5 | Synchronous transactions . . . . . | 946 |
| 23.7.6 | NOR/PSRAM controller registers . . . . . | 952 |
| 23.8 | NAND flash controller . . . . . | 961 |
| 23.8.1 | External memory interface signals . . . . . | 961 |
| 23.8.2 | NAND flash supported memories and transactions . . . . . | 962 |
| 23.8.3 | Timing diagrams for NAND flash memories . . . . . | 963 |
| 23.8.4 | NAND flash operations . . . . . | 964 |
| 23.8.5 | NAND flash prewait feature . . . . . | 965 |
| 23.8.6 | Computation of the error correction code (ECC) in NAND flash memory . . . . . | 966 |
| 23.8.7 | NAND flash controller registers . . . . . | 967 |
| 23.9 | SDRAM controller . . . . . | 973 |
| 23.9.1 | SDRAM controller main features . . . . . | 973 |
| 23.9.2 | SDRAM External memory interface signals . . . . . | 973 |
| 23.9.3 | SDRAM controller functional description . . . . . | 974 |
| 23.9.4 | Low-power modes . . . . . | 981 |
| 23.9.5 | SDRAM controller registers . . . . . | 983 |
| 23.9.6 | FMC register map . . . . . | 990 |
| 24 | Extended-SPI interface (XSPI) . . . . . | 993 |
| 24.1 | XSPI introduction . . . . . | 993 |
| 24.2 | XSPI main features . . . . . | 993 |
| 24.3 | XSPI implementation . . . . . | 994 |
| 24.4 | XSPI functional description . . . . . | 995 |
| 24.4.1 | XSPI block diagram . . . . . | 995 |
| 24.4.2 | XSPI pins and internal signals . . . . . | 999 |
| 24.4.3 | Clock constraints . . . . . | 1000 |
| 24.4.4 | XSPI interface to memory modes . . . . . | 1000 |
| 24.4.5 | XSPI regular-command protocol . . . . . | 1000 |
| 24.4.6 | XSPI regular-command protocol signal interface . . . . . | 1004 |
| 24.4.7 | HyperBus protocol . . . . . | 1009 |
| 24.4.8 | Specific features . . . . . | 1014 |
| 24.4.9 | XSPI operating modes introduction . . . . . | 1016 |
| 24.4.10 | XSPI indirect mode . . . . . | 1016 |
| 24.4.11 | XSPI automatic status-polling mode . . . . . | 1018 |
| 24.4.12 | XSPI memory-mapped mode . . . . . | 1018 |
| 24.4.13 | XSPI configuration introduction . . . . . | 1019 |
| 24.4.14 | XSPI system configuration . . . . . | 1019 |
| 24.4.15 | XSPI device configuration . . . . . | 1020 |
| 24.4.16 | XSPI regular-command mode configuration . . . . . | 1022 |
| 24.4.17 | XSPI HyperBus protocol configuration . . . . . | 1025 |
| 24.4.18 | XSPI error management . . . . . | 1025 |
| 24.4.19 | XSPI high-speed interface and calibration . . . . . | 1026 |
| 24.4.20 | XSPI BUSY and ABORT . . . . . | 1027 |
| 24.4.21 | XSPI reconfiguration or deactivation . . . . . | 1027 |
| 24.4.22 | NCS behavior ..... | 1028 |
| 24.4.23 | Software control of two external memories ..... | 1029 |
| 24.5 | Address alignment and data number ..... | 1030 |
| 24.6 | XSPI interrupts ..... | 1031 |
| 24.7 | XSPI registers ..... | 1032 |
| 24.7.1 | XSPI control register (XSPI_CR) ..... | 1032 |
| 24.7.2 | XSPI device configuration register 1 (XSPI_DCR1) ..... | 1035 |
| 24.7.3 | XSPI device configuration register 2 (XSPI_DCR2) ..... | 1036 |
| 24.7.4 | XSPI device configuration register 3 (XSPI_DCR3) ..... | 1037 |
| 24.7.5 | XSPI device configuration register 4 (XSPI_DCR4) ..... | 1038 |
| 24.7.6 | XSPI status register (XSPI_SR) ..... | 1038 |
| 24.7.7 | XSPI flag clear register (XSPI_FCR) ..... | 1039 |
| 24.7.8 | XSPI data length register (XSPI_DLR) ..... | 1040 |
| 24.7.9 | XSPI address register (XSPI_AR) ..... | 1040 |
| 24.7.10 | XSPI data register (XSPI_DR) ..... | 1041 |
| 24.7.11 | XSPI polling status mask register (XSPI_PSMKR) ..... | 1042 |
| 24.7.12 | XSPI polling status match register (XSPI_PSMAR) ..... | 1042 |
| 24.7.13 | XSPI polling interval register (XSPI_PIR) ..... | 1043 |
| 24.7.14 | XSPI communication configuration register (XSPI_CCR) ..... | 1043 |
| 24.7.15 | XSPI timing configuration register (XSPI_TCR) ..... | 1045 |
| 24.7.16 | XSPI instruction register (XSPI_IR) ..... | 1046 |
| 24.7.17 | XSPI alternate bytes register (XSPI_ABR) ..... | 1046 |
| 24.7.18 | XSPI low-power timeout register (XSPI_LPTR) ..... | 1046 |
| 24.7.19 | XSPI wrap communication configuration register (XSPI_WPCCR) ..... | 1047 |
| 24.7.20 | XSPI wrap timing configuration register (XSPI_WPTCR) ..... | 1049 |
| 24.7.21 | XSPI wrap instruction register (XSPI_WPIR) ..... | 1050 |
| 24.7.22 | XSPI wrap alternate byte register (XSPI_WPABR) ..... | 1050 |
| 24.7.23 | XSPI write communication configuration register (XSPI_WCCR) ..... | 1050 |
| 24.7.24 | XSPI write timing configuration register (XSPI_WTCR) ..... | 1052 |
| 24.7.25 | XSPI write instruction register (XSPI_WIR) ..... | 1053 |
| 24.7.26 | XSPI write alternate byte register (XSPI_WABR) ..... | 1053 |
| 24.7.27 | XSPI HyperBus latency configuration register (XSPI_HLCR) ..... | 1054 |
| 24.7.28 | XSPI full-cycle calibration configuration (XSPI_CALFCR) ..... | 1054 |
| 24.7.29 | XSPI DLL master calibration configuration (XSPI_CALMR) ..... | 1055 |
| 24.7.30 | XSPI DLL slave output calibration configuration (XSPI_CALSOR) ..... | 1056 |
- 24.7.31 XSPI DLL slave input calibration configuration (XSPI_CALSIR) . . . . 1057
- 24.7.32 XSPI register map . . . . . 1057
- 25 XSPI I/O manager (XSPIM) . . . . . 1061
- 25.1 XSPIM introduction . . . . . 1061
- 25.2 XSPIM main features . . . . . 1061
- 25.3 XSPIM implementation . . . . . 1061
- 25.4 XSPIM functional description . . . . . 1061
- 25.4.1 XSPIM block diagram . . . . . 1061
- 25.4.2 XSPIM input/output pins . . . . . 1062
- 25.4.3 XSPIM matrix . . . . . 1062
- 25.4.4 XSPIM multiplexed mode . . . . . 1063
- 25.5 Use cases description . . . . . 1063
- 25.5.1 XSPIs direct octal mode . . . . . 1064
- 25.5.2 XSPI direct 16-bit mode . . . . . 1064
- 25.5.3 XSPI dual-octal mode . . . . . 1065
- 25.5.4 XSPI swapped mode . . . . . 1066
- 25.5.5 Two XSPIs multiplexed mode to Port 1 accessing two external memories . . . . . 1066
- 25.5.6 Two XSPIs multiplexed mode to Port 2 accessing two external memories . . . . . 1067
- 25.5.7 XSPI1 and XSPI2 drive a single external memory . . . . . 1068
- 25.5.8 A single XSPI drives two external memories . . . . . 1068
- 25.6 XSPIM registers . . . . . 1070
- 25.6.1 XSPIM control register (XSPIM_CR) . . . . . 1070
- 25.6.2 XSPIM register map . . . . . 1071
- 26 Delay block (DLYB) . . . . . 1072
- 26.1 DLYB introduction . . . . . 1072
- 26.2 DLYB main features . . . . . 1072
- 26.3 DLYB functional description . . . . . 1072
- 26.3.1 DLYB diagram . . . . . 1072
- 26.3.2 DLYB pins and internal signals . . . . . 1073
- 26.3.3 General description . . . . . 1073
- 26.3.4 Delay line length configuration procedure . . . . . 1074
- 26.3.5 Output clock phase configuration procedure . . . . . 1074
- 26.4 DLYB registers . . . . . 1075
| 26.4.1 | DLYB control register (DLYB_CR) . . . . . | 1075 |
| 26.4.2 | DLYB configuration register (DLYB_CFGR) . . . . . | 1076 |
| 26.4.3 | DLYB register map . . . . . | 1076 |
| 27 | Analog-to-digital converters (ADC1/2) . . . . . | 1077 |
| 27.1 | ADC introduction . . . . . | 1077 |
| 27.2 | ADC main features . . . . . | 1077 |
| 27.3 | ADC implementation . . . . . | 1079 |
| 27.4 | ADC functional description . . . . . | 1080 |
| 27.4.1 | ADC block diagram . . . . . | 1080 |
| 27.4.2 | ADC pins and internal signals . . . . . | 1081 |
| 27.4.3 | ADC clocks . . . . . | 1084 |
| 27.4.4 | ADC connectivity . . . . . | 1086 |
| 27.4.5 | Slave AHB interface . . . . . | 1088 |
| 27.4.6 | ADC Deep-power-down mode (DEEPPWD) and ADC voltage regulator (ADVREGEN) . . . . . | 1088 |
| 27.4.7 | Single-ended and differential input channels . . . . . | 1089 |
| 27.4.8 | Calibration (ADCAL, ADCALDIF, ADC_CALFACT) . . . . . | 1089 |
| 27.4.9 | ADC on-off control (ADEN, ADDIS, ADRDY) . . . . . | 1092 |
| 27.4.10 | Constraints when writing the ADC control bits . . . . . | 1093 |
| 27.4.11 | Channel selection (ADC_SQRY, ADC_JSQR) . . . . . | 1094 |
| 27.4.12 | Channel-wise programmable sampling time (SMPR1, SMPR2) . . . . . | 1095 |
| 27.4.13 | Single conversion mode (CONT = 0) . . . . . | 1097 |
| 27.4.14 | Continuous conversion mode (CONT = 1) . . . . . | 1097 |
| 27.4.15 | Starting conversions (ADSTART, JADSTART) . . . . . | 1098 |
| 27.4.16 | ADC timing . . . . . | 1099 |
| 27.4.17 | Stopping an ongoing conversion (ADSTP, JADSTP) . . . . . | 1100 |
| 27.4.18 | Conversion on external trigger and trigger polarity (EXTSEL, EXTEN, JEXTSEL, JEXTEN) . . . . . | 1101 |
| 27.4.19 | Injected channel management . . . . . | 1103 |
| 27.4.20 | Discontinuous mode (DISCEN, DISCNUM, JDISCEN) . . . . . | 1104 |
| 27.4.21 | Queue of context for injected conversions . . . . . | 1105 |
| 27.4.22 | Programmable resolution (RES) - fast conversion mode . . . . . | 1113 |
| 27.4.23 | End of conversion, end of sampling phase (EOC, JEOC, EOSMP) . . . . . | 1114 |
| 27.4.24 | End of conversion sequence (EOS, JEOS) . . . . . | 1114 |
| 27.4.25 | Timing diagrams example (single/continuous modes, hardware/software triggers) . . . . . | 1115 |
| 27.4.26 | Data management . . . . . | 1117 |
| 27.4.27 | Managing conversions using the ADF . . . . . | 1123 |
| 27.4.28 | Dynamic low-power features . . . . . | 1124 |
| 27.4.29 | Analog window watchdog (AWD1EN, JAWD1EN, AWD1SGL, AWD1CH, AWD2CH, AWD3CH, AWD_HTx, AWD_LTx, AWDx) . . . . . | 1129 |
| 27.4.30 | Oversampler . . . . . | 1133 |
| 27.4.31 | Dual ADC modes . . . . . | 1140 |
| 27.4.32 | Temperature sensor . . . . . | 1153 |
| 27.4.33 | VBAT supply monitoring . . . . . | 1155 |
| 27.4.34 | Monitoring the internal voltage reference . . . . . | 1156 |
| 27.4.35 | Monitoring the supply voltage . . . . . | 1157 |
| 27.5 | ADC in low-power modes . . . . . | 1158 |
| 27.6 | ADC interrupts . . . . . | 1158 |
| 27.7 | ADC registers (for each ADC) . . . . . | 1160 |
| 27.7.1 | ADC interrupt and status register (ADC_ISR) . . . . . | 1160 |
| 27.7.2 | ADC interrupt enable register (ADC_IER) . . . . . | 1162 |
| 27.7.3 | ADC control register (ADC_CR) . . . . . | 1164 |
| 27.7.4 | ADC configuration register (ADC_CFGR) . . . . . | 1167 |
| 27.7.5 | ADC configuration register 2 (ADC_CFGR2) . . . . . | 1172 |
| 27.7.6 | ADC sample time register 1 (ADC_SMPR1) . . . . . | 1174 |
| 27.7.7 | ADC sample time register 2 (ADC_SMPR2) . . . . . | 1175 |
| 27.7.8 | ADC watchdog threshold register 1 (ADC_TR1) . . . . . | 1176 |
| 27.7.9 | ADC watchdog threshold register 2 (ADC_TR2) . . . . . | 1177 |
| 27.7.10 | ADC watchdog threshold register 3 (ADC_TR3) . . . . . | 1178 |
| 27.7.11 | ADC regular sequence register 1 (ADC_SQR1) . . . . . | 1178 |
| 27.7.12 | ADC regular sequence register 2 (ADC_SQR2) . . . . . | 1179 |
| 27.7.13 | ADC regular sequence register 3 (ADC_SQR3) . . . . . | 1180 |
| 27.7.14 | ADC regular sequence register 4 (ADC_SQR4) . . . . . | 1181 |
| 27.7.15 | ADC regular data register (ADC_DR) . . . . . | 1182 |
| 27.7.16 | ADC injected sequence register (ADC_JSQR) . . . . . | 1182 |
| 27.7.17 | ADC offset y register (ADC_OFRy) . . . . . | 1185 |
| 27.7.18 | ADC injected channel y data register (ADC_JDRy) . . . . . | 1186 |
| 27.7.19 | ADC analog watchdog 2 configuration register (ADC_AWD2CR) . . . . . | 1187 |
| 27.7.20 | ADC analog watchdog 3 configuration register (ADC_AWD3CR) . . . . . | 1187 |
| 27.7.21 | ADC Differential mode selection register (ADC_DIFSEL) . . . . . | 1188 |
| 27.7.22 | ADC calibration factors (ADC_CALFACT) . . . . . | 1189 |
| 27.7.23 | ADC option register (ADC_OR) . . . . . | 1189 |
| 27.8 | ADC common registers . . . . . | 1190 |
| 27.8.1 | ADC common status register (ADC_CSR) . . . . . | 1190 |
| 27.8.2 | ADC common control register (ADC_CCR) . . . . . | 1192 |
| 27.8.3 | ADC common regular data register for dual mode (ADC_CDR) . . . . . | 1195 |
| 27.9 | ADC register map . . . . . | 1196 |
| 28 | Digital temperature sensor (DTS) . . . . . | 1200 |
| 28.1 | DTS introduction . . . . . | 1200 |
| 28.2 | DTS main features . . . . . | 1200 |
| 28.3 | DTS functional description . . . . . | 1201 |
| 28.3.1 | DTS block diagram . . . . . | 1201 |
| 28.3.2 | DTS internal signals . . . . . | 1201 |
| 28.3.3 | DTS block operation . . . . . | 1202 |
| 28.3.4 | Operating modes . . . . . | 1202 |
| 28.3.5 | Calibration . . . . . | 1202 |
| 28.3.6 | Prescaler . . . . . | 1202 |
| 28.3.7 | Temperature measurement principles . . . . . | 1203 |
| 28.3.8 | Sampling time . . . . . | 1204 |
| 28.3.9 | Quick measurement mode . . . . . | 1204 |
| 28.3.10 | Trigger input . . . . . | 1205 |
| 28.3.11 | On-off control and ready flag . . . . . | 1205 |
| 28.3.12 | Temperature measurement sequence . . . . . | 1206 |
| 28.4 | DTS low-power modes . . . . . | 1207 |
| 28.5 | DTS interrupts . . . . . | 1207 |
| 28.5.1 | Temperature window comparator . . . . . | 1207 |
| 28.5.2 | Synchronous interrupt . . . . . | 1207 |
| 28.5.3 | Asynchronous wake-up . . . . . | 1207 |
| 28.6 | DTS registers . . . . . | 1208 |
| 28.6.1 | Temperature sensor configuration register 1 (DTS_CFGR1) . . . . . | 1208 |
| 28.6.2 | Temperature sensor T0 value register 1 (DTS_T0VALR1) . . . . . | 1210 |
| 28.6.3 | Temperature sensor ramp value register (DTS_RAMPVALR) . . . . . | 1210 |
| 28.6.4 | Temperature sensor interrupt threshold register 1 (DTS_ITR1) . . . . . | 1211 |
| 28.6.5 | Temperature sensor data register (DTS_DR) . . . . . | 1211 |
| 28.6.6 | Temperature sensor status register (DTS_SR) . . . . . | 1212 |
| 28.6.7 | Temperature sensor interrupt enable register (DTS_ITENR) . . . . . | 1213 |
| 28.6.8 | Temperature sensor clear interrupt flag register (DTS_ICIFR) . . . . . | 1214 |
| 28.6.9 | Temperature sensor option register (DTS_OR) . . . . . | 1215 |
- 28.6.10 DTS register map . . . . . 1216
- 29 Voltage reference buffer (VREFBUF) . . . . . 1218
- 29.1 VREFBUF introduction . . . . . 1218
- 29.2 VREFBUF implementation . . . . . 1218
- 29.3 VREFBUF functional description . . . . . 1218
- 29.4 VREFBUF trimming . . . . . 1219
- 29.5 VREFBUF registers . . . . . 1220
- 29.5.1 VREFBUF control and status register (VREFBUF_CSR) . . . . . 1220
- 29.5.2 VREFBUF calibration control register (VREFBUF_CCR) . . . . . 1221
- 29.5.3 VREFBUF register map . . . . . 1221
- 30 Audio digital filter (ADF) . . . . . 1222
- 30.1 ADF introduction . . . . . 1222
- 30.2 ADF main features . . . . . 1222
- 30.3 ADF implementation . . . . . 1223
- 30.4 ADF functional description . . . . . 1224
- 30.4.1 ADF block diagram . . . . . 1224
- 30.4.2 ADF pins and internal signals . . . . . 1224
- 30.4.3 Serial input interface (SITF) . . . . . 1225
- 30.4.4 ADC slave interface (ADCITF) . . . . . 1229
- 30.4.5 Clock generator (CKGEN) . . . . . 1230
- 30.4.6 Bitstream matrix (BSMX) . . . . . 1232
- 30.4.7 Digital filter processing (DFLT) . . . . . 1233
- 30.4.8 Digital filter acquisition modes . . . . . 1243
- 30.4.9 Start-up sequence examples . . . . . 1251
- 30.4.10 Sound activity detection (SAD) . . . . . 1252
- 30.4.11 Data transfer to memory . . . . . 1260
- 30.4.12 Autonomous mode . . . . . 1263
- 30.4.13 Register protection . . . . . 1263
- 30.5 ADF low-power modes . . . . . 1264
- 30.6 ADF interrupts . . . . . 1264
- 30.7 ADF application information . . . . . 1266
- 30.7.1 ADF configuration examples for audio capture . . . . . 1266
- 30.7.2 Programming examples . . . . . 1267
- 30.7.3 Connection examples . . . . . 1269
| 30.7.4 | Global frequency response ..... | 1270 |
| 30.7.5 | Total ADF gain ..... | 1271 |
| 30.7.6 | How to compute SAD thresholds ..... | 1274 |
| 30.8 | ADF registers ..... | 1278 |
| 30.8.1 | ADF global control register (ADF_GCR) ..... | 1278 |
| 30.8.2 | ADF clock generator control register (ADF_CKGCR) ..... | 1278 |
| 30.8.3 | ADF serial interface control register 0 (ADF_SITF0CR) ..... | 1280 |
| 30.8.4 | ADF bitstream matrix control register 0 (ADF_BSMX0CR) ..... | 1282 |
| 30.8.5 | ADF digital filter control register 0 (ADF_DFLT0CR) ..... | 1282 |
| 30.8.6 | ADF digital filter configuration register 0 (ADF_DFLT0CICR) ..... | 1284 |
| 30.8.7 | ADF reshape filter configuration register 0 (ADF_DFLT0RSFR) ..... | 1285 |
| 30.8.8 | ADF delay control register 0 (ADF_DLY0CR) ..... | 1286 |
| 30.8.9 | ADF DFLT0 interrupt enable register (ADF_DFLT0IER) ..... | 1287 |
| 30.8.10 | ADF DFLT0 interrupt status register 0 (ADF_DFLT0ISR) ..... | 1288 |
| 30.8.11 | ADF SAD control register (ADF_SADCR) ..... | 1289 |
| 30.8.12 | ADF SAD configuration register (ADF_SADCFGR) ..... | 1291 |
| 30.8.13 | ADF SAD sound level register (ADF_SADSDLVR) ..... | 1292 |
| 30.8.14 | ADF SAD ambient noise level register (ADF_SADANLVR) ..... | 1293 |
| 30.8.15 | ADF digital filter data register 0 (ADF_DFLT0DR) ..... | 1293 |
| 30.8.16 | ADF register map ..... | 1293 |
| 31 | Digital camera interface pixel pipeline (DCMIPP) ..... | 1296 |
| 31.1 | DCMIPP introduction ..... | 1296 |
| 31.2 | DCMIPP main features ..... | 1298 |
| 31.3 | DCMIPP functional description ..... | 1299 |
| 31.3.1 | DCMIPP block diagram ..... | 1299 |
| 31.3.2 | DCMIPP pads and internal signals ..... | 1299 |
| 31.3.3 | DCMIPP reset and clocks ..... | 1300 |
| 31.3.4 | DCMIPP maximum resolution ..... | 1302 |
| 31.3.5 | DCMIPP minimum requirements for frame structure ..... | 1302 |
| 31.3.6 | Description of DCMIPP pixel format support ..... | 1302 |
| 31.4 | DCMIPP input and flow control ..... | 1303 |
| 31.4.1 | DCMIPP common configuration ..... | 1303 |
| 31.4.2 | Parallel input interface ..... | 1304 |
| 31.4.3 | Frame counter ..... | 1307 |
| 31.4.4 | Frame control ..... | 1307 |
| 31.4.5 | Pipe deactivation ..... | 1311 |
- 31.5 Pipe0 (dump pipe) . . . . . 1312
- 31.5.1 Overview . . . . . 1312
- 31.5.2 Decimation . . . . . 1312
- 31.5.3 Crop/statistics selection/suppression . . . . . 1313
- 31.5.4 Dump counter . . . . . 1314
- 31.5.5 Double buffer mode . . . . . 1315
- 31.5.6 Pixel packing . . . . . 1315
- 31.5.7 Overrun detection . . . . . 1316
- 31.6 Pixel format description . . . . . 1317
- 31.6.1 Parallel interface formats . . . . . 1317
- 31.6.2 Dump pipe formats . . . . . 1319
- 31.6.3 AXI IP-Plug . . . . . 1320
- 31.7 Shadow registers . . . . . 1322
- 31.8 DCMIPP low power modes . . . . . 1323
- 31.9 DCMIPP interrupts . . . . . 1324
- 31.9.1 Free-running DCMIPP . . . . . 1324
- 31.9.2 Interrupts . . . . . 1324
- 31.9.3 Event pins . . . . . 1326
- 31.10 DCMIPP registers . . . . . 1327
- 31.10.1 DCMIPP IP-Plug global register 1 (DCMIPP_IPGR1) . . . . . 1327
- 31.10.2 DCMIPP IP-Plug global register 2 (DCMIPP_IPGR2) . . . . . 1328
- 31.10.3 DCMIPP IP-Plug global register 3 (DCMIPP_IPGR3) . . . . . 1328
- 31.10.4 DCMIPP IP-Plug identification register (DCMIPP_IPGR8) . . . . . 1328
- 31.10.5 DCMIPP IP-Plug Clientx register 1 (DCMIPP_IPCxR1) . . . . . 1329
- 31.10.6 DCMIPP IP-Plug Clientx register 2 (DCMIPP_IPCxR2) . . . . . 1330
- 31.10.7 DCMIPP IP-Plug Clientx register 3 (DCMIPP_IPCxR3) . . . . . 1330
- 31.10.8 DCMIPP parallel interface control register (DCMIPP_PRCR) . . . . . 1331
- 31.10.9 DCMIPP parallel interface embedded synchronization code register (DCMIPP_PRESQR) . . . . . 1332
- 31.10.10 DCMIPP parallel interface embedded synchronization unmask register (DCMIPP_PRESUR) . . . . . 1333
- 31.10.11 DCMIPP parallel interface interrupt enable register (DCMIPP_PRIER) . . . . . 1334
- 31.10.12 DCMIPP parallel interface status register (DCMIPP_PRSR) . . . . . 1334
- 31.10.13 DCMIPP parallel interface interrupt clear register (DCMIPP_PRFCR) . . . . . 1335
- 31.10.14 DCMIPP common configuration register (DCMIPP_CMCR) . . . . . 1336
- 31.10.15 DCMIPP common frame counter register (DCMIPP_CMFCR) . . . . . 1336
| 31.10.16 | DCMIPP common interrupt enable register (DCMIPP_CMIER) . . . . | 1337 |
| 31.10.17 | DCMIPP common status register 1 (DCMIPP_CMSR1) . . . . . | 1338 |
| 31.10.18 | DCMIPP common status register 2 (DCMIPP_CMSR2) . . . . . | 1339 |
| 31.10.19 | DCMIPP common interrupt clear register (DCMIPP_CMFCR) . . . . | 1340 |
| 31.10.20 | DCMIPP Pipe0 flow selection configuration register (DCMIPP_P0FSCR) . . . . . | 1341 |
| 31.10.21 | DCMIPP Pipe0 flow control configuration register (DCMIPP_P0FCTCR) . . . . . | 1341 |
| 31.10.22 | DCMIPP Pipe0 statistic/crop start register (DCMIPP_P0SCSTR) . . . | 1342 |
| 31.10.23 | DCMIPP Pipe0 statistic/crop size register (DCMIPP_P0SCSZR) . . . | 1343 |
| 31.10.24 | DCMIPP Pipe0 dump counter register (DCMIPP_P0DCCNTR) . . . . | 1343 |
| 31.10.25 | DCMIPP Pipe0 dump limit register (DCMIPP_P0DCLMTR) . . . . . | 1344 |
| 31.10.26 | DCMIPP Pipe0 pixel packer configuration register (DCMIPP_P0PPCR) . . . . . | 1344 |
| 31.10.27 | DCMIPP Pipe0 pixel packer Memory0 address register 1 (DCMIPP_P0PPM0AR1) . . . . . | 1345 |
| 31.10.28 | DCMIPP Pipe0 pixel packer Memory0 address register 2 (DCMIPP_P0PPM0AR2) . . . . . | 1346 |
| 31.10.29 | DCMIPP Pipe0 interrupt enable register (DCMIPP_P0IER) . . . . . | 1346 |
| 31.10.30 | DCMIPP Pipe0 status register (DCMIPP_P0SR) . . . . . | 1347 |
| 31.10.31 | DCMIPP Pipe0 interrupt clear register (DCMIPP_P0FCR) . . . . . | 1348 |
| 31.10.32 | DCMIPP Pipe0 current flow control configuration register (DCMIPP_P0CFCTCR) . . . . . | 1349 |
| 31.10.33 | DCMIPP Pipe0 current statistic/crop start register (DCMIPP_P0CSCSTR) . . . . . | 1349 |
| 31.10.34 | DCMIPP Pipe0 current statistic/crop size register (DCMIPP_P0CSCSZR) . . . . . | 1350 |
| 31.10.35 | DCMIPP Pipe0 current pixel packer configuration register (DCMIPP_P0CPPCR) . . . . . | 1351 |
| 31.10.36 | DCMIPP Pipe0 current pixel packer Memory0 address register 1 (DCMIPP_P0CPPM0AR1) . . . . . | 1352 |
| 31.10.37 | DCMIPP Pipe0 current pixel packer Memory0 address register 2 (DCMIPP_P0CPPM0AR2) . . . . . | 1352 |
| 31.11 | DCMIPP register map . . . . . | 1354 |
| 32 | Parallel synchronous slave interface (PSSI) . . . . . | 1357 |
| 32.1 | PSSI introduction . . . . . | 1357 |
| 32.2 | PSSI main features . . . . . | 1357 |
| 32.3 | PSSI functional description . . . . . | 1357 |
| 32.3.1 | PSSI block diagram . . . . . | 1358 |
| 32.3.2 | PSSI pins and internal signals . . . . . | 1358 |
| 32.3.3 | PSSI clock . . . . . | 1359 |
| 32.3.4 | PSSI data management . . . . . | 1359 |
| 32.3.5 | PSSI optional control signals . . . . . | 1361 |
| 32.4 | PSSI interrupts . . . . . | 1364 |
| 32.5 | PSSI registers . . . . . | 1364 |
| 32.5.1 | PSSI control register (PSSI_CR) . . . . . | 1364 |
| 32.5.2 | PSSI status register (PSSI_SR) . . . . . | 1366 |
| 32.5.3 | PSSI raw interrupt status register (PSSI_RIS) . . . . . | 1367 |
| 32.5.4 | PSSI interrupt enable register (PSSI_IER) . . . . . | 1368 |
| 32.5.5 | PSSI masked interrupt status register (PSSI_MIS) . . . . . | 1368 |
| 32.5.6 | PSSI interrupt clear register (PSSI_ICR) . . . . . | 1369 |
| 32.5.7 | PSSI data register (PSSI_DR) . . . . . | 1369 |
| 32.5.8 | PSSI register map . . . . . | 1370 |
| 33 | LCD-TFT display controller (LTDC) . . . . . | 1371 |
| 33.1 | Introduction . . . . . | 1371 |
| 33.2 | LTDC main features . . . . . | 1371 |
| 33.3 | LTDC functional description . . . . . | 1372 |
| 33.3.1 | LTDC block diagram . . . . . | 1372 |
| 33.3.2 | LTDC pins and internal signals . . . . . | 1372 |
| 33.3.3 | LTDC reset and clocks . . . . . | 1373 |
| 33.4 | LTDC programmable parameters . . . . . | 1375 |
| 33.4.1 | LTDC global configuration parameters . . . . . | 1375 |
| 33.4.2 | Layer programmable parameters . . . . . | 1377 |
| 33.5 | LTDC interrupts . . . . . | 1381 |
| 33.6 | LTDC programming procedure . . . . . | 1382 |
| 33.7 | LTDC registers . . . . . | 1383 |
| 33.7.1 | LTDC synchronization size configuration register (LTDC_SSCR) . . . . . | 1383 |
| 33.7.2 | LTDC back porch configuration register (LTDC_BPCR) . . . . . | 1383 |
| 33.7.3 | LTDC active width configuration register (LTDC_AWCR) . . . . . | 1384 |
| 33.7.4 | LTDC total width configuration register (LTDC_TWCR) . . . . . | 1385 |
| 33.7.5 | LTDC global control register (LTDC_GCR) . . . . . | 1385 |
| 33.7.6 | LTDC shadow reload configuration register (LTDC_SRCR) . . . . . | 1387 |
| 33.7.7 | LTDC background color configuration register (LTDC_BCCR) . . . . . | 1387 |
| 33.7.8 | LTDC interrupt enable register (LTDC_IER) . . . . . | 1388 |
| 33.7.9 | LTDC interrupt status register (LTDC_ISR) . . . . . | 1389 |
| 33.7.10 | LTDC interrupt clear register (LTDC_ICR) . . . . . | 1389 |
| 33.7.11 | LTDC line interrupt position configuration register (LTDC_LIPCR) . . . | 1390 |
| 33.7.12 | LTDC current position status register (LTDC_CPSR) . . . . . | 1390 |
| 33.7.13 | LTDC current display status register (LTDC_CDSR) . . . . . | 1391 |
| 33.7.14 | LTDC layer x control register (LTDC_LxCR) . . . . . | 1391 |
| 33.7.15 | LTDC layer x window horizontal position configuration register (LTDC_LxWHPER) . . . . . | 1392 |
| 33.7.16 | LTDC layer x window vertical position configuration register (LTDC_LxWVPER) . . . . . | 1393 |
| 33.7.17 | LTDC layer x color keying configuration register (LTDC_LxCKCR) . . . . . | 1394 |
| 33.7.18 | LTDC layer x pixel format configuration register (LTDC_LxPFCR) . . . . . | 1394 |
| 33.7.19 | LTDC layer x constant alpha configuration register (LTDC_LxCACR) . . . . . | 1395 |
| 33.7.20 | LTDC layer x default color configuration register (LTDC_LxDCCR) . . . . . | 1395 |
| 33.7.21 | LTDC layer x blending factors configuration register (LTDC_LxBFCR) . . . . . | 1396 |
| 33.7.22 | LTDC layer x color frame buffer address register (LTDC_LxCFBAR) . . . . . | 1397 |
| 33.7.23 | LTDC layer x color frame buffer length register (LTDC_LxCFBLR) . . . . . | 1397 |
| 33.7.24 | LTDC layer x color frame buffer line number register (LTDC_LxCFBLNR) . . . . . | 1398 |
| 33.7.25 | LTDC layer x CLUT write register (LTDC_LxCLUTWR) . . . . . | 1398 |
| 33.7.26 | LTDC register map . . . . . | 1399 |
| 34 | JPEG codec (JPEG) . . . . . | 1402 |
| 34.1 | JPEG introduction . . . . . | 1402 |
| 34.2 | JPEG codec main features . . . . . | 1402 |
| 34.3 | JPEG codec block functional description . . . . . | 1403 |
| 34.3.1 | General description . . . . . | 1403 |
| 34.3.2 | JPEG internal signals . . . . . | 1403 |
| 34.3.3 | JPEG decoding procedure . . . . . | 1404 |
| 34.3.4 | JPEG encoding procedure . . . . . | 1406 |
| 34.4 | JPEG codec interrupts . . . . . | 1409 |
| 34.5 | JPEG codec registers . . . . . | 1409 |
| 34.5.1 | JPEG codec control register (JPEG_CONFR0) . . . . . | 1409 |
| 34.5.2 | JPEG codec configuration register 1 (JPEG_CONFR1) . . . . . | 1410 |
| 34.5.3 | JPEG codec configuration register 2 (JPEG_CONFR2) . . . . . | 1411 |
| 34.5.4 | JPEG codec configuration register 3 (JPEG_CONFR3) . . . . . | 1411 |
| 34.5.5 | JPEG codec configuration register x (JPEG_CONFRx) . . . . . | 1412 |
| 34.5.6 | JPEG control register (JPEG_CR) . . . . . | 1413 |
| 34.5.7 | JPEG status register (JPEG_SR) . . . . . | 1414 |
| 34.5.8 | JPEG clear flag register (JPEG_CFR) . . . . . | 1415 |
| 34.5.9 | JPEG data input register (JPEG_DIR) . . . . . | 1416 |
| 34.5.10 | JPEG data output register (JPEG_DOR) . . . . . | 1416 |
| 34.5.11 | JPEG quantization memory x (JPEG_QMEMx_y) . . . . . | 1417 |
| 34.5.12 | JPEG Huffman min (JPEG_HUFFMINx_y) . . . . . | 1417 |
| 34.5.13 | JPEG Huffman min x (JPEG_HUFFMINx_y) . . . . . | 1418 |
| 34.5.14 | JPEG Huffman base (JPEG_HUFFBASEx) . . . . . | 1418 |
| 34.5.15 | JPEG Huffman symbol (JPEG_HUFFSYMBx) . . . . . | 1419 |
| 34.5.16 | JPEG DHT memory (JPEG_DHTMEMx) . . . . . | 1420 |
| 34.5.17 | JPEG Huffman encoder ACx (JPEG_HUFFENC_ACx_y) . . . . . | 1420 |
| 34.5.18 | JPEG Huffman encoder DCx (JPEG_HUFFENC_DCx_y) . . . . . | 1421 |
| 34.5.19 | JPEG codec register map . . . . . | 1422 |
| 35 | True random number generator (RNG) . . . . . | 1424 |
| 35.1 | RNG introduction . . . . . | 1424 |
| 35.2 | RNG main features . . . . . | 1424 |
| 35.3 | RNG functional description . . . . . | 1425 |
| 35.3.1 | RNG block diagram . . . . . | 1425 |
| 35.3.2 | RNG internal signals . . . . . | 1425 |
| 35.3.3 | Random number generation . . . . . | 1425 |
| 35.3.4 | RNG initialization . . . . . | 1428 |
| 35.3.5 | RNG operation . . . . . | 1429 |
| 35.3.6 | RNG clocking . . . . . | 1431 |
| 35.3.7 | Error management . . . . . | 1431 |
| 35.3.8 | RNG low-power use . . . . . | 1432 |
| 35.4 | RNG interrupts . . . . . | 1433 |
| 35.5 | RNG processing time . . . . . | 1433 |
| 35.6 | RNG entropy source validation . . . . . | 1434 |
| 35.6.1 | Introduction . . . . . | 1434 |
| 35.6.2 | Validation conditions ..... | 1434 |
| 35.7 | RNG registers ..... | 1435 |
| 35.7.1 | RNG control register (RNG_CR) ..... | 1435 |
| 35.7.2 | RNG status register (RNG_SR) ..... | 1437 |
| 35.7.3 | RNG data register (RNG_DR) ..... | 1438 |
| 35.7.4 | RNG noise source control register (RNG_NSCR) ..... | 1439 |
| 35.7.5 | RNG health test control register (RNG_HTCR) ..... | 1440 |
| 35.7.6 | RNG register map ..... | 1440 |
| 36 | Secure AES coprocessor (SAES) ..... | 1441 |
| 36.1 | SAES introduction ..... | 1441 |
| 36.2 | SAES main features ..... | 1441 |
| 36.3 | SAES implementation ..... | 1442 |
| 36.4 | SAES functional description ..... | 1442 |
| 36.4.1 | SAES block diagram ..... | 1442 |
| 36.4.2 | SAES internal signals ..... | 1443 |
| 36.4.3 | SAES reset and clocks ..... | 1444 |
| 36.4.4 | SAES symmetric cipher implementation ..... | 1444 |
| 36.4.5 | SAES encryption or decryption typical usage ..... | 1445 |
| 36.4.6 | SAES authenticated encryption, decryption, and cipher-based message authentication ..... | 1447 |
| 36.4.7 | SAES ciphertext stealing and data padding ..... | 1447 |
| 36.4.8 | SAES suspend and resume operations ..... | 1448 |
| 36.4.9 | SAES basic chaining modes (ECB, CBC) ..... | 1448 |
| 36.4.10 | SAES counter (CTR) mode ..... | 1453 |
| 36.4.11 | SAES Galois/counter mode (GCM) ..... | 1455 |
| 36.4.12 | SAES Galois message authentication code (GMAC) ..... | 1459 |
| 36.4.13 | SAES counter with CBC-MAC (CCM) ..... | 1461 |
| 36.4.14 | SAES operation with wrapped keys ..... | 1466 |
| 36.4.15 | SAES operation with shared keys ..... | 1470 |
| 36.4.16 | SAES data registers and data swapping ..... | 1471 |
| 36.4.17 | SAES key registers ..... | 1474 |
| 36.4.18 | SAES initialization vector registers ..... | 1475 |
| 36.4.19 | SAES error management ..... | 1475 |
| 36.5 | SAES interrupts ..... | 1477 |
| 36.6 | SAES DMA requests ..... | 1478 |
- 36.7 SAES processing latency . . . . . 1478
- 36.8 SAES registers . . . . . 1480
- 36.8.1 SAES control register (SAES_CR) . . . . . 1480
- 36.8.2 SAES status register (SAES_SR) . . . . . 1483
- 36.8.3 SAES data input register (SAES_DINR) . . . . . 1484
- 36.8.4 SAES data output register (SAES_DOUTR) . . . . . 1485
- 36.8.5 SAES key register 0 (SAES_KEYR0) . . . . . 1485
- 36.8.6 SAES key register 1 (SAES_KEYR1) . . . . . 1486
- 36.8.7 SAES key register 2 (SAES_KEYR2) . . . . . 1486
- 36.8.8 SAES key register 3 (SAES_KEYR3) . . . . . 1486
- 36.8.9 SAES initialization vector register 0 (SAES_IVR0) . . . . . 1487
- 36.8.10 SAES initialization vector register 1 (SAES_IVR1) . . . . . 1487
- 36.8.11 SAES initialization vector register 2 (SAES_IVR2) . . . . . 1487
- 36.8.12 SAES initialization vector register 3 (SAES_IVR3) . . . . . 1488
- 36.8.13 SAES key register 4 (SAES_KEYR4) . . . . . 1488
- 36.8.14 SAES key register 5 (SAES_KEYR5) . . . . . 1488
- 36.8.15 SAES key register 6 (SAES_KEYR6) . . . . . 1489
- 36.8.16 SAES key register 7 (SAES_KEYR7) . . . . . 1489
- 36.8.17 SAES suspend registers (SAES_SUSPRx) . . . . . 1489
- 36.8.18 SAES interrupt enable register (SAES_IER) . . . . . 1490
- 36.8.19 SAES interrupt status register (SAES_ISR) . . . . . 1491
- 36.8.20 SAES interrupt clear register (SAES_ICR) . . . . . 1492
- 36.8.21 SAES register map . . . . . 1492
- 37 Cryptographic processor (CRYP) . . . . . 1495
- 37.1 CRYP introduction . . . . . 1495
- 37.2 CRYP main features . . . . . 1495
- 37.3 CRYP implementation . . . . . 1496
- 37.4 CRYP functional description . . . . . 1497
- 37.4.1 CRYP block diagram . . . . . 1497
- 37.4.2 CRYP internal signals . . . . . 1498
- 37.4.3 CRYP reset and clocks . . . . . 1498
- 37.4.4 CRYP symmetric cipher implementation . . . . . 1498
- 37.4.5 CRYP encryption/ decryption typical usage . . . . . 1499
- 37.4.6 CRYP authenticated encryption, decryption, and cipher-based message authentication . . . . . 1502
- 37.4.7 CRYP ciphertext stealing and data padding . . . . . 1502
| 37.4.8 | CRYP suspend and resume operations . . . . . | 1503 |
| 37.4.9 | CRYP basic chaining modes (ECB, CBC) . . . . . | 1503 |
| 37.4.10 | CRYP counter mode (CTR) . . . . . | 1508 |
| 37.4.11 | CRYP AES Galois/counter mode (GCM) . . . . . | 1510 |
| 37.4.12 | CRYP AES Galois message authentication code (GMAC) . . . . . | 1516 |
| 37.4.13 | CRYP AES Counter with CBC-MAC (CCM) . . . . . | 1517 |
| 37.4.14 | AES key sharing with secure AES co-processor . . . . . | 1522 |
| 37.4.15 | CRYP data registers and data swapping . . . . . | 1523 |
| 37.4.16 | CRYP key registers . . . . . | 1526 |
| 37.4.17 | CRYP initialization vector registers . . . . . | 1526 |
| 37.4.18 | CRYP error management . . . . . | 1527 |
| 37.5 | CRYP interrupts . . . . . | 1527 |
| 37.6 | CRYP DMA requests . . . . . | 1528 |
| 37.7 | CRYP processing time . . . . . | 1529 |
| 37.8 | CRYP registers . . . . . | 1530 |
| 37.8.1 | CRYP control register (CRYP_CR) . . . . . | 1530 |
| 37.8.2 | CRYP status register (CRYP_SR) . . . . . | 1532 |
| 37.8.3 | CRYP data input register (CRYP_DINR) . . . . . | 1534 |
| 37.8.4 | CRYP data output register (CRYP_DOUTR) . . . . . | 1534 |
| 37.8.5 | CRYP DMA control register (CRYP_DMACR) . . . . . | 1535 |
| 37.8.6 | CRYP interrupt mask set/clear register (CRYP_IMSCR) . . . . . | 1535 |
| 37.8.7 | CRYP raw interrupt status register (CRYP_RISR) . . . . . | 1536 |
| 37.8.8 | CRYP masked interrupt status register (CRYP_MISR) . . . . . | 1536 |
| 37.8.9 | CRYP key register 0L (CRYP_K0LR) . . . . . | 1537 |
| 37.8.10 | CRYP key register 0R (CRYP_K0RR) . . . . . | 1538 |
| 37.8.11 | CRYP key register 1L (CRYP_K1LR) . . . . . | 1538 |
| 37.8.12 | CRYP key register 1R (CRYP_K1RR) . . . . . | 1538 |
| 37.8.13 | CRYP key register 2L (CRYP_K2LR) . . . . . | 1539 |
| 37.8.14 | CRYP key register 2R (CRYP_K2RR) . . . . . | 1539 |
| 37.8.15 | CRYP key register 3L (CRYP_K3LR) . . . . . | 1540 |
| 37.8.16 | CRYP key register 3R (CRYP_K3RR) . . . . . | 1540 |
| 37.8.17 | CRYP initialization vector register 0L (CRYP_IV0LR) . . . . . | 1540 |
| 37.8.18 | CRYP initialization vector register 0R (CRYP_IV0RR) . . . . . | 1541 |
| 37.8.19 | CRYP initialization vector register 1L (CRYP_IV1LR) . . . . . | 1541 |
| 37.8.20 | CRYP initialization vector register 1R (CRYP_IV1RR) . . . . . | 1542 |
| 37.8.21 | CRYP context swap GCM-CCM registers (CRYP_CSGCMCCMxR) . . . . . | 1542 |
| 37.8.22 | CRYP context swap GCM registers (CRYP_CSGCMxR) . . . . . | 1543 |
37.8.23 CRYP register map ..... 1543
38 Hash processor (HASH) ..... 1545
38.1 HASH introduction ..... 1545
38.2 HASH main features ..... 1545
38.3 HASH implementation ..... 1546
38.4 HASH functional description ..... 1546
38.4.1 HASH block diagram ..... 1546
38.4.2 HASH internal signals ..... 1546
38.4.3 About secure hash algorithms ..... 1547
38.4.4 Message data feeding ..... 1547
38.4.5 Message digest computing ..... 1548
38.4.6 Message padding ..... 1550
38.4.7 HMAC operation ..... 1552
38.4.8 HASH suspend/resume operations ..... 1553
38.4.9 HASH DMA interface ..... 1555
38.4.10 HASH error management ..... 1556
38.4.11 HASH processing time ..... 1556
38.5 HASH interrupts ..... 1557
38.6 HASH registers ..... 1557
38.6.1 HASH control register (HASH_CR) ..... 1557
38.6.2 HASH data input register (HASH_DIN) ..... 1559
38.6.3 HASH start register (HASH_STR) ..... 1560
38.6.4 HASH digest registers ..... 1561
38.6.5 HASH interrupt enable register (HASH_IMR) ..... 1563
38.6.6 HASH status register (HASH_SR) ..... 1563
38.6.7 HASH context swap registers ..... 1564
38.6.8 HASH register map ..... 1565
39 Memory cipher engine (MCE) ..... 1567
39.1 MCE introduction ..... 1567
39.2 MCE main features ..... 1567
39.3 MCE implementation ..... 1568
39.4 MCE functional description ..... 1569
39.4.1 MCE block diagram ..... 1569
39.4.2 MCE internal signals ..... 1569
| 39.4.3 | MCE programming . . . . . | 1570 |
| 39.4.4 | MCE reset and clocks . . . . . | 1571 |
| 39.4.5 | MCE block cipher encryption mode . . . . . | 1571 |
| 39.4.6 | MCE stream cipher encryption mode . . . . . | 1573 |
| 39.4.7 | MCE AXI traffic management . . . . . | 1574 |
| 39.4.8 | MCE encryption disable options . . . . . | 1574 |
| 39.4.9 | MCE error management . . . . . | 1575 |
| 39.5 | MCE interrupts . . . . . | 1575 |
| 39.6 | MCE registers . . . . . | 1576 |
| 39.6.1 | MCE configuration register (MCE_CR) . . . . . | 1576 |
| 39.6.2 | MCE status register (MCE_SR) . . . . . | 1576 |
| 39.6.3 | MCE illegal access status register (MCE_IASR) . . . . . | 1577 |
| 39.6.4 | MCE illegal access clear register (MCE_IACR) . . . . . | 1578 |
| 39.6.5 | MCE illegal access interrupt enable register (MCE_IAIER) . . . . . | 1578 |
| 39.6.6 | MCE privileged configuration register (MCE_PRIVCFGR) . . . . . | 1579 |
| 39.6.7 | MCE illegal access error status register (MCE_IAESR) . . . . . | 1579 |
| 39.6.8 | MCE illegal address register (MCE_IADDR) . . . . . | 1580 |
| 39.6.9 | MCE region x configuration register (MCE_REGCRx) . . . . . | 1580 |
| 39.6.10 | MCE start address for region x register (MCE_SADDRx) . . . . . | 1582 |
| 39.6.11 | MCE end address for region x register (MCE_EADDRx) . . . . . | 1582 |
| 39.6.12 | MCE attribute for region x register (MCE_ATTRx) . . . . . | 1583 |
| 39.6.13 | MCE master key x (MCE_MKEYRx) . . . . . | 1583 |
| 39.6.14 | MCE fast master key x (MCE_FMKEYRx) . . . . . | 1583 |
| 39.6.15 | MCE cipher context z configuration register (MCE_CCzCFGR) . . . . . | 1584 |
| 39.6.16 | MCE cipher context z nonce register 0 (MCE_CCzNR0) . . . . . | 1586 |
| 39.6.17 | MCE cipher context z nonce register 1 (MCE_CCzNR1) . . . . . | 1586 |
| 39.6.18 | MCE cipher context z key register 0 (MCE_CCzKEYR0) . . . . . | 1587 |
| 39.6.19 | MCE cipher context z key register 1 (MCE_CCzKEYR1) . . . . . | 1587 |
| 39.6.20 | MCE cipher context z key register 2 (MCE_CCzKEYR2) . . . . . | 1588 |
| 39.6.21 | MCE cipher context z key register 3 (MCE_CCzKEYR3) . . . . . | 1588 |
| 39.6.22 | MCE register map . . . . . | 1589 |
| 40 | Public key accelerator (PKA) . . . . . | 1591 |
| 40.1 | PKA introduction . . . . . | 1591 |
| 40.2 | PKA main features . . . . . | 1591 |
- 40.3 PKA functional description . . . . . 1592
- 40.3.1 PKA block diagram . . . . . 1592
- 40.3.2 PKA internal signals . . . . . 1592
- 40.3.3 PKA reset and clocks . . . . . 1592
- 40.3.4 PKA public key acceleration . . . . . 1593
- 40.3.5 Typical applications for PKA . . . . . 1595
- 40.3.6 PKA procedure to perform an operation . . . . . 1597
- 40.3.7 PKA error management . . . . . 1598
- 40.4 PKA operating modes . . . . . 1599
- 40.4.1 Introduction . . . . . 1599
- 40.4.2 Montgomery parameter computation . . . . . 1600
- 40.4.3 Modular addition . . . . . 1600
- 40.4.4 Modular subtraction . . . . . 1601
- 40.4.5 Modular and Montgomery multiplication . . . . . 1601
- 40.4.6 Modular exponentiation . . . . . 1602
- 40.4.7 Modular inversion . . . . . 1604
- 40.4.8 Modular reduction . . . . . 1604
- 40.4.9 Arithmetic addition . . . . . 1605
- 40.4.10 Arithmetic subtraction . . . . . 1605
- 40.4.11 Arithmetic multiplication . . . . . 1606
- 40.4.12 Arithmetic comparison . . . . . 1606
- 40.4.13 RSA CRT exponentiation . . . . . 1606
- 40.4.14 Point on elliptic curve Fp check . . . . . 1607
- 40.4.15 ECC Fp scalar multiplication . . . . . 1608
- 40.4.16 ECDSA sign . . . . . 1609
- 40.4.17 ECDSA verification . . . . . 1611
- 40.4.18 ECC complete addition . . . . . 1612
- 40.4.19 ECC double base ladder . . . . . 1612
- 40.4.20 ECC projective to affine . . . . . 1613
- 40.5 Example of configurations and processing times . . . . . 1614
- 40.5.1 Supported elliptic curves . . . . . 1614
- 40.5.2 Computation times . . . . . 1616
- 40.6 PKA interrupts . . . . . 1618
- 40.7 PKA registers . . . . . 1619
- 40.7.1 PKA control register (PKA_CR) . . . . . 1619
- 40.7.2 PKA status register (PKA_SR) . . . . . 1621
40.7.3 PKA clear flag register (PKA_CLRFR) . . . . . 1622
40.7.4 PKA RAM . . . . . 1622
40.7.5 PKA register map . . . . . 1623
41 Advanced-control timers (TIM1) . . . . . 1624
41.1 TIM1 introduction . . . . . 1624
41.2 TIM1 main features . . . . . 1625
41.3 TIM1 functional description . . . . . 1626
41.3.1 Block diagram . . . . . 1626
41.3.2 TIM1 pins and internal signals . . . . . 1627
41.3.3 Time-base unit . . . . . 1631
41.3.4 Counter modes . . . . . 1633
41.3.5 Repetition counter . . . . . 1645
41.3.6 External trigger input . . . . . 1646
41.3.7 Clock selection . . . . . 1647
41.3.8 Capture/compare channels . . . . . 1651
41.3.9 Input capture mode . . . . . 1653
41.3.10 PWM input mode . . . . . 1654
41.3.11 Forced output mode . . . . . 1655
41.3.12 Output compare mode . . . . . 1656
41.3.13 PWM mode . . . . . 1657
41.3.14 Asymmetric PWM mode . . . . . 1665
41.3.15 Combined PWM mode . . . . . 1666
41.3.16 Combined 3-phase PWM mode . . . . . 1667
41.3.17 Complementary outputs and dead-time insertion . . . . . 1668
41.3.18 Using the break function . . . . . 1671
41.3.19 Bidirectional break inputs . . . . . 1677
41.3.20 Clearing the tim_ocxref signal on an external event . . . . . 1678
41.3.21 6-step PWM generation . . . . . 1679
41.3.22 One-pulse mode . . . . . 1680
41.3.23 Retriggerable One-pulse mode . . . . . 1682
41.3.24 Pulse on compare mode . . . . . 1683
41.3.25 Encoder interface mode . . . . . 1685
41.3.26 Direction bit output . . . . . 1702
41.3.27 UIF bit remapping . . . . . 1703
41.3.28 Timer input XOR function . . . . . 1703
41.3.29 Interfacing with Hall sensors . . . . . 1703
| 41.3.30 | Timer synchronization . . . . . | 1705 |
| 41.3.31 | ADC triggers . . . . . | 1710 |
| 41.3.32 | DMA burst mode . . . . . | 1710 |
| 41.3.33 | TIM1 DMA requests . . . . . | 1711 |
| 41.3.34 | Debug mode . . . . . | 1711 |
| 41.4 | TIM1 low-power modes . . . . . | 1712 |
| 41.5 | TIM1 interrupts . . . . . | 1712 |
| 41.6 | TIM1 registers . . . . . | 1713 |
| 41.6.1 | TIM1 control register 1 (TIM1_CR1) . . . . . | 1713 |
| 41.6.2 | TIM1 control register 2 (TIM1_CR2) . . . . . | 1714 |
| 41.6.3 | TIM1 slave mode control register (TIM1_SMCR) . . . . . | 1718 |
| 41.6.4 | TIM1 DMA/interrupt enable register (TIM1_DIER) . . . . . | 1722 |
| 41.6.5 | TIM1 status register (TIM1_SR) . . . . . | 1723 |
| 41.6.6 | TIM1 event generation register (TIM1_EGR) . . . . . | 1726 |
| 41.6.7 | TIM1 capture/compare mode register 1 (TIM1_CCMR1) . . . . . | 1727 |
| 41.6.8 | TIM1 capture/compare mode register 1 [alternate] (TIM1_CCMR1) . . . . . | 1729 |
| 41.6.9 | TIM1 capture/compare mode register 2 (TIM1_CCMR2) . . . . . | 1732 |
| 41.6.10 | TIM1 capture/compare mode register 2 [alternate] (TIM1_CCMR2) . . . . . | 1733 |
| 41.6.11 | TIM1 capture/compare enable register (TIM1_CCER) . . . . . | 1736 |
| 41.6.12 | TIM1 counter (TIM1_CNT) . . . . . | 1740 |
| 41.6.13 | TIM1 prescaler (TIM1_PSC) . . . . . | 1740 |
| 41.6.14 | TIM1 autoreload register (TIM1_ARR) . . . . . | 1741 |
| 41.6.15 | TIM1 repetition counter register (TIM1_RCR) . . . . . | 1741 |
| 41.6.16 | TIM1 capture/compare register 1 (TIM1_CCR1) . . . . . | 1742 |
| 41.6.17 | TIM1 capture/compare register 2 (TIM1_CCR2) . . . . . | 1742 |
| 41.6.18 | TIM1 capture/compare register 3 (TIM1_CCR3) . . . . . | 1743 |
| 41.6.19 | TIM1 capture/compare register 4 (TIM1_CCR4) . . . . . | 1744 |
| 41.6.20 | TIM1 break and dead-time register (TIM1_BDTR) . . . . . | 1745 |
| 41.6.21 | TIM1 capture/compare register 5 (TIM1_CCR5) . . . . . | 1749 |
| 41.6.22 | TIM1 capture/compare register 6 (TIM1_CCR6) . . . . . | 1750 |
| 41.6.23 | TIM1 capture/compare mode register 3 (TIM1_CCMR3) . . . . . | 1751 |
| 41.6.24 | TIM1 timer deadtime register 2 (TIM1_DTR2) . . . . . | 1752 |
| 41.6.25 | TIM1 timer encoder control register (TIM1_ECR) . . . . . | 1753 |
| 41.6.26 | TIM1 timer input selection register (TIM1_TISEL) . . . . . | 1754 |
| 41.6.27 | TIM1 alternate function option register 1 (TIM1_AF1) . . . . . | 1755 |
| 41.6.28 | TIM1 alternate function register 2 (TIM1_AF2) ..... | 1758 |
| 41.6.29 | TIM1 DMA control register (TIM1_DCR) ..... | 1760 |
| 41.6.30 | TIM1 DMA address for full transfer (TIM1_DMAR) ..... | 1762 |
| 41.6.31 | TIM1 register map ..... | 1762 |
| 42 | General-purpose timers (TIM2/TIM3/TIM4/TIM5) ..... | 1765 |
| 42.1 | TIM2/TIM3/TIM4/TIM5 introduction ..... | 1765 |
| 42.2 | TIM2/TIM3/TIM4/TIM5 main features ..... | 1765 |
| 42.3 | TIM2/TIM3/TIM4/TIM5 implementation ..... | 1766 |
| 42.4 | TIM2/TIM3/TIM4/TIM5 functional description ..... | 1767 |
| 42.4.1 | Block diagram ..... | 1767 |
| 42.4.2 | TIM2/TIM3/TIM4/TIM5 pins and internal signals ..... | 1768 |
| 42.4.3 | Time-base unit ..... | 1771 |
| 42.4.4 | Counter modes ..... | 1773 |
| 42.4.5 | Clock selection ..... | 1785 |
| 42.4.6 | Capture/compare channels ..... | 1789 |
| 42.4.7 | Input capture mode ..... | 1791 |
| 42.4.8 | PWM input mode ..... | 1792 |
| 42.4.9 | Forced output mode ..... | 1793 |
| 42.4.10 | Output compare mode ..... | 1793 |
| 42.4.11 | PWM mode ..... | 1795 |
| 42.4.12 | Asymmetric PWM mode ..... | 1803 |
| 42.4.13 | Combined PWM mode ..... | 1804 |
| 42.4.14 | Clearing the tim_ocxref signal on an external event ..... | 1805 |
| 42.4.15 | One-pulse mode ..... | 1807 |
| 42.4.16 | Retriggerable one-pulse mode ..... | 1808 |
| 42.4.17 | Pulse on compare mode ..... | 1809 |
| 42.4.18 | Encoder interface mode ..... | 1811 |
| 42.4.19 | Direction bit output ..... | 1829 |
| 42.4.20 | UIF bit remapping ..... | 1830 |
| 42.4.21 | Timer input XOR function ..... | 1830 |
| 42.4.22 | Timers and external trigger synchronization ..... | 1830 |
| 42.4.23 | Timer synchronization ..... | 1834 |
| 42.4.24 | ADC triggers ..... | 1839 |
| 42.4.25 | DMA burst mode ..... | 1840 |
| 42.4.26 | TIM2/TIM3/TIM4/TIM5 DMA requests ..... | 1841 |
| 42.4.27 | Debug mode ..... | 1841 |
| 42.4.28 | TIM2/TIM3/TIM4/TIM5 low-power modes . . . . . | 1841 |
| 42.4.29 | TIM2/TIM3/TIM4/TIM5 interrupts . . . . . | 1842 |
| 42.5 | TIM2/TIM3/TIM4/TIM5 registers . . . . . | 1843 |
| 42.5.1 | TIMx control register 1 (TIMx_CR1)(x = 2 to 5) . . . . . | 1843 |
| 42.5.2 | TIMx control register 2 (TIMx_CR2)(x = 2 to 5) . . . . . | 1844 |
| 42.5.3 | TIMx slave mode control register (TIMx_SMCR)(x = 2 to 5) . . . . . | 1846 |
| 42.5.4 | TIMx DMA/Interrupt enable register (TIMx_DIER)(x = 2 to 5) . . . . . | 1850 |
| 42.5.5 | TIMx status register (TIMx_SR)(x = 2 to 5) . . . . . | 1851 |
| 42.5.6 | TIMx event generation register (TIMx_EGR)(x = 2 to 5) . . . . . | 1853 |
| 42.5.7 | TIMx capture/compare mode register 1 (TIMx_CCMR1)(x = 2 to 5) . . . . . | 1854 |
| 42.5.8 | TIMx capture/compare mode register 1 [alternate] (TIMx_CCMR1)(x = 2 to 5) . . . . . | 1856 |
| 42.5.9 | TIMx capture/compare mode register 2 (TIMx_CCMR2)(x = 2 to 5) . . . . . | 1858 |
| 42.5.10 | TIMx capture/compare mode register 2 [alternate] (TIMx_CCMR2)(x = 2 to 5) . . . . . | 1859 |
| 42.5.11 | TIMx capture/compare enable register (TIMx_CCER)(x = 2 to 5) . . . . . | 1862 |
| 42.5.12 | TIMx counter (TIMx_CNT)(x = 2 to 5) . . . . . | 1864 |
| 42.5.13 | TIMx prescaler (TIMx_PSC)(x = 2 to 5) . . . . . | 1864 |
| 42.5.14 | TIMx autoreload register (TIMx_ARR)(x = 2 to 5) . . . . . | 1865 |
| 42.5.15 | TIMx capture/compare register 1 (TIMx_CCR1)(x = 2 to 5) . . . . . | 1865 |
| 42.5.16 | TIMx capture/compare register 2 (TIMx_CCR2)(x = 2 to 5) . . . . . | 1866 |
| 42.5.17 | TIMx capture/compare register 3 (TIMx_CCR3)(x = 2 to 5) . . . . . | 1867 |
| 42.5.18 | TIMx capture/compare register 4 (TIMx_CCR4)(x = 2 to 5) . . . . . | 1868 |
| 42.5.19 | TIMx timer encoder control register (TIMx_ECR)(x = 2 to 5) . . . . . | 1869 |
| 42.5.20 | TIMx timer input selection register (TIMx_TISEL)(x = 2 to 5) . . . . . | 1870 |
| 42.5.21 | TIMx alternate function register 1 (TIMx_AF1)(x = 2 to 5) . . . . . | 1871 |
| 42.5.22 | TIMx alternate function register 2 (TIMx_AF2)(x = 2 to 5) . . . . . | 1872 |
| 42.5.23 | TIMx DMA control register (TIMx_DCR)(x = 2 to 5) . . . . . | 1873 |
| 42.5.24 | TIMx DMA address for full transfer (TIMx_DMAR)(x = 2 to 5) . . . . . | 1874 |
| 42.5.25 | TIMx register map . . . . . | 1875 |
| 43 | Basic timers (TIM6/TIM7) . . . . . | 1878 |
| 43.1 | TIM6/TIM7 introduction . . . . . | 1878 |
| 43.2 | TIM6/TIM7 main features . . . . . | 1878 |
| 43.3 | TIM6/TIM7 functional description . . . . . | 1878 |
| 43.3.1 | TIM6/TIM7 block diagram . . . . . | 1878 |
| 43.3.2 | TIM6/TIM7 internal signals . . . . . | 1879 |
| 43.3.3 | TIM6/TIM7 clocks . . . . . | 1879 |
| 43.3.4 | Time-base unit . . . . . | 1880 |
| 43.3.5 | Counting mode . . . . . | 1882 |
| 43.3.6 | UIF bit remapping . . . . . | 1888 |
| 43.3.7 | ADC triggers . . . . . | 1889 |
| 43.3.8 | TIM6/TIM7 DMA requests . . . . . | 1889 |
| 43.3.9 | Debug mode . . . . . | 1889 |
| 43.3.10 | TIM6/TIM7 low-power modes . . . . . | 1889 |
| 43.3.11 | TIM6/TIM7 interrupts . . . . . | 1889 |
| 43.4 | TIM6/TIM7 registers . . . . . | 1890 |
| 43.4.1 | TIMx control register 1 (TIMx_CR1)(x = 6 to 7) . . . . . | 1890 |
| 43.4.2 | TIMx control register 2 (TIMx_CR2)(x = 6 to 7) . . . . . | 1892 |
| 43.4.3 | TIMx DMA/Interrupt enable register (TIMx_DIER)(x = 6 to 7) . . . . . | 1892 |
| 43.4.4 | TIMx status register (TIMx_SR)(x = 6 to 7) . . . . . | 1893 |
| 43.4.5 | TIMx event generation register (TIMx_EGR)(x = 6 to 7) . . . . . | 1893 |
| 43.4.6 | TIMx counter (TIMx_CNT)(x = 6 to 7) . . . . . | 1893 |
| 43.4.7 | TIMx prescaler (TIMx_PSC)(x = 6 to 7) . . . . . | 1894 |
| 43.4.8 | TIMx autoreload register (TIMx_ARR)(x = 6 to 7) . . . . . | 1894 |
| 43.4.9 | TIMx register map . . . . . | 1895 |
| 44 | General-purpose timers (TIM9/TIM12/TIM13/TIM14) . . . . . | 1896 |
| 44.1 | TIM9/TIM12/TIM13/TIM14 introduction . . . . . | 1896 |
| 44.2 | TIM9/TIM12 main features . . . . . | 1896 |
| 44.3 | TIM13/TIM14 main features . . . . . | 1897 |
| 44.4 | TIM9/TIM12/TIM13/TIM14 functional description . . . . . | 1898 |
| 44.4.1 | Block diagram . . . . . | 1898 |
| 44.4.2 | TIM9/TIM12/TIM13/TIM14 pins and internal signals . . . . . | 1899 |
| 44.4.3 | Time-base unit . . . . . | 1901 |
| 44.4.4 | Counter modes . . . . . | 1903 |
| 44.4.5 | Clock selection . . . . . | 1906 |
| 44.4.6 | Capture/compare channels . . . . . | 1908 |
| 44.4.7 | Input capture mode . . . . . | 1910 |
| 44.4.8 | PWM input mode (TIM9/TIM12 only) . . . . . | 1911 |
| 44.4.9 | Forced output mode . . . . . | 1912 |
| 44.4.10 | Output compare mode . . . . . | 1913 |
| 44.4.11 | PWM mode . . . . . | 1914 |
| 44.4.12 | Combined PWM mode (TIM9/TIM12 only) . . . . . | 1919 |
| 44.4.13 | One-pulse mode . . . . . | 1920 |
| 44.4.14 | Retriggerable one pulse mode (TIM9/TIM12 only) . . . . . | 1922 |
| 44.4.15 | UIF bit remapping . . . . . | 1923 |
| 44.4.16 | Timer input XOR function . . . . . | 1923 |
| 44.4.17 | TIM9/TIM12 external trigger synchronization . . . . . | 1923 |
| 44.4.18 | Slave mode – combined reset + trigger mode . . . . . | 1926 |
| 44.4.19 | Slave mode – combined reset + gated mode . . . . . | 1926 |
| 44.4.20 | Timer synchronization (TIM9/TIM12 only) . . . . . | 1926 |
| 44.4.21 | Using timer output as trigger for other timers (TIM13/TIM14 only) . . . . . | 1926 |
| 44.4.22 | ADC triggers (TIM9/TIM12 only) . . . . . | 1926 |
| 44.4.23 | Debug mode . . . . . | 1926 |
| 44.5 | TIM9/TIM12/TIM13/TIM14 low-power modes . . . . . | 1927 |
| 44.6 | TIM9/TIM12/TIM13/TIM14 interrupts . . . . . | 1927 |
| 44.7 | TIM9/TIM12 registers . . . . . | 1927 |
| 44.7.1 | TIMx control register 1 (TIMx_CR1)(x = 9, 12) . . . . . | 1927 |
| 44.7.2 | TIM12 control register 2 (TIMx_CR2)(x = 9, 12) . . . . . | 1929 |
| 44.7.3 | TIMx slave mode control register (TIMx_SMCR)(x = 9, 12) . . . . . | 1929 |
| 44.7.4 | TIMx interrupt enable register (TIMx_DIER)(x = 9, 12) . . . . . | 1931 |
| 44.7.5 | TIMx status register (TIMx_SR)(x = 9, 12) . . . . . | 1932 |
| 44.7.6 | TIMx event generation register (TIMx_EGR)(x = 9, 12) . . . . . | 1933 |
| 44.7.7 | TIMx capture/compare mode register 1 (TIMx_CCMR1)(x = 9, 12) . . . . . | 1934 |
| 44.7.8 | TIMx capture/compare mode register 1 [alternate] (TIMx_CCMR1)(x = 9, 12) . . . . . | 1935 |
| 44.7.9 | TIMx capture/compare enable register (TIMx_CCER)(x = 9, 12) . . . . . | 1938 |
| 44.7.10 | TIMx counter (TIMx_CNT)(x = 9, 12) . . . . . | 1939 |
| 44.7.11 | TIMx prescaler (TIMx_PSC)(x = 9, 12) . . . . . | 1940 |
| 44.7.12 | TIMx autoreload register (TIMx_ARR)(x = 9, 12) . . . . . | 1940 |
| 44.7.13 | TIMx capture/compare register 1 (TIMx_CCR1)(x = 9, 12) . . . . . | 1941 |
| 44.7.14 | TIMx capture/compare register 2 (TIMx_CCR2)(x = 9, 12) . . . . . | 1941 |
| 44.7.15 | TIMx timer input selection register (TIMx_TISEL)(x = 9, 12) . . . . . | 1942 |
| 44.7.16 | TIM9/TIM12 register map . . . . . | 1943 |
| 44.8 | TIM13/TIM14 registers . . . . . | 1945 |
| 44.8.1 | TIMx control register 1 (TIMx_CR1)(x = 13, 14) . . . . . | 1945 |
| 44.8.2 | TIMx interrupt enable register (TIMx_DIER)(x = 13, 14) . . . . . | 1946 |
| 44.8.3 | TIMx status register (TIMx_SR)(x = 13, 14) . . . . . | 1946 |
| 44.8.4 | TIMx event generation register (TIMx_EGR)(x = 13, 14) . . . . . | 1947 |
| 44.8.5 | TIMx capture/compare mode register 1 (TIMx_CCMR1)(x = 13, 14) . . . . . | 1948 |
| 44.8.6 | TIMx capture/compare mode register 1 [alternate] (TIMx_CCMR1)(x = 13, 14) . . . . . | 1949 |
| 44.8.7 | TIMx capture/compare enable register (TIMx_CCER)(x = 13, 14) . . . . . | 1951 |
| 44.8.8 | TIMx counter (TIMx_CNT)(x = 13, 14) . . . . . | 1952 |
| 44.8.9 | TIMx prescaler (TIMx_PSC)(x = 13, 14) . . . . . | 1953 |
| 44.8.10 | TIMx autoreload register (TIMx_ARR)(x = 13, 14) . . . . . | 1953 |
| 44.8.11 | TIMx capture/compare register 1 (TIMx_CCR1)(x = 13, 14) . . . . . | 1954 |
| 44.8.12 | TIMx timer input selection register (TIMx_TISEL)(x = 13, 14) . . . . . | 1954 |
| 44.8.13 | TIM13/TIM14 register map . . . . . | 1955 |
| 45 | General purpose timers (TIM15/TIM16/TIM17) . . . . . | 1957 |
| 45.1 | TIM15/TIM16/TIM17 introduction . . . . . | 1957 |
| 45.2 | TIM15 main features . . . . . | 1957 |
| 45.3 | TIM16/TIM17 main features . . . . . | 1958 |
| 45.4 | TIM15/TIM16/TIM17 functional description . . . . . | 1959 |
| 45.4.1 | Block diagram . . . . . | 1959 |
| 45.4.2 | TIM15/TIM16/TIM17 pins and internal signals . . . . . | 1960 |
| 45.4.3 | Time-base unit . . . . . | 1963 |
| 45.4.4 | Counter modes . . . . . | 1965 |
| 45.4.5 | Repetition counter . . . . . | 1969 |
| 45.4.6 | Clock selection . . . . . | 1970 |
| 45.4.7 | Capture/compare channels . . . . . | 1972 |
| 45.4.8 | Input capture mode . . . . . | 1974 |
| 45.4.9 | PWM input mode (only for TIM15) . . . . . | 1976 |
| 45.4.10 | Forced output mode . . . . . | 1977 |
| 45.4.11 | Output compare mode . . . . . | 1977 |
| 45.4.12 | PWM mode . . . . . | 1979 |
| 45.4.13 | Combined PWM mode (TIM15 only) . . . . . | 1984 |
| 45.4.14 | Complementary outputs and dead-time insertion . . . . . | 1985 |
| 45.4.15 | Using the break function . . . . . | 1988 |
| 45.4.16 | Bidirectional break input . . . . . | 1992 |
| 45.4.17 | Clearing the tim_ocxref signal on an external event . . . . . | 1993 |
| 45.4.18 | 6-step PWM generation . . . . . | 1994 |
| 45.4.19 | One-pulse mode . . . . . | 1996 |
| 45.4.20 | Retriggerable one pulse mode (TIM15 only) . . . . . | 1997 |
| 45.4.21 | UIF bit remapping . . . . . | 1998 |
| 45.4.22 | Timer input XOR function (TIM15 only) . . . . . | 1998 |
| 45.4.23 | External trigger synchronization (TIM15 only) . . . . . | 1998 |
| 45.4.24 | Slave mode – combined reset + trigger mode (TIM15 only) . . . . . | 2001 |
| 45.4.25 | Slave mode – combined reset + gated mode (TIM15 only) . . . . . | 2001 |
| 45.4.26 | Timer synchronization (TIM15 only) . . . . . | 2002 |
| 45.4.27 | Using timer output as trigger for other timers (TIM16/TIM17 only) . . . . . | 2002 |
| 45.4.28 | ADC triggers (TIM15 only) . . . . . | 2002 |
| 45.4.29 | DMA burst mode . . . . . | 2002 |
| 45.4.30 | TIM15/TIM16/TIM17 DMA requests . . . . . | 2003 |
| 45.4.31 | Debug mode . . . . . | 2004 |
| 45.5 | TIM15/TIM16/TIM17 low-power modes . . . . . | 2004 |
| 45.6 | TIM15/TIM16/TIM17 interrupts . . . . . | 2004 |
| 45.7 | TIM15 registers . . . . . | 2004 |
| 45.7.1 | TIM15 control register 1 (TIM15_CR1) . . . . . | 2005 |
| 45.7.2 | TIM15 control register 2 (TIM15_CR2) . . . . . | 2006 |
| 45.7.3 | TIM15 slave mode control register (TIM15_SMCR) . . . . . | 2008 |
| 45.7.4 | TIM15 DMA/interrupt enable register (TIM15_DIER) . . . . . | 2010 |
| 45.7.5 | TIM15 status register (TIM15_SR) . . . . . | 2011 |
| 45.7.6 | TIM15 event generation register (TIM15_EGR) . . . . . | 2013 |
| 45.7.7 | TIM15 capture/compare mode register 1 (TIM15_CCMR1) . . . . . | 2014 |
| 45.7.8 | TIM15 capture/compare mode register 1 [alternate] (TIM15_CCMR1) . . . . . | 2016 |
| 45.7.9 | TIM15 capture/compare enable register (TIM15_CCER) . . . . . | 2018 |
| 45.7.10 | TIM15 counter (TIM15_CNT) . . . . . | 2021 |
| 45.7.11 | TIM15 prescaler (TIM15_PSC) . . . . . | 2021 |
| 45.7.12 | TIM15 autoreload register (TIM15_ARR) . . . . . | 2022 |
| 45.7.13 | TIM15 repetition counter register (TIM15_RCR) . . . . . | 2022 |
| 45.7.14 | TIM15 capture/compare register 1 (TIM15_CCR1) . . . . . | 2023 |
| 45.7.15 | TIM15 capture/compare register 2 (TIM15_CCR2) . . . . . | 2024 |
| 45.7.16 | TIM15 break and dead-time register (TIM15_BDTR) . . . . . | 2024 |
| 45.7.17 | TIM15 timer deadtime register 2 (TIM15_DTR2) . . . . . | 2027 |
| 45.7.18 | TIM15 input selection register (TIM15_TISEL) . . . . . | 2028 |
| 45.7.19 | TIM15 alternate function register 1 (TIM15_AF1) . . . . . | 2029 |
| 45.7.20 | TIM15 alternate function register 2 (TIM15_AF2) . . . . . | 2031 |
| 45.7.21 | TIM15 DMA control register (TIM15_DCR) . . . . . | 2032 |
| 45.7.22 | TIM15 DMA address for full transfer (TIM15_DMAR) . . . . . | 2033 |
| 45.7.23 | TIM15 register map ..... | 2033 |
| 45.8 | TIM16/TIM17 registers ..... | 2036 |
| 45.8.1 | TIMx control register 1 (TIMx_CR1)(x = 16 to 17) ..... | 2036 |
| 45.8.2 | TIMx control register 2 (TIMx_CR2)(x = 16 to 17) ..... | 2037 |
| 45.8.3 | TIMx DMA/interrupt enable register (TIMx_DIER)(x = 16 to 17) ..... | 2038 |
| 45.8.4 | TIMx status register (TIMx_SR)(x = 16 to 17) ..... | 2039 |
| 45.8.5 | TIMx event generation register (TIMx_EGR)(x = 16 to 17) ..... | 2040 |
| 45.8.6 | TIMx capture/compare mode register 1 (TIMx_CCMR1) (x = 16 to 17) ..... | 2041 |
| 45.8.7 | TIMx capture/compare mode register 1 [alternate] (TIMx_CCMR1)(x = 16 to 17) ..... | 2042 |
| 45.8.8 | TIMx capture/compare enable register (TIMx_CCER)(x = 16 to 17) . | 2044 |
| 45.8.9 | TIMx counter (TIMx_CNT)(x = 16 to 17) ..... | 2047 |
| 45.8.10 | TIMx prescaler (TIMx_PSC)(x = 16 to 17) ..... | 2047 |
| 45.8.11 | TIMx auto-reautoreload register (TIMx_ARR)(x = 16 to 17) ..... | 2048 |
| 45.8.12 | TIMx repetition counter register (TIMx_RCR)(x = 16 to 17) ..... | 2048 |
| 45.8.13 | TIMx capture/compare register 1 (TIMx_CCR1)(x = 16 to 17) ..... | 2049 |
| 45.8.14 | TIMx break and dead-time register (TIMx_BDTR)(x = 16 to 17) ..... | 2050 |
| 45.8.15 | TIMx timer deadtime register 2 (TIMx_DTR2)(x = 16 to 17) ..... | 2053 |
| 45.8.16 | TIMx input selection register (TIMx_TISEL)(x = 16 to 17) ..... | 2054 |
| 45.8.17 | TIMx alternate function register 1 (TIMx_AF1)(x = 16 to 17) ..... | 2054 |
| 45.8.18 | TIMx alternate function register 2 (TIMx_AF2)(x = 16 to 17) ..... | 2057 |
| 45.8.19 | TIMx DMA control register (TIMx_DCR)(x = 16 to 17) ..... | 2057 |
| 45.8.20 | TIM16/TIM17 DMA address for full transfer (TIMx_DMAR)(x = 16 to 17) ..... | 2058 |
| 45.8.21 | TIM16/TIM17 register map ..... | 2060 |
| 46 | Low-power timer (LPTIM) ..... | 2062 |
| 46.1 | LPTIM introduction ..... | 2062 |
| 46.2 | LPTIM main features ..... | 2062 |
| 46.3 | LPTIM implementation ..... | 2063 |
| 46.4 | LPTIM functional description ..... | 2064 |
| 46.4.1 | LPTIM block diagram ..... | 2064 |
| 46.4.2 | LPTIM pins and internal signals ..... | 2065 |
| 46.4.3 | LPTIM input and trigger mapping ..... | 2067 |
| 46.4.4 | LPTIM reset and clocks ..... | 2068 |
| 46.4.5 | Glitch filter ..... | 2069 |
| 46.4.6 | Prescaler . . . . . | 2070 |
| 46.4.7 | Trigger multiplexer . . . . . | 2070 |
| 46.4.8 | Operating mode . . . . . | 2071 |
| 46.4.9 | Timeout function . . . . . | 2073 |
| 46.4.10 | Waveform generation . . . . . | 2073 |
| 46.4.11 | Register update . . . . . | 2074 |
| 46.4.12 | Counter mode . . . . . | 2075 |
| 46.4.13 | Timer enable . . . . . | 2075 |
| 46.4.14 | Timer counter reset . . . . . | 2076 |
| 46.4.15 | Encoder mode . . . . . | 2076 |
| 46.4.16 | Repetition counter . . . . . | 2078 |
| 46.4.17 | Capture/compare channels . . . . . | 2079 |
| 46.4.18 | Input capture mode . . . . . | 2080 |
| 46.4.19 | PWM mode . . . . . | 2082 |
| 46.4.20 | DMA requests . . . . . | 2084 |
| 46.4.21 | Debug mode . . . . . | 2085 |
| 46.5 | LPTIM low-power modes . . . . . | 2085 |
| 46.6 | LPTIM interrupts . . . . . | 2085 |
| 46.7 | LPTIM registers . . . . . | 2086 |
| 46.7.1 | LPTIMx interrupt and status register (LPTIMx_ISR)(x = 4 to 5) . . . . . | 2087 |
| 46.7.2 | LPTIMx interrupt and status register [alternate] (LPTIMx_ISR) (x = 1 to 3) . . . . . | 2088 |
| 46.7.3 | LPTIMx interrupt and status register [alternate] (LPTIMx_ISR) (x = 1 to 3) . . . . . | 2090 |
| 46.7.4 | LPTIMx interrupt clear register (LPTIMx_ICR)(x = 4 to 5) . . . . . | 2092 |
| 46.7.5 | LPTIMx interrupt clear register [alternate] (LPTIMx_ICR) (x = 1 to 3) . . . . . | 2093 |
| 46.7.6 | LPTIMx interrupt clear register [alternate] (LPTIMx_ICR) (x = 1 to 3) . . . . . | 2094 |
| 46.7.7 | LPTIMx interrupt enable register (LPTIMx_DIER)(x = 4 to 5) . . . . . | 2095 |
| 46.7.8 | LPTIMx interrupt enable register [alternate] (LPTIMx_DIER) (x = 1 to 3) . . . . . | 2097 |
| 46.7.9 | LPTIMx interrupt enable register [alternate] (LPTIMx_DIER) (x = 1 to 3) . . . . . | 2098 |
| 46.7.10 | LPTIM configuration register (LPTIM_CFGR) . . . . . | 2100 |
| 46.7.11 | LPTIM control register (LPTIM_CR) . . . . . | 2103 |
| 46.7.12 | LPTIM compare register 1 (LPTIM_CCR1) . . . . . | 2104 |
| 46.7.13 | LPTIM autoreload register (LPTIM_ARR) . . . . . | 2105 |
| 46.7.14 | LPTIM counter register (LPTIM_CNT) . . . . . | 2105 |
| 46.7.15 | LPTIM configuration register 2 (LPTIM_CFGR2) . . . . . | 2106 |
| 46.7.16 | LPTIM repetition register (LPTIM_RCR) . . . . . | 2107 |
| 46.7.17 | LPTIM capture/compare mode register 1 (LPTIM_CCMR1) . . . . . | 2107 |
| 46.7.18 | LPTIM compare register 2 (LPTIM_CCR2) . . . . . | 2110 |
| 46.7.19 | LPTIM register map . . . . . | 2110 |
| 47 | System window watchdog (WWDG) . . . . . | 2113 |
| 47.1 | WWDG introduction . . . . . | 2113 |
| 47.2 | WWDG main features . . . . . | 2113 |
| 47.3 | WWDG implementation . . . . . | 2113 |
| 47.4 | WWDG functional description . . . . . | 2114 |
| 47.4.1 | WWDG block diagram . . . . . | 2114 |
| 47.4.2 | WWDG internal signals . . . . . | 2114 |
| 47.4.3 | Enabling the watchdog . . . . . | 2115 |
| 47.4.4 | Controlling the down-counter . . . . . | 2115 |
| 47.4.5 | How to program the watchdog timeout . . . . . | 2115 |
| 47.4.6 | Debug mode . . . . . | 2116 |
| 47.5 | WWDG interrupts . . . . . | 2117 |
| 47.6 | WWDG registers . . . . . | 2117 |
| 47.6.1 | WWDG control register (WWDG_CR) . . . . . | 2117 |
| 47.6.2 | WWDG configuration register (WWDG_CFR) . . . . . | 2118 |
| 47.6.3 | WWDG status register (WWDG_SR) . . . . . | 2118 |
| 47.6.4 | WWDG register map . . . . . | 2119 |
| 48 | Independent watchdog (IWDG) . . . . . | 2120 |
| 48.1 | IWDG introduction . . . . . | 2120 |
| 48.2 | IWDG main features . . . . . | 2120 |
| 48.3 | IWDG implementation . . . . . | 2120 |
| 48.4 | IWDG functional description . . . . . | 2121 |
| 48.4.1 | IWDG block diagram . . . . . | 2121 |
| 48.4.2 | IWDG internal signals . . . . . | 2122 |
| 48.4.3 | Software and hardware watchdog modes . . . . . | 2122 |
| 48.4.4 | Window option . . . . . | 2123 |
| 48.4.5 | Debug . . . . . | 2126 |
| 48.4.6 | Register access protection . . . . . | 2126 |
| 48.5 | IWDG low power modes . . . . . | 2127 |
| 48.6 | IWDG interrupts . . . . . | 2127 |
| 48.7 | IWDG registers . . . . . | 2129 |
| 48.7.1 | IWDG key register (IWDG_KR) . . . . . | 2130 |
| 48.7.2 | IWDG prescaler register (IWDG_PR) . . . . . | 2130 |
| 48.7.3 | IWDG reload register (IWDG_RLR) . . . . . | 2131 |
| 48.7.4 | IWDG status register (IWDG_SR) . . . . . | 2131 |
| 48.7.5 | IWDG window register (IWDG_WINR) . . . . . | 2133 |
| 48.7.6 | IWDG early wake-up interrupt register (IWDG_EWCR) . . . . . | 2133 |
| 48.7.7 | IWDG register map . . . . . | 2135 |
| 49 | Real-time clock (RTC) . . . . . | 2136 |
| 49.1 | RTC introduction . . . . . | 2136 |
| 49.2 | RTC main features . . . . . | 2136 |
| 49.3 | RTC functional description . . . . . | 2136 |
| 49.3.1 | RTC block diagram . . . . . | 2136 |
| 49.3.2 | RTC pins and internal signals . . . . . | 2138 |
| 49.3.3 | GPIOs controlled by the RTC and TAMP . . . . . | 2139 |
| 49.3.4 | RTC privilege protection modes . . . . . | 2142 |
| 49.3.5 | Clock and prescalers . . . . . | 2143 |
| 49.3.6 | Real-time clock and calendar . . . . . | 2144 |
| 49.3.7 | Calendar ultra-low power mode . . . . . | 2145 |
| 49.3.8 | Programmable alarms . . . . . | 2145 |
| 49.3.9 | Periodic auto-wake-up . . . . . | 2145 |
| 49.3.10 | RTC initialization and configuration . . . . . | 2146 |
| 49.3.11 | Reading the calendar . . . . . | 2149 |
| 49.3.12 | Resetting the RTC . . . . . | 2150 |
| 49.3.13 | RTC synchronization . . . . . | 2151 |
| 49.3.14 | RTC reference clock detection . . . . . | 2151 |
| 49.3.15 | RTC smooth digital calibration . . . . . | 2152 |
| 49.3.16 | Timestamp function . . . . . | 2154 |
| 49.3.17 | Calibration clock output . . . . . | 2155 |
| 49.3.18 | Tamper and alarm output . . . . . | 2155 |
| 49.4 | RTC low-power modes . . . . . | 2156 |
| 49.5 | RTC interrupts . . . . . | 2156 |
| 49.6 | RTC registers . . . . . | 2157 |
| 49.6.1 | RTC time register (RTC_TR) . . . . . | 2157 |
| 49.6.2 | RTC date register (RTC_DR) . . . . . | 2158 |
| 49.6.3 | RTC subsecond register (RTC_SSR) . . . . . | 2159 |
| 49.6.4 | RTC initialization control and status register (RTC_ICSR) . . . . . | 2160 |
| 49.6.5 | RTC prescaler register (RTC_PRER) . . . . . | 2162 |
| 49.6.6 | RTC wake-up timer register (RTC_WUTR) . . . . . | 2162 |
| 49.6.7 | RTC control register (RTC_CR) . . . . . | 2163 |
| 49.6.8 | RTC privilege mode control register (RTC_PRIVCFGR) . . . . . | 2167 |
| 49.6.9 | RTC write protection register (RTC_WPR) . . . . . | 2168 |
| 49.6.10 | RTC calibration register (RTC_CALR) . . . . . | 2169 |
| 49.6.11 | RTC shift control register (RTC_SHIFTTR) . . . . . | 2170 |
| 49.6.12 | RTC timestamp time register (RTC_TSTR) . . . . . | 2171 |
| 49.6.13 | RTC timestamp date register (RTC_TSDR) . . . . . | 2172 |
| 49.6.14 | RTC timestamp subsecond register (RTC_TSSSR) . . . . . | 2173 |
| 49.6.15 | RTC alarm A register (RTC_ALRMAR) . . . . . | 2173 |
| 49.6.16 | RTC alarm A subsecond register (RTC_ALRMASSR) . . . . . | 2174 |
| 49.6.17 | RTC alarm B register (RTC_ALRMBR) . . . . . | 2175 |
| 49.6.18 | RTC alarm B subsecond register (RTC_ALRMBSSR) . . . . . | 2176 |
| 49.6.19 | RTC status register (RTC_SR) . . . . . | 2177 |
| 49.6.20 | RTC masked interrupt status register (RTC_MISR) . . . . . | 2179 |
| 49.6.21 | RTC status clear register (RTC_SCR) . . . . . | 2180 |
| 49.6.22 | RTC alarm A binary mode register (RTC_ALRABINR) . . . . . | 2181 |
| 49.6.23 | RTC alarm B binary mode register (RTC_ALRBBINR) . . . . . | 2181 |
| 49.6.24 | RTC register map . . . . . | 2183 |
| 50 | Tamper and backup registers (TAMP) . . . . . | 2185 |
| 50.1 | TAMP introduction . . . . . | 2185 |
| 50.2 | TAMP main features . . . . . | 2185 |
| 50.3 | TAMP functional description . . . . . | 2186 |
| 50.3.1 | TAMP block diagram . . . . . | 2186 |
| 50.3.2 | TAMP pins and internal signals . . . . . | 2187 |
| 50.3.3 | GPIOs controlled by the RTC and TAMP . . . . . | 2189 |
| 50.3.4 | TAMP register write protection . . . . . | 2190 |
| 50.3.5 | Backup registers protection zones . . . . . | 2190 |
| 50.3.6 | TAMP privilege protection modes . . . . . | 2190 |
| 50.3.7 | Boot hardware key (BHK) . . . . . | 2191 |
| 50.3.8 | Tamper detection . . . . . | 2191 |
- 50.3.9 TAMP backup registers and other device secrets erase . . . . . 2192
- 50.3.10 Tamper detection configuration and initialization . . . . . 2193
- 50.4 TAMP low-power modes . . . . . 2199
- 50.5 TAMP interrupts . . . . . 2200
- 50.6 TAMP registers . . . . . 2200
- 50.6.1 TAMP control register 1 (TAMP_CR1) . . . . . 2200
- 50.6.2 TAMP control register 2 (TAMP_CR2) . . . . . 2202
- 50.6.3 TAMP control register 3 (TAMP_CR3) . . . . . 2205
- 50.6.4 TAMP filter control register (TAMP_FLTCR) . . . . . 2206
- 50.6.5 TAMP active tamper control register 1 (TAMP_ATCR1) . . . . . 2207
- 50.6.6 TAMP active tamper seed register (TAMP_ATSEEDR) . . . . . 2210
- 50.6.7 TAMP active tamper output register (TAMP_ATOR) . . . . . 2210
- 50.6.8 TAMP active tamper control register 2 (TAMP_ATCR2) . . . . . 2211
- 50.6.9 TAMP configuration register (TAMP_CFGR) . . . . . 2214
- 50.6.10 TAMP privilege configuration register (TAMP_PRIVCFGR) . . . . . 2215
- 50.6.11 TAMP interrupt enable register (TAMP_IER) . . . . . 2216
- 50.6.12 TAMP status register (TAMP_SR) . . . . . 2218
- 50.6.13 TAMP masked interrupt status register (TAMP_MISR) . . . . . 2220
- 50.6.14 TAMP status clear register (TAMP_SCR) . . . . . 2222
- 50.6.15 TAMP monotonic counter 1 register (TAMP_COUNT1R) . . . . . 2224
- 50.6.16 TAMP resources protection configuration register (TAMP_RPFCFGR) 2224
- 50.6.17 TAMP backup x register (TAMP_BKPxR) . . . . . 2225
- 50.6.18 TAMP register map . . . . . 2226
- 51 Inter-integrated circuit interface (I2C) . . . . . 2228
- 51.1 I2C introduction . . . . . 2228
- 51.2 I2C main features . . . . . 2228
- 51.3 I2C implementation . . . . . 2229
- 51.4 I2C functional description . . . . . 2229
- 51.4.1 I2C block diagram . . . . . 2230
- 51.4.2 I2C pins and internal signals . . . . . 2230
- 51.4.3 I2C clock requirements . . . . . 2231
- 51.4.4 I2C mode selection . . . . . 2231
- 51.4.5 I2C initialization . . . . . 2232
- 51.4.6 I2C reset . . . . . 2236
- 51.4.7 I2C data transfer . . . . . 2237
| 51.4.8 | I2C target mode . . . . . | 2239 |
| 51.4.9 | I2C controller mode . . . . . | 2248 |
| 51.4.10 | I2C_TIMINGR register configuration examples . . . . . | 2259 |
| 51.4.11 | SMBus specific features . . . . . | 2261 |
| 51.4.12 | SMBus initialization . . . . . | 2263 |
| 51.4.13 | SMBus I2C_TIMEOUTR register configuration examples . . . . . | 2265 |
| 51.4.14 | SMBus target mode . . . . . | 2266 |
| 51.4.15 | SMBus controller mode . . . . . | 2269 |
| 51.4.16 | Wake-up from Stop mode on address match . . . . . | 2272 |
| 51.4.17 | Error conditions . . . . . | 2273 |
| 51.5 | I2C in low-power modes . . . . . | 2275 |
| 51.6 | I2C interrupts . . . . . | 2275 |
| 51.7 | I2C DMA requests . . . . . | 2276 |
| 51.7.1 | Transmission using DMA . . . . . | 2276 |
| 51.7.2 | Reception using DMA . . . . . | 2276 |
| 51.8 | I2C debug modes . . . . . | 2276 |
| 51.9 | I2C registers . . . . . | 2277 |
| 51.9.1 | I2C control register 1 (I2C_CR1) . . . . . | 2277 |
| 51.9.2 | I2C control register 2 (I2C_CR2) . . . . . | 2280 |
| 51.9.3 | I2C own address 1 register (I2C_OAR1) . . . . . | 2282 |
| 51.9.4 | I2C own address 2 register (I2C_OAR2) . . . . . | 2282 |
| 51.9.5 | I2C timing register (I2C_TIMINGR) . . . . . | 2283 |
| 51.9.6 | I2C timeout register (I2C_TIMEOUTR) . . . . . | 2284 |
| 51.9.7 | I2C interrupt and status register (I2C_ISR) . . . . . | 2285 |
| 51.9.8 | I2C interrupt clear register (I2C_ICR) . . . . . | 2288 |
| 51.9.9 | I2C PEC register (I2C_PECR) . . . . . | 2289 |
| 51.9.10 | I2C receive data register (I2C_RXDR) . . . . . | 2289 |
| 51.9.11 | I2C transmit data register (I2C_TXDR) . . . . . | 2290 |
| 51.9.12 | I2C register map . . . . . | 2291 |
| 52 | Improved inter-integrated circuit (I3C) . . . . . | 2292 |
| 52.1 | I3C introduction . . . . . | 2292 |
| 52.2 | I3C main features . . . . . | 2292 |
| 52.3 | I3C implementation . . . . . | 2294 |
| 52.3.1 | I3C instantiation . . . . . | 2294 |
| 52.3.2 | I3C wake-up from low-power mode(s) . . . . . | 2294 |
| 52.3.3 | I3C FIFOs . . . . . | 2294 |
| 52.3.4 | I3C triggers . . . . . | 2294 |
| 52.3.5 | I3C interrupt(s) . . . . . | 2294 |
| 52.3.6 | I3C MIPI ® support . . . . . | 2295 |
| 52.4 | I3C block diagram . . . . . | 2296 |
| 52.5 | I3C pins and internal signals . . . . . | 2296 |
| 52.6 | I3C reset and clocks . . . . . | 2297 |
| 52.6.1 | I3C reset . . . . . | 2297 |
| 52.6.2 | I3C clocks and requirements . . . . . | 2297 |
| 52.7 | I3C peripheral state and programming . . . . . | 2299 |
| 52.7.1 | I3C peripheral state . . . . . | 2299 |
| 52.7.2 | I3C controller state and programming sequence . . . . . | 2300 |
| 52.7.3 | I3C target state and programming sequence . . . . . | 2304 |
| 52.8 | I3C registers and programming . . . . . | 2308 |
| 52.8.1 | I3C register set, as controller/target . . . . . | 2308 |
| 52.8.2 | I3C registers and fields use versus peripheral state, as controller . . . . . | 2309 |
| 52.8.3 | I3C registers and fields usage versus peripheral state, as target . . . . . | 2312 |
| 52.9 | I3C bus transfers and programming . . . . . | 2314 |
| 52.9.1 | I3C command set (CCC), as controller/target . . . . . | 2314 |
| 52.9.2 | I3C broadcast/direct CCC transfer (except ENTDAA, RSTACT), as controller . . . . . | 2318 |
| 52.9.3 | I3C broadcast ENTDAA CCC transfer, as controller . . . . . | 2320 |
| 52.9.4 | I3C broadcast/direct RSTACT CCC transfer, as controller . . . . . | 2320 |
| 52.9.5 | I3C broadcast/direct CCC transfer (except ENTDAA, DEFTGTS, DEFGRPA), as target . . . . . | 2322 |
| 52.9.6 | I3C broadcast ENTDAA CCC transfer, as target . . . . . | 2324 |
| 52.9.7 | I3C broadcast DEFTGTS CCC transfer, as target . . . . . | 2325 |
| 52.9.8 | I3C broadcast DEFGRPA CCC transfer, as target . . . . . | 2326 |
| 52.9.9 | I3C direct GETSTATUS CCC response, as target . . . . . | 2327 |
| 52.9.10 | I3C private read/write transfer, as controller . . . . . | 2328 |
| 52.9.11 | I3C private read/write transfer, as target . . . . . | 2329 |
| 52.9.12 | Legacy I2C read/write transfer, as controller . . . . . | 2330 |
| 52.9.13 | I3C IBI transfer, as controller/target . . . . . | 2331 |
| 52.9.14 | I3C hot-join request transfer, as controller/target . . . . . | 2332 |
| 52.9.15 | I3C controller-role request transfer, as controller/target . . . . . | 2333 |
| 52.10 | I3C FIFOs management, as controller . . . . . | 2334 |
| 52.10.1 | C-FIFO management, as controller . . . . . | 2334 |
| 52.10.2 | TX-FIFO management, as controller . . . . . | 2335 |
| 52.10.3 | RX-FIFO management, as controller . . . . . | 2338 |
| 52.10.4 | S-FIFO management, as controller . . . . . | 2340 |
| 52.11 | I3C FIFOs management, as target . . . . . | 2342 |
| 52.11.1 | RX-FIFO management, as target . . . . . | 2342 |
| 52.11.2 | TX-FIFO management, as target . . . . . | 2343 |
| 52.12 | I3C error management . . . . . | 2346 |
| 52.12.1 | Controller error management . . . . . | 2346 |
| 52.12.2 | Target error management . . . . . | 2348 |
| 52.13 | I3C wake-up from low-power mode(s) . . . . . | 2349 |
| 52.13.1 | Wake-up from Stop . . . . . | 2349 |
| 52.14 | I3C in low-power modes . . . . . | 2352 |
| 52.15 | I3C interrupts . . . . . | 2353 |
| 52.16 | I3C registers . . . . . | 2354 |
| 52.16.1 | I3C message control register (I3C_CR) . . . . . | 2354 |
| 52.16.2 | I3C message control register [alternate] (I3C_CR) . . . . . | 2356 |
| 52.16.3 | I3C configuration register (I3C_CFGGR) . . . . . | 2358 |
| 52.16.4 | I3C receive data byte register (I3C_RDR) . . . . . | 2363 |
| 52.16.5 | I3C receive data word register (I3C_RDWR) . . . . . | 2363 |
| 52.16.6 | I3C transmit data byte register (I3C_TDR) . . . . . | 2364 |
| 52.16.7 | I3C transmit data word register (I3C_TDWR) . . . . . | 2365 |
| 52.16.8 | I3C IBI payload data register (I3C_IBIDR) . . . . . | 2367 |
| 52.16.9 | I3C target transmit configuration register (I3C_TGTTDR) . . . . . | 2368 |
| 52.16.10 | I3C status register (I3C_SR) . . . . . | 2369 |
| 52.16.11 | I3C status error register (I3C_SER) . . . . . | 2370 |
| 52.16.12 | I3C received message register (I3C_RMR) . . . . . | 2372 |
| 52.16.13 | I3C event register (I3C_EVR) . . . . . | 2373 |
| 52.16.14 | I3C interrupt enable register (I3C_IER) . . . . . | 2377 |
| 52.16.15 | I3C clear event register (I3C_CEVR) . . . . . | 2379 |
| 52.16.16 | I3C own device characteristics register (I3C_DEVR0) . . . . . | 2381 |
| 52.16.17 | I3C device x characteristics register (I3C_DEVRx) . . . . . | 2383 |
| 52.16.18 | I3C maximum read length register (I3C_MAXRLR) . . . . . | 2385 |
| 52.16.19 | I3C maximum write length register (I3C_MAXWLR) . . . . . | 2386 |
| 52.16.20 | I3C timing register 0 (I3C_TIMINGR0) . . . . . | 2387 |
| 52.16.21 | I3C timing register 1 (I3C_TIMINGR1) . . . . . | 2388 |
| 52.16.22 | I3C timing register 2 (I3C_TIMINGR2) . . . . . | 2390 |
| 52.16.23 | I3C bus characteristics register (I3C_BCR) . . . . . | 2391 |
| 52.16.24 | I3C device characteristics register (I3C_DCR) . . . . . | 2392 |
| 52.16.25 | I3C get capability register (I3C_GETCAPR) . . . . . | 2393 |
| 52.16.26 | I3C controller-role capability register (I3C_CRCAPR) . . . . . | 2394 |
| 52.16.27 | I3C get max data speed register (I3C_GETMXDSR) . . . . . | 2395 |
| 52.16.28 | I3C extended provisioned ID register (I3C_EPIDR) . . . . . | 2397 |
| 52.16.29 | I3C register map . . . . . | 2398 |
| 53 | Universal synchronous/asynchronous receiver transmitter (USART/UART) . . . . . | 2401 |
| 53.1 | USART introduction . . . . . | 2401 |
| 53.2 | USART main features . . . . . | 2401 |
| 53.3 | USART extended features . . . . . | 2402 |
| 53.4 | USART implementation . . . . . | 2402 |
| 53.5 | USART functional description . . . . . | 2404 |
| 53.5.1 | USART block diagram . . . . . | 2404 |
| 53.5.2 | USART pins and internal signals . . . . . | 2404 |
| 53.5.3 | USART clocks . . . . . | 2406 |
| 53.5.4 | USART character description . . . . . | 2406 |
| 53.5.5 | USART FIFOs and thresholds . . . . . | 2409 |
| 53.5.6 | USART transmitter . . . . . | 2409 |
| 53.5.7 | USART receiver . . . . . | 2412 |
| 53.5.8 | USART baud rate generation . . . . . | 2419 |
| 53.5.9 | Tolerance of the USART receiver to clock deviation . . . . . | 2421 |
| 53.5.10 | USART auto baud rate detection . . . . . | 2422 |
| 53.5.11 | USART multiprocessor communication . . . . . | 2424 |
| 53.5.12 | USART Modbus communication . . . . . | 2426 |
| 53.5.13 | USART parity control . . . . . | 2427 |
| 53.5.14 | USART LIN (local interconnection network) mode . . . . . | 2428 |
| 53.5.15 | USART synchronous mode . . . . . | 2430 |
| 53.5.16 | USART single-wire half-duplex communication . . . . . | 2434 |
| 53.5.17 | USART receiver timeout . . . . . | 2434 |
| 53.5.18 | USART smartcard mode . . . . . | 2435 |
| 53.5.19 | USART IrDA SIR ENDEC block . . . . . | 2439 |
| 53.5.20 | Continuous communication using USART and DMA . . . . . | 2442 |
| 53.5.21 | RS232 hardware flow control and RS485 driver enable . . . . . | 2444 |
| 53.5.22 | USART low-power management . . . . . | 2447 |
| 53.6 | USART in low-power modes . . . . . | 2450 |
| 53.7 | USART interrupts . . . . . | 2450 |
| 53.8 | USART registers . . . . . | 2453 |
| 53.8.1 | USART control register 1 (USART_CR1) . . . . . | 2453 |
| 53.8.2 | USART control register 1 [alternate] (USART_CR1) . . . . . | 2457 |
| 53.8.3 | USART control register 2 (USART_CR2) . . . . . | 2460 |
| 53.8.4 | USART control register 3 (USART_CR3) . . . . . | 2464 |
| 53.8.5 | USART control register 3 [alternate] (USART_CR3) . . . . . | 2468 |
| 53.8.6 | USART baud rate register (USART_BRR) . . . . . | 2471 |
| 53.8.7 | USART guard time and prescaler register (USART_GTPR) . . . . . | 2472 |
| 53.8.8 | USART receiver timeout register (USART_RTOR) . . . . . | 2473 |
| 53.8.9 | USART request register (USART_RQR) . . . . . | 2474 |
| 53.8.10 | USART interrupt and status register (USART_ISR) . . . . . | 2475 |
| 53.8.11 | USART interrupt and status register [alternate] (USART_ISR) . . . . . | 2481 |
| 53.8.12 | USART interrupt flag clear register (USART_ICR) . . . . . | 2486 |
| 53.8.13 | USART receive data register (USART_RDR) . . . . . | 2487 |
| 53.8.14 | USART transmit data register (USART_TDR) . . . . . | 2488 |
| 53.8.15 | USART prescaler register (USART_PRESC) . . . . . | 2488 |
| 53.8.16 | USART register map . . . . . | 2489 |
| 54 | Low-power universal asynchronous receiver transmitter (LPUART) . . . . . | 2491 |
| 54.1 | LPUART introduction . . . . . | 2491 |
| 54.2 | LPUART main features . . . . . | 2491 |
| 54.3 | LPUART implementation . . . . . | 2492 |
| 54.4 | LPUART functional description . . . . . | 2494 |
| 54.4.1 | LPUART block diagram . . . . . | 2494 |
| 54.4.2 | LPUART pins and internal signals . . . . . | 2495 |
| 54.4.3 | LPUART clocks . . . . . | 2496 |
| 54.4.4 | LPUART character description . . . . . | 2496 |
| 54.4.5 | LPUART FIFOs and thresholds . . . . . | 2498 |
| 54.4.6 | LPUART transmitter . . . . . | 2498 |
| 54.4.7 | LPUART receiver . . . . . | 2502 |
| 54.4.8 | LPUART baud rate generation . . . . . | 2506 |
| 54.4.9 | Tolerance of the LPUART receiver to clock deviation . . . . . | 2507 |
| 54.4.10 | LPUART multiprocessor communication . . . . . | 2508 |
| 54.4.11 | LPUART parity control . . . . . | 2510 |
| 54.4.12 | LPUART single-wire half-duplex communication . . . . . | 2511 |
| 54.4.13 | Continuous communication using DMA and LPUART . . . . . | 2511 |
| 54.4.14 | RS232 hardware flow control and RS485 driver enable . . . . . | 2514 |
| 54.4.15 | LPUART low-power management . . . . . | 2516 |
| 54.5 | LPUART in low-power modes . . . . . | 2519 |
| 54.6 | LPUART interrupts . . . . . | 2520 |
| 54.7 | LPUART registers . . . . . | 2521 |
| 54.7.1 | LPUART control register 1 (LPUART_CR1) . . . . . | 2521 |
| 54.7.2 | LPUART control register 1 [alternate] (LPUART_CR1) . . . . . | 2524 |
| 54.7.3 | LPUART control register 2 (LPUART_CR2) . . . . . | 2527 |
| 54.7.4 | LPUART control register 3 (LPUART_CR3) . . . . . | 2529 |
| 54.7.5 | LPUART control register 3 [alternate] (LPUART_CR3) . . . . . | 2532 |
| 54.7.6 | LPUART baud rate register (LPUART_BRR) . . . . . | 2534 |
| 54.7.7 | LPUART request register (LPUART_RQR) . . . . . | 2534 |
| 54.7.8 | LPUART interrupt and status register (LPUART_ISR) . . . . . | 2535 |
| 54.7.9 | LPUART interrupt and status register [alternate] (LPUART_ISR) . . . . . | 2540 |
| 54.7.10 | LPUART interrupt flag clear register (LPUART_ICR) . . . . . | 2543 |
| 54.7.11 | LPUART receive data register (LPUART_RDR) . . . . . | 2544 |
| 54.7.12 | LPUART transmit data register (LPUART_TDR) . . . . . | 2544 |
| 54.7.13 | LPUART prescaler register (LPUART_PRESC) . . . . . | 2545 |
| 54.7.14 | LPUART register map . . . . . | 2546 |
| 55 | Serial peripheral interface (SPI) . . . . . | 2548 |
| 55.1 | SPI introduction . . . . . | 2548 |
| 55.2 | SPI main features . . . . . | 2548 |
| 55.3 | SPI implementation . . . . . | 2549 |
| 55.4 | SPI functional description . . . . . | 2550 |
| 55.4.1 | SPI block diagram . . . . . | 2550 |
| 55.4.2 | SPI pins and internal signals . . . . . | 2551 |
| 55.4.3 | SPI communication general aspects . . . . . | 2552 |
| 55.4.4 | Communications between one master and one slave . . . . . | 2552 |
| 55.4.5 | Standard multislave communication . . . . . | 2555 |
| 55.4.6 | Multimaster communication . . . . . | 2558 |
| 55.4.7 | Slave select (NSS pin) management . . . . . | 2559 |
| 55.4.8 | Ready pin (RDY) management . . . . . | 2563 |
| 55.4.9 | Communication formats . . . . . | 2563 |
| 55.4.10 | Configuring the SPI . . . . . | 2565 |
| 55.4.11 | Enabling the SPI . . . . . | 2566 |
| 55.4.12 | SPI data transmission and reception procedures . . . . . | 2567 |
| 55.4.13 | Disabling the SPI . . . . . | 2571 |
| 55.4.14 | Communication using DMA (direct memory addressing) . . . . . | 2572 |
| 55.5 | SPI specific modes and control . . . . . | 2574 |
| 55.5.1 | TI mode . . . . . | 2574 |
| 55.5.2 | SPI error flags . . . . . | 2574 |
| 55.5.3 | CRC computation . . . . . | 2578 |
| 55.6 | SPI in low-power modes . . . . . | 2579 |
| 55.7 | SPI interrupts . . . . . | 2579 |
| 55.8 | I2S main features . . . . . | 2581 |
| 55.9 | I2S functional description . . . . . | 2581 |
| 55.9.1 | I2S general description . . . . . | 2581 |
| 55.9.2 | Pin sharing with SPI function . . . . . | 2582 |
| 55.9.3 | Bitfields usable in I2S/PCM mode . . . . . | 2582 |
| 55.9.4 | Slave and master modes . . . . . | 2583 |
| 55.9.5 | Supported audio protocols . . . . . | 2583 |
| 55.9.6 | Additional serial interface flexibility . . . . . | 2589 |
| 55.9.7 | Startup sequence . . . . . | 2591 |
| 55.9.8 | Stop sequence . . . . . | 2593 |
| 55.9.9 | Clock generator . . . . . | 2594 |
| 55.9.10 | Internal FIFOs . . . . . | 2596 |
| 55.9.11 | FIFO status flags . . . . . | 2597 |
| 55.9.12 | Handling of underrun situation . . . . . | 2597 |
| 55.9.13 | Handling of overrun situation . . . . . | 2598 |
| 55.9.14 | Frame error detection . . . . . | 2599 |
| 55.9.15 | DMA interface . . . . . | 2601 |
| 55.9.16 | Programing examples . . . . . | 2601 |
| 55.10 | I2S interrupts . . . . . | 2604 |
| 55.11 | SPI/I2S registers . . . . . | 2604 |
| 55.11.1 | SPI/I2S control register 1 (SPI_CR1) . . . . . | 2604 |
| 55.11.2 | SPI/I2S control register 2 (SPI_CR2) . . . . . | 2606 |
| 55.11.3 | SPI/I2S configuration register 1 (SPI_CFG1) . . . . . | 2607 |
| 55.11.4 | SPI/I2S configuration register 2 (SPI_CFG2) . . . . . | 2610 |
| 55.11.5 | SPI/I2S interrupt enable register (SPI_IER) . . . . . | 2612 |
55.11.6 SPI/I2S status register (SPI_SR) . . . . . 2613
55.11.7 SPI/I2S interrupt/status flags clear register (SPI_IFCR) . . . . . 2616
55.11.8 SPI/I2S transmit data register (SPI_TXDR) . . . . . 2617
55.11.9 SPI/I2S receive data register (SPI_RXDR) . . . . . 2617
55.11.10 SPI/I2S polynomial register (SPI_CRCPOLY) . . . . . 2618
55.11.11 SPI/I2S transmitter CRC register (SPI_TXCRC) . . . . . 2618
55.11.12 SPI/I2S receiver CRC register (SPI_RXCRC) . . . . . 2619
55.11.13 SPI/I2S underrun data register (SPI_UDRDR) . . . . . 2620
55.11.14 SPI/I2S configuration register (SPI_I2SCFGR) . . . . . 2620
55.11.15 SPI/I2S register map . . . . . 2622
56 Serial audio interface (SAI) . . . . . 2624
56.1 SAI introduction . . . . . 2624
56.2 SAI main features . . . . . 2624
56.3 SAI implementation . . . . . 2625
56.4 SAI functional description . . . . . 2626
56.4.1 SAI block diagram . . . . . 2626
56.4.2 SAI pins and internal signals . . . . . 2627
56.4.3 Main SAI modes . . . . . 2628
56.4.4 SAI synchronization mode . . . . . 2629
56.4.5 Audio data size . . . . . 2630
56.4.6 Frame synchronization . . . . . 2630
56.4.7 Slot configuration . . . . . 2633
56.4.8 SAI clock generator . . . . . 2635
56.4.9 Internal FIFOs . . . . . 2638
56.4.10 PDM interface . . . . . 2640
56.4.11 AC'97 link controller . . . . . 2648
56.4.12 SPDIF output . . . . . 2650
56.4.13 Specific features . . . . . 2653
56.4.14 Error flags . . . . . 2657
56.4.15 Disabling the SAI . . . . . 2660
56.4.16 SAI DMA interface . . . . . 2660
56.5 SAI interrupts . . . . . 2661
56.6 SAI registers . . . . . 2663
56.6.1 SAI global configuration register (SAI_GCR) . . . . . 2663
56.6.2 SAI configuration register 1 (SAI_ACR1) . . . . . 2663
| 56.6.3 | SAI configuration register 2 (SAI_ACR2) . . . . . | 2666 |
| 56.6.4 | SAI frame configuration register (SAI_AFRCR) . . . . . | 2668 |
| 56.6.5 | SAI slot register (SAI_ASLOTR) . . . . . | 2669 |
| 56.6.6 | SAI interrupt mask register (SAI_AIM) . . . . . | 2670 |
| 56.6.7 | SAI status register (SAI_ASR) . . . . . | 2672 |
| 56.6.8 | SAI clear flag register (SAI_ACLRFR) . . . . . | 2674 |
| 56.6.9 | SAI data register (SAI_ADR) . . . . . | 2675 |
| 56.6.10 | SAI configuration register 1 (SAI_BCR1) . . . . . | 2675 |
| 56.6.11 | SAI configuration register 2 (SAI_BCR2) . . . . . | 2678 |
| 56.6.12 | SAI frame configuration register (SAI_BFRCR) . . . . . | 2680 |
| 56.6.13 | SAI slot register (SAI_BSLOTR) . . . . . | 2681 |
| 56.6.14 | SAI interrupt mask register (SAI_BIM) . . . . . | 2682 |
| 56.6.15 | SAI status register (SAI_BSR) . . . . . | 2683 |
| 56.6.16 | SAI clear flag register (SAI_BCLRFR) . . . . . | 2685 |
| 56.6.17 | SAI data register (SAI_BDR) . . . . . | 2686 |
| 56.6.18 | SAI PDM control register (SAI_PDMCR) . . . . . | 2687 |
| 56.6.19 | SAI PDM delay register (SAI_PDMDLY) . . . . . | 2688 |
| 56.6.20 | SAI register map . . . . . | 2690 |
| 57 | SPDIFRX receiver interface (SPDIFRX) . . . . . | 2692 |
| 57.1 | SPDIFRX interface introduction . . . . . | 2692 |
| 57.2 | SPDIFRX main features . . . . . | 2692 |
| 57.3 | SPDIFRX functional description . . . . . | 2692 |
| 57.3.1 | SPDIFRX pins and internal signals . . . . . | 2693 |
| 57.3.2 | S/PDIF protocol (IEC-60958) . . . . . | 2694 |
| 57.3.3 | SPDIFRX decoder (SPDIFRX_DC) . . . . . | 2696 |
| 57.3.4 | SPDIFRX tolerance to clock deviation . . . . . | 2700 |
| 57.3.5 | SPDIFRX synchronization . . . . . | 2700 |
| 57.3.6 | SPDIFRX handling . . . . . | 2702 |
| 57.3.7 | Data reception management . . . . . | 2704 |
| 57.3.8 | Dedicated control flow . . . . . | 2706 |
| 57.3.9 | Reception errors . . . . . | 2707 |
| 57.3.10 | Clocking strategy . . . . . | 2709 |
| 57.3.11 | Symbol clock generation . . . . . | 2709 |
| 57.3.12 | DMA interface . . . . . | 2711 |
| 57.3.13 | Interrupt generation . . . . . | 2712 |
| 57.3.14 | Register protection . . . . . | 2713 |
| 57.4 | Programming procedures . . . . . | 2713 |
| 57.4.1 | Initialization phase . . . . . | 2714 |
| 57.4.2 | Handling of interrupts coming from SPDIFRX . . . . . | 2715 |
| 57.4.3 | Handling of interrupts coming from DMA . . . . . | 2715 |
| 57.5 | SPDIFRX interface registers . . . . . | 2716 |
| 57.5.1 | SPDIFRX control register (SPDIFRX_CR) . . . . . | 2716 |
| 57.5.2 | SPDIFRX interrupt mask register (SPDIFRX_IMR) . . . . . | 2718 |
| 57.5.3 | SPDIFRX status register (SPDIFRX_SR) . . . . . | 2719 |
| 57.5.4 | SPDIFRX interrupt flag clear register (SPDIFRX_IFCR) . . . . . | 2721 |
| 57.5.5 | SPDIFRX data input register (SPDIFRX_FMT0_DR) . . . . . | 2722 |
| 57.5.6 | SPDIFRX data input register (SPDIFRX_FMT1_DR) . . . . . | 2722 |
| 57.5.7 | SPDIFRX data input register (SPDIFRX_FMT2_DR) . . . . . | 2723 |
| 57.5.8 | SPDIFRX channel status register (SPDIFRX_CSR) . . . . . | 2724 |
| 57.5.9 | SPDIFRX debug information register (SPDIFRX_DIR) . . . . . | 2724 |
| 57.5.10 | SPDIFRX interface register map . . . . . | 2725 |
| 58 | Management data input/output (MDIOS) . . . . . | 2726 |
| 58.1 | MDIOS introduction . . . . . | 2726 |
| 58.2 | MDIOS main features . . . . . | 2726 |
| 58.3 | MDIOS functional description . . . . . | 2727 |
| 58.3.1 | MDIOS block diagram . . . . . | 2727 |
| 58.3.2 | MDIOS pins and internal signals . . . . . | 2727 |
| 58.3.3 | MDIOS protocol . . . . . | 2727 |
| 58.3.4 | MDIOS enabling and disabling . . . . . | 2728 |
| 58.3.5 | MDIOS data . . . . . | 2729 |
| 58.3.6 | MDIOS APB frequency . . . . . | 2730 |
| 58.3.7 | Write/read flags and interrupts . . . . . | 2730 |
| 58.3.8 | MDIOS error management . . . . . | 2731 |
| 58.3.9 | MDIOS in Stop mode . . . . . | 2732 |
| 58.3.10 | MDIOS interrupts . . . . . | 2732 |
| 58.4 | MDIOS registers . . . . . | 2732 |
| 58.4.1 | MDIOS configuration register (MDIOS_CR) . . . . . | 2732 |
| 58.4.2 | MDIOS write flag register (MDIOS_WRFR) . . . . . | 2733 |
| 58.4.3 | MDIOS clear write flag register (MDIOS_CWRFR) . . . . . | 2734 |
| 58.4.4 | MDIOS read flag register (MDIOS_RDFR) . . . . . | 2734 |
| 58.4.5 | MDIOS clear read flag register (MDIOS_CRDFR) . . . . . | 2735 |
| 58.4.6 | MDIOS status register (MDIOS_SR) ..... | 2735 |
| 58.4.7 | MDIOS clear flag register (MDIOS_CLRFR) ..... | 2736 |
| 58.4.8 | MDIOS input data register x (MDIOS_DINRx) ..... | 2736 |
| 58.4.9 | MDIOS output data register x (MDIOS_DOUTRx) ..... | 2737 |
| 58.4.10 | MDIOS register map ..... | 2737 |
| 59 | Secure digital input/output MultiMediaCard interface (SDMMC) .. | 2739 |
| 59.1 | SDMMC main features ..... | 2739 |
| 59.2 | SDMMC implementation ..... | 2739 |
| 59.3 | SDMMC bus topology ..... | 2740 |
| 59.4 | SDMMC operation modes ..... | 2742 |
| 59.5 | SDMMC functional description ..... | 2743 |
| 59.5.1 | SDMMC block diagram ..... | 2743 |
| 59.5.2 | SDMMC pins and internal signals ..... | 2743 |
| 59.5.3 | General description ..... | 2744 |
| 59.5.4 | SDMMC adapter ..... | 2746 |
| 59.5.5 | SDMMC AHB slave interface ..... | 2768 |
| 59.5.6 | SDMMC AHB master interface ..... | 2769 |
| 59.5.7 | AHB and SDMMC_CK clock relation ..... | 2772 |
| 59.6 | Card functional description ..... | 2772 |
| 59.6.1 | SD I/O mode ..... | 2772 |
| 59.6.2 | CMD12 send timing ..... | 2780 |
| 59.6.3 | Sleep (CMD5) ..... | 2784 |
| 59.6.4 | Interrupt mode (Wait-IRQ) ..... | 2785 |
| 59.6.5 | Boot operation ..... | 2786 |
| 59.6.6 | Response R1b handling ..... | 2789 |
| 59.6.7 | Reset and card cycle power ..... | 2790 |
| 59.7 | Hardware flow control ..... | 2791 |
| 59.8 | Ultra-high-speed phase I (UHS-I) voltage switch ..... | 2791 |
| 59.9 | SDMMC interrupts ..... | 2795 |
| 59.10 | SDMMC registers ..... | 2796 |
| 59.10.1 | SDMMC power control register (SDMMC_POWER) ..... | 2796 |
| 59.10.2 | SDMMC clock control register (SDMMC_CLKCR) ..... | 2797 |
| 59.10.3 | SDMMC argument register (SDMMC_ARGR) ..... | 2799 |
| 59.10.4 | SDMMC command register (SDMMC_CMDR) ..... | 2799 |
| 59.10.5 | SDMMC command response register (SDMMC_RESPCMDR) ..... | 2801 |
| 59.10.6 | SDMMC response x register (SDMMC_RESPxR) . . . . . | 2802 |
| 59.10.7 | SDMMC data timer register (SDMMC_DTIMER) . . . . . | 2802 |
| 59.10.8 | SDMMC data length register (SDMMC_DLENR) . . . . . | 2803 |
| 59.10.9 | SDMMC data control register (SDMMC_DCTRL) . . . . . | 2804 |
| 59.10.10 | SDMMC data counter register (SDMMC_DCNTR) . . . . . | 2805 |
| 59.10.11 | SDMMC status register (SDMMC_STAR) . . . . . | 2806 |
| 59.10.12 | SDMMC interrupt clear register (SDMMC_ICR) . . . . . | 2809 |
| 59.10.13 | SDMMC mask register (SDMMC_MASKR) . . . . . | 2811 |
| 59.10.14 | SDMMC acknowledgment timer register (SDMMC_ACKTIMER) . . . . . | 2814 |
| 59.10.15 | SDMMC DMA control register (SDMMC_IDMACTRLR) . . . . . | 2814 |
| 59.10.16 | SDMMC IDMA buffer size register (SDMMC_IDMABSIZER) . . . . . | 2815 |
| 59.10.17 | SDMMC IDMA buffer base address register (SDMMC_IDMABASER) . . . . . | 2816 |
| 59.10.18 | SDMMC IDMA linked list address register (SDMMC_IDMALAR) . . . . . | 2816 |
| 59.10.19 | SDMMC IDMA linked list memory base register (SDMMC_IDMABAR) . . . . . | 2817 |
| 59.10.20 | SDMMC data FIFO registers x (SDMMC_FIFORx) . . . . . | 2818 |
| 59.10.21 | SDMMC register map . . . . . | 2818 |
| 60 | FD controller area network (FDCAN) . . . . . | 2821 |
| 60.1 | FDCAN introduction . . . . . | 2821 |
| 60.2 | FDCAN main features . . . . . | 2823 |
| 60.3 | FDCAN functional description . . . . . | 2824 |
| 60.3.1 | FDCAN block diagram . . . . . | 2824 |
| 60.3.2 | FDCAN pins and internal signals . . . . . | 2825 |
| 60.3.3 | Bit timing . . . . . | 2826 |
| 60.3.4 | Operating modes . . . . . | 2827 |
| 60.3.5 | Error management . . . . . | 2836 |
| 60.3.6 | Message RAM . . . . . | 2837 |
| 60.3.7 | FIFO acknowledge handling . . . . . | 2846 |
| 60.3.8 | FDCAN Rx FIFO element . . . . . | 2846 |
| 60.3.9 | FDCAN Tx buffer element . . . . . | 2848 |
| 60.3.10 | FDCAN Tx event FIFO element . . . . . | 2850 |
| 60.3.11 | FDCAN standard message ID filter element . . . . . | 2851 |
| 60.3.12 | FDCAN extended message ID filter element . . . . . | 2852 |
| 60.4 | FDCAN registers . . . . . | 2854 |
| 60.4.1 | FDCAN core release register (FDCAN_CREL) . . . . . | 2854 |
| 60.4.2 | FDCAN endian register (FDCAN_ENDN) . . . . . | 2854 |
| 60.4.3 | FDCAN data bit timing and prescaler register (FDCAN_DBTP) . . . . | 2854 |
| 60.4.4 | FDCAN test register (FDCAN_TEST) . . . . . | 2855 |
| 60.4.5 | FDCAN RAM watchdog register (FDCAN_RWD) . . . . . | 2856 |
| 60.4.6 | FDCAN CC control register (FDCAN_CCCR) . . . . . | 2857 |
| 60.4.7 | FDCAN nominal bit timing and prescaler register (FDCAN_NBTP) . . | 2858 |
| 60.4.8 | FDCAN timestamp counter configuration register (FDCAN_TSCC) . | 2860 |
| 60.4.9 | FDCAN timestamp counter value register (FDCAN_TSCV) . . . . . | 2860 |
| 60.4.10 | FDCAN timeout counter configuration register (FDCAN_TOCC) . . . | 2861 |
| 60.4.11 | FDCAN timeout counter value register (FDCAN_TOCV) . . . . . | 2862 |
| 60.4.12 | FDCAN error counter register (FDCAN_ECR) . . . . . | 2862 |
| 60.4.13 | FDCAN protocol status register (FDCAN_PSR) . . . . . | 2863 |
| 60.4.14 | FDCAN transmitter delay compensation register (FDCAN_TDCR) . . | 2865 |
| 60.4.15 | FDCAN interrupt register (FDCAN_IR) . . . . . | 2865 |
| 60.4.16 | FDCAN interrupt enable register (FDCAN_IE) . . . . . | 2868 |
| 60.4.17 | FDCAN interrupt line select register (FDCAN_ILS) . . . . . | 2870 |
| 60.4.18 | FDCAN interrupt line enable register (FDCAN_ILE) . . . . . | 2871 |
| 60.4.19 | FDCAN global filter configuration register (FDCAN_RXGFC) . . . . . | 2871 |
| 60.4.20 | FDCAN extended ID and mask register (FDCAN_XIDAM) . . . . . | 2873 |
| 60.4.21 | FDCAN high-priority message status register (FDCAN_HPMS) . . . . | 2873 |
| 60.4.22 | FDCAN Rx FIFO 0 status register (FDCAN_RXF0S) . . . . . | 2874 |
| 60.4.23 | CAN Rx FIFO 0 acknowledge register (FDCAN_RXF0A) . . . . . | 2875 |
| 60.4.24 | FDCAN Rx FIFO 1 status register (FDCAN_RXF1S) . . . . . | 2875 |
| 60.4.25 | FDCAN Rx FIFO 1 acknowledge register (FDCAN_RXF1A) . . . . . | 2876 |
| 60.4.26 | FDCAN Tx buffer configuration register (FDCAN_TXBC) . . . . . | 2876 |
| 60.4.27 | FDCAN Tx FIFO/queue status register (FDCAN_TXFQS) . . . . . | 2877 |
| 60.4.28 | FDCAN Tx buffer request pending register (FDCAN_TXBRP) . . . . . | 2877 |
| 60.4.29 | FDCAN Tx buffer add request register (FDCAN_TXBAR) . . . . . | 2878 |
| 60.4.30 | FDCAN Tx buffer cancellation request register (FDCAN_TXBCR) . . | 2879 |
| 60.4.31 | FDCAN Tx buffer transmission occurred register (FDCAN_TXBTO) . | 2879 |
| 60.4.32 | FDCAN Tx buffer cancellation finished register (FDCAN_TXBCF) . . | 2880 |
| 60.4.33 | FDCAN Tx buffer transmission interrupt enable register (FDCAN_TXBTIE) . . . . . | 2880 |
| 60.4.34 | FDCAN Tx buffer cancellation finished interrupt enable register (FDCAN_TXBCIE) . . . . . | 2881 |
| 60.4.35 | FDCAN Tx event FIFO status register (FDCAN_TXEFS) . . . . . | 2881 |
| 60.4.36 | FDCAN Tx event FIFO acknowledge register (FDCAN_TXEFA) . . . | 2882 |
| 60.4.37 | FDCAN CFG clock divider register (FDCAN_CKDIV) . . . . . | 2882 |
| 60.4.38 | FDCAN register map . . . . . | 2883 |
| 61 | USB on-the-go full-speed (OTG_FS) . . . . . | 2887 |
| 61.1 | OTG_FS introduction . . . . . | 2887 |
| 61.2 | OTG_FS main features . . . . . | 2888 |
| 61.2.1 | General features . . . . . | 2888 |
| 61.2.2 | Host-mode features . . . . . | 2889 |
| 61.2.3 | Peripheral-mode features . . . . . | 2889 |
| 61.3 | OTG_FS implementation . . . . . | 2890 |
| 61.4 | OTG_FS functional description . . . . . | 2891 |
| 61.4.1 | OTG_FS block diagram . . . . . | 2891 |
| 61.4.2 | OTG_FS pin and internal signals . . . . . | 2891 |
| 61.4.3 | OTG_FS core . . . . . | 2892 |
| 61.4.4 | Embedded full-speed OTG PHY connected to OTG_FS . . . . . | 2892 |
| 61.4.5 | OTG detections . . . . . | 2893 |
| 61.5 | OTG_FS dual role device (DRD) . . . . . | 2893 |
| 61.5.1 | ID line detection . . . . . | 2893 |
| 61.6 | OTG_FS as a USB peripheral . . . . . | 2894 |
| 61.6.1 | Peripheral states . . . . . | 2894 |
| 61.6.2 | Peripheral endpoints . . . . . | 2895 |
| 61.7 | OTG_FS as a USB host . . . . . | 2897 |
| 61.7.1 | USB host states . . . . . | 2898 |
| 61.7.2 | Host channels . . . . . | 2899 |
| 61.7.3 | Host scheduler . . . . . | 2901 |
| 61.8 | OTG_FS SOF trigger . . . . . | 2902 |
| 61.8.1 | Host SOFs . . . . . | 2902 |
| 61.8.2 | Peripheral SOFs . . . . . | 2902 |
| 61.9 | OTG_FS low-power modes . . . . . | 2903 |
| 61.10 | OTG_FS Dynamic update of the OTG_HFIR register . . . . . | 2904 |
| 61.11 | OTG_FS data FIFOs . . . . . | 2904 |
| 61.11.1 | Peripheral FIFO architecture . . . . . | 2905 |
| 61.11.2 | Host FIFO architecture . . . . . | 2906 |
| 61.11.3 | FIFO RAM allocation . . . . . | 2907 |
| 61.12 | OTG_FS system performance . . . . . | 2909 |
| 61.13 | OTG_FS interrupts . . . . . | 2909 |
| 61.14 | OTG_FS control and status registers . . . . . | 2911 |
| 61.14.1 | CSR memory map . . . . . | 2911 |
| 61.15 | OTG_FS registers . . . . . | 2916 |
| 61.15.1 | OTG control and status register (OTG_GOTGCTL) . . . . . | 2916 |
| 61.15.2 | OTG interrupt register (OTG_GOTGINT) . . . . . | 2918 |
| 61.15.3 | OTG AHB configuration register (OTG_GAHBCFG) . . . . . | 2919 |
| 61.15.4 | OTG USB configuration register (OTG_GUSBCFG) . . . . . | 2920 |
| 61.15.5 | OTG reset register (OTG_GRSTCTL) . . . . . | 2921 |
| 61.15.6 | OTG core interrupt register [alternate] (OTG_GINTSTS) . . . . . | 2924 |
| 61.15.7 | OTG core interrupt register [alternate] (OTG_GINTSTS) . . . . . | 2928 |
| 61.15.8 | OTG interrupt mask register [alternate] (OTG_GINTMSK) . . . . . | 2932 |
| 61.15.9 | OTG interrupt mask register [alternate] (OTG_GINTMSK) . . . . . | 2933 |
| 61.15.10 | OTG receive status debug read [alternate] (OTG_GRXSTSR) . . . . . | 2935 |
| 61.15.11 | OTG receive status debug read register [alternate] (OTG_GRXSTSR) . . . . . | 2936 |
| 61.15.12 | OTG status read and pop registers [alternate] (OTG_GRXSTSP) . . . . . | 2937 |
| 61.15.13 | OTG status read and pop registers [alternate] (OTG_GRXSTSP) . . . . . | 2938 |
| 61.15.14 | OTG receive FIFO size register (OTG_GRXFSIZ) . . . . . | 2939 |
| 61.15.15 | OTG host non-periodic transmit FIFO size register [alternate] (OTG_HNPTXFSIZ) . . . . . | 2940 |
| 61.15.16 | Endpoint 0 Transmit FIFO size [alternate] (OTG_DIEPTXF0) . . . . . | 2940 |
| 61.15.17 | OTG non-periodic transmit FIFO/queue status register (OTG_HNPTXSTS) . . . . . | 2941 |
| 61.15.18 | OTG general core configuration register (OTG_GCCFG) . . . . . | 2942 |
| 61.15.19 | OTG core ID register (OTG_CID) . . . . . | 2943 |
| 61.15.20 | OTG core LPM configuration register (OTG_GLPMCFG) . . . . . | 2943 |
| 61.15.21 | OTG host periodic transmit FIFO size register (OTG_HPTXFSIZ) . . . . . | 2948 |
| 61.15.22 | OTG device IN endpoint transmit FIFO x size register (OTG_DIEPTXFx) . . . . . | 2948 |
| 61.15.23 | Host-mode registers . . . . . | 2948 |
| 61.15.24 | OTG host configuration register (OTG_HCFG) . . . . . | 2949 |
| 61.15.25 | OTG host frame interval register (OTG_HFIR) . . . . . | 2949 |
| 61.15.26 | OTG host frame number/frame time remaining register (OTG_HFNUM) . . . . . | 2950 |
| 61.15.27 | OTG_Host periodic transmit FIFO/queue status register (OTG_HPTXSTS) . . . . . | 2951 |
| 61.15.28 | OTG host all channels interrupt register (OTG_HAINT) . . . . . | 2952 |
| 61.15.29 OTG host all channels interrupt mask register (OTG_HAINTMSK) ..... | 2952 |
| 61.15.30 OTG host port control and status register (OTG_HPRT) ..... | 2953 |
| 61.15.31 OTG host channel x characteristics register (OTG_HCCHARx) ..... | 2955 |
| 61.15.32 OTG host channel x interrupt register (OTG_HCINTx) ..... | 2956 |
| 61.15.33 OTG host channel x interrupt mask register (OTG_HCINTMSKx) .. | 2957 |
| 61.15.34 OTG host channel x transfer size register (OTG_HCTSIZx) ..... | 2958 |
| 61.15.35 Device-mode registers ..... | 2959 |
| 61.15.36 OTG device configuration register (OTG_DCFG) ..... | 2959 |
| 61.15.37 OTG device control register (OTG_DCTL) ..... | 2960 |
| 61.15.38 OTG device status register (OTG_DSTS) ..... | 2963 |
| 61.15.39 OTG device IN endpoint common interrupt mask register (OTG_DIEPMSK) ..... | 2964 |
| 61.15.40 OTG device OUT endpoint common interrupt mask register (OTG_DOEPMSK) ..... | 2965 |
| 61.15.41 OTG device all endpoints interrupt register (OTG_DAINIT) ..... | 2966 |
| 61.15.42 OTG all endpoints interrupt mask register (OTG_DAINMSK) ..... | 2967 |
| 61.15.43 OTG device IN endpoint FIFO empty interrupt mask register (OTG_DIEPEMPMSK) ..... | 2967 |
| 61.15.44 OTG device each endpoint interrupt register (OTG_DEACHINT) .. | 2968 |
| 61.15.45 OTG device each endpoint interrupt mask register (OTG_DEACHINTMSK) ..... | 2968 |
| 61.15.46 OTG device each IN endpoint-1 interrupt mask register (OTG_DIEPEACHM) ..... | 2969 |
| 61.15.47 OTG device each OUT endpoint-1 interrupt mask register (OTG_DOEPEACHMSK1) ..... | 2970 |
| 61.15.48 OTG device control IN endpoint 0 control register (OTG_DIEPCTL0) ..... | 2971 |
| 61.15.49 OTG device IN endpoint x control register [alternate] (OTG_DIEPCTLx) ..... | 2973 |
| 61.15.50 OTG device IN endpoint x control register [alternate] (OTG_DIEPCTLx) ..... | 2975 |
| 61.15.51 OTG device IN endpoint x interrupt register (OTG_DIEPINTx) ..... | 2977 |
| 61.15.52 OTG device IN endpoint 0 transfer size register (OTG_DIEPTSIZ0) ..... | 2978 |
| 61.15.53 OTG device IN endpoint transmit FIFO status register (OTG_DTXFSTSx) ..... | 2979 |
| 61.15.54 OTG device IN endpoint x transfer size register (OTG_DIEPTSIZx) . | 2979 |
| 61.15.55 OTG device control OUT endpoint 0 control register (OTG_DOEPCTL0) ..... | 2980 |
| 61.15.56 | OTG device OUT endpoint x interrupt register (OTG_DOEPINTx) . . . | 2982 |
| 61.15.57 | OTG device OUT endpoint 0 transfer size register (OTG_DOEPTSIZ0) . . . . . | 2983 |
| 61.15.58 | OTG device OUT endpoint x control register [alternate] (OTG_DOEPCTLx) . . . . . | 2984 |
| 61.15.59 | OTG device OUT endpoint x control register [alternate] (OTG_DOEPCTLx) . . . . . | 2986 |
| 61.15.60 | OTG device OUT endpoint x transfer size register (OTG_DOEPTSIZx) . . . . . | 2988 |
| 61.15.61 | OTG power and clock gating control register (OTG_PCGCCTL) . . . | 2989 |
| 61.15.62 | OTG power and clock gating control register 1 (OTG_PCGCCTL1) . . . | 2990 |
| 61.15.63 | OTG_FS register map . . . . . | 2991 |
| 61.16 | OTG_FS programming model . . . . . | 2999 |
| 61.16.1 | Core initialization . . . . . | 2999 |
| 61.16.2 | Host initialization . . . . . | 3000 |
| 61.16.3 | Device initialization . . . . . | 3000 |
| 61.16.4 | Host programming model . . . . . | 3001 |
| 61.16.5 | Device programming model . . . . . | 3022 |
| 61.16.6 | Worst case response time . . . . . | 3043 |
| 61.16.7 | OTG programming model . . . . . | 3045 |
| 62 | USB on-the-go high-speed (OTG_HS) . . . . . | 3046 |
| 62.1 | OTG_HS introduction . . . . . | 3046 |
| 62.2 | OTG_HS main features . . . . . | 3047 |
| 62.2.1 | General features . . . . . | 3047 |
| 62.2.2 | Host-mode features . . . . . | 3048 |
| 62.2.3 | Peripheral-mode features . . . . . | 3048 |
| 62.3 | OTG_HS implementation . . . . . | 3048 |
| 62.4 | OTG_HS functional description . . . . . | 3049 |
| 62.4.1 | OTG_HS block diagram . . . . . | 3049 |
| 62.4.2 | OTG_HS pin and internal signals . . . . . | 3049 |
| 62.4.3 | OTG_HS core . . . . . | 3050 |
| 62.4.4 | OTG detections . . . . . | 3050 |
| 62.4.5 | High-speed OTG PHY connected to OTG_HS . . . . . | 3050 |
| 62.4.6 | Battery charging detection . . . . . | 3050 |
| 62.5 | OTG_HS dual role device (DRD) . . . . . | 3051 |
| 62.5.1 | ID line detection . . . . . | 3051 |
| 62.6 | OTG_HS as a USB peripheral . . . . . | 3052 |
| 62.6.1 | Peripheral states . . . . . | 3052 |
| 62.6.2 | Peripheral endpoints . . . . . | 3053 |
| 62.7 | OTG_HS as a USB host . . . . . | 3055 |
| 62.7.1 | USB host states . . . . . | 3056 |
| 62.7.2 | Host channels . . . . . | 3057 |
| 62.7.3 | Host scheduler . . . . . | 3059 |
| 62.8 | OTG_HS SOF trigger . . . . . | 3060 |
| 62.8.1 | Host SOFs . . . . . | 3060 |
| 62.8.2 | Peripheral SOFs . . . . . | 3060 |
| 62.9 | OTG_HS low-power modes . . . . . | 3061 |
| 62.10 | OTG_HS Dynamic update of the OTG_HFIR register . . . . . | 3062 |
| 62.11 | OTG_HS data FIFOs . . . . . | 3062 |
| 62.11.1 | Peripheral FIFO architecture . . . . . | 3063 |
| 62.11.2 | Host FIFO architecture . . . . . | 3064 |
| 62.11.3 | FIFO RAM allocation . . . . . | 3065 |
| 62.12 | OTG_HS interrupts . . . . . | 3067 |
| 62.13 | OTG_HS control and status registers . . . . . | 3069 |
| 62.13.1 | CSR memory map . . . . . | 3069 |
| 62.14 | OTG_HS registers . . . . . | 3074 |
| 62.14.1 | OTG control and status register (OTG_GOTGCTL) . . . . . | 3074 |
| 62.14.2 | OTG interrupt register (OTG_GOTGINT) . . . . . | 3076 |
| 62.14.3 | OTG AHB configuration register (OTG_GAHBCFG) . . . . . | 3077 |
| 62.14.4 | OTG USB configuration register (OTG_GUSBCFG) . . . . . | 3078 |
| 62.14.5 | OTG reset register (OTG_GRSTCTL) . . . . . | 3080 |
| 62.14.6 | OTG core interrupt register [alternate] (OTG_GINTSTS) . . . . . | 3083 |
| 62.14.7 | OTG core interrupt register [alternate] (OTG_GINTSTS) . . . . . | 3087 |
| 62.14.8 | OTG interrupt mask register [alternate] (OTG_GINTMSK) . . . . . | 3092 |
| 62.14.9 | OTG interrupt mask register [alternate] (OTG_GINTMSK) . . . . . | 3093 |
| 62.14.10 | OTG receive status debug read register [alternate] (OTG_GRXSTSR) . . . . . | 3095 |
| 62.14.11 | OTG receive status debug read register [alternate] (OTG_GRXSTSR) . . . . . | 3096 |
| 62.14.12 | OTG status read and pop registers (OTG_GRXSTSP) . . . . . | 3097 |
| 62.14.13 | OTG status read and pop registers [alternate] (OTG_GRXSTSP) . . . . . | 3098 |
| 62.14.14 | OTG receive FIFO size register (OTG_GRXFSIZ) . . . . . | 3099 |
| 62.14.15 OTG host non-periodic transmit FIFO size register [alternate] (OTG_HNPTXFSIZ) . . . . . | 3100 |
| 62.14.16 Endpoint 0 transmit FIFO size [alternate] (OTG_DIEPTXF0) . . . . . | 3100 |
| 62.14.17 OTG non-periodic transmit FIFO/queue status register (OTG_HNPTXSTS) . . . . . | 3101 |
| 62.14.18 OTG general core configuration register (OTG_GCCFG) . . . . . | 3102 |
| 62.14.19 OTG core ID register (OTG_CID) . . . . . | 3103 |
| 62.14.20 OTG core LPM configuration register (OTG_GLPMCFG) . . . . . | 3104 |
| 62.14.21 OTG host periodic transmit FIFO size register (OTG_HPTXFSIZ) . . . . . | 3108 |
| 62.14.22 OTG device IN endpoint transmit FIFO x size register (OTG_DIEPTXFx) . . . . . | 3108 |
| 62.14.23 Host-mode registers . . . . . | 3108 |
| 62.14.24 OTG host configuration register (OTG_HCFG) . . . . . | 3109 |
| 62.14.25 OTG host frame interval register (OTG_HFIR) . . . . . | 3109 |
| 62.14.26 OTG host frame number/frame time remaining register (OTG_HFNUM) . . . . . | 3110 |
| 62.14.27 OTG_Host periodic transmit FIFO/queue status register (OTG_HPTXSTS) . . . . . | 3111 |
| 62.14.28 OTG host all channels interrupt register (OTG_HAINT) . . . . . | 3112 |
| 62.14.29 OTG host all channels interrupt mask register (OTG_HAINTMSK) . . . . . | 3112 |
| 62.14.30 OTG host port control and status register (OTG_HPRT) . . . . . | 3113 |
| 62.14.31 OTG host channel x characteristics register (OTG_HCCHARx) . . . . . | 3115 |
| 62.14.32 OTG host channel x split control register (OTG_HCSPLTx) . . . . . | 3116 |
| 62.14.33 OTG host channel x interrupt register (OTG_HCINTx) . . . . . | 3117 |
| 62.14.34 OTG host channel x interrupt mask register (OTG_HCINTMSKx) . . . . . | 3118 |
| 62.14.35 OTG host channel x transfer size register (OTG_HCTSIZx) . . . . . | 3119 |
| 62.14.36 OTG host channel x DMA address register(OTG_HCDMAx) . . . . . | 3120 |
| 62.14.37 Device-mode registers . . . . . | 3120 |
| 62.14.38 OTG device configuration register (OTG_DCFG) . . . . . | 3120 |
| 62.14.39 OTG device control register (OTG_DCTL) . . . . . | 3122 |
| 62.14.40 OTG device status register (OTG_DSTS) . . . . . | 3124 |
| 62.14.41 OTG device IN endpoint common interrupt mask register (OTG_DIEPMSK) . . . . . | 3125 |
| 62.14.42 OTG device OUT endpoint common interrupt mask register (OTG_DOEPMSK) . . . . . | 3126 |
| 62.14.43 OTG device all endpoints interrupt register (OTG_DAINT) . . . . . | 3127 |
| 62.14.44 OTG all endpoints interrupt mask register (OTG_DAINMSK) . . . . . | 3128 |
| 62.14.45 | OTG device threshold control register (OTG_DTHRCTL) | 3128 |
| 62.14.46 | OTG device IN endpoint FIFO empty interrupt mask register (OTG_DIEPEMPMSK) | 3129 |
| 62.14.47 | OTG device IN endpoint x control register [alternate] (OTG_DIEPCTLx) | 3130 |
| 62.14.48 | OTG device IN endpoint x control register [alternate] (OTG_DIEPCTLx) | 3132 |
| 62.14.49 | OTG device IN endpoint x interrupt register (OTG_DIEPINTx) | 3134 |
| 62.14.50 | OTG device IN endpoint 0 transfer size register (OTG_DIEPTSIZ0) | 3135 |
| 62.14.51 | OTG device IN endpoint x DMA address register (OTG_DIEPDMAx) | 3136 |
| 62.14.52 | OTG device IN endpoint transmit FIFO status register (OTG_DTXFSTSx) | 3136 |
| 62.14.53 | OTG device IN endpoint x transfer size register (OTG_DIEPTSIZx) | 3137 |
| 62.14.54 | OTG device control OUT endpoint 0 control register (OTG_DOEPCTL0) | 3137 |
| 62.14.55 | OTG device OUT endpoint x interrupt register (OTG_DOEPINTx) | 3139 |
| 62.14.56 | OTG device OUT endpoint 0 transfer size register (OTG_DOEPTSIZ0) | 3141 |
| 62.14.57 | OTG device OUT endpoint x DMA address register (OTG_DOEPDMAx) | 3142 |
| 62.14.58 | OTG device OUT endpoint x control register [alternate] (OTG_DOEPCTLx) | 3142 |
| 62.14.59 | OTG device OUT endpoint x control register [alternate] (OTG_DOEPCTLx) | 3144 |
| 62.14.60 | OTG device OUT endpoint x transfer size register (OTG_DOEPTSIZx) | 3146 |
| 62.14.61 | OTG power and clock gating control register (OTG_PCGCCTL) | 3147 |
| 62.14.62 | OTG power and clock gating control register 1 (OTG_PCGCCTL1) | 3148 |
| 62.14.63 | OTG_HS register map | 3149 |
| 62.15 | OTG_HS programming model | 3156 |
| 62.15.1 | Core initialization | 3156 |
| 62.15.2 | Host initialization | 3157 |
| 62.15.3 | Device initialization | 3158 |
| 62.15.4 | DMA mode | 3158 |
| 62.15.5 | Host programming model | 3158 |
| 62.15.6 | Device programming model | 3191 |
| 62.15.7 | Worst case response time | 3211 |
| 62.15.8 | OTG programming model | 3213 |
| 63 | USB Type-C ® /USB Power Delivery interface (UCPD) . . . . . | 3214 |
| 63.1 | UCPD introduction . . . . . | 3214 |
| 63.2 | UCPD main features . . . . . | 3214 |
| 63.3 | UCPD implementation . . . . . | 3215 |
| 63.4 | UCPD functional description . . . . . | 3215 |
| 63.4.1 | UCPD block diagram . . . . . | 3216 |
| 63.4.2 | UCPD reset and clocks . . . . . | 3217 |
| 63.4.3 | Physical layer protocol . . . . . | 3218 |
| 63.4.4 | UCPD BMC transmitter . . . . . | 3224 |
| 63.4.5 | UCPD BMC receiver . . . . . | 3226 |
| 63.4.6 | UCPD Type-C pull-ups (Rp) and pull-downs (Rd) . . . . . | 3227 |
| 63.4.7 | UCPD Type-C voltage monitoring and de-bouncing . . . . . | 3228 |
| 63.4.8 | UCPD fast role swap (FRS) . . . . . | 3228 |
| 63.4.9 | UCPD DMA Interface . . . . . | 3228 |
| 63.4.10 | Wake-up from Stop mode . . . . . | 3228 |
| 63.5 | UCPD programming sequences . . . . . | 3229 |
| 63.5.1 | Initialization phase . . . . . | 3229 |
| 63.5.2 | Type-C state machine handling . . . . . | 3229 |
| 63.5.3 | USB PD transmit . . . . . | 3231 |
| 63.5.4 | USB PD receive . . . . . | 3232 |
| 63.5.5 | UCPD software trimming . . . . . | 3233 |
| 63.6 | UCPD low-power modes . . . . . | 3233 |
| 63.7 | UCPD interrupts . . . . . | 3234 |
| 63.8 | UCPD registers . . . . . | 3235 |
| 63.8.1 | UCPD configuration register 1 (UCPD_CFGR1) . . . . . | 3235 |
| 63.8.2 | UCPD configuration register 2 (UCPD_CFGR2) . . . . . | 3237 |
| 63.8.3 | UCPD configuration register 3 (UCPD_CFGR3) . . . . . | 3237 |
| 63.8.4 | UCPD control register (UCPD_CR) . . . . . | 3238 |
| 63.8.5 | UCPD interrupt mask register (UCPD_IMR) . . . . . | 3240 |
| 63.8.6 | UCPD status register (UCPD_SR) . . . . . | 3242 |
| 63.8.7 | UCPD interrupt clear register (UCPD_ICR) . . . . . | 3245 |
| 63.8.8 | UCPD Tx ordered set type register (UCPD_TX_ORDSETR) . . . . . | 3246 |
| 63.8.9 | UCPD Tx payload size register (UCPD_TX_PAYSZR) . . . . . | 3246 |
| 63.8.10 | UCPD Tx data register (UCPD_TXDR) . . . . . | 3247 |
| 63.8.11 | UCPD Rx ordered set register (UCPD_RX_ORDSETR) . . . . . | 3247 |
| 63.8.12 | UCPD Rx payload size register (UCPD_RX_PAYSZR) . . . . . | 3248 |
63.8.13 UCPD receive data register (UCPD_RXDR) . . . . . 3249
63.8.14 UCPD Rx ordered set extension register 1
(UCPD_RX_ORDEXTR1) . . . . . 3249
63.8.15 UCPD Rx ordered set extension register 2
(UCPD_RX_ORDEXTR2) . . . . . 3250
63.8.16 UCPD register map . . . . . 3250
64 Ethernet (ETH): media access control
(MAC) with DMA controller . . . . . 3253
64.1 Ethernet introduction . . . . . 3253
64.2 Ethernet main features . . . . . 3253
64.2.1 Standard compliance . . . . . 3253
64.2.2 MAC features . . . . . 3253
64.2.3 Transaction layer (MTL) features . . . . . 3255
64.2.4 DMA block features . . . . . 3256
64.2.5 Bus interface features . . . . . 3256
64.3 Ethernet pins and internal signals . . . . . 3257
64.4 Ethernet architecture . . . . . 3258
64.4.1 DMA controller . . . . . 3259
64.4.2 MTL . . . . . 3268
64.4.3 MAC . . . . . 3268
64.5 Ethernet functional description: MAC . . . . . 3273
64.5.1 Double VLAN processing . . . . . 3273
64.5.2 Source address and VLAN insertion, replacement, or deletion . . . . . 3274
64.5.3 Packet filtering . . . . . 3276
64.5.4 IEEE 1588 timestamp support . . . . . 3283
64.5.5 Checksum offload engine . . . . . 3308
64.5.6 TCP segmentation offload . . . . . 3314
64.5.7 IPv4 ARP offload . . . . . 3320
64.5.8 Loopback . . . . . 3321
64.5.9 Flow control . . . . . 3322
64.5.10 MAC management counters . . . . . 3324
64.5.11 Interrupts generated by the MAC . . . . . 3326
64.5.12 MAC and MMC register descriptions . . . . . 3326
64.6 Ethernet functional description: PHY interfaces . . . . . 3327
64.6.1 Station management agent (SMA) . . . . . 3327
64.6.2 Media independent interface (MII) . . . . . 3334
| 64.6.3 | Reduced media independent interface (RMII) . . . . . | 3335 |
| 64.7 | Ethernet low-power modes . . . . . | 3338 |
| 64.7.1 | Low-power management . . . . . | 3338 |
| 64.7.2 | Energy-efficient Ethernet (EEE) . . . . . | 3344 |
| 64.8 | Ethernet interrupts . . . . . | 3350 |
| 64.8.1 | DMA interrupts . . . . . | 3350 |
| 64.8.2 | MTL interrupts . . . . . | 3352 |
| 64.8.3 | MAC interrupts . . . . . | 3352 |
| 64.9 | Ethernet programming model . . . . . | 3353 |
| 64.9.1 | DMA initialization . . . . . | 3353 |
| 64.9.2 | MTL initialization . . . . . | 3354 |
| 64.9.3 | MAC initialization . . . . . | 3354 |
| 64.9.4 | Performing normal receive and transmit operation . . . . . | 3355 |
| 64.9.5 | Stopping and starting transmission . . . . . | 3356 |
| 64.9.6 | Programming guidelines for switching to new descriptor list in RxDMA . . . . . | 3356 |
| 64.9.7 | Programming guidelines for switching the AHB clock frequency . . . . . | 3356 |
| 64.9.8 | Programming guidelines for MII link state transitions . . . . . | 3357 |
| 64.9.9 | Programming guidelines for IEEE 1588 timestamping . . . . . | 3358 |
| 64.9.10 | Programming guidelines for PTP offload feature . . . . . | 3359 |
| 64.9.11 | Programming guidelines for Energy Efficient Ethernet (EEE) . . . . . | 3363 |
| 64.9.12 | Programming guidelines for flexible pulse-per-second (PPS) output . . . . . | 3365 |
| 64.9.13 | Programming guidelines for IEEE 1588 auxiliary snapshot . . . . . | 3367 |
| 64.9.14 | Programming guidelines for TSO . . . . . | 3367 |
| 64.9.15 | Programming guidelines to perform VLAN filtering on the receiver . . . . . | 3368 |
| 64.10 | Descriptors . . . . . | 3369 |
| 64.10.1 | Descriptor overview . . . . . | 3369 |
| 64.10.2 | Descriptor structure . . . . . | 3369 |
| 64.10.3 | Transmit descriptor . . . . . | 3373 |
| 64.10.4 | Receive descriptor . . . . . | 3385 |
| 64.11 | Ethernet registers . . . . . | 3397 |
| 64.11.1 | Ethernet register maps . . . . . | 3397 |
| 64.11.2 | Ethernet DMA registers . . . . . | 3397 |
| 64.11.3 | Ethernet MTL registers . . . . . | 3418 |
| 64.11.4 | Ethernet MAC and MMC registers . . . . . | 3428 |
| 65 | HDMI-CEC controller (CEC) . . . . . | 3522 |
| 65.1 | HDMI-CEC introduction . . . . . | 3522 |
| 65.2 | HDMI-CEC controller main features . . . . . | 3522 |
| 65.3 | HDMI-CEC functional description . . . . . | 3523 |
| 65.3.1 | HDMI-CEC pin and internal signals . . . . . | 3523 |
| 65.3.2 | HDMI-CEC block diagram . . . . . | 3524 |
| 65.3.3 | Message description . . . . . | 3524 |
| 65.3.4 | Bit timing . . . . . | 3525 |
| 65.4 | Arbitration . . . . . | 3525 |
| 65.4.1 | SFT option bit . . . . . | 3527 |
| 65.5 | Error handling . . . . . | 3527 |
| 65.5.1 | Bit error . . . . . | 3527 |
| 65.5.2 | Message error . . . . . | 3528 |
| 65.5.3 | Bit rising error (BRE) . . . . . | 3528 |
| 65.5.4 | Short bit period error (SBPE) . . . . . | 3528 |
| 65.5.5 | Long bit period error (LBPE) . . . . . | 3528 |
| 65.5.6 | Transmission error detection (TXERR) . . . . . | 3530 |
| 65.6 | HDMI-CEC interrupts . . . . . | 3531 |
| 65.7 | HDMI-CEC registers . . . . . | 3532 |
| 65.7.1 | CEC control register (CEC_CR) . . . . . | 3532 |
| 65.7.2 | CEC configuration register (CEC_CFGR) . . . . . | 3533 |
| 65.7.3 | CEC Tx data register (CEC_TXDR) . . . . . | 3535 |
| 65.7.4 | CEC Rx data register (CEC_RXDR) . . . . . | 3535 |
| 65.7.5 | CEC interrupt and status register (CEC_ISR) . . . . . | 3535 |
| 65.7.6 | CEC interrupt enable register (CEC_IER) . . . . . | 3537 |
| 65.7.7 | HDMI-CEC register map . . . . . | 3539 |
| 66 | Debug infrastructure . . . . . | 3540 |
| 66.1 | Introduction . . . . . | 3540 |
| 66.2 | Debug infrastructure features . . . . . | 3541 |
| 66.3 | Debug infrastructure functional description . . . . . | 3541 |
| 66.3.1 | Debug infrastructure block diagram . . . . . | 3541 |
| 66.3.2 | Debug infrastructure powering, clocking and reset . . . . . | 3542 |
| 66.3.3 | Security . . . . . | 3543 |
| 66.3.4 | Debug authentication . . . . . | 3545 |
| 66.4 | Serial-wire and JTAG debug port (SWJ-DP) . . . . . | 3546 |
| 66.4.1 | Serial wire debug port . . . . . | 3547 |
| 66.4.2 | JTAG debug port . . . . . | 3549 |
| 66.4.3 | Debug port registers . . . . . | 3552 |
| 66.4.4 | Debug port register map . . . . . | 3561 |
| 66.5 | Access ports . . . . . | 3562 |
| 66.5.1 | MEM-AP registers . . . . . | 3563 |
| 66.5.2 | Access port register map . . . . . | 3571 |
| 66.6 | Trace and debug subsystem functional description . . . . . | 3572 |
| 66.6.1 | System ROM tables . . . . . | 3572 |
| 66.6.2 | System ROM registers . . . . . | 3576 |
| 66.6.3 | System ROM register map and reset values . . . . . | 3580 |
| 66.6.4 | Cross trigger interfaces (CTI) and matrix (CTM) . . . . . | 3582 |
| 66.6.5 | CTI registers . . . . . | 3585 |
| 66.6.6 | CTI register map and reset values . . . . . | 3599 |
| 66.6.7 | Trace funnel (CSTF) . . . . . | 3601 |
| 66.6.8 | Trace funnel registers . . . . . | 3602 |
| 66.6.9 | Trace funnel register map and reset values . . . . . | 3611 |
| 66.6.10 | Embedded trace FIFO (ETF) . . . . . | 3613 |
| 66.6.11 | ETF registers . . . . . | 3615 |
| 66.6.12 | ETF register map and reset values . . . . . | 3632 |
| 66.6.13 | Trace port interface unit (TPIU) . . . . . | 3635 |
| 66.6.14 | TPIU registers . . . . . | 3636 |
| 66.6.15 | TPIU register map and reset values . . . . . | 3651 |
| 66.7 | Serial wire output (SWO) . . . . . | 3653 |
| 66.7.1 | SWO registers . . . . . | 3654 |
| 66.7.2 | SWO register map and reset values . . . . . | 3663 |
| 66.8 | Microcontroller debug unit (DBGMCU) . . . . . | 3665 |
| 66.8.1 | DBGMCU registers . . . . . | 3666 |
| 66.8.2 | DBGMCU register map and reset values . . . . . | 3680 |
| 66.9 | Cortex-M7 debug functional description . . . . . | 3683 |
| 66.9.1 | Cortex-M7 ROM tables . . . . . | 3683 |
| 66.9.2 | Cortex-M7 CPU ROM registers . . . . . | 3686 |
| 66.9.3 | Cortex-M7 CPU ROM table register map and reset values . . . . . | 3690 |
| 66.9.4 | Cortex-M7 PPB ROM registers . . . . . | 3691 |
| 66.9.5 | Cortex-M7 PPB ROM table register map and reset values . . . . . | 3695 |
| 66.9.6 | Cortex-M7 data watchpoint and trace unit (DWT) . . . . . | 3696 |
| 66.9.7 | Cortex-M7 DWT registers . . . . . | 3697 |
- 66.9.8 Cortex-M7 DWT register map and reset values . . . . . 3706
- 66.9.9 Cortex-M7 instrumentation trace macrocell (ITM) . . . . . 3708
- 66.9.10 Cortex-M7 ITM registers . . . . . 3709
- 66.9.11 Cortex-M7 ITM register map and reset values . . . . . 3715
- 66.9.12 Cortex-M7 breakpoint unit (FPB) . . . . . 3717
- 66.9.13 Cortex-M7 FPB registers . . . . . 3717
- 66.9.14 Cortex-M7 FPB register map and reset values . . . . . 3722
- 66.9.15 Cortex-M7 embedded trace macrocell (ETM) . . . . . 3723
- 66.9.16 Cortex-M7 ETM registers . . . . . 3724
- 66.9.17 Cortex-M7 ETM register map and reset values . . . . . 3750
- 66.9.18 Cortex-M7 cross trigger interface (CTI) . . . . . 3754
- 66.10 References for debug infrastructure . . . . . 3755
- 67 Device electronic signature . . . . . 3756
- 67.1 Unique device ID register (96 bits) . . . . . 3756
- 67.2 Package data register . . . . . 3758
- 68 Important security notice . . . . . 3759
- 69 Revision history . . . . . 3760
List of tables
| Table 1. | Availability of security features . . . . . | 121 |
| Table 2. | Bus-master-to-bus-slave interconnect . . . . . | 123 |
| Table 3. | ASIB configuration . . . . . | 130 |
| Table 4. | AMIB configuration . . . . . | 130 |
| Table 5. | AXI interconnect register map and reset values . . . . . | 140 |
| Table 6. | Memory map and default device memory area attribute. . . . . | 152 |
| Table 7. | Register boundary addresses. . . . . | 154 |
| Table 8. | SRAMs structure. . . . . | 161 |
| Table 9. | SRAM1 / ITCM configurations . . . . . | 161 |
| Table 10. | SRAM3 / DTCM configurations. . . . . | 161 |
| Table 11. | SRAM4 / ECC configurations . . . . . | 162 |
| Table 12. | ITCM/AXI configuration. . . . . | 162 |
| Table 13. | DTCM/AXI configuration. . . . . | 162 |
| Table 14. | ECC/AXI configuration . . . . . | 162 |
| Table 15. | Boot modes. . . . . | 163 |
| Table 16. | RAMECC internal input/output signals . . . . . | 167 |
| Table 17. | ECC controller mapping . . . . . | 168 |
| Table 18. | Effect of low-power modes on RAMECC . . . . . | 169 |
| Table 19. | RAMECC interrupt requests . . . . . | 170 |
| Table 20. | RAMECC register map and reset values . . . . . | 177 |
| Table 21. | Internal tampers in TAMP . . . . . | 185 |
| Table 22. | Effect of low-power modes on TAMP . . . . . | 187 |
| Table 23. | Accelerated cryptographic operations . . . . . | 189 |
| Table 24. | Product life-cycle states . . . . . | 192 |
| Table 25. | Macros for RSS services . . . . . | 193 |
| Table 26. | RSS lib interface functions . . . . . | 194 |
| Table 27. | FLASH internal input/output signals . . . . . | 202 |
| Table 28. | Flash memory organization . . . . . | 205 |
| Table 29. | FLASH recommended read wait states and programming delays . . . . . | 211 |
| Table 30. | Flash memory OTP organization . . . . . | 219 |
| Table 31. | Read-only public data organization . . . . . | 221 |
| Table 32. | Option byte user words organization . . . . . | 226 |
| Table 33. | STM32H7Rx/7Sx device lifecycle table . . . . . | 230 |
| Table 34. | Flash interface register protection summary. . . . . | 232 |
| Table 35. | Flash security lifecycle definition . . . . . | 233 |
| Table 36. | Boot level and HDP area protections (non STiRoT case). . . . . | 235 |
| Table 37. | Boot level and HDP area protections (STiRoT case) . . . . . | 235 |
| Table 38. | Effect of low-power modes on the embedded flash memory . . . . . | 237 |
| Table 39. | Flash interrupt request . . . . . | 244 |
| Table 40. | FLASH register map and reset values . . . . . | 275 |
| Table 41. | PWR input/output signals connected to package pins or balls. . . . . | 281 |
| Table 42. | PWR internal input/output signals . . . . . | 281 |
| Table 43. | table wake-up source selection . . . . . | 282 |
| Table 44. | Supply configuration control . . . . . | 286 |
| Table 45. | Operating mode summary . . . . . | 305 |
| Table 46. | Sleep mode. . . . . | 312 |
| Table 47. | Stop mode operation . . . . . | 313 |
| Table 48. | Stop mode . . . . . | 314 |
| Table 49. | Standby and Stop flags. . . . . | 316 |
| Table 50. | Standby mode. . . . . | 316 |
| Table 51. | Low-power modes monitoring pin overview . . . . . | 317 |
| Table 52. | GPIO state according to CPU and domain state . . . . . | 317 |
| Table 53. | Power control register map and reset values . . . . . | 339 |
| Table 54. | RCC input/output signals connected to package pins or balls . . . . . | 343 |
| Table 55. | RCC internal input/output signals . . . . . | 343 |
| Table 56. | Reset coverage summary. . . . . | 350 |
| Table 57. | Reset source identification (RCC_RSR). . . . . | 351 |
| Table 58. | Oscillator states versus system modes . . . . . | 355 |
| Table 59. | Oscillator states versus system modes . . . . . | 369 |
| Table 60. | VCO frequency and output frequency in integer mode. . . . . | 373 |
| Table 61. | VCO frequency and output frequency in fractional mode. . . . . | 374 |
| Table 62. | Clock protection summary . . . . . | 379 |
| Table 63. | STOPWUCK and STOPKERWUCK description. . . . . | 381 |
| Table 64. | HSIKERON and CSIKERON behavior . . . . . | 381 |
| Table 65. | Peripheral clock distribution summary . . . . . | 382 |
| Table 66. | SDMMC interface clock constraints . . . . . | 399 |
| Table 67. | Ratio between clock timer and pclk . . . . . | 407 |
| Table 68. | Peripheral clock enabling . . . . . | 414 |
| Table 69. | RNG clock enabling . . . . . | 415 |
| Table 70. | Interrupt sources and control . . . . . | 418 |
| Table 71. | Clock configuration examples with PLLs in integer mode. . . . . | 422 |
| Table 72. | Clock configuration examples with PLLs in fractional mode. . . . . | 423 |
| Table 73. | RCC register map and reset values . . . . . | 531 |
| Table 74. | SBS input/output pins . . . . . | 541 |
| Table 75. | SBS internal input/output signals . . . . . | 541 |
| Table 76. | SBS boot control. . . . . | 543 |
| Table 77. | Analog switches recommended configuration . . . . . | 544 |
| Table 78. | SBS register map and reset values . . . . . | 559 |
| Table 79. | CRS features . . . . . | 561 |
| Table 80. | CRS internal input/output signals . . . . . | 562 |
| Table 81. | CRS interconnection. . . . . | 563 |
| Table 82. | Effect of low-power modes on CRS . . . . . | 566 |
| Table 83. | Interrupt control bits . . . . . | 566 |
| Table 84. | CRS register map and reset values . . . . . | 571 |
| Table 85. | Port bit configuration. . . . . | 574 |
| Table 86. | GPIO register map and reset values . . . . . | 590 |
| Table 87. | Peripheral interconnect matrix . . . . . | 592 |
| Table 88. | GPDMA1 channel implementation . . . . . | 603 |
| Table 89. | GPDMA1 wake-up in low-power modes. . . . . | 604 |
| Table 90. | Programmed GPDMA1 request . . . . . | 604 |
| Table 91. | Programmed GPDMA1 request as a block request . . . . . | 607 |
| Table 92. | GPDMA1 channel with peripheral early termination. . . . . | 607 |
| Table 93. | Programmed GPDMA1 request with peripheral early termination . . . . . | 608 |
| Table 94. | Programmed GPDMA1 trigger . . . . . | 608 |
| Table 95. | Programmed GPDMA source/destination burst . . . . . | 629 |
| Table 96. | Programmed data handling . . . . . | 634 |
| Table 97. | Effect of low-power modes on GPDMA . . . . . | 646 |
| Table 98. | GPDMA interrupt requests . . . . . | 647 |
| Table 99. | GPDMA register map and reset values . . . . . | 673 |
| Table 100. | Implementation of HPDMA1 channels . . . . . | 676 |
| Table 101. | HPDMA1 in low-power modes . . . . . | 677 |
| Table 102. | Programmed HPDMA1 request . . . . . | 677 |
| Table 103. | Programmed HPDMA1 request as a block request . . . . . | 678 |
| Table 104. | HPDMA1 channel with peripheral early termination . . . . . | 678 |
| Table 105. | Programmed HPDMA request with peripheral early termination . . . . . | 678 |
| Table 106. | Programmed HPDMA1 trigger . . . . . | 678 |
| Table 107. | Programmed HPDMA source/destination burst . . . . . | 700 |
| Table 108. | Programmed data handling . . . . . | 705 |
| Table 109. | Effect of low-power modes on HPDMA . . . . . | 726 |
| Table 110. | HPDMA interrupt requests . . . . . | 727 |
| Table 111. | HPDMA register map and reset values . . . . . | 754 |
| Table 112. | GFXMMU internal input/output signals . . . . . | 757 |
| Table 113. | GFXMMU interrupt requests . . . . . | 763 |
| Table 114. | GFXMMU register map and reset values . . . . . | 769 |
| Table 115. | DMA2D internal signals . . . . . | 773 |
| Table 116. | DMA2D trigger interconnections . . . . . | 773 |
| Table 117. | Supported color mode in input . . . . . | 774 |
| Table 118. | Data order in memory . . . . . | 775 |
| Table 119. | Alpha mode configuration . . . . . | 776 |
| Table 120. | Supported CLUT color mode . . . . . | 777 |
| Table 121. | CLUT data order in memory . . . . . | 777 |
| Table 122. | Supported color mode in output . . . . . | 778 |
| Table 123. | Data order in memory . . . . . | 779 |
| Table 124. | Standard data order in memory . . . . . | 779 |
| Table 125. | Output FIFO byte reordering steps . . . . . | 780 |
| Table 126. | MCU order in memory . . . . . | 785 |
| Table 127. | DMA2D interrupt requests . . . . . | 786 |
| Table 128. | DMA2D register map and reset values . . . . . | 804 |
| Table 129. | GPU2D internal input/output signals . . . . . | 807 |
| Table 130. | GPU2D trigger connections . . . . . | 808 |
| Table 131. | ICACHE features . . . . . | 810 |
| Table 132. | TAG memory dimensioning parameters for n-way set associative operating mode (default) . . . . . | 812 |
| Table 133. | TAG memory dimensioning parameters for direct-mapped cache mode . . . . . | 813 |
| Table 134. | ICACHE cacheability for AHB transaction . . . . . | 814 |
| Table 135. | ICACHE interrupts . . . . . | 817 |
| Table 136. | ICACHE register map and reset values . . . . . | 820 |
| Table 137. | GFXTIM input/output pins . . . . . | 823 |
| Table 138. | GFXTIM internal signals . . . . . | 823 |
| Table 139. | GFXTIM trigger interconnections . . . . . | 824 |
| Table 140. | Graphic timer interrupt requests . . . . . | 834 |
| Table 141. | GFXTIM register map and reset values . . . . . | 855 |
| Table 142. | NVIC . . . . . | 859 |
| Table 143. | EXTI event input configurations and register control . . . . . | 868 |
| Table 144. | EXTI event input mapping . . . . . | 871 |
| Table 145. | Masking functionality . . . . . | 873 |
| Table 146. | Extended interrupt and event controller register map and reset values . . . . . | 884 |
| Table 147. | CRC internal input/output signals . . . . . | 887 |
| Table 148. | CRC register map and reset values . . . . . | 892 |
| Table 149. | CORDIC functions . . . . . | 894 |
| Table 150. | Cosine parameters . . . . . | 894 |
| Table 151. | Sine parameters . . . . . | 895 |
| Table 152. | Phase parameters . . . . . | 895 |
| Table 153. | Modulus parameters . . . . . | 896 |
| Table 154. | Arctangent parameters . . . . . | 897 |
| Table 155. | Hyperbolic cosine parameters . . . . . | 897 |
| Table 156. | Hyperbolic sine parameters . . . . . | 898 |
| Table 157. | Hyperbolic arctangent parameters . . . . . | 898 |
| Table 158. | Natural logarithm parameters . . . . . | 899 |
| Table 159. | Natural log scaling factors and corresponding ranges . . . . . | 899 |
| Table 160. | Square root parameters . . . . . | 900 |
| Table 161. | Square root scaling factors and corresponding ranges . . . . . | 900 |
| Table 162. | Precision vs. number of iterations. . . . . | 903 |
| Table 163. | CORDIC register map and reset value . . . . . | 910 |
| Table 164. | FMC pins . . . . . | 914 |
| Table 165. | FMC bank mapping options . . . . . | 917 |
| Table 166. | NOR/PSRAM bank selection . . . . . | 917 |
| Table 167. | NOR/PSRAM External memory address . . . . . | 917 |
| Table 168. | NAND memory mapping and timing registers. . . . . | 918 |
| Table 169. | NAND bank selection . . . . . | 918 |
| Table 170. | SDRAM bank selection. . . . . | 918 |
| Table 171. | SDRAM address mapping . . . . . | 919 |
| Table 172. | SDRAM address mapping with 8-bit data bus width. . . . . | 919 |
| Table 173. | SDRAM address mapping with 16-bit data bus width. . . . . | 920 |
| Table 174. | SDRAM address mapping with 32-bit data bus width. . . . . | 921 |
| Table 175. | Programmable NOR/PSRAM access parameters . . . . . | 923 |
| Table 176. | Non-multiplexed I/O NOR flash memory. . . . . | 923 |
| Table 177. | 16-bit multiplexed I/O NOR flash memory . . . . . | 924 |
| Table 178. | Non-multiplexed I/Os PSRAM/SRAM . . . . . | 924 |
| Table 179. | 16-Bit multiplexed I/O PSRAM . . . . . | 924 |
| Table 180. | NOR flash/PSRAM: Example of supported memories and transactions . . . . . | 925 |
| Table 181. | FMC_BCRx bitfields (mode 1) . . . . . | 928 |
| Table 182. | FMC_BTRx bitfields (mode 1) . . . . . | 929 |
| Table 183. | FMC_BCRx bitfields (mode A) . . . . . | 931 |
| Table 184. | FMC_BTRx bitfields (mode A) . . . . . | 932 |
| Table 185. | FMC_BWTRx bitfields (mode A). . . . . | 932 |
| Table 186. | FMC_BCRx bitfields (mode 2/B). . . . . | 934 |
| Table 187. | FMC_BTRx bitfields (mode 2/B). . . . . | 935 |
| Table 188. | FMC_BWTRx bitfields (mode 2/B) . . . . . | 935 |
| Table 189. | FMC_BCRx bitfields (mode C) . . . . . | 937 |
| Table 190. | FMC_BTRx bitfields (mode C) . . . . . | 938 |
| Table 191. | FMC_BWTRx bitfields (mode C). . . . . | 938 |
| Table 192. | FMC_BCRx bitfields (mode D) . . . . . | 940 |
| Table 193. | FMC_BTRx bitfields (mode D) . . . . . | 940 |
| Table 194. | FMC_BWTRx bitfields (mode D). . . . . | 941 |
| Table 195. | FMC_BCRx bitfields (Muxed mode) . . . . . | 943 |
| Table 196. | FMC_BTRx bitfields (Muxed mode) . . . . . | 943 |
| Table 197. | FMC_BCRx bitfields (Synchronous multiplexed read mode) . . . . . | 949 |
| Table 198. | FMC_BTRx bitfields (Synchronous multiplexed read mode) . . . . . | 949 |
| Table 199. | FMC_BCRx bitfields (Synchronous multiplexed write mode) . . . . . | 950 |
| Table 200. | FMC_BTRx bitfields (Synchronous multiplexed write mode) . . . . . | 951 |
| Table 201. | Programmable NAND flash access parameters . . . . . | 961 |
| Table 202. | 8-bit NAND flash memory . . . . . | 961 |
| Table 203. | 16-bit NAND flash memory . . . . . | 962 |
| Table 204. | Supported memories and transactions . . . . . | 962 |
| Table 205. | ECC result relevant bits . . . . . | 972 |
| Table 206. | SDRAM signals . . . . . | 973 |
| Table 207. | FMC register map . . . . . | 990 |
| Table 208. | XSPI implementation . . . . . | 994 |
| Table 209. | XSPI input/output pins . . . . . | 999 |
| Table 210. | XSPI internal signals . . . . . | 999 |
| Table 211. | Command/address phase description . . . . . | 1010 |
| Table 212. | OctaRAM command address bit assignment (based on 64 Mb OctaRAM) . . . . . | 1022 |
| Table 213. | Address alignment cases . . . . . | 1030 |
| Table 214. | XSPI interrupt requests . . . . . | 1031 |
| Table 215. | XSPI register map and reset values . . . . . | 1057 |
| Table 216. | XSPIM implementation . . . . . | 1061 |
| Table 217. | XSPIM input/output pins . . . . . | 1062 |
| Table 218. | Use cases . . . . . | 1063 |
| Table 219. | XSPIM register map and reset values . . . . . | 1071 |
| Table 220. | DLYB internal input/output signals . . . . . | 1073 |
| Table 221. | DLYB interconnection . . . . . | 1073 |
| Table 222. | Delay block control . . . . . | 1073 |
| Table 223. | DLYB register map and reset values . . . . . | 1076 |
| Table 224. | ADC features . . . . . | 1079 |
| Table 225. | Memory location of the temperature sensor calibration values . . . . . | 1079 |
| Table 226. | Memory location of the internal reference voltage sensor calibration value . . . . . | 1079 |
| Table 227. | ADC input/output pins . . . . . | 1081 |
| Table 228. | ADC internal input/output signals . . . . . | 1081 |
| Table 229. | ADC interconnection . . . . . | 1081 |
| Table 230. | Configuring the trigger polarity for regular external triggers . . . . . | 1101 |
| Table 231. | Configuring the trigger polarity for injected external triggers . . . . . | 1102 |
| Table 232. | TSAR timings depending on resolution . . . . . | 1114 |
| Table 233. | Offset computation versus data resolution . . . . . | 1117 |
| Table 234. | Analog watchdog channel selection . . . . . | 1129 |
| Table 235. | Analog watchdog 1 comparison . . . . . | 1130 |
| Table 236. | Analog watchdog 2 and 3 comparison . . . . . | 1130 |
| Table 237. | Maximum output results versus N and M (gray cells indicate truncation) . . . . . | 1134 |
| Table 238. | Oversampler operating modes summary . . . . . | 1139 |
| Table 239. | Effect of low-power modes on the ADC . . . . . | 1158 |
| Table 240. | ADC interrupts . . . . . | 1159 |
| Table 241. | DELAY bits versus ADC resolution . . . . . | 1194 |
| Table 242. | ADC global register map . . . . . | 1196 |
| Table 243. | ADC register map and reset values for each ADC (offset = 0x000 for master ADC, 0x100 for slave ADC) . . . . . | 1196 |
| Table 244. | ADC register map and reset values (master and slave ADC common registers) . . . . . | 1198 |
| Table 245. | DTS internal input/output signals . . . . . | 1201 |
| Table 246. | Sampling time configuration . . . . . | 1204 |
| Table 247. | Trigger configuration . . . . . | 1205 |
| Table 248. | Temperature sensor behavior in low-power modes . . . . . | 1207 |
| Table 249. | Interrupt control bits . . . . . | 1208 |
| Table 250. | DTS register map and reset values . . . . . | 1216 |
| Table 251. | VREFBUF typical values . . . . . | 1218 |
| Table 252. | VREF buffer modes . . . . . | 1219 |
| Table 253. | VREFBUF register map and reset values. . . . . | 1221 |
| Table 254. | ADF features . . . . . | 1223 |
| Table 255. | ADF external pins . . . . . | 1224 |
| Table 256. | ADF internal signals . . . . . | 1224 |
| Table 257. | ADF trigger connections . . . . . | 1225 |
| Table 258. | Control of the common clock generation . . . . . | 1231 |
| Table 259. | Clock constraints with respect to the incoming stream. . . . . | 1232 |
| Table 260. | Data size according to CIC order and CIC decimation values . . . . . | 1237 |
| Table 261. | Possible gain values . . . . . | 1238 |
| Table 262. | Recommended maximum gain values versus CIC decimation ratios . . . . . | 1240 |
| Table 263. | Most common microphone settings . . . . . | 1241 |
| Table 264. | HPF 3 dB cut-off frequency examples . . . . . | 1243 |
| Table 265. | ANSLP values versus FRSIZE and sampling rates . . . . . | 1256 |
| Table 266. | Threshold values according SNTHR . . . . . | 1257 |
| Table 267. | Register protection summary . . . . . | 1263 |
| Table 268. | Effect of low-power modes on ADF . . . . . | 1264 |
| Table 269. | ADF interrupt requests . . . . . | 1265 |
| Table 270. | Examples of ADF settings for microphone capture . . . . . | 1266 |
| Table 271. | Programming sequence (CIC4) . . . . . | 1267 |
| Table 272. | Programming sequence (CIC5) . . . . . | 1268 |
| Table 273. | Output signal levels . . . . . | 1273 |
| Table 274. | ADF register map and reset values . . . . . | 1293 |
| Table 275. | Available pipeline . . . . . | 1296 |
| Table 276. | Glossary . . . . . | 1297 |
| Table 277. | DCMIPP input/output pads . . . . . | 1299 |
| Table 278. | DCMIPP input/output pins . . . . . | 1300 |
| Table 279. | DCMIPP clocks. . . . . | 1300 |
| Table 280. | DCMIPP resets. . . . . | 1300 |
| Table 281. | Parallel interface maximum resolution (80 MHz) . . . . . | 1301 |
| Table 282. | Supported pixel formats . . . . . | 1302 |
| Table 283. | DCMIPP_CMCR bit function. . . . . | 1303 |
| Table 284. | DCMIPP_PRCR bit function . . . . . | 1306 |
| Table 285. | DCMIPP_PRESR and DCMIPP_PRESUR bit function . . . . . | 1307 |
| Table 286. | DCMIPP_PxFCTCR bit function . . . . . | 1309 |
| Table 287. | DCMIPP_P0PPCR bit function . . . . . | 1313 |
| Table 288. | DCMIPP_P0DCCNTR and DCMIPP_P0DCLMTR bit function. . . . . | 1315 |
| Table 289. | DCMIPP_PxPPCR bit function . . . . . | 1316 |
| Table 290. | Parallel interface input pixel formats. . . . . | 1317 |
| Table 291. | Correspondence between index and DCMIPP_PRCR register values. . . . . | 1318 |
| Table 292. | Parallel interface input pixel formats. . . . . | 1319 |
| Table 293. | Dump pipe OUTPUT pixel formats . . . . . | 1319 |
| Table 294. | Shadow and physical registers . . . . . | 1322 |
| Table 295. | DCMIPP low power modes. . . . . | 1323 |
| Table 296. | DCMIPP interrupts . . . . . | 1326 |
| Table 297. | Event connection . . . . . | 1326 |
| Table 298. | DCMIPP registers organization . . . . . | 1327 |
| Table 299. | DCMIPP register map and reset values . . . . . | 1354 |
| Table 300. | PSSI input/output pins . . . . . | 1358 |
| Table 301. | PSSI internal input/output signals. . . . . | 1359 |
| Table 302. | Positioning of captured data bytes in 32-bit words (8-bit width) . . . . . | 1360 |
| Table 303. | Positioning of captured data bytes in 32-bit words (16-bit width) . . . . . | 1361 |
| Table 304. | PSSI interrupt requests. . . . . | 1364 |
| Table 305. | PSSI register map and reset values . . . . . | 1370 |
| Table 306. | LTDC external pins . . . . . | 1372 |
| Table 307. | LTDC internal signals . . . . . | 1373 |
| Table 308. | LTDC trigger interconnection . . . . . | 1373 |
| Table 309. | Clock domain for each register . . . . . | 1373 |
| Table 310. | LTDC register access and update durations . . . . . | 1374 |
| Table 311. | Pixel data mapping versus color format . . . . . | 1378 |
| Table 312. | LTDC interrupt requests . . . . . | 1382 |
| Table 313. | LTDC register map and reset values . . . . . | 1399 |
| Table 314. | JPEG internal signals . . . . . | 1403 |
| Table 315. | JPEG trigger connections . . . . . | 1404 |
| Table 316. | JPEG codec interrupt requests . . . . . | 1409 |
| Table 317. | JPEG codec register map and reset values . . . . . | 1422 |
| Table 318. | RNG internal input/output signals . . . . . | 1425 |
| Table 319. | RNG interrupt requests . . . . . | 1433 |
| Table 320. | RNG initialization times. . . . . | 1434 |
| Table 321. | RNG configurations . . . . . | 1434 |
| Table 322. | Configuration selection . . . . . | 1435 |
| Table 323. | RNG register map and reset map. . . . . | 1440 |
| Table 324. | CRYP versus SAES features . . . . . | 1442 |
| Table 325. | SAES internal input/output signals . . . . . | 1443 |
| Table 326. | SAES approved symmetric key functions . . . . . | 1444 |
| Table 327. | Counter mode initialization vector definition . . . . . | 1454 |
| Table 328. | Initialization of IV registers in GCM mode. . . . . | 1457 |
| Table 329. | GCM last block definition . . . . . | 1457 |
| Table 330. | Initialization of IV registers in CCM mode. . . . . | 1463 |
| Table 331. | AES data swapping example . . . . . | 1472 |
| Table 332. | Key endianness in SAES_KEYRx registers (128/256-bit keys) . . . . . | 1474 |
| Table 333. | IVI bitfield spread over SAES_IVRx registers. . . . . | 1475 |
| Table 334. | SAES interrupt requests . . . . . | 1477 |
| Table 335. | Processing latency for ECB, CBC and CTR. . . . . | 1478 |
| Table 336. | Processing latency for GCM and CCM (in SAES kernel clock cycles) . . . . . | 1479 |
| Table 337. | SAES register map and reset values . . . . . | 1492 |
| Table 338. | CRYP versus SAES features. . . . . | 1496 |
| Table 339. | CRYP internal input/output signals . . . . . | 1498 |
| Table 340. | CRYP approved AES symmetric key functions . . . . . | 1498 |
| Table 341. | Counter mode initialization vector definition . . . . . | 1509 |
| Table 342. | GCM mode IVI registers initialization . . . . . | 1512 |
| Table 343. | GCM last block definition . . . . . | 1512 |
| Table 344. | CCM mode IVI registers initialization . . . . . | 1519 |
| Table 345. | AES data swapping example . . . . . | 1524 |
| Table 346. | Key endianness in CRYP_KxR/LR registers (128/192/256-bit keys) . . . . . | 1526 |
| Table 347. | Initialization vector endianness in CRYP_IVxR registers (AES). . . . . | 1526 |
| Table 348. | CRYP interrupt requests. . . . . | 1528 |
| Table 349. | Processing latency for ECB, CBC and CTR. . . . . | 1529 |
| Table 350. | Processing latency for GCM and CCM (in clock cycles). . . . . | 1530 |
| Table 351. | CRYP register map and reset values . . . . . | 1543 |
| Table 352. | HASH internal input/output signals . . . . . | 1546 |
| Table 353. | Information on supported hash algorithms . . . . . | 1547 |
| Table 354. | Hash processor outputs . . . . . | 1550 |
| Table 355. | Processing time (in clock cycle) . . . . . | 1556 |
| Table 356. | HASH interrupt requests . . . . . | 1557 |
| Table 357. | HASH1 register map and reset values . . . . . | 1565 |
| Table 358. | MCE implementation . . . . . | 1568 |
| Table 359. | MCE internal input/output signals . . . . . | 1569 |
| Table 360. | MCE block cipher latencies . . . . . | 1573 |
| Table 361. | MCE stream cipher latencies . . . . . | 1574 |
| Table 362. | MCE interrupt requests . . . . . | 1575 |
| Table 363. | MCE register map and reset values . . . . . | 1589 |
| Table 364. | Internal input/output signals . . . . . | 1592 |
| Table 365. | PKA integer arithmetic functions list . . . . . | 1593 |
| Table 366. | PKA prime field (Fp) elliptic curve functions list . . . . . | 1594 |
| Table 367. | Example of 'a' curve coefficient for ECC Fp scalar . . . . . | 1600 |
| Table 368. | Montgomery parameter computation . . . . . | 1600 |
| Table 369. | Modular addition . . . . . | 1601 |
| Table 370. | Modular subtraction . . . . . | 1601 |
| Table 371. | Montgomery multiplication . . . . . | 1602 |
| Table 372. | Modular exponentiation (normal mode) . . . . . | 1603 |
| Table 373. | Modular exponentiation (fast mode) . . . . . | 1603 |
| Table 374. | Modular exponentiation (protected mode) . . . . . | 1604 |
| Table 375. | Modular inversion . . . . . | 1604 |
| Table 376. | Modular reduction . . . . . | 1605 |
| Table 377. | Arithmetic addition . . . . . | 1605 |
| Table 378. | Arithmetic subtraction . . . . . | 1605 |
| Table 379. | Arithmetic multiplication . . . . . | 1606 |
| Table 380. | Arithmetic comparison . . . . . | 1606 |
| Table 381. | CRT exponentiation . . . . . | 1607 |
| Table 382. | Point on elliptic curve Fp check . . . . . | 1608 |
| Table 383. | ECC Fp scalar multiplication . . . . . | 1608 |
| Table 384. | ECDSA sign - Inputs . . . . . | 1610 |
| Table 385. | ECDSA sign - Outputs . . . . . | 1610 |
| Table 386. | Extended ECDSA sign - additional outputs . . . . . | 1611 |
| Table 387. | ECDSA verification - inputs . . . . . | 1611 |
| Table 388. | ECDSA verification - outputs . . . . . | 1612 |
| Table 389. | ECC complete addition . . . . . | 1612 |
| Table 390. | ECC double base ladder . . . . . | 1613 |
| Table 391. | ECC projective to affine . . . . . | 1614 |
| Table 392. | Family of supported curves for ECC operations . . . . . | 1615 |
| Table 393. | Modular exponentiation . . . . . | 1616 |
| Table 394. | ECC scalar multiplication . . . . . | 1616 |
| Table 395. | ECDSA signature average computation time . . . . . | 1617 |
| Table 396. | ECDSA verification average computation times . . . . . | 1617 |
| Table 397. | ECC double base ladder average computation times . . . . . | 1617 |
| Table 398. | ECC projective to affine average computation times . . . . . | 1617 |
| Table 399. | ECC complete addition average computation times . . . . . | 1617 |
| Table 400. | Point on elliptic curve Fp check average computation times . . . . . | 1617 |
| Table 401. | Montgomery parameters average computation times . . . . . | 1618 |
| Table 402. | PKA interrupt requests . . . . . | 1618 |
| Table 403. | PKA register map and reset values . . . . . | 1623 |
| Table 404. | TIM input/output pins . . . . . | 1627 |
| Table 405. | TIM internal input/output signals . . . . . | 1627 |
| Table 406. | Interconnect to the tim_ti1 input multiplexer . . . . . | 1628 |
| Table 407. | Interconnect to the tim_ti2 input multiplexer . . . . . | 1628 |
| Table 408. | Interconnect to the tim_ti3 input multiplexer . . . . . | 1629 |
| Table 409. | Interconnect to the tim_ti4 input multiplexer . . . . . | 1629 |
| Table 410. | Internal trigger connection . . . . . | 1629 |
| Table 411. | Interconnect to the tim_etr input multiplexer . . . . . | 1629 |
| Table 412. | Timer break interconnect . . . . . | 1630 |
| Table 413. | Timer break2 interconnect . . . . . | 1630 |
| Table 414. | System break interconnect . . . . . | 1630 |
| Table 415. | CCR and ARR register change dithering pattern . . . . . | 1663 |
| Table 416. | CCR register change dithering pattern in center-aligned PWM mode . . . . . | 1664 |
| Table 417. | Behavior of timer outputs versus tim_brk/tim_brk2 inputs . . . . . | 1676 |
| Table 418. | Break protection disarming conditions . . . . . | 1678 |
| Table 419. | Counting direction versus encoder signals (CC1P = CC2P = 0) . . . . . | 1686 |
| Table 420. | Counting direction versus encoder signals and polarity settings . . . . . | 1690 |
| Table 421. | DMA request . . . . . | 1711 |
| Table 422. | Effect of low-power modes on TIM1 . . . . . | 1712 |
| Table 423. | Interrupt requests . . . . . | 1712 |
| Table 424. | Output control bits for complementary tim_ocx and tim_ocxn channels with break feature . . . . . | 1739 |
| Table 425. | TIM1 register map and reset values . . . . . | 1762 |
| Table 426. | STM32H7Rx/7Sx general purpose timers . . . . . | 1766 |
| Table 427. | TIM input/output pins . . . . . | 1768 |
| Table 428. | TIM internal input/output signals . . . . . | 1768 |
| Table 429. | Interconnect to the tim_ti1 input multiplexer . . . . . | 1769 |
| Table 430. | Interconnect to the tim_ti2 input multiplexer . . . . . | 1769 |
| Table 431. | Interconnect to the tim_ti3 input multiplexer . . . . . | 1769 |
| Table 432. | Interconnect to the tim_ti4 input multiplexer . . . . . | 1770 |
| Table 433. | TIMx internal trigger connection . . . . . | 1770 |
| Table 434. | Interconnect to the tim_etr input multiplexer . . . . . | 1770 |
| Table 435. | CCR and ARR register change dithering pattern . . . . . | 1802 |
| Table 436. | CCR register change dithering pattern in center-aligned PWM mode . . . . . | 1803 |
| Table 437. | Counting direction versus encoder signals(CC1P = CC2P = 0) . . . . . | 1812 |
| Table 438. | Counting direction versus encoder signals and polarity settings . . . . . | 1817 |
| Table 439. | DMA request . . . . . | 1841 |
| Table 440. | Effect of low-power modes on TIM2/TIM3/TIM4/TIM5 . . . . . | 1841 |
| Table 441. | Interrupt requests . . . . . | 1842 |
| Table 442. | Output control bit for standard tim_ocx channels . . . . . | 1863 |
| Table 443. | TIM2/TIM3/TIM4/TIM5 register map and reset values . . . . . | 1875 |
| Table 444. | TIM internal input/output signals . . . . . | 1879 |
| Table 445. | TIMx_ARR register change dithering pattern . . . . . | 1888 |
| Table 446. | DMA request . . . . . | 1889 |
| Table 447. | Effect of low-power modes on TIM6/TIM7 . . . . . | 1889 |
| Table 448. | Interrupt request . . . . . | 1889 |
| Table 449. | TIMx register map and reset values . . . . . | 1895 |
| Table 450. | TIM input/output pins . . . . . | 1899 |
| Table 451. | TIM internal input/output signals . . . . . | 1899 |
| Table 452. | Interconnect to the tim_ti1 input multiplexer . . . . . | 1900 |
| Table 453. | Interconnect to the tim_ti2 input multiplexer . . . . . | 1900 |
| Table 454. | TIMx internal trigger connection . . . . . | 1900 |
| Table 455. | CCR and ARR register change dithering pattern . . . . . | 1918 |
| Table 456. | Effect of low-power modes on TIM9/TIM12/TIM13/TIM14 . . . . . | 1927 |
| Table 457. | Interrupt requests . . . . . | 1927 |
| Table 458. | Output control bit for standard tim_ocx channels . . . . . | 1939 |
| Table 459. | TIMx register map and reset values (x = 9, 12) . . . . . | 1943 |
| Table 460. | Output control bit for standard tim_ocx channels . . . . . | 1952 |
| Table 461. | TIM13/TIM14 register map and reset values . . . . . | 1955 |
| Table 462. | TIM input/output pins . . . . . | 1960 |
| Table 463. | TIM internal input/output signals . . . . . | 1961 |
| Table 464. | Interconnect to the tim_ti1 input multiplexer . . . . . | 1961 |
| Table 465. | Interconnect to the tim_ti2 input multiplexer . . . . . | 1962 |
| Table 466. | TIMx internal trigger connection . . . . . | 1962 |
| Table 467. | Timer break interconnect . . . . . | 1963 |
| Table 468. | System break interconnect . . . . . | 1963 |
| Table 469. | CCR and ARR register change dithering pattern . . . . . | 1983 |
| Table 470. | Break protection disarming conditions . . . . . | 1992 |
| Table 471. | DMA request . . . . . | 2003 |
| Table 472. | Effect of low-power modes on TIM15/TIM16/TIM17 . . . . . | 2004 |
| Table 473. | Interrupt requests . . . . . | 2004 |
| Table 474. | Output control bits for complementary tim_ocx and tim_ocxn channels with break feature (TIM15). . . . . | 2020 |
| Table 475. | TIM15 register map and reset values . . . . . | 2033 |
| Table 476. | Output control bits for complementary tim_oc1 and tim_oc1n channels with break feature (TIM16/TIM17) . . . . . | 2046 |
| Table 477. | TIM16/TIM17 register map and reset values . . . . . | 2060 |
| Table 478. | STM32H7Rx/7Sx LPTIM features . . . . . | 2063 |
| Table 479. | LPTIM1/2/3 input/output pins . . . . . | 2065 |
| Table 480. | LPTIM4/5 input/output pins . . . . . | 2065 |
| Table 481. | LPTIM1/2/3 internal signals . . . . . | 2066 |
| Table 482. | LPTIM4/5 internal signals . . . . . | 2066 |
| Table 483. | LPTIM1/2/3/4/5 external trigger connections . . . . . | 2067 |
| Table 484. | LPTIM1/2/3 input 1 connections . . . . . | 2067 |
| Table 485. | LPTIM1/2/3 input 2 connections . . . . . | 2067 |
| Table 486. | LPTIM1/2/3 input capture 1 connections . . . . . | 2067 |
| Table 487. | LPTIM1 input capture 2 connections . . . . . | 2068 |
| Table 488. | LPTIM2 input capture 2 connections . . . . . | 2068 |
| Table 489. | LPTIM3 input capture 2 connections . . . . . | 2068 |
| Table 490. | Prescaler division ratios . . . . . | 2070 |
| Table 491. | Encoder counting scenarios . . . . . | 2077 |
| Table 492. | Input capture Glitch filter latency (in counter step unit). . . . . | 2081 |
| Table 493. | Interrupt events . . . . . | 2086 |
| Table 494. | LPTIM register map and reset values . . . . . | 2110 |
| Table 495. | WWDG features . . . . . | 2113 |
| Table 496. | WWDG internal input/output signals . . . . . | 2114 |
| Table 497. | WWDG register map and reset values . . . . . | 2119 |
| Table 498. | IWDG features . . . . . | 2120 |
| Table 499. | IWDG delays versus actions . . . . . | 2121 |
| Table 500. | IWDG internal input/output signals . . . . . | 2122 |
| Table 501. | Effect of low power modes on IWDG . . . . . | 2127 |
| Table 502. | IWDG interrupt request . . . . . | 2129 |
| Table 503. | IWDG register map and reset values . . . . . | 2135 |
| Table 504. | RTC input/output pins . . . . . | 2138 |
| Table 505. | RTC internal input/output signals . . . . . | 2138 |
| Table 506. | RTC interconnection . . . . . | 2139 |
| Table 507. | RTC pin PC13 configuration . . . . . | 2139 |
| Table 508. | RTC_OUT mapping . . . . . | 2142 |
| Table 509. | Effect of low-power modes on RTC . . . . . | 2156 |
| Table 510. | RTC pins functionality over modes . . . . . | 2156 |
| Table 511. | Interrupt requests . . . . . | 2157 |
| Table 512. | RTC register map and reset values . . . . . | 2183 |
| Table 513. | TAMP input/output pins . . . . . | 2187 |
| Table 514. | TAMP internal input/output signals . . . . . | 2187 |
| Table 515. | TAMP interconnection . . . . . | 2188 |
| Table 516. | Device resource x tamper protection . . . . . | 2193 |
| Table 517. | Active tamper output change period . . . . . | 2196 |
| Table 518. | Minimum ATPER value . . . . . | 2197 |
| Table 519. | Active tamper filtered pulse duration . . . . . | 2198 |
| Table 520. | Effect of low-power modes on TAMP . . . . . | 2199 |
| Table 521. | TAMP pins functionality over modes . . . . . | 2200 |
| Table 522. | Interrupt requests . . . . . | 2200 |
| Table 523. | TAMP register map and reset values . . . . . | 2226 |
| Table 524. | I 2 C implementation . . . . . | 2229 |
| Table 525. | I 2 C input/output pins . . . . . | 2230 |
| Table 526. | I 2 C internal input/output signals . . . . . | 2231 |
| Table 527. | Comparison of analog and digital filters . . . . . | 2233 |
| Table 528. | I 2 C-bus and SMBus specification data setup and hold times . . . . . | 2235 |
| Table 529. | I 2 C configuration . . . . . | 2239 |
| Table 530. | I 2 C-bus and SMBus specification clock timings . . . . . | 2250 |
| Table 531. | Timing settings for f I2CCLK of 8 MHz . . . . . | 2260 |
| Table 532. | Timing settings for f I2CCLK of 16 MHz . . . . . | 2260 |
| Table 533. | SMBus timeout specifications . . . . . | 2262 |
| Table 534. | SMBus with PEC configuration . . . . . | 2264 |
| Table 535. | TIMEOUTA[11:0] for maximum t TIMEOUT of 25 ms . . . . . | 2265 |
| Table 536. | TIMEOUTB[11:0] for maximum t LOW:SEXT and t LOW:MEXT of 8 ms . . . . . | 2265 |
| Table 537. | TIMEOUTA[11:0] for maximum t IDLE of 50 µs . . . . . | 2265 |
| Table 538. | Effect of low-power modes to I 2 C . . . . . | 2275 |
| Table 539. | I 2 C interrupt requests . . . . . | 2275 |
| Table 540. | I 2 C register map and reset values . . . . . | 2291 |
| Table 541. | I 3 C instantiation . . . . . | 2294 |
| Table 542. | I 3 C wake-up . . . . . | 2294 |
| Table 543. | I 3 C FIFOs implementation . . . . . | 2294 |
| Table 544. | I 3 C interrupt(s) . . . . . | 2294 |
| Table 545. | I 3 C peripheral controller/target features versus MIPI v1.1 . . . . . | 2295 |
| Table 546. | I 3 C input/output pins . . . . . | 2296 |
| Table 547. | I 3 C internal input/output signals . . . . . | 2296 |
| Table 548. | I 3 C register usage . . . . . | 2308 |
| Table 549. | I 3 C registers/fields usage versus controller state . . . . . | 2309 |
| Table 550. | I 3 C registers/fields usage versus target state . . . . . | 2312 |
| Table 551. | List of supported I 3 C CCCs, as controller/target . . . . . | 2315 |
| Table 552. | I 3 C controller error management . . . . . | 2346 |
| Table 553. | I 3 C target error management . . . . . | 2348 |
| Table 554. | Effect of low-power modes . . . . . | 2352 |
| Table 555. | I 3 C interrupt requests . . . . . | 2353 |
| Table 556. | I 3 C register map and reset values . . . . . | 2398 |
| Table 557. | Instance implementation on STM32H7Rx/7Sx . . . . . | 2402 |
| Table 558. | USART/LPUART features . . . . . | 2402 |
| Table 559. | USART/UART input/output pins . . . . . | 2405 |
| Table 560. | USART internal input/output signals . . . . . | 2406 |
| Table 561. | Noise detection from sampled data . . . . . | 2418 |
| Table 562. | Tolerance of the USART receiver when BRR [3:0] = 0000. . . . . | 2422 |
| Table 563. | Tolerance of the USART receiver when BRR[3:0] is different from 0000. . . . . | 2422 |
| Table 564. | USART frame formats . . . . . | 2427 |
| Table 565. | Effect of low-power modes on the USART . . . . . | 2450 |
| Table 566. | USART interrupt requests. . . . . | 2451 |
| Table 567. | USART register map and reset values . . . . . | 2489 |
| Table 568. | Instance implementation on STM32H7Rx/7Sx . . . . . | 2492 |
| Table 569. | USART/LPUART features . . . . . | 2492 |
| Table 570. | LPUART input/output pins . . . . . | 2495 |
| Table 571. | LPUART internal input/output signals. . . . . | 2495 |
| Table 572. | Error calculation for programmed baud rates at lpuart_ker_ck_pres= 32.768 kHz . . . . . | 2506 |
| Table 573. | Tolerance of the LPUART receiver. . . . . | 2507 |
| Table 575. | Effect of low-power modes on the LPUART . . . . . | 2519 |
| Table 576. | LPUART interrupt requests. . . . . | 2520 |
| Table 577. | LPUART register map and reset values . . . . . | 2546 |
| Table 578. | SPI features . . . . . | 2549 |
| Table 579. | SPI/I2S input/output pins . . . . . | 2552 |
| Table 580. | SPI internal input/output signals . . . . . | 2552 |
| Table 581. | Effect of low-power modes on the SPI . . . . . | 2579 |
| Table 582. | SPI wake-up and interrupt requests . . . . . | 2580 |
| Table 583. | Bitfields usable in PCM/I2S mode . . . . . | 2582 |
| Table 584. | WS and CK level before SPI/I2S is enabled when AFCNTR = 1 . . . . . | 2591 |
| Table 585. | Serial data line swapping . . . . . | 2591 |
| Table 586. | CLKGEN programming examples for usual I2S frequencies . . . . . | 2595 |
| Table 587. | I2S interrupt requests . . . . . | 2604 |
| Table 588. | SPI register map and reset values . . . . . | 2622 |
| Table 589. | STM32H7Rx/7Sx SAI features . . . . . | 2625 |
| Table 590. | SAI internal input/output signals . . . . . | 2627 |
| Table 591. | SAI input/output pins. . . . . | 2627 |
| Table 592. | External synchronization selection . . . . . | 2630 |
| Table 593. | MCLK_x activation conditions. . . . . | 2635 |
| Table 594. | Clock generator programming examples . . . . . | 2638 |
| Table 595. | SAI_A configuration for TDM mode . . . . . | 2645 |
| Table 596. | TDM frame configuration examples . . . . . | 2647 |
| Table 597. | SOPD pattern . . . . . | 2651 |
| Table 598. | Parity bit calculation . . . . . | 2651 |
| Table 599. | Audio sampling frequency versus symbol rates . . . . . | 2652 |
| Table 600. | SAI interrupt sources . . . . . | 2661 |
| Table 601. | SAI register map and reset values . . . . . | 2690 |
| Table 602. | SPDIFRX internal input/output signals . . . . . | 2693 |
| Table 603. | SPDIFRX pins. . . . . | 2693 |
| Table 604. | Transition sequence for preamble . . . . . | 2699 |
| Table 605. | Minimum spdifrx_ker_ck frequency versus audio sampling rate . . . . . | 2709 |
| Table 606. | Conditions of spdifrx_symb_ck generation. . . . . | 2710 |
| Table 607. | Bit field property versus SPDIFRX state. . . . . | 2713 |
| Table 608. | SPDIFRX interface register map and reset values . . . . . | 2725 |
| Table 609. | MDIOS input/output signals connected to package pins or balls . . . . . | 2727 |
| Table 610. | MDIOS internal input/output signals . . . . . | 2727 |
| Table 611. | Interrupt control bits . . . . . | 2732 |
| Table 612. | MDIOS register map and reset values . . . . . | 2737 |
| Table 613. | SDMMC features . . . . . | 2739 |
| Table 614. | SDMMC operation modes SD and SDIO . . . . . | 2742 |
| Table 615. | SDMMC operation modes e•MMC . . . . . | 2742 |
| Table 616. | SDMMC internal input/output signals . . . . . | 2743 |
| Table 617. | SDMMC pins . . . . . | 2744 |
| Table 618. | SDMMC Command and data phase selection . . . . . | 2745 |
| Table 619. | Command token format . . . . . | 2751 |
| Table 620. | Short response with CRC token format . . . . . | 2752 |
| Table 621. | Short response without CRC token format . . . . . | 2752 |
| Table 622. | Long response with CRC token format . . . . . | 2752 |
| Table 623. | Specific Commands overview . . . . . | 2753 |
| Table 624. | Command path status flags . . . . . | 2754 |
| Table 625. | Command path error handling . . . . . | 2754 |
| Table 626. | Data token format . . . . . | 2762 |
| Table 627. | Data path status flags and clear bits . . . . . | 2762 |
| Table 628. | Data path error handling . . . . . | 2764 |
| Table 629. | Data FIFO access . . . . . | 2765 |
| Table 630. | Transmit FIFO status flags . . . . . | 2766 |
| Table 631. | Receive FIFO status flags . . . . . | 2767 |
| Table 632. | AHB and SDMMC_CK clock frequency relation . . . . . | 2772 |
| Table 633. | SDIO special operation control . . . . . | 2772 |
| Table 634. | 4-bit mode Start, interrupt, and CRC-status Signaling detection . . . . . | 2776 |
| Table 635. | CMD12 use cases . . . . . | 2781 |
| Table 636. | SDMMC interrupts . . . . . | 2795 |
| Table 637. | Response type and SDMMC_RESPxR registers . . . . . | 2802 |
| Table 638. | SDMMC register map . . . . . | 2818 |
| Table 639. | CAN subsystem I/O signals . . . . . | 2825 |
| Table 640. | CAN subsystem I/O pins . . . . . | 2825 |
| Table 641. | DLC coding in FDCAN . . . . . | 2829 |
| Table 642. | Possible configurations for frame transmission . . . . . | 2843 |
| Table 643. | Rx FIFO element . . . . . | 2846 |
| Table 644. | Rx FIFO element description . . . . . | 2846 |
| Table 645. | Tx buffer and FIFO element . . . . . | 2848 |
| Table 646. | Tx buffer element description . . . . . | 2848 |
| Table 647. | Tx event FIFO element . . . . . | 2850 |
| Table 648. | Tx event FIFO element description . . . . . | 2850 |
| Table 649. | Standard message ID filter element . . . . . | 2851 |
| Table 650. | Standard message ID filter element field description . . . . . | 2852 |
| Table 651. | Extended message ID filter element . . . . . | 2852 |
| Table 652. | Extended message ID filter element field description . . . . . | 2853 |
| Table 653. | FDCAN register map and reset values . . . . . | 2883 |
| Table 654. | OTG_FS speeds supported . . . . . | 2887 |
| Table 655. | OTG_FS implementation . . . . . | 2890 |
| Table 656. | OTG_FS input/output pins . . . . . | 2891 |
| Table 657. | OTG_FS input/output signals . . . . . | 2892 |
| Table 658. | Compatibility of STM32 low power modes with the OTG . . . . . | 2903 |
| Table 659. | Core global control and status registers (CSRs) . . . . . | 2911 |
| Table 660. | Host-mode control and status registers (CSRs) . . . . . | 2912 |
| Table 661. | Device-mode control and status registers . . . . . | 2913 |
| Table 662. | Data FIFO (DFIFO) access register map . . . . . | 2915 |
| Table 663. | Power and clock gating control and status registers . . . . . | 2915 |
| Table 664. | TRDT values . . . . . | 2921 |
| Table 665. | Minimum duration for soft disconnect . . . . . | 2962 |
| Table 666. | OTG_FS register map and reset values . . . . . | 2991 |
| Table 667. | OTG_HS speeds supported . . . . . | 3046 |
| Table 668. | OTG_HS implementation . . . . . | 3048 |
| Table 669. | OTG_HS input/output pins . . . . . | 3049 |
| Table 670. | OTG_HS input/output signals . . . . . | 3050 |
| Table 671. | Compatibility of STM32 low power modes with the OTG . . . . . | 3061 |
| Table 672. | Core global control and status registers (CSRs). . . . . | 3069 |
| Table 673. | Host-mode control and status registers (CSRs) . . . . . | 3070 |
| Table 674. | Device-mode control and status registers . . . . . | 3071 |
| Table 675. | Data FIFO (DFIFO) access register map . . . . . | 3073 |
| Table 676. | Power and clock gating control and status registers . . . . . | 3074 |
| Table 677. | TRDT values . . . . . | 3080 |
| Table 678. | Minimum duration for soft disconnect . . . . . | 3123 |
| Table 679. | OTG_HS register map and reset values . . . . . | 3149 |
| Table 680. | UCPD implementation . . . . . | 3215 |
| Table 681. | UCPD software trim data . . . . . | 3215 |
| Table 682. | UCPD signals on pins . . . . . | 3216 |
| Table 683. | UCPD internal signals . . . . . | 3217 |
| Table 684. | 4b5b symbol encoding table . . . . . | 3219 |
| Table 685. | Ordered sets . . . . . | 3220 |
| Table 686. | Validation of ordered sets . . . . . | 3220 |
| Table 687. | Data size . . . . . | 3221 |
| Table 688. | Coding for ANAMODE, ANASUBMODE and link with TYPEC_VSTATE_CCx . . . . . | 3229 |
| Table 689. | Type-C sequence (source: 3A); cable/sink connected (Rd on CC1; Ra on CC2) . . . . . | 3231 |
| Table 690. | Effect of low power modes on the UCPD . . . . . | 3233 |
| Table 691. | UCPD interrupt requests . . . . . | 3234 |
| Table 692. | UCPD register map and reset values . . . . . | 3250 |
| Table 693. | Ethernet peripheral pins . . . . . | 3257 |
| Table 694. | Ethernet internal input/output signals . . . . . | 3258 |
| Table 695. | Priority scheme for Tx DMA and Rx DMA . . . . . | 3267 |
| Table 696. | Double VLAN processing features in Tx path . . . . . | 3273 |
| Table 697. | Double VLAN processing in Rx path . . . . . | 3274 |
| Table 698. | VLAN insertion or replacement based on VLTi bit . . . . . | 3275 |
| Table 699. | Destination address filtering . . . . . | 3278 |
| Table 700. | Source address filtering . . . . . | 3279 |
| Table 701. | VLAN match status . . . . . | 3280 |
| Table 702. | Ordinary clock: PTP messages for snapshot . . . . . | 3284 |
| Table 703. | End-to-end transparent clock: PTP messages for snapshot . . . . . | 3285 |
| Table 704. | Peer-to-peer transparent clock: PTP messages for snapshot . . . . . | 3285 |
| Table 705. | Egress and ingress latency for PHY interfaces . . . . . | 3289 |
| Table 706. | Minimum PTP clock frequency example . . . . . | 3290 |
| Table 707. | Message format defined in IEEE 1588-2008 . . . . . | 3290 |
| Table 708. | Message format defined in IEEE 1588-2008 . . . . . | 3291 |
| Table 709. | IPv6-UDP PTP packet fields required for control and status . . . . . | 3292 |
| Table 710. | Ethernet PTP packet fields required for control and status . . . . . | 3293 |
| Table 711. | Timestamp Snapshot Dependency on ETH_MACTSCR bits . . . . . | 3295 |
| Table 712. | PTP message generation criteria . . . . . | 3301 |
| Table 713. | Common PTP message header fields . . . . . | 3303 |
| Table 714. | MAC Transmit PTP mode and one-step timestamping operation . . . . . | 3306 |
| Table 715. | Transmit checksum offload engine functions for different packet types . . . . . | 3310 |
| Table 716. | Receive checksum offload engine functions for different packet types . . . . . | 3313 |
| Table 717. | TSO: TCP and IP header fields . . . . . | 3317 |
| Table 718. | Pause packet fields. . . . . | 3322 |
| Table 719. | Tx MAC flow control . . . . . | 3323 |
| Table 720. | Rx MAC flow control . . . . . | 3323 |
| Table 721. | Size of the maximum receive packet . . . . . | 3326 |
| Table 722. | MCD clock selection . . . . . | 3328 |
| Table 723. | MDIO Clause 45 frame structure . . . . . | 3329 |
| Table 724. | MDIO Clause 22 frame structure . . . . . | 3330 |
| Table 725. | Remote wake-up packet filter register . . . . . | 3341 |
| Table 726. | Description of the remote wake-up filter fields . . . . . | 3341 |
| Table 727. | Remote wake-up packet and PMT interrupt generation . . . . . | 3343 |
| Table 728. | Transfer complete interrupt behavior . . . . . | 3351 |
| Table 729. | TDES0 normal descriptor (read format) . . . . . | 3373 |
| Table 730. | TDES1 normal descriptor (read format) . . . . . | 3374 |
| Table 731. | TDES2 normal descriptor (read format) . . . . . | 3374 |
| Table 732. | TDES3 normal descriptor (read format) . . . . . | 3375 |
| Table 733. | TDES0 normal descriptor (write-back format). . . . . | 3378 |
| Table 734. | TDES1 normal descriptor (write-back format). . . . . | 3378 |
| Table 735. | TDES2 normal descriptor (write-back format). . . . . | 3379 |
| Table 736. | TDES3 normal descriptor (write-back format). . . . . | 3379 |
| Table 737. | TDES0 context descriptor. . . . . | 3382 |
| Table 738. | TDES1 context descriptor. . . . . | 3382 |
| Table 739. | TDES2 context descriptor. . . . . | 3383 |
| Table 740. | TDES3 context descriptor. . . . . | 3383 |
| Table 741. | RDES0 normal descriptor (read format) . . . . . | 3386 |
| Table 742. | RDES1 normal descriptor (read format) . . . . . | 3386 |
| Table 743. | RDES2 normal descriptor (read format) . . . . . | 3386 |
| Table 744. | RDES3 normal descriptor (read format) . . . . . | 3386 |
| Table 745. | RDES0 normal descriptor (write-back format) . . . . . | 3388 |
| Table 746. | RDES1 normal descriptor (write-back format) . . . . . | 3388 |
| Table 747. | RDES2 normal descriptor (write-back format) . . . . . | 3390 |
| Table 748. | RDES3 normal descriptor (write-back format) . . . . . | 3392 |
| Table 749. | RDES0 context descriptor . . . . . | 3395 |
| Table 750. | RDES1 context descriptor . . . . . | 3396 |
| Table 751. | RDES2 context descriptor . . . . . | 3396 |
| Table 752. | RDES3 context descriptor . . . . . | 3396 |
| Table 753. | ETH_DMA common register map and reset values . . . . . | 3416 |
| Table 754. | ETH_DMA_CH register map and reset values . . . . . | 3417 |
| Table 755. | ETH_MTL register map and reset values . . . . . | 3427 |
| Table 756. | Giant Packet Status based on S2KP and JE Bits . . . . . | 3433 |
| Table 757. | Packet Length based on the CST and ACS bits . . . . . | 3433 |
| Table 758. | Ethernet MAC register map and reset values . . . . . | 3512 |
| Table 759. | HDMI pin . . . . . | 3523 |
| Table 760. | HDMI-CEC internal input/output signals . . . . . | 3523 |
| Table 761. | Error handling timing parameters . . . . . | 3529 |
| Table 762. | TXERR timing parameters . . . . . | 3530 |
| Table 763. | HDMI-CEC interrupts . . . . . | 3531 |
| Table 764. | HDMI-CEC register map and reset values . . . . . | 3539 |
| Table 765. | Authentication signal states . . . . . | 3544 |
| Table 766. | Authentication signal states . . . . . | 3544 |
| Table 767. | Packet request . . . . . | 3547 |
Table 768. ACK response. . . . . 3547
Table 769. Data transfer. . . . . 3548
Table 770. JTAG-DP data registers . . . . . 3550
Table 771. Debug port registers . . . . . 3552
Table 772. Debug port register map and reset values . . . . . 3561
Table 773. MEM-AP registers. . . . . 3563
Table 774. Access port register map and reset values. . . . . 3571
Table 775. System ROM table 1. . . . . 3573
Table 776. System ROM table 2. . . . . 3573
Table 777. System ROM table 1 register map and reset values . . . . . 3580
Table 778. System ROM table 2 register map and reset values . . . . . 3581
Table 779. System CTI inputs . . . . . 3583
Table 780. System CTI outputs . . . . . 3583
Table 781. Cortex-M7 CTI inputs . . . . . 3583
Table 782. Cortex-M7 CTI outputs . . . . . 3584
Table 783. CTI register map and reset values . . . . . 3599
Table 784. CSTF register map and reset values . . . . . 3611
Table 785. ETF register map and reset values. . . . . 3632
Table 786. TPIU register map and reset values . . . . . 3651
Table 787. SWO register map and reset values. . . . . 3663
Table 788. DBGMCU register map and reset values . . . . . 3680
Table 789. Cortex-M7 CPU ROM table . . . . . 3683
Table 790. Cortex-M7 PPB ROM table. . . . . 3684
Table 791. Cortex-M7 CPU ROM table register map and reset values . . . . . 3690
Table 792. Cortex-M7 PPB ROM table register map and reset values . . . . . 3695
Table 793. Cortex-M7 DWT register map and reset values . . . . . 3706
Table 794. Cortex-M7 ITM register map and reset values . . . . . 3715
Table 795. Cortex-M7 FPB register map and reset values. . . . . 3722
Table 796. Cortex-M7 ETM register map and reset values . . . . . 3750
Table 797. Document revision history . . . . . 3760
List of figures
| Figure 1. | System architecture . . . . . | 124 |
| Figure 2. | AXI interconnect . . . . . | 129 |
| Figure 3. | Memory map . . . . . | 151 |
| Figure 4. | RAM ECC controller implementation schematic. . . . . | 166 |
| Figure 5. | Connection between RAM ECC controller and RAMECC monitoring unit . . . . . | 167 |
| Figure 6. | Secure boot process. . . . . | 182 |
| Figure 7. | Key management principle . . . . . | 188 |
| Figure 8. | Product life-cycle security . . . . . | 191 |
| Figure 9. | FLASH block diagram . . . . . | 201 |
| Figure 10. | Detailed FLASH architecture . . . . . | 203 |
| Figure 11. | Embedded flash memory organization . . . . . | 204 |
| Figure 12. | Embedded flash memory usage (STM32H7R). . . . . | 206 |
| Figure 13. | Embedded flash memory usage (STM32H7S). . . . . | 207 |
| Figure 14. | Flash decommissioning options . . . . . | 208 |
| Figure 15. | FLASH read pipeline architecture . . . . . | 210 |
| Figure 16. | FLASH write pipeline architecture . . . . . | 214 |
| Figure 17. | FLASH stateful initialization . . . . . | 221 |
| Figure 18. | Life cycle management scheme . . . . . | 233 |
| Figure 19. | Power control block diagram . . . . . | 280 |
| Figure 20. | Power supply overview . . . . . | 284 |
| Figure 21. | System supply configurations . . . . . | 285 |
| Figure 22. | Device startup with VCORE supplied directly from SMPS step-down converter . . . . . | 288 |
| Figure 23. | Device startup with VCORE supplied in Bypass mode from external regulator . . . . . | 289 |
| Figure 24. | Backup domain . . . . . | 294 |
| Figure 25. | USB supply configurations . . . . . | 296 |
| Figure 26. | Power-on reset/power-down reset waveform . . . . . | 297 |
| Figure 27. | BOR thresholds . . . . . | 298 |
| Figure 28. | PVD thresholds . . . . . | 299 |
| Figure 29. | AVD thresholds . . . . . | 300 |
| Figure 30. | VBAT thresholds . . . . . | 301 |
| Figure 31. | Temperature thresholds . . . . . | 302 |
| Figure 32. | VCORE overvoltage protection. . . . . | 303 |
| Figure 33. | VCORE voltage scaling versus system power modes . . . . . | 306 |
| Figure 34. | Dynamic voltage scaling in Run mode . . . . . | 307 |
| Figure 35. | Dynamic voltage scaling behavior in Stop mode . . . . . | 308 |
| Figure 36. | Dynamic voltage scaling from Standby mode. . . . . | 309 |
| Figure 37. | RCC block diagram. . . . . | 342 |
| Figure 38. | Simplified reset circuit. . . . . | 346 |
| Figure 39. | Boot sequences versus system states . . . . . | 352 |
| Figure 40. | Top-level clock tree. . . . . | 354 |
| Figure 41. | HSE/LSE clock source . . . . . | 356 |
| Figure 42. | HSE clock generation . . . . . | 356 |
| Figure 43. | LSE clock generation . . . . . | 358 |
| Figure 44. | HSI calibration flow . . . . . | 362 |
| Figure 45. | CSI calibration flow . . . . . | 363 |
| Figure 46. | HSI48 calibration flow . . . . . | 364 |
| Figure 47. | LSE and HSE CSS function . . . . . | 365 |
| Figure 48. | PLL block diagram . . . . . | 371 |
| Figure 49. | Spread-spectrum modulation . . . . . | 375 |
| Figure 50. | Triangular waveform generator . . . . . | 376 |
| Figure 51. | Core and bus clock generation . . . . . | 378 |
| Figure 52. | Key signals controlling low-power modes . . . . . | 380 |
| Figure 53. | Clock distribution for SAIs, ADF and SPDIFRX . . . . . | 391 |
| Figure 54. | Clock distribution for SPIs and SPI/I2S . . . . . | 392 |
| Figure 55. | Clock distribution for I2C[3:2] and I2C1/I3C1 . . . . . | 393 |
| Figure 56. | Clock distribution for UARTs, LPUART1 and USARTs . . . . . | 394 |
| Figure 57. | Clock distribution for FDCAN . . . . . | 395 |
| Figure 58. | Clock distribution for GPU2D . . . . . | 396 |
| Figure 59. | Clock distribution for LTDC and DCMIPP . . . . . | 396 |
| Figure 60. | Clock distribution for PSSI . . . . . | 397 |
| Figure 61. | Clock distribution for FMC, XSPIs, and MCEs . . . . . | 399 |
| Figure 62. | Clock distribution for SDMMC[2:1] and DB_SDMMC[2:1] . . . . . | 400 |
| Figure 63. | Clock distribution for USB and UCPD . . . . . | 402 |
| Figure 64. | Clock distribution for ETH1 . . . . . | 403 |
| Figure 65. | ETH clock configuration . . . . . | 404 |
| Figure 66. | Clock distribution For ADCs . . . . . | 405 |
| Figure 67. | Clock distribution for SAES and RNG . . . . . | 405 |
| Figure 68. | Clock distribution for HDMI-CEC . . . . . | 406 |
| Figure 69. | Clock distribution for TIMs . . . . . | 406 |
| Figure 70. | Clock distribution for LPTIMs . . . . . | 408 |
| Figure 71. | Clock distribution for RTC . . . . . | 409 |
| Figure 72. | Clock distribution for WWDG and IWDG . . . . . | 410 |
| Figure 73. | Clock distribution for DBG and trace . . . . . | 410 |
| Figure 74. | Kernel clock switching . . . . . | 412 |
| Figure 75. | Peripheral kernel clock enable logic details . . . . . | 413 |
| Figure 76. | SBS block diagram . . . . . | 541 |
| Figure 77. | SBS boot control . . . . . | 542 |
| Figure 78. | Compensation cell management . . . . . | 545 |
| Figure 79. | Compensation cell use . . . . . | 545 |
| Figure 80. | CRS block diagram . . . . . | 562 |
| Figure 81. | CRS counter behavior . . . . . | 564 |
| Figure 82. | Structure of three-volt or five-volt tolerant GPIO (TT or FT) . . . . . | 574 |
| Figure 83. | Input floating/pull-up/pull-down configurations . . . . . | 578 |
| Figure 84. | Output configuration . . . . . | 579 |
| Figure 85. | Alternate function configuration . . . . . | 580 |
| Figure 86. | High-impedance analog configuration . . . . . | 580 |
| Figure 87. | GPDMA block diagram . . . . . | 610 |
| Figure 88. | GPDMA channel direct programming without linked-list (GPDMA_CxLLR = 0) . . . . . | 611 |
| Figure 89. | GPDMA channel suspend and resume sequence . . . . . | 612 |
| Figure 90. | GPDMA channel abort and restart sequence . . . . . | 613 |
| Figure 91. | Static linked-list data structure (all Uxx = 1) of a linear addressing channel x . . . . . | 614 |
| Figure 92. | Static linked-list data structure (all Uxx = 1) of a 2D addressing channel x . . . . . | 615 |
| Figure 93. | GPDMA dynamic linked-list data structure of a linear addressing channel x . . . . . | 616 |
| Figure 94. | GPDMA dynamic linked-list data structure of a 2D addressing channel x . . . . . | 616 |
| Figure 95. | GPDMA channel execution and linked-list programming in run-to-completion mode (GPDMA_CxCR.LSM = 0) . . . . . | 618 |
| Figure 96. | Inserting a LLI n with an auxiliary GPDMA channel y . . . . . | 620 |
| Figure 97. | GPDMA channel execution and linked-list programming in link step mode (GPDMA_CxCR.LSM = 1) . . . . . | 622 |
| Figure 98. | Building LLI n+1 : GPDMA dynamic linked-lists in link step mode . . . . . | 623 |
| Figure 99. | Replace with a new LLI n ' in register file in link step mode . . . . . | 624 |
| Figure 100. | Replace with a new LLI n ' and LLI n+1 ' in memory in link step mode (option 1) . . . . . | 625 |
| Figure 101. | Replace with a new LLI n ' and LLI n+1 ' in memory in link step mode (option 2) . . . . . | 626 |
| Figure 102. | GPDMA channel execution and linked-list programming . . . . . | 628 |
| Figure 103. | Programmed 2D addressing . . . . . | 631 |
| Figure 104. | GPDMA arbitration policy . . . . . | 638 |
| Figure 105. | Trigger hit, memorization, and overrun waveform . . . . . | 641 |
| Figure 106. | GPDMA circular buffer programming: update of the memory start address with a linear addressing channel . . . . . | 642 |
| Figure 107. | Shared GPDMA channel with circular buffering: update of the memory start address with a linear addressing channel. . . . . | 643 |
| Figure 108. | HPDMA block diagram . . . . . | 681 |
| Figure 109. | HPDMA channel direct programming without linked-list (HPDMA_CxLLR = 0) . . . . . | 682 |
| Figure 110. | HPDMA channel suspend and resume sequence . . . . . | 683 |
| Figure 111. | HPDMA channel abort and restart sequence . . . . . | 684 |
| Figure 112. | Static linked-list data structure (all Uxx = 1) of a linear addressing channel x . . . . . | 685 |
| Figure 113. | Static linked-list data structure (all Uxx = 1) of a 2D addressing channel x . . . . . | 686 |
| Figure 114. | HPDMA dynamic linked-list data structure of linear addressing channel x. . . . . | 687 |
| Figure 115. | HPDMA dynamic linked-list data structure of a 2D addressing channel x . . . . . | 687 |
| Figure 116. | HPDMA channel execution and linked-list programming in run-to-completion mode (HPDMA_CxCR.LSM = 0) . . . . . | 689 |
| Figure 117. | Inserting a LLI n with an auxiliary HPDMA channel y . . . . . | 691 |
| Figure 118. | HPDMA channel execution and linked-list programming in link step mode (HPDMA_CxCR.LSM = 1) . . . . . | 693 |
| Figure 119. | Building LLI n+1 : HPDMA dynamic linked-lists in link step mode . . . . . | 694 |
| Figure 120. | Replace with a new LLI n ' in register file in link step mode . . . . . | 695 |
| Figure 121. | Replace with a new LLI n ' and LLI n+1 ' in memory in link step mode (option 1) . . . . . | 696 |
| Figure 122. | Replace with a new LLI n ' and LLI n+1 ' in memory in link step mode (option 2) . . . . . | 697 |
| Figure 123. | HPDMA channel execution and linked-list programming . . . . . | 699 |
| Figure 124. | Programmed 2D addressing . . . . . | 702 |
| Figure 125. | HPDMA arbitration policy . . . . . | 717 |
| Figure 126. | Trigger hit, memorization and overrun waveform . . . . . | 721 |
| Figure 127. | HPDMA circular buffer programming: update of the memory start address with a linear addressing channel . . . . . | 722 |
| Figure 128. | Shared HPDMA channel with circular buffering: update of the memory start address with a linear addressing channel. . . . . | 723 |
| Figure 129. | GFXMMU block diagram . . . . . | 756 |
| Figure 130. | Virtual buffer . . . . . | 758 |
| Figure 131. | Virtual buffer and physical buffer memory map . . . . . | 759 |
| Figure 132. | MMU block diagram . . . . . | 760 |
| Figure 133. | Block validation/comparator implementation . . . . . | 762 |
| Figure 134. | DMA2D block diagram . . . . . | 773 |
| Figure 135. | Intel 8080 16-bit mode (RGB565) . . . . . | 780 |
| Figure 136. | Intel 8080 18/24-bit mode (RGB888) . . . . . | 780 |
| Figure 137. | GPU2D block diagram . . . . . | 807 |
| Figure 138. | ICACHE block diagram . . . . . | 811 |
| Figure 139. ICACHE TAG and data memories functional view . . . . . | 813 |
| Figure 140. GFXTIM block diagram. . . . . | 823 |
| Figure 141. Clock generator . . . . . | 825 |
| Figure 142. Waveforms in standalone . . . . . | 827 |
| Figure 143. Active counters and signals in standalone . . . . . | 827 |
| Figure 144. Waveforms with external HSYNC and VSYNC. . . . . | 827 |
| Figure 145. Waveforms with external HSYNC only . . . . . | 828 |
| Figure 146. Active counters and signals with external HSYNC only . . . . . | 828 |
| Figure 147. Waveforms with external VSYNC only . . . . . | 828 |
| Figure 148. Active counters with external VSYNC only . . . . . | 829 |
| Figure 149. Prescaling when external VSYNC only. . . . . | 829 |
| Figure 150. Waveforms with external CSYNC only . . . . . | 829 |
| Figure 151. Active counters and signals with external CSYNC only . . . . . | 830 |
| Figure 152. Prescaling when external CSYNC only . . . . . | 830 |
| Figure 153. Tearing-effect configurations . . . . . | 832 |
| Figure 154. Watchdog timer. . . . . | 833 |
| Figure 155. EXTI block diagram . . . . . | 867 |
| Figure 156. Configurable event triggering logic CPU wake-up . . . . . | 869 |
| Figure 157. Direct event triggering logic CPU wake up . . . . . | 870 |
| Figure 158. CRC calculation unit block diagram . . . . . | 887 |
| Figure 159. CORDIC convergence for trigonometric functions . . . . . | 901 |
| Figure 160. CORDIC convergence for hyperbolic functions . . . . . | 902 |
| Figure 161. CORDIC convergence for square root . . . . . | 903 |
| Figure 162. FMC block diagram. . . . . | 913 |
| Figure 163. FMC memory banks (default mapping) . . . . . | 916 |
| Figure 164. Mode 1 read access waveforms . . . . . | 927 |
| Figure 165. Mode 1 write access waveforms. . . . . | 928 |
| Figure 166. Mode A read access waveforms. . . . . | 930 |
| Figure 167. Mode A write access waveforms . . . . . | 931 |
| Figure 168. Mode 2 and mode B read access waveforms. . . . . | 933 |
| Figure 169. Mode 2 write access waveforms. . . . . | 933 |
| Figure 170. Mode B write access waveforms . . . . . | 934 |
| Figure 171. Mode C read access waveforms . . . . . | 936 |
| Figure 172. Mode C write access waveforms . . . . . | 936 |
| Figure 173. Mode D read access waveforms . . . . . | 939 |
| Figure 174. Mode D write access waveforms . . . . . | 939 |
| Figure 175. Muxed read access waveforms . . . . . | 942 |
| Figure 176. Muxed write access waveforms . . . . . | 942 |
| Figure 177. Asynchronous wait during a read access waveforms. . . . . | 945 |
| Figure 178. Asynchronous wait during a write access waveforms. . . . . | 945 |
| Figure 179. Wait configuration waveforms. . . . . | 948 |
| Figure 180. Synchronous multiplexed read mode waveforms - NOR, PSRAM (CRAM). . . . . | 948 |
| Figure 181. Synchronous multiplexed write mode waveforms - PSRAM (CRAM). . . . . | 950 |
| Figure 182. NAND flash controller waveforms for common memory access. . . . . | 964 |
| Figure 183. Access to non 'CE don't care' NAND-flash. . . . . | 965 |
| Figure 184. Burst write SDRAM access waveforms . . . . . | 975 |
| Figure 185. Burst read SDRAM access . . . . . | 976 |
| Figure 186. Logic diagram of Read access with RBURST bit set (CAS=2, RPIPE=0) . . . . . | 977 |
| Figure 187. Read access crossing row boundary . . . . . | 979 |
| Figure 188. Write access crossing row boundary . . . . . | 979 |
| Figure 189. Self-refresh mode . . . . . | 982 |
| Figure 190. Power-down mode . . . . . | 983 |
| Figure 191. XSPI block diagram for 16-bit configuration (1) ..... | 995 |
| Figure 192. XSPI block diagram for dual-octal configuration (1) ..... | 996 |
| Figure 193. XSPI block diagram for octal configuration ..... | 997 |
| Figure 194. XSPI block diagram in quad configuration ..... | 998 |
| Figure 195. XSPI block diagram for dual-quad configuration ..... | 999 |
| Figure 196. SDR read command in 16-bit configuration ..... | 1001 |
| Figure 197. DTR read in octal-SPI mode with DQS (Macronix mode) example ..... | 1004 |
| Figure 198. SDR write command in octal-SPI mode example ..... | 1006 |
| Figure 199. DTR write in octal-SPI mode (Macronix mode) example ..... | 1007 |
| Figure 200. Example of HyperBus read operation (8-bit data mode) ..... | 1010 |
| Figure 201. HyperBus write operation with initial latency (8-bit data mode) ..... | 1011 |
| Figure 202. HyperBus read operation with additional latency (8-bit data mode) ..... | 1012 |
| Figure 203. HyperBus write operation with additional latency (8-bit data mode) ..... | 1012 |
| Figure 204. HyperBus write operation with no latency (register write) ..... | 1013 |
| Figure 205. HyperBus read operation page crossing with latency (8-bit data mode) ..... | 1013 |
| Figure 206. HyperBus write operation with initial latency (16-bit mode) ..... | 1014 |
| Figure 207. D0/D1 data ordering in octal-SPI DTR mode (Micron) - Read access ..... | 1021 |
| Figure 208. OctaRAM read operation with reverse data ordering D1/D0 ..... | 1021 |
| Figure 209. NCS when CKMODE = 0 (T = CLK period) ..... | 1028 |
| Figure 210. NCS when CKMODE = 1 in SDR mode (T = CLK period) ..... | 1028 |
| Figure 211. NCS when CKMODE = 1 in DTR mode (T = CLK period) ..... | 1028 |
| Figure 212. NCS when CKMODE = 1 with an abort (T = CLK period) ..... | 1029 |
| Figure 213. Example of software control of two external memories ..... | 1029 |
| Figure 214. XSPIM block diagram ..... | 1062 |
| Figure 215. XSPI direct octal mode ..... | 1064 |
| Figure 216. XSPI direct 16-bit mode ..... | 1065 |
| Figure 217. XSPI dual-octal mode ..... | 1065 |
| Figure 218. XSPI swapped (octal) mode ..... | 1066 |
| Figure 219. XSPI multiplexed mode to Port1 ..... | 1067 |
| Figure 220. XSPI multiplexed (octal and dual-octal) mode to Port 2 ..... | 1067 |
| Figure 221. XSPI1 and XSPI2 drive a single external memory (octal mode) ..... | 1068 |
| Figure 222. Single XSPI driving two external memories ..... | 1069 |
| Figure 223. DLYB block diagram ..... | 1072 |
| Figure 224. ADC block diagram ..... | 1080 |
| Figure 225. ADC clock scheme ..... | 1085 |
| Figure 226. ADC1 connectivity ..... | 1086 |
| Figure 227. ADC2 connectivity ..... | 1087 |
| Figure 228. ADC calibration ..... | 1090 |
| Figure 229. Updating the ADC calibration factor ..... | 1091 |
| Figure 230. Mixing single-ended and differential channels ..... | 1092 |
| Figure 231. Enabling / disabling the ADC ..... | 1093 |
| Figure 232. Bulb mode timing diagram ..... | 1096 |
| Figure 233. Analog-to-digital conversion time ..... | 1099 |
| Figure 234. Stopping ongoing regular conversions ..... | 1100 |
| Figure 235. Stopping ongoing regular and injected conversions ..... | 1101 |
| Figure 236. Triggers shared between ADC master and slave ..... | 1102 |
| Figure 237. Injected conversion latency ..... | 1104 |
| Figure 238. Example of ADC_JSQR queue of context (sequence change) ..... | 1107 |
| Figure 239. Example of ADC_JSQR queue of context (trigger change) ..... | 1107 |
| Figure 240. Example of ADC_JSQR queue of context with overflow before conversion. .... | 1108 |
| Figure 241. Example of ADC_JSQR queue of context with overflow during conversion ..... | 1108 |
| Figure 242. Example of ADC_JSQR queue of context with empty queue (case JQM = 0) ..... | 1109 |
| Figure 243. | Example of ADC_JSQR queue of context with empty queue (JQM = 1) . . . . . | 1110 |
| Figure 244. | Flushing ADC_JSQR queue of context by setting JADSTP = 1 (JQM = 0) - JADSTP occurs during an ongoing conversion. . . . . | 1110 |
| Figure 245. | Flushing ADC_JSQR queue of context by setting JADSTP = 1 (JQM = 0) - JADSTP occurs during an ongoing conversion and a new trigger occurs . . . . . | 1111 |
| Figure 246. | Flushing ADC_JSQR queue of context by setting JADSTP = 1 (JQM = 0) - JADSTP occurs outside an ongoing conversion. . . . . | 1111 |
| Figure 247. | Flushing ADC_JSQR queue of context by setting JADSTP = 1 (JQM = 1) . . . . . | 1112 |
| Figure 248. | Flushing ADC_JSQR queue of context by setting ADDIS = 1 (JQM = 0). . . . . | 1112 |
| Figure 249. | Flushing ADC_JSQR queue of context by setting ADDIS = 1 (JQM = 1). . . . . | 1113 |
| Figure 250. | Single conversions of a sequence, software trigger . . . . . | 1115 |
| Figure 251. | Continuous conversion of a sequence, software trigger. . . . . | 1115 |
| Figure 252. | Single conversions of a sequence, hardware trigger . . . . . | 1116 |
| Figure 253. | Continuous conversions of a sequence, hardware trigger . . . . . | 1116 |
| Figure 254. | Right alignment (offset disabled, unsigned value) . . . . . | 1118 |
| Figure 255. | Right alignment (offset enabled, signed value). . . . . | 1119 |
| Figure 256. | Left alignment (offset disabled, unsigned value) . . . . . | 1119 |
| Figure 257. | Left alignment (offset enabled, signed value). . . . . | 1120 |
| Figure 258. | Example of overrun (OVRMOD = 0). . . . . | 1121 |
| Figure 259. | Example of overrun (OVRMOD = 1). . . . . | 1122 |
| Figure 260. | AUTODLY = 1, regular conversion in continuous mode, software trigger . . . . . | 1125 |
| Figure 261. | AUTODLY = 1, regular HW conversions interrupted by injected conversions (DISCEN = 0; JDISCEN = 0) . . . . . | 1126 |
| Figure 262. | AUTODLY = 1, regular HW conversions interrupted by injected conversions . . . . . (DISCEN = 1, JDISCEN = 1) . . . . . | 1127 |
| Figure 263. | AUTODLY = 1, regular continuous conversions interrupted by injected conversions . . . . . | 1128 |
| Figure 264. | AUTODLY = 1 in auto- injected mode (JAUTO = 1). . . . . | 1128 |
| Figure 265. | Analog watchdog guarded area . . . . . | 1129 |
| Figure 266. | ADC y _AWD x _OUT signal generation (on all regular channels). . . . . | 1131 |
| Figure 267. | ADC y _AWD x _OUT signal generation (AWD x flag not cleared by software) . . . . . | 1132 |
| Figure 268. | ADC y _AWD x _OUT signal generation (on a single regular channel) . . . . . | 1132 |
| Figure 269. | ADC y _AWD x _OUT signal generation (on all injected channels) . . . . . | 1132 |
| Figure 270. | 20-bit to 16-bit result truncation . . . . . | 1134 |
| Figure 271. | Numerical example with 5-bit shift and rounding . . . . . | 1134 |
| Figure 272. | Triggered regular oversampling mode (TROVS bit = 1). . . . . | 1136 |
| Figure 273. | Regular oversampling modes (4x ratio) . . . . . | 1137 |
| Figure 274. | Regular and injected oversampling modes used simultaneously . . . . . | 1138 |
| Figure 275. | Triggered regular oversampling with injection . . . . . | 1138 |
| Figure 276. | Oversampling in auto-injected mode . . . . . | 1139 |
| Figure 277. | Dual ADC block diagram (1) . . . . . | 1141 |
| Figure 278. | Injected simultaneous mode on 4 channels: dual ADC mode . . . . . | 1142 |
| Figure 279. | Regular simultaneous mode on 16 channels: dual ADC mode . . . . . | 1144 |
| Figure 280. | Interleaved mode on one channel in continuous conversion mode: dual ADC mode. . . . . | 1145 |
| Figure 281. | Interleaved mode on 1 channel in single conversion mode: dual ADC mode. . . . . | 1146 |
| Figure 282. | Interleaved conversion with injection . . . . . | 1146 |
| Figure 283. | Alternate trigger: injected group of each ADC . . . . . | 1147 |
| Figure 284. | Alternate trigger: 4 injected channels (each ADC) in discontinuous mode. . . . . | 1148 |
| Figure 285. | Alternate + regular simultaneous . . . . . | 1149 |
| Figure 286. | Case of trigger occurring during injected conversion . . . . . | 1149 |
| Figure 287. | Interleaved single channel CH0 with injected sequence CH11, CH12. . . . . | 1150 |
| Figure 288. | Two Interleaved channels (CH1, CH2) with injected sequence CH11, CH12 |
| - case 1: Master interrupted first . . . . . | 1150 |
| Figure 289. Two Interleaved channels (CH1, CH2) with injected sequence CH11, CH12 - case 2: Slave interrupted first . . . . . | 1150 |
| Figure 290. DMA Requests in regular simultaneous mode when MDMA = 0b00 . . . . . | 1151 |
| Figure 291. DMA requests in regular simultaneous mode when MDMA = 0b10 . . . . . | 1152 |
| Figure 292. DMA requests in interleaved mode when MDMA = 0b10 . . . . . | 1152 |
| Figure 293. Temperature sensor channel block diagram . . . . . | 1154 |
| Figure 294. VBAT channel block diagram . . . . . | 1156 |
| Figure 295. VREFINT channel block diagram . . . . . | 1156 |
| Figure 296. Temperature sensor functional block diagram . . . . . | 1201 |
| Figure 297. Method for low REF_CLK frequencies . . . . . | 1203 |
| Figure 298. Method for high REF_CLK frequencies . . . . . | 1203 |
| Figure 299. Temperature sensor sequence . . . . . | 1206 |
| Figure 300. VREFBUF block diagram . . . . . | 1218 |
| Figure 301. ADF block diagram . . . . . | 1224 |
| Figure 302. SITF overview . . . . . | 1226 |
| Figure 303. SPI timing example . . . . . | 1227 |
| Figure 304. Manchester timing example (SITFMOD = 11) . . . . . | 1228 |
| Figure 305. CKGEN overview . . . . . | 1231 |
| Figure 306. BSMX overview . . . . . | 1233 |
| Figure 307. DFLT overview . . . . . | 1234 |
| Figure 308. Programmable delay . . . . . | 1235 |
| Figure 309. CIC4 and CIC5 frequency response with decimation ratio = 32 or 16 . . . . . | 1236 |
| Figure 310. Reshape filter frequency response normalized (FRS / 2 = 1). . . . . | 1242 |
| Figure 311. Trigger logic for DFLT and CKGEN . . . . . | 1244 |
| Figure 312. Asynchronous continuous mode (ACQMOD[2:0] = 0) . . . . . | 1245 |
| Figure 313. Asynchronous single-shot mode (ACQMOD[2:0] = 001) . . . . . | 1246 |
| Figure 314. Synchronous continuous mode (ACQMOD[2:0] = 010) . . . . . | 1247 |
| Figure 315. Synchronous single-shot mode (ACQMOD[2:0] = 011) . . . . . | 1248 |
| Figure 316. Window continuous mode (ACQMOD[2:0] = 100) . . . . . | 1249 |
| Figure 317. Discard function example . . . . . | 1251 |
| Figure 318. Start sequence with DFLTEN, in continuous mode, audio configuration . . . . . | 1251 |
| Figure 319. SAD block diagram . . . . . | 1252 |
| Figure 320. SAD flow diagram . . . . . | 1254 |
| Figure 321. SAD timing diagram example . . . . . | 1260 |
| Figure 322. ADF_DFLTxDATA data format . . . . . | 1260 |
| Figure 323. Data resynchronization . . . . . | 1261 |
| Figure 324. Example of overflow and transfer to memory . . . . . | 1262 |
| Figure 325. ADF interrupt interface . . . . . | 1265 |
| Figure 326. Sensor connection examples . . . . . | 1270 |
| Figure 327. Global frequency response . . . . . | 1270 |
| Figure 328. Detailed frequency response . . . . . | 1271 |
| Figure 329. Simplified DFLT view with gain information . . . . . | 1273 |
| Figure 330. SAD example working with SADMOD = 01 . . . . . | 1276 |
| Figure 331. SAD example working with SADMOD = 1x . . . . . | 1277 |
| Figure 332. DCMIPP overview . . . . . | 1296 |
| Figure 333. DCMIPP block diagram . . . . . | 1299 |
| Figure 334. Snapshot (CPTMODE = 1) and Continuous (CPTMODE = 0) capture modes. . . . . | 1309 |
| Figure 335. Pipe0 (dump) architecture overview . . . . . | 1312 |
| Figure 336. PSSI block diagram . . . . . | 1358 |
| Figure 337. Top-level block diagram . . . . . | 1358 |
| Figure 338. Data enable in receive mode waveform diagram (CKPOL=0) . . . . . | 1362 |
| Figure 339. Data enable waveform diagram in transmit mode (CKPOL=1). | 1362 |
| Figure 340. Ready in receive mode waveform diagram (CKPOL=0). | 1363 |
| Figure 341. Bidirectional PSSI_DE/PSSI_RDY waveform | 1364 |
| Figure 342. Bidirectional PSSI_DE/PSSI_RDY connection diagram | 1364 |
| Figure 343. LTDC block diagram | 1372 |
| Figure 344. LTDC synchronous timings. | 1375 |
| Figure 345. Layer window programmable parameters | 1378 |
| Figure 346. Blending two layers with background | 1380 |
| Figure 347. Interrupt events. | 1382 |
| Figure 348. JPEG codec block diagram | 1403 |
| Figure 349. RNG block diagram | 1425 |
| Figure 350. NIST SP800-90B entropy source model. | 1426 |
| Figure 351. RNG initialization overview. | 1429 |
| Figure 352. SAES block diagram. | 1443 |
| Figure 353. Encryption/ decryption typical usage | 1445 |
| Figure 354. Typical operation with authentication | 1447 |
| Figure 355. Example of suspend mode management. | 1448 |
| Figure 356. ECB encryption. | 1449 |
| Figure 357. ECB decryption. | 1449 |
| Figure 358. CBC encryption. | 1450 |
| Figure 359. CBC decryption. | 1450 |
| Figure 360. Message construction in CTR mode. | 1453 |
| Figure 361. CTR encryption. | 1454 |
| Figure 362. Message construction in GCM | 1455 |
| Figure 363. GCM authenticated encryption | 1457 |
| Figure 364. Message construction in GMAC mode | 1460 |
| Figure 365. GMAC authentication mode | 1460 |
| Figure 366. Message construction in CCM mode | 1461 |
| Figure 367. CCM mode authenticated encryption | 1463 |
| Figure 368. Operation with wrapped keys for SAES in ECB and CBC modes | 1467 |
| Figure 369. Operation with wrapped keys for SAES in CTR mode | 1469 |
| Figure 370. Usage of Shared-key mode | 1470 |
| Figure 371. 128-bit block construction according to the data type. | 1473 |
| Figure 372. CRYP block diagram | 1497 |
| Figure 373. Encryption/ decryption typical usage | 1499 |
| Figure 374. Typical operation with authentication | 1502 |
| Figure 375. Example of suspend mode management. | 1503 |
| Figure 376. ECB encryption. | 1504 |
| Figure 377. ECB decryption. | 1504 |
| Figure 378. CBC encryption. | 1505 |
| Figure 379. CBC decryption. | 1505 |
| Figure 380. Message construction in CTR mode. | 1508 |
| Figure 381. CTR encryption. | 1509 |
| Figure 382. Message construction in GCM | 1511 |
| Figure 383. GCM authenticated encryption | 1512 |
| Figure 384. Message construction in GMAC mode | 1516 |
| Figure 385. GMAC authentication mode | 1516 |
| Figure 386. Message construction in CCM mode | 1517 |
| Figure 387. CCM mode authenticated encryption | 1519 |
| Figure 388. 128-bit block construction according to the data type. | 1525 |
| Figure 389. HASH block diagram | 1546 |
| Figure 390. Message data swapping feature. | 1548 |
| Figure 391. HASH suspend/resume mechanism . . . . . | 1554 |
| Figure 392. MCE block diagram . . . . . | 1569 |
| Figure 393. MCE region programming . . . . . | 1570 |
| Figure 394. MCE implementation of block ciphers . . . . . | 1572 |
| Figure 395. MCE implementation of stream cipher . . . . . | 1573 |
| Figure 396. PKA block diagram . . . . . | 1592 |
| Figure 397. Advanced-control timer block diagram . . . . . | 1626 |
| Figure 398. Counter timing diagram with prescaler division change from 1 to 2 . . . . . | 1632 |
| Figure 399. Counter timing diagram with prescaler division change from 1 to 4 . . . . . | 1632 |
| Figure 400. Counter timing diagram, internal clock divided by 1 . . . . . | 1634 |
| Figure 401. Counter timing diagram, internal clock divided by 2 . . . . . | 1634 |
| Figure 402. Counter timing diagram, internal clock divided by 4 . . . . . | 1635 |
| Figure 403. Counter timing diagram, internal clock divided by N . . . . . | 1635 |
| Figure 404. Counter timing diagram, update event when ARPE = 0 (TIMx_ARR not preloaded) . . . . . | 1636 |
| Figure 405. Counter timing diagram, update event when ARPE = 1 (TIMx_ARR preloaded) . . . . . | 1637 |
| Figure 406. Counter timing diagram, internal clock divided by 1 . . . . . | 1638 |
| Figure 407. Counter timing diagram, internal clock divided by 2 . . . . . | 1639 |
| Figure 408. Counter timing diagram, internal clock divided by 4 . . . . . | 1639 |
| Figure 409. Counter timing diagram, internal clock divided by N . . . . . | 1640 |
| Figure 410. Counter timing diagram, update event when repetition counter is not used . . . . . | 1640 |
| Figure 411. Counter timing diagram, internal clock divided by 1, TIMx_ARR = 0x6 . . . . . | 1642 |
| Figure 412. Counter timing diagram, internal clock divided by 2 . . . . . | 1642 |
| Figure 413. Counter timing diagram, internal clock divided by 4, TIMx_ARR = 0x36 . . . . . | 1643 |
| Figure 414. Counter timing diagram, internal clock divided by N . . . . . | 1643 |
| Figure 415. Counter timing diagram, update event with ARPE = 1 (counter underflow) . . . . . | 1644 |
| Figure 416. Counter timing diagram, Update event with ARPE = 1 (counter overflow) . . . . . | 1645 |
| Figure 417. Update rate examples depending on mode and TIMx_RCR register settings . . . . . | 1646 |
| Figure 419. Control circuit in normal mode, internal clock divided by 1 . . . . . | 1648 |
| Figure 420. tim_ti2 external clock connection example . . . . . | 1648 |
| Figure 421. Control circuit in external clock mode 1 . . . . . | 1649 |
| Figure 422. External trigger input block . . . . . | 1650 |
| Figure 423. Control circuit in external clock mode 2 . . . . . | 1651 |
| Figure 424. Capture/compare channel (example: channel 1 input stage) . . . . . | 1651 |
| Figure 425. Capture/compare channel 1 main circuit . . . . . | 1652 |
| Figure 426. Output stage of capture/compare channel (channel 1, idem ch. 2, 3 and 4) . . . . . | 1652 |
| Figure 427. Output stage of capture/compare channel (channel 5, idem ch. 6) . . . . . | 1653 |
| Figure 428. PWM input mode timing . . . . . | 1655 |
| Figure 429. Output compare mode, toggle on tim_oc1 . . . . . | 1657 |
| Figure 430. Edge-aligned PWM waveforms (ARR = 8) . . . . . | 1658 |
| Figure 431. Center-aligned PWM waveforms (ARR = 8) . . . . . | 1659 |
| Figure 432. Dithering principle . . . . . | 1660 |
| Figure 433. Data format and register coding in dithering mode . . . . . | 1661 |
| Figure 434. PWM resolution vs frequency . . . . . | 1662 |
| Figure 435. PWM dithering pattern . . . . . | 1663 |
| Figure 436. Dithering effect on duty cycle in center-aligned PWM mode . . . . . | 1664 |
| Figure 437. Generation of 2 phase-shifted PWM signals with 50% duty cycle . . . . . | 1666 |
| Figure 438. Combined PWM mode on channel 1 and 3 . . . . . | 1667 |
| Figure 439. 3-phase combined PWM signals with multiple trigger pulses per period . . . . . | 1668 |
| Figure 440. Complementary output with symmetrical dead-time insertion . . . . . | 1669 |
| Figure 441. Asymmetrical deadtime . . . . . | 1670 |
| Figure 442. | Dead-time waveforms with delay greater than the negative pulse . . . . . | 1670 |
| Figure 443. | Dead-time waveforms with delay greater than the positive pulse. . . . . | 1670 |
| Figure 444. | Break and Break2 circuitry overview . . . . . | 1673 |
| Figure 445. | Various output behavior in response to a break event on tim_brk (OSSI = 1) . . . . . | 1675 |
| Figure 446. | PWM output state following tim_brk and tim_brk2 assertion (OSSI = 1) . . . . . | 1676 |
| Figure 447. | PWM output state following tim_brk assertion (OSSI = 0) . . . . . | 1677 |
| Figure 448. | Output redirection (tim_brk2 request not represented). . . . . | 1678 |
| Figure 449. | Clearing TIMx tim_ocxref . . . . . | 1679 |
| Figure 450. | 6-step generation, COM example (OSSR = 1) . . . . . | 1680 |
| Figure 451. | Example of one pulse mode. . . . . | 1681 |
| Figure 452. | Retriggerable one-pulse mode . . . . . | 1683 |
| Figure 453. | Pulse generator circuitry . . . . . | 1683 |
| Figure 454. | Pulse generation on compare event, for edge-aligned and encoder modes . . . . . | 1684 |
| Figure 455. | Extended pulsewidth in case of concurrent triggers . . . . . | 1685 |
| Figure 456. | Example of counter operation in encoder interface mode. . . . . | 1687 |
| Figure 457. | Example of encoder interface mode with tim_ti1fp1 polarity inverted. . . . . | 1687 |
| Figure 458. | Quadrature encoder counting modes . . . . . | 1688 |
| Figure 459. | Direction plus clock encoder mode. . . . . | 1689 |
| Figure 460. | Directional clock encoder mode (CC1P = CC2P = 0). . . . . | 1689 |
| Figure 461. | Directional clock encoder mode (CC1P = CC2P = 1). . . . . | 1690 |
| Figure 462. | Index gating options . . . . . | 1691 |
| Figure 463. | Jittered Index signals . . . . . | 1691 |
| Figure 464. | Index generation for IPOS[1:0] = 11 . . . . . | 1692 |
| Figure 465. | Counter reading with index gated on channel A (IPOS[1:0] = 11) . . . . . | 1692 |
| Figure 466. | Counter reading with index ungated (IPOS[1:0] = 00) . . . . . | 1693 |
| Figure 467. | Counter reading with index gated on channel A and B. . . . . | 1693 |
| Figure 468. | Encoder mode behavior in case of narrow index pulse (IPOS[1:0] = 11). . . . . | 1694 |
| Figure 469. | Counter reset Narrow index pulse (closer view, ARR = 0x07) . . . . . | 1695 |
| Figure 470. | Index behavior in x1 and x2 mode (IPOS[1:0] = 01). . . . . | 1696 |
| Figure 471. | Directional index sensitivity. . . . . | 1696 |
| Figure 472. | Counter reset as function of FIDX bit setting . . . . . | 1697 |
| Figure 473. | Index blanking. . . . . | 1697 |
| Figure 474. | Index behavior in clock + direction mode, IPOS[0] = 1. . . . . | 1698 |
| Figure 475. | Index behavior in directional clock mode, IPOS[0] = 1 . . . . . | 1698 |
| Figure 476. | State diagram for quadrature encoded signals. . . . . | 1699 |
| Figure 477. | Up-counting encoder error detection . . . . . | 1700 |
| Figure 478. | Down-counting encode error detection. . . . . | 1701 |
| Figure 479. | Encoder mode change with preload transferred on update (SMSPS = 0) . . . . . | 1702 |
| Figure 480. | Measuring time interval between edges on three signals. . . . . | 1703 |
| Figure 481. | Example of Hall sensor interface . . . . . | 1705 |
| Figure 482. | Control circuit in reset mode . . . . . | 1706 |
| Figure 483. | Control circuit in Gated mode . . . . . | 1707 |
| Figure 484. | Control circuit in trigger mode. . . . . | 1708 |
| Figure 485. | Control circuit in external clock mode 2 + trigger mode . . . . . | 1709 |
| Figure 486. | General-purpose timer block diagram . . . . . | 1767 |
| Figure 487. | Counter timing diagram with prescaler division change from 1 to 2 . . . . . | 1772 |
| Figure 488. | Counter timing diagram with prescaler division change from 1 to 4 . . . . . | 1773 |
| Figure 489. | Counter timing diagram, internal clock divided by 1 . . . . . | 1774 |
| Figure 490. | Counter timing diagram, internal clock divided by 2 . . . . . | 1774 |
| Figure 491. | Counter timing diagram, internal clock divided by 4 . . . . . | 1775 |
| Figure 492. | Counter timing diagram, internal clock divided by N. . . . . | 1775 |
| Figure 493. | Counter timing diagram, Update event when ARPE = 0 (TIMx_ARR not preloaded). . . . . | 1776 |
| Figure 494. Counter timing diagram, Update event when ARPE = 1 (TIMx_ARR preloaded). . . . . | 1777 |
| Figure 495. Counter timing diagram, internal clock divided by 1 . . . . . | 1778 |
| Figure 496. Counter timing diagram, internal clock divided by 2 . . . . . | 1779 |
| Figure 497. Counter timing diagram, internal clock divided by 4 . . . . . | 1779 |
| Figure 498. Counter timing diagram, internal clock divided by N . . . . . | 1780 |
| Figure 499. Counter timing diagram, Update event . . . . . | 1780 |
| Figure 500. Counter timing diagram, internal clock divided by 1, TIMx_ARR = 0x6 . . . . . | 1782 |
| Figure 501. Counter timing diagram, internal clock divided by 2 . . . . . | 1782 |
| Figure 502. Counter timing diagram, internal clock divided by 4, TIMx_ARR = 0x36 . . . . . | 1783 |
| Figure 503. Counter timing diagram, internal clock divided by N . . . . . | 1783 |
| Figure 504. Counter timing diagram, Update event with ARPE = 1 (counter underflow). . . . . | 1784 |
| Figure 505. Counter timing diagram, Update event with ARPE = 1 (counter overflow). . . . . | 1785 |
| Figure 506. Control circuit in normal mode, internal clock divided by 1 . . . . . | 1786 |
| Figure 507. tim_ti2 external clock connection example . . . . . | 1786 |
| Figure 508. Control circuit in external clock mode 1 . . . . . | 1787 |
| Figure 509. External trigger input block . . . . . | 1788 |
| Figure 510. Control circuit in external clock mode 2 . . . . . | 1789 |
| Figure 511. Capture/compare channel (example: channel 1 input stage). . . . . | 1789 |
| Figure 512. Capture/compare channel 1 main circuit . . . . . | 1790 |
| Figure 513. Output stage of capture/compare channel (channel 1, idem ch.2, 3 and 4). . . . . | 1790 |
| Figure 514. PWM input mode timing . . . . . | 1793 |
| Figure 515. Output compare mode, toggle on tim_oc1 . . . . . | 1795 |
| Figure 516. Edge-aligned PWM waveforms (ARR = 8). . . . . | 1796 |
| Figure 517. Center-aligned PWM waveforms (ARR = 8). . . . . | 1797 |
| Figure 518. Dithering principle . . . . . | 1798 |
| Figure 519. Data format and register coding in dithering mode. . . . . | 1799 |
| Figure 520. PWM resolution vs frequency (16-bit mode). . . . . | 1800 |
| Figure 521. PWM resolution vs frequency (32-bit mode). . . . . | 1800 |
| Figure 522. PWM dithering pattern . . . . . | 1801 |
| Figure 523. Dithering effect on duty cycle in center-aligned PWM mode . . . . . | 1802 |
| Figure 524. Generation of two phase-shifted PWM signals with 50% duty cycle . . . . . | 1804 |
| Figure 525. Combined PWM mode on channels 1 and 3 . . . . . | 1805 |
| Figure 526. OCREF_CLR input selection multiplexer . . . . . | 1806 |
| Figure 527. Clearing TIMx tim_ocxref . . . . . | 1806 |
| Figure 528. Example of One-pulse mode . . . . . | 1807 |
| Figure 529. Retriggerable one-pulse mode . . . . . | 1809 |
| Figure 530. Pulse generator circuitry . . . . . | 1810 |
| Figure 531. Pulse generation on compare event, for edge-aligned and encoder modes . . . . . | 1810 |
| Figure 532. Extended pulse width in case of concurrent triggers . . . . . | 1811 |
| Figure 533. Example of counter operation in encoder interface mode . . . . . | 1813 |
| Figure 534. Example of encoder interface mode with tim_ti1fp1 polarity inverted . . . . . | 1813 |
| Figure 535. Quadrature encoder counting modes . . . . . | 1814 |
| Figure 536. Direction plus clock encoder mode. . . . . | 1815 |
| Figure 537. Directional clock encoder mode (CC1P = CC2P = 0). . . . . | 1816 |
| Figure 538. Directional clock encoder mode (CC1P = CC2P = 1). . . . . | 1816 |
| Figure 539. Index gating options . . . . . | 1818 |
| Figure 540. Jittered Index signals . . . . . | 1818 |
| Figure 541. Index generation for IPOS[1:0] = 11 . . . . . | 1819 |
| Figure 542. Counter reading with index gated on channel A (IPOS[1:0] = 11) . . . . . | 1819 |
| Figure 543. Counter reading with index ungated (IPOS[1:0] = 00) . . . . . | 1820 |
| Figure 544. Counter reading with index gated on channel A and B. . . . . | 1820 |
| Figure 545. Encoder mode behavior in case of narrow index pulse (IPOS[1:0] = 11). . . . . | 1821 |
| Figure 546. Counter reset Narrow index pulse (closer view, ARR = 0x07) . . . . . | 1822 |
| Figure 547. Index behavior in x1 and x2 mode (IPOS[1:0] = 01) . . . . . | 1823 |
| Figure 548. Directional index sensitivity . . . . . | 1823 |
| Figure 549. Counter reset as function of FIDX bit setting . . . . . | 1824 |
| Figure 550. Index blanking . . . . . | 1824 |
| Figure 551. Index behavior in clock + direction mode, IPOS[0] = 1 . . . . . | 1825 |
| Figure 552. Index behavior in directional clock mode, IPOS[0] = 1 . . . . . | 1825 |
| Figure 553. State diagram for quadrature encoded signals . . . . . | 1826 |
| Figure 554. Up-counting encoder error detection . . . . . | 1827 |
| Figure 555. Down-counting encode error detection . . . . . | 1828 |
| Figure 556. Encoder mode change with preload transferred on update (SMSPS = 0) . . . . . | 1829 |
| Figure 557. Control circuit in reset mode . . . . . | 1831 |
| Figure 558. Control circuit in gated mode . . . . . | 1832 |
| Figure 559. Control circuit in trigger mode . . . . . | 1832 |
| Figure 560. Control circuit in external clock mode 2 + trigger mode . . . . . | 1834 |
| Figure 561. Master/Slave timer example . . . . . | 1834 |
| Figure 562. Master/slave connection example with 1 channel only timers . . . . . | 1835 |
| Figure 563. Gating TIM_slv with tim_oc1ref of TIM_mstr . . . . . | 1836 |
| Figure 564. Gating TIM_slv with Enable of TIM_mstr . . . . . | 1837 |
| Figure 565. Triggering TIM_slv with update of TIM_mstr . . . . . | 1838 |
| Figure 566. Triggering TIM_slv with Enable of TIM_mstr . . . . . | 1838 |
| Figure 567. Triggering TIM_mstr and TIM_slv with TIM_mstr tim_ti1 input . . . . . | 1839 |
| Figure 568. Basic timer block diagram . . . . . | 1878 |
| Figure 569. Control circuit in normal mode, internal clock divided by 1 . . . . . | 1879 |
| Figure 570. Counter timing diagram with prescaler division change from 1 to 2 . . . . . | 1881 |
| Figure 571. Counter timing diagram with prescaler division change from 1 to 4 . . . . . | 1881 |
| Figure 572. Counter timing diagram, internal clock divided by 1 . . . . . | 1882 |
| Figure 573. Counter timing diagram, internal clock divided by 2 . . . . . | 1883 |
| Figure 574. Counter timing diagram, internal clock divided by 4 . . . . . | 1883 |
| Figure 575. Counter timing diagram, internal clock divided by N . . . . . | 1884 |
| Figure 576. Counter timing diagram, update event when ARPE = 0 (TIMx_ARR not preloaded) . . . . . | 1884 |
| Figure 577. Counter timing diagram, update event when ARPE = 1 (TIMx_ARR preloaded) . . . . . | 1885 |
| Figure 578. Dithering principle . . . . . | 1886 |
| Figure 579. Data format and register coding in dithering mode . . . . . | 1886 |
| Figure 580. FCnt resolution vs frequency . . . . . | 1887 |
| Figure 581. PWM dithering pattern . . . . . | 1887 |
| Figure 582. General-purpose timer block diagram (TIM9/TIM12) . . . . . | 1898 |
| Figure 583. General-purpose timer block diagram (TIM13/TIM14) . . . . . | 1899 |
| Figure 584. Counter timing diagram with prescaler division change from 1 to 2 . . . . . | 1902 |
| Figure 585. Counter timing diagram with prescaler division change from 1 to 4 . . . . . | 1902 |
| Figure 586. Counter timing diagram, internal clock divided by 1 . . . . . | 1903 |
| Figure 587. Counter timing diagram, internal clock divided by 2 . . . . . | 1904 |
| Figure 588. Counter timing diagram, internal clock divided by 4 . . . . . | 1904 |
| Figure 589. Counter timing diagram, internal clock divided by N . . . . . | 1905 |
| Figure 590. Counter timing diagram, update event when ARPE = 0 (TIMx_ARR not preloaded) . . . . . | 1905 |
| Figure 591. Counter timing diagram, update event when ARPE = 1 (TIMx_ARR preloaded) . . . . . | 1906 |
| Figure 592. Control circuit in normal mode, internal clock divided by 1 . . . . . | 1907 |
| Figure 593. tim_ti2 external clock connection example . . . . . | 1907 |
| Figure 594. | Control circuit in external clock mode 1 . . . . . | 1908 |
| Figure 595. | Capture/compare channel 1 input stage (TIM13/TIM14) . . . . . | 1909 |
| Figure 596. | Capture/compare channel 1 input stage (TIM9/TIM12) . . . . . | 1909 |
| Figure 597. | Capture/compare channel 1 main circuit . . . . . | 1910 |
| Figure 598. | Output stage of capture/compare channel 1 . . . . . | 1910 |
| Figure 599. | PWM input mode timing . . . . . | 1912 |
| Figure 600. | Output compare mode, toggle on tim_oc1. . . . . | 1914 |
| Figure 601. | Edge-aligned PWM waveforms (ARR = 8) . . . . . | 1915 |
| Figure 602. | Dithering principle . . . . . | 1916 |
| Figure 603. | Data format and register coding in dithering mode . . . . . | 1916 |
| Figure 604. | PWM resolution vs frequency . . . . . | 1917 |
| Figure 605. | PWM dithering pattern . . . . . | 1918 |
| Figure 606. | Combined PWM mode on channel 1 and 2 . . . . . | 1920 |
| Figure 607. | Example of one pulse mode . . . . . | 1921 |
| Figure 608. | Retriggerable one pulse mode . . . . . | 1922 |
| Figure 609. | Measuring time interval between edges on 2 signals . . . . . | 1923 |
| Figure 610. | Control circuit in reset mode . . . . . | 1924 |
| Figure 611. | Control circuit in gated mode . . . . . | 1925 |
| Figure 612. | Control circuit in trigger mode . . . . . | 1925 |
| Figure 613. | TIM15 block diagram . . . . . | 1959 |
| Figure 614. | TIM16/TIM17 block diagram . . . . . | 1960 |
| Figure 615. | Counter timing diagram with prescaler division change from 1 to 2 . . . . . | 1964 |
| Figure 616. | Counter timing diagram with prescaler division change from 1 to 4 . . . . . | 1965 |
| Figure 617. | Counter timing diagram, internal clock divided by 1 . . . . . | 1966 |
| Figure 618. | Counter timing diagram, internal clock divided by 2 . . . . . | 1967 |
| Figure 619. | Counter timing diagram, internal clock divided by 4 . . . . . | 1967 |
| Figure 620. | Counter timing diagram, internal clock divided by N . . . . . | 1968 |
| Figure 621. | Counter timing diagram, update event when ARPE = 0 (TIMx_ARR not preloaded). . . . . | 1968 |
| Figure 622. | Counter timing diagram, update event when ARPE = 1 (TIMx_ARR preloaded). . . . . | 1969 |
| Figure 623. | Update rate examples depending on mode and TIMx_RCR register settings . . . . . | 1970 |
| Figure 624. | Control circuit in normal mode, internal clock divided by 1 . . . . . | 1971 |
| Figure 625. | tim_ti2 external clock connection example . . . . . | 1971 |
| Figure 626. | Control circuit in external clock mode 1 . . . . . | 1972 |
| Figure 627. | Capture/compare channel (example: channel 1 input stage) . . . . . | 1973 |
| Figure 628. | Capture/compare channel 1 main circuit . . . . . | 1973 |
| Figure 629. | Output stage of capture/compare channel (channel 1). . . . . | 1974 |
| Figure 630. | Output stage of capture/compare channel (channel 2 for TIM15) . . . . . | 1974 |
| Figure 631. | PWM input mode timing . . . . . | 1977 |
| Figure 632. | Output compare mode, toggle on tim_oc1 . . . . . | 1979 |
| Figure 633. | Edge-aligned PWM waveforms (ARR = 8) . . . . . | 1980 |
| Figure 634. | Dithering principle . . . . . | 1981 |
| Figure 635. | Data format and register coding in dithering mode . . . . . | 1981 |
| Figure 636. | PWM resolution vs frequency . . . . . | 1982 |
| Figure 637. | PWM dithering pattern . . . . . | 1983 |
| Figure 638. | Combined PWM mode on channel 1 and 2 . . . . . | 1985 |
| Figure 639. | Complementary output with symmetrical dead-time insertion. . . . . | 1986 |
| Figure 640. | Asymmetrical deadtime . . . . . | 1987 |
| Figure 641. | Dead-time waveforms with delay greater than the negative pulse. . . . . | 1987 |
| Figure 642. | Dead-time waveforms with delay greater than the positive pulse. . . . . | 1987 |
| Figure 643. | Break circuitry overview . . . . . | 1989 |
| Figure 644. | Output behavior in response to a break event on tim_brk . . . . . | 1991 |
| Figure 645. | Output redirection . . . . . | 1993 |
| Figure 646. | tim_ocref_clr input selection multiplexer . . . . . | 1994 |
| Figure 647. | 6-step generation, COM example (OSSR = 1) . . . . . | 1995 |
| Figure 648. | Example of one pulse mode . . . . . | 1996 |
| Figure 649. | Retriggerable one pulse mode . . . . . | 1998 |
| Figure 650. | Measuring time interval between edges on 2 signals . . . . . | 1998 |
| Figure 651. | Control circuit in reset mode . . . . . | 1999 |
| Figure 652. | Control circuit in gated mode . . . . . | 2000 |
| Figure 653. | Control circuit in trigger mode . . . . . | 2001 |
| Figure 654. | LPTIM1/2/3 block diagram (1) . . . . . | 2064 |
| Figure 655. | LPTIM4/5 block diagram (1) . . . . . | 2065 |
| Figure 656. | Glitch filter timing diagram . . . . . | 2069 |
| Figure 657. | LPTIM output waveform, single-counting mode configuration when repetition register content is different than zero (with PRELOAD = 1) . . . . . | 2071 |
| Figure 658. | LPTIM output waveform, single-counting mode configuration and Set-once mode activated (WAVE bit is set) . . . . . | 2072 |
| Figure 659. | LPTIM output waveform, Continuous counting mode configuration . . . . . | 2072 |
| Figure 660. | Waveform generation . . . . . | 2074 |
| Figure 661. | Encoder mode counting sequence . . . . . | 2078 |
| Figure 662. | Continuous counting mode when repetition register LPTIM_RCR different from zero (with PRELOAD = 1) . . . . . | 2079 |
| Figure 663. | Capture/compare input stage (channel 1) . . . . . | 2080 |
| Figure 664. | Capture/compare output stage (channel 1) . . . . . | 2080 |
| Figure 665. | Edge-aligned PWM mode (PRELOAD = 1) . . . . . | 2082 |
| Figure 666. | Edge-aligned PWM waveforms (ARR=8 and CCxP = 0) . . . . . | 2083 |
| Figure 667. | PWM mode with immediate update versus preloaded update . . . . . | 2084 |
| Figure 668. | Watchdog block diagram . . . . . | 2114 |
| Figure 669. | Window watchdog timing diagram . . . . . | 2116 |
| Figure 670. | Independent watchdog block diagram . . . . . | 2121 |
| Figure 671. | Reset timing due to timeout . . . . . | 2123 |
| Figure 672. | Reset timing due to refresh in the not allowed area . . . . . | 2124 |
| Figure 673. | Changing PR, RL, and performing a refresh (1) . . . . . | 2125 |
| Figure 674. | Window comparator update (1) . . . . . | 2126 |
| Figure 675. | Independent watchdog interrupt timing diagram . . . . . | 2128 |
| Figure 676. | Early wake-up comparator update (1) . . . . . | 2129 |
| Figure 677. | RTC block diagram . . . . . | 2137 |
| Figure 678. | TAMP block diagram . . . . . | 2186 |
| Figure 679. | Backup registers protection zones . . . . . | 2190 |
| Figure 680. | Tamper sampling with precharge pulse . . . . . | 2195 |
| Figure 681. | Low level detection with precharge and filtering . . . . . | 2195 |
| Figure 682. | Active tamper filtering . . . . . | 2197 |
| Figure 683. | Block diagram . . . . . | 2230 |
| Figure 684. | I 2 C-bus protocol . . . . . | 2232 |
| Figure 685. | Setup and hold timings . . . . . | 2234 |
| Figure 686. | I2C initialization flow . . . . . | 2236 |
| Figure 687. | Data reception . . . . . | 2237 |
| Figure 688. | Data transmission . . . . . | 2238 |
| Figure 689. | Target initialization flow . . . . . | 2241 |
| Figure 690. | Transfer sequence flow for I2C target transmitter, NOSTRETCH = 0 . . . . . | 2243 |
| Figure 691. | Transfer sequence flow for I2C target transmitter, NOSTRETCH = 1 . . . . . | 2244 |
| Figure 692. | Transfer bus diagrams for I2C target transmitter (mandatory events only) . . . . . | 2245 |
| Figure 693. | Transfer sequence flow for I2C target receiver, NOSTRETCH = 0 . . . . . | 2246 |
| Figure 694. | Transfer sequence flow for I2C target receiver, NOSTRETCH = 1 . . . . . | 2247 |
| Figure 695. | Transfer bus diagrams for I2C target receiver (mandatory events only) . . . . . | 2247 |
| Figure 696. | Controller clock generation . . . . . | 2249 |
| Figure 697. | Controller initialization flow . . . . . | 2251 |
| Figure 698. | 10-bit address read access with HEAD10R = 0 . . . . . | 2251 |
| Figure 699. | 10-bit address read access with HEAD10R = 1 . . . . . | 2252 |
| Figure 700. | Transfer sequence flow for I2C controller transmitter, N ≤ 255 bytes. . . . . | 2253 |
| Figure 701. | Transfer sequence flow for I2C controller transmitter, N > 255 bytes. . . . . | 2254 |
| Figure 702. | Transfer bus diagrams for I2C controller transmitter (mandatory events only) . . . . . | 2255 |
| Figure 703. | Transfer sequence flow for I2C controller receiver, N ≤ 255 bytes . . . . . | 2257 |
| Figure 704. | Transfer sequence flow for I2C controller receiver, N > 255 bytes. . . . . | 2258 |
| Figure 705. | Transfer bus diagrams for I2C controller receiver (mandatory events only) . . . . . | 2259 |
| Figure 706. | Timeout intervals for t LOW:SEXT , t LOW:MEXT . . . . . | 2263 |
| Figure 707. | Transfer sequence flow for SMBus target transmitter N bytes + PEC . . . . . | 2266 |
| Figure 708. | Transfer bus diagram for SMBus target transmitter (SBC = 1). . . . . | 2267 |
| Figure 709. | Transfer sequence flow for SMBus target receiver N bytes + PEC . . . . . | 2268 |
| Figure 710. | Bus transfer diagrams for SMBus target receiver (SBC = 1) . . . . . | 2269 |
| Figure 711. | Bus transfer diagrams for SMBus controller transmitter . . . . . | 2270 |
| Figure 712. | Bus transfer diagrams for SMBus controller receiver . . . . . | 2272 |
| Figure 713. | I3C block diagram . . . . . | 2296 |
| Figure 714. | I3C (primary) controller state and programming sequence diagram. . . . . | 2300 |
| Figure 715. | I3C target state and programming sequence diagram . . . . . | 2305 |
| Figure 716. | I3C CCC messages, as controller . . . . . | 2319 |
| Figure 717. | I3C broadcast ENTDAA CCC, as controller . . . . . | 2320 |
| Figure 718. | I3C broadcast, direct read and direct write RSTACT CCC, as controller . . . . . | 2321 |
| Figure 719. | I3C CCC messages, as target . . . . . | 2323 |
| Figure 720. | I3C broadcast ENTDAA CCC, as target. . . . . | 2324 |
| Figure 721. | I3C broadcast DEFTGTS CCC, as target. . . . . | 2325 |
| Figure 722. | I3C broadcast DEFGRPA CCC, as target . . . . . | 2326 |
| Figure 723. | I3C private read/write messages, as controller. . . . . | 2328 |
| Figure 724. | I3C private read/write messages, as target . . . . . | 2329 |
| Figure 725. | Legacy I2C read/write messages, as controller . . . . . | 2330 |
| Figure 726. | IBI transfer, as controller/target . . . . . | 2331 |
| Figure 727. | Hot-join request transfer, as controller/target . . . . . | 2332 |
| Figure 728. | Controller-role request transfer, as controller/target . . . . . | 2333 |
| Figure 729. | C-FIFO management, as controller . . . . . | 2334 |
| Figure 730. | TX-FIFO management, as controller . . . . . | 2336 |
| Figure 731. | RX-FIFO management, as controller . . . . . | 2338 |
| Figure 732. | S-FIFO management, as controller . . . . . | 2341 |
| Figure 733. | RX-FIFO management, as target on the I3C bus . . . . . | 2342 |
| Figure 734. | TX-FIFO management with I3C_TGTTDR, as target on the I3C bus. . . . . | 2344 |
| Figure 735. | TX-FIFO management by software without I3C_TGTTDR if reading less bytes than TX-FIFO size, as target. . . . . | 2346 |
| Figure 736. | USART block diagram . . . . . | 2404 |
| Figure 737. | Word length programming . . . . . | 2408 |
| Figure 738. | Configurable stop bits . . . . . | 2410 |
| Figure 739. | TC/TXE behavior when transmitting . . . . . | 2412 |
| Figure 740. | Start bit detection when oversampling by 16 or 8. . . . . | 2413 |
| Figure 741. | usart_ker_ck clock divider block diagram . . . . . | 2416 |
| Figure 742. | Data sampling when oversampling by 16 . . . . . | 2417 |
| Figure 743. | Data sampling when oversampling by 8 . . . . . | 2418 |
| Figure 744. | Mute mode using Idle line detection . . . . . | 2425 |
| Figure 745. | Mute mode using address mark detection . . . . . | 2426 |
| Figure 746. | Break detection in LIN mode (11-bit break length - LBDL bit is set) . . . . . | 2429 |
| Figure 747. | Break detection in LIN mode vs. Framing error detection. . . . . | 2430 |
| Figure 748. | USART example of synchronous master transmission. . . . . | 2431 |
| Figure 749. | USART data clock timing diagram in synchronous master mode (M bits = 00) . . . . . | 2431 |
| Figure 750. | USART data clock timing diagram in synchronous master mode (M bits = 01) . . . . . | 2432 |
| Figure 751. | USART data clock timing diagram in synchronous slave mode (M bits = 00) . . . . . | 2433 |
| Figure 752. | ISO 7816-3 asynchronous protocol . . . . . | 2435 |
| Figure 753. | Parity error detection using the 1.5 stop bits . . . . . | 2437 |
| Figure 754. | IrDA SIR ENDEC block diagram. . . . . | 2441 |
| Figure 755. | IrDA data modulation (3/16) - normal mode . . . . . | 2441 |
| Figure 756. | Transmission using DMA . . . . . | 2443 |
| Figure 757. | Reception using DMA . . . . . | 2444 |
| Figure 758. | Hardware flow control between two USARTs. . . . . | 2444 |
| Figure 759. | RS232 RTS flow control . . . . . | 2445 |
| Figure 760. | RS232 CTS flow control . . . . . | 2446 |
| Figure 761. | Wake-up event verified (wake-up event = address match, FIFO disabled) . . . . . | 2449 |
| Figure 762. | Wake-up event not verified (wake-up event = address match, FIFO disabled) . . . . . | 2449 |
| Figure 763. | LPUART block diagram . . . . . | 2494 |
| Figure 764. | LPUART word length programming . . . . . | 2497 |
| Figure 765. | Configurable stop bits . . . . . | 2499 |
| Figure 766. | TC/TXE behavior when transmitting . . . . . | 2501 |
| Figure 767. | lpuart_ker_ck clock divider block diagram . . . . . | 2505 |
| Figure 768. | Mute mode using Idle line detection . . . . . | 2509 |
| Figure 769. | Mute mode using address mark detection . . . . . | 2510 |
| Figure 770. | Transmission using DMA . . . . . | 2512 |
| Figure 771. | Reception using DMA . . . . . | 2513 |
| Figure 772. | Hardware flow control between two LPUARTs. . . . . | 2514 |
| Figure 773. | RS232 RTS flow control . . . . . | 2514 |
| Figure 774. | RS232 CTS flow control . . . . . | 2515 |
| Figure 775. | Wake-up event verified (wake-up event = address match, FIFO disabled) . . . . . | 2518 |
| Figure 776. | Wake-up event not verified (wake-up event = address match, FIFO disabled) . . . . . | 2518 |
| Figure 777. | SPI/I2S block diagram . . . . . | 2550 |
| Figure 778. | Full-duplex single master/ single slave application. . . . . | 2553 |
| Figure 779. | Half-duplex single master/ single slave application . . . . . | 2554 |
| Figure 780. | Simplex single master / single slave application (master in transmit-only / slave in receive-only mode) . . . . . | 2555 |
| Figure 781. | Master and three independent slaves connected in star topology . . . . . | 2556 |
| Figure 782. | Master and three slaves connected in circular (daisy chain) topology . . . . . | 2558 |
| Figure 783. | Multimaster application . . . . . | 2559 |
| Figure 784. | Scheme of NSS control logic . . . . . | 2561 |
| Figure 785. | Data flow timing control (SSOE = 1, SSOM = 0, SSM = 0) . . . . . | 2561 |
| Figure 786. NSS interleaving pulses between data (SSOE = 1, SSOM = 1, SSM = 0) . . . . . | 2562 |
| Figure 787. Data clock timing diagram . . . . . | 2564 |
| Figure 788. Data alignment when data size is not equal to 8, 16 or 32 bits . . . . . | 2565 |
| Figure 789. TI mode transfer . . . . . | 2574 |
| Figure 790. Optional configurations of the slave behavior when an underrun condition is detected . . . . . | 2576 |
| Figure 791. Waveform examples . . . . . | 2584 |
| Figure 792. Master I2S Philips protocol waveforms (16/32-bit full accuracy) . . . . . | 2585 |
| Figure 793. I2S Philips standard waveforms . . . . . | 2585 |
| Figure 794. Master MSB-justified 16- or 32-bit full-accuracy length . . . . . | 2586 |
| Figure 795. Master MSB-justified 16- or 24-bit data length . . . . . | 2586 |
| Figure 796. Slave MSB-justified 16-, 24- or 32-bit data length . . . . . | 2587 |
| Figure 797. LSB-justified 16 or 24-bit data length . . . . . | 2587 |
| Figure 798. Master PCM when the frame length is equal the data length . . . . . | 2588 |
| Figure 799. Master PCM standard waveforms (16 or 24-bit data length) . . . . . | 2588 |
| Figure 800. Slave PCM waveforms . . . . . | 2589 |
| Figure 801. Startup sequence, I2S Philips standard, master . . . . . | 2592 |
| Figure 802. Startup sequence, I2S Philips standard, slave . . . . . | 2593 |
| Figure 803. Stop sequence, I2S Philips standard, master . . . . . | 2593 |
| Figure 804. I 2 S clock generator architecture . . . . . | 2594 |
| Figure 805. Data Format . . . . . | 2596 |
| Figure 806. Handling of underrun situation . . . . . | 2598 |
| Figure 807. Handling of overrun situation . . . . . | 2599 |
| Figure 808. Frame error detection, with FIXCH = 0 . . . . . | 2600 |
| Figure 809. Frame error detection, with FIXCH = 1 . . . . . | 2600 |
| Figure 810. SAI functional block diagram . . . . . | 2626 |
| Figure 811. Audio frame . . . . . | 2630 |
| Figure 812. FS role is start of frame + channel side identification (FSDEF = TRIS = 1) . . . . . | 2632 |
| Figure 813. FS role is start of frame (FSDEF = 0) . . . . . | 2633 |
| Figure 814. Slot size configuration with FBOFF = 0 in SAI_xSLOTR . . . . . | 2634 |
| Figure 815. First bit offset . . . . . | 2634 |
| Figure 816. Audio block clock generator overview . . . . . | 2636 |
| Figure 817. PDM typical connection and timing . . . . . | 2640 |
| Figure 818. Detailed PDM interface block diagram . . . . . | 2641 |
| Figure 819. Start-up sequence . . . . . | 2642 |
| Figure 820. SAI_ADR format in TDM mode, 32-bit slot width . . . . . | 2643 |
| Figure 821. SAI_ADR format in TDM mode, 16-bit slot width . . . . . | 2644 |
| Figure 822. SAI_ADR format in TDM mode, 8-bit slot width . . . . . | 2645 |
| Figure 823. AC'97 audio frame . . . . . | 2648 |
| Figure 824. Example of typical AC'97 configuration on devices featuring at least two embedded SAIs (three external AC'97 decoders) . . . . . | 2649 |
| Figure 825. SPDIF format . . . . . | 2650 |
| Figure 826. SAI_xDR register ordering . . . . . | 2651 |
| Figure 827. Data companding hardware in an audio block in the SAI . . . . . | 2654 |
| Figure 828. Tristate strategy on SD output line on an inactive slot . . . . . | 2656 |
| Figure 829. Tristate on output data line in a protocol like I2S . . . . . | 2657 |
| Figure 830. Overrun detection error . . . . . | 2658 |
| Figure 831. FIFO underrun event . . . . . | 2658 |
| Figure 832. SPDIFRX block diagram . . . . . | 2693 |
| Figure 833. S/PDIF sub-frame format . . . . . | 2694 |
| Figure 834. S/PDIF block format . . . . . | 2695 |
| Figure 835. S/PDIF preambles . . . . . | 2695 |
| Figure 836. Channel coding example . . . . . | 2696 |
| Figure 837. SPDIFRX decoder . . . . . | 2697 |
| Figure 838. Noise filtering and edge detection . . . . . | 2697 |
| Figure 839. Thresholds . . . . . | 2699 |
| Figure 840. Synchronization flowchart. . . . . | 2701 |
| Figure 841. Synchronization process scheduling . . . . . | 2702 |
| Figure 842. SPDIFRX states . . . . . | 2703 |
| Figure 843. SPDIFRX_FMTx_DR register format . . . . . | 2705 |
| Figure 844. Channel/user data format . . . . . | 2706 |
| Figure 845. S/PDIF overrun error when RXSTEO = 0 . . . . . | 2708 |
| Figure 846. S/PDIF overrun error when RXSTEO = 1 . . . . . | 2709 |
| Figure 847. SPDIFRX interface interrupt mapping diagram . . . . . | 2712 |
| Figure 848. MDIOS block diagram . . . . . | 2727 |
| Figure 849. MDIO protocol write frame waveform . . . . . | 2728 |
| Figure 850. MDIO protocol read frame waveform . . . . . | 2728 |
| Figure 851. SDMMC “no response” and “no data” operations. . . . . | 2740 |
| Figure 852. SDMMC (multiple) block read operation . . . . . | 2740 |
| Figure 853. SDMMC (multiple) block write operation. . . . . | 2741 |
| Figure 854. SDMMC (sequential) stream read operation . . . . . | 2741 |
| Figure 855. SDMMC (sequential) stream write operation . . . . . | 2741 |
| Figure 856. SDMMC block diagram. . . . . | 2743 |
| Figure 857. SDMMC Command and data phase relation . . . . . | 2745 |
| Figure 858. Control unit . . . . . | 2747 |
| Figure 859. Command/response path . . . . . | 2748 |
| Figure 860. Command path state machine (CPSM) . . . . . | 2749 |
| Figure 861. Data path . . . . . | 2755 |
| Figure 862. DDR mode data packet clocking . . . . . | 2756 |
| Figure 863. DDR mode CRC status / boot acknowledgment clocking. . . . . | 2756 |
| Figure 864. Data path state machine (DPSM) . . . . . | 2757 |
| Figure 865. CLKMUX unit . . . . . | 2768 |
| Figure 866. Linked list structures . . . . . | 2770 |
| Figure 867. Asynchronous interrupt generation. . . . . | 2773 |
| Figure 868. Synchronous interrupt period data read . . . . . | 2774 |
| Figure 869. Synchronous interrupt period data write . . . . . | 2774 |
| Figure 870. Asynchronous interrupt period data read . . . . . | 2775 |
| Figure 871. Asynchronous interrupt period data write . . . . . | 2776 |
| Figure 872. Clock stop with SDMMC_CK for DS, HS, SDR12, SDR25. . . . . | 2779 |
| Figure 873. Clock stop with SDMMC_CK for DDR50, SDR50, SDR104. . . . . | 2779 |
| Figure 874. Read Wait with SDMMC_CK < 50 MHz . . . . . | 2780 |
| Figure 875. Read Wait with SDMMC_CK > 50 MHz . . . . . | 2780 |
| Figure 876. CMD12 stream timing . . . . . | 2783 |
| Figure 877. CMD5 Sleep Awake procedure . . . . . | 2785 |
| Figure 878. Normal boot mode operation . . . . . | 2787 |
| Figure 879. Alternative boot mode operation. . . . . | 2788 |
| Figure 880. Command response R1b busy signaling . . . . . | 2789 |
| Figure 881. SDMMC state control . . . . . | 2790 |
| Figure 882. Card cycle power / power up diagram . . . . . | 2791 |
| Figure 883. CMD11 signal voltage switch sequence . . . . . | 2792 |
| Figure 884. Voltage switch transceiver typical application. . . . . | 2794 |
| Figure 885. CAN subsystem. . . . . | 2822 |
| Figure 886. FDCAN block diagram . . . . . | 2824 |
| Figure 887. Bit timing . . . . . | 2826 |
| Figure 888. Transceiver delay measurement . . . . . | 2831 |
| Figure 889. Pin control in bus monitoring mode . . . . . | 2832 |
| Figure 890. Pin control in loop-back mode . . . . . | 2835 |
| Figure 891. CAN error state diagram. . . . . | 2836 |
| Figure 892. Message RAM configuration. . . . . | 2837 |
| Figure 893. Standard message ID filter path . . . . . | 2840 |
| Figure 894. Extended message ID filter path. . . . . | 2841 |
| Figure 895. OTG_FS full-speed block diagram . . . . . | 2891 |
| Figure 896. OTG_FS A-B device connection. . . . . | 2893 |
| Figure 897. OTG_FS peripheral-only connection . . . . . | 2894 |
| Figure 898. OTG_FS host-only connection . . . . . | 2898 |
| Figure 899. SOF connectivity (SOF trigger output to TIM and ITR1 connection) . . . . . | 2902 |
| Figure 900. Updating OTG_HFIR dynamically (RLDCTRL = 1) . . . . . | 2904 |
| Figure 901. Device-mode FIFO address mapping and AHB FIFO access mapping . . . . . | 2905 |
| Figure 902. Host-mode FIFO address mapping and AHB FIFO access mapping. . . . . | 2906 |
| Figure 903. Interrupt hierarchy. . . . . | 2910 |
| Figure 904. Transmit FIFO write task . . . . . | 3002 |
| Figure 905. Receive FIFO read task . . . . . | 3003 |
| Figure 906. Normal bulk/control OUT/SETUP . . . . . | 3004 |
| Figure 907. Bulk/control IN transactions . . . . . | 3008 |
| Figure 908. Normal interrupt OUT . . . . . | 3011 |
| Figure 909. Normal interrupt IN . . . . . | 3016 |
| Figure 910. Isochronous OUT transactions . . . . . | 3018 |
| Figure 911. Isochronous IN transactions . . . . . | 3021 |
| Figure 912. Receive FIFO packet read . . . . . | 3025 |
| Figure 913. Processing a SETUP packet . . . . . | 3027 |
| Figure 914. Bulk OUT transaction . . . . . | 3034 |
| Figure 915. TRDT max timing case . . . . . | 3044 |
| Figure 916. OTG_HS high-speed block diagram. . . . . | 3049 |
| Figure 917. OTG_HS A-B device connection . . . . . | 3051 |
| Figure 918. OTG_HS peripheral-only connection . . . . . | 3052 |
| Figure 919. OTG_HS host-only connection . . . . . | 3056 |
| Figure 920. SOF connectivity (SOF trigger output to TIM and ITR1 connection) . . . . . | 3060 |
| Figure 921. Updating OTG_HFIR dynamically (RLDCTRL = 1) . . . . . | 3062 |
| Figure 922. Device-mode FIFO address mapping and AHB FIFO access mapping . . . . . | 3063 |
| Figure 923. Host-mode FIFO address mapping and AHB FIFO access mapping. . . . . | 3064 |
| Figure 924. Interrupt hierarchy. . . . . | 3068 |
| Figure 925. Transmit FIFO write task . . . . . | 3161 |
| Figure 926. Receive FIFO read task . . . . . | 3162 |
| Figure 927. Normal bulk/control OUT/SETUP . . . . . | 3163 |
| Figure 928. Bulk/control IN transactions . . . . . | 3167 |
| Figure 929. Normal interrupt OUT . . . . . | 3170 |
| Figure 930. Normal interrupt IN . . . . . | 3175 |
| Figure 931. Isochronous OUT transactions . . . . . | 3177 |
| Figure 932. Isochronous IN transactions . . . . . | 3180 |
| Figure 933. Normal bulk/control OUT/SETUP transactions - DMA . . . . . | 3182 |
| Figure 934. Normal bulk/control IN transaction - DMA. . . . . | 3184 |
| Figure 935. Normal interrupt OUT transactions - DMA mode . . . . . | 3185 |
| Figure 936. Normal interrupt IN transactions - DMA mode . . . . . | 3186 |
| Figure 937. Normal isochronous OUT transaction - DMA mode . . . . . | 3187 |
| Figure 938. Normal isochronous IN transactions - DMA mode . . . . . | 3188 |
| Figure 939. Receive FIFO packet read . . . . . | 3194 |
| Figure 940. Processing a SETUP packet . . . . . | 3196 |
| Figure 941. Bulk OUT transaction . . . . . | 3203 |
| Figure 942. TRDT max timing case . . . . . | 3212 |
| Figure 943. UCPD block diagram . . . . . | 3216 |
| Figure 944. Clock division and timing elements. . . . . | 3218 |
| Figure 945. K-code transmission . . . . . | 3220 |
| Figure 946. Transmit order for various sizes of data . . . . . | 3221 |
| Figure 947. Packet format . . . . . | 3222 |
| Figure 948. Line format of Hard Reset. . . . . | 3222 |
| Figure 949. Line format of Cable Reset. . . . . | 3223 |
| Figure 950. BIST test data frame. . . . . | 3224 |
| Figure 951. BIST Carrier Mode 2 frame. . . . . | 3224 |
| Figure 952. UCPD BMC transmitter architecture. . . . . | 3225 |
| Figure 953. UCPD BMC receiver architecture . . . . . | 3226 |
| Figure 954. Ethernet high-level block diagram . . . . . | 3259 |
| Figure 955. DMA transmission flow (standard mode) . . . . . | 3262 |
| Figure 956. DMA transmission flow (OSP mode) . . . . . | 3264 |
| Figure 957. Receive DMA flow . . . . . | 3266 |
| Figure 958. Overview of MAC transmission flow . . . . . | 3270 |
| Figure 959. MAC reception flow . . . . . | 3272 |
| Figure 960. Packet filtering sequence . . . . . | 3276 |
| Figure 961. Networked time synchronization. . . . . | 3286 |
| Figure 962. Propagation delay calculation in clocks supporting peer-to-peer path correction . . . . . | 3287 |
| Figure 963. System time update using fine correction method . . . . . | 3297 |
| Figure 964. TCP segmentation offload overview. . . . . | 3314 |
| Figure 965. TCP segmentation offload flow. . . . . | 3315 |
| Figure 966. Header and payload fields of segmented packets . . . . . | 3318 |
| Figure 967. Supported PHY interfaces . . . . . | 3327 |
| Figure 968. SMA Interface block . . . . . | 3327 |
| Figure 969. MDIO packet structure (Clause 45) . . . . . | 3328 |
| Figure 970. MDIO packet structure (Clause 22) . . . . . | 3329 |
| Figure 971. SMA write operation flow . . . . . | 3331 |
| Figure 972. Write data packet . . . . . | 3332 |
| Figure 973. Read data packet . . . . . | 3332 |
| Figure 974. Media independent interface (MII) signals . . . . . | 3334 |
| Figure 975. RMII block diagram. . . . . | 3336 |
| Figure 976. Transmission bit order . . . . . | 3337 |
| Figure 977. Receive bit order. . . . . | 3338 |
| Figure 978. LPI transitions (Transmit, 100 Mbds) . . . . . | 3346 |
| Figure 979. LPI Tx clock gating (when LPITCSE = 1) . . . . . | 3347 |
| Figure 980. LPI transitions (receive, 100 Mbit/s) . . . . . | 3348 |
| Figure 981. Descriptor ring structure . . . . . | 3369 |
| Figure 982. DMA descriptor ring . . . . . | 3371 |
| Figure 983. Descriptor tail pointer example 1 . . . . . | 3371 |
| Figure 984. Descriptor tail pointer example 2 . . . . . | 3372 |
| Figure 985. Transmit descriptor (read format) . . . . . | 3373 |
| Figure 986. Transmit descriptor write-back format. . . . . | 3378 |
| Figure 987. Transmit context descriptor format. . . . . | 3382 |
| Figure 988. Receive normal descriptor (read format) . . . . . | 3385 |
| Figure 989. Receive normal descriptor (write-back format). . . . . | 3387 |
| Figure 990. Receive context descriptor . . . . . | 3395 |
| Figure 991. Generation of ETH_DMAISR flags . . . . . | 3410 |
| Figure 992. HDMI-CEC block diagram . . . . . | 3524 |
| Figure 993. Message structure . . . . . | 3524 |
| Figure 994. Blocks . . . . . | 3525 |
| Figure 995. Bit timings . . . . . | 3525 |
| Figure 996. Signal free time . . . . . | 3526 |
| Figure 997. Arbitration phase . . . . . | 3526 |
| Figure 998. SFT of three nominal bit periods . . . . . | 3526 |
| Figure 999. Error bit timing . . . . . | 3527 |
| Figure 1000. Error handling . . . . . | 3529 |
| Figure 1001. TXERR detection . . . . . | 3530 |
| Figure 1002. Block diagram of debug infrastructure . . . . . | 3541 |
| Figure 1003. Clock domains of debug infrastructure . . . . . | 3542 |
| Figure 1004. Product life cycle states and debug authentication . . . . . | 3545 |
| Figure 1005. SWD successful data transfer . . . . . | 3548 |
| Figure 1006. JTAG TAP state machine . . . . . | 3549 |
| Figure 1007. Debug and access port connections . . . . . | 3562 |
| Figure 1008. APB-D CoreSight component topology . . . . . | 3575 |
| Figure 1009. Embedded cross trigger . . . . . | 3582 |
| Figure 1010. Mapping of trigger inputs to outputs . . . . . | 3584 |
| Figure 1011. ETF state transition diagram . . . . . | 3614 |
| Figure 1012. Cortex-M7 CoreSight Topology . . . . . | 3684 |
Chapters
- 1. Documentation conventions
- 2. Memory and bus architecture
- 3. RAMECC monitoring (RAMECC)
- 4. System security
- 5. Embedded flash memory (FLASH)
- 6. Power control (PWR)
- 7. Reset and clock control (RCC)
- 8. System configuration, boot and security (SBS)
- 9. Clock recovery system (CRS)
- 10. General-purpose I/Os (GPIO)
- 11. Peripheral interconnect
- 12. General purpose direct memory access controller (GPDMA)
- 13. High-performance direct memory access controller (HPDMA)
- 14. Chrom-GRC (GFXMMU)
- 15. Chrom-ART Accelerator controller (DMA2D)
- 16. Neo-Chrom graphic processor (GPU2D)
- 17. Texture cache (ICACHE)
- 18. Graphic timer (GFXTIM)
- 19. Nested vectored interrupt controller (NVIC)
- 20. Extended interrupt and event controller (EXTI)
- 21. Cyclic redundancy check calculation unit (CRC)
- 22. CORDIC coprocessor (CORDIC)
- 23. Flexible memory controller (FMC)
- 24. Extended-SPI interface (XSPI)
- 25. XSPI I/O manager (XSPIM)
- 26. Delay block (DLYB)
- 27. Analog-to-digital converters (ADC1/2)
- 28. Digital temperature sensor (DTS)
- 29. Voltage reference buffer (VREFBUF)
- 30. Audio digital filter (ADF)
- 31. Digital camera interface pixel pipeline (DCMIPP)
- 32. Parallel synchronous slave interface (PSSI)
- 33. LCD-TFT display controller (LTDC)
- 34. JPEG codec (JPEG)
- 35. True random number generator (RNG)
- 36. Secure AES coprocessor (SAES)
- 37. Cryptographic processor (CRYP)
- 38. Hash processor (HASH)
- 39. Memory cipher engine (MCE)
- 40. Public key accelerator (PKA)
- 41. Advanced-control timers (TIM1)
- 42. General-purpose timers (TIM2/TIM3/TIM4/TIM5)
- 43. Basic timers (TIM6/TIM7)
- 44. General-purpose timers (TIM9/TIM12/TIM13/TIM14)
- 45. General purpose timers (TIM15/TIM16/TIM17)
- 46. Low-power timer (LPTIM)
- 47. System window watchdog (WWDG)
- 48. Independent watchdog (IWDG)
- 49. Real-time clock (RTC)
- 50. Tamper and backup registers (TAMP)
- 51. Inter-integrated circuit interface (I2C)
- 52. Improved inter-integrated circuit (I3C)
- 53. Universal synchronous/asynchronous receiver transmitter (USART/UART)
- 54. Low-power universal asynchronous receiver transmitter (LPUART)
- 55. Serial peripheral interface (SPI)
- 56. Serial audio interface (SAI)
- 57. SPDIF receiver interface (SPDIFRX)
- 58. Management data input/output (MDIOS)
- 59. Secure digital input/output MultiMediaCard interface (SDMMC)
- 60. FD controller area network (FDCAN)
- 61. USB on-the-go full-speed (OTG_FS)
- 62. USB on-the-go high-speed (OTG_HS)
- 63. USB Type-C ® /USB Power Delivery interface (UCPD)
- 64. Ethernet (ETH): media access control (MAC) with DMA controller
- 65. HDMI-CEC controller (CEC)
- 66. Debug infrastructure
- 67. Device electronic signature
- 68. Important security notice
- 69. Revision history
- Index