RM0456-STM32U5

This reference manual targets application developers. It provides complete information on how to use memory and peripherals of the STM32U5 series microcontrollers.

For ordering information, mechanical and electrical device characteristics, refer to the corresponding datasheets.

For information on the Arm ® Cortex ® -Mx cores, refer to the corresponding Arm ® Technical Reference Manuals available on http://infocenter.arm.com .

STM32U5 series microcontrollers include ST state-of-the-art patented technology.

Contents

3.2Secure install . . . . .152
3.3Secure boot . . . . .152
3.3.1Unique boot entry and BOOT_LOCK . . . . .153
3.3.2Immutable root of trust in system flash memory . . . . .153
3.4Secure update . . . . .153
3.5Resource isolation using TrustZone . . . . .154
3.5.1TrustZone security architecture . . . . .154
3.5.2Armv8-M security extension of Cortex-M33 . . . . .155
3.5.3Memory and peripheral allocation using IDAU/SAU . . . . .155
3.5.4Memory and peripheral allocation using GTZC . . . . .157
3.5.5Managing security in TrustZone-aware peripherals . . . . .161
3.5.6Activating TrustZone security . . . . .168
3.5.7Deactivating TrustZone security . . . . .169
3.6Other resource isolations . . . . .169
3.6.1Temporal isolation using secure hide protection (HDP) . . . . .169
3.6.2RSSLIB functions . . . . .170
3.6.3Resource isolation using Cortex privileged mode . . . . .171
3.7Secure execution . . . . .175
3.7.1Memory protection unit (MPU) . . . . .175
3.7.2Embedded flash memory write protection . . . . .176
3.7.3Tamper detection and response . . . . .176
3.8Secure storage . . . . .178
3.8.1Hardware secret key management . . . . .179
3.8.2Unique ID . . . . .180
3.9Cryptographic engines . . . . .180
3.9.1Cryptographic engines features . . . . .180
3.9.2Secure AES co-processor (SAES) . . . . .181
3.9.3On-the-fly decryption engine (OTFDEC) . . . . .182
3.10Product life-cycle . . . . .182
3.10.1Life-cycle management with readout protection (RDP) . . . . .184
3.10.2Recommended option-byte settings . . . . .187
3.11Access controlled debug . . . . .187
3.11.1Debug protection with readout protection (RDP) . . . . .187
3.12Software intellectual property protection and collaborative development . . . . .188
3.12.1Software intellectual property protection with RDP . . . . .189
3.12.2Software intellectual property protection with OTFDEC . . . . .189
5.7.2GTZC1 TZIC interrupt enable register 2 (GTZC1_TZIC_IER2) . . . . .227
5.7.3GTZC1 TZIC interrupt enable register 3 (GTZC1_TZIC_IER3) . . . . .229
5.7.4GTZC1 TZIC interrupt enable register 4 (GTZC1_TZIC_IER4) . . . . .232
5.7.5GTZC1 TZIC status register 1 (GTZC1_TZIC_SR1) . . . . .235
5.7.6GTZC1 TZIC status register 2 (GTZC1_TZIC_SR2) . . . . .237
5.7.7GTZC1 TZIC status register 3 (GTZC1_TZIC_SR3) . . . . .239
5.7.8GTZC1 TZIC status register 4 (GTZC1_TZIC_SR4) . . . . .242
5.7.9GTZC1 TZIC flag clear register 1 (GTZC1_TZIC_FCR1) . . . . .245
5.7.10GTZC1 TZIC flag clear register 2 (GTZC1_TZIC_FCR2) . . . . .247
5.7.11GTZC1 TZIC flag clear register 3 (GTZC1_TZIC_FCR3) . . . . .248
5.7.12GTZC1 TZIC flag clear register 4 (GTZC1_TZIC_FCR4) . . . . .252
5.7.13GTZC1 TZIC register map . . . . .254
5.8GTZC1 MPCBBz registers (z = 1, 2, 3, 5, 6) . . . . .256
5.8.1GTZC1 SRAMz MPCBB control register
(GTZC1_MPCBBz_CR) (z = 1, 2, 3, 5, 6) . . . . .
256
5.8.2GTZC1 SRAMz MPCBB configuration lock register 1
(GTZC1_MPCBBz_CFGLOCKR1) (z = 1, 2, 3, 5, 6) . . . . .
257
5.8.3GTZC1 SRAMz MPCBB configuration lock register 2
(GTZC1_MPCBBz_CFGLOCKR2) (z = 1, 2, 3, 5, 6) . . . . .
257
5.8.4GTZC1 SRAMz MPCBB security configuration for super-block x
register (GTZC1_MPCBBz_SECCFGRx) (z = 1, 2, 3, 5, 6) . . . . .
258
5.8.5GTZC1 SRAMz MPCBB privileged configuration for super-block x
register (GTZC1_MPCBBz_PRIVCFGRx) (z = 1, 2, 3, 5, 6) . . . . .
258
5.8.6GTZC1 MPCBBz register map (z = 1, 2, 3, 5, 6) . . . . .259
5.9GTZC2 TZSC registers . . . . .260
5.9.1GTZC2 TZSC control register (GTZC2_TZSC_CR) . . . . .260
5.9.2GTZC2 TZSC secure configuration register 1
(GTZC2_TZSC_SECCFGR1) . . . . .
260
5.9.3GTZC2 TZSC privilege configuration register 1
(GTZC2_TZSC_PRIVCFGR1) . . . . .
262
5.9.4GTZC2 TZSC register map . . . . .263
5.10GTZC2 TZIC registers . . . . .264
5.10.1GTZC2 TZIC interrupt enable register 1 (GTZC2_TZIC_IER1) . . . . .264
5.10.2GTZC2 TZIC interrupt enable register 2 (GTZC2_TZIC_IER2) . . . . .265
5.10.3GTZC2 TZIC status register 1 (GTZC2_TZIC_SR1) . . . . .266
5.10.4GTZC2 TZIC status register 2 (GTZC2_TZIC_SR2) . . . . .267
5.10.5GTZC2 TZIC flag clear register 1 (GTZC2_TZIC_FCR1) . . . . .269
5.10.6GTZC2 TZIC flag clear register 2 (GTZC2_TZIC_FCR2) . . . . .270
5.10.7GTZC2 TZIC register map . . . . .271
5.11GTZC2 MPCBB4 registers . . . . .272
5.11.1GTZC2 SRAM4 MPCBB control register (GTZC2_MPCBB4_CR) . . .272
5.11.2GTZC2 SRAM4 MPCBB configuration lock register 1
(GTZC2_MPCBB4_CFGLOCKR1) . . . . .
273
5.11.3GTZC2 SRAM4 MPCBB security configuration for super-block 0
register (GTZC2_MPCBB4_SECCFGGR0) . . . . .
273
5.11.4GTZC2 SRAM4 MPCBB privileged configuration for super-block 0
register (GTZC2_MPCBB4_PRIVCFGGR0) . . . . .
274
5.11.5GTZC2 MPCBB4 register map . . . . .274
6RAM configuration controller (RAMCFG) . . . . .276
6.1RAMCFG introduction . . . . .276
6.2RAMCFG main features . . . . .276
6.3RAMCFG functional description . . . . .276
6.3.1Internal SRAMs features . . . . .276
6.3.2Error code correction (SRAM2, SRAM3, BKPSRAM) . . . . .277
6.3.3Write protection (SRAM2) . . . . .280
6.3.4Read access latency . . . . .280
6.3.5Software erase . . . . .280
6.4RAMCFG low-power modes . . . . .281
6.5RAMCFG interrupts . . . . .281
6.6RAMCFG registers . . . . .282
6.6.1RAMCFG memory x control register (RAMCFG_MxCR) . . . . .282
6.6.2RAMCFG memory x interrupt enable register (RAMCFG_MxIER) . . .283
6.6.3RAMCFG memory interrupt status register (RAMCFG_MxISR) . . . . .283
6.6.4RAMCFG memory x ECC single error address register
(RAMCFG_MxSEAR) . . . . .
284
6.6.5RAMCFG memory x ECC double error address register
(RAMCFG_MxDEAR) . . . . .
285
6.6.6RAMCFG memory x interrupt clear register x (RAMCFG_MxICR) . . .285
6.6.7RAMCFG memory 2 write protection register 1
(RAMCFG_M2WPR1) . . . . .
286
6.6.8RAMCFG memory 2 write protection register 2
(RAMCFG_M2WPR2) . . . . .
286
6.6.9RAMCFG memory x ECC key register (RAMCFG_MxECCKEYR) . . .286
6.6.10RAMCFG memory x erase key register (RAMCFG_MxERKEYR) . . .287
6.6.11RAMCFG register map . . . . .287
7Embedded flash memory (FLASH) . . . . .291
7.1FLASH introduction . . . . .291
7.2FLASH main features . . . . .291
7.3FLASH functional description . . . . .292
7.3.1Flash memory organization . . . . .292
7.3.2Error code correction (ECC) . . . . .294
7.3.3Read access latency . . . . .295
7.3.4Bank power-down mode . . . . .297
7.3.5Flash memory program and erase operations . . . . .298
7.3.6Flash main memory erase sequences . . . . .299
7.3.7Flash main memory programming sequences . . . . .300
7.3.8Flash memory endurance . . . . .302
7.3.9Flash memory errors flags . . . . .302
7.3.10Read-while-write (RWW) . . . . .304
7.3.11Power-down during FLASH programming or erase operation . . . . .304
7.3.12Reset during FLASH programming or erase operation . . . . .304
7.4FLASH option bytes . . . . .305
7.4.1Option bytes description . . . . .305
7.4.2Option-byte programming . . . . .307
7.5FLASH TrustZone security and privilege protections . . . . .308
7.5.1TrustZone security protection . . . . .308
7.5.2Watermark-based secure flash memory area protection . . . . .309
7.5.3Secure hide protection (HDP) . . . . .310
7.5.4Block-based secure flash memory area protection . . . . .311
7.5.5Flash security attribute state . . . . .312
7.5.6Block-based privileged flash memory area protection . . . . .312
7.5.7Flash memory registers privileged and unprivileged modes . . . . .313
7.5.8Flash memory bank attributes in case of bank swap . . . . .313
7.6FLASH memory protection . . . . .314
7.6.1Write protection (WRP) . . . . .315
7.6.2Readout protection (RDP) . . . . .316
7.7Flash memory and FLASH registers access control . . . . .325
7.8FLASH interrupts . . . . .329
7.9FLASH registers . . . . .329
7.9.1FLASH access control register (FLASH_ACR) . . . . .329
7.9.2FLASH nonsecure key register (FLASH_NSKEYR) . . . . .331
7.9.3FLASH secure key register (FLASH_SECKEYR) . . . . .331

8.1ICACHE introduction . . . . .364
8.2ICACHE main features . . . . .364
8.3ICACHE implementation . . . . .365
8.4ICACHE functional description . . . . .366
8.4.1ICACHE block diagram . . . . .366
8.4.2ICACHE reset and clocks . . . . .367
8.4.3ICACHE TAG memory . . . . .367
8.4.4Direct-mapped ICACHE (1-way cache) . . . . .368
8.4.5ICACHE enable . . . . .369
8.4.6Cacheable and noncacheable traffic . . . . .370
8.4.7Address remapping . . . . .371
8.4.8Cacheable accesses . . . . .373
8.4.9Dual-master cache . . . . .374
8.4.10ICACHE security . . . . .374
8.4.11ICACHE maintenance . . . . .374
8.4.12ICACHE performance monitoring . . . . .375
8.4.13ICACHE boot . . . . .375
8.5ICACHE low-power modes . . . . .375
8.6ICACHE error management and interrupts . . . . .376
8.7ICACHE registers . . . . .376
8.7.1ICACHE control register (ICACHE_CR) . . . . .376
8.7.2ICACHE status register (ICACHE_SR) . . . . .377
8.7.3ICACHE interrupt enable register (ICACHE_IER) . . . . .378
8.7.4ICACHE flag clear register (ICACHE_FCR) . . . . .378
8.7.5ICACHE hit monitor register (ICACHE_HMONR) . . . . .379
8.7.6ICACHE miss monitor register (ICACHE_MMONR) . . . . .379
8.7.7ICACHE region x configuration register (ICACHE_CRRx) . . . . .379
8.7.8ICACHE register map . . . . .380
9Data cache (DCACHE) . . . . .382
9.1DCACHE introduction . . . . .382
9.2DCACHE main features . . . . .382
9.3DCACHE implementation . . . . .383
9.4DCACHE functional description . . . . .384
9.4.1DCACHE block diagram . . . . .384
9.4.2DCACHE reset and clocks . . . . .385
9.4.3DCACHE TAG memory . . . . .385
9.4.4DCACHE enable . . . . .387
9.4.5Cacheable and noncacheable traffic . . . . .387
9.4.6Cacheable accesses . . . . .388
9.4.7DCACHE security . . . . .390
9.4.8DCACHE maintenance . . . . .390
9.4.9DCACHE performance monitoring . . . . .392
9.4.10DCACHE boot . . . . .392
9.5DCACHE low-power modes . . . . .393
9.6DCACHE error management and interrupts . . . . .393
9.7DCACHE registers . . . . .394
9.7.1DCACHE control register (DCACHE_CR) . . . . .394
9.7.2DCACHE status register (DCACHE_SR) . . . . .395
9.7.3DCACHE interrupt enable register (DCACHE_IER) . . . . .396
9.7.4DCACHE flag clear register (DCACHE_FCR) . . . . .397
9.7.5DCACHE read-hit monitor register (DCACHE_RHMONR) . . . . .397
9.7.6DCACHE read-miss monitor register (DCACHE_RMMONR) . . . . .398
9.7.7DCACHE write-hit monitor register (DCACHE_WHMONR) . . . . .398
9.7.8DCACHE write-miss monitor register (DCACHE_WMMONR) . . . . .398
9.7.9DCACHE command range start address register
(DCACHE_CMDRSADRR) . . . . .
399
9.7.10DCACHE command range end address register
(DCACHE_CMDREADRR) . . . . .
399
9.7.11DCACHE register map . . . . .399
10Power control (PWR) . . . . .401
10.1PWR introduction . . . . .401
10.2PWR main features . . . . .401
10.3PWR pins and internal signals . . . . .401
10.4PWR power supplies and supply domains . . . . .404
10.4.1External power supplies . . . . .404
10.4.2Internal regulators . . . . .406
10.4.3Power-up and power-down power sequences . . . . .406
10.4.4Independent analog peripherals supply . . . . .406
10.4.5Independent I/O supply rail . . . . .407
10.4.6Independent USB transceivers supply . . . . .407
10.4.7Battery backup domain (also known as RTC domain) . . . . .408
10.5PWR system supply voltage regulation . . . . .409
10.5.1SMPS and LDO embedded regulators . . . . .409
10.5.2LDO and SMPS versus reset, voltage scaling, and low-power modes409
10.5.3LDO and SMPS step down converter fast startup . . . . .410
10.5.4Dynamic voltage scaling management . . . . .410
10.6PWR power-supply supervision . . . . .412
10.6.1Brownout reset (BOR) . . . . .412
10.6.2Programmable voltage detector (PVD) . . . . .412
10.6.3Peripheral voltage monitoring (PVM) . . . . .413
10.6.4Backup domain voltage and temperature monitoring . . . . .415
10.7PWR power management . . . . .415
10.7.1Power modes . . . . .415
10.7.2Autonomous peripherals and low-power background autonomous mode
(LPBAM) 422
422
10.7.3Run mode . . . . .424
10.7.4Low-power modes . . . . .424
10.7.5Sleep mode . . . . .425
10.7.6Stop 0 mode . . . . .426
10.7.7Stop 1 mode . . . . .429
10.7.8Stop 2 mode . . . . .429
10.7.9Stop 3 mode . . . . .431
10.7.10Standby mode . . . . .434
10.7.11Shutdown mode . . . . .436
10.7.12USB power management in low-power modes
(STM32U59x/5Ax/5Fx/5Gx only) . . . . .
438
10.7.13Power modes output pins . . . . .439
10.8PWR security and privileged protection . . . . .440
10.8.1PWR security protection . . . . .440
10.8.2WR privileged protection . . . . .441
10.9PWR interrupts . . . . .442
10.10PWR registers . . . . .443
10.10.1PWR control register 1 (PWR_CR1) . . . . .443
10.10.2PWR control register 2 (PWR_CR2) . . . . .445
10.10.3PWR control register 3 (PWR_CR3) . . . . .449
10.10.4PWR voltage scaling register (PWR_VOSR) . . . . .449
10.10.5PWR supply voltage monitoring control register (PWR_SVMCR) . . . . .451
10.10.6PWR wake-up control register 1 (PWR_WUCR1) . . . . .452
10.10.7PWR wake-up control register 2 (PWR_WUCR2) . . . . .453
10.10.8PWR wake-up control register 3 (PWR_WUCR3) . . . . .455
10.10.9PWR backup domain control register 1 (PWR_BDCR1) . . . . .456
10.10.10PWR backup domain control register 2 (PWR_BDCR2) . . . . .457
10.10.11PWR disable backup domain register (PWR_DBPR) . . . . .458
10.10.12PWR UCPD register (PWR_UCPDR) . . . . .458
10.10.13PWR security configuration register (PWR_SECCFGR) . . . . .459
10.10.14PWR privilege control register (PWR_PRIVCFGR) . . . . .461
10.10.15PWR status register (PWR_SR) . . . . .461
10.10.16PWR supply voltage monitoring status register (PWR_SVMSR) . . . . .462
10.10.17PWR backup domain status register (PWR_BDSR) . . . . .463
10.10.18PWR wake-up status register (PWR_WUSR) . . . . .464
10.10.19PWR wake-up status clear register (PWR_WUSCR) . . . . .465
10.10.20PWR apply pull configuration register (PWR_APCR) . . . . .466
10.10.21PWR port A pull-up control register (PWR_PUCRA) . . . . .466
10.10.22PWR port A pull-down control register (PWR_PDCRA) . . . . .467
10.10.23PWR port B pull-up control register (PWR_PUCRB) . . . . .468
10.10.24PWR port B pull-down control register (PWR_PDCRB) . . . . .468
10.10.25PWR port C pull-up control register (PWR_PUCRC) . . . . .469
10.10.26PWR port C pull-down control register (PWR_PDCRC) . . . . .469
10.10.27PWR port D pull-up control register (PWR_PUCRD) . . . . .470
10.10.28PWR port D pull-down control register (PWR_PDCRD) . . . . .470
10.10.29PWR port E pull-up control register (PWR_PUCRE) . . . . .471
10.10.30PWR port E pull-down control register (PWR_PDCRE) . . . . .471
10.10.31PWR port F pull-up control register (PWR_PUCRF) . . . . .472
10.10.32PWR port F pull-down control register (PWR_PDCRF) . . . . .472
10.10.33PWR port G pull-up control register (PWR_PUCRG) . . . . .473
10.10.34PWR port G pull-down control register (PWR_PDCRG) . . . . .473
10.10.35PWR port H pull-up control register (PWR_PUCRH) . . . . .474
10.10.36PWR port H pull-down control register (PWR_PDCRH) . . . . .474
10.10.37PWR port I pull-up control register (PWR_PUCRI) . . . . .475
10.10.38PWR port I pull-down control register (PWR_PDCRI) . . . . .475
10.10.39PWR port J pull-up control register (PWR_PUCRJ) . . . . .476
10.10.40PWR port J pull-down control register (PWR_PDCRJ) . . . . .477
10.10.41PWR control register 4 (PWR_CR4) . . . . .477
10.10.42PWR control register 5 (PWR_CR5) . . . . .478
10.10.43PWR register map . . . . .479
11Reset and clock control (RCC) . . . . .483
11.1RCC introduction . . . . .483
11.2RCC pins and internal signals . . . . .483
11.3RCC reset functional description . . . . .483
11.3.1Power reset . . . . .483
11.3.2System reset . . . . .484
11.3.3Backup domain reset . . . . .485
11.4RCC clock functional description . . . . .485
11.4.1HSE clock . . . . .488
11.4.2HSI16 clock . . . . .489
11.4.3MSI (MSIS and MSIK) clocks . . . . .489
11.4.4HSI48 clock . . . . .492
11.4.5SHSI clock . . . . .492
11.4.6PLL . . . . .493
11.4.7LSE clock . . . . .496
11.4.8LSI clock . . . . .497
11.4.9System clock (SYSCLK) selection . . . . .497
11.4.10Clock source frequency versus voltage scaling . . . . .498
11.4.11Clock security system (CSS) . . . . .498
11.4.12Clock security system on LSE . . . . .499
11.4.13ADC and DAC clocks . . . . .499
11.4.14RTC and TAMP clock . . . . .500
11.4.15Timer clock . . . . .500
11.4.16Watchdog clock . . . . .500
11.4.17OCTOSPI clock . . . . .500
11.4.18HSPI1 clock . . . . .501
11.4.19OTG_HS clock . . . . .501
11.4.20DSI clock . . . . .501
11.4.21LTDC clock . . . . .501
11.4.22Clock-out capability . . . . .501
11.4.23Internal/external clock measurement with
TIM15/TIM16/TIM17/LPTIM1/LPTIM2 502
11.4.24Peripherals clock gating and autonomous mode . . . . .503
11.5RCC security and privilege functional description . . . . .505
11.5.1RCC TrustZone security protection modes . . . . .505
11.5.2RCC privilege protection modes . . . . .508
11.6RCC low-power modes . . . . .509
11.7RCC interrupts . . . . .510
11.8RCC registers . . . . .512
11.8.1RCC clock control register (RCC_CR) . . . . .512
11.8.2RCC internal clock sources calibration register 1 (RCC_ICSCR1) . . .516
11.8.3RCC internal clock sources calibration register 2 (RCC_ICSCR2) . . .518
11.8.4RCC internal clock sources calibration register 3 (RCC_ICSCR3) . . .519
11.8.5RCC clock recovery RC register (RCC_CRRRCR) . . . . .520
11.8.6RCC clock configuration register 1 (RCC_CFGR1) . . . . .520
11.8.7RCC clock configuration register 2 (RCC_CFGR2) . . . . .522
11.8.8RCC clock configuration register 3 (RCC_CFGR3) . . . . .524
11.8.9RCC PLL1 configuration register (RCC_PLL1CFGR) . . . . .525
11.8.10RCC PLL2 configuration register (RCC_PLL2CFGR) . . . . .527
11.8.11RCC PLL3 configuration register (RCC_PLL3CFGR) . . . . .528
11.8.12RCC PLL1 dividers register (RCC_PLL1DIVR) . . . . .530
11.8.13RCC PLL1 fractional divider register (RCC_PLL1FRACR) . . . . .531
11.8.14RCC PLL2 dividers configuration register (RCC_PLL2DIVR) . . . . .532
11.8.15RCC PLL2 fractional divider register (RCC_PLL2FRACR) . . . . .533
11.8.16RCC PLL3 dividers configuration register (RCC_PLL3DIVR) . . . . .534
11.8.17RCC PLL3 fractional divider register (RCC_PLL3FRACR) . . . . .535
11.8.18RCC clock interrupt enable register (RCC_CIER) . . . . .536
11.8.19RCC clock interrupt flag register (RCC_CIFR) . . . . .537
11.8.20RCC clock interrupt clear register (RCC_CICR) . . . . .539
11.8.21RCC AHB1 peripheral reset register (RCC_AHB1RSTR) . . . . .540
11.8.22RCC AHB2 peripheral reset register 1 (RCC_AHB2RSTR1) . . . . .542
11.8.23RCC AHB2 peripheral reset register 2 (RCC_AHB2RSTR2) . . . . .545
11.8.24RCC AHB3 peripheral reset register (RCC_AHB3RSTR) . . . . .546
11.8.25RCC APB1 peripheral reset register 1 (RCC_APB1RSTR1) . . . . .547
11.8.26RCC APB1 peripheral reset register 2 (RCC_APB1RSTR2) . . . . .549
11.8.27RCC APB2 peripheral reset register (RCC_APB2RSTR) . . . . .550
11.8.28RCC APB3 peripheral reset register (RCC_APB3RSTR) . . . . .552
11.8.29RCC AHB1 peripheral clock enable register (RCC_AHB1ENR) . . . . .553
11.8.30RCC AHB2 peripheral clock enable register 1 (RCC_AHB2ENR1) . . .556
11.8.31RCC AHB2 peripheral clock enable register 2 (RCC_AHB2ENR2) . . .560
11.8.32RCC AHB3 peripheral clock enable register (RCC_AHB3ENR) . . . . .561
11.8.33RCC APB1 peripheral clock enable register 1 (RCC_APB1ENR1) . . .562
11.8.34RCC APB1 peripheral clock enable register 2 (RCC_APB1ENR2) . . .564
11.8.35RCC APB2 peripheral clock enable register (RCC_APB2ENR) . . . . .566
11.8.36RCC APB3 peripheral clock enable register (RCC_APB3ENR) . . . . .568
11.8.37RCC AHB1 peripheral clock enable in Sleep and Stop modes register
(RCC_AHB1SMENR) . . . . .
569
11.8.38RCC AHB2 peripheral clock enable in Sleep and
Stop modes register 1 (RCC_AHB2SMENR1) . . . . .
572
11.8.39RCC AHB2 peripheral clock enable in Sleep and
Stop modes register 2 (RCC_AHB2SMENR2) . . . . .
576
11.8.40RCC AHB3 peripheral clock enable in Sleep and Stop modes register
(RCC_AHB3SMENR) . . . . .
577
11.8.41RCC APB1 peripheral clock enable in Sleep and Stop modes
register 1 (RCC_APB1SMENR1) . . . . .
579
11.8.42RCC APB1 peripheral clocks enable in Sleep and
Stop modes register 2 (RCC_APB1SMENR2) . . . . .
581
11.8.43RCC APB2 peripheral clocks enable in Sleep and Stop modes register
(RCC_APB2SMENR) . . . . .
583
11.8.44RCC APB3 peripheral clock enable in Sleep and Stop modes register
(RCC_APB3SMENR) . . . . .
585
11.8.45RCC SmartRun domain peripheral autonomous mode register
(RCC_SRDRAMR) . . . . .
587
11.8.46RCC peripherals independent clock configuration register 1
(RCC_CCIPR1) . . . . .
589
11.8.47RCC peripherals independent clock configuration register 2
(RCC_CCIPR2) . . . . .
592
11.8.48RCC peripherals independent clock configuration register 3
(RCC_CCIPR3) . . . . .
595
11.8.49RCC backup domain control register (RCC_BDCR) . . . . .597
11.8.50RCC control/status register (RCC_CSR) . . . . .600
11.8.51RCC secure configuration register (RCC_SECCFGR) . . . . .602
11.8.52RCC privilege configuration register (RCC_PRIVCFGR) . . . . .603
11.8.53RCC register map . . . . .604
12Clock recovery system (CRS) . . . . .610
12.1CRS introduction . . . . .610
12.2CRS main features . . . . .610
12.3CRS implementation . . . . .610
12.4CRS functional description . . . . .611
12.4.1CRS block diagram . . . . .611
12.4.2CRS internal signals . . . . .611
12.4.3Synchronization input . . . . .612

13 General-purpose I/Os (GPIO) . . . . . 622

13.3.21I/O compensation cell .....632
13.4GPIO registers .....633
13.4.1GPIO port mode register (GPIOx_MODER) (x = A to J) .....633
13.4.2GPIO port output type register (GPIOx_OTYPER) (x = A to J) .....634
13.4.3GPIO port output speed register (GPIOx_OSPEEDR) (x = A to J) .....634
13.4.4GPIO port pull-up/pull-down register (GPIOx_PUPDR) (x = A to J) .....635
13.4.5GPIO port input data register (GPIOx_IDR) (x = A to J) .....635
13.4.6GPIO port output data register (GPIOx_ODR) (x = A to J) .....636
13.4.7GPIO port bit set/reset register (GPIOx_BSRR) (x = A to J) .....636
13.4.8GPIO port configuration lock register (GPIOx_LCKR) (x = A to J) .....637
13.4.9GPIO alternate function low register (GPIOx_AFRL) (x = A to J) .....638
13.4.10GPIO alternate function high register (GPIOx_AFRH) (x = A to J) .....638
13.4.11GPIO port bit reset register (GPIOx_BRR) (x = A to J) .....639
13.4.12GPIO high-speed low-voltage register (GPIOx_HSLVR) (x = A to J) .....640
13.4.13GPIO secure configuration register (GPIOx_SECCFGR) (x = A to J) .....641
13.4.14GPIO register map .....641
14Low-power general-purpose I/Os (LPGPIO) .....643
14.1Introduction .....643
14.2LPGPIO main features .....643
14.3LPGPIO functional description .....643
14.3.1LPGPIO and GPIO configuration .....643
14.3.2LPGPIO control registers .....643
14.3.3LPGPIO I/O data registers .....643
14.3.4LPGPIO I/O data bitwise handling .....643
14.3.5Security protection .....644
14.3.6Secure clock and reset management .....644
14.4LPGPIO registers .....644
14.4.1LPGPIO port mode register (LPGPIO_MODER) .....644
14.4.2LPGPIO port input data register (LPGPIO_IDR) .....645
14.4.3LPGPIO port output data register (LPGPIO_ODR) .....645
14.4.4LPGPIO port bit set/reset register (LPGPIO_BSRR) .....646
14.4.5LPGPIO port bit reset register (LPGPIO_BRR) .....646
14.4.6LPGPIO register map .....647
15System configuration controller (SYSCFG) .....648
15.1SYSCFG main features .....648
15.2SYSCFG functional description . . . . .648
15.2.1I/O compensation cell management . . . . .648
15.2.2SYSCFG TrustZone security and privilege . . . . .649
15.2.3Configuring the OTG_HS PHY
(only for STM32U59x/5Ax/5Fx/5Gx) . . . . .
651
15.2.4Adjusting HSPI supply capacitance
(only for STM32U59x/5Ax/5Fx/5Gx) . . . . .
651
15.2.5Internal SRAMs cacheability by DCACHE2
(only for STM32U59x/5Ax/5Fx/5Gx) . . . . .
651
15.3SYSCFG registers . . . . .652
15.3.1SYSCFG secure configuration register (SYSCFG_SECCFGR) . . . . .652
15.3.2SYSCFG configuration register 1 (SYSCFG_CFGR1) . . . . .653
15.3.3SYSCFG FPU interrupt mask register (SYSCFG_FPUIMR) . . . . .655
15.3.4SYSCFG CPU nonsecure lock register (SYSCFG_CNSLCKR) . . . . .655
15.3.5SYSCFG CPU secure lock register (SYSCFG_CSLCKR) . . . . .656
15.3.6SYSCFG configuration register 2 (SYSCFG_CFGR2) . . . . .657
15.3.7SYSCFG memory erase status register (SYSCFG_MESR) . . . . .658
15.3.8SYSCFG compensation cell control/status register
(SYSCFG_CCCSR) . . . . .
659
15.3.9SYSCFG compensation cell value register (SYSCFG_CCVR) . . . . .661
15.3.10SYSCFG compensation cell code register (SYSCFG_CCCR) . . . . .662
15.3.11SYSCFG RSS command register (SYSCFG_RSSCMDR) . . . . .663
15.3.12SYSCFG OTG_HS PHY register (SYSCFG_OTGHSPHYCR) . . . . .664
15.3.13SYSCFG OTG_HS PHY tune register 2
(SYSCFG_OTGHSPHYTUNER2) . . . . .
665
15.3.14SYSCFG register map . . . . .666
16Peripherals interconnect matrix . . . . .668
16.1Interconnect matrix introduction . . . . .668
16.2Connection summary . . . . .669
16.3Interconnection details . . . . .671
16.3.1Master to slave interconnection for timers . . . . .671
16.3.2Triggers to ADCs . . . . .671
16.3.3ADC analog watchdogs as triggers to timers . . . . .673
16.3.4Triggers to DAC . . . . .673
16.3.5Triggers on MDF1 or ADF1 . . . . .674
16.3.6Timer break from MDF1 . . . . .674
16.3.7Clock sources to timers . . . . .675
16.3.8Triggers to low-power timers . . . . .676
16.3.9Blanking sources to comparators . . . . .677
16.3.10RTC wake-up as inputs to timers . . . . .677
16.3.11OTG_FS/OTG_HS SOF as trigger to timers . . . . .678
16.3.12Comparators as inputs, trigger or break signals to timers . . . . .678
16.3.13System errors as break signals to timers . . . . .679
16.3.14Timers generating IRTIM signal . . . . .679
16.3.15Triggers for communication peripherals . . . . .680
16.3.16Triggers to GPDMA/LPDMA . . . . .680
16.3.17Internal analog signals to analog peripherals . . . . .681
16.3.18ADC data filtering by the MDF1 . . . . .682
16.3.19Clock source for the DAC sample and hold mode . . . . .682
16.3.20Triggers from graphic interfaces to timers . . . . .683
16.3.21Internal tamper sources . . . . .683
16.3.22Output from tamper to RTC . . . . .683
16.3.23Encryption keys to AES/SAES . . . . .684
17General purpose direct memory access controller (GPDMA) . . . . .685
17.1GPDMA introduction . . . . .685
17.2GPDMA main features . . . . .685
17.3GPDMA implementation . . . . .686
17.3.1GPDMA channels . . . . .686
17.3.2GPDMA autonomous mode in low-power modes . . . . .687
17.3.3GPDMA requests . . . . .687
17.3.4GPDMA block requests . . . . .691
17.3.5GPDMA triggers . . . . .691
17.4GPDMA functional description . . . . .694
17.4.1GPDMA block diagram . . . . .694
17.4.2GPDMA channel state and direct programming without any linked-list694
17.4.3GPDMA channel suspend and resume . . . . .695
17.4.4GPDMA channel abort and restart . . . . .696
17.4.5GPDMA linked-list data structure . . . . .697
17.4.6Linked-list item transfer execution . . . . .700
17.4.7GPDMA channel state and linked-list programming
in run-to-completion mode . . . . .
700
17.4.8GPDMA channel state and linked-list programming in link step mode704
17.4.9GPDMA channel state and linked-list programming . . . . .711
17.4.10GPDMA FIFO-based transfers . . . . .713
17.4.11GPDMA transfer request and arbitration . . . . .720
17.4.12GPDMA triggered transfer . . . . .724
17.4.13GPDMA circular buffering with linked-list programming . . . . .725
17.4.14GPDMA secure/nonsecure channel . . . . .727
17.4.15GPDMA privileged/unprivileged channel . . . . .728
17.4.16GPDMA error management . . . . .728
17.4.17GPDMA autonomous mode . . . . .730
17.5GPDMA in debug mode . . . . .731
17.6GPDMA in low-power modes . . . . .731
17.7GPDMA interrupts . . . . .732
17.8GPDMA registers . . . . .734
17.8.1GPDMA secure configuration register (GPDMA_SECCFGR) . . . . .734
17.8.2GPDMA privileged configuration register (GPDMA_PRIVCFGR) . . . . .735
17.8.3GPDMA configuration lock register (GPDMA_RCFGLOCKR) . . . . .735
17.8.4GPDMA nonsecure masked interrupt status register
(GPDMA_MISR) . . . . .
736
17.8.5GPDMA secure masked interrupt status register (GPDMA_SMISR) . . . . .737
17.8.6GPDMA channel x linked-list base address register
(GPDMA_CxLBAR) . . . . .
737
17.8.7GPDMA channel x flag clear register (GPDMA_CxFCR) . . . . .738
17.8.8GPDMA channel x status register (GPDMA_CxSR) . . . . .739
17.8.9GPDMA channel x control register (GPDMA_CxCGR) . . . . .740
17.8.10GPDMA channel x transfer register 1 (GPDMA_CxTR1) . . . . .742
17.8.11GPDMA channel x transfer register 2 (GPDMA_CxTR2) . . . . .746
17.8.12GPDMA channel x block register 1 (GPDMA_CxBR1) . . . . .750
17.8.13GPDMA channel x alternate block register 1 (GPDMA_CxBR1) . . . . .751
17.8.14GPDMA channel x source address register (GPDMA_CxSAR) . . . . .754
17.8.15GPDMA channel x destination address register (GPDMA_CxDAR) . . . . .756
17.8.16GPDMA channel x transfer register 3 (GPDMA_CxTR3) . . . . .757
17.8.17GPDMA channel x block register 2 (GPDMA_CxBR2) . . . . .758
17.8.18GPDMA channel x linked-list address register (GPDMA_CxLLR) . . . . .759
17.8.19GPDMA channel x alternate linked-list address register
(GPDMA_CxLLR) . . . . .
761
17.8.20GPDMA register map . . . . .762
18Low-power direct memory access controller (LPDMA) . . . . .765
18.1LPDMA introduction . . . . .765
18.2LPDMA main features . . . . .765
18.3LPDMA implementation . . . . .766
18.3.1LPDMA channels . . . . .766
18.3.2LPDMA autonomous mode in low-power modes . . . . .767
18.3.3LPDMA requests . . . . .767
18.3.4LPDMA block requests . . . . .767
18.3.5LPDMA triggers . . . . .768
18.4LPDMA functional description . . . . .770
18.4.1LPDMA block diagram . . . . .770
18.4.2LPDMA channel state and direct programming without
any linked-list . . . . .
770
18.4.3LPDMA channel suspend and resume . . . . .771
18.4.4LPDMA channel abort and restart . . . . .772
18.4.5LPDMA linked-list data structure . . . . .773
18.4.6Linked-list item transfer execution . . . . .775
18.4.7LPDMA channel state and linked-list programming
in run-to-completion mode . . . . .
775
18.4.8LPDMA channel state and linked-list programming in link step mode . . . . .780
18.4.9LPDMA channel state and linked-list programming . . . . .786
18.4.10LPDMA direct transfers . . . . .788
18.4.11LPDMA transfer request and arbitration . . . . .790
18.4.12LPDMA triggered transfer . . . . .794
18.4.13LPDMA circular buffering with linked-list programming . . . . .795
18.4.14LPDMA secure/nonsecure channel . . . . .797
18.4.15LPDMA privileged/unprivileged channel . . . . .798
18.4.16LPDMA error management . . . . .799
18.4.17LPDMA autonomous mode . . . . .800
18.5LPDMA in debug mode . . . . .801
18.6LPDMA in low-power modes . . . . .801
18.7LPDMA interrupts . . . . .802
18.8LPDMA registers . . . . .803
18.8.1LPDMA secure configuration register (LPDMA_SECCFGR) . . . . .803
18.8.2LPDMA privileged configuration register (LPDMA_PRIVCFGR) . . . . .804
18.8.3LPDMA configuration lock register (LPDMA_RCFGLOCKR) . . . . .805
18.8.4LPDMA nonsecure masked interrupt status register
(LPDMA_MISR) . . . . .
805
18.8.5LPDMA secure masked interrupt status register (LPDMA_SMISR) . . .806
18.8.6LPDMA channel x linked-list base address register (LPDMA_CxLBAR) . . . . .807
18.8.7LPDMA channel x flag clear register (LPDMA_CxFCR) . . . . .807
18.8.8LPDMA channel x status register (LPDMA_CxSR) . . . . .808
18.8.9LPDMA channel x control register (LPDMA_CxCR) . . . . .810
18.8.10LPDMA channel x transfer register 1 (LPDMA_CxTR1) . . . . .812
18.8.11LPDMA channel x transfer register 2 (LPDMA_CxTR2) . . . . .814
18.8.12LPDMA channel x block register 1 (LPDMA_CxBR1) . . . . .817
18.8.13LPDMA channel x source address register (LPDMA_CxSAR) . . . . .818
18.8.14LPDMA channel x destination address register (LPDMA_CxDAR) . . .819
18.8.15LPDMA channel x linked-list address register (LPDMA_CxLLR) . . . . .820
18.8.16LPDMA register map . . . . .821
19Chrom-ART Accelerator controller (DMA2D) . . . . .823
19.1DMA2D introduction . . . . .823
19.2DMA2D main features . . . . .823
19.3DMA2D functional description . . . . .824
19.3.1DMA2D block diagram . . . . .824
19.3.2DMA2D internal signals . . . . .825
19.3.3DMA2D control . . . . .826
19.3.4DMA2D foreground and background FIFOs . . . . .826
19.3.5DMA2D foreground and background pixel format converter (PFC) . . .826
19.3.6DMA2D foreground and background CLUT interface . . . . .828
19.3.7DMA2D blender . . . . .830
19.3.8DMA2D output PFC . . . . .830
19.3.9DMA2D output FIFO . . . . .830
19.3.10DMA2D output FIFO byte reordering . . . . .831
19.3.11DMA2D AHB master port timer . . . . .833
19.3.12DMA2D transactions . . . . .833
19.3.13DMA2D configuration . . . . .833
19.3.14DMA2D transfer control (start, suspend, abort and completion) . . . . .837
19.3.15Watermark . . . . .837
19.3.16Error management . . . . .837
19.3.17AHB dead time . . . . .838
19.4DMA2D interrupts . . . . .838
19.5DMA2D registers . . . . .839
19.5.1DMA2D control register (DMA2D_CR) . . . . .839
19.5.2DMA2D interrupt status register (DMA2D_ISR) . . . . .840
19.5.3DMA2D interrupt flag clear register (DMA2D_IFCR) . . . . .841
19.5.4DMA2D foreground memory address register (DMA2D_FGMAR) . . . . .842
19.5.5DMA2D foreground offset register (DMA2D_FGOR) . . . . .842
19.5.6DMA2D background memory address register (DMA2D_BGMAR) . . . . .843
19.5.7DMA2D background offset register (DMA2D_BGOR) . . . . .843
19.5.8DMA2D foreground PFC control register (DMA2D_FGPFCCR) . . . . .844
19.5.9DMA2D foreground color register (DMA2D_FGCOLR) . . . . .845
19.5.10DMA2D background PFC control register (DMA2D_BGPFCCR) . . . . .846
19.5.11DMA2D background color register (DMA2D_BGCOLR) . . . . .848
19.5.12DMA2D foreground CLUT memory address register
(DMA2D_FGCMAR) . . . . .
848
19.5.13DMA2D background CLUT memory address register
(DMA2D_BGCMAR) . . . . .
849
19.5.14DMA2D output PFC control register (DMA2D_OPFCCR) . . . . .849
19.5.15DMA2D output color register (DMA2D_OCOLR) . . . . .850
19.5.16DMA2D output color register [alternate] (DMA2D_OCOLR) . . . . .851
19.5.17DMA2D output color register [alternate] (DMA2D_OCOLR) . . . . .851
19.5.18DMA2D output color register [alternate] (DMA2D_OCOLR) . . . . .852
19.5.19DMA2D output memory address register (DMA2D_OMAR) . . . . .852
19.5.20DMA2D output offset register (DMA2D_OOR) . . . . .853
19.5.21DMA2D number of line register (DMA2D_NLR) . . . . .853
19.5.22DMA2D line watermark register (DMA2D_LWR) . . . . .854
19.5.23DMA2D AHB master timer configuration register (DMA2D_AMTCR) . . . . .854
19.5.24DMA2D foreground CLUT (DMA2D_FGCLUTx) . . . . .855
19.5.25DMA2D background CLUT (DMA2D_BGCLUTx) . . . . .855
19.5.26DMA2D register map . . . . .856
20Chrom-ART Accelerator controller (DMA2D) . . . . .858
20.1DMA2D introduction . . . . .858
20.2DMA2D main features . . . . .858
20.3DMA2D functional description . . . . .859
20.3.1General description . . . . .859
20.3.2DMA2D internal signals . . . . .860
20.3.3DMA2D control . . . . .861
20.3.4DMA2D foreground and background FIFOs . . . . .861
20.5.20DMA2D output offset register (DMA2D_OOR) . . . . .888
20.5.21DMA2D number of line register (DMA2D_NLR) . . . . .888
20.5.22DMA2D line watermark register (DMA2D_LWR) . . . . .889
20.5.23DMA2D AHB master timer configuration register (DMA2D_AMTCR) . . . . .889
20.5.24DMA2D foreground CLUT (DMA2D_FGCLUTx) . . . . .890
20.5.25DMA2D background CLUT (DMA2D_BGCLUTx) . . . . .890
20.5.26DMA2D register map . . . . .891
21Chrom-GRC (GFXMMU) . . . . .893
21.1Introduction . . . . .893
21.2GFXMMU main features . . . . .893
21.3GFXMMU implementation . . . . .893
21.4GFXMMU functional and architectural description . . . . .894
21.4.1Virtual memory . . . . .894
21.4.2MMU architecture . . . . .896
21.4.3Cache and prefetch mechanism . . . . .899
21.4.4Address cache . . . . .901
21.5GFXMMU interrupts . . . . .902
21.6GFXMMU registers . . . . .903
21.6.1GFXMMU configuration register (GFXMMU_CR) . . . . .903
21.6.2GFXMMU status register (GFXMMU_SR) . . . . .905
21.6.3GFXMMU flag clear register (GFXMMU_FCR) . . . . .905
21.6.4GFXMMU cache control register (GFXMMU_CCR) . . . . .906
21.6.5GFXMMU default value register (GFXMMU_DVR) . . . . .906
21.6.6GFXMMU buffer 0 configuration register (GFXMMU_B0CR) . . . . .907
21.6.7GFXMMU buffer 1 configuration register (GFXMMU_B1CR) . . . . .907
21.6.8GFXMMU buffer 2 configuration register (GFXMMU_B2CR) . . . . .908
21.6.9GFXMMU buffer 3 configuration register (GFXMMU_B3CR) . . . . .908
21.6.10GFXMMU LUT entry x low (GFXMMU_LUTxL) . . . . .909
21.6.11GFXMMU LUT entry x high (GFXMMU_LUTxH) . . . . .909
21.6.12GFXMMU register map . . . . .910
22Nested vectored interrupt controller (NVIC) . . . . .912
22.1NVIC main features . . . . .912
22.2SysTick calibration value register . . . . .912
22.3Interrupt and exception vectors . . . . .913

23 Extended interrupts and event controller (EXTI) . . . . . 919

23.1 EXTI main features . . . . . 919

23.2 EXTI block diagram . . . . . 919

23.2.1 EXTI connections between peripherals and CPU . . . . . 921

23.2.2 EXTI interrupt/event mapping . . . . . 921

23.3 EXTI functional description . . . . . 922

23.3.1 EXTI configurable event input wake-up . . . . . 922

23.3.2 EXTI mux selection . . . . . 923

23.4 EXTI functional behavior . . . . . 923

23.5 EXTI event protection . . . . . 924

23.5.1 EXTI security protection . . . . . 925

23.5.2 EXTI privilege protection . . . . . 925

23.6 EXTI registers . . . . . 926

23.6.1 EXTI rising trigger selection register (EXTI_RTSR1) . . . . . 926

23.6.2 EXTI falling trigger selection register (EXTI_FTSR1) . . . . . 927

23.6.3 EXTI software interrupt event register (EXTI_SWIER1) . . . . . 927

23.6.4 EXTI rising edge pending register (EXTI_RPR1) . . . . . 928

23.6.5 EXTI falling edge pending register (EXTI_FPR1) . . . . . 929

23.6.6 EXTI security configuration register (EXTI_SECCFGR1) . . . . . 929

23.6.7 EXTI privilege configuration register (EXTI_PRIVCFGR1) . . . . . 930

23.6.8 EXTI external interrupt selection register (EXTI_EXTICRm) . . . . . 931

23.6.9 EXTI lock register (EXTI_LOCKR) . . . . . 933

23.6.10 EXTI CPU wake-up with interrupt mask register (EXTI_IMR1) . . . . . 934

23.6.11 EXTI CPU wake-up with event mask register (EXTI_EMR1) . . . . . 934

23.6.12 EXTI register map . . . . . 935

24 Cyclic redundancy check calculation unit (CRC) . . . . . 937

24.1 CRC introduction . . . . . 937

24.2 CRC main features . . . . . 937

24.3 CRC functional description . . . . . 938

24.3.1 CRC block diagram . . . . . 938

24.3.2 CRC internal signals . . . . . 938

24.3.3 CRC operation . . . . . 938

24.4 CRC registers . . . . . 940

24.4.1 CRC data register (CRC_DR) . . . . . 940

24.4.2 CRC independent data register (CRC_IDR) . . . . . 940

24.4.3CRC control register (CRC_CR) .....941
24.4.4CRC initial value (CRC_INIT) .....942
24.4.5CRC polynomial (CRC_POL) .....942
24.4.6CRC register map .....943
25CORDIC coprocessor (CORDIC) .....944
25.1CORDIC introduction .....944
25.2CORDIC main features .....944
25.3CORDIC functional description .....944
25.3.1General description .....944
25.3.2CORDIC functions .....944
25.3.3Fixed point representation .....951
25.3.4Scaling factor .....951
25.3.5Precision .....952
25.3.6Zero-overhead mode .....955
25.3.7Polling mode .....956
25.3.8Interrupt mode .....957
25.3.9DMA mode .....957
25.4CORDIC registers .....958
25.4.1CORDIC control/status register (CORDIC_CSR) .....958
25.4.2CORDIC argument register (CORDIC_WDATA) .....960
25.4.3CORDIC result register (CORDIC_RDATA) .....961
25.4.4CORDIC register map .....961
26Filter math accelerator (FMAC) .....962
26.1FMAC introduction .....962
26.2FMAC main features .....962
26.3FMAC functional description .....963
26.3.1General description .....963
26.3.2Local memory and buffers .....964
26.3.3Input buffers .....964
26.3.4Output buffer .....967
26.3.5Initialization functions .....969
26.3.6Filter functions .....970
26.3.7Fixed point representation .....974
26.3.8Implementing FIR filters with the FMAC .....974
26.3.9Implementing IIR filters with the FMAC . . . . .976
26.3.10Examples of filter initialization . . . . .978
26.3.11Examples of filter operation . . . . .979
26.3.12Filter design tips . . . . .981
26.4FMAC registers . . . . .982
26.4.1FMAC X1 buffer configuration register (FMAC_X1BUFCFG) . . . . .982
26.4.2FMAC X2 buffer configuration register (FMAC_X2BUFCFG) . . . . .982
26.4.3FMAC Y buffer configuration register (FMAC_YBUFCFG) . . . . .983
26.4.4FMAC parameter register (FMAC_PARAM) . . . . .984
26.4.5FMAC control register (FMAC_CR) . . . . .985
26.4.6FMAC status register (FMAC_SR) . . . . .986
26.4.7FMAC write data register (FMAC_WDATA) . . . . .987
26.4.8FMAC read data register (FMAC_RDATA) . . . . .988
26.4.9FMAC register map . . . . .988
27Flexible static memory controller (FSMC) . . . . .990
27.1FMC introduction . . . . .990
27.2FMC main features . . . . .990
27.3FMC block diagram . . . . .991
27.4AHB interface . . . . .992
27.4.1Supported memories and transactions . . . . .992
27.5External device address mapping . . . . .993
27.5.1NOR/PSRAM address mapping . . . . .994
27.5.2NAND flash memory address mapping . . . . .995
27.6NOR flash/PSRAM controller . . . . .995
27.6.1External memory interface signals . . . . .997
27.6.2Supported memories and transactions . . . . .999
27.6.3General timing rules . . . . .1000
27.6.4NOR flash/PSRAM controller asynchronous transactions . . . . .1000
27.6.5Synchronous transactions . . . . .1019
27.6.6NOR/PSRAM controller registers . . . . .1026
27.7NAND flash controller . . . . .1034
27.7.1External memory interface signals . . . . .1034
27.7.2NAND flash supported memories and transactions . . . . .1035
27.7.3Timing diagrams for NAND flash memory . . . . .1036
27.7.4NAND flash operations . . . . .1037
27.7.5NAND flash prewait functionality . . . . .1037
27.7.6Computation of the error correction code (ECC)
in NAND flash memory . . . . .
1038
27.7.7NAND flash controller registers . . . . .1039
27.7.8FMC register map . . . . .1045
28Octo-SPI interface (OCTOSPI) . . . . .1047
28.1OCTOSPI introduction . . . . .1047
28.2OCTOSPI main features . . . . .1047
28.3OCTOSPI implementation . . . . .1048
28.4OCTOSPI functional description . . . . .1049
28.4.1OCTOSPI block diagram . . . . .1049
28.4.2OCTOSPI pins and internal signals . . . . .1051
28.4.3OCTOSPI interface to memory modes . . . . .1052
28.4.4OCTOSPI regular-command protocol . . . . .1053
28.4.5OCTOSPI regular-command protocol signal interface . . . . .1056
28.4.6HyperBus protocol . . . . .1060
28.4.7Specific features . . . . .1063
28.4.8OCTOSPI operating mode introduction . . . . .1065
28.4.9OCTOSPI indirect mode . . . . .1065
28.4.10OCTOSPI automatic status-polling mode . . . . .1067
28.4.11OCTOSPI memory-mapped mode . . . . .1068
28.4.12OCTOSPI configuration introduction . . . . .1069
28.4.13OCTOSPI system configuration . . . . .1069
28.4.14OCTOSPI device configuration . . . . .1069
28.4.15OCTOSPI regular-command mode configuration . . . . .1072
28.4.16OCTOSPI HyperBus protocol configuration . . . . .1074
28.4.17OCTOSPI error management . . . . .1075
28.4.18OCTOSPI BUSY and ABORT . . . . .1076
28.4.19OCTOSPI reconfiguration or deactivation . . . . .1076
28.4.20NCS behavior . . . . .1076
28.5Address alignment and data number . . . . .1078
28.6OCTOSPI interrupts . . . . .1079
28.7OCTOSPI registers . . . . .1079
28.7.1OCTOSPI control register (OCTOSPI_CR) . . . . .1079
28.7.2OCTOSPI device configuration register 1 (OCTOSPI_DCR1) . . . . .1082
28.7.3OCTOSPI device configuration register 2 (OCTOSPI_DCR2) . . . . .1084
28.7.4OCTOSPI device configuration register 3 (OCTOSPI_DCR3) . . . . .1085
28.7.5OCTOSPI device configuration register 4 (OCTOSPI_DCR4) . . . . .1086
28.7.6OCTOSPI status register (OCTOSPI_SR) . . . . .1086
28.7.7OCTOSPI flag clear register (OCTOSPI_FCR) . . . . .1087
28.7.8OCTOSPI data length register (OCTOSPI_DLR) . . . . .1088
28.7.9OCTOSPI address register (OCTOSPI_AR) . . . . .1088
28.7.10OCTOSPI data register (OCTOSPI_DR) . . . . .1089
28.7.11OCTOSPI polling status mask register (OCTOSPI_PSMKR) . . . . .1089
28.7.12OCTOSPI polling status match register (OCTOSPI_PSMAR) . . . . .1090
28.7.13OCTOSPI polling interval register (OCTOSPI_PIR) . . . . .1090
28.7.14OCTOSPI communication configuration register (OCTOSPI_CCR) . . . . .1091
28.7.15OCTOSPI timing configuration register (OCTOSPI_TCR) . . . . .1093
28.7.16OCTOSPI instruction register (OCTOSPI_IR) . . . . .1093
28.7.17OCTOSPI alternate bytes register (OCTOSPI_ABR) . . . . .1094
28.7.18OCTOSPI low-power timeout register (OCTOSPI_LPTR) . . . . .1094
28.7.19OCTOSPI wrap communication configuration register
(OCTOSPI_WPCCR) . . . . .
1095
28.7.20OCTOSPI wrap timing configuration register (OCTOSPI_WPTCR) . . . . .1097
28.7.21OCTOSPI wrap instruction register (OCTOSPI_WPIR) . . . . .1097
28.7.22OCTOSPI wrap alternate bytes register (OCTOSPI_WPABR) . . . . .1098
28.7.23OCTOSPI write communication configuration register
(OCTOSPI_WCCR) . . . . .
1098
28.7.24OCTOSPI write timing configuration register (OCTOSPI_WTCR) . . . . .1100
28.7.25OCTOSPI write instruction register (OCTOSPI_WIR) . . . . .1101
28.7.26OCTOSPI write alternate bytes register (OCTOSPI_WABR) . . . . .1101
28.7.27OCTOSPI HyperBus latency configuration register
(OCTOSPI_HLCR) . . . . .
1102
28.7.28OCTOSPI register map . . . . .1102
29Octo-SPI I/O manager (OCTOSPIM) . . . . .1106
29.1Introduction . . . . .1106
29.2OCTOSPIM main features . . . . .1106
29.3OCTOSPIM implementation . . . . .1106
29.4OCTOSPIM functional description . . . . .1106
29.4.1OCTOSPIM block diagram . . . . .1106
29.4.2OCTOSPIM input/output pins . . . . .1107
29.4.3OCTOSPIM matrix . . . . .1108
29.4.4OCTOSPIM multiplexed mode . . . . .1108
29.5OCTOSPIM registers . . . . .1110
29.5.1OCTOSPIM control register (OCTOSPIM_CR) . . . . .1110
29.5.2OCTOSPIM Port n configuration register
(OCTOSPIM_PnCR) . . . . .
1110
29.5.3OCTOSPIM register map . . . . .1112
30Hexadeca-SPI interface (HSPI) . . . . .1113
30.1HSPI introduction . . . . .1113
30.2HSPI main features . . . . .1113
30.3HSPI implementation . . . . .1114
30.4HSPI functional description . . . . .1115
30.4.1HSPI block diagram . . . . .1115
30.4.2HSPI pins and internal signals . . . . .1118
30.4.3HSPI interface to memory modes . . . . .1119
30.4.4HSPI regular-command protocol . . . . .1119
30.4.5HSPI regular-command protocol signal interface . . . . .1123
30.4.6HyperBus protocol . . . . .1128
30.4.7Specific features . . . . .1133
30.4.8HSPI operating modes introduction . . . . .1134
30.4.9HSPI indirect mode . . . . .1134
30.4.10HSPI automatic status-polling mode . . . . .1136
30.4.11HSPI memory-mapped mode . . . . .1137
30.4.12HSPI configuration introduction . . . . .1138
30.4.13HSPI system configuration . . . . .1138
30.4.14HSPI device configuration . . . . .1138
30.4.15HSPI regular-command mode configuration . . . . .1141
30.4.16HSPI HyperBus protocol configuration . . . . .1143
30.4.17HSPI error management . . . . .1144
30.4.18HSPI high-speed interface and calibration . . . . .1144
30.4.19HSPI BUSY and ABORT . . . . .1145
30.4.20HSPI reconfiguration or deactivation . . . . .1146
30.4.21NCS behavior . . . . .1146
30.5Address alignment and data number . . . . .1148
30.6HSPI interrupts . . . . .1149
30.7HSPI registers . . . . .1150
30.7.1HSPI control register (HSPI_CR) . . . . .1150
30.7.2HSPI device configuration register 1 (HSPI_DCR1) . . . . .1153
30.7.3HSPI device configuration register 2 (HSPI_DCR2) . . . . .1154
30.7.4HSPI device configuration register 3 (HSPI_DCR3) . . . . .1155
30.7.5HSPI device configuration register 4 (HSPI_DCR4) . . . . .1156
30.7.6HSPI status register (HSPI_SR) . . . . .1156
30.7.7HSPI flag clear register (HSPI_FCR) . . . . .1157
30.7.8HSPI data length register (HSPI_DLR) . . . . .1158
30.7.9HSPI address register (HSPI_AR) . . . . .1158
30.7.10HSPI data register (HSPI_DR) . . . . .1159
30.7.11HSPI polling status mask register (HSPI_PSMKR) . . . . .1160
30.7.12HSPI polling status match register (HSPI_PSMAR) . . . . .1160
30.7.13HSPI polling interval register (HSPI_PIR) . . . . .1161
30.7.14HSPI communication configuration register (HSPI_CCR) . . . . .1161
30.7.15HSPI timing configuration register (HSPI_TCR) . . . . .1163
30.7.16HSPI instruction register (HSPI_IR) . . . . .1164
30.7.17HSPI alternate bytes register (HSPI_ABR) . . . . .1164
30.7.18HSPI low-power timeout register (HSPI_LPTR) . . . . .1164
30.7.19HSPI wrap communication configuration register
(HSPI_WPCCR) . . . . .
1165
30.7.20HSPI wrap timing configuration register (HSPI_WPTCR) . . . . .1167
30.7.21HSPI wrap instruction register (HSPI_WPIR) . . . . .1168
30.7.22HSPI wrap alternate byte register (HSPI_WPABR) . . . . .1168
30.7.23HSPI write communication configuration register
(HSPI_WCCR) . . . . .
1168
30.7.24HSPI write timing configuration register (HSPI_WTCR) . . . . .1170
30.7.25HSPI write instruction register (HSPI_WIR) . . . . .1171
30.7.26HSPI write alternate byte register (HSPI_WABR) . . . . .1171
30.7.27HSPI HyperBus latency configuration register (HSPI_HLCR) . . . . .1172
30.7.28HSPI full-cycle calibration configuration (HSPI_CALFCR) . . . . .1172
30.7.29HSPI DLL master calibration configuration (HSPI_CALMR) . . . . .1173
30.7.30HSPI DLL slave output calibration configuration
(HSPI_CALSOR) . . . . .
1174
30.7.31HSPI DLL slave input calibration configuration (HSPI_CALSIR) . . . . .1175
30.7.32HSPI register map . . . . .1175
31Secure digital input/output MultiMediaCard interface (SDMMC) . . .1179
31.1SDMMC main features . . . . .1179
31.2SDMMC implementation . . . . .1179
31.3SDMMC bus topology . . . . .1180
31.4SDMMC operation modes . . . . .1182
31.5SDMMC functional description . . . . .1183
31.5.1SDMMC block diagram . . . . .1183
31.5.2SDMMC pins and internal signals . . . . .1183
31.5.3General description . . . . .1184
31.5.4SDMMC adapter . . . . .1186
31.5.5SDMMC AHB slave interface . . . . .1208
31.5.6SDMMC AHB master interface . . . . .1209
31.5.7AHB and SDMMC_CK clock relation . . . . .1212
31.6Card functional description . . . . .1212
31.6.1SD I/O mode . . . . .1212
31.6.2CMD12 send timing . . . . .1220
31.6.3Sleep (CMD5) . . . . .1224
31.6.4Interrupt mode (Wait-IRQ) . . . . .1225
31.6.5Boot operation . . . . .1226
31.6.6Response R1b handling . . . . .1229
31.6.7Reset and card cycle power . . . . .1230
31.7Hardware flow control . . . . .1231
31.8Ultra-high-speed phase I (UHS-I) voltage switch . . . . .1231
31.9SDMMC interrupts . . . . .1235
31.10SDMMC registers . . . . .1236
31.10.1SDMMC power control register (SDMMC_POWER) . . . . .1236
31.10.2SDMMC clock control register (SDMMC_CLKCR) . . . . .1237
31.10.3SDMMC argument register (SDMMC_ARGR) . . . . .1239
31.10.4SDMMC command register (SDMMC_CMDR) . . . . .1239
31.10.5SDMMC command response register (SDMMC_RESPCMDR) . . . . .1241
31.10.6SDMMC response x register (SDMMC_RESPxR) . . . . .1242
31.10.7SDMMC data timer register (SDMMC_DTIMER) . . . . .1242
31.10.8SDMMC data length register (SDMMC_DLENR) . . . . .1243
31.10.9SDMMC data control register (SDMMC_DCTRL) . . . . .1244
31.10.10SDMMC data counter register (SDMMC_DCNTR) . . . . .1245
31.10.11SDMMC status register (SDMMC_STAR) . . . . .1246
31.10.12SDMMC interrupt clear register (SDMMC_ICR) . . . . .1249
31.10.13SDMMC mask register (SDMMC_MASKR) . . . . .1251
31.10.14SDMMC acknowledgment timer register (SDMMC_ACKTIMER) . . . . .1254
31.10.15SDMMC DMA control register (SDMMC_IDMACTRLR) . . . . .1254

31.10.16 SDMMC IDMA buffer size register (SDMMC_IDMABSIZER) . . . . . 1255

31.10.17 SDMMC IDMA buffer base address register
(SDMMC_IDMABASER) . . . . . 1256

31.10.18 SDMMC IDMA linked list address register (SDMMC_IDMALAR) . . . 1256

31.10.19 SDMMC IDMA linked list memory base register
(SDMMC_IDMABAR) . . . . . 1257

31.10.20 SDMMC data FIFO registers x (SDMMC_FIFORx) . . . . . 1258

31.10.21 SDMMC register map . . . . . 1258

32 Delay block (DLYB) . . . . . 1261

32.1 DLYB introduction . . . . . 1261

32.2 DLYB main features . . . . . 1261

32.3 DLYB implementation . . . . . 1261

32.4 DLYB functional description . . . . . 1261

32.4.1 DLYB diagram . . . . . 1261

32.4.2 DLYB pins and internal signals . . . . . 1262

32.4.3 General description . . . . . 1262

32.4.4 Delay line length configuration procedure . . . . . 1263

32.4.5 Output clock phase configuration procedure . . . . . 1264

32.5 DLYB registers . . . . . 1264

32.5.1 DLYB control register (DLYB_CR) . . . . . 1264

32.5.2 DLYB configuration register (DLYB_CFGR) . . . . . 1265

32.5.3 DLYB register map . . . . . 1265

33 Analog-to-digital converter (ADC12) . . . . . 1266

33.1 ADC introduction . . . . . 1266

33.2 ADC main features . . . . . 1266

33.3 ADC implementation . . . . . 1268

33.4 ADC functional description . . . . . 1270

33.4.1 ADC block diagram . . . . . 1270

33.4.2 ADC pins and internal signals . . . . . 1271

33.4.3 ADC clocks . . . . . 1273

33.4.4 ADC connectivity . . . . . 1275

33.4.5 Slave AHB interface . . . . . 1277

33.4.6 ADC Deep-power-down mode (DEEPPWD) and ADC voltage regulator
(ADVREGEN) . . . . . 1277

33.4.7 Single-ended and differential input channels . . . . . 1277

33.4.8Calibration (ADCAL, ADCALLIN, ADC_CALFACT) . . . . .1278
33.4.9ADC on-off control (ADEN, ADDIS, ADRDY) . . . . .1282
33.4.10Constraints when writing the ADC control bits . . . . .1283
33.4.11Channel selection (SQRx, JSQRx) . . . . .1284
33.4.12Channel preselection register (ADC_PCSEL) . . . . .1284
33.4.13Channel-wise programmable sampling time (SMPR1, SMPR2) . . . . .1284
33.4.14Single conversion mode (CONT = 0) . . . . .1286
33.4.15Continuous conversion mode (CONT = 1) . . . . .1287
33.4.16Starting conversions (ADSTART, JADSTART) . . . . .1288
33.4.17Timing . . . . .1289
33.4.18Stopping an ongoing conversion (ADSTP, JADSTP) . . . . .1289
33.4.19Conversion on external trigger and trigger polarity (EXTSEL,
EXTEN[1:0], JEXTSEL, JEXTEN[1:0]) . . . . .
1291
33.4.20Injected channel management . . . . .1292
33.4.21Discontinuous mode (DISCEN, DISCNUM, JDISCEN) . . . . .1294
33.4.22Programmable resolution (RES) - fast conversion mode . . . . .1295
33.4.23End of conversion and end of sampling phase
(EOC, JEOC, EOSMP) . . . . .
1295
33.4.24End of conversion sequence (EOS, JEOS) . . . . .1296
33.4.25Timing diagrams example (single/continuous modes,
hardware/software triggers) . . . . .
1296
33.4.26Data management . . . . .1298
33.4.27Managing conversions using the MDF . . . . .1306
33.4.28Dynamic low-power features . . . . .1306
33.4.29Analog window watchdog (AWD1EN, JAWD1EN, AWD1SGL,
AWD1CH, AWD2CH, AWD3CH, AWD_HTRy, AWD_LTRy, AW Dy) . . . . .
1311
33.4.30Oversampler . . . . .1315
33.4.31Dual ADC modes . . . . .1320
33.4.32Temperature sensor . . . . .1336
33.4.33VBAT supply monitoring . . . . .1338
33.4.34Monitoring the internal voltage reference . . . . .1338
33.5ADC interrupts . . . . .1340
33.6ADC registers (for each ADC) . . . . .1341
33.6.1ADC interrupt and status register (ADC_ISR) . . . . .1341
33.6.2ADC interrupt enable register (ADC_IER) . . . . .1343
33.6.3ADC control register (ADC_CR) . . . . .1345
33.6.4ADC configuration register (ADC_CFGR1) . . . . .1348
33.6.5ADC configuration register 2 (ADC_CFGR2) . . . . .1351
33.6.6ADC sample time register 1 (ADC_SMPR1) . . . . .1354
33.6.7ADC sample time register 2 (ADC_SMPR2) . . . . .1355
33.6.8ADC channel preselection register (ADC_PCSEL) . . . . .1355
33.6.9ADC regular sequence register 1 (ADC_SQR1) . . . . .1356
33.6.10ADC regular sequence register 2 (ADC_SQR2) . . . . .1357
33.6.11ADC regular sequence register 3 (ADC_SQR3) . . . . .1358
33.6.12ADC regular sequence register 4 (ADC_SQR4) . . . . .1359
33.6.13ADC regular data register (ADC_DR) . . . . .1359
33.6.14ADC injected sequence register (ADC_JSQR) . . . . .1360
33.6.15ADC offset y register (ADC_OF Ry) . . . . .1361
33.6.16ADC gain compensation register (ADC_GCOMP) . . . . .1362
33.6.17ADC injected data register (ADC_JDRy) . . . . .1363
33.6.18ADC analog watchdog 2 configuration register
(ADC_AWD2CR) . . . . .
1363
33.6.19ADC analog watchdog 3 configuration register
(ADC_AWD3CR) . . . . .
1364
33.6.20ADC watchdog threshold register 1 (ADC_LTR1) . . . . .1364
33.6.21ADC watchdog threshold register 1 (ADC_HTR1) . . . . .1365
33.6.22ADC watchdog lower threshold register 2 (ADC_LTR2) . . . . .1365
33.6.23ADC watchdog higher threshold register 2 (ADC_HTR2) . . . . .1366
33.6.24ADC watchdog lower threshold register 3 (ADC_LTR3) . . . . .1366
33.6.25ADC watchdog higher threshold register 3 (ADC_HTR3) . . . . .1367
33.6.26ADC differential mode selection register (ADC_DIFSEL) . . . . .1367
33.6.27ADC user control register (ADC_CALFACT) . . . . .1368
33.6.28ADC calibration factor register (ADC_CALFACT2) . . . . .1368
33.7ADC common registers . . . . .1369
33.7.1ADC common status register (ADC12_CSR) . . . . .1369
33.7.2ADC system control register (ADC12_CCR) . . . . .1371
33.7.3ADC common regular data register for dual mode (ADC12_CDR) . . . . .1374
33.7.4ADC common regular data register for 32-bit dual mode
(ADC12_CDR2) . . . . .
1374
33.8ADC register map . . . . .1375
34Analog-to-digital converter (ADC4) . . . . .1379
34.1ADC introduction . . . . .1379
34.2ADC main features . . . . .1379
34.3ADC implementation . . . . .1380
34.4ADC functional description . . . . .1382
34.4.1ADC block diagram . . . . .1382
34.4.2ADC pins and internal signals . . . . .1383
34.4.3ADC voltage regulator (ADVREGEN) . . . . .1384
34.4.4Calibration (ADCAL) . . . . .1384
34.4.5ADC on-off control (ADEN, ADDIS, ADRDY) . . . . .1386
34.4.6ADC clock (PRESC[3:0]) . . . . .1388
34.4.7ADC connectivity . . . . .1390
34.4.8Configuring the ADC . . . . .1391
34.4.9Channel selection (CHSEL, SCANDIR, CHSELRMOD) . . . . .1391
34.4.10Programmable sampling time (SMPx[2:0]) . . . . .1392
34.4.11Single conversion mode (CONT = 0) . . . . .1393
34.4.12Continuous conversion mode (CONT = 1) . . . . .1393
34.4.13Starting conversions (ADSTART) . . . . .1394
34.4.14Timings . . . . .1395
34.4.15Stopping an ongoing conversion (ADSTP) . . . . .1396
34.4.16Conversion on external trigger and trigger polarity
(EXTSEL, EXTEN) . . . . .
1396
34.4.17Discontinuous mode (DISCEN) . . . . .1397
34.4.18Programmable resolution (RES) - fast conversion mode . . . . .1397
34.4.19End of conversion, end of sampling phase (EOC, EOSMP flags) . . . . .1398
34.4.20End of conversion sequence (EOS flag) . . . . .1399
34.4.21Example timing diagrams (single/continuous modes
hardware/software triggers) . . . . .
1399
34.4.22Low-frequency trigger mode . . . . .1401
34.4.23Data management . . . . .1401
34.4.24Low-power features . . . . .1405
34.4.25Analog window watchdog . . . . .1409
34.4.26Oversampler . . . . .1413
34.4.27Temperature sensor and internal reference voltage . . . . .1416
34.4.28Battery voltage monitoring . . . . .1418
34.4.29Concurrent operation with another ADC . . . . .1419
34.5ADC in low-power modes . . . . .1419
34.6ADC interrupts . . . . .1420
34.7ADC registers . . . . .1422
34.7.1ADC interrupt and status register (ADC_ISR) . . . . .1422
34.7.2ADC interrupt enable register (ADC_IER) . . . . .1423
34.7.3ADC control register (ADC_CR) .....1426
34.7.4ADC configuration register 1 (ADC_CFGR1) .....1428
34.7.5ADC configuration register 2 (ADC_CFGR2) .....1431
34.7.6ADC sampling time register (ADC_SMPR) .....1432
34.7.7ADC watchdog threshold register (ADC_AWD1TR) .....1433
34.7.8ADC watchdog threshold register (ADC_AWD2TR) .....1434
34.7.9ADC channel selection register [alternate] (ADC_CHSELR) .....1435
34.7.10ADC channel selection register [alternate] (ADC_CHSELR) .....1435
34.7.11ADC watchdog threshold register (ADC_AWD3TR) .....1437
34.7.12ADC data register (ADC_DR) .....1438
34.7.13ADC power register (ADC_PRR) .....1438
34.7.14ADC Analog Watchdog 2 Configuration register (ADC_AWD2CR) ..1439
34.7.15ADC Analog Watchdog 3 Configuration register (ADC_AWD3CR) ..1440
34.7.16ADC Calibration factor (ADC_CALFACT) .....1440
34.7.17ADC option register (ADC_OR) .....1441
34.7.18ADC common configuration register (ADC_CCR) .....1441
34.7.19ADC register map .....1442
35Digital-to-analog converter (DAC) .....1445
35.1DAC introduction .....1445
35.2DAC main features .....1445
35.3DAC implementation .....1446
35.4DAC functional description .....1447
35.4.1DAC block diagram .....1447
35.4.2DAC pins and internal signals .....1448
35.4.3DAC clocks .....1449
35.4.4DAC channel enable .....1449
35.4.5DAC data format .....1450
35.4.6DAC conversion .....1451
35.4.7DAC output voltage .....1453
35.4.8DAC trigger selection .....1453
35.4.9DMA requests .....1453
35.4.10Noise generation .....1454
35.4.11Triangle-wave generation .....1456
35.4.12DAC channel modes .....1457
35.4.13DAC channel buffer calibration .....1460
35.4.14DAC channel conversion modes .....1461
35.4.15Dual DAC channel conversion modes (if dual channels are available) . . . . .1462
35.4.16DAC autonomous mode . . . . .1466
35.5DAC in low-power modes . . . . .1467
35.6DAC interrupts . . . . .1467
35.7DAC registers . . . . .1468
35.7.1DAC control register (DAC_CR) . . . . .1468
35.7.2DAC software trigger register (DAC_SWTRGR) . . . . .1471
35.7.3DAC channel1 12-bit right-aligned data holding register (DAC_DHR12R1) . . . . .1472
35.7.4DAC channel1 12-bit left aligned data holding register (DAC_DHR12L1) . . . . .1473
35.7.5DAC channel1 8-bit right aligned data holding register (DAC_DHR8R1) . . . . .1473
35.7.6DAC channel2 12-bit right aligned data holding register (DAC_DHR12R2) . . . . .1474
35.7.7DAC channel2 12-bit left aligned data holding register (DAC_DHR12L2) . . . . .1474
35.7.8DAC channel2 8-bit right-aligned data holding register (DAC_DHR8R2) . . . . .1475
35.7.9Dual DAC 12-bit right-aligned data holding register (DAC_DHR12RD) . . . . .1475
35.7.10Dual DAC 12-bit left aligned data holding register (DAC_DHR12LD) . . . . .1476
35.7.11Dual DAC 8-bit right aligned data holding register (DAC_DHR8RD) . . . . .1476
35.7.12DAC channel1 data output register (DAC_DOR1) . . . . .1477
35.7.13DAC channel2 data output register (DAC_DOR2) . . . . .1477
35.7.14DAC status register (DAC_SR) . . . . .1478
35.7.15DAC calibration control register (DAC_CCR) . . . . .1479
35.7.16DAC mode control register (DAC_MCR) . . . . .1480
35.7.17DAC channel1 sample and hold sample time register (DAC_SHSR1) . . . . .1481
35.7.18DAC channel2 sample and hold sample time register (DAC_SHSR2) . . . . .1482
35.7.19DAC sample and hold time register (DAC_SHHR) . . . . .1482
35.7.20DAC sample and hold refresh time register (DAC_SHRR) . . . . .1483
35.7.21DAC autonomous mode control register (DAC_AUTOCR) . . . . .1484
35.7.22DAC register map . . . . .1484
36Voltage reference buffer (VREFBUF) . . . . .1487
36.1VREFBUF introduction . . . . .1487
36.2VREFBUF implementation . . . . .1487
36.3VREFBUF functional description . . . . .1487
36.4VREFBUF trimming . . . . .1488
36.5VREFBUF registers . . . . .1489
36.5.1VREFBUF control and status register (VREFBUF_CSR) . . . . .1489
36.5.2VREFBUF calibration control register (VREFBUF_CCR) . . . . .1490
36.5.3VREFBUF register map . . . . .1490
37Comparator (COMP) . . . . .1491
37.1Introduction . . . . .1491
37.2COMP main features . . . . .1491
37.3COMP implementation . . . . .1491
37.4COMP functional description . . . . .1492
37.4.1COMP block diagram . . . . .1492
37.4.2COMP pins and internal signals . . . . .1492
37.4.3Comparator LOCK mechanism . . . . .1494
37.4.4Window comparator . . . . .1494
37.4.5Hysteresis . . . . .1495
37.4.6Comparator output-blanking function . . . . .1495
37.4.7COMP power and speed modes . . . . .1496
37.4.8Scaler function . . . . .1496
37.5COMP low-power modes . . . . .1497
37.6COMP interrupts . . . . .1497
37.7COMP registers . . . . .1498
37.7.1COMP1 control and status register (COMP1_CSR) . . . . .1498
37.7.2COMP2 control and status register (COMP2_CSR) . . . . .1499
37.7.3COMP register map . . . . .1501
38Operational amplifier (OPAMP) . . . . .1502
38.1OPAMP introduction . . . . .1502
38.2OPAMP main features . . . . .1502
38.3OPAMP functional description . . . . .1502
38.3.1OPAMP reset and clocks . . . . .1502
38.3.2Initial configuration . . . . .1503
38.3.3Signal routing . . . . .1503
38.3.4OPAMP modes . . . . .1504
38.3.5Calibration . . . . .1507
38.4OPAMP low-power modes . . . . .1509
38.5OPAMP registers . . . . .1509
38.5.1OPAMP1 control/status register (OPAMP1_CSR) . . . . .1509
38.5.2OPAMP1 offset trimming register in normal mode (OPAMP1_OTR) . . . . .1511
38.5.3OPAMP1 offset trimming register in low-power mode
(OPAMP1_LPOTR) . . . . .
1511
38.5.4OPAMP2 control/status register (OPAMP2_CSR) . . . . .1512
38.5.5OPAMP2 offset trimming register in normal mode (OPAMP2_OTR) . . . . .1513
38.5.6OPAMP2 offset trimming register in low-power mode
(OPAMP2_LPOTR) . . . . .
1514
38.5.7OPAMP register map . . . . .1514
39Multi-function digital filter (MDF) . . . . .1516
39.1MDF introduction . . . . .1516
39.2MDF main features . . . . .1517
39.3MDF implementation . . . . .1517
39.4MDF functional description . . . . .1519
39.4.1MDF block diagram . . . . .1519
39.4.2MDF pins and internal signals . . . . .1520
39.4.3Serial input interfaces (SITF) . . . . .1521
39.4.4ADC slave interface (ADCITF) . . . . .1527
39.4.5Clock generator (CKGEN) . . . . .1528
39.4.6Bitstream matrix (BSMX) . . . . .1530
39.4.7Short-circuit detectors (SCD) . . . . .1531
39.4.8Digital filter processing (DFLT) . . . . .1533
39.4.9Out-of-limit detector (OLD) . . . . .1543
39.4.10Digital filter acquisition modes . . . . .1546
39.4.11Start-up sequence examples . . . . .1556
39.4.12Break interface . . . . .1557
39.4.13Data transfer to memory . . . . .1558
39.4.14Autonomous mode . . . . .1563
39.4.15Register protection . . . . .1564
39.5MDF low-power modes . . . . .1565

40.4.2ADF pins and internal signals . . . . .1602
40.4.3Serial input interface (SITF) . . . . .1603
40.4.4ADC slave interface (ADCITF) . . . . .1607
40.4.5Clock generator (CKGEN) . . . . .1608
40.4.6Bitstream matrix (BSMX) . . . . .1610
40.4.7Digital filter processing (DFLT) . . . . .1611
40.4.8Digital filter acquisition modes . . . . .1621
40.4.9Start-up sequence examples . . . . .1629
40.4.10Sound activity detection (SAD) . . . . .1630
40.4.11Data transfer to memory . . . . .1638
40.4.12Autonomous mode . . . . .1641
40.4.13Register protection . . . . .1641
40.5ADF low-power modes . . . . .1642
40.6ADF interrupts . . . . .1642
40.7ADF application information . . . . .1644
40.7.1ADF configuration examples for audio capture . . . . .1644
40.7.2Programming examples . . . . .1645
40.7.3Connection examples . . . . .1647
40.7.4Global frequency response . . . . .1648
40.7.5Total ADF gain . . . . .1649
40.7.6How to compute SAD thresholds . . . . .1652
40.8ADF registers . . . . .1656
40.8.1ADF global control register (ADF_GCR) . . . . .1656
40.8.2ADF clock generator control register (ADF_CKGCR) . . . . .1656
40.8.3ADF serial interface control register 0 (ADF_SITF0CR) . . . . .1658
40.8.4ADF bitstream matrix control register 0 (ADF_BSMX0CR) . . . . .1660
40.8.5ADF digital filter control register 0 (ADF_DFLT0CR) . . . . .1660
40.8.6ADF digital filter configuration register 0 (ADF_DFLT0CICR) . . . . .1662
40.8.7ADF reshape filter configuration register 0 (ADF_DFLT0RSFR) . . . . .1663
40.8.8ADF delay control register 0 (ADF_DLY0CR) . . . . .1664
40.8.9ADF DFLT0 interrupt enable register (ADF_DFLT0IER) . . . . .1665
40.8.10ADF DFLT0 interrupt status register 0 (ADF_DFLT0ISR) . . . . .1666
40.8.11ADF SAD control register (ADF_SADCR) . . . . .1667
40.8.12ADF SAD configuration register (ADF_SADCFGR) . . . . .1669
40.8.13ADF SAD sound level register (ADF_SADSDLVR) . . . . .1670
40.8.14ADF SAD ambient noise level register (ADF_SADANLVR) . . . . .1671
40.8.15ADF digital filter data register 0 (ADF_DFLT0DR) . . . . .1671
40.8.16ADF register map . . . . .1671
41Digital camera interface (DCMI) . . . . .1674
41.1DCMI introduction . . . . .1674
41.2DCMI main features . . . . .1674
41.3DCMI functional description . . . . .1674
41.3.1DCMI block diagram . . . . .1675
41.3.2DCMI pins and internal signals . . . . .1675
41.3.3DCMI clocks . . . . .1676
41.3.4DCMI DMA interface . . . . .1676
41.3.5DCMI physical interface . . . . .1676
41.3.6DCMI synchronization . . . . .1678
41.3.7DCMI capture modes . . . . .1680
41.3.8DCMI crop feature . . . . .1681
41.3.9DCMI JPEG format . . . . .1682
41.3.10DCMI FIFO . . . . .1682
41.3.11DCMI data format description . . . . .1683
41.4DCMI interrupts . . . . .1685
41.5DCMI registers . . . . .1685
41.5.1DCMI control register (DCMI_CR) . . . . .1685
41.5.2DCMI status register (DCMI_SR) . . . . .1688
41.5.3DCMI raw interrupt status register (DCMI_RIS) . . . . .1688
41.5.4DCMI interrupt enable register (DCMI_IER) . . . . .1689
41.5.5DCMI masked interrupt status register (DCMI_MIS) . . . . .1690
41.5.6DCMI interrupt clear register (DCMI_ICR) . . . . .1691
41.5.7DCMI embedded synchronization code register (DCMI_ESCR) . . . . .1692
41.5.8DCMI embedded synchronization unmask register (DCMI_ESUR) . . . . .1692
41.5.9DCMI crop window start (DCMI_CWSTRT) . . . . .1693
41.5.10DCMI crop window size (DCMI_CWSIZE) . . . . .1694
41.5.11DCMI data register (DCMI_DR) . . . . .1694
41.5.12DCMI register map . . . . .1695
42Parallel synchronous slave interface (PSSI) . . . . .1696
42.1PSSI introduction . . . . .1696
42.2PSSI main features . . . . .1696
42.3PSSI functional description . . . . .1696
42.3.1PSSI block diagram . . . . .1697
42.3.2PSSI pins and internal signals . . . . .1697
42.3.3PSSI clock . . . . .1698
42.3.4PSSI data management . . . . .1698
42.3.5PSSI optional control signals . . . . .1700
42.4PSSI interrupts . . . . .1703
42.5PSSI registers . . . . .1704
42.5.1PSSI control register (PSSI_CR) . . . . .1704
42.5.2PSSI status register (PSSI_SR) . . . . .1705
42.5.3PSSI raw interrupt status register (PSSI_RIS) . . . . .1706
42.5.4PSSI interrupt enable register (PSSI_IER) . . . . .1707
42.5.5PSSI masked interrupt status register (PSSI_MIS) . . . . .1707
42.5.6PSSI interrupt clear register (PSSI_ICR) . . . . .1708
42.5.7PSSI data register (PSSI_DR) . . . . .1708
42.5.8PSSI register map . . . . .1709
43LCD-TFT display controller (LTDC) . . . . .1710
43.1Introduction . . . . .1710
43.2LTDC main features . . . . .1710
43.3LTDC functional description . . . . .1711
43.3.1LTDC block diagram . . . . .1711
43.3.2LTDC pins and internal signals . . . . .1711
43.3.3LTDC reset and clocks . . . . .1712
43.4LTDC programmable parameters . . . . .1714
43.4.1LTDC global configuration parameters . . . . .1714
43.4.2Layer programmable parameters . . . . .1716
43.5LTDC interrupts . . . . .1720
43.6LTDC programming procedure . . . . .1721
43.7LTDC registers . . . . .1722
43.7.1LTDC synchronization size configuration register (LTDC_SSCR) . . . . .1722
43.7.2LTDC back porch configuration register (LTDC_BPCR) . . . . .1722
43.7.3LTDC active width configuration register (LTDC_AWCR) . . . . .1723
43.7.4LTDC total width configuration register (LTDC_TWCR) . . . . .1724
43.7.5LTDC global control register (LTDC_GCR) . . . . .1724
43.7.6LTDC shadow reload configuration register (LTDC_SRCR) . . . . .1726
43.7.7LTDC background color configuration register (LTDC_BCCR) . . . . .1726

43.7.8 LTDC interrupt enable register (LTDC_IER) . . . . . 1727

43.7.9 LTDC interrupt status register (LTDC_ISR) . . . . . 1728

43.7.10 LTDC interrupt clear register (LTDC_ICR) . . . . . 1728

43.7.11 LTDC line interrupt position configuration register (LTDC_LIPCR) . . 1729

43.7.12 LTDC current position status register (LTDC_CPSR) . . . . . 1729

43.7.13 LTDC current display status register (LTDC_CDSR) . . . . . 1730

43.7.14 LTDC layer x control register (LTDC_LxCR) . . . . . 1730

43.7.15 LTDC layer x window horizontal position configuration register
(LTDC_LxWHPER) . . . . . 1731

43.7.16 LTDC layer x window vertical position configuration register
(LTDC_LxWVPER) . . . . . 1732

43.7.17 LTDC layer x color keying configuration register
(LTDC_LxCKCR) . . . . . 1733

43.7.18 LTDC layer x pixel format configuration register
(LTDC_LxPFCR) . . . . . 1733

43.7.19 LTDC layer x constant alpha configuration register
(LTDC_LxCACR) . . . . . 1734

43.7.20 LTDC layer x default color configuration register
(LTDC_LxDCCR) . . . . . 1734

43.7.21 LTDC layer x blending factors configuration register
(LTDC_LxBFCR) . . . . . 1735

43.7.22 LTDC layer x color frame buffer address register
(LTDC_LxCFBAR) . . . . . 1736

43.7.23 LTDC layer x color frame buffer length register
(LTDC_LxCFBLR) . . . . . 1736

43.7.24 LTDC layer x color frame buffer line number register
(LTDC_LxCFBLNR) . . . . . 1737

43.7.25 LTDC layer x CLUT write register (LTDC_LxCLUTWR) . . . . . 1737

43.7.26 LTDC register map . . . . . 1738

44 DSI Host (DSI) . . . . . 1741

44.1 DSI introduction . . . . . 1741

44.2 Standard and references . . . . . 1741

44.3 DSI Host main features . . . . . 1742

44.4 DSI Host functional description . . . . . 1743

44.4.1 General description . . . . . 1743

44.4.2 DSI Host pins and internal signals . . . . . 1743

44.4.3 Supported resolutions and frame rates . . . . . 1744

44.4.4 System level architecture . . . . . 1744

44.5Functional description: video mode on LTDC interface . . . . .1747
44.5.1Video transmission mode . . . . .1749
44.5.2Updating the LTDC interface configuration in video mode . . . . .1750
44.6Functional description: adapted command mode on LTDC interface . . .1752
44.7Functional description: APB register interface . . . . .1756
44.7.1Packet transmission using the generic interface . . . . .1756
44.8Functional description: timeout counters . . . . .1760
44.8.1Contention error detection timeout counters . . . . .1760
44.8.2Peripheral response timeout counters . . . . .1761
44.9Functional description: transmission of commands . . . . .1766
44.9.1Transmission of commands in video mode . . . . .1766
44.9.2Transmission of commands in low-power mode . . . . .1768
44.9.3Transmission of commands in high-speed . . . . .1772
44.9.4Read command transmission . . . . .1772
44.9.5Clock lane in low-power mode . . . . .1773
44.10Functional description: virtual channels . . . . .1775
44.11Functional description: video mode pattern generator . . . . .1776
44.11.1Color bar pattern . . . . .1776
44.11.2Color coding . . . . .1778
44.11.3BER testing pattern . . . . .1778
44.11.4Video mode pattern generator resolution . . . . .1779
44.12Functional description: D-PHY management . . . . .1780
44.12.1D-PHY configuration . . . . .1780
44.12.2D-PHY HS2LP and LP2HS durations . . . . .1780
44.12.3Special D-PHY operations . . . . .1781
44.12.4DSI PLL control . . . . .1781
44.12.5D-PHY bias control . . . . .1782
44.13Functional description: interrupts and errors . . . . .1782
44.13.1DSI Wrapper interrupts . . . . .1782
44.13.2DSI Host interrupts and errors . . . . .1783
44.14Programing procedure . . . . .1790
44.14.1Programing procedure overview . . . . .1791
44.14.2Configuring the D-PHY parameters . . . . .1792
44.14.3Configuring the DSI Host timing . . . . .1792
44.14.4Configuring flow control and DBI interface . . . . .1793
44.14.5Configuring the DSI Host LTDC interface . . . . .1793
44.14.6Configuring the video mode . . . . .1794
44.14.7Configuring the adapted command mode . . . . .1798
44.14.8Configuring the video mode pattern generator . . . . .1798
44.14.9Managing ULPM . . . . .1799
44.15DSI Host registers . . . . .1802
44.15.1DSI Host version register (DSI_VR) . . . . .1802
44.15.2DSI Host control register (DSI_CR) . . . . .1802
44.15.3DSI Host clock control register (DSI_CCR) . . . . .1802
44.15.4DSI Host LTDC VCID register (DSI_LVCIDR) . . . . .1803
44.15.5DSI Host LTDC color coding register (DSI_LCOLCR) . . . . .1803
44.15.6DSI Host LTDC polarity configuration register (DSI_LPCR) . . . . .1804
44.15.7DSI Host low-power mode configuration register (DSI_LPMCR) . . . . .1804
44.15.8DSI Host protocol configuration register (DSI_PCR) . . . . .1805
44.15.9DSI Host generic VCID register (DSI_GVCIDR) . . . . .1806
44.15.10DSI Host mode configuration register (DSI_MCR) . . . . .1806
44.15.11DSI Host video mode configuration register (DSI_VMCR) . . . . .1807
44.15.12DSI Host video packet configuration register (DSI_VPCR) . . . . .1808
44.15.13DSI Host video chunks configuration register (DSI_VCCR) . . . . .1808
44.15.14DSI Host video null packet configuration register (DSI_VNPCR) . . . . .1809
44.15.15DSI Host video HSA configuration register (DSI_VHSACR) . . . . .1809
44.15.16DSI Host video HBP configuration register (DSI_VHBPCR) . . . . .1810
44.15.17DSI Host video line configuration register (DSI_VLCR) . . . . .1810
44.15.18DSI Host video VSA configuration register (DSI_VVSACR) . . . . .1810
44.15.19DSI Host video VBP configuration register (DSI_VVBPCR) . . . . .1811
44.15.20DSI Host video VFP configuration register (DSI_VVPCR) . . . . .1811
44.15.21DSI Host video VA configuration register (DSI_VVACR) . . . . .1811
44.15.22DSI Host LTDC command configuration register (DSI_LCCR) . . . . .1812
44.15.23DSI Host command mode configuration register (DSI_CMCR) . . . . .1812
44.15.24DSI Host generic header configuration register (DSI_GHCR) . . . . .1814
44.15.25DSI Host generic payload data register (DSI_GPDR) . . . . .1814
44.15.26DSI Host generic packet status register (DSI_GPSR) . . . . .1815
44.15.27DSI Host timeout counter configuration register 0 (DSI_TCCR0) . . . . .1816
44.15.28DSI Host timeout counter configuration register 1 (DSI_TCCR1) . . . . .1817
44.15.29DSI Host timeout counter configuration register 2 (DSI_TCCR2) . . . . .1817
44.15.30DSI Host timeout counter configuration register 3 (DSI_TCCR3) . . . . .1818
44.15.31DSI Host timeout counter configuration register 4 (DSI_TCCR4) . . . . .1818
44.15.32DSI Host timeout counter configuration register 5 (DSI_TCCR5) . . . . .1819
44.15.33 DSI Host clock lane configuration register (DSI_CLCR) . . . . .1819
44.15.34 DSI Host clock lane timer configuration register (DSI_CLTCR) . . . . .1820
44.15.35 DSI Host data lane timer configuration register (DSI_DLTCR) . . . . .1820
44.15.36 DSI Host PHY control register (DSI_PCTLR) . . . . .1820
44.15.37 DSI Host PHY configuration register (DSI_PCONFGR) . . . . .1821
44.15.38 DSI Host PHY ULPS control register (DSI_PUCR) . . . . .1822
44.15.39 DSI Host PHY TX triggers configuration register (DSI_PTTTCR) . . . . .1822
44.15.40 DSI Host PHY status register (DSI_PSR) . . . . .1823
44.15.41 DSI Host interrupt and status register 0 (DSI_ISR0) . . . . .1823
44.15.42 DSI Host interrupt and status register 1 (DSI_ISR1) . . . . .1825
44.15.43 DSI Host interrupt enable register 0 (DSI_IER0) . . . . .1826
44.15.44 DSI Host interrupt enable register 1 (DSI_IER1) . . . . .1828
44.15.45 DSI Host force interrupt register 0 (DSI_FIR0) . . . . .1830
44.15.46 DSI Host force interrupt register 1 (DSI_FIR1) . . . . .1831
44.15.47 DSI Host data lane timer read configuration register
(DSI_DLTRCR) . . . . .
1832
44.15.48 DSI Host video shadow control register (DSI_VSCR) . . . . .1833
44.15.49 DSI Host LTDC current VCID register (DSI_LCVCIDR) . . . . .1833
44.15.50 DSI Host LTDC current color coding register (DSI_LCCCR) . . . . .1833
44.15.51 DSI Host low-power mode current configuration register
(DSI_LPMCCR) . . . . .
1834
44.15.52 DSI Host video mode current configuration register
(DSI_VMCCR) . . . . .
1835
44.15.53 DSI Host video packet current configuration register
(DSI_VPCCR) . . . . .
1836
44.15.54 DSI Host video chunks current configuration register
(DSI_VCCCR) . . . . .
1836
44.15.55 DSI Host video null packet current configuration register
(DSI_VNPCCR) . . . . .
1837
44.15.56 DSI Host video HSA current configuration register
(DSI_VHSACCR) . . . . .
1837
44.15.57 DSI Host video HBP current configuration register
(DSI_VHBPCCR) . . . . .
1837
44.15.58 DSI Host video line current configuration register (DSI_VLCCR) . . . . .1838
44.15.59 DSI Host video VSA current configuration register
(DSI_VVSACCR) . . . . .
1838
44.15.60 DSI Host video VBP current configuration register
(DSI_VVPCCR) . . . . .
1838
44.15.61 DSI Host video VFP current configuration register
(DSI_VVFPCCR) . . . . .
1839
45.4.1GPU2D block diagram . . . . .1863
45.4.2GPU2D pins and internal signals . . . . .1863
46JPEG codec (JPEG) . . . . .1864
46.1JPEG introduction . . . . .1864
46.2JPEG codec main features . . . . .1864
46.3JPEG codec block functional description . . . . .1865
46.3.1General description . . . . .1865
46.3.2JPEG internal signals . . . . .1865
46.3.3JPEG decoding procedure . . . . .1866
46.3.4JPEG encoding procedure . . . . .1868
46.4JPEG codec interrupts . . . . .1871
46.5JPEG codec registers . . . . .1871
46.5.1JPEG codec control register (JPEG_CONFR0) . . . . .1871
46.5.2JPEG codec configuration register 1 (JPEG_CONFR1) . . . . .1872
46.5.3JPEG codec configuration register 2 (JPEG_CONFR2) . . . . .1873
46.5.4JPEG codec configuration register 3 (JPEG_CONFR3) . . . . .1873
46.5.5JPEG codec configuration register x (JPEG_CONFRx) . . . . .1874
46.5.6JPEG control register (JPEG_CR) . . . . .1875
46.5.7JPEG status register (JPEG_SR) . . . . .1876
46.5.8JPEG clear flag register (JPEG_CFR) . . . . .1877
46.5.9JPEG data input register (JPEG_DIR) . . . . .1878
46.5.10JPEG data output register (JPEG_DOR) . . . . .1878
46.5.11JPEG quantization memory x (JPEG_QMEMx_y) . . . . .1879
46.5.12JPEG Huffman min (JPEG_HUFFMINx_y) . . . . .1879
46.5.13JPEG Huffman min x (JPEG_HUFFMINx_y) . . . . .1880
46.5.14JPEG Huffman base (JPEG_HUFFBASEx) . . . . .1880
46.5.15JPEG Huffman symbol (JPEG_HUFFSYMBx) . . . . .1881
46.5.16JPEG DHT memory (JPEG_DHTMEMx) . . . . .1882
46.5.17JPEG Huffman encoder ACx (JPEG_HUFFENC_ACx_y) . . . . .1882
46.5.18JPEG Huffman encoder DCx (JPEG_HUFFENC_DCx_y) . . . . .1883
46.5.19JPEG codec register map . . . . .1884
47Touch sensing controller (TSC) . . . . .1886
47.1TSC introduction . . . . .1886
47.2TSC main features . . . . .1886
48.3.8RNG low-power use . . . . .1911
48.4RNG interrupts . . . . .1912
48.5RNG processing time . . . . .1912
48.6RNG entropy source validation . . . . .1913
48.6.1Introduction . . . . .1913
48.6.2Validation conditions . . . . .1913
48.7RNG registers . . . . .1914
48.7.1RNG control register (RNG_CR) . . . . .1914
48.7.2RNG status register (RNG_SR) . . . . .1916
48.7.3RNG data register (RNG_DR) . . . . .1917
48.7.4RNG noise source control register (RNG_NSCR) . . . . .1918
48.7.5RNG health test control register (RNG_HTCR) . . . . .1919
48.7.6RNG register map . . . . .1919
49AES hardware accelerator (AES) . . . . .1920
49.1Introduction . . . . .1920
49.2AES main features . . . . .1920
49.3AES implementation . . . . .1921
49.4AES functional description . . . . .1921
49.4.1AES block diagram . . . . .1921
49.4.2AES internal signals . . . . .1921
49.4.3AES cryptographic core . . . . .1922
49.4.4AES procedure to perform a cipher operation . . . . .1927
49.4.5AES decryption round key preparation . . . . .1930
49.4.6AES ciphertext stealing and data padding . . . . .1930
49.4.7AES task suspend and resume . . . . .1931
49.4.8AES basic chaining modes (ECB, CBC) . . . . .1931
49.4.9AES counter (CTR) mode . . . . .1936
49.4.10AES Galois/counter mode (GCM) . . . . .1938
49.4.11AES Galois message authentication code (GMAC) . . . . .1943
49.4.12AES counter with CBC-MAC (CCM) . . . . .1945
49.4.13AES operation with shared keys . . . . .1950
49.4.14AES data registers and data swapping . . . . .1951
49.4.15AES key registers . . . . .1953
49.4.16AES initialization vector registers . . . . .1953
49.4.17AES DMA interface . . . . .1954
49.4.18AES error management . . . . .1955
49.5AES interrupts . . . . .1956
49.6AES processing latency . . . . .1957
49.7AES registers . . . . .1958
49.7.1AES control register (AES_CR) . . . . .1958
49.7.2AES status register (AES_SR) . . . . .1960
49.7.3AES data input register (AES_DINR) . . . . .1962
49.7.4AES data output register (AES_DOUTR) . . . . .1962
49.7.5AES key register 0 (AES_KEYR0) . . . . .1963
49.7.6AES key register 1 (AES_KEYR1) . . . . .1963
49.7.7AES key register 2 (AES_KEYR2) . . . . .1964
49.7.8AES key register 3 (AES_KEYR3) . . . . .1964
49.7.9AES initialization vector register 0 (AES_IVR0) . . . . .1964
49.7.10AES initialization vector register 1 (AES_IVR1) . . . . .1965
49.7.11AES initialization vector register 2 (AES_IVR2) . . . . .1965
49.7.12AES initialization vector register 3 (AES_IVR3) . . . . .1965
49.7.13AES key register 4 (AES_KEYR4) . . . . .1966
49.7.14AES key register 5 (AES_KEYR5) . . . . .1966
49.7.15AES key register 6 (AES_KEYR6) . . . . .1966
49.7.16AES key register 7 (AES_KEYR7) . . . . .1967
49.7.17AES suspend registers (AES_SUSPxR) . . . . .1967
49.7.18AES interrupt enable register (AES_IER) . . . . .1968
49.7.19AES interrupt status register (AES_ISR) . . . . .1968
49.7.20AES interrupt clear register (AES_ICR) . . . . .1969
49.7.21AES register map . . . . .1970
50Secure AES coprocessor (SAES) . . . . .1972
50.1Introduction . . . . .1972
50.2SAES main features . . . . .1973
50.3SAES implementation . . . . .1973
50.4SAES functional description . . . . .1974
50.4.1SAES block diagram . . . . .1974
50.4.2SAES internal signals . . . . .1974
50.4.3SAES cryptographic core . . . . .1975
50.4.4SAES procedure to perform a cipher operation . . . . .1977
50.4.5SAES decryption round key preparation . . . . .1980
50.4.6SAES ciphertext stealing and data padding . . . . .1980
50.4.7SAES task suspend and resume . . . . .1981
50.4.8SAES basic chaining modes (ECB, CBC) . . . . .1981
50.4.9SAES operation with wrapped keys . . . . .1986
50.4.10SAES operation with shared keys . . . . .1989
50.4.11SAES data registers and data swapping . . . . .1991
50.4.12SAES key registers . . . . .1993
50.4.13SAES initialization vector registers . . . . .1994
50.4.14SAES DMA interface . . . . .1995
50.4.15SAES error management . . . . .1996
50.5SAES interrupts . . . . .1998
50.6SAES processing latency . . . . .1999
50.7SAES registers . . . . .1999
50.7.1SAES control register (SAES_CR) . . . . .1999
50.7.2SAES status register (SAES_SR) . . . . .2002
50.7.3SAES data input register (SAES_DINR) . . . . .2004
50.7.4SAES data output register (SAES_DOU TR) . . . . .2004
50.7.5SAES key register 0 (SAES_KEYR0) . . . . .2005
50.7.6SAES key register 1 (SAES_KEYR1) . . . . .2005
50.7.7SAES key register 2 (SAES_KEYR2) . . . . .2006
50.7.8SAES key register 3 (SAES_KEYR3) . . . . .2006
50.7.9SAES initialization vector register 0 (SAES_IVR0) . . . . .2006
50.7.10SAES initialization vector register 1 (SAES_IVR1) . . . . .2007
50.7.11SAES initialization vector register 2 (SAES_IVR2) . . . . .2007
50.7.12SAES initialization vector register 3 (SAES_IVR3) . . . . .2007
50.7.13SAES key register 4 (SAES_KEYR4) . . . . .2008
50.7.14SAES key register 5 (SAES_KEYR5) . . . . .2008
50.7.15SAES key register 6 (SAES_KEYR6) . . . . .2008
50.7.16SAES key register 7 (SAES_KEYR7) . . . . .2009
50.7.17SAES interrupt enable register (SAES_IER) . . . . .2009
50.7.18SAES interrupt status register (SAES_ISR) . . . . .2010
50.7.19SAES interrupt clear register (SAES_ICR) . . . . .2011
50.7.20SAES register map . . . . .2012
51Hash processor (HASH) . . . . .2014
51.1Introduction . . . . .2014
51.2HASH main features . . . . .2014

52 On-the-fly decryption engine (OTFDEC) . . . . . 2036

52.5.1OTFDEC initialization process . . . . .2041
52.5.2OTFDEC and power management . . . . .2043
52.5.3Encrypting for OTFDEC . . . . .2043
52.5.4OTFDEC key CRC source code . . . . .2044
52.6OTFDEC registers . . . . .2045
52.6.1OTFDEC control register (OTFDEC_CR) . . . . .2045
52.6.2OTFDEC privileged access control configuration register
(OTFDEC_PRIVCFGGR) . . . . .
2046
52.6.3OTFDEC region x configuration register (OTFDEC_RxCFGR) . . . . .2046
52.6.4OTFDEC region x start address register
(OTFDEC_RxSTARTADDR) . . . . .
2048
52.6.5OTFDEC region x end address register (OTFDEC_RxENDADDR) . . . . .2048
52.6.6OTFDEC region x nonce register 0 (OTFDEC_RxNONCER0) . . . . .2049
52.6.7OTFDEC region x nonce register 1 (OTFDEC_RxNONCER1) . . . . .2050
52.6.8OTFDEC region x key register 0 (OTFDEC_RxKEYR0) . . . . .2050
52.6.9OTFDEC region x key register 1 (OTFDEC_RxKEYR1) . . . . .2051
52.6.10OTFDEC region x key register 2 (OTFDEC_RxKEYR2) . . . . .2051
52.6.11OTFDEC region x key register 3 (OTFDEC_RxKEYR3) . . . . .2052
52.6.12OTFDEC interrupt status register (OTFDEC_ISR) . . . . .2052
52.6.13OTFDEC interrupt clear register (OTFDEC_ICR) . . . . .2053
52.6.14OTFDEC interrupt enable register (OTFDEC_IER) . . . . .2054
52.6.15OTFDEC register map . . . . .2055
53Public key accelerator (PKA) . . . . .2059
53.1PKA introduction . . . . .2059
53.2PKA main features . . . . .2059
53.3PKA functional description . . . . .2060
53.3.1PKA block diagram . . . . .2060
53.3.2PKA internal signals . . . . .2060
53.3.3PKA reset and clocks . . . . .2060
53.3.4PKA public key acceleration . . . . .2061
53.3.5Typical applications for PKA . . . . .2063
53.3.6PKA procedure to perform an operation . . . . .2065
53.3.7PKA error management . . . . .2066
53.4PKA operating modes . . . . .2067
53.4.1Introduction . . . . .2067
53.4.2Montgomery parameter computation . . . . .2068
53.4.3Modular addition . . . . .2068
53.4.4Modular subtraction . . . . .2069
53.4.5Modular and Montgomery multiplication . . . . .2069
53.4.6Modular exponentiation . . . . .2070
53.4.7Modular inversion . . . . .2072
53.4.8Modular reduction . . . . .2072
53.4.9Arithmetic addition . . . . .2073
53.4.10Arithmetic subtraction . . . . .2073
53.4.11Arithmetic multiplication . . . . .2074
53.4.12Arithmetic comparison . . . . .2074
53.4.13RSA CRT exponentiation . . . . .2074
53.4.14Point on elliptic curve Fp check . . . . .2075
53.4.15ECC Fp scalar multiplication . . . . .2076
53.4.16ECDSA sign . . . . .2077
53.4.17ECDSA verification . . . . .2079
53.4.18ECC complete addition . . . . .2080
53.4.19ECC double base ladder . . . . .2080
53.4.20ECC projective to affine . . . . .2081
53.5Example of configurations and processing times . . . . .2082
53.5.1Supported elliptic curves . . . . .2082
53.5.2Computation times . . . . .2084
53.6PKA interrupts . . . . .2086
53.7PKA registers . . . . .2087
53.7.1PKA control register (PKA_CR) . . . . .2087
53.7.2PKA status register (PKA_SR) . . . . .2088
53.7.3PKA clear flag register (PKA_CLRFR) . . . . .2090
53.7.4PKA RAM . . . . .2090
53.7.5PKA register map . . . . .2091
54Advanced-control timers (TIM1/TIM8) . . . . .2092
54.1TIM1/TIM8 introduction . . . . .2092
54.2TIM1/TIM8 main features . . . . .2092
54.3TIM1/TIM8 functional description . . . . .2093
54.3.1Block diagram . . . . .2093
54.3.2TIM1/TIM8 pins and internal signals . . . . .2094
54.3.3Time-base unit . . . . .2099
54.3.4Counter modes . . . . .2101
54.3.5Repetition counter . . . . .2113
54.3.6External trigger input . . . . .2114
54.3.7Clock selection . . . . .2115
54.3.8Capture/compare channels . . . . .2119
54.3.9Input capture mode . . . . .2122
54.3.10PWM input mode . . . . .2123
54.3.11Forced output mode . . . . .2124
54.3.12Output compare mode . . . . .2124
54.3.13PWM mode . . . . .2126
54.3.14Asymmetric PWM mode . . . . .2134
54.3.15Combined PWM mode . . . . .2135
54.3.16Combined 3-phase PWM mode . . . . .2136
54.3.17Complementary outputs and dead-time insertion . . . . .2137
54.3.18Using the break function . . . . .2140
54.3.19Bidirectional break inputs . . . . .2146
54.3.20Clearing the tim_ocxref signal on an external event . . . . .2147
54.3.216-step PWM generation . . . . .2149
54.3.22One-pulse mode . . . . .2150
54.3.23Retriggerable One-pulse mode . . . . .2152
54.3.24Pulse on compare mode . . . . .2153
54.3.25Encoder interface mode . . . . .2155
54.3.26Direction bit output . . . . .2172
54.3.27UIF bit remapping . . . . .2173
54.3.28Timer input XOR function . . . . .2173
54.3.29Interfacing with Hall sensors . . . . .2173
54.3.30Timer synchronization . . . . .2175
54.3.31ADC triggers . . . . .2180
54.3.32DMA burst mode . . . . .2180
54.3.33TIM1/TIM8 DMA requests . . . . .2181
54.3.34Debug mode . . . . .2181
54.4TIM1/TIM8 low-power modes . . . . .2182
54.5TIM1/TIM8 interrupts . . . . .2182
54.6TIM1/TIM8 registers . . . . .2183
54.6.1TIMx control register 1 (TIMx_CR1)(x = 1, 8) . . . . .2183
54.6.2TIMx control register 2 (TIMx_CR2)(x = 1, 8) . . . . .2184
54.6.3TIMx slave mode control register (TIMx_SMCR)(x = 1, 8) . . . . .2188
54.6.4TIMx DMA/interrupt enable register (TIMx_DIER)(x = 1, 8) . . . . .2192
54.6.5TIMx status register (TIMx_SR)(x = 1, 8) . . . . .2193
54.6.6TIMx event generation register (TIMx_EGR)(x = 1, 8) . . . . .2196
54.6.7TIMx capture/compare mode register 1 (TIMx_CCMR1)
(x = 1, 8) . . . . .
2197
54.6.8TIMx capture/compare mode register 1 [alternate]
(TIMx_CCMR1)(x = 1, 8) . . . . .
2199
54.6.9TIMx capture/compare mode register 2 (TIMx_CCMR2)
(x = 1, 8) . . . . .
2202
54.6.10TIMx capture/compare mode register 2 [alternate]
(TIMx_CCMR2)(x = 1, 8) . . . . .
2203
54.6.11TIMx capture/compare enable register (TIMx_CCER)(x = 1, 8) . . . . .2206
54.6.12TIMx counter (TIMx_CNT)(x = 1, 8) . . . . .2210
54.6.13TIMx prescaler (TIMx_PSC)(x = 1, 8) . . . . .2210
54.6.14TIMx autoreload register (TIMx_ARR)(x = 1, 8) . . . . .2211
54.6.15TIMx repetition counter register (TIMx_RCR)(x = 1, 8) . . . . .2211
54.6.16TIMx capture/compare register 1 (TIMx_CCR1)(x = 1, 8) . . . . .2212
54.6.17TIMx capture/compare register 2 (TIMx_CCR2)(x = 1, 8) . . . . .2212
54.6.18TIMx capture/compare register 3 (TIMx_CCR3)(x = 1, 8) . . . . .2213
54.6.19TIMx capture/compare register 4 (TIMx_CCR4)(x = 1, 8) . . . . .2214
54.6.20TIMx break and dead-time register (TIMx_BDTR)(x = 1, 8) . . . . .2215
54.6.21TIMx capture/compare register 5 (TIMx_CCR5)(x = 1, 8) . . . . .2219
54.6.22TIMx capture/compare register 6 (TIMx_CCR6)(x = 1, 8) . . . . .2220
54.6.23TIMx capture/compare mode register 3 (TIMx_CCMR3)
(x = 1, 8) . . . . .
2221
54.6.24TIMx timer deadtime register 2 (TIMx_DTR2)(x = 1, 8) . . . . .2222
54.6.25TIMx timer encoder control register (TIMx_ECR)(x = 1, 8) . . . . .2223
54.6.26TIMx timer input selection register (TIMx_TISEL)(x = 1, 8) . . . . .2224
54.6.27TIMx alternate function option register 1 (TIMx_AF1)(x = 1, 8) . . . . .2225
54.6.28TIMx alternate function register 2 (TIMx_AF2)(x = 1, 8) . . . . .2228
54.6.29TIMx DMA control register (TIMx_DCR)(x = 1, 8) . . . . .2230
54.6.30TIMx DMA address for full transfer (TIMx_DMAR)(x = 1, 8) . . . . .2232
54.6.31TIMx register map . . . . .2232
55General-purpose timers (TIM2/TIM3/TIM4/TIM5) . . . . .2235
55.1TIM2/TIM3/TIM4/TIM5 introduction . . . . .2235
55.2TIM2/TIM3/TIM4/TIM5 main features . . . . .2235
55.3TIM2/TIM3/TIM4/TIM5 implementation . . . . .2236
55.4TIM2/TIM3/TIM4/TIM5 functional description . . . . .2237
55.4.1Block diagram . . . . .2237
55.4.2TIM2/TIM3/TIM4/TIM5 pins and internal signals . . . . .2238
55.4.3Time-base unit . . . . .2242
55.4.4Counter modes . . . . .2244
55.4.5Clock selection . . . . .2256
55.4.6Capture/compare channels . . . . .2260
55.4.7Input capture mode . . . . .2262
55.4.8PWM input mode . . . . .2263
55.4.9Forced output mode . . . . .2264
55.4.10Output compare mode . . . . .2264
55.4.11PWM mode . . . . .2266
55.4.12Asymmetric PWM mode . . . . .2274
55.4.13Combined PWM mode . . . . .2275
55.4.14Clearing the tim_ocxref signal on an external event . . . . .2276
55.4.15One-pulse mode . . . . .2278
55.4.16Retriggerable one-pulse mode . . . . .2279
55.4.17Pulse on compare mode . . . . .2280
55.4.18Encoder interface mode . . . . .2282
55.4.19Direction bit output . . . . .2300
55.4.20UIF bit remapping . . . . .2301
55.4.21Timer input XOR function . . . . .2301
55.4.22Timers and external trigger synchronization . . . . .2301
55.4.23Timer synchronization . . . . .2305
55.4.24ADC triggers . . . . .2310
55.4.25DMA burst mode . . . . .2311
55.4.26TIM2/TIM3/TIM4/TIM5 DMA requests . . . . .2312
55.4.27Debug mode . . . . .2312
55.4.28TIM2/TIM3/TIM4/TIM5 low-power modes . . . . .2312
55.4.29TIM2/TIM3/TIM4/TIM5 interrupts . . . . .2313
55.5TIM2/TIM3/TIM4/TIM5 registers . . . . .2314
55.5.1TIMx control register 1 (TIMx_CR1)(x = 2 to 5) . . . . .2314
55.5.2TIMx control register 2 (TIMx_CR2)(x = 2 to 5) . . . . .2315
55.5.3TIMx slave mode control register (TIMx_SMCR)(x = 2 to 5) . . . . .2317
55.5.4TIMx DMA/Interrupt enable register (TIMx_DIER)(x = 2 to 5) . . . . .2321
55.5.5TIMx status register (TIMx_SR)(x = 2 to 5) . . . . .2322
55.5.6TIMx event generation register (TIMx_EGR)(x = 2 to 5) . . . . .2324
55.5.7TIMx capture/compare mode register 1 (TIMx_CCMR1)(x = 2 to 5)2325
55.5.8TIMx capture/compare mode register 1 [alternate]
(TIMx_CCMR1)(x = 2 to 5)
2327
55.5.9TIMx capture/compare mode register 2 (TIMx_CCMR2)(x = 2 to 5)2329
55.5.10TIMx capture/compare mode register 2 [alternate]
(TIMx_CCMR2)(x = 2 to 5)
2330
55.5.11TIMx capture/compare enable register (TIMx_CCER)(x = 2 to 5)2333
55.5.12TIMx counter (TIMx_CNT)(x = 2 to 5)2335
55.5.13TIMx prescaler (TIMx_PSC)(x = 2 to 5)2335
55.5.14TIMx autoreload register (TIMx_ARR)(x = 2 to 5)2336
55.5.15TIMx capture/compare register 1 (TIMx_CCR1)(x = 2 to 5)2336
55.5.16TIMx capture/compare register 2 (TIMx_CCR2)(x = 2 to 5)2337
55.5.17TIMx capture/compare register 3 (TIMx_CCR3)(x = 2 to 5)2338
55.5.18TIMx capture/compare register 4 (TIMx_CCR4)(x = 2 to 5)2339
55.5.19TIMx timer encoder control register (TIMx_ECR)(x = 2 to 5)2340
55.5.20TIMx timer input selection register (TIMx_TISEL)(x = 2 to 5)2341
55.5.21TIMx alternate function register 1 (TIMx_AF1)(x = 2 to 5)2342
55.5.22TIMx alternate function register 2 (TIMx_AF2)(x = 2 to 5)2343
55.5.23TIMx DMA control register (TIMx_DCR)(x = 2 to 5)2344
55.5.24TIMx DMA address for full transfer (TIMx_DMAR)(x = 2 to 5)2345
55.5.25TIMx register map2346
56General purpose timers (TIM15/TIM16/TIM17)2349
56.1TIM15/TIM16/TIM17 introduction2349
56.2TIM15 main features2349
56.3TIM16/TIM17 main features2350
56.4TIM15/TIM16/TIM17 functional description2351
56.4.1Block diagram2351
56.4.2TIM15/TIM16/TIM17 pins and internal signals2352
56.4.3Time-base unit2355
56.4.4Counter modes2357
56.4.5Repetition counter2361
56.4.6Clock selection2362
56.4.7Capture/compare channels2364
56.4.8Input capture mode2366
56.4.9PWM input mode (only for TIM15)2368
56.4.10Forced output mode2369
56.4.11Output compare mode . . . . .2369
56.4.12PWM mode . . . . .2371
56.4.13Combined PWM mode (TIM15 only) . . . . .2376
56.4.14Complementary outputs and dead-time insertion . . . . .2377
56.4.15Using the break function . . . . .2380
56.4.16Bidirectional break input . . . . .2384
56.4.17Clearing the tim_ocxref signal on an external event . . . . .2385
56.4.186-step PWM generation . . . . .2386
56.4.19One-pulse mode . . . . .2388
56.4.20Retriggerable one pulse mode (TIM15 only) . . . . .2389
56.4.21UIF bit remapping . . . . .2390
56.4.22Timer input XOR function (TIM15 only) . . . . .2390
56.4.23External trigger synchronization (TIM15 only) . . . . .2390
56.4.24Slave mode – combined reset + trigger mode (TIM15 only) . . . . .2393
56.4.25Slave mode – combined reset + gated mode (TIM15 only) . . . . .2393
56.4.26Timer synchronization (TIM15 only) . . . . .2394
56.4.27Using timer output as trigger for other timers (TIM16/TIM17 only) . . . . .2394
56.4.28ADC triggers (TIM15 only) . . . . .2394
56.4.29DMA burst mode . . . . .2394
56.4.30TIM15/TIM16/TIM17 DMA requests . . . . .2395
56.4.31Debug mode . . . . .2395
56.5TIM15/TIM16/TIM17 low-power modes . . . . .2396
56.6TIM15/TIM16/TIM17 interrupts . . . . .2396
56.7TIM15 registers . . . . .2396
56.7.1TIM15 control register 1 (TIM15_CR1) . . . . .2397
56.7.2TIM15 control register 2 (TIM15_CR2) . . . . .2398
56.7.3TIM15 slave mode control register (TIM15_SMCR) . . . . .2400
56.7.4TIM15 DMA/interrupt enable register (TIM15_DIER) . . . . .2402
56.7.5TIM15 status register (TIM15_SR) . . . . .2403
56.7.6TIM15 event generation register (TIM15_EGR) . . . . .2405
56.7.7TIM15 capture/compare mode register 1 (TIM15_CCMR1) . . . . .2406
56.7.8TIM15 capture/compare mode register 1 [alternate]
(TIM15_CCMR1) . . . . .
2407
56.7.9TIM15 capture/compare enable register (TIM15_CCER) . . . . .2410
56.7.10TIM15 counter (TIM15_CNT) . . . . .2413
56.7.11TIM15 prescaler (TIM15_PSC) . . . . .2413
56.7.12TIM15 autoreload register (TIM15_ARR) . . . . .2414
56.7.13TIM15 repetition counter register (TIM15_RCR) . . . . .2414
56.7.14TIM15 capture/compare register 1 (TIM15_CCR1) . . . . .2415
56.7.15TIM15 capture/compare register 2 (TIM15_CCR2) . . . . .2416
56.7.16TIM15 break and dead-time register (TIM15_BDTR) . . . . .2416
56.7.17TIM15 timer deadtime register 2 (TIM15_DTR2) . . . . .2419
56.7.18TIM15 input selection register (TIM15_TISEL) . . . . .2420
56.7.19TIM15 alternate function register 1 (TIM15_AF1) . . . . .2421
56.7.20TIM15 alternate function register 2 (TIM15_AF2) . . . . .2423
56.7.21TIM15 DMA control register (TIM15_DCR) . . . . .2424
56.7.22TIM15 DMA address for full transfer (TIM15_DMAR) . . . . .2425
56.7.23TIM15 register map . . . . .2425
56.8TIM16/TIM17 registers . . . . .2428
56.8.1TIMx control register 1 (TIMx_CR1)(x = 16 to 17) . . . . .2428
56.8.2TIMx control register 2 (TIMx_CR2)(x = 16 to 17) . . . . .2429
56.8.3TIMx DMA/interrupt enable register (TIMx_DIER)(x = 16 to 17) . . . . .2430
56.8.4TIMx status register (TIMx_SR)(x = 16 to 17) . . . . .2431
56.8.5TIMx event generation register (TIMx_EGR)(x = 16 to 17) . . . . .2432
56.8.6TIMx capture/compare mode register 1 (TIMx_CCMR1)
(x = 16 to 17) . . . . .
2433
56.8.7TIMx capture/compare mode register 1 [alternate]
(TIMx_CCMR1)(x = 16 to 17) . . . . .
2434
56.8.8TIMx capture/compare enable register (TIMx_CCER)(x = 16 to 17) . . . . .2436
56.8.9TIMx counter (TIMx_CNT)(x = 16 to 17) . . . . .2439
56.8.10TIMx prescaler (TIMx_PSC)(x = 16 to 17) . . . . .2439
56.8.11TIMx auto-reautoreload register (TIMx_ARR)(x = 16 to 17) . . . . .2440
56.8.12TIMx repetition counter register (TIMx_RCR)(x = 16 to 17) . . . . .2440
56.8.13TIMx capture/compare register 1 (TIMx_CCR1)(x = 16 to 17) . . . . .2441
56.8.14TIMx break and dead-time register (TIMx_BDTR)(x = 16 to 17) . . . . .2442
56.8.15TIMx timer deadtime register 2 (TIMx_DTR2)(x = 16 to 17) . . . . .2445
56.8.16TIMx input selection register (TIMx_TISEL)(x = 16 to 17) . . . . .2446
56.8.17TIMx alternate function register 1 (TIMx_AF1)(x = 16 to 17) . . . . .2446
56.8.18TIMx alternate function register 2 (TIMx_AF2)(x = 16 to 17) . . . . .2449
56.8.19TIMx option register 1 (TIMx_OR1)(x = 16 to 17) . . . . .2449
56.8.20TIMx DMA control register (TIMx_DCR)(x = 16 to 17) . . . . .2450
56.8.21TIM16/TIM17 DMA address for full transfer
(TIMx_DMAR)(x = 16 to 17) . . . . .
2451
56.8.22TIM16/TIM17 register map . . . . .2452
57Basic timers (TIM6/TIM7) . . . . .2454
57.1TIM6/TIM7 introduction . . . . .2454
57.2TIM6/TIM7 main features . . . . .2454
57.3TIM6/TIM7 functional description . . . . .2455
57.3.1TIM6/TIM7 block diagram . . . . .2455
57.3.2TIM6/TIM7 internal signals . . . . .2455
57.3.3TIM6/TIM7 clocks . . . . .2456
57.3.4Time-base unit . . . . .2456
57.3.5Counting mode . . . . .2458
57.3.6UIF bit remapping . . . . .2465
57.3.7ADC triggers . . . . .2466
57.3.8TIM6/TIM7 DMA requests . . . . .2466
57.3.9Debug mode . . . . .2466
57.3.10TIM6/TIM7 low-power modes . . . . .2466
57.3.11TIM6/TIM7 interrupts . . . . .2466
57.4TIM6/TIM7 registers . . . . .2467
57.4.1TIMx control register 1 (TIMx_CR1)(x = 6 to 7) . . . . .2467
57.4.2TIMx control register 2 (TIMx_CR2)(x = 6 to 7) . . . . .2469
57.4.3TIMx DMA/Interrupt enable register (TIMx_DIER)(x = 6 to 7) . . . . .2469
57.4.4TIMx status register (TIMx_SR)(x = 6 to 7) . . . . .2470
57.4.5TIMx event generation register (TIMx_EGR)(x = 6 to 7) . . . . .2470
57.4.6TIMx counter (TIMx_CNT)(x = 6 to 7) . . . . .2470
57.4.7TIMx prescaler (TIMx_PSC)(x = 6 to 7) . . . . .2471
57.4.8TIMx autoreload register (TIMx_ARR)(x = 6 to 7) . . . . .2471
57.4.9TIMx register map . . . . .2472
58Low-power timer (LPTIM) . . . . .2473
58.1LPTIM introduction . . . . .2473
58.2LPTIM main features . . . . .2473
58.3LPTIM implementation . . . . .2474
58.4LPTIM functional description . . . . .2475
58.4.1LPTIM block diagram . . . . .2475
58.4.2LPTIM pins and internal signals . . . . .2476
58.4.3LPTIM input and trigger mapping . . . . .2478
58.4.4LPTIM reset and clocks . . . . .2479
58.4.5Glitch filter . . . . .2480
58.4.6Prescaler . . . . .2481
58.4.7Trigger multiplexer . . . . .2481
58.4.8Operating mode . . . . .2482
58.4.9Timeout function . . . . .2484
58.4.10Waveform generation . . . . .2484
58.4.11Register update . . . . .2485
58.4.12Counter mode . . . . .2486
58.4.13Timer enable . . . . .2486
58.4.14Timer counter reset . . . . .2487
58.4.15Encoder mode . . . . .2487
58.4.16Repetition counter . . . . .2489
58.4.17Capture/compare channels . . . . .2490
58.4.18Input capture mode . . . . .2491
58.4.19PWM mode . . . . .2493
58.4.20Autonomous mode . . . . .2495
58.4.21DMA requests . . . . .2496
58.4.22Debug mode . . . . .2497
58.5LPTIM low-power modes . . . . .2497
58.6LPTIM interrupts . . . . .2497
58.7LPTIM registers . . . . .2498
58.7.1LPTIM4 interrupt and status register (LPTIM4_ISR) . . . . .2499
58.7.2LPTIMx interrupt and status register [alternate] (LPTIMx_ISR)
(x = 1 to 3) . . . . .
2500
58.7.3LPTIMx interrupt and status register [alternate] (LPTIMx_ISR)
(x = 1 to 3) . . . . .
2502
58.7.4LPTIM4 interrupt clear register (LPTIM4_ICR) . . . . .2504
58.7.5LPTIMx interrupt clear register [alternate] (LPTIMx_ICR)
(x = 1 to 3) . . . . .
2505
58.7.6LPTIMx interrupt clear register [alternate] (LPTIMx_ICR)
(x = 1 to 3) . . . . .
2506
58.7.7LPTIM4 interrupt enable register (LPTIM4_DIER) . . . . .2507
58.7.8LPTIMx interrupt enable register [alternate] (LPTIMx_DIER)
(x = 1 to 3) . . . . .
2509
58.7.9LPTIMx interrupt enable register [alternate] (LPTIMx_DIER)
(x = 1 to 3) . . . . .
2510
58.7.10LPTIM configuration register (LPTIM_CFGR) . . . . .2512
58.7.11LPTIM control register (LPTIM_CR) . . . . .2515
58.7.12LPTIM compare register 1 (LPTIM_CCR1) . . . . .2516
58.7.13LPTIM autoreload register (LPTIM_ARR) . . . . .2517
58.7.14LPTIM counter register (LPTIM_CNT) . . . . .2517
58.7.15LPTIM configuration register 2 (LPTIM_CFGR2) . . . . .2518
58.7.16LPTIM repetition register (LPTIM_RCR) . . . . .2519
58.7.17LPTIM capture/compare mode register 1 (LPTIM_CCMR1) . . . . .2519
58.7.18LPTIM compare register 2 (LPTIM_CCR2) . . . . .2522
58.7.19LPTIM register map . . . . .2522
59Graphic timer (GFXTIM) . . . . .2525
59.1GFXTIM introduction . . . . .2525
59.2GFXTIM main features . . . . .2525
59.3GFXTIM functional description . . . . .2525
59.3.1Block diagram . . . . .2525
59.3.2GFXTIM pins and internal signals . . . . .2526
59.3.3Clock generator . . . . .2527
59.3.4Example of clock generator configuration . . . . .2529
59.3.5Absolute timers . . . . .2533
59.3.6Relative timers . . . . .2534
59.3.7Tearing-effect detection . . . . .2535
59.3.8Event generator . . . . .2535
59.3.9Watchdog timer . . . . .2536
59.4GFXTIM interrupts . . . . .2537
59.5GFXTIM registers . . . . .2538
59.5.1GFXTIM configuration register (GFXTIM_CR) . . . . .2538
59.5.2GFXTIM clock generator configuration register (GFXTIM_CGCR) . . . . .2539
59.5.3GFXTIM timers configuration register (GFXTIM_TCR) . . . . .2541
59.5.4GFXTIM timers disable register (GFXTIM_TDR) . . . . .2542
59.5.5GFXTIM events control register (GFXTIM_EVCR) . . . . .2543
59.5.6GFXTIM events selection register (GFXTIM_EVSR) . . . . .2543
59.5.7GFXTIM watchdog timer configuration register
(GFXTIM_WDGTCR) . . . . .
2545
59.5.8GFXTIM interrupt status register (GFXTIM_ISR) . . . . .2547
59.5.9GFXTIM interrupt clear register (GFXTIM_ICR) . . . . .2548
59.5.10GFXTIM interrupt enable register (GFXTIM_IER) . . . . .2550
59.5.11GFXTIM timers status register (GFXTIM_TSR) . . . . .2552
59.5.12GFXTIM line-clock counter reload register (GFXTIM_LCCRR) . . . . .2553
59.5.13GFXTIM frame-clock counter reload register (GFXTIM_FCCRR) . . . . .2553
59.5.14GFXTIM absolute time register (GFXTIM_ATR) . . . . .2553
59.5.15GFXTIM absolute frame counter register (GFXTIM_AFCR) . . . . .2554
59.5.16GFXTIM absolute line counter register (GFXTIM_ALCR) . . . . .2554
59.5.17GFXTIM absolute frame counter compare 1 register
(GFXTIM_AFCC1R) . . . . .
2555
59.5.18GFXTIM absolute line counter compare 1 register
(GFXTIM_ALCC1R) . . . . .
2555
59.5.19GFXTIM absolute line counter compare 2 register
(GFXTIM_ALCC2R) . . . . .
2555
59.5.20GFXTIM relative frame counter 1 register (GFXTIM_RFC1R) . . . . .2556
59.5.21GFXTIM relative frame counter 1 reload register
(GFXTIM_RFC1RR) . . . . .
2556
59.5.22GFXTIM relative frame counter 2 register (GFXTIM_RFC2R) . . . . .2557
59.5.23GFXTIM relative frame counter 2 reload register
(GFXTIM_RFC2RR) . . . . .
2557
59.5.24GFXTIM watchdog counter register (GFXTIM_WDGCR) . . . . .2557
59.5.25GFXTIM watchdog reload register (GFXTIM_WDGRR) . . . . .2558
59.5.26GFXTIM watchdog pre-alarm register (GFXTIM_WDGPAR) . . . . .2558
59.5.27GFXTIM register map . . . . .2558
60Infrared interface (IRTIM) . . . . .2561
61Independent watchdog (IWDG) . . . . .2562
61.1IWDG introduction . . . . .2562
61.2IWDG main features . . . . .2562
61.3IWDG implementation . . . . .2562
61.4IWDG functional description . . . . .2563
61.4.1IWDG block diagram . . . . .2563
61.4.2IWDG internal signals . . . . .2564
61.4.3Software and hardware watchdog modes . . . . .2564
61.4.4Window option . . . . .2565
61.4.5Debug . . . . .2568
61.4.6Register access protection . . . . .2568
61.5IWDG low power modes . . . . .2568
61.6IWDG interrupts . . . . .2569
61.7IWDG registers . . . . .2570
61.7.1IWDG key register (IWDG_KR) . . . . .2570
61.7.2IWDG prescaler register (IWDG_PR) . . . . .2571
61.7.3IWDG reload register (IWDG_RLR) . . . . .2572
61.7.4IWDG status register (IWDG_SR) . . . . .2572
61.7.5IWDG window register (IWDG_WINR) . . . . .2573
61.7.6IWDG early wake-up interrupt register (IWDG_EWCR) . . . . .2574
61.7.7IWDG register map . . . . .2575
62System window watchdog (WWDG) . . . . .2576
62.1WWDG introduction . . . . .2576
62.2WWDG main features . . . . .2576
62.3WWDG implementation . . . . .2576
62.4WWDG functional description . . . . .2577
62.4.1WWDG block diagram . . . . .2577
62.4.2WWDG internal signals . . . . .2577
62.4.3Enabling the watchdog . . . . .2578
62.4.4Controlling the down-counter . . . . .2578
62.4.5How to program the watchdog timeout . . . . .2578
62.4.6Debug mode . . . . .2579
62.5WWDG interrupts . . . . .2580
62.6WWDG registers . . . . .2580
62.6.1WWDG control register (WWDG_CR) . . . . .2580
62.6.2WWDG configuration register (WWDG_CFR) . . . . .2581
62.6.3WWDG status register (WWDG_SR) . . . . .2582
62.6.4WWDG register map . . . . .2582
63Real-time clock (RTC) . . . . .2583
63.1RTC introduction . . . . .2583
63.2RTC main features . . . . .2583
63.3RTC functional description . . . . .2584
63.3.1RTC block diagram . . . . .2584
63.3.2RTC pins and internal signals . . . . .2586
63.3.3GPIOs controlled by the RTC and TAMP . . . . .2587
63.3.4RTC secure protection modes . . . . .2590
63.3.5RTC privilege protection modes . . . . .2591
63.3.6Clock and prescalers . . . . .2592
63.3.7Real-time clock and calendar . . . . .2594
63.3.8Calendar ultra-low power mode . . . . .2594
63.3.9Programmable alarms . . . . .2594
63.3.10Periodic auto-wake-up . . . . .2595
63.3.11RTC initialization and configuration . . . . .2596
63.3.12Reading the calendar . . . . .2598
63.3.13Resetting the RTC . . . . .2599
63.3.14RTC synchronization . . . . .2600
63.3.15RTC reference clock detection . . . . .2600
63.3.16RTC smooth digital calibration . . . . .2601
63.3.17Timestamp function . . . . .2603
63.3.18Calibration clock output . . . . .2604
63.3.19Tamper and alarm output . . . . .2605
63.4RTC low-power modes . . . . .2605
63.5RTC interrupts . . . . .2606
63.6RTC registers . . . . .2607
63.6.1RTC time register (RTC_TR) . . . . .2607
63.6.2RTC date register (RTC_DR) . . . . .2608
63.6.3RTC subsecond register (RTC_SSR) . . . . .2609
63.6.4RTC initialization control and status register (RTC_ICSR) . . . . .2610
63.6.5RTC prescaler register (RTC_PRER) . . . . .2612
63.6.6RTC wake-up timer register (RTC_WUTR) . . . . .2613
63.6.7RTC control register (RTC_CR) . . . . .2613
63.6.8RTC privilege mode control register (RTC_PRIVCFGR) . . . . .2617
63.6.9RTC secure configuration register (RTC_SECCFGR) . . . . .2619
63.6.10RTC write protection register (RTC_WPR) . . . . .2620
63.6.11RTC calibration register (RTC_CALR) . . . . .2621
63.6.12RTC shift control register (RTC_SHIFTR) . . . . .2622
63.6.13RTC timestamp time register (RTC_TSTR) . . . . .2623
63.6.14RTC timestamp date register (RTC_TSDR) . . . . .2624
63.6.15RTC timestamp subsecond register (RTC_TSSSR) . . . . .2625
63.6.16RTC alarm A register (RTC_ALRMAR) . . . . .2625
63.6.17RTC alarm A subsecond register (RTC_ALRMASSR) . . . . .2627
63.6.18RTC alarm B register (RTC_ALRMBR) . . . . .2628
63.6.19RTC alarm B subsecond register (RTC_ALRMBSSR) . . . . .2629
63.6.20RTC status register (RTC_SR) . . . . .2630
63.6.21RTC nonsecure masked interrupt status register (RTC_MISR) . . . . .2632
63.6.22RTC secure masked interrupt status register (RTC_SMISR) . . . . .2633
63.6.23RTC status clear register (RTC_SCR) . . . . .2634
63.6.24RTC alarm A binary mode register (RTC_ALRABINR) . . . . .2635
63.6.25RTC alarm B binary mode register (RTC_ALRBBINR) . . . . .2635
63.6.26RTC register map . . . . .2637
64Tamper and backup registers (TAMP) . . . . .2639
64.1TAMP introduction . . . . .2639
64.2TAMP main features . . . . .2640
64.3TAMP implementation . . . . .2640
64.4TAMP functional description . . . . .2641
64.4.1TAMP block diagram . . . . .2641
64.4.2TAMP pins and internal signals . . . . .2642
64.4.3GPIOs controlled by the RTC and TAMP . . . . .2645
64.4.4TAMP register write protection . . . . .2645
64.4.5TAMP secure protection modes . . . . .2645
64.4.6Backup registers protection zones . . . . .2646
64.4.7TAMP privilege protection modes . . . . .2646
64.4.8Boot hardware key (BHK) . . . . .2647
64.4.9Tamper detection . . . . .2647
64.4.10TAMP backup registers and other device secrets erase . . . . .2647
64.4.11Tamper detection configuration and initialization . . . . .2649
64.5TAMP low-power modes . . . . .2656
64.6TAMP interrupts . . . . .2656
64.7TAMP registers . . . . .2657
64.7.1TAMP control register 1 (TAMP_CR1) . . . . .2657
64.7.2TAMP control register 2 (TAMP_CR2) . . . . .2659
64.7.3TAMP control register 3 (TAMP_CR3) . . . . .2661
64.7.4TAMP filter control register (TAMP_FLTCR) . . . . .2662
64.7.5TAMP active tamper control register 1 (TAMP_ATCR1) . . . . .2664
64.7.6TAMP active tamper seed register (TAMP_ATSEEDR) . . . . .2666
64.7.7TAMP active tamper output register (TAMP_ATOR) . . . . .2667
64.7.8TAMP active tamper control register 2 (TAMP_ATCR2) . . . . .2668
64.7.9TAMP secure configuration register (TAMP_SECCFGR) . . . . .2671
64.7.10TAMP privilege configuration register (TAMP_PRIVCFGR) . . . . .2673
64.7.11TAMP interrupt enable register (TAMP_IER) . . . . .2674
64.7.12TAMP status register (TAMP_SR) . . . . .2676
64.7.13TAMP nonsecure masked interrupt status register (TAMP_MISR) . . . . .2678
64.7.14TAMP secure masked interrupt status register (TAMP_SMISR) . . . .2679
64.7.15TAMP status clear register (TAMP_SCR) . . . . .2681
64.7.16TAMP monotonic counter 1 register (TAMP_COUNT1R) . . . . .2683
64.7.17TAMP erase configuration register (TAMP_ERCFGGR) . . . . .2683
64.7.18TAMP backup x register (TAMP_BKPxR) . . . . .2684
64.7.19TAMP register map . . . . .2685
65Inter-integrated circuit interface (I2C) . . . . .2687
65.1I2C introduction . . . . .2687
65.2I2C main features . . . . .2687
65.3I2C implementation . . . . .2688
65.4I2C functional description . . . . .2689
65.4.1I2C block diagram . . . . .2690
65.4.2I2C pins and internal signals . . . . .2690
65.4.3I2C clock requirements . . . . .2692
65.4.4I2C mode selection . . . . .2692
65.4.5I2C initialization . . . . .2693
65.4.6I2C reset . . . . .2697
65.4.7I2C data transfer . . . . .2698
65.4.8I2C target mode . . . . .2700
65.4.9I2C controller mode . . . . .2709
65.4.10I2C_TIMINGR register configuration examples . . . . .2720
65.4.11SMBus specific features . . . . .2722
65.4.12SMBus initialization . . . . .2724
65.4.13SMBus I2C_TIMEOUTR register configuration examples . . . . .2726
65.4.14SMBus target mode . . . . .2727
65.4.15SMBus controller mode . . . . .2730
65.4.16Autonomous mode . . . . .2733
65.4.17Error conditions . . . . .2735
65.5I2C in low-power modes . . . . .2736
65.6I2C interrupts . . . . .2737
65.7I2C DMA requests . . . . .2737
65.7.1Transmission using DMA . . . . .2737
65.7.2Reception using DMA . . . . .2738
65.7.3Controller event control using DMA . . . . .2738
65.8I2C debug modes . . . . .2739
65.9I2C registers . . . . .2739
65.9.1I2C control register 1 (I2C_CR1) . . . . .2739
65.9.2I2C control register 2 (I2C_CR2) . . . . .2742
65.9.3I2C own address 1 register (I2C_OAR1) . . . . .2744
65.9.4I2C own address 2 register (I2C_OAR2) . . . . .2744
65.9.5I2C timing register (I2C_TIMINGR) . . . . .2745
65.9.6I2C timeout register (I2C_TIMEOUTR) . . . . .2746
65.9.7I2C interrupt and status register (I2C_ISR) . . . . .2747
65.9.8I2C interrupt clear register (I2C_ICR) . . . . .2750
65.9.9I2C PEC register (I2C_PECR) . . . . .2751
65.9.10I2C receive data register (I2C_RXDR) . . . . .2751
65.9.11I2C transmit data register (I2C_TXDR) . . . . .2752
65.9.12I2C autonomous mode control register (I2C_AUTOCR) . . . . .2752
65.9.13I2C register map . . . . .2754
66Universal synchronous/asynchronous receiver transmitter (USART/UART) . . . . .2756
66.1USART introduction . . . . .2756
66.2USART main features . . . . .2756
66.3USART extended features . . . . .2757
66.4USART implementation . . . . .2757
66.5USART functional description . . . . .2759
66.5.1USART block diagram . . . . .2759
66.5.2USART pins and internal signals . . . . .2759
66.5.3USART clocks . . . . .2762
66.5.4USART character description . . . . .2762
66.5.5USART FIFOs and thresholds . . . . .2764
66.5.6USART transmitter . . . . .2764
66.5.7USART receiver . . . . .2767
66.5.8USART baud rate generation . . . . .2774
66.5.9Tolerance of the USART receiver to clock deviation . . . . .2776
66.5.10USART auto baud rate detection . . . . .2777
66.5.11USART multiprocessor communication . . . . .2779
66.5.12USART Modbus communication . . . . .2781
66.5.13USART parity control . . . . .2782
66.5.14USART LIN (local interconnection network) mode . . . . .2783
66.5.15USART synchronous mode . . . . .2785
66.5.16USART single-wire half-duplex communication . . . . .2789
66.5.17USART receiver timeout . . . . .2789
66.5.18USART smartcard mode . . . . .2790
66.5.19USART IrDA SIR ENDEC block . . . . .2794
66.5.20Continuous communication using USART and DMA . . . . .2797
66.5.21RS232 hardware flow control and RS485 driver enable . . . . .2799
66.5.22USART autonomous mode . . . . .2801
66.6USART in low-power modes . . . . .2803
66.7USART interrupts . . . . .2804
66.8USART registers . . . . .2806
66.8.1USART control register 1 (USART_CR1) . . . . .2806
66.8.2USART control register 1 [alternate] (USART_CR1) . . . . .2810
66.8.3USART control register 2 (USART_CR2) . . . . .2813
66.8.4USART control register 3 (USART_CR3) . . . . .2817
66.8.5USART control register 3 [alternate] (USART_CR3) . . . . .2821
66.8.6USART baud rate register (USART_BRR) . . . . .2824
66.8.7USART guard time and prescaler register (USART_GTPR) . . . . .2825
66.8.8USART receiver timeout register (USART_RTOR) . . . . .2826
66.8.9USART request register (USART_RQR) . . . . .2827
66.8.10USART interrupt and status register (USART_ISR) . . . . .2828
66.8.11USART interrupt and status register [alternate] (USART_ISR) . . . . .2834
66.8.12USART interrupt flag clear register (USART_ICR) . . . . .2839
66.8.13USART receive data register (USART_RDR) . . . . .2840
66.8.14USART transmit data register (USART_TDR) . . . . .2841
66.8.15USART prescaler register (USART_PRESC) . . . . .2841
66.8.16USART autonomous mode control register (USART_AUTOCR) . . . . .2842
66.8.17USART register map . . . . .2843
67Low-power universal asynchronous receiver transmitter (LPUART) . . . . .2845
67.1LPUART introduction . . . . .2845
67.2LPUART main features . . . . .2845
67.3LPUART implementation . . . . .2846
67.4LPUART functional description . . . . .2848
67.4.1LPUART block diagram . . . . .2848
67.4.2LPUART pins and internal signals . . . . .2849
67.4.3LPUART clocks . . . . .2851
67.4.4LPUART character description . . . . .2851
67.4.5LPUART FIFOs and thresholds . . . . .2853
67.4.6LPUART transmitter . . . . .2853
67.4.7LPUART receiver . . . . .2857
67.4.8LPUART baud rate generation . . . . .2861
67.4.9Tolerance of the LPUART receiver to clock deviation . . . . .2862
67.4.10LPUART multiprocessor communication . . . . .2863
67.4.11LPUART parity control . . . . .2865
67.4.12LPUART single-wire half-duplex communication . . . . .2866
67.4.13Continuous communication using DMA and LPUART . . . . .2866
67.4.14RS232 hardware flow control and RS485 driver enable . . . . .2869
67.4.15LPUART autonomous mode . . . . .2871
67.5LPUART in low-power modes . . . . .2873
67.6LPUART interrupts . . . . .2874
67.7LPUART registers . . . . .2875
67.7.1LPUART control register 1 (LPUART_CR1) . . . . .2875
67.7.2LPUART control register 1 [alternate] (LPUART_CR1) . . . . .2878
67.7.3LPUART control register 2 (LPUART_CR2) . . . . .2881
67.7.4LPUART control register 3 (LPUART_CR3) . . . . .2883
67.7.5LPUART control register 3 [alternate] (LPUART_CR3) . . . . .2885
67.7.6LPUART baud rate register (LPUART_BRR) . . . . .2887
67.7.7LPUART request register (LPUART_RQR) . . . . .2887
67.7.8LPUART interrupt and status register (LPUART_ISR) . . . . .2888
67.7.9LPUART interrupt and status register [alternate] (LPUART_ISR) . . . . .2893
67.7.10LPUART interrupt flag clear register (LPUART_ICR) . . . . .2896
67.7.11LPUART receive data register (LPUART_RDR) . . . . .2897
67.7.12LPUART transmit data register (LPUART_TDR) . . . . .2897
67.7.13LPUART prescaler register (LPUART_PRESC) . . . . .2898
67.7.14LPUART autonomous mode control register (LPUART_AUTOCR) . . . . .2899
67.7.15LPUART register map . . . . .2899
68Serial peripheral interface (SPI) . . . . .2902
68.1SPI introduction . . . . .2902
68.2SPI main features . . . . .2902
68.3SPI implementation . . . . .2903
68.4SPI functional description . . . . .2904
68.4.1SPI block diagram . . . . .2904
68.4.2SPI pins and internal signals . . . . .2905
68.4.3SPI communication general aspects . . . . .2907
68.4.4Communications between one master and one slave . . . . .2907
68.4.5Standard multislave communication . . . . .2910
68.4.6Multimaster communication . . . . .2911
68.4.7Slave select (NSS pin) management . . . . .2912
68.4.8Ready pin (RDY) management . . . . .2916
68.4.9Communication formats . . . . .2916
68.4.10Configuring the SPI . . . . .2918
68.4.11Enabling the SPI . . . . .2919
68.4.12SPI data transmission and reception procedures . . . . .2920
68.4.13Disabling the SPI . . . . .2924
68.4.14Communication using DMA (direct memory addressing) . . . . .2925
68.4.15Autonomous mode . . . . .2926
68.5SPI specific modes and control . . . . .2928
68.5.1TI mode . . . . .2928
68.5.2SPI error flags . . . . .2929
68.5.3CRC computation . . . . .2932
68.6SPI in low-power modes . . . . .2933
68.7SPI interrupts . . . . .2933
68.8SPI registers . . . . .2935
68.8.1SPI control register 1 (SPI_CR1) . . . . .2935
68.8.2SPI control register 2 (SPI_CR2) . . . . .2937
68.8.3SPI configuration register 1 (SPI_CFG1) . . . . .2937
68.8.4SPI configuration register 2 (SPI_CFG2) . . . . .2940
68.8.5SPI interrupt enable register (SPI_IER) . . . . .2942
68.8.6SPI status register (SPI_SR) . . . . .2943
68.8.7SPI interrupt/status flags clear register (SPI_IFCR) . . . . .2946
68.8.8SPI autonomous mode control register (SPI_AUTOCR) . . . . .2947
68.8.9SPI transmit data register (SPI_TXDR) . . . . .2947
68.8.10SPI receive data register (SPI_RXDR) . . . . .2948
68.8.11SPI polynomial register (SPI_CRCPOLY) . . . . .2948
68.8.12SPI transmitter CRC register (SPI_TXCRC) . . . . .2949
68.8.13SPI receiver CRC register (SPI_RXCRC) . . . . .2950
68.8.14SPI underrun data register (SPI_UDRDR) . . . . .2950
68.8.15SPI register map . . . . .2951
69Serial audio interface (SAI) . . . . .2952
69.1SAI introduction . . . . .2952
69.2SAI main features . . . . .2952
69.3SAI implementation . . . . .2953
69.4SAI functional description . . . . .2954
69.4.1SAI block diagram . . . . .2954
69.4.2SAI pins and internal signals . . . . .2955
69.4.3Main SAI modes . . . . .2956
69.4.4SAI synchronization mode . . . . .2957
69.4.5Audio data size . . . . .2958
69.4.6Frame synchronization . . . . .2958
69.4.7Slot configuration . . . . .2961
69.4.8SAI clock generator . . . . .2963
69.4.9Internal FIFOs . . . . .2966
69.4.10PDM interface . . . . .2968
69.4.11AC'97 link controller . . . . .2976
69.4.12SPDIF output . . . . .2978
69.4.13Specific features . . . . .2981
69.4.14Error flags . . . . .2985
69.4.15Disabling the SAI . . . . .2988
69.4.16SAI DMA interface . . . . .2988
69.5SAI interrupts . . . . .2989
69.6SAI registers . . . . .2991
69.6.1SAI global configuration register (SAI_GCR) . . . . .2991
69.6.2SAI configuration register 1 (SAI_ACR1) . . . . .2991
69.6.3SAI configuration register 2 (SAI_ACR2) . . . . .2994
69.6.4SAI frame configuration register (SAI_AFRCR) . . . . .2996
69.6.5SAI slot register (SAI_ASLOTR) . . . . .2997
69.6.6SAI interrupt mask register (SAI_AIM) . . . . .2998
69.6.7SAI status register (SAI_ASR) . . . . .3000
69.6.8SAI clear flag register (SAI_ACLRFR) . . . . .3002
69.6.9SAI data register (SAI_ADR) . . . . .3003
69.6.10SAI configuration register 1 (SAI_BCR1) . . . . .3003

70.4.10FDCAN timeout counter configuration register (FDCAN_TOCC) . . .3060
70.4.11FDCAN timeout counter value register (FDCAN_TOCV) . . . . .3061
70.4.12FDCAN error counter register (FDCAN_ECR) . . . . .3061
70.4.13FDCAN protocol status register (FDCAN_PSR) . . . . .3062
70.4.14FDCAN transmitter delay compensation register (FDCAN_TDCR) . .3064
70.4.15FDCAN interrupt register (FDCAN_IR) . . . . .3064
70.4.16FDCAN interrupt enable register (FDCAN_IE) . . . . .3067
70.4.17FDCAN interrupt line select register (FDCAN_ILS) . . . . .3069
70.4.18FDCAN interrupt line enable register (FDCAN_ILE) . . . . .3070
70.4.19FDCAN global filter configuration register (FDCAN_RXGFC) . . . . .3070
70.4.20FDCAN extended ID and mask register (FDCAN_XIDAM) . . . . .3072
70.4.21FDCAN high-priority message status register (FDCAN_HPMS) . . . .3072
70.4.22FDCAN Rx FIFO 0 status register (FDCAN_RXF0S) . . . . .3073
70.4.23CAN Rx FIFO 0 acknowledge register (FDCAN_RXF0A) . . . . .3074
70.4.24FDCAN Rx FIFO 1 status register (FDCAN_RXF1S) . . . . .3074
70.4.25FDCAN Rx FIFO 1 acknowledge register (FDCAN_RXF1A) . . . . .3075
70.4.26FDCAN Tx buffer configuration register (FDCAN_TXBC) . . . . .3075
70.4.27FDCAN Tx FIFO/queue status register (FDCAN_TXFQS) . . . . .3076
70.4.28FDCAN Tx buffer request pending register (FDCAN_TXBRP) . . . . .3076
70.4.29FDCAN Tx buffer add request register (FDCAN_TXBAR) . . . . .3077
70.4.30FDCAN Tx buffer cancellation request register (FDCAN_TXBCR) . .3078
70.4.31FDCAN Tx buffer transmission occurred register (FDCAN_TXBTO) .3078
70.4.32FDCAN Tx buffer cancellation finished register (FDCAN_TXBCF) . .3079
70.4.33FDCAN Tx buffer transmission interrupt enable register
(FDCAN_TXBTIE) . . . . .
3079
70.4.34FDCAN Tx buffer cancellation finished interrupt enable register
(FDCAN_TXBCIE) . . . . .
3080
70.4.35FDCAN Tx event FIFO status register (FDCAN_TXEFS) . . . . .3080
70.4.36FDCAN Tx event FIFO acknowledge register (FDCAN_TXEFA) . . .3081
70.4.37FDCAN CFG clock divider register (FDCAN_CKDIV) . . . . .3081
70.4.38FDCAN register map . . . . .3082
71Universal serial bus full-speed host/device interface (USB) . . . . .3086
71.1USB introduction . . . . .3086
71.2USB main features . . . . .3086
71.3USB implementation . . . . .3086
71.4USB functional description . . . . .3087

72 USB on-the-go full-speed (OTG_FS) . . . . . 3133

72.2.3Peripheral-mode features . . . . .3136
72.3OTG_FS implementation . . . . .3137
72.4OTG_FS functional description . . . . .3138
72.4.1OTG_FS block diagram . . . . .3138
72.4.2OTG_FS pin and internal signals . . . . .3138
72.4.3OTG_FS core . . . . .3139
72.4.4Embedded full-speed OTG PHY connected to OTG_FS . . . . .3139
72.4.5OTG detections . . . . .3140
72.5OTG_FS dual role device (DRD) . . . . .3140
72.5.1ID line detection . . . . .3140
72.5.2HNP dual role device . . . . .3141
72.5.3SRP dual role device . . . . .3141
72.6OTG_FS as a USB peripheral . . . . .3141
72.6.1SRP-capable peripheral . . . . .3142
72.6.2Peripheral states . . . . .3142
72.6.3Peripheral endpoints . . . . .3143
72.7OTG_FS as a USB host . . . . .3145
72.7.1SRP-capable host . . . . .3146
72.7.2USB host states . . . . .3146
72.7.3Host channels . . . . .3148
72.7.4Host scheduler . . . . .3149
72.8OTG_FS SOF trigger . . . . .3150
72.8.1Host SOFs . . . . .3150
72.8.2Peripheral SOFs . . . . .3150
72.9OTG_FS low-power modes . . . . .3151
72.10OTG_FS dynamic update of the OTG_HFIR register . . . . .3152
72.11OTG_FS data FIFOs . . . . .3152
72.11.1Peripheral FIFO architecture . . . . .3153
72.11.2Host FIFO architecture . . . . .3154
72.11.3FIFO RAM allocation . . . . .3155
72.12OTG_FS system performance . . . . .3157
72.13OTG_FS interrupts . . . . .3157
72.14OTG_FS control and status registers . . . . .3159
72.14.1CSR memory map . . . . .3159
72.15OTG_FS registers . . . . .3163
72.15.1OTG control and status register (OTG_GOTGCTL) . . . . .3164
72.15.2OTG interrupt register (OTG_GOTGINT) . . . . .3167
72.15.3OTG AHB configuration register (OTG_GAHBCFG) . . . . .3168
72.15.4OTG USB configuration register (OTG_GUSBCFG) . . . . .3169
72.15.5OTG reset register (OTG_GRSTCTL) . . . . .3170
72.15.6OTG core interrupt register (OTG_GINTSTS) . . . . .3172
72.15.7OTG interrupt mask register (OTG_GINTMSK) . . . . .3177
72.15.8OTG receive status debug read register (OTG_GRXSTSR) . . . . .3179
72.15.9OTG receive status debug read [alternate] (OTG_GRXSTSR) . . . . .3180
72.15.10OTG status read and pop registers (OTG_GRXSTSP) . . . . .3181
72.15.11OTG status read and pop registers [alternate] (OTG_GRXSTSP) . . . . .3182
72.15.12OTG receive FIFO size register (OTG_GRXFSIZ) . . . . .3183
72.15.13OTG host nonperiodic transmit FIFO size register
(OTG_HNPTXFSIZ)/Endpoint 0 Transmit FIFO size
(OTG_DIEPTXF0) . . . . .
3184
72.15.14OTG nonperiodic transmit FIFO/queue status register
(OTG_HNPTXSTS) . . . . .
3185
72.15.15OTG general core configuration register (OTG_GCCFG) . . . . .3186
72.15.16OTG core ID register (OTG_CID) . . . . .3187
72.15.17OTG core LPM configuration register (OTG_GLPMCFG) . . . . .3188
72.15.18OTG host periodic transmit FIFO size register
(OTG_HPTXFSIZ) . . . . .
3192
72.15.19OTG device IN endpoint transmit FIFO x size register
(OTG_DIEPTXFx) . . . . .
3192
72.15.20Host-mode registers . . . . .3193
72.15.21OTG host configuration register (OTG_HCFG) . . . . .3193
72.15.22OTG host frame interval register (OTG_HFIR) . . . . .3194
72.15.23OTG host frame number/frame time remaining register
(OTG_HFNUM) . . . . .
3195
72.15.24OTG_Host periodic transmit FIFO/queue status register
(OTG_HPTXSTS) . . . . .
3195
72.15.25OTG host all channels interrupt register (OTG_HAINT) . . . . .3196
72.15.26OTG host all channels interrupt mask register
(OTG_HAINTMSK) . . . . .
3197
72.15.27OTG host port control and status register (OTG_HPRT) . . . . .3197
72.15.28OTG host channel x characteristics register (OTG_HCCHARx) . . . . .3200
72.15.29OTG host channel x interrupt register (OTG_HCINTx) . . . . .3201
72.15.30OTG host channel x interrupt mask register (OTG_HCINTMSKx) . . . . .3202
72.15.31OTG host channel x transfer size register (OTG_HCTSIZx) . . . . .3203
72.15.32Device-mode registers . . . . .3204
72.15.33OTG device configuration register (OTG_DCFG) . . . . .3204
72.15.34OTG device control register (OTG_DCTL) . . . . .3206
72.15.35OTG device status register (OTG_DSTS) . . . . .3208
72.15.36OTG device IN endpoint common interrupt mask register
(OTG_DIEPMSK) . . . . .
3209
72.15.37OTG device OUT endpoint common interrupt mask register
(OTG_DOEPMSK) . . . . .
3210
72.15.38OTG device all endpoints interrupt register (OTG_DAINIT) . . . . .3211
72.15.39OTG all endpoints interrupt mask register
(OTG_DAINMSK) . . . . .
3212
72.15.40OTG device V BUS discharge time register
(OTG_DVBUSDIS) . . . . .
3212
72.15.41OTG device V BUS pulsing time register
(OTG_DVBUSPULSE) . . . . .
3213
72.15.42OTG device IN endpoint FIFO empty interrupt mask register
(OTG_DIEPEMPMSK) . . . . .
3213
72.15.43OTG device control IN endpoint 0 control register
(OTG_DIEPCTL0) . . . . .
3214
72.15.44OTG device IN endpoint x control register (OTG_DIEPCTLx) . . . . .3215
72.15.45OTG device IN endpoint x interrupt register (OTG_DIEPINTx) . . . . .3218
72.15.46OTG device IN endpoint 0 transfer size register
(OTG_DIEPTSIZ0) . . . . .
3219
72.15.47OTG device IN endpoint transmit FIFO status register
(OTG_DTXFSTSx) . . . . .
3220
72.15.48OTG device IN endpoint x transfer size register (OTG_DIEPTSIZx) . . . . .3221
72.15.49OTG device control OUT endpoint 0 control register
(OTG_DOEPCTL0) . . . . .
3222
72.15.50OTG device OUT endpoint x interrupt register (OTG_DOEPINTx) . . . . .3223
72.15.51OTG device OUT endpoint 0 transfer size register
(OTG_DOEPTSIZ0) . . . . .
3225
72.15.52OTG device OUT endpoint x control register
(OTG_DOEPCTLx) . . . . .
3226
72.15.53OTG device OUT endpoint x transfer size register
(OTG_DOEPTSIZx) . . . . .
3228
72.15.54OTG power and clock gating control register (OTG_PCGCCTL) . . . . .3229
72.15.55OTG_FS register map . . . . .3230
72.16OTG_FS programming model . . . . .3238
72.16.1Core initialization . . . . .3238
72.16.2Host initialization . . . . .3239
72.16.3Device initialization . . . . .3239
72.16.4Host programming model .....3240
72.16.5Device programming model .....3261
72.16.6Worst case response time .....3282
72.16.7OTG programming model .....3284
73USB on-the-go high-speed (OTG_HS) .....3290
73.1OTG_HS introduction .....3290
73.2OTG_HS main features .....3291
73.2.1General features .....3291
73.2.2Host-mode features .....3292
73.2.3Peripheral-mode features .....3292
73.3OTG_HS implementation .....3292
73.4OTG_HS functional description .....3293
73.4.1OTG_HS block diagram .....3293
73.4.2OTG_HS pin and internal signals .....3294
73.4.3OTG_HS core .....3294
73.4.4OTG detections .....3295
73.4.5High-speed OTG PHY connected to OTG_HS .....3295
73.4.6Battery charging detection .....3295
73.5OTG_HS dual role device (DRD) .....3295
73.5.1ID line detection .....3296
73.6OTG_HS as a USB peripheral .....3296
73.6.1Peripheral states .....3297
73.6.2Peripheral endpoints .....3298
73.7OTG_HS as a USB host .....3300
73.7.1USB host states .....3301
73.7.2Host channels .....3302
73.7.3Host scheduler .....3304
73.8OTG_HS SOF trigger .....3305
73.8.1Host SOFs .....3305
73.8.2Peripheral SOFs .....3305
73.9OTG_HS low-power modes .....3306
73.10OTG_HS Dynamic update of the OTG_HFIR register .....3307
73.11OTG_HS data FIFOs .....3307
73.11.1Peripheral FIFO architecture .....3308
73.11.2Host FIFO architecture .....3309
73.11.3FIFO RAM allocation . . . . .3310
73.12OTG_HS interrupts . . . . .3312
73.13OTG_HS control and status registers . . . . .3314
73.13.1CSR memory map . . . . .3314
73.14OTG_HS registers . . . . .3319
73.14.1OTG control and status register (OTG_GOTGCTL) . . . . .3319
73.14.2OTG interrupt register (OTG_GOTGINT) . . . . .3321
73.14.3OTG AHB configuration register (OTG_GAHBCFG) . . . . .3322
73.14.4OTG USB configuration register (OTG_GUSBCFG) . . . . .3323
73.14.5OTG reset register (OTG_GRSTCTL) . . . . .3325
73.14.6OTG core interrupt register [alternate] (OTG_GINTSTS) . . . . .3328
73.14.7OTG core interrupt register [alternate] (OTG_GINTSTS) . . . . .3332
73.14.8OTG interrupt mask register [alternate] (OTG_GINTMSK) . . . . .3337
73.14.9OTG interrupt mask register [alternate] (OTG_GINTMSK) . . . . .3338
73.14.10OTG receive status debug read register [alternate]
(OTG_GRXSTSR) . . . . .
3340
73.14.11OTG receive status debug read register [alternate]
(OTG_GRXSTSR) . . . . .
3341
73.14.12OTG status read and pop registers (OTG_GRXSTSP) . . . . .3342
73.14.13OTG status read and pop registers [alternate] (OTG_GRXSTSP) . . . . .3343
73.14.14OTG receive FIFO size register (OTG_GRXFSIZ) . . . . .3344
73.14.15OTG host non-periodic transmit FIFO size register [alternate]
(OTG_HNPTXFSIZ) . . . . .
3345
73.14.16Endpoint 0 transmit FIFO size [alternate] (OTG_DIEPTXF0) . . . . .3345
73.14.17OTG non-periodic transmit FIFO/queue status register
(OTG_HNPTXSTS) . . . . .
3346
73.14.18OTG general core configuration register (OTG_GCCFG) . . . . .3347
73.14.19OTG core ID register (OTG_CID) . . . . .3348
73.14.20OTG core LPM configuration register (OTG_GLPMCFG) . . . . .3349
73.14.21OTG host periodic transmit FIFO size register
(OTG_HPTXFSIZ) . . . . .
3353
73.14.22OTG device IN endpoint transmit FIFO x size register
(OTG_DIEPTXFx) . . . . .
3353
73.14.23Host-mode registers . . . . .3353
73.14.24OTG host configuration register (OTG_HCFG) . . . . .3354
73.14.25OTG host frame interval register (OTG_HFIR) . . . . .3354
73.14.26OTG host frame number/frame time remaining register
(OTG_HFNUM) . . . . .
3355
73.14.27OTG_Host periodic transmit FIFO/queue status register
(OTG_HPTXSTS)
3356
73.14.28OTG host all channels interrupt register (OTG_HAINT)3357
73.14.29OTG host all channels interrupt mask register
(OTG_HAINTMSK)
3357
73.14.30OTG host port control and status register (OTG_HPRT)3358
73.14.31OTG host channel x characteristics register (OTG_HCCHARx)3360
73.14.32OTG host channel x split control register (OTG_HCSPLTx)3361
73.14.33OTG host channel x interrupt register (OTG_HCINTx)3362
73.14.34OTG host channel x interrupt mask register (OTG_HCINTMSKx)3363
73.14.35OTG host channel x transfer size register (OTG_HCTSIZx)3364
73.14.36OTG host channel x DMA address register(OTG_HCDMAx)3365
73.14.37Device-mode registers3365
73.14.38OTG device configuration register (OTG_DCFG)3365
73.14.39OTG device control register (OTG_DCTL)3367
73.14.40OTG device status register (OTG_DSTS)3369
73.14.41OTG device IN endpoint common interrupt mask register
(OTG_DIEPMSK)
3370
73.14.42OTG device OUT endpoint common interrupt mask register
(OTG_DOEPMSK)
3371
73.14.43OTG device all endpoints interrupt register (OTG_DAININT)3372
73.14.44OTG all endpoints interrupt mask register
(OTG_DAININTMSK)
3373
73.14.45OTG device threshold control register (OTG_DTHRCCTL)3373
73.14.46OTG device IN endpoint FIFO empty interrupt mask register
(OTG_DIEPEMPMSK)
3374
73.14.47OTG device IN endpoint x control register [alternate]
(OTG_DIEPCTLx)
3375
73.14.48OTG device IN endpoint x control register [alternate]
(OTG_DIEPCTLx)
3377
73.14.49OTG device IN endpoint x interrupt register (OTG_DIEPINTx)3379
73.14.50OTG device IN endpoint 0 transfer size register
(OTG_DIEPTSIZ0)
3380
73.14.51OTG device IN endpoint x DMA address register
(OTG_DIEPDMAx)
3381
73.14.52OTG device IN endpoint transmit FIFO status register
(OTG_DTXFSTSx)
3381
73.14.53OTG device IN endpoint x transfer size register (OTG_DIEPTSIZx)3382
73.14.54OTG device control OUT endpoint 0 control register
(OTG_DOEPCTL0)
3382
73.14.55OTG device OUT endpoint x interrupt register (OTG_DOEPINTx)3384
73.14.56OTG device OUT endpoint 0 transfer size register (OTG_DOEPTSIZ0) . . . . .3386
73.14.57OTG device OUT endpoint x DMA address register (OTG_DOEPDMAx) . . . . .3387
73.14.58OTG device OUT endpoint x control register [alternate] (OTG_DOEPCTLx) . . . . .3387
73.14.59OTG device OUT endpoint x control register [alternate] (OTG_DOEPCTLx) . . . . .3389
73.14.60OTG device OUT endpoint x transfer size register (OTG_DOEPTSIZx) . . . . .3391
73.14.61OTG power and clock gating control register (OTG_PCGCTL) . . . . .3392
73.14.62OTG power and clock gating control register 1 (OTG_PCGCTL1) . . . . .3393
73.14.63OTG_HS register map . . . . .3394
73.15OTG_HS programming model . . . . .3401
73.15.1Core initialization . . . . .3401
73.15.2Host initialization . . . . .3402
73.15.3Device initialization . . . . .3403
73.15.4DMA mode . . . . .3403
73.15.5Host programming model . . . . .3403
73.15.6Device programming model . . . . .3436
73.15.7Worst case response time . . . . .3456
73.15.8OTG programming model . . . . .3458
74USB Type-C ® /USB Power Delivery interface (UCPD) . . . . .3459
74.1UCPD introduction . . . . .3459
74.2UCPD main features . . . . .3459
74.3UCPD implementation . . . . .3460
74.4UCPD functional description . . . . .3460
74.4.1UCPD block diagram . . . . .3461
74.4.2UCPD reset and clocks . . . . .3462
74.4.3Physical layer protocol . . . . .3463
74.4.4UCPD BMC transmitter . . . . .3469
74.4.5UCPD BMC receiver . . . . .3471
74.4.6UCPD Type-C pull-ups (Rp) and pull-downs (Rd) . . . . .3472
74.4.7UCPD Type-C voltage monitoring and de-bouncing . . . . .3473
74.4.8UCPD fast role swap (FRS) . . . . .3473
74.4.9UCPD DMA Interface . . . . .3473
74.4.10Wake-up from Stop mode . . . . .3473
74.5UCPD programming sequences . . . . .3474
74.5.1Initialization phase . . . . .3474
74.5.2Type-C state machine handling . . . . .3474
74.5.3USB PD transmit . . . . .3476
74.5.4USB PD receive . . . . .3477
74.5.5UCPD software trimming . . . . .3478
74.6UCPD low-power modes . . . . .3478
74.7UCPD interrupts . . . . .3479
74.8UCPD registers . . . . .3480
74.8.1UCPD configuration register 1 (UCPD_CFGR1) . . . . .3480
74.8.2UCPD configuration register 2 (UCPD_CFGR2) . . . . .3482
74.8.3UCPD configuration register 3 (UCPD_CFGR3) . . . . .3482
74.8.4UCPD control register (UCPD_CR) . . . . .3483
74.8.5UCPD interrupt mask register (UCPD_IMR) . . . . .3485
74.8.6UCPD status register (UCPD_SR) . . . . .3487
74.8.7UCPD interrupt clear register (UCPD_ICR) . . . . .3490
74.8.8UCPD Tx ordered set type register (UCPD_TX_ORDSETR) . . . . .3491
74.8.9UCPD Tx payload size register (UCPD_TX_PAYSZR) . . . . .3491
74.8.10UCPD Tx data register (UCPD_TXDR) . . . . .3492
74.8.11UCPD Rx ordered set register (UCPD_RX_ORDSETR) . . . . .3492
74.8.12UCPD Rx payload size register (UCPD_RX_PAYSZR) . . . . .3493
74.8.13UCPD receive data register (UCPD_RXDR) . . . . .3494
74.8.14UCPD Rx ordered set extension register 1
(UCPD_RX_ORDEXTR1) . . . . .
3494
74.8.15UCPD Rx ordered set extension register 2
(UCPD_RX_ORDEXTR2) . . . . .
3495
74.8.16UCPD register map . . . . .3495
75Debug support (DBG) . . . . .3498
75.1DBG introduction . . . . .3498
75.2DBG functional description . . . . .3499
75.2.1DBG block diagram . . . . .3499
75.2.2DBG pins and internal signals . . . . .3499
75.2.3DBG reset and clocks . . . . .3500
75.2.4DBG power domains . . . . .3500
75.2.5Debug and low-power modes . . . . .3500
75.2.6Security . . . . .3501
75.3Serial-wire and JTAG debug port (SWJ-DP) . . . . .3502
75.3.1JTAG debug port . . . . .3503
75.3.2Serial-wire debug port . . . . .3505
75.3.3Debug port registers . . . . .3506
75.3.4Debug port register map . . . . .3513
75.4Access ports . . . . .3514
75.4.1Access port registers . . . . .3514
75.4.2Access port register map . . . . .3519
75.5ROM tables . . . . .3520
75.5.1MCU ROM table registers . . . . .3522
75.5.2MCU ROM table register map . . . . .3525
75.5.3Processor ROM table registers . . . . .3526
75.5.4Processor ROM table register map . . . . .3530
75.6Data watchpoint and trace unit (DWT) . . . . .3531
75.6.1DWT registers . . . . .3532
75.6.2DWT register map . . . . .3545
75.7Instrumentation trace macrocell (ITM) . . . . .3547
75.7.1ITM registers . . . . .3548
75.7.2ITM register map . . . . .3555
75.8Breakpoint unit (BPU) . . . . .3556
75.8.1BPU registers . . . . .3556
75.8.2BPU register map . . . . .3562
75.9Embedded Trace Macrocell (ETM) . . . . .3563
75.9.1ETM registers . . . . .3563
75.9.2ETM register map . . . . .3586
75.10Trace port interface unit (TPIU) . . . . .3589
75.10.1TPIU registers . . . . .3590
75.10.2TPIU register map . . . . .3599
75.11Cross-trigger interface (CTI) . . . . .3601
75.11.1CTI registers . . . . .3602
75.11.2CTI register map . . . . .3612
75.12Microcontroller debug unit (DBGMCU) . . . . .3614
75.12.1Device ID . . . . .3614
75.12.2Low-power mode emulation . . . . .3614
75.12.3Peripheral clock freeze . . . . .3614
75.12.4DBGMCU registers . . . . .3616

75.12.5DBGMCU register map . . . . .3626
75.13References . . . . .3629
76Device electronic signature . . . . .3630
76.1Unique device ID register (96 bits) . . . . .3630
76.2Flash size data register . . . . .3631
76.3Package data register . . . . .3632
77Important security notice . . . . .3633
78Revision history . . . . .3634

List of tables

Table 1.Implementation of masters on STM32U5 Series . . . . .129
Table 2.Implementation of slaves on STM32U5 Series. . . . .130
Table 3.Example of memory map security attribution versus SAU configuration regions . . . . .134
Table 4.Securable peripherals by TZSC . . . . .136
Table 5.TrustZone aware peripherals . . . . .138
Table 6.Memory map and peripheral register boundary addresses . . . . .145
Table 7.SRAM sizes . . . . .149
Table 8.Configuring security attributes with IDAU and SAU . . . . .157
Table 9.MPCWMx resources. . . . .159
Table 10.MPCBBx resources . . . . .159
Table 11.DMA channel use (security). . . . .163
Table 12.Secure alternate function between peripherals and allocated I/Os . . . . .166
Table 13.Nonsecure peripheral functions that are not connected to secure I/Os . . . . .166
Table 14.Nonsecure peripheral functions that can be connected to secure I/Os . . . . .167
Table 15.TrustZone-aware DBGMCU access management . . . . .168
Table 16.DMA channel use (privilege). . . . .173
Table 17.Internal tampers in TAMP . . . . .177
Table 18.Effect of low-power modes on TAMP . . . . .178
Table 19.Accelerated-cryptographic operations . . . . .181
Table 20.Main product life-cycle transitions. . . . .183
Table 21.Typical product life-cycle phases . . . . .184
Table 22.OEM1/2 RDP unlocking methods . . . . .186
Table 23.Debug protection with RDP . . . . .187
Table 24.Software intellectual property protection with RDP. . . . .189
Table 25.Boot modes when TrustZone is disabled (TZEN = 0). . . . .192
Table 26.Boot modes when TrustZone is enabled (TZEN = 1) . . . . .193
Table 27.Boot space versus RDP protection. . . . .193
Table 28.GTZC features . . . . .197
Table 29.GTZC1 subblocks address offset . . . . .198
Table 30.GTZC2 subblocks address offset . . . . .198
Table 31.MPCWM resource assignment . . . . .198
Table 32.MPCBB resource assignment for STM32U535/545 . . . . .199
Table 33.MPCBB resource assignment for STM32U575/585 . . . . .199
Table 34.MPCBB resource assignment for STM32U59x/5Ax . . . . .199
Table 35.MPCBB resource assignment for STM32U5Fx/5Gx. . . . .199
Table 36.Secure properties of sub-regions A and B . . . . .202
Table 37.Privileged properties of sub-regions A and B . . . . .202
Table 38.GTZC interrupt request. . . . .204
Table 39.GTZC1 TZSC register map and reset values . . . . .222
Table 40.GTZC1 TZIC register map and reset values. . . . .254
Table 41.GTZC1 MPCBBz register map and reset values (z = 1, 2, 3, 5, 6). . . . .259
Table 42.GTZC2 TZSC register map and reset values . . . . .263
Table 43.GTZC2 TZIC register map and reset values. . . . .271
Table 44.GTZC2 MPCBB4 register map and reset values . . . . .274
Table 45.SRAM structure . . . . .276
Table 46.Internal SRAMs features. . . . .277
Table 47.Number of wait states versus HCLK frequency and voltage range scaling . . . . .280
Table 48.Effect of low-power modes on RAMCFG . . . . .281
Table 49.RAMCFG interrupt requests . . . . .281
Table 50.RAMCFG register map and reset values . . . . .287
Table 51.Flash module 512-Kbyte dual-bank organization for STM32U535/545 . . . . .293
Table 52.Flash module 2-Mbyte dual-bank organization for STM32U575/585 . . . . .293
Table 53.Flash module 4-Mbyte dual-bank organization for STM32U59x/5Ax/5Fx/5Gx . . . . .294
Table 54.Number of wait states according to CPU clock (HCLK) frequency (LPM = 0) . . . . .295
Table 55.Number of wait states according to CPU clock (HCLK) frequency (LPM = 1) . . . . .296
Table 56.Flash operation interrupted by a system reset . . . . .305
Table 57.User option-byte organization mapping . . . . .306
Table 58.Default secure option bytes after TZEN activation . . . . .309
Table 59.Secure watermark-based area . . . . .309
Table 60.Secure hide protection . . . . .311
Table 61.Secure and HDP protections . . . . .311
Table 62.Flash security state . . . . .312
Table 63.WRP protection . . . . .316
Table 64.Flash memory readout protection status (TZEN = 0) . . . . .317
Table 65.Access status versus protection level and execution modes when TZEN = 0 . . . . .318
Table 66.Flash memory readout protection status (TZEN = 1) . . . . .318
Table 67.Access status versus protection level and execution modes when TZEN = 1 . . . . .320
Table 68.Flash memory access versus RDP level when TrustZone is active (TZEN = 1) . . . . .325
Table 69.Flash memory access versus RDP level when TrustZone is disabled (TZEN = 0) . . . . .326
Table 70.Flash memory mass erase versus RDP level when TrustZone is active (TZEN = 1) . . . . .326
Table 71.Flash system memory, OTP and RSS accesses . . . . .327
Table 72.Flash registers access . . . . .327
Table 73.Flash page access versus privilege mode . . . . .327
Table 74.Flash mass erase versus privilege mode . . . . .328
Table 75.SECyBBRx registers access when TrustZone is active (TZEN = 1) . . . . .328
Table 76.PRIVyBBRx registers access when TrustZone is active (TZEN = 1) . . . . .328
Table 77.PRIVyBBRx registers access when TrustZone is disabled (TZEN = 0) . . . . .328
Table 78.Flash interrupt requests . . . . .329
Table 79.FLASH register map and reset values . . . . .360
Table 80.ICACHE features for STM32U535/545/575/585 . . . . .365
Table 81.ICACHE features for STM32U59x/5Ax/5Fx/5Gx . . . . .365
Table 82.TAG memory dimensioning parameters
for n-way set associative operating mode (default) . . . . .
367
Table 83.TAG memory dimensioning parameters for direct-mapped cache mode . . . . .369
Table 84.ICACHE cacheability for AHB transaction . . . . .370
Table 85.Memory configurations . . . . .371
Table 86.ICACHE remap region size, base address, and remap address . . . . .372
Table 87.ICACHE interrupts . . . . .376
Table 88.ICACHE register map and reset values . . . . .380
Table 89.DCACHE features for STM32U535/545/575/585 . . . . .383
Table 90.DCACHE features for STM32U59x/5Ax/5Fx/5Gx . . . . .383
Table 91.TAG memory dimensioning parameters . . . . .386
Table 92.DCACHE cacheability for AHB transaction . . . . .388
Table 93.DCACHE interrupts . . . . .393
Table 94.DCACHE register map and reset values . . . . .399
Table 95.PWR input/output pins . . . . .401
Table 97.PWR wake-up source selection . . . . .402
Table 96.PWR internal input/output signals . . . . .402
Table 98.PVM features . . . . .413
Table 99.Low-power mode summary . . . . .417
Table 100.Functionalities depending on the working mode . . . . .418
Table 101.Sleep mode . . . . .426
Table 102.Stop 0 mode . . . . .428
Table 103.Stop 1 mode . . . . .429
Table 104.Stop 2 mode . . . . .431
Table 105.Stop 3 mode . . . . .434
Table 106.Standby mode . . . . .436
Table 107.Shutdown mode . . . . .438
Table 108.Power modes output states versus MCU power modes . . . . .439
Table 109.PWR Security configuration summary . . . . .440
Table 110.PWR interrupt requests . . . . .442
Table 111.PWR register map and reset values . . . . .479
Table 112.RCC input/output signals connected to package pins or balls . . . . .483
Table 113.MSIS and MSIK ranges per internal MSIRCs (PLL_mode disabled) . . . . .490
Table 114.Bus maximum frequency . . . . .498
Table 115.Clock source maximum frequency . . . . .498
Table 116.Autonomous peripherals . . . . .504
Table 117.RCC security configuration summary . . . . .506
Table 118.Interrupt sources and control . . . . .510
Table 119.RCC register map and reset values . . . . .604
Table 120.CRS features . . . . .610
Table 121.CRS internal input/output signals . . . . .611
Table 122.CRS interconnection for STM32U535/545/575/585 . . . . .612
Table 123.CRS interconnection for STM32U59x/5Ax/5Fx/5Gx . . . . .612
Table 124.Effect of low-power modes on CRS . . . . .615
Table 125.Interrupt control bits . . . . .615
Table 126.CRS register map and reset values . . . . .620
Table 127.Port bit configuration . . . . .623
Table 128.GPIO secured bits . . . . .631
Table 129.GPIO register map and reset values . . . . .641
Table 130.LPGPIO register map and reset values . . . . .647
Table 131.TrustZone security and privilege register accesses . . . . .650
Table 132.BOOSTEN and ANASWVDD set/reset . . . . .654
Table 133.SYSCFG register map and reset values . . . . .666
Table 134.Peripherals interconnect matrix . . . . .669
Table 135.GPDMA1 channel implementation . . . . .687
Table 136.GPDMA1 autonomous mode and wake-up in low-power modes . . . . .687
Table 137.Programmed GPDMA1 request . . . . .687
Table 138.Programmed GPDMA1 request as a block request . . . . .691
Table 139.Programmed GPDMA1 trigger . . . . .691
Table 140.Programmed GPDMA source/destination burst . . . . .713
Table 141.Programmed data handling . . . . .718
Table 142.Effect of low-power modes on GPDMA . . . . .731
Table 143.GPDMA interrupt requests . . . . .732
Table 144.GPDMA register map and reset values . . . . .762
Table 145.LPDMA1 channels implementation . . . . .766
Table 146.LPDMA1 channels implementation . . . . .766
Table 147.LPDMA1 autonomous mode and wake-up in low-power modes . . . . .767
Table 148.Programmed LPDMA1 request . . . . .767
Table 149.Programmed LPDMA1 request as a block request . . . . .768
Table 150.Programmed LPDMA1 trigger . . . . .768
Table 151.Programmed LPDMA source/destination single . . . . .788
Table 152.Programmed data handling . . . . .789
Table 153.Effect of low-power modes on LPDMA . . . . .801
Table 154.LPDMA interrupt requests . . . . .802
Table 155.LPDMA register map and reset values . . . . .821
Table 156.DMA2D internal signals . . . . .825
Table 157.DMA2D trigger interconnection . . . . .825
Table 158.Supported color mode in input . . . . .826
Table 159.Data order in memory . . . . .827
Table 160.Alpha mode configuration . . . . .828
Table 161.Supported CLUT color mode . . . . .829
Table 162.CLUT data order in system memory . . . . .829
Table 163.Supported color mode in output . . . . .830
Table 164.Data order in memory . . . . .831
Table 165.Standard data order in memory . . . . .831
Table 166.Output FIFO byte reordering steps . . . . .832
Table 167.DMA2D interrupt requests . . . . .838
Table 168.DMA2D register map and reset values . . . . .856
Table 169.DMA2D internal signals . . . . .860
Table 170.DMA2D trigger interconnections . . . . .860
Table 171.Supported color mode in input . . . . .861
Table 172.Data order in memory . . . . .862
Table 173.Alpha mode configuration . . . . .863
Table 174.Supported CLUT color mode . . . . .864
Table 175.CLUT data order in memory . . . . .864
Table 176.Supported color mode in output . . . . .865
Table 177.Data order in memory . . . . .866
Table 178.Standard data order in memory . . . . .866
Table 179.Output FIFO byte reordering steps . . . . .867
Table 180.MCU order in memory . . . . .872
Table 181.DMA2D interrupt requests . . . . .873
Table 182.DMA2D register map and reset values . . . . .891
Table 183.GFXMMU implementation . . . . .893
Table 184.GFXMMU interrupt requests . . . . .902
Table 185.GFXMMU register map and reset values . . . . .910
Table 186.STM32U5 series vector table . . . . .913
Table 187.EXTI signals . . . . .920
Table 188.EVG signals . . . . .920
Table 189.EXTI line connections . . . . .921
Table 190.Masking functionality . . . . .923
Table 191.Register protection overview . . . . .924
Table 192.EXTI register map sections . . . . .926
Table 193.EXTI register map and reset values . . . . .935
Table 194.CRC internal input/output signals . . . . .938
Table 195.CRC register map and reset values . . . . .943
Table 196.CORDIC functions . . . . .945
Table 197.Cosine parameters . . . . .945
Table 198.Sine parameters . . . . .946
Table 199.Phase parameters . . . . .946
Table 200.Modulus parameters . . . . .947
Table 201.Arctangent parameters . . . . .948
Table 202.Hyperbolic cosine parameters . . . . .948
Table 203.Hyperbolic sine parameters . . . . .949
Table 204.Hyperbolic arctangent parameters . . . . .949
Table 205.Natural logarithm parameters . . . . .950
Table 206.Natural log scaling factors and corresponding ranges . . . . .950
Table 207.Square root parameters . . . . .951
Table 208.Square root scaling factors and corresponding ranges . . . . .951
Table 209.Precision vs. number of iterations. . . . .954
Table 210.CORDIC register map and reset value . . . . .961
Table 211.Valid combinations for read and write methods . . . . .975
Table 212.FMAC register map and reset values . . . . .988
Table 213.NOR/PSRAM bank selection . . . . .994
Table 214.NOR/PSRAM External memory address . . . . .994
Table 215.NAND memory mapping and timing registers. . . . .995
Table 216.NAND bank selection . . . . .995
Table 217.Programmable NOR/PSRAM access parameters . . . . .996
Table 218.Non-multiplexed I/O NOR flash memory. . . . .997
Table 219.16-bit multiplexed I/O NOR flash memory . . . . .998
Table 220.Non-multiplexed I/Os PSRAM/SRAM . . . . .998
Table 221.16-Bit multiplexed I/O PSRAM . . . . .998
Table 222.NOR flash/PSRAM: example of supported memories
and transactions . . . . .
999
Table 223.FMC_BCRx bitfields (mode 1) . . . . .1002
Table 224.FMC_BTRx bitfields (mode 1) . . . . .1003
Table 225.FMC_BCRx bitfields (mode A) . . . . .1005
Table 226.FMC_BTRx bitfields (mode A) . . . . .1005
Table 227.FMC_BWTRx bitfields (mode A) . . . . .1006
Table 228.FMC_BCRx bitfields (mode 2/B) . . . . .1008
Table 229.FMC_BTRx bitfields (mode 2/B) . . . . .1008
Table 230.FMC_BWTRx bitfields (mode 2/B) . . . . .1009
Table 231.FMC_BCRx bitfields (mode C) . . . . .1010
Table 232.FMC_BTRx bitfields (mode C) . . . . .1011
Table 233.FMC_BWTRx bitfields (mode C) . . . . .1011
Table 234.FMC_BCRx bitfields (mode D) . . . . .1013
Table 235.FMC_BTRx bitfields (mode D) . . . . .1014
Table 236.FMC_BWTRx bitfields (mode D) . . . . .1014
Table 237.FMC_BCRx bitfields (Muxed mode) . . . . .1016
Table 238.FMC_BTRx bitfields (Muxed mode) . . . . .1017
Table 239.FMC_BCRx bitfields (Synchronous multiplexed read mode) . . . . .1022
Table 240.FMC_BTRx bitfields (Synchronous multiplexed read mode) . . . . .1023
Table 241.FMC_BCRx bitfields (Synchronous multiplexed write mode) . . . . .1024
Table 242.FMC_BTRx bitfields (Synchronous multiplexed write mode) . . . . .1025
Table 243.Programmable NAND flash access parameters . . . . .1034
Table 244.8-bit NAND flash . . . . .1034
Table 245.16-bit NAND flash . . . . .1035
Table 246.Supported memories and transactions . . . . .1035
Table 247.ECC result relevant bits . . . . .1044
Table 248.FMC register map and reset values . . . . .1045
Table 249.Instances on STM32U5 Series devices . . . . .1048
Table 250.OCTOSPI/HSPI implementation. . . . .1048
Table 251.OCTOSPI input/output pins
(for STM32U5 Series except STM32U535/545 devices) . . . . .
1051
Table 252.OCTOSPI input/output pins (for STM32U535/545 devices) . . . . .1052
Table 253.OCTOSPI internal signals. . . . .1052
Table 254.Command/address phase description . . . . .1061
Table 255.OctaRAM command address bit assignment
(based on 64-Mbyte OctaRAM) . . . . .
1071
Table 256.Address alignment cases . . . . .1078
Table 257.OCTOSPI interrupt requests . . . . .1079
Table 258.OCTOSPI register map and reset values . . . . .1102
Table 259.OCTOSPIM implementation . . . . .1106
Table 260.OCTOSPIM input/output pins . . . . .1107
Table 261.OCTOSPIM register map and reset values . . . . .1112
Table 262.Instances on STM32U5 series devices . . . . .1114
Table 263.HSPI implementation . . . . .1114
Table 264.HSPI input/output pins . . . . .1118
Table 265.HSPI internal signals . . . . .1118
Table 266.Command/address phase description . . . . .1129
Table 267.OctaRAM command address bit assignment
(based on 64 Mb OctaRAM) . . . . .
1140
Table 268.Address alignment cases . . . . .1148
Table 269.HSPI interrupt requests . . . . .1149
Table 270.HSPI register map and reset values . . . . .1175
Table 271.SDMMC features . . . . .1179
Table 272.SDMMC operation modes SD and SDIO . . . . .1182
Table 273.SDMMC operation modes e•MMC . . . . .1182
Table 274.SDMMC internal input/output signals . . . . .1183
Table 275.SDMMC pins . . . . .1184
Table 276.SDMMC Command and data phase selection . . . . .1185
Table 277.Command token format . . . . .1191
Table 278.Short response with CRC token format . . . . .1192
Table 279.Short response without CRC token format . . . . .1192
Table 280.Long response with CRC token format . . . . .1192
Table 281.Specific Commands overview . . . . .1193
Table 282.Command path status flags . . . . .1194
Table 283.Command path error handling . . . . .1194
Table 284.Data token format . . . . .1202
Table 285.Data path status flags and clear bits . . . . .1202
Table 286.Data path error handling . . . . .1204
Table 287.Data FIFO access . . . . .1205
Table 288.Transmit FIFO status flags . . . . .1206
Table 289.Receive FIFO status flags . . . . .1207
Table 290.AHB and SDMMC_CK clock frequency relation . . . . .1212
Table 291.SDIO special operation control . . . . .1212
Table 292.4-bit mode Start, interrupt, and CRC-status Signaling detection . . . . .1216
Table 293.CMD12 use cases . . . . .1221
Table 294.SDMMC interrupts . . . . .1235
Table 295.Response type and SDMMC_RESPxR registers . . . . .1242
Table 296.SDMMC register map . . . . .1258
Table 297.STM32U5 series features . . . . .1261
Table 298.DLYB internal input/output signals . . . . .1262
Table 299.Delay block control . . . . .1263
Table 300.DLYB register map and reset values . . . . .1265
Table 301.ADC features . . . . .1268
Table 302.Memory location of the temperature sensor calibration values . . . . .1268
Table 303.Memory location of the internal reference voltage sensor . . . . .1268
calibration value . . . . .1269
Table 304. ADC input/output pins . . . . .1271
Table 305. ADC internal input/output signals . . . . .1271
Table 306. ADC1/ADC12 interconnection . . . . .1271
Table 307. ADC1/ADC12 external triggers for regular channels . . . . .1272
Table 308. ADC1/ADC12 external triggers for injected channels . . . . .1272
Table 309. Calibration factor index . . . . .1281
Table 310. Configuring the trigger polarity for regular external triggers . . . . .1291
Table 311. Configuring the trigger polarity for injected external triggers . . . . .1291
Table 312. TSAR timings depending on resolution . . . . .1295
Table 313. Offset computation versus data resolution . . . . .1299
Table 314. 14-bit data formats . . . . .1301
Table 315. Numerical examples for 16-bit format . . . . .1302
Table 316. Analog watchdog channel selection . . . . .1311
Table 317. Analog watchdog 1,2,3 comparison . . . . .1312
Table 318. Summary of oversampler operating modes . . . . .1320
Table 319. ADC interrupts . . . . .1341
Table 320. DELAY bits versus ADC resolution . . . . .1373
Table 321. ADC global register map . . . . .1375
Table 322. ADC register map and reset values for each ADC (offset = 0x00
for master ADC, 0x100 for slave ADC) . . . . .
1375
Table 323. ADC register map and reset values (master and slave ADC
common registers) offset = 0x300 . . . . .
1377
Table 324. ADC main features . . . . .1380
Table 325. Memory location of the temperature sensor calibration values . . . . .1381
Table 326. Memory location of the internal reference voltage sensor
calibration value . . . . .
1381
Table 327. ADC input/output pins . . . . .1383
Table 328. ADC internal input/output signals . . . . .1383
Table 329. ADC interconnection . . . . .1383
Table 330. Latency between trigger and start of conversion . . . . .1388
Table 331. Configuring the trigger polarity . . . . .1396
Table 332. t SAR timings depending on resolution . . . . .1398
Table 333. Analog watchdog comparison . . . . .1410
Table 334. Analog watchdog 1 channel selection . . . . .1410
Table 335. Maximum output results vs N and M. Grayed values indicates truncation . . . . .1414
Table 336. Effect of low-power modes on the ADC . . . . .1419
Table 337. ADC wake-up and interrupt requests . . . . .1421
Table 338. ADC register map and reset values . . . . .1442
Table 339. DAC features . . . . .1446
Table 340. DAC input/output pins . . . . .1448
Table 341. DAC internal input/output signals . . . . .1448
Table 342. DAC interconnection . . . . .1449
Table 343. Data format (case of 12-bit data) . . . . .1451
Table 344. HFSEL description . . . . .1452
Table 345. Sample and refresh timings . . . . .1458
Table 346. Channel output modes summary . . . . .1459
Table 347. Effect of low-power modes on DAC . . . . .1467
Table 348. DAC interrupts . . . . .1467
Table 349. DAC register map and reset values . . . . .1484
Table 350. VREFBUF typical values . . . . .1487
Table 351. VREF buffer modes . . . . .1488
Table 352.VREFBUF register map and reset values . . . . .1490
Table 353.COMP features . . . . .1491
Table 354.COMP1 non-inverting input assignment . . . . .1492
Table 355.COMP1 inverting input assignment . . . . .1493
Table 356.COMP2 non-inverting input assignment . . . . .1493
Table 357.COMP2 inverting input assignment . . . . .1493
Table 358.COMP1 output-blanking PWM assignment . . . . .1493
Table 359.COMP2 output-blanking PWM assignment . . . . .1494
Table 360.Comparator behavior in the low-power modes . . . . .1497
Table 361.Interrupt control bits . . . . .1498
Table 362.COMP register map and reset values . . . . .1501
Table 363.Operational amplifier possible connections . . . . .1503
Table 364.Operating modes and calibration . . . . .1508
Table 365.Effect of low-power modes on the OPAMP . . . . .1509
Table 366.OPAMP register map and reset values . . . . .1514
Table 367.ADF/MDF features . . . . .1517
Table 368.MDF external pins . . . . .1520
Table 369.MDF internal signals . . . . .1520
Table 370.MDF trigger connections . . . . .1520
Table 371.MDF break connections . . . . .1521
Table 372.MDF ADC data connections . . . . .1521
Table 373.Control of the common clock generation . . . . .1529
Table 374.Clock constraints with respect to the incoming stream . . . . .1530
Table 375.Data size according to CIC order and CIC decimation values . . . . .1537
Table 376.Maximum decimation ratio versus order and input data size . . . . .1538
Table 377.Possible gain values . . . . .1539
Table 378.Recommended maximum gain values versus CIC decimation ratios . . . . .1541
Table 379.Most common microphone settings . . . . .1541
Table 380.HPF 3 dB cut-off frequencies examples . . . . .1543
Table 381.Register protection summary . . . . .1564
Table 382.Effect of low-power modes on MDF . . . . .1565
Table 383.MDF interrupt requests . . . . .1567
Table 384.Examples of MDF settings for microphone capture . . . . .1568
Table 385.Programming sequence . . . . .1568
Table 386.Output signal levels . . . . .1575
Table 387.MDF register map and reset values . . . . .1598
Table 388.ADF/MDF features . . . . .1601
Table 389.ADF external pins . . . . .1602
Table 390.ADF internal signals . . . . .1602
Table 391.ADF trigger connections . . . . .1603
Table 392.Control of the common clock generation . . . . .1609
Table 393.Clock constraints with respect to the incoming stream . . . . .1610
Table 394.Data size according to CIC order and CIC decimation values . . . . .1615
Table 395.Possible gain values . . . . .1616
Table 396.Recommended maximum gain values
versus CIC decimation ratios . . . . .
1618
Table 397.Most common microphone settings . . . . .1619
Table 398.HPF 3 dB cut-off frequency examples . . . . .1621
Table 399.ANSLP values versus FRSIZE and sampling rates . . . . .1634
Table 400.Threshold values according SNTHR . . . . .1635
Table 401.Register protection summary . . . . .1641
Table 402.Effect of low-power modes on ADF . . . . .1642
Table 403.ADF interrupt requests . . . . .1643
Table 404.Examples of ADF settings for microphone capture . . . . .1644
Table 405.Programming sequence (CIC4) . . . . .1645
Table 406.Programming sequence (CIC5) . . . . .1646
Table 407.Output signal levels . . . . .1651
Table 408.ADF register map and reset values . . . . .1671
Table 409.DCMI input/output pins . . . . .1675
Table 410.DCMI internal input/output signals . . . . .1675
Table 411.Positioning of captured data bytes in 32-bit words (8-bit width) . . . . .1677
Table 412.Positioning of captured data bytes in 32-bit words (10-bit width) . . . . .1677
Table 413.Positioning of captured data bytes in 32-bit words (12-bit width) . . . . .1677
Table 414.Positioning of captured data bytes in 32-bit words (14-bit width) . . . . .1678
Table 415.Data storage in monochrome progressive video format . . . . .1683
Table 416.Data storage in RGB progressive video format . . . . .1684
Table 417.Data storage in YCbCr progressive video format . . . . .1684
Table 418.Data storage in YCbCr progressive video format - Y extraction mode . . . . .1684
Table 419.DCMI interrupts . . . . .1685
Table 420.DCMI register map and reset values . . . . .1695
Table 421.PSSI input/output pins . . . . .1698
Table 422.PSSI internal input/output signals . . . . .1698
Table 423.Positioning of captured data bytes in 32-bit words (8-bit width) . . . . .1699
Table 424.Positioning of captured data bytes in 32-bit words (16-bit width) . . . . .1700
Table 425.PSSI interrupt requests . . . . .1703
Table 426.PSSI register map and reset values . . . . .1709
Table 427.LTDC external pins . . . . .1711
Table 428.LTDC internal signals . . . . .1712
Table 429.LTDC trigger interconnection . . . . .1712
Table 430.Clock domain for each register . . . . .1712
Table 431.Pixel data mapping versus color format . . . . .1717
Table 432.LTDC interrupt requests . . . . .1721
Table 433.LTDC register map and reset values . . . . .1738
Table 434.DSI pins . . . . .1743
Table 435.DSI internal input/output signals . . . . .1744
Table 436.Location of color components in the LTDC interface . . . . .1747
Table 437.Multiplicity of the payload size in pixels for each data type . . . . .1748
Table 438.Contention detection timeout counters configuration . . . . .1760
Table 439.List of events of different categories of the RESP_TO counter . . . . .1761
Table 440.RESP_TO counter configuration . . . . .1764
Table 441.Frame requirement configuration registers . . . . .1776
Table 442.RGB components . . . . .1778
Table 443.Custom lane configuration . . . . .1780
Table 444.HS2LP and LP2HS values vs. band frequency (MHz) . . . . .1781
Table 445.DSI Wrapper interrupt requests . . . . .1782
Table 446.Error causes and recovery . . . . .1784
Table 447.DSI register map and reset values . . . . .1855
Table 448.GPU2D implementation . . . . .1862
Table 449.GPU2D internal input/output signals . . . . .1863
Table 450.GPU2D trigger connections . . . . .1863
Table 451.JPEG internal signals . . . . .1865
Table 452.JPEG trigger connections . . . . .1866
Table 453.JPEG codec interrupt requests . . . . .1871
Table 454.JPEG codec register map and reset values . . . . .1884
Table 455.Acquisition sequence summary . . . . .1889
Table 456.Spread spectrum deviation versus AHB clock frequency . . . . .1891
Table 457.I/O state depending on its mode and IODEF bit value . . . . .1892
Table 458.Effect of low-power modes on TSC . . . . .1894
Table 459.Interrupt control bits . . . . .1894
Table 460.TSC register map and reset values . . . . .1901
Table 461.RNG internal input/output signals . . . . .1904
Table 462.RNG interrupt requests . . . . .1912
Table 463.RNG initialization times . . . . .1913
Table 464.RNG configurations . . . . .1913
Table 465.Configuration selection . . . . .1914
Table 466.RNG register map and reset map . . . . .1919
Table 467.AES/SAES features . . . . .1921
Table 468.AES internal input/output signals . . . . .1922
Table 469.CTR mode initialization vector definition . . . . .1937
Table 470.GCM last block definition . . . . .1939
Table 471.Initialization of AES_IVRx registers in GCM mode . . . . .1940
Table 472.Initialization of AES_IVRx registers in CCM mode . . . . .1947
Table 473.Key endianness in AES_KEYRx registers (128- or 256-bit key length) . . . . .1953
Table 474.AES interrupt requests . . . . .1957
Table 475.Processing latency for ECB, CBC and CTR . . . . .1957
Table 476.Processing latency for GCM and CCM (in clock cycles) . . . . .1957
Table 477.AES register map and reset values . . . . .1970
Table 478.AES/SAES features . . . . .1973
Table 479.SAES internal input/output signals . . . . .1974
Table 480.Key endianness in SAES_KEYRx registers (128- or 256-bit key length) . . . . .1993
Table 481.SAES interrupt requests . . . . .1998
Table 482.Processing latency for ECB, CBC . . . . .1999
Table 483.SAES register map and reset values . . . . .2012
Table 484.HASH internal input/output signals . . . . .2016
Table 485.Hash processor outputs . . . . .2019
Table 486.Processing time (in clock cycle) . . . . .2025
Table 487.HASH interrupt requests . . . . .2026
Table 488.HASH register map and reset values . . . . .2034
Table 489.OTFDEC internal input/output signals . . . . .2037
Table 490.OTFDEC interrupt requests . . . . .2041
Table 491.OTFDEC register map and reset values . . . . .2055
Table 492.Internal input/output signals . . . . .2060
Table 493.PKA integer arithmetic functions list . . . . .2061
Table 494.PKA prime field (Fp) elliptic curve functions list . . . . .2062
Table 495.Example of 'a' curve coefficient for ECC Fp scalar . . . . .2068
Table 496.Montgomery parameter computation . . . . .2068
Table 497.Modular addition . . . . .2069
Table 498.Modular subtraction . . . . .2069
Table 499.Montgomery multiplication . . . . .2070
Table 500.Modular exponentiation (normal mode) . . . . .2071
Table 501.Modular exponentiation (fast mode) . . . . .2071
Table 502.Modular exponentiation (protected mode) . . . . .2072
Table 503.Modular inversion . . . . .2072
Table 504.Modular reduction . . . . .2073
Table 505.Arithmetic addition . . . . .2073
Table 506.Arithmetic subtraction . . . . .2073
Table 507.Arithmetic multiplication . . . . .2074
Table 508.Arithmetic comparison . . . . .2074
Table 509.CRT exponentiation . . . . .2075
Table 510.Point on elliptic curve Fp check . . . . .2076
Table 511.ECC Fp scalar multiplication. . . . .2076
Table 512.ECDSA sign - Inputs . . . . .2078
Table 513.ECDSA sign - Outputs . . . . .2078
Table 514.Extended ECDSA sign - additional outputs . . . . .2079
Table 515.ECDSA verification - inputs . . . . .2079
Table 516.ECDSA verification - outputs . . . . .2080
Table 517.ECC complete addition . . . . .2080
Table 518.ECC double base ladder. . . . .2081
Table 519.ECC projective to affine . . . . .2082
Table 520.Family of supported curves for ECC operations . . . . .2083
Table 521.Modular exponentiation . . . . .2084
Table 522.ECC scalar multiplication . . . . .2084
Table 523.ECDSA signature average computation time . . . . .2085
Table 524.ECDSA verification average computation times . . . . .2085
Table 525.ECC double base ladder average computation times . . . . .2085
Table 526.ECC projective to affine average computation times . . . . .2085
Table 527.ECC complete addition average computation times . . . . .2085
Table 528.Point on elliptic curve Fp check average computation times . . . . .2085
Table 529.Montgomery parameters average computation times. . . . .2086
Table 530.PKA interrupt requests . . . . .2086
Table 531.PKA register map and reset values . . . . .2091
Table 532.TIM input/output pins . . . . .2094
Table 533.TIM internal input/output signals . . . . .2094
Table 534.Interconnect to the tim_ti1 input multiplexer . . . . .2095
Table 535.Interconnect to the tim_ti2 input multiplexer . . . . .2096
Table 536.Interconnect to the tim_ti3 input multiplexer . . . . .2096
Table 537.Interconnect to the tim_ti4 input multiplexer . . . . .2096
Table 538.Internal trigger connection . . . . .2096
Table 539.Interconnect to the tim_etr input multiplexer for STM32U535/545/575/585 . . . . .2097
Table 540.Interconnect to the tim_etr input multiplexer for STM2U59x/5Ax/5Fx/5Gx . . . . .2097
Table 541.Timer break interconnect . . . . .2098
Table 542.Timer break2 interconnect . . . . .2098
Table 543.System break interconnect . . . . .2099
Table 544.Interconnect to the ocref_clr input multiplexer . . . . .2099
Table 545.CCR and ARR register change dithering pattern . . . . .2132
Table 546.CCR register change dithering pattern in center-aligned PWM mode . . . . .2133
Table 547.Behavior of timer outputs versus tim_brk/tim_brk2 inputs . . . . .2145
Table 548.Break protection disarming conditions . . . . .2147
Table 549.Counting direction versus encoder signals (CC1P = CC2P = 0) . . . . .2156
Table 550.Counting direction versus encoder signals and polarity settings . . . . .2160
Table 551.DMA request. . . . .2181
Table 552.Effect of low-power modes on TIM1/TIM8 . . . . .2182
Table 553.Interrupt requests . . . . .2182
Table 554.Output control bits for complementary tim_ocx and tim_ocxn channels
with break feature . . . . .
2209
Table 555.TIMx register map and reset values . . . . .2232
Table 556.STM32U5 series general purpose timers . . . . .2236
Table 557.TIM input/output pins . . . . .2238
Table 558.TIM internal input/output signals . . . . .2238
Table 559.Interconnect to the tim_ti1 input multiplexer . . . . .2239
Table 560.Interconnect to the tim_ti2 input multiplexer . . . . .2239
Table 561.Interconnect to the tim_ti3 input multiplexer . . . . .2240
Table 562.Interconnect to the tim_ti4 input multiplexer . . . . .2240
Table 563.TIMx internal trigger connection . . . . .2240
Table 564.Interconnect to the tim_etr input multiplexer
for STM32U535/545/575/585 . . . . .
2241
Table 565.Interconnect to the tim_etr input multiplexer
for the STM32U59x/5Ax/5Fx/5Gx . . . . .
2241
Table 566.Interconnect to the tim_ocref_clr input multiplexer . . . . .2242
Table 567.CCR and ARR register change dithering pattern . . . . .2273
Table 568.CCR register change dithering pattern in center-aligned PWM mode . . . . .2274
Table 569.Counting direction versus encoder signals(CC1P = CC2P = 0) . . . . .2283
Table 570.Counting direction versus encoder signals and polarity settings . . . . .2288
Table 571.DMA request . . . . .2312
Table 572.Effect of low-power modes on TIM2/TIM3/TIM4/TIM5 . . . . .2312
Table 573.Interrupt requests . . . . .2313
Table 574.Output control bit for standard tim_ocx channels . . . . .2334
Table 575.TIM2/TIM3/TIM4/TIM5 register map and reset values . . . . .2346
Table 576.TIM input/output pins . . . . .2352
Table 577.TIM internal input/output signals . . . . .2353
Table 578.Interconnect to the tim_ti1 input multiplexer . . . . .2353
Table 579.Interconnect to the tim_ti2 input multiplexer . . . . .2354
Table 580.TIMx internal trigger connection . . . . .2354
Table 581.Timer break interconnect . . . . .2354
Table 582.System break interconnect . . . . .2355
Table 583.Interconnect to the ocref_clr input multiplexer . . . . .2355
Table 584.CCR and ARR register change dithering pattern . . . . .2375
Table 585.Break protection disarming conditions . . . . .2384
Table 586.DMA request . . . . .2395
Table 587.Effect of low-power modes on TIM15/TIM16/TIM17 . . . . .2396
Table 588.Interrupt requests . . . . .2396
Table 589.Output control bits for complementary tim_ocx and tim_ocxn channels with break
feature (TIM15) . . . . .
2412
Table 590.TIM15 register map and reset values . . . . .2425
Table 591.Output control bits for complementary tim_oc1 and tim_oc1n channels with break
feature (TIM16/TIM17) . . . . .
2438
Table 592.TIM16/TIM17 register map and reset values . . . . .2452
Table 593.TIM internal input/output signals . . . . .2455
Table 594.TIMx_ARR register change dithering pattern . . . . .2465
Table 595.DMA request . . . . .2466
Table 596.Effect of low-power modes on TIM6/TIM7 . . . . .2466
Table 597.Interrupt request . . . . .2466
Table 598.TIMx register map and reset values . . . . .2472
Table 599.STM32U5 series LPTIM features . . . . .2474
Table 600.LPTIM1/2/3 input/output pins . . . . .2476
Table 601.LPTIM4 input/output pins . . . . .2476
Table 602.LPTIM1/2/3 internal signals . . . . .2477
Table 603.LPTIM4 internal signals . . . . .2477
Table 604.LPTIM1/2/3/4 external trigger connections . . . . .2478
Table 605.LPTIM1/2/3/4 input 1 connections . . . . .2478
Table 606.LPTIM1/2 input 2 connections . . . . .2478
Table 607.LPTIM1/2/3 input capture 1 connections . . . . .2478
Table 608.LPTIM1 input capture 2 connections . . . . .2479
Table 609.LPTIM2 input capture 2 connections . . . . .2479
Table 610.LPTIM3 input capture 2 connections . . . . .2479
Table 611.Prescaler division ratios . . . . .2481
Table 612.Encoder counting scenarios . . . . .2488
Table 613.Input capture Glitch filter latency (in counter step unit). . . . .2492
Table 614.Effect of low-power modes on the LPTIM. . . . .2497
Table 615.Interrupt events. . . . .2498
Table 616.LPTIM register map and reset values. . . . .2522
Table 617.GFXTIM input/output pins. . . . .2526
Table 618.GFXTIM internal signals . . . . .2526
Table 619.GFXTIM trigger interconnections . . . . .2527
Table 620.Graphic timer interrupt requests . . . . .2537
Table 621.GFXTIM register map and reset values . . . . .2558
Table 622.STM32U5 series IWDG features . . . . .2562
Table 623.IWDG delays versus actions . . . . .2564
Table 624.IWDG internal input/output signals . . . . .2564
Table 625.Effect of low power modes on IWDG . . . . .2568
Table 626.IWDG interrupt request. . . . .2570
Table 627.IWDG register map and reset values . . . . .2575
Table 628.WWDG features . . . . .2576
Table 629.WWDG internal input/output signals. . . . .2577
Table 630.WWDG interrupt requests. . . . .2580
Table 631.WWDG register map and reset values . . . . .2582
Table 632.RTC input/output pins . . . . .2586
Table 633.RTC internal input/output signals . . . . .2586
Table 634.RTC interconnection . . . . .2587
Table 635.RTC pin PC13 configuration. . . . .2588
Table 636.RTC_OUT mapping . . . . .2590
Table 637.Effect of low-power modes on RTC . . . . .2605
Table 638.RTC pins functionality over modes. . . . .2605
Table 639.Nonsecure interrupt requests . . . . .2606
Table 640.Secure interrupt requests . . . . .2606
Table 641.RTC register map and reset values . . . . .2637
Table 642.TAMP input/output pins . . . . .2642
Table 643.TAMP internal input/output signals. . . . .2642
Table 644.TAMP interconnection . . . . .2643
Table 645.Device resource x tamper protection . . . . .2649
Table 646.Active tamper output change period. . . . .2652
Table 647.Minimum ATPER value. . . . .2653
Table 648.Active tamper filtered pulse duration . . . . .2654
Table 649.Effect of low-power modes on TAMP . . . . .2656
Table 650.TAMP pins functionality over modes . . . . .2656
Table 651.Interrupt requests . . . . .2656
Table 652.TAMP register map and reset values . . . . .2685
Table 653.STM32U535/545/575/585 I2C implementation. . . . .2688
Table 654.STM32U59x/5Ax/5Fx/5Gx I2C implementation . . . . .2688
Table 655.I2C input/output pins. . . . .2690
Table 656.I2C internal input/output signals . . . . .2691
Table 657.I2C1, I2C2, I2C4, I2C5, I2C6 interconnection . . . . .2691
Table 658.I2C3 interconnection . . . . .2691
Table 659.Comparison of analog and digital filters . . . . .2694
Table 660.I 2 C-bus and SMBus specification data setup and hold times . . . . .2696
Table 661.I2C configuration. . . . .2700
Table 662.I 2 C-bus and SMBus specification clock timings . . . . .2711
Table 663.Timing settings for f I2CCLK of 8 MHz. . . . .2721
Table 664.Timing settings for f I2CCLK of 16 MHz. . . . .2721
Table 665.SMBus timeout specifications . . . . .2723
Table 666.SMBus with PEC configuration . . . . .2725
Table 667.TIMEOUTA[11:0] for maximum t TIMEOUT of 25 ms. . . . .2726
Table 668.TIMEOUTB[11:0] for maximum t LOW:SEXT and t LOW:MEXT of 8 ms . . . . .2726
Table 669.TIMEOUTA[11:0] for maximum t IDLE of 50 µs . . . . .2726
Table 670.Effect of low-power modes to I2C . . . . .2736
Table 671.I2C interrupt requests . . . . .2737
Table 672.I2C register map and reset values . . . . .2754
Table 673.Instance implementation on STM32U5 series . . . . .2757
Table 674.USART/LPUART features . . . . .2758
Table 675.USART/UART input/output pins . . . . .2760
Table 676.USART internal input/output signals . . . . .2761
Table 677.USART interconnection (USART1/2/3/6 and UART4/5). . . . .2761
Table 678.Noise detection from sampled data . . . . .2773
Table 679.Tolerance of the USART receiver when BRR [3:0] = 0000. . . . .2777
Table 680.Tolerance of the USART receiver when BRR[3:0] is different from 0000 . . . . .2777
Table 681.USART frame formats . . . . .2782
Table 682.Effect of low-power modes on the USART . . . . .2803
Table 683.USART interrupt requests. . . . .2804
Table 684.USART register map and reset values . . . . .2843
Table 685.Instance implementation on STM32U5 series . . . . .2846
Table 686.USART/LPUART features . . . . .2846
Table 687.LPUART input/output pins . . . . .2849
Table 688.LPUART internal input/output signals. . . . .2849
Table 689.LPUART interconnections (LPUART1). . . . .2850
Table 690.Error calculation for programmed baud rates at lpuart_ker_ck_pres= 32.768 kHz . . . . .2861
Table 691.Tolerance of the LPUART receiver. . . . .2862
Table 693.Effect of low-power modes on the LPUART . . . . .2873
Table 694.LPUART interrupt requests. . . . .2874
Table 695.LPUART register map and reset values . . . . .2899
Table 696.SPI features . . . . .2903
Table 697.SPI input/output pins. . . . .2905
Table 698.SPI internal input/output signals . . . . .2906
Table 699.SPI interconnection (SPI1 and SPI2) . . . . .2906
Table 700.SPI interconnection (SPI3) . . . . .2907
Table 701.Effect of low-power modes on the SPI . . . . .2933
Table 702.SPI wake-up and interrupt requests . . . . .2934
Table 703.SPI register map and reset values . . . . .2951
Table 704.SAI features . . . . .2953
Table 705.SAI internal input/output signals . . . . .2955
Table 706.SAI input/output pins. . . . .2955
Table 707.External synchronization selection . . . . .2958
Table 708.MCLK_x activation conditions. . . . .2963
Table 709.Clock generator programming examples . . . . .2966
Table 710.SAI_A configuration for TDM mode . . . . .2973
Table 711.TDM frame configuration examples . . . . .2975
Table 712.SOPD pattern . . . . .2979
Table 713.Parity bit calculation . . . . .2979
Table 714.Audio sampling frequency versus symbol rates . . . . .2980
Table 715.SAI interrupt sources . . . . .2989
Table 716.SAI register map and reset values . . . . .3018
Table 717.CAN subsystem I/O signals . . . . .3024
Table 718.CAN subsystem I/O pins. . . . .3024
Table 719.DLC coding in FDCAN . . . . .3028
Table 720.Possible configurations for frame transmission . . . . .3042
Table 721.Rx FIFO element . . . . .3045
Table 722.Rx FIFO element description . . . . .3045
Table 723.Tx buffer and FIFO element . . . . .3047
Table 724.Tx buffer element description . . . . .3047
Table 725.Tx event FIFO element. . . . .3049
Table 726.Tx event FIFO element description. . . . .3049
Table 727.Standard message ID filter element . . . . .3050
Table 728.Standard message ID filter element field description . . . . .3051
Table 729.Extended message ID filter element. . . . .3051
Table 730.Extended message ID filter element field description. . . . .3052
Table 731.FDCAN register map and reset values . . . . .3082
Table 732.STM32U5 series USB implementation . . . . .3086
Table 733.USB input/output pins . . . . .3088
Table 734.Double-buffering buffer flag definition. . . . .3100
Table 735.Bulk double-buffering memory buffers usage (Device mode). . . . .3100
Table 736.Bulk double-buffering memory buffers usage (Host mode) . . . . .3102
Table 737.Isochronous memory buffers usage . . . . .3103
Table 738.Isochronous memory buffers usage . . . . .3104
Table 739.Resume event detection . . . . .3106
Table 740.Resume event detection for host . . . . .3107
Table 741.Reception status encoding . . . . .3125
Table 742.Endpoint/channel type encoding. . . . .3125
Table 743.Endpoint/channel kind meaning . . . . .3125
Table 744.Transmission status encoding . . . . .3125
Table 745.USB register map and reset values . . . . .3126
Table 746.Definition of allocated buffer memory . . . . .3129
Table 747.USBFSRAM register map and reset values . . . . .3132
Table 748.OTG_FS speeds supported . . . . .3134
Table 749.OTG_FS implementation . . . . .3137
Table 750.OTG_FS input/output pins . . . . .3138
Table 751.OTG_FS input/output signals . . . . .3139
Table 752.Compatibility of STM32 low power modes with the OTG . . . . .3151
Table 753.Core global control and status registers (CSRs). . . . .3159
Table 754.Host-mode control and status registers (CSRs) . . . . .3160
Table 755.Device-mode control and status registers . . . . .3161
Table 756.Data FIFO (DFIFO) access register map . . . . .3163
Table 757.Power and clock gating control and status registers . . . . .3163
Table 758.TRDT values. . . . .3170
Table 759.Minimum duration for soft disconnect. . . . .3207
Table 760.OTG_FS register map and reset values . . . . .3230
Table 761.OTG_HS speeds supported . . . . .3291
Table 762.OTG_HS implementation . . . . .3292
Table 763.OTG_HS input/output pins . . . . .3294
Table 764.OTG_HS input/output signals . . . . .3294
Table 765.Compatibility of STM32 low power modes with the OTG . . . . .3306
Table 766.Core global control and status registers (CSRs). . . . .3314
Table 767.Host-mode control and status registers (CSRs) . . . . .3315
Table 768.Device-mode control and status registers . . . . .3316
Table 769.Data FIFO (DFIFO) access register map . . . . .3318
Table 770.Power and clock gating control and status registers . . . . .3319
Table 771.TRDT values . . . . .3325
Table 772.Minimum duration for soft disconnect . . . . .3368
Table 773.OTG_HS register map and reset values . . . . .3394
Table 774.UCPD implementation . . . . .3460
Table 775.UCPD software trim data . . . . .3460
Table 776.UCPD signals on pins . . . . .3461
Table 777.UCPD internal signals . . . . .3462
Table 778.4b5b symbol encoding table . . . . .3464
Table 779.Ordered sets . . . . .3465
Table 780.Validation of ordered sets . . . . .3465
Table 781.Data size . . . . .3466
Table 782.Coding for ANAMODE, ANASUBMODE and link with TYPEC_VSTATE_CCx . . . . .3474
Table 783.Type-C sequence (source: 3A); cable/sink connected (Rd on CC1; Ra on CC2) . . . . .3476
Table 784.Effect of low power modes on the UCPD . . . . .3478
Table 785.UCPD interrupt requests . . . . .3479
Table 786.UCPD register map and reset values . . . . .3495
Table 787.JTAG/Serial-wire debug port pins . . . . .3499
Table 788.Trace port pins . . . . .3499
Table 789.Single-wire trace port pins . . . . .3500
Table 790.Authentication signal states . . . . .3501
Table 791.JTAG-DP data registers . . . . .3504
Table 792.Packet request . . . . .3505
Table 793.ACK response . . . . .3506
Table 794.Data transfer . . . . .3506
Table 795.Debug port register map and reset values . . . . .3513
Table 796.Access port register map and reset values . . . . .3519
Table 797.MCU ROM table . . . . .3520
Table 798.Processor ROM table . . . . .3520
Table 799.MCU ROM table register map and reset values . . . . .3525
Table 800.CPU ROM table register map and reset values . . . . .3530
Table 801.DWT register map and reset values . . . . .3545
Table 802.ITM register map and reset values . . . . .3555
Table 803.BPU register map and reset values . . . . .3562
Table 804.ETM register map and reset values . . . . .3586
Table 805.TPIU register map and reset values . . . . .3599
Table 806.CTI inputs . . . . .3601
Table 807.CTI outputs . . . . .3601
Table 808.CTI register map and reset values . . . . .3612
Table 809.Peripheral clock freeze control bits . . . . .3614
Table 810.Peripheral behavior in debug mode . . . . .3615
Table 811.Debugger access to freeze register bits . . . . .3616
Table 812.DBGMCU register map and reset values . . . . .3626
Table 813.Document revision history . . . . .3634

List of figures

Figure 1.System architecture . . . . .131
Figure 2.SmartRun domain architecture . . . . .134
Figure 3.Memory map based on IDAU mapping for STM32U535/545 . . . . .141
Figure 4.Memory map based on IDAU mapping for STM32U575/585 . . . . .142
Figure 5.Memory map based on IDAU mapping for STM32U59x/5Ax . . . . .143
Figure 6.Memory map based on IDAU mapping for STM32U5Fx/5Gx . . . . .144
Figure 7.Secure/nonsecure partitioning using TrustZone technology . . . . .154
Figure 8.Sharing memory map between CPU in secure and nonsecure state . . . . .156
Figure 9.Secure world transition and memory partitioning . . . . .156
Figure 10.Global TrustZone framework and TrustZone awareness . . . . .158
Figure 11.Flash memory TrustZone protections . . . . .162
Figure 12.Flash memory secure HDP area . . . . .170
Figure 13.Key management principle . . . . .179
Figure 14.Device life-cycle security . . . . .182
Figure 15.RDP level transition scheme . . . . .185
Figure 16.Collaborative development principle . . . . .188
Figure 17.External flash memory protection using SFI . . . . .190
Figure 18.GTZC in Armv8-M subsystem block diagram . . . . .197
Figure 19.GTZC block diagram . . . . .200
Figure 20.Watermark memory protection controller (region x/sub-regions A and B) . . . . .202
Figure 21.MPCBB block diagram . . . . .203
Figure 22.SRAM1, SRAM2 with ECC and SRAM3 with ECC memory map . . . . .279
Figure 23.Flash memory security attributes and protections
in case of no bank swap (SWAP_BANK = 0) . . . . .
314
Figure 24.Flash memory security attributes and protections
in case of bank swap (SWAP_BANK = 1) . . . . .
314
Figure 25.RDP level transition scheme when TrustZone is disabled (TZEN = 0) . . . . .322
Figure 26.RDP level transition scheme when TrustZone is enabled (TZEN = 1) . . . . .323
Figure 27.ICACHE block diagram . . . . .366
Figure 28.ICACHE TAG and data memories functional view . . . . .368
Figure 29.ICACHE remapping address mechanism . . . . .372
Figure 30.DCACHE block diagram . . . . .384
Figure 31.DCACHE TAG and data memories functional view . . . . .387
Figure 32.Power supply overview . . . . .404
Figure 33.Brownout reset waveform . . . . .412
Figure 34.PVD thresholds . . . . .413
Figure 35.I/O states in Stop 3 mode . . . . .433
Figure 36.I/O states in Standby mode . . . . .436
Figure 37.Simplified diagram of the reset circuit . . . . .484
Figure 38.Clock tree for STM32U5 series . . . . .487
Figure 39.HSE/ LSE clock sources . . . . .488
Figure 40.MSI block diagram . . . . .490
Figure 41.PLL block diagram . . . . .493
Figure 42.PLL initialization flow . . . . .496
Figure 43.CRS block diagram . . . . .611
Figure 44.CRS counter behavior . . . . .613
Figure 45.Structure of three-volt or five-volt tolerant GPIO (TT or FT) . . . . .623
Figure 46.Input floating/pull-up/pull-down configurations . . . . .627
Figure 47.Output configuration . . . . .628
Figure 48.Alternate function configuration . . . . .628
Figure 49.High-impedance analog configuration . . . . .629
Figure 50.I/O compensation cell block diagram . . . . .649
Figure 51.GPDMA block diagram . . . . .694
Figure 52.GPDMA channel direct programming without linked-list (GPDMA_CxLLR = 0) . . . . .695
Figure 53.GPDMA channel suspend and resume sequence . . . . .696
Figure 54.GPDMA channel abort and restart sequence . . . . .697
Figure 55.Static linked-list data structure (all Uxx = 1)
of a linear addressing channel x . . . . .
698
Figure 56.Static linked-list data structure (all Uxx = 1)
of a 2D addressing channel x . . . . .
699
Figure 57.GPDMA dynamic linked-list data structure
of a linear addressing channel x . . . . .
700
Figure 58.GPDMA dynamic linked-list data structure
of a 2D addressing channel x . . . . .
700
Figure 59.GPDMA channel execution and linked-list programming
in run-to-completion mode (GPDMA_CxCRL.SM = 0) . . . . .
702
Figure 60.Inserting a LLIn with an auxiliary GPDMA channel y . . . . .704
Figure 61.GPDMA channel execution and linked-list programming
in link step mode (GPDMA_CxCRL.SM = 1) . . . . .
706
Figure 62.Building LLIn+1: GPDMA dynamic linked-lists in link step mode . . . . .707
Figure 63.Replace with a new LLIn' in register file in link step mode . . . . .708
Figure 64.Replace with a new LLIn' and LLIn+1' in memory in link step mode (option 1) . . . . .709
Figure 65.Replace with a new LLIn' and LLIn+1' in memory in link step mode (option 2) . . . . .710
Figure 66.GPDMA channel execution and linked-list programming . . . . .712
Figure 67.Programmed 2D addressing . . . . .715
Figure 68.GPDMA arbitration policy . . . . .722
Figure 69.Trigger hit, memorization, and overrun waveform . . . . .725
Figure 70.GPDMA circular buffer programming: update of the memory start address
with a linear addressing channel . . . . .
726
Figure 71.Shared GPDMA channel with circular buffering: update of the memory
start address with a linear addressing channel . . . . .
727
Figure 72.LPDMA block diagram . . . . .770
Figure 73.LPDMA channel direct programming without linked-list (LPDMA_CxLLR = 0) . . . . .771
Figure 74.LPDMA channel suspend and resume sequence . . . . .772
Figure 75.LPDMA channel abort and restart sequence . . . . .773
Figure 76.Static linked-list data structure (all Uxx = 1) of channel x . . . . .774
Figure 77.LPDMA dynamic linked-list data structure of an addressing channel x . . . . .775
Figure 78.LPDMA channel execution and linked-list programming
in run-to-completion mode (LPDMA_CxCRL.SM = 0) . . . . .
777
Figure 79.Inserting a LLIn with an auxiliary LPDMA channel y . . . . .779
Figure 80.LPDMA channel execution and linked-list programming
in link step mode (LPDMA_CxCRL.SM = 1) . . . . .
781
Figure 81.Building LLIn+1: LPDMA dynamic linked-lists in link step mode . . . . .782
Figure 82.Replace with a new LLIn' in register file in link step mode . . . . .783
Figure 83.Replace with a new LLIn' and LLIn+1' in memory in link step mode (option 1) . . . . .784
Figure 84.Replace with a new LLIn' and LLIn+1' in memory in link step mode (option 2) . . . . .785
Figure 85.LPDMA channel execution and linked-list programming . . . . .787
Figure 86.LPDMA arbitration policy . . . . .791
Figure 87.Trigger hit, memorization and overrun waveform . . . . .795
Figure 88.LPDMA circular buffer programming: update of the memory start address . . . . .796
Figure 89.Shared LPDMA channel with circular buffering: update of the memory start address . . . . .797
Figure 90.DMA2D block diagram . . . . .825
Figure 91.Intel 8080 16-bit mode (RGB565) . . . . .832
Figure 92.Intel 8080 18/24-bit mode (RGB888) . . . . .832
Figure 93.DMA2D block diagram . . . . .860
Figure 94.Intel 8080 16-bit mode (RGB565) . . . . .867
Figure 95.Intel 8080 18/24-bit mode (RGB888) . . . . .867
Figure 96.GFXMMU block diagram . . . . .894
Figure 97.Virtual buffer . . . . .895
Figure 98.Virtual buffer and physical buffer memory map . . . . .896
Figure 99.MMU block diagram . . . . .897
Figure 100.Block validation/comparator implementation . . . . .898
Figure 101.EXTI block diagram . . . . .920
Figure 102.Configurable event trigger logic CPU wake-up . . . . .922
Figure 103.EXTI mux GPIO selection . . . . .923
Figure 104.CRC calculation unit block diagram . . . . .938
Figure 105.CORDIC convergence for trigonometric functions . . . . .952
Figure 106.CORDIC convergence for hyperbolic functions . . . . .953
Figure 107.CORDIC convergence for square root . . . . .954
Figure 108.Block diagram . . . . .963
Figure 109.Input buffer areas . . . . .965
Figure 110.Circular input buffer . . . . .966
Figure 111.Circular input buffer operation . . . . .967
Figure 112.Circular output buffer . . . . .968
Figure 113.Circular output buffer operation . . . . .969
Figure 114.FIR filter structure . . . . .971
Figure 115.IIR filter structure (direct form 1) . . . . .973
Figure 116.X1 buffer initialization . . . . .978
Figure 117.Filtering example 1 . . . . .979
Figure 118.Filtering example 2 . . . . .980
Figure 119.FMC block diagram . . . . .992
Figure 120.FMC memory banks . . . . .994
Figure 121.Mode 1 read access waveforms . . . . .1001
Figure 122.Mode 1 write access waveforms . . . . .1002
Figure 123.Mode A read access waveforms . . . . .1004
Figure 124.Mode A write access waveforms . . . . .1004
Figure 125.Mode 2 and mode B read access waveforms . . . . .1006
Figure 126.Mode 2 write access waveforms . . . . .1007
Figure 127.Mode B write access waveforms . . . . .1007
Figure 128.Mode C read access waveforms . . . . .1009
Figure 129.Mode C write access waveforms . . . . .1010
Figure 130.Mode D read access waveforms . . . . .1012
Figure 131.Mode D write access waveforms . . . . .1013
Figure 132.Muxed read access waveforms . . . . .1015
Figure 133.Muxed write access waveforms . . . . .1016
Figure 134.Asynchronous wait during a read access waveforms . . . . .1018
Figure 135.Asynchronous wait during a write access waveforms . . . . .1019
Figure 136.Wait configuration waveforms . . . . .1021
Figure 137.Synchronous multiplexed read mode waveforms - NOR, PSRAM (CRAM) . . . . .1022
Figure 138.Synchronous multiplexed write mode waveforms - PSRAM (CRAM) . . . . .1024
Figure 139.NAND flash controller waveforms for common memory access . . . . .1036
Figure 140. Access to non 'CE don't care' NAND-flash. . . . .1038
Figure 141. OCTOSPI block diagram in octal configuration
(for STM32U5 series except STM32U535/545 devices). . . . .
1049
Figure 142. OCTOSPI block diagram in quad configuration
(for STM32U5 series except STM32U535/545 devices) . . . . .
1049
Figure 143. OCTOSPI block diagram in dual-quad configuration
(for STM32U5 series except STM32U535/545 devices) . . . . .
1050
Figure 144. OCTOSPI block diagram in octal configuration
(for STM32U535/545 devices) . . . . .
1050
Figure 145. OCTOSPI block diagram in quad configuration
(for STM32U535/545 devices) . . . . .
1051
Figure 146. OCTOSPI block diagram in dual-quad configuration
(for STM32U535/545 devices) . . . . .
1051
Figure 147. SDR read command in octal configuration . . . . .1053
Figure 148. DTR read in octal-SPI mode with DQS (Macronix mode) example . . . . .1056
Figure 149. SDR write command in octo-SPI mode example . . . . .1058
Figure 150. DTR write in octal-SPI mode (Macronix mode) example . . . . .1059
Figure 151. Example of HyperBus read operation. . . . .1060
Figure 152. HyperBus write operation with initial latency . . . . .1061
Figure 153. HyperBus read operation with additional latency . . . . .1062
Figure 154. HyperBus write operation with additional latency . . . . .1062
Figure 155. HyperBus write operation with no latency (register write). . . . .1063
Figure 156. HyperBus read operation page crossing with latency. . . . .1063
Figure 157. D0/D1 data ordering in octal-SPI DTR mode (Micron) - Read access . . . . .1070
Figure 158. OctaRAM read operation with reverse data ordering D1/D0 . . . . .1071
Figure 159. NCS when CKMODE = 0 (T = CLK period) . . . . .1076
Figure 160. NCS when CKMODE = 1 in SDR mode (T = CLK period) . . . . .1077
Figure 161. NCS when CKMODE = 1 in DTR mode (T = CLK period) . . . . .1077
Figure 162. NCS when CKMODE = 1 with an abort (T = CLK period). . . . .1077
Figure 163. OCTOSPIM block diagram . . . . .1107
Figure 164. HSPI block diagram for 16-bit configuration . . . . .1115
Figure 165. HSPI block diagram for dual-octal configuration . . . . .1116
Figure 166. HSPI block diagram for octal configuration . . . . .1116
Figure 167. HSPI block diagram in quad configuration . . . . .1117
Figure 168. HSPI block diagram for dual-quad configuration . . . . .1118
Figure 169. SDR read command in 16-bit configuration . . . . .1120
Figure 170. DTR read in octal-SPI mode with DQS (Macronix mode) example . . . . .1123
Figure 171. SDR write command in octal-SPI mode example. . . . .1125
Figure 172. DTR write in octal-SPI mode (Macronix mode) example . . . . .1126
Figure 173. Example of HyperBus read operation (8-bit data mode) . . . . .1128
Figure 174. HyperBus write operation with initial latency (8-bit data mode) . . . . .1130
Figure 175. HyperBus read operation with additional latency (8-bit data mode). . . . .1130
Figure 176. HyperBus write operation with additional latency (8-bit data mode). . . . .1131
Figure 177. HyperBus write operation with no latency (register write). . . . .1131
Figure 178. HyperBus read operation page crossing with latency (8-bit data mode) . . . . .1132
Figure 179. HyperBus write operation with initial latency (16-bit mode) . . . . .1133
Figure 180. D0/D1 data ordering in octal-SPI DTR mode (Micron) - Read access . . . . .1139
Figure 181. OctaRAM read operation with reverse data ordering D1/D0 . . . . .1140
Figure 182. NCS when CKMODE = 0 (T = CLK period) . . . . .1146
Figure 183. NCS when CKMODE = 1 in SDR mode (T = CLK period) . . . . .1147
Figure 184. NCS when CKMODE = 1 in DTR mode (T = CLK period) . . . . .1147
Figure 185. NCS when CKMODE =1 with an abort (T = CLK period). . . . .1147
Figure 186. SDMMC “no response” and “no data” operations . . . . .1180
Figure 187. SDMMC (multiple) block read operation . . . . .1180
Figure 188. SDMMC (multiple) block write operation . . . . .1181
Figure 189. SDMMC (sequential) stream read operation . . . . .1181
Figure 190. SDMMC (sequential) stream write operation . . . . .1181
Figure 191. SDMMC block diagram . . . . .1183
Figure 192. SDMMC Command and data phase relation . . . . .1185
Figure 193. Control unit . . . . .1187
Figure 194. Command/response path . . . . .1188
Figure 195. Command path state machine (CPSM) . . . . .1189
Figure 196. Data path . . . . .1195
Figure 197. DDR mode data packet clocking . . . . .1196
Figure 198. DDR mode CRC status / boot acknowledgment clocking . . . . .1196
Figure 199. Data path state machine (DPSM) . . . . .1197
Figure 200. CLKMUX unit . . . . .1208
Figure 201. Linked list structures . . . . .1210
Figure 202. Asynchronous interrupt generation . . . . .1213
Figure 203. Synchronous interrupt period data read . . . . .1214
Figure 204. Synchronous interrupt period data write . . . . .1214
Figure 205. Asynchronous interrupt period data read . . . . .1215
Figure 206. Asynchronous interrupt period data write . . . . .1216
Figure 207. Clock stop with SDMMC_CK for DS, HS, SDR12, SDR25 . . . . .1219
Figure 208. Clock stop with SDMMC_CK for DDR50, SDR50, SDR104 . . . . .1219
Figure 209. Read Wait with SDMMC_CK < 50 MHz . . . . .1220
Figure 210. Read Wait with SDMMC_CK > 50 MHz . . . . .1220
Figure 211. CMD12 stream timing . . . . .1223
Figure 212. CMD5 Sleep Awake procedure . . . . .1225
Figure 213. Normal boot mode operation . . . . .1227
Figure 214. Alternative boot mode operation . . . . .1228
Figure 215. Command response R1b busy signaling . . . . .1229
Figure 216. SDMMC state control . . . . .1230
Figure 217. Card cycle power / power up diagram . . . . .1231
Figure 218. CMD11 signal voltage switch sequence . . . . .1232
Figure 219. Voltage switch transceiver typical application . . . . .1234
Figure 220. DLYB block diagram . . . . .1262
Figure 221. ADC block diagram . . . . .1270
Figure 222. ADC clock scheme . . . . .1274
Figure 223. ADC1 connectivity . . . . .1275
Figure 224. ADC2 connectivity (STM32U59x/5Ax/5Fx/5Gx) . . . . .1276
Figure 225. ADC calibration . . . . .1279
Figure 226. Enabling/disabling the ADC . . . . .1283
Figure 227. Bulb mode timing diagram . . . . .1286
Figure 228. Analog-to-digital conversion time in single conversion . . . . .1289
Figure 229. Stopping ongoing regular conversions . . . . .1290
Figure 230. Stopping ongoing regular and injected conversions . . . . .1290
Figure 231. Triggers are shared between ADC master and ADC slave . . . . .1292
Figure 232. Injected conversion latency . . . . .1293
Figure 233. Single conversions of a sequence, software trigger . . . . .1296
Figure 234. Continuous conversion of a sequence, software trigger . . . . .1297
Figure 235. Single conversions of a sequence, hardware trigger . . . . .1297
Figure 236. Continuous conversions of a sequence, hardware trigger . . . . .1298
Figure 237. Right alignment (offset disabled, unsigned value) . . . . .1299
Figure 238. Right alignment (offset enabled, signed value) . . . . .1300
Figure 239. Left alignment (offset disabled, unsigned value) . . . . .1300
Figure 240. Left alignment (offset enabled, signed value) . . . . .1301
Figure 241. Example of overrun (OVRMOD = 0). . . . .1304
Figure 242. Example of overrun (OVRMOD = 1). . . . .1304
Figure 243. AUTODLY = 1, regular conversion in continuous mode, software trigger . . . . .1308
Figure 244. AUTODLY = 1, regular hardware conversions interrupted by injected conversions
(DISCEN = 0; JDISCEN = 0) . . . . .
1308
Figure 245. AUTODLY = 1, regular hardware conversions interrupted by injected conversions.
(DISCEN = 1, JDISCEN = 1) . . . . .
1309
Figure 246. AUTODLY = 1, regular continuous conversions interrupted by injected conversions . . . . .1310
Figure 247. AUTODLY = 1 in auto- injected mode (JAUTO = 1). . . . .1310
Figure 248. Analog watchdog guarded area . . . . .1311
Figure 249. ADC y _AWD x _OUT signal generation (on all regular channels). . . . .1313
Figure 250. ADC_AWD x _OUT signal generation (AWD x flag not cleared by software) . . . . .1313
Figure 251. ADC_AWD x _OUT signal generation (on a single regular channel) . . . . .1314
Figure 252. ADC_AWD x _OUT signal generation (on all injected channels) . . . . .1314
Figure 253. 14-bit result oversampling with 10-bits right shift and rounding . . . . .1315
Figure 254. Triggered regular oversampling mode (TROVS bit = 1). . . . .1317
Figure 255. Regular oversampling modes (4x ratio) . . . . .1318
Figure 256. Regular and injected oversampling modes used simultaneously . . . . .1318
Figure 257. Triggered regular oversampling with injection . . . . .1319
Figure 258. Oversampling in auto-injected mode . . . . .1319
Figure 259. Dual ADC block diagram (1) . . . . .1322
Figure 260. Injected simultaneous mode on four channels: dual ADC mode . . . . .1323
Figure 261. Regular simultaneous mode on 16 channels: dual ADC mode . . . . .1325
Figure 262. Interleaved mode on one channel in continuous conversion mode: dual ADC mode . . . . .1327
Figure 263. Interleaved mode on one channel in single conversion mode: dual ADC mode . . . . .1327
Figure 264. Interleaved conversion with injection . . . . .1328
Figure 265. Alternate trigger: injected group of each ADC . . . . .1329
Figure 266. Alternate trigger: Four injected channels (each ADC) in discontinuous mode . . . . .1330
Figure 267. Alternate + regular simultaneous . . . . .1331
Figure 268. Case of trigger occurring during injected conversion . . . . .1331
Figure 269. Interleaved single channel CH0 with injected sequence CH11, CH12 . . . . .1332
Figure 270. Two interleaved channels (CH1, CH2) with injected sequence CH11, CH12
- case 1: Master interrupted first . . . . .
1332
Figure 271. Two Interleaved channels (CH1, CH2) with injected sequence CH11, CH12
- case 2: Slave interrupted first . . . . .
1332
Figure 272. DMA Requests in regular simultaneous mode when DAMDF[1:0] = 00 . . . . .1333
Figure 273. DMA requests in regular simultaneous mode when DAMDF[1:0] = 10 . . . . .1334
Figure 274. DMA requests in interleaved mode when DAMDF[1:0] = 10 . . . . .1335
Figure 275. Temperature sensor channel block diagram . . . . .1337
Figure 276. VBAT channel block diagram . . . . .1338
Figure 277. VREFINT channel block diagram . . . . .1339
Figure 278. ADC block diagram . . . . .1382
Figure 279. ADC calibration . . . . .1385
Figure 280. Calibration factor forcing . . . . .1386
Figure 281. Enabling/disabling the ADC . . . . .1387
Figure 282. ADC clock scheme . . . . .1388
Figure 283. ADC4 connectivity . . . . .1390
Figure 284. Analog-to-digital conversion time . . . . .1395
Figure 285. ADC conversion timings . . . . .1395
Figure 286. Stopping an ongoing conversion . . . . .1396
Figure 287. Single conversions of a sequence, software trigger . . . . .1399
Figure 288. Continuous conversion of a sequence, software trigger . . . . .1400
Figure 289. Single conversions of a sequence, hardware trigger . . . . .1400
Figure 290. Continuous conversions of a sequence, hardware trigger . . . . .1401
Figure 291. Data alignment and resolution (oversampling disabled: OVSE = 0) . . . . .1402
Figure 292. Example of overrun (OVR) . . . . .1403
Figure 293. Wait conversion mode (continuous mode, software trigger) . . . . .1405
Figure 294. Auto-off mode state diagram . . . . .1407
Figure 295. ADC behavior with WAIT = 0 and AUTOFF = 1 . . . . .1407
Figure 296. ADC behavior with WAIT = 1 and AUTOFF = 1 . . . . .1408
Figure 297. Autonomous mode state diagram . . . . .1409
Figure 298. Analog watchdog guarded area . . . . .1410
Figure 299. ADC_AWDx_OUT signal generation . . . . .1411
Figure 300. ADC_AWDx_OUT signal generation (AWDx flag not cleared by software) . . . . .1412
Figure 301. ADC_AWDx_OUT signal generation (on a single channel) . . . . .1412
Figure 302. Analog watchdog threshold update . . . . .1413
Figure 303. 20-bit to 16-bit result truncation . . . . .1413
Figure 304. Numerical example with 5-bits shift and rounding . . . . .1414
Figure 305. Triggered oversampling mode (TOVS bit = 1) . . . . .1416
Figure 306. Temperature sensor and VREFINT channel block diagram . . . . .1417
Figure 307. VBAT channel block diagram . . . . .1419
Figure 308. Dual-channel DAC block diagram . . . . .1447
Figure 309. Data registers in single DAC channel mode . . . . .1450
Figure 310. Data registers in dual DAC channel mode . . . . .1451
Figure 311. Timing diagram for conversion with trigger disabled TEN = 0 . . . . .1452
Figure 312. DAC LFSR register calculation algorithm . . . . .1455
Figure 313. DAC conversion (SW trigger enabled) with LFSR wave generation . . . . .1455
Figure 314. DAC triangle wave generation . . . . .1456
Figure 315. DAC conversion (SW trigger enabled) with triangle wave generation . . . . .1456
Figure 316. DAC sample and hold mode phase diagram . . . . .1459
Figure 317. VREFBUF block diagram . . . . .1487
Figure 318. Comparator block diagrams . . . . .1492
Figure 319. Window mode . . . . .1495
Figure 320. Comparator hysteresis . . . . .1495
Figure 321. Comparator output blanking . . . . .1496
Figure 322. Scaler . . . . .1497
Figure 323. Standalone mode: external gain setting mode . . . . .1504
Figure 324. Follower configuration . . . . .1505
Figure 325. PGA mode, internal gain setting (x2/x4/x8/x16), inverting input not used . . . . .1506
Figure 326. PGA mode, internal gain setting (x2/x4/x8/x16), inverting input used for filtering . . . . .1507
Figure 327. MDF block diagram . . . . .1519
Figure 328. SITFx overview . . . . .1523
Figure 329. SPI timing example . . . . .1524
Figure 330. Manchester timing example (SITFMOD = 11) . . . . .1526
Figure 331. CKGEN overview . . . . .1529
Figure 332. BSMX overview . . . . .1531
Figure 333. SCD functional view . . . . .1532
Figure 334. SCD timing example . . . . .1532
Figure 335. DFLT overview . . . . .1534
Figure 336. Programmable delay . . . . .1535
Figure 337. CIC3 and CIC5 frequency response with decimation ratio = 32 . . . . .1537
Figure 338. Reshape filter frequency response normalized (FRS / 2 = 1). . . . .1542
Figure 339. Out-of-limit detector thresholds. . . . .1545
Figure 340. Trigger logic for DFLT and CKGEN . . . . .1547
Figure 341. Asynchronous continuous mode (ACQMOD[2:0] = 0) . . . . .1548
Figure 342. Asynchronous single-shot mode (ACQMOD[2:0] = 001) . . . . .1549
Figure 343. Synchronous continuous mode (ACQMOD[2:0] = 010) . . . . .1550
Figure 344. Synchronous single-shot mode (ACQMOD[2:0] = 011) . . . . .1551
Figure 345. Window continuous mode (ACQMOD[2:0] = 100) . . . . .1552
Figure 346. Snapshot mode example . . . . .1554
Figure 347. Discard function example . . . . .1555
Figure 348. Start sequence with DFLTEN, in continuous mode, audio configuration . . . . .1556
Figure 349. Start sequence with trigger input, in continuous mode, motor configuration . . . . .1557
Figure 350. Break interface simplified view . . . . .1558
Figure 351. MDF_DFLTxDATA data format. . . . .1558
Figure 352. Data resynchronization . . . . .1559
Figure 353. Data transfer in interleaved-transfer mode . . . . .1560
Figure 354. Data path for interleaved- and independent-transfer modes . . . . .1562
Figure 355. Example of overflow and transfer to memory . . . . .1563
Figure 356. MDF interrupt interface . . . . .1566
Figure 357. Sensor connection examples . . . . .1571
Figure 358. Global frequency response . . . . .1572
Figure 359. Detailed frequency response . . . . .1572
Figure 360. Simplified DFLT view with gain information . . . . .1574
Figure 361. ADF block diagram . . . . .1602
Figure 362. SITF overview. . . . .1604
Figure 363. SPI timing example . . . . .1605
Figure 364. Manchester timing example (SITFMOD = 11) . . . . .1606
Figure 365. CKGEN overview . . . . .1609
Figure 366. BSMX overview . . . . .1611
Figure 367. DFLT overview . . . . .1612
Figure 368. Programmable delay. . . . .1613
Figure 369. CIC4 and CIC5 frequency response with decimation ratio = 32 or 16 . . . . .1614
Figure 370. Reshape filter frequency response normalized (FRS / 2 = 1). . . . .1620
Figure 371. Trigger logic for DFLT and CKGEN . . . . .1622
Figure 372. Asynchronous continuous mode (ACQMOD[2:0] = 0) . . . . .1623
Figure 373. Asynchronous single-shot mode (ACQMOD[2:0] = 001) . . . . .1624
Figure 374. Synchronous continuous mode (ACQMOD[2:0] = 010) . . . . .1625
Figure 375. Synchronous single-shot mode (ACQMOD[2:0] = 011) . . . . .1626
Figure 376. Window continuous mode (ACQMOD[2:0] = 100) . . . . .1627
Figure 377. Discard function example . . . . .1629
Figure 378. Start sequence with DFLTEN, in continuous mode, audio configuration . . . . .1629
Figure 379. SAD block diagram . . . . .1630
Figure 380. SAD flow diagram. . . . .1632
Figure 381. SAD timing diagram example . . . . .1638
Figure 382. ADF_DFLTxDATA data format . . . . .1638
Figure 383. Data resynchronization . . . . .1639
Figure 384. Example of overflow and transfer to memory . . . . .1640
Figure 385. ADF interrupt interface . . . . .1643
Figure 386. Sensor connection examples . . . . .1648
Figure 387. Global frequency response. . . . .1648
Figure 388. Detailed frequency response . . . . .1649
Figure 389. Simplified DFLT view with gain information . . . . .1651
Figure 390. SAD example working with SADMOD = 01 . . . . .1654
Figure 391. SAD example working with SADMOD = 1x . . . . .1655
Figure 392. DCMI block diagram . . . . .1675
Figure 393. DCMI signal waveforms . . . . .1676
Figure 394. Timing diagram . . . . .1678
Figure 395. Frame capture waveforms in snapshot mode. . . . .1680
Figure 396. Frame capture waveforms in continuous grab mode . . . . .1681
Figure 397. Coordinates and size of the window after cropping . . . . .1681
Figure 398. Data capture waveforms. . . . .1682
Figure 399. Pixel raster scan order . . . . .1683
Figure 400. PSSI block diagram . . . . .1697
Figure 401. Top-level block diagram . . . . .1697
Figure 402. Data enable in receive mode waveform diagram (CKPOL=0) . . . . .1701
Figure 403. Data enable waveform diagram in transmit mode (CKPOL=1). . . . .1701
Figure 404. Ready in receive mode waveform diagram (CKPOL=0). . . . .1702
Figure 405. Bidirectional PSSI_DE/PSSI_RDY waveform . . . . .1703
Figure 406. Bidirectional PSSI_DE/PSSI_RDY connection diagram . . . . .1703
Figure 407. LTDC block diagram . . . . .1711
Figure 408. LTDC synchronous timings. . . . .1714
Figure 409. Layer window programmable parameters . . . . .1717
Figure 410. Blending two layers with background . . . . .1719
Figure 411. Interrupt events. . . . .1721
Figure 412. DSI block diagram . . . . .1743
Figure 413. DSI Host architecture . . . . .1745
Figure 414. Flow to update the LTDC interface configuration using shadow registers . . . . .1750
Figure 415. Immediate update procedure . . . . .1751
Figure 416. Configuration update during the transmission of a frame. . . . .1751
Figure 417. Adapted command mode usage flow . . . . .1753
Figure 418. 24 bpp APB pixel to byte organization . . . . .1757
Figure 419. 18 bpp APB pixel to byte organization . . . . .1758
Figure 420. 16 bpp APB pixel to byte organization . . . . .1758
Figure 421. 12 bpp APB pixel to byte organization . . . . .1759
Figure 422. 8 bpp APB pixel to byte organization . . . . .1759
Figure 423. Timing of PRESP_TO after a bus-turn-around. . . . .1762
Figure 424. Timing of PRESP_TO after a read request (HS or LP). . . . .1763
Figure 425. Timing of PRESP_TO after a write request (HS or LP) . . . . .1764
Figure 426. Effect of prep mode at 1 . . . . .1765
Figure 427. Command transmission periods within the image area . . . . .1766
Figure 428. Transmission of commands on the last line of a frame. . . . .1767
Figure 429. LPSIZE for non-burst with sync pulses. . . . .1768
Figure 430. LPSIZE for burst or non-burst with sync events . . . . .1768
Figure 431. VLPSIZE for non-burst with sync pulses . . . . .1770
Figure 432. VLPSIZE for non-burst with sync events . . . . .1770
Figure 433. VLPSIZE for burst mode. . . . .1770
Figure 434. Location of LPSIZE and VLPSIZE in the image area . . . . .1772
Figure 435. Clock lane and data lane in HS . . . . .1773
Figure 436. Clock lane in HS and data lanes in LP . . . . .1774
Figure 437. Clock lane and data lane in LP. . . . .1774
Figure 438. Command transmission by the generic interface . . . . .1775
Figure 439. Vertical color bar mode. . . . .1777
Figure 440. Horizontal color bar mode. . . . .1777
Figure 441. RGB888 BER testing pattern . . . . .1778
Figure 442. Vertical pattern (103x15) . . . . .1779
Figure 443. Horizontal pattern (103x15) . . . . .1779
Figure 444. PLL block diagram . . . . .1781
Figure 445. Error sources . . . . .1784
Figure 446. Video packet transmission configuration flow diagram. . . . .1796
Figure 447. Programming sequence to send a test pattern. . . . .1798
Figure 448. Frame configuration registers. . . . .1799
Figure 449. GPU2D block diagram . . . . .1863
Figure 450. JPEG codec block diagram . . . . .1865
Figure 451. TSC block diagram . . . . .1887
Figure 452. Surface charge transfer analog I/O group structure . . . . .1888
Figure 453. Sampling capacitor voltage variation . . . . .1889
Figure 454. Charge transfer acquisition sequence . . . . .1890
Figure 455. Spread spectrum variation principle . . . . .1891
Figure 456. RNG block diagram . . . . .1904
Figure 457. NIST SP800-90B entropy source model. . . . .1905
Figure 458. RNG initialization overview. . . . .1908
Figure 459. AES block diagram . . . . .1921
Figure 460. ECB encryption and decryption principle . . . . .1923
Figure 461. CBC encryption and decryption principle . . . . .1924
Figure 462. CTR encryption and decryption principle . . . . .1925
Figure 463. GCM encryption and authentication principle. . . . .1926
Figure 464. GMAC authentication principle . . . . .1926
Figure 465. CCM encryption and authentication principle. . . . .1927
Figure 466. Example of suspend mode management. . . . .1931
Figure 467. ECB encryption. . . . .1932
Figure 468. ECB decryption. . . . .1932
Figure 469. CBC encryption. . . . .1933
Figure 470. CBC decryption. . . . .1933
Figure 471. ECB/CBC encryption (Mode 1). . . . .1934
Figure 472. ECB/CBC decryption (Mode 3). . . . .1935
Figure 473. Message construction in CTR mode. . . . .1936
Figure 474. CTR encryption. . . . .1937
Figure 475. CTR decryption. . . . .1937
Figure 476. Message construction in GCM . . . . .1939
Figure 477. GCM authenticated encryption . . . . .1940
Figure 478. Message construction in GMAC mode . . . . .1944
Figure 479. GMAC authentication mode . . . . .1944
Figure 480. Message construction in CCM mode . . . . .1945
Figure 481. CCM mode authenticated encryption . . . . .1947
Figure 482. 128-bit block construction with respect to data swap . . . . .1952
Figure 483. DMA transfer of a 128-bit data block during input phase . . . . .1954
Figure 484. DMA transfer of a 128-bit data block during output phase . . . . .1955
Figure 485. SAES block diagram. . . . .1974
Figure 486. ECB encryption and decryption principle . . . . .1976
Figure 487. CBC encryption and decryption principle . . . . .1977
Figure 488. Example of suspend mode management. . . . .1981
Figure 489. ECB encryption. . . . .1982
Figure 490. ECB decryption. . . . .1982
Figure 491. CBC encryption. . . . .1983
Figure 492. CBC decryption. . . . .1983
Figure 493. ECB/CBC encryption (Mode 1) . . . . .1984
Figure 494. ECB/CBC decryption (Mode 3) . . . . .1985
Figure 495. Operation with wrapped keys . . . . .1987
Figure 496. Usage of Shared-key mode . . . . .1989
Figure 497. 128-bit block construction with respect to data swap . . . . .1992
Figure 498. Key protection mechanisms . . . . .1994
Figure 499. DMA transfer of a 128-bit data block during input phase . . . . .1995
Figure 500. DMA transfer of a 128-bit data block during output phase . . . . .1996
Figure 501. HASH block diagram . . . . .2015
Figure 502. Message data swapping feature . . . . .2017
Figure 503. HASH suspend/resume mechanism . . . . .2023
Figure 504. OTFDEC block diagram . . . . .2037
Figure 505. Typical OTFDEC use in a SoC . . . . .2038
Figure 506. AES CTR decryption flow . . . . .2039
Figure 507. OTFDEC flow control overview (dual burst read request) . . . . .2040
Figure 508. PKA block diagram . . . . .2060
Figure 509. Advanced-control timer block diagram . . . . .2093
Figure 510. Counter timing diagram with prescaler division change from 1 to 2 . . . . .2100
Figure 511. Counter timing diagram with prescaler division change from 1 to 4 . . . . .2101
Figure 512. Counter timing diagram, internal clock divided by 1 . . . . .2102
Figure 513. Counter timing diagram, internal clock divided by 2 . . . . .2103
Figure 514. Counter timing diagram, internal clock divided by 4 . . . . .2103
Figure 515. Counter timing diagram, internal clock divided by N . . . . .2104
Figure 516. Counter timing diagram, update event when ARPE = 0
(TIMx_ARR not preloaded) . . . . .
2104
Figure 517. Counter timing diagram, update event when ARPE = 1
(TIMx_ARR preloaded) . . . . .
2105
Figure 518. Counter timing diagram, internal clock divided by 1 . . . . .2106
Figure 519. Counter timing diagram, internal clock divided by 2 . . . . .2107
Figure 520. Counter timing diagram, internal clock divided by 4 . . . . .2107
Figure 521. Counter timing diagram, internal clock divided by N . . . . .2108
Figure 522. Counter timing diagram, update event when repetition counter is not used . . . . .2108
Figure 523. Counter timing diagram, internal clock divided by 1, TIMx_ARR = 0x6 . . . . .2110
Figure 524. Counter timing diagram, internal clock divided by 2 . . . . .2110
Figure 525. Counter timing diagram, internal clock divided by 4, TIMx_ARR = 0x36 . . . . .2111
Figure 526. Counter timing diagram, internal clock divided by N . . . . .2111
Figure 527. Counter timing diagram, update event with ARPE = 1 (counter underflow) . . . . .2112
Figure 528. Counter timing diagram, Update event with ARPE = 1 (counter overflow) . . . . .2113
Figure 529. Update rate examples depending on mode and TIMx_RCR register settings . . . . .2114
Figure 531. Control circuit in normal mode, internal clock divided by 1 . . . . .2116
Figure 532. tim_ti2 external clock connection example . . . . .2116
Figure 533. Control circuit in external clock mode 1 . . . . .2117
Figure 534. External trigger input block . . . . .2118
Figure 535. Control circuit in external clock mode 2 . . . . .2119
Figure 536. Capture/compare channel (example: channel 1 input stage) . . . . .2119
Figure 537. Capture/compare channel 1 main circuit . . . . .2120
Figure 538. Output stage of capture/compare channel (channel 1, idem ch. 2, 3 and 4) . . . . .2121
Figure 539. Output stage of capture/compare channel (channel 5, idem ch. 6) . . . . .2121
Figure 540. PWM input mode timing . . . . .2124
Figure 541. Output compare mode, toggle on tim_oc1 . . . . .2126
Figure 542. Edge-aligned PWM waveforms (ARR = 8) . . . . .2127
Figure 543. Center-aligned PWM waveforms (ARR = 8) . . . . .2128
Figure 544. Dithering principle . . . . .2129
Figure 545. Data format and register coding in dithering mode . . . . .2130
Figure 546. PWM resolution vs frequency . . . . .2131
Figure 547. PWM dithering pattern . . . . .2132
Figure 548. Dithering effect on duty cycle in center-aligned PWM mode . . . . .2133
Figure 549. Generation of 2 phase-shifted PWM signals with 50% duty cycle . . . . .2135
Figure 550. Combined PWM mode on channel 1 and 3 . . . . .2136
Figure 551. 3-phase combined PWM signals with multiple trigger pulses per period . . . . .2137
Figure 552. Complementary output with symmetrical dead-time insertion . . . . .2138
Figure 553. Asymmetrical deadtime . . . . .2139
Figure 554. Dead-time waveforms with delay greater than the negative pulse . . . . .2139
Figure 555. Dead-time waveforms with delay greater than the positive pulse . . . . .2139
Figure 556. Break and Break2 circuitry overview . . . . .2142
Figure 557. Various output behavior in response to a break event on tim_brk (OSSI = 1) . . . . .2144
Figure 558. PWM output state following tim_brk and tim_brk2 assertion (OSSI = 1) . . . . .2145
Figure 559. PWM output state following tim_brk assertion (OSSI = 0) . . . . .2146
Figure 560. Output redirection (tim_brk2 request not represented) . . . . .2147
Figure 561. tim_ocref_clr input selection multiplexer . . . . .2148
Figure 562. Clearing TIMx tim_ocxref . . . . .2149
Figure 563. 6-step generation, COM example (OSSR = 1) . . . . .2150
Figure 564. Example of one pulse mode . . . . .2151
Figure 565. Retriggerable one-pulse mode . . . . .2152
Figure 566. Pulse generator circuitry . . . . .2153
Figure 567. Pulse generation on compare event, for edge-aligned and encoder modes . . . . .2154
Figure 568. Extended pulsewidth in case of concurrent triggers . . . . .2155
Figure 569. Example of counter operation in encoder interface mode . . . . .2157
Figure 570. Example of encoder interface mode with tim_ti1fp1 polarity inverted . . . . .2157
Figure 571. Quadrature encoder counting modes . . . . .2158
Figure 572. Direction plus clock encoder mode . . . . .2159
Figure 573. Directional clock encoder mode (CC1P = CC2P = 0) . . . . .2159
Figure 574. Directional clock encoder mode (CC1P = CC2P = 1) . . . . .2160
Figure 575. Index gating options . . . . .2161
Figure 576. Jittered Index signals . . . . .2161
Figure 577. Index generation for IPOS[1:0] = 11 . . . . .2162
Figure 578. Counter reading with index gated on channel A (IPOS[1:0] = 11) . . . . .2162
Figure 579. Counter reading with index ungated (IPOS[1:0] = 00) . . . . .2163
Figure 580. Counter reading with index gated on channel A and B . . . . .2163
Figure 581. Encoder mode behavior in case of narrow index pulse (IPOS[1:0] = 11) . . . . .2164
Figure 582. Counter reset Narrow index pulse (closer view, ARR = 0x07) . . . . .2165
Figure 583. Index behavior in x1 and x2 mode (IPOS[1:0] = 01) . . . . .2166
Figure 584. Directional index sensitivity . . . . .2166
Figure 585. Counter reset as function of FIDX bit setting . . . . .2167
Figure 586. Index blanking . . . . .2167
Figure 587. Index behavior in clock + direction mode, IPOS[0] = 1 . . . . .2168
Figure 588. Index behavior in directional clock mode, IPOS[0] = 1 . . . . .2168
Figure 589. State diagram for quadrature encoded signals . . . . .2169
Figure 590. Up-counting encoder error detection . . . . .2170
Figure 591. Down-counting encode error detection . . . . .2171
Figure 592. Encoder mode change with preload transferred on update (SMSPS = 0) . . . . .2172
Figure 593. Measuring time interval between edges on three signals . . . . .2173
Figure 594. Example of Hall sensor interface . . . . .2175
Figure 595. Control circuit in reset mode . . . . .2176
Figure 596. Control circuit in Gated mode . . . . .2177
Figure 597. Control circuit in trigger mode . . . . .2178
Figure 598. Control circuit in external clock mode 2 + trigger mode . . . . .2179
Figure 599. General-purpose timer block diagram . . . . .2237
Figure 600. Counter timing diagram with prescaler division change from 1 to 2 . . . . .2243
Figure 601. Counter timing diagram with prescaler division change from 1 to 4 . . . . .2244
Figure 602. Counter timing diagram, internal clock divided by 1 . . . . .2245
Figure 603. Counter timing diagram, internal clock divided by 2 . . . . .2245
Figure 604. Counter timing diagram, internal clock divided by 4 . . . . .2246
Figure 605. Counter timing diagram, internal clock divided by N . . . . .2246
Figure 606. Counter timing diagram, Update event when ARPE = 0 (TIMx_ARR not preloaded). . . . .2247
Figure 607. Counter timing diagram, Update event when ARPE = 1 (TIMx_ARR preloaded). . . . .2248
Figure 608. Counter timing diagram, internal clock divided by 1 . . . . .2249
Figure 609. Counter timing diagram, internal clock divided by 2 . . . . .2250
Figure 610. Counter timing diagram, internal clock divided by 4 . . . . .2250
Figure 611. Counter timing diagram, internal clock divided by N . . . . .2251
Figure 612. Counter timing diagram, Update event . . . . .2251
Figure 613. Counter timing diagram, internal clock divided by 1, TIMx_ARR = 0x6 . . . . .2253
Figure 614. Counter timing diagram, internal clock divided by 2 . . . . .2253
Figure 615. Counter timing diagram, internal clock divided by 4, TIMx_ARR = 0x36 . . . . .2254
Figure 616. Counter timing diagram, internal clock divided by N . . . . .2254
Figure 617. Counter timing diagram, Update event with ARPE = 1 (counter underflow). . . . .2255
Figure 618. Counter timing diagram, Update event with ARPE = 1 (counter overflow). . . . .2256
Figure 619. Control circuit in normal mode, internal clock divided by 1 . . . . .2257
Figure 620. tim_ti2 external clock connection example . . . . .2257
Figure 621. Control circuit in external clock mode 1 . . . . .2258
Figure 622. External trigger input block . . . . .2259
Figure 623. Control circuit in external clock mode 2 . . . . .2260
Figure 624. Capture/compare channel (example: channel 1 input stage) . . . . .2260
Figure 625. Capture/compare channel 1 main circuit . . . . .2261
Figure 626. Output stage of capture/compare channel (channel 1, idem ch.2, 3 and 4). . . . .2261
Figure 627. PWM input mode timing . . . . .2264
Figure 628. Output compare mode, toggle on tim_oc1 . . . . .2266
Figure 629. Edge-aligned PWM waveforms (ARR = 8) . . . . .2267
Figure 630. Center-aligned PWM waveforms (ARR = 8). . . . .2268
Figure 631. Dithering principle . . . . .2269
Figure 632. Data format and register coding in dithering mode . . . . .2270
Figure 633. PWM resolution vs frequency (16-bit mode). . . . .2271
Figure 634. PWM resolution vs frequency (32-bit mode). . . . .2271
Figure 635. PWM dithering pattern . . . . .2272
Figure 636. Dithering effect on duty cycle in center-aligned PWM mode . . . . .2273
Figure 637. Generation of two phase-shifted PWM signals with 50% duty cycle . . . . .2275
Figure 638. Combined PWM mode on channels 1 and 3 . . . . .2276
Figure 639. OCREF_CLR input selection multiplexer . . . . .2277
Figure 640. Clearing TIMx tim_ocxref . . . . .2277
Figure 641. Example of One-pulse mode . . . . .2278
Figure 642. Retriggerable one-pulse mode . . . . .2280
Figure 643. Pulse generator circuitry . . . . .2281
Figure 644. Pulse generation on compare event, for edge-aligned and encoder modes . . . . .2281
Figure 645. Extended pulse width in case of concurrent triggers . . . . .2282
Figure 646. Example of counter operation in encoder interface mode . . . . .2284
Figure 647. Example of encoder interface mode with tim_ti1fp1 polarity inverted . . . . .2284
Figure 648. Quadrature encoder counting modes . . . . .2285
Figure 649. Direction plus clock encoder mode . . . . .2286
Figure 650. Directional clock encoder mode (CC1P = CC2P = 0) . . . . .2287
Figure 651. Directional clock encoder mode (CC1P = CC2P = 1) . . . . .2287
Figure 652. Index gating options . . . . .2289
Figure 653. Jittered Index signals . . . . .2289
Figure 654. Index generation for IPOS[1:0] = 11 . . . . .2290
Figure 655. Counter reading with index gated on channel A (IPOS[1:0] = 11) . . . . .2290
Figure 656. Counter reading with index ungated (IPOS[1:0] = 00) . . . . .2291
Figure 657. Counter reading with index gated on channel A and B . . . . .2291
Figure 658. Encoder mode behavior in case of narrow index pulse (IPOS[1:0] = 11) . . . . .2292
Figure 659. Counter reset Narrow index pulse (closer view, ARR = 0x07) . . . . .2293
Figure 660. Index behavior in x1 and x2 mode (IPOS[1:0] = 01) . . . . .2294
Figure 661. Directional index sensitivity . . . . .2294
Figure 662. Counter reset as function of FIDX bit setting . . . . .2295
Figure 663. Index blanking . . . . .2295
Figure 664. Index behavior in clock + direction mode, IPOS[0] = 1 . . . . .2296
Figure 665. Index behavior in directional clock mode, IPOS[0] = 1 . . . . .2296
Figure 666. State diagram for quadrature encoded signals . . . . .2297
Figure 667. Up-counting encoder error detection . . . . .2298
Figure 668. Down-counting encode error detection . . . . .2299
Figure 669. Encoder mode change with preload transferred on update (SMSPS = 0) . . . . .2300
Figure 670. Control circuit in reset mode . . . . .2302
Figure 671. Control circuit in gated mode . . . . .2303
Figure 672. Control circuit in trigger mode . . . . .2303
Figure 673. Control circuit in external clock mode 2 + trigger mode . . . . .2305
Figure 674. Master/Slave timer example . . . . .2305
Figure 675. Master/slave connection example with 1 channel only timers . . . . .2306
Figure 676. Gating TIM_slv with tim_oc1ref of TIM_mstr . . . . .2307
Figure 677. Gating TIM_slv with Enable of TIM_mstr . . . . .2308
Figure 678. Triggering TIM_slv with update of TIM_mstr . . . . .2309
Figure 679. Triggering TIM_slv with Enable of TIM_mstr . . . . .2309
Figure 680. Triggering TIM_mstr and TIM_slv with TIM_mstr tim_ti1 input . . . . .2310
Figure 681. TIM15 block diagram . . . . .2351
Figure 682. TIM16/TIM17 block diagram . . . . .2352
Figure 683. Counter timing diagram with prescaler division change from 1 to 2 . . . . .2356
Figure 684. Counter timing diagram with prescaler division change from 1 to 4 . . . . .2357
Figure 685. Counter timing diagram, internal clock divided by 1 . . . . .2358
Figure 686. Counter timing diagram, internal clock divided by 2 . . . . .2359
Figure 687. Counter timing diagram, internal clock divided by 4 . . . . .2359
Figure 688. Counter timing diagram, internal clock divided by N . . . . .2360
Figure 689. Counter timing diagram, update event when ARPE = 0
(TIMx_ARR not preloaded) . . . . .
2360
Figure 690. Counter timing diagram, update event when ARPE = 1
(TIMx_ARR preloaded) . . . . .
2361
Figure 691. Update rate examples depending on mode and TIMx_RCR register settings . . . . .2362
Figure 692. Control circuit in normal mode, internal clock divided by 1 . . . . .2363
Figure 693. tim_ti2 external clock connection example . . . . .2363
Figure 694. Control circuit in external clock mode 1 . . . . .2364
Figure 695. Capture/compare channel (example: channel 1 input stage) . . . . .2365
Figure 696. Capture/compare channel 1 main circuit . . . . .2365
Figure 697. Output stage of capture/compare channel (channel 1) . . . . .2366
Figure 698. Output stage of capture/compare channel (channel 2 for TIM15) . . . . .2366
Figure 699. PWM input mode timing . . . . .2369
Figure 700. Output compare mode, toggle on tim_oc1 . . . . .2371
Figure 701. Edge-aligned PWM waveforms (ARR = 8) . . . . .2372
Figure 702. Dithering principle . . . . .2373
Figure 703. Data format and register coding in dithering mode . . . . .2373
Figure 704. PWM resolution vs frequency . . . . .2374
Figure 705. PWM dithering pattern . . . . .2375
Figure 706. Combined PWM mode on channel 1 and 2 . . . . .2377
Figure 707. Complementary output with symmetrical dead-time insertion. . . . .2378
Figure 708. Asymmetrical deadtime . . . . .2379
Figure 709. Dead-time waveforms with delay greater than the negative pulse. . . . .2379
Figure 710. Dead-time waveforms with delay greater than the positive pulse. . . . .2379
Figure 711. Break circuitry overview . . . . .2381
Figure 712. Output behavior in response to a break event on tim_brk . . . . .2383
Figure 713. Output redirection . . . . .2385
Figure 714. tim_ocref_clr input selection multiplexer. . . . .2386
Figure 715. 6-step generation, COM example (OSSR = 1) . . . . .2387
Figure 716. Example of one pulse mode. . . . .2388
Figure 717. Retriggerable one pulse mode . . . . .2390
Figure 718. Measuring time interval between edges on 2 signals . . . . .2390
Figure 719. Control circuit in reset mode . . . . .2391
Figure 720. Control circuit in gated mode . . . . .2392
Figure 721. Control circuit in trigger mode . . . . .2393
Figure 722. Basic timer block diagram. . . . .2455
Figure 723. Control circuit in normal mode, internal clock divided by 1 . . . . .2456
Figure 724. Counter timing diagram with prescaler division change from 1 to 2 . . . . .2457
Figure 725. Counter timing diagram with prescaler division change from 1 to 4 . . . . .2458
Figure 726. Counter timing diagram, internal clock divided by 1 . . . . .2459
Figure 727. Counter timing diagram, internal clock divided by 2 . . . . .2459
Figure 728. Counter timing diagram, internal clock divided by 4 . . . . .2460
Figure 729. Counter timing diagram, internal clock divided by N . . . . .2460
Figure 730. Counter timing diagram, update event when ARPE = 0 (TIMx_ARR not
preloaded). . . . .
2461
Figure 731. Counter timing diagram, update event when ARPE = 1 (TIMx_ARR
preloaded). . . . .
2462
Figure 732. Dithering principle . . . . .2463
Figure 733. Data format and register coding in dithering mode . . . . .2463
Figure 734. FCnt resolution vs frequency . . . . .2464
Figure 735. PWM dithering pattern . . . . .2464
Figure 736. LPTIM1/2/3 block diagram (1) . . . . .2475
Figure 737. LPTIM4 block diagram (1) . . . . .2476
Figure 738. Glitch filter timing diagram . . . . .2480
Figure 739. LPTIM output waveform, single-counting mode configuration
when repetition register content is different than zero (with PRELOAD = 1) . . . . .
2482
Figure 740. LPTIM output waveform, single-counting mode configuration
and Set-once mode activated (WAVE bit is set). . . . .
2483
Figure 741. LPTIM output waveform, Continuous counting mode configuration . . . . .2483
Figure 742. Waveform generation . . . . .2485
Figure 743. Encoder mode counting sequence . . . . .2489
Figure 744. Continuous counting mode when repetition register LPTIM_RCR
different from zero (with PRELOAD = 1). . . . .
2490
Figure 745. Capture/compare input stage (channel 1) . . . . .2491
Figure 746. Capture/compare output stage (channel 1) . . . . .2491
Figure 747. Edge-aligned PWM mode (PRELOAD = 1) . . . . .2493
Figure 748. Edge-aligned PWM waveforms (ARR=8 and CCxP = 0) . . . . .2494
Figure 749. PWM mode with immediate update versus preloaded update . . . . .2495
Figure 750. GFXTIM block diagram . . . . .2526
Figure 751. Clock generator . . . . .2528
Figure 752. Waveforms in standalone . . . . .2530
Figure 753. Active counters and signals in standalone . . . . .2530
Figure 754. Waveforms with external HSYNC and VSYNC . . . . .2530
Figure 755. Waveforms with external HSYNC only . . . . .2531
Figure 756. Active counters and signals with external HSYNC only . . . . .2531
Figure 757. Waveforms with external VSYNC only . . . . .2531
Figure 758. Active counters with external VSYNC only . . . . .2532
Figure 759. Prescaling when external VSYNC only . . . . .2532
Figure 760. Waveforms with external CSYNC only . . . . .2532
Figure 761. Active counters and signals with external CSYNC only . . . . .2533
Figure 762. Prescaling when external CSYNC only . . . . .2533
Figure 763. Tearing-effect configurations . . . . .2535
Figure 764. Watchdog timer . . . . .2536
Figure 765. IRTIM internal hardware connections with TIM16 and TIM17 . . . . .2561
Figure 766. Independent watchdog block diagram . . . . .2563
Figure 767. Reset timing due to timeout . . . . .2565
Figure 768. Reset timing due to refresh in the not allowed area . . . . .2566
Figure 769. Changing PR, RL, and performing a refresh (1) . . . . .2567
Figure 770. Independent watchdog interrupt timing diagram . . . . .2569
Figure 771. Watchdog block diagram . . . . .2577
Figure 772. Window watchdog timing diagram . . . . .2579
Figure 773. RTC block diagram . . . . .2585
Figure 774. TAMP block diagram . . . . .2641
Figure 775. Backup registers protection zones . . . . .2646
Figure 776. Tamper sampling with precharge pulse . . . . .2651
Figure 777. Low level detection with precharge and filtering . . . . .2651
Figure 778. Active tamper filtering . . . . .2653
Figure 779. Block diagram . . . . .2690
Figure 780. I 2 C-bus protocol . . . . .2693
Figure 781. Setup and hold timings . . . . .2695
Figure 782. I2C initialization flow . . . . .2697
Figure 783. Data reception . . . . .2698
Figure 784. Data transmission . . . . .2699
Figure 785. Target initialization flow . . . . .2702
Figure 786. Transfer sequence flow for I2C target transmitter, NOSTRETCH = 0 . . . . .2704
Figure 787. Transfer sequence flow for I2C target transmitter, NOSTRETCH = 1 . . . . .2705
Figure 788. Transfer bus diagrams for I2C target transmitter (mandatory events only) . . . . .2706
Figure 789. Transfer sequence flow for I2C target receiver, NOSTRETCH = 0 . . . . .2707
Figure 790. Transfer sequence flow for I2C target receiver, NOSTRETCH = 1 . . . . .2708
Figure 791. Transfer bus diagrams for I2C target receiver
(mandatory events only) . . . . .
2708
Figure 792. Controller clock generation . . . . .2710
Figure 793. Controller initialization flow . . . . .2712
Figure 794. 10-bit address read access with HEAD10R = 0 . . . . .2712
Figure 795. 10-bit address read access with HEAD10R = 1 . . . . .2713
Figure 796.Transfer sequence flow for I2C controller transmitter, \( N \leq 255 \) bytes.2714
Figure 797.Transfer sequence flow for I2C controller transmitter, \( N > 255 \) bytes.2715
Figure 798.Transfer bus diagrams for I2C controller transmitter
(mandatory events only)
2716
Figure 799.Transfer sequence flow for I2C controller receiver, \( N \leq 255 \) bytes2718
Figure 800.Transfer sequence flow for I2C controller receiver, \( N > 255 \) bytes.2719
Figure 801.Transfer bus diagrams for I2C controller receiver
(mandatory events only)
2720
Figure 802.Timeout intervals for \( t_{LOW:SEXT} \) , \( t_{LOW:MEXT} \)2724
Figure 803.Transfer sequence flow for SMBus target transmitter N bytes + PEC2727
Figure 804.Transfer bus diagram for SMBus target transmitter (SBC = 1).2728
Figure 805.Transfer sequence flow for SMBus target receiver N bytes + PEC2729
Figure 806.Bus transfer diagrams for SMBus target receiver (SBC = 1)2730
Figure 807.Bus transfer diagrams for SMBus controller transmitter2731
Figure 808.Bus transfer diagrams for SMBus controller receiver2733
Figure 809.USART block diagram2759
Figure 810.Word length programming2763
Figure 811.Configurable stop bits2765
Figure 812.TC/TXE behavior when transmitting2767
Figure 813.Start bit detection when oversampling by 16 or 8.2768
Figure 814.usart_ker_ck clock divider block diagram2771
Figure 815.Data sampling when oversampling by 162772
Figure 816.Data sampling when oversampling by 82773
Figure 817.Mute mode using Idle line detection2780
Figure 818.Mute mode using address mark detection2781
Figure 819.Break detection in LIN mode (11-bit break length - LBDL bit is set)2784
Figure 820.Break detection in LIN mode vs. Framing error detection.2785
Figure 821.USART example of synchronous master transmission.2786
Figure 822.USART data clock timing diagram in synchronous master mode
(M bits = 00)
2786
Figure 823.USART data clock timing diagram in synchronous master mode
(M bits = 01)
2787
Figure 824.USART data clock timing diagram in synchronous slave mode
(M bits = 00)
2788
Figure 825.ISO 7816-3 asynchronous protocol2790
Figure 826.Parity error detection using the 1.5 stop bits2792
Figure 827.IrDA SIR ENDEC block diagram.2796
Figure 828.IrDA data modulation (3/16) - normal mode2796
Figure 829.Transmission using DMA2798
Figure 830.Reception using DMA2799
Figure 831.Hardware flow control between two USARTs.2799
Figure 832.RS232 RTS flow control2800
Figure 833.RS232 CTS flow control2801
Figure 834.LPUART block diagram2848
Figure 835.LPUART word length programming2852
Figure 836.Configurable stop bits2854
Figure 837.TC/TXE behavior when transmitting2856
Figure 838.lpuart_ker_ck clock divider block diagram2860
Figure 839.Mute mode using Idle line detection2864
Figure 840.Mute mode using address mark detection2865
Figure 841.Transmission using DMA2867
Figure 842.Reception using DMA2868
Figure 843. Hardware flow control between two LPUARTs . . . . .2869
Figure 844. RS232 RTS flow control . . . . .2869
Figure 845. RS232 CTS flow control . . . . .2870
Figure 846. SPI block diagram . . . . .2904
Figure 847. Full-duplex single master/ single slave application . . . . .2908
Figure 848. Half-duplex single master/ single slave application . . . . .2909
Figure 849. Simplex single master / single slave application
(master in transmit-only / slave in receive-only mode) . . . . .
2910
Figure 850. Master and three independent slaves connected in star topology . . . . .2911
Figure 851. Multimaster application . . . . .2912
Figure 852. Scheme of NSS control logic . . . . .2914
Figure 853. Data flow timing control (SSOE = 1, SSOM = 0, SSM = 0) . . . . .2914
Figure 854. NSS interleaving pulses between data (SSOE = 1, SSOM = 1, SSM = 0) . . . . .2915
Figure 855. Data clock timing diagram . . . . .2917
Figure 856. Data alignment when data size is not equal to 8, 16 or 32 bits . . . . .2918
Figure 857. TI mode transfer . . . . .2928
Figure 858. Optional configurations of the slave behavior when an underrun condition is detected . . . . .2930
Figure 859. SAI functional block diagram . . . . .2954
Figure 860. Audio frame . . . . .2958
Figure 861. FS role is start of frame + channel side identification (FSDEF = TRIS = 1) . . . . .2960
Figure 862. FS role is start of frame (FSDEF = 0) . . . . .2961
Figure 863. Slot size configuration with FBOFF = 0 in SAI_xSLOTR . . . . .2962
Figure 864. First bit offset . . . . .2962
Figure 865. Audio block clock generator overview . . . . .2964
Figure 866. PDM typical connection and timing . . . . .2968
Figure 867. Detailed PDM interface block diagram . . . . .2969
Figure 868. Start-up sequence . . . . .2970
Figure 869. SAI_ADR format in TDM mode, 32-bit slot width . . . . .2971
Figure 870. SAI_ADR format in TDM mode, 16-bit slot width . . . . .2972
Figure 871. SAI_ADR format in TDM mode, 8-bit slot width . . . . .2973
Figure 872. AC'97 audio frame . . . . .2976
Figure 873. Example of typical AC'97 configuration on devices featuring at least
two embedded SAIs (three external AC'97 decoders) . . . . .
2977
Figure 874. SPDIF format . . . . .2978
Figure 875. SAI_xDR register ordering . . . . .2979
Figure 876. Data companding hardware in an audio block in the SAI . . . . .2982
Figure 877. Tristate strategy on SD output line on an inactive slot . . . . .2984
Figure 878. Tristate on output data line in a protocol like I2S . . . . .2985
Figure 879. Overrun detection error . . . . .2986
Figure 880. FIFO underrun event . . . . .2986
Figure 881. CAN subsystem . . . . .3021
Figure 882. FDCAN block diagram . . . . .3023
Figure 883. Bit timing . . . . .3025
Figure 884. Transceiver delay measurement . . . . .3030
Figure 885. Pin control in bus monitoring mode . . . . .3031
Figure 886. Pin control in loop-back mode . . . . .3034
Figure 887. CAN error state diagram . . . . .3035
Figure 888. Message RAM configuration . . . . .3036
Figure 889. Standard message ID filter path . . . . .3039
Figure 890. Extended message ID filter path . . . . .3040
Figure 891. USB peripheral block diagram . . . . .3087
Figure 892. Packet buffer areas with examples of buffer description table locations . . . . .3094
Figure 893. OTG_FS full-speed block diagram . . . . .3138
Figure 894. OTG_FS A-B device connection. . . . .3140
Figure 895. OTG_FS peripheral-only connection . . . . .3142
Figure 896. OTG_FS host-only connection . . . . .3146
Figure 897. SOF connectivity (SOF trigger output to TIM and ITRx connection). . . . .3150
Figure 898. Updating OTG_HFIR dynamically (RLDCTRL = 1) . . . . .3152
Figure 899. Device-mode FIFO address mapping and AHB FIFO access mapping . . . . .3153
Figure 900. Host-mode FIFO address mapping and AHB FIFO access mapping. . . . .3154
Figure 901. Interrupt hierarchy. . . . .3158
Figure 902. Transmit FIFO write task . . . . .3241
Figure 903. Receive FIFO read task . . . . .3242
Figure 904. Normal bulk/control OUT/SETUP . . . . .3243
Figure 905. Bulk/control IN transactions . . . . .3247
Figure 906. Normal interrupt OUT . . . . .3250
Figure 907. Normal interrupt IN . . . . .3255
Figure 908. Isochronous OUT transactions . . . . .3257
Figure 909. Isochronous IN transactions . . . . .3260
Figure 910. Receive FIFO packet read . . . . .3264
Figure 911. Processing a SETUP packet . . . . .3266
Figure 912. Bulk OUT transaction . . . . .3273
Figure 913. TRDT max timing case . . . . .3283
Figure 914. A-device SRP . . . . .3284
Figure 915. B-device SRP . . . . .3285
Figure 916. A-device HNP . . . . .3286
Figure 917. B-device HNP . . . . .3288
Figure 918. OTG_HS high-speed block diagram. . . . .3293
Figure 919. OTG_HS A-B device connection . . . . .3295
Figure 920. OTG_HS peripheral-only connection . . . . .3297
Figure 921. OTG_HS host-only connection . . . . .3301
Figure 922. SOF connectivity (SOF trigger output to TIM and ITR1 connection) . . . . .3305
Figure 923. Updating OTG_HFIR dynamically (RLDCTRL = 1) . . . . .3307
Figure 924. Device-mode FIFO address mapping and AHB FIFO access mapping . . . . .3308
Figure 925. Host-mode FIFO address mapping and AHB FIFO access mapping. . . . .3309
Figure 926. Interrupt hierarchy. . . . .3313
Figure 927. Transmit FIFO write task . . . . .3406
Figure 928. Receive FIFO read task . . . . .3407
Figure 929. Normal bulk/control OUT/SETUP . . . . .3408
Figure 930. Bulk/control IN transactions . . . . .3412
Figure 931. Normal interrupt OUT . . . . .3415
Figure 932. Normal interrupt IN . . . . .3420
Figure 933. Isochronous OUT transactions . . . . .3422
Figure 934. Isochronous IN transactions . . . . .3425
Figure 935. Normal bulk/control OUT/SETUP transactions - DMA . . . . .3427
Figure 936. Normal bulk/control IN transaction - DMA. . . . .3429
Figure 937. Normal interrupt OUT transactions - DMA mode . . . . .3430
Figure 938. Normal interrupt IN transactions - DMA mode . . . . .3431
Figure 939. Normal isochronous OUT transaction - DMA mode . . . . .3432
Figure 940. Normal isochronous IN transactions - DMA mode . . . . .3433
Figure 941. Receive FIFO packet read . . . . .3439
Figure 942. Processing a SETUP packet . . . . .3441
Figure 943. Bulk OUT transaction . . . . .3448
Figure 944. TRDT max timing case . . . . .3457
Figure 945. UCPD block diagram . . . . .3461
Figure 946. Clock division and timing elements. . . . .3463
Figure 947. K-code transmission . . . . .3465
Figure 948. Transmit order for various sizes of data . . . . .3466
Figure 949. Packet format . . . . .3467
Figure 950. Line format of Hard Reset. . . . .3467
Figure 951. Line format of Cable Reset. . . . .3468
Figure 952. BIST test data frame. . . . .3469
Figure 953. BIST Carrier Mode 2 frame. . . . .3469
Figure 954. UCPD BMC transmitter architecture. . . . .3470
Figure 955. UCPD BMC receiver architecture . . . . .3471
Figure 956. Block diagram of debug support infrastructure. . . . .3499
Figure 957. JTAG TAP state machine . . . . .3503
Figure 958. CoreSight topology . . . . .3521
Figure 959. Trace port interface unit (TPIU) . . . . .3590
Figure 960. Embedded cross trigger . . . . .3601

Chapters