Serie STM32L5 altamente sicura con basso consumo energetico
“
Specifiche:
- Nome prodotto: Manuale di riferimento RM0438
- Revisione: Rev 8
- Pagine: da 1 a 2187
- Data di rilascio: giugno 2025
- Produttore: www.st.com
Informazioni sul prodotto:
Il manuale di riferimento RM0438 fornisce informazioni dettagliate su
architettura di memoria e bus, architettura di sicurezza TrustZone,
organizzazione della memoria, SRAM incorporata, memoria flash suview, stivale
configurazione e sicurezza del sistema.
Istruzioni per l'uso del prodotto:
Architettura della memoria e del bus:
L'architettura del sistema include Fast C-bus, Slow C-bus, S-bus,
Bus DMA, bus DMA del controller SDMMC e BusMatrix.
Architettura di sicurezza TrustZone:
Spiega lo stato di sicurezza predefinito di TrustZone e TrustZone
classificazione periferica.
Organizzazione della memoria:
Descrive la mappa della memoria, gli indirizzi dei limiti dei registri e
organizzazione della SRAM incorporata.
SRAM incorporata:
Dettagli Controllo di parità SRAM2, protezione da scrittura, protezione da lettura,
operazioni di cancellazione.
Memoria Flash Overview:
Fornisce un overview della memoria flash utilizzata nel sistema.
Configurazione di avvio:
Copre le impostazioni di configurazione di avvio del sistema.
Sicurezza del sistema:
Introduzione alle misure di sicurezza del sistema.
Domande frequenti (FAQ):
D: Dove posso trovare informazioni sul ripristino del registro?
valori?
A: I valori di reset del registro sono dettagliati nella sezione 1.3 del
manuale.
D: Cos'è l'architettura di sicurezza TrustZone?
A: L'architettura di sicurezza di TrustZone è spiegata nella sezione 2.2
del manuale.
D: Come si configurano le impostazioni di avvio?
A: Le istruzioni per la configurazione di avvio si trovano nella sezione 3
del manuale.
“`
RM0438 Manuale di riferimento
MCU a 32 bit basati su Arm® avanzati della serie STM5L32
Introduzione
Questo manuale di riferimento è rivolto agli sviluppatori di applicazioni. Fornisce informazioni complete sull'utilizzo della memoria e delle periferiche dei microcontrollori STM32L552xx e STM32L562xx. STM32L552xx e STM32L562xx appartengono alla linea di microcontrollori STM32L5x2 con diverse dimensioni di memoria, package e periferiche. Per informazioni sugli ordini e sulle caratteristiche meccaniche ed elettriche dei dispositivi, fare riferimento alle relative schede tecniche. Per informazioni sul core Arm® Cortex®-M33, fare riferimento al manuale tecnico di riferimento Cortex®-M33. I microprocessori STM32L552xx e STM32L562xx includono la tecnologia brevettata ST all'avanguardia.
Documenti correlati
· Manuale di riferimento tecnico Cortex®-M33 disponibile su http://infocenter.arm.com · Schede tecniche STM32L552xx e STM32L562xx · Schede di errata corrige STM32L552xx e STM32L562xx
Giugno 2025
RM0438 Rev 8
1/2187
www.st.com
1
Contenuto
Contenuto
Prezzo RM0438
1
Convenzioni di documentazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
1.1 Informazioni generali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
1.2 Elenco delle abbreviazioni per i registri . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
1.3 Valore di reset del registro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
1.4 Glossario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
1.5 Disponibilità delle periferiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
2
Architettura della memoria e del bus . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
2.1 Architettura del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
2.1.1 C-bus veloce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.1.2 C-bus lento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.1.3 S-bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.1.4 Bus DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
2.1.5 Bus DMA del controller SDMMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
2.1.6 BusMatrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
2.2 Architettura di sicurezza TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . 81
2.2.1 Stato di sicurezza predefinito di TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . 82
2.2.2 Classificazione periferica TrustZone . . . . . . . . . . . . . . . . . . . . . . . 83
2.3 Organizzazione della memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
2.3.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
2.3.2 Mappa di memoria e indirizzi di confine dei registri . . . . . . . . . . . . . . . 87
2.4 SRAM incorporata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
2.4.1 Controllo di parità SRAM2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
2.4.2 Protezione da scrittura SRAM2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
2.4.3 Protezione da lettura SRAM2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
2.4.4 Cancellazione SRAM2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
2.5 Memoria flash oltreview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
3
Configurazione di avvio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4
Sicurezza del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.2 Funzionalità di sicurezza chiave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
2/2187
RM0438 Rev 8
Prezzo RM0438
Contenuto
4.3 4.4 4.5 4.6
4.7 4.8
4.9 4.10 4.11 4.12 4.13
Installazione sicura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Avvio sicuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.4.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 4.4.2 Voce di avvio univoca e BOOT_LOCK . . . . . . . . . . . . . . . . . . . . . . . 102 4.4.3 Radice di attendibilità immutabile nella memoria flash di sistema . . . . . . . . . . . . . . 102
Aggiornamento sicuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Isolamento delle risorse tramite TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
4.6.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 4.6.2 Architettura di sicurezza TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 4.6.3 Estensione di sicurezza Armv8-M di Cortex-M33 . . . . . . . . . . . . . . . . . . . . . 104 4.6.4 Allocazione di memoria e periferiche mediante IDAU/SAU . . . . . . . . . . . 104 4.6.5 Allocazione di memoria e periferiche mediante GTZC . . . . . . . . . . . . . . . 106 4.6.6 Gestione della sicurezza nelle periferiche compatibili con TrustZone . . . . . . . . . . . . . 109 4.6.7 Attivazione della sicurezza TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 4.6.8 Disattivazione della sicurezza TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . 116
Altri isolamenti delle risorse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117
4.7.1 Isolamento temporale mediante protezione nascosta sicura (HDP) . . . . . . . . . . 117
Esecuzione sicura . ...
4.8.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 4.8.2 Unità di protezione della memoria (MPU) . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 4.8.3 Protezione da scrittura della memoria flash incorporata . . . . . . . . . . . . . . . . . . . . . . . 118 4.8.4 Tamprilevamento e risposta er . . . . . . . . . . . . . . . . . . . . . . . . . 118
Archiviazione sicura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
4.9.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 4.9.2 ID univoco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Motori crittografici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
4.10.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 4.10.2 Caratteristiche dei motori crittografici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 4.10.3 Motore di decrittazione al volo (OTFDEC) . . . . . . . . . . . . . . . . . . . . . 122
Ciclo di vita del prodotto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
4.11.1 Gestione del ciclo di vita con protezione dalla lettura (RDP) . . . . . . . . . . 124 4.11.2 Impostazioni consigliate per i byte delle opzioni . . . . . . . . . . . . . . . . . . . . . . . 125
Debug con accesso controllato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
4.12.1 Protezione di debug con protezione di lettura (RDP) . . . . . . . . . . . . . . . 125
Tutela della proprietà intellettuale del software e sviluppo collaborativo 126
RM0438 Rev 8
3/2187
54
Contenuto
Prezzo RM0438
4.13.1
4.13.2 4.13.3
Protezione della proprietà intellettuale del software con protezione della lettura (RDP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Tutela della proprietà intellettuale del software con OTFDEC . . . . . . . . . 127
Altre tutele della proprietà intellettuale del software . . . . . . . . . . . . . . . 129
5
Controller Global TrustZone® (GTZC) . . . . . . . . . . . . . . . . . . . . . 130
5.1 Introduzione al GTZC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
5.2 Caratteristiche principali del GTZC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
5.2.1 Architettura del sistema GTZC TrustZone . . . . . . . . . . . . . . . . . . . . . 130
5.3 Descrizione funzionale GTZC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
5.3.1 Schema a blocchi GTZC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
5.3.2 Definizione di accesso illegale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
5.3.3 Controller di sicurezza TrustZone (TZSC) . . . . . . . . . . . . . . . . . . . . . 134
5.3.4 Controller di protezione della memoria basato su blocchi (MPCBB) . . . . . . . . . . . 134
5.3.5 Controller di accesso illegale TrustZone (TZIC) . . . . . . . . . . . . . . . . . . 135
5.3.6 Stato di accensione/ripristino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
5.3.7 Richieste DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
5.4 Eventi GTZC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
5.5 Registri GTZC_TZSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
5.5.1 Registro di controllo GTZC_TZSC (GTZC_TZSC_CR) . . . . . . . . . . . . . 136
5.5.2
Registro di configurazione sicura GTZC_TZSC 1 (GTZC_TZSC_SECCFGR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
5.5.3
Registro di configurazione sicura GTZC_TZSC 2 (GTZC_TZSC_SECCFGR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
5.5.4
Registro di configurazione dei privilegi GTZC_TZSC 1 (GTZC_TZSC_PRIVCFGR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
5.5.5
Registro di configurazione dei privilegi GTZC_TZSC 2 (GTZC_TZSC_PRIVCFGR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
5.5.6
GTZC_TZSC registro di filigrana non sicura x memoria esterna 1 (GTZC_TZSC_MPCWMxANSR) . . . . . . . . . . . . . . . . . . . . . . . . . 147
5.5.7
GTZC_TZSC registro di filigrana non sicuro x memoria esterna 2 (GTZC_TZSC_MPCWMxBNSR) . . . . . . . . . . . . . . . . . . . . . . . . . 147
5.5.8 Mappa dei registri GTZC_TZSC e valori di reset . . . . . . . . . . . . . . . . . 148
5.6 Registri GTZC_MPCBB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
5.6.1 Registro di controllo GTZC_MPCBBx (GTZC_MPCBBx_CR) (x = da 1 a 2) . 150
5.6.2 Registro di blocco GTZC_MPCBB1 1 (GTZC_MPCBB1_LCKVTR1) . . . . . 151
5.6.3
Registro di blocco GTZC_MPCBB2 1 (GTZC_MPCBB2_LCKVTR1) . . . . . . . . . . . . . . . . . . . . . . . . . . 151
4/2187
RM0438 Rev 8
Prezzo RM0438
Contenuto
5.6.4
Registro vettoriale GTZC_MPCBBx y (GTZC_MPCBBx_VCTRy) (x = da 1 a 2) . . . . . . . . . . . . . . . . . . . . 152
5.6.5 Mappa dei registri GTZC_MPCBB1 e valori di reset . . . . . . . . . . . . . . 153
5.6.6 Mappa dei registri GTZC_MPCBB2 e valori di reset . . . . . . . . . . . . . . 153
5.7 Registri GTZC_TZIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
5.7.1 Registro di abilitazione dell'interruzione GTZC_TZIC 1 (GTZC_TZIC_IER1) . . . . . . 154
5.7.2 Registro di abilitazione dell'interruzione GTZC_TZIC 2 (GTZC_TZIC_IER2) . . . . . . 157
5.7.3 Registro di abilitazione dell'interruzione GTZC_TZIC 3 (GTZC_TZIC_IER3) . . . . . . 159
5.7.4 Registro di stato GTZC_TZIC 1 (GTZC_TZIC_SR1) . . . . . . . . . . . . 160
5.7.5 Registro di stato GTZC_TZIC 2 (GTZC_TZIC_SR2) . . . . . . . . . . . . 163
5.7.6 Registro di stato GTZC_TZIC 3 (GTZC_TZIC_SR3) . . . . . . . . . . . . 165
5.7.7 Registro di cancellazione del flag GTZC_TZIC 1 (GTZC_TZIC_FCR1) . . . . . . . . . . 166
5.7.8 Registro di cancellazione del flag GTZC_TZIC 2 (GTZC_TZIC_FCR2) . . . . . . . . . . 169
5.7.9 Registro di cancellazione del flag GTZC_TZIC 3 (GTZC_TZIC_FCR3) . . . . . . . . . . 171
5.7.10 Mappa dei registri GTZC_TZIC e valori di reset . . . . . . . . . . . . . . . . . 172
6
Memoria flash incorporata (FLASH) . . . . . . . . . . . . . . . . . . . . . . 174
6.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
6.2 Caratteristiche principali di FLASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
6.3 Descrizione funzionale della memoria flash . . . . . . . . . . . . . . . . . . . . . . . 175
6.3.1 Organizzazione della memoria flash . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
6.3.2 Correzione del codice di errore (ECC) . . . . . . . . . . . . . . . . . . . . . . . . . . 178
6.3.3 Latenza di accesso in lettura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
6.3.4 Basso volumetage leggiamo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
6.3.5 Operazioni di programmazione e cancellazione Flash . . . . . . . . . . . . . . . . . . . . . . 180
6.3.6 Sequenze di cancellazione della memoria principale flash . . . . . . . . . . . . . . . . . . . . . 182
6.3.7 Sequenze di programmazione della memoria principale flash . . . . . . . . . . . . . . . . 185
6.3.8 Flag di errori Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
6.3.9
Lettura durante la scrittura (RWW) disponibile solo in modalità dual-bank (DBANK = 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
6.4 Byte delle opzioni di memoria flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
6.4.1 Descrizione dei byte delle opzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
6.4.2 Programmazione dei byte opzionali . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
6.5 Protezione dei privilegi e della sicurezza di Flash TrustZone . . . . . . . . . . . . . 193
6.5.1 Protezione di sicurezza TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . 193
6.5.2 Protezione sicura dell'area basata sulla filigrana . . . . . . . . . . . . . . . . . . 195
6.5.3 Protezione sicura della pelle (HDP) . . . . . . . . . . . . . . . . . . . . . . . . . . 195
RM0438 Rev 8
5/2187
54
Contenuto
Prezzo RM0438
6.5.4 Protezione Secure Block-Based Area (SECBB) . . . . . . . . . . . . . . . 196 6.5.5 Forzare l'avvio da un indirizzo di memoria sicuro . . . . . . . . . . . . . . . . . 197 6.5.6 Stato dell'attributo di sicurezza Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 6.5.7 Flash registra le modalità privilegiate e non privilegiate . . . . . . . . . . . 198
6.6 Memoria di sistema sicura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
6.6.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 6.6.2 RSS alloca risorse al bootloader . . . . . . . . . . . . . . . . . . . . . . . . 198 6.6.3 Funzioni RSSLIB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
6.7 Protezione della memoria FLASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
6.7.1 Protezione da scrittura (WRP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 6.7.2 Protezione da lettura (RDP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
6.8 Interruzioni FLASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 6.9 Registri FLASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
6.9.1 Registro di controllo dell'accesso flash (FLASH_ACR) . . . . . . . . . . . . . . . . 213 6.9.2 Registro delle chiavi di spegnimento flash (FLASH_PDKEYR) . . . . . . . . . . . . 214 6.9.3 Registro delle chiavi non sicure flash (FLASH_NSKEYR) . . . . . . . . . . . . . 215 6.9.4 Registro delle chiavi sicure flash (FLASH_SECKEYR) . . . . . . . . . . . . . . . 215 6.9.5 Registro chiave opzione flash (FLASH_OPTKEYR) . . . . . . . . . . . . . . . 216 6.9.6 Flash basso volumetage registro chiave (FLASH_LVEKEYR) . . . . . . . . . . . . . 216 6.9.7 Registro di stato flash (FLASH_NSSR) . . . . . . . . . . . . . . . . . . . . . . . 217 6.9.8 Registro di stato flash (FLASH_SECSR) . . . . . . . . . . . . . . . . . . . . . . . 218 6.9.9 Registro di controllo non sicuro flash (FLASH_NSCR) . . . . . . . . . . . . . 220 6.9.10 Registro di controllo sicuro Flash (FLASH_SECCR) . . . . . . . . . . . . . . . 222 6.9.11 Registro ECC Flash (FLASH_ECCR) . . . . . . . . . . . . . . . . . . . . . . . 223 6.9.12 Registro delle opzioni Flash (FLASH_OPTR) . . . . . . . . . . . . . . . . . . . . . . . . . . 225 6.9.13 Registro indirizzo di avvio non sicuro Flash 0 (FLASH_NSBOOTADD0R) 227 6.9.14 Registro indirizzo di avvio non sicuro Flash 1 (FLASH_NSBOOTADD1R) 228 6.9.15 Registro indirizzo di avvio sicuro Flash 0 (FLASH_SECBOOTADD0R) . . 228 6.9.16 Registro watermak1 sicuro banco Flash 1 (FLASH_SECWM1R1) . . . 229 6.9.17 Registro watermak1 sicuro Flash 2 (FLASH_SECWM1R2) . . . . . . 230 6.9.18 Registro indirizzo area A Flash WPR1 (FLASH_WRP1AR) . . . . . . . 231 6.9.19 Registro indirizzi area B Flash WPR1 (FLASH_WRP1BR) . . . . . . . 232 6.9.20 Registro Flash secure watermak2 (FLASH_SECWM2R1) . . . . . . . . 233 6.9.21 Registro Flash secure watermak2 2 (FLASH_SECWM2R2) . . . . . . 234 6.9.22 Registro indirizzi area A Flash WPR2 (FLASH_WRP2AR) . . . . . . . 235 6.9.23 Registro indirizzi area B Flash WPR2 (FLASH_WRP2BR) . . . . . . . 236
6/2187
RM0438 Rev 8
Prezzo RM0438
Contenuto
6.9.24
6.9.25
6.9.26 6.9.27 6.9.28
Registro della banca 1 basato su blocco sicuro FLASH (FLASH_SECBB1Rx) (dove x=1..4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Registro della banca 2 basato su blocco sicuro FLASH (FLASH_SECBB2Rx) (dove x=1..4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Registro di controllo HDP sicuro FLASH (FLASH_SECHDPCR) . . . . . . 238
Registro di configurazione dei privilegi FLASH (FLASH_PRIVCFGR) . . . . . . 238
Mappa del registro FLASH e valori di reset . . . . . . . . . . . . . . . . . . . . . 239
7
Cache delle istruzioni (ICACHE) . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
7.1 Introduzione a ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
7.2 Caratteristiche principali di ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
7.3 Implementazione ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
7.4 Descrizione funzionale di ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
7.4.1 Diagramma a blocchi ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
7.4.2 Ripristino e orologi ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
7.4.3 ICACHE TAG memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
7.4.4 ICACHE a mappatura diretta (cache unidirezionale) . . . . . . . . . . . . . . . . . . . . 1
7.4.5 Abilitazione ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
7.4.6 Traffico memorizzabile nella cache e non memorizzabile nella cache . . . . . . . . . . . . . . . . . . . . . 247
7.4.7 Riassegnazione degli indirizzi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
7.4.8 Accessi memorizzabili nella cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
7.4.9 Cache a doppio master . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
7.4.10 Sicurezza ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
7.4.11 Manutenzione ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
7.4.12 Monitoraggio delle prestazioni ICACHE . . . . . . . . . . . . . . . . . . . . . . . 252
7.4.13 Avvio ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
7.5 Modalità a basso consumo energetico ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
7.6 Gestione degli errori e delle interruzioni ICACHE . . . . . . . . . . . . . . . . . . 253
7.7 Registri ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
7.7.1 Registro di controllo ICACHE (ICACHE_CR) . . . . . . . . . . . . . . . . . . . 253
7.7.2 Registro di stato ICACHE (ICACHE_SR) . . . . . . . . . . . . . . . . . . . . 254
7.7.3 Registro di abilitazione dell'interruzione ICACHE (ICACHE_IER) . . . . . . . . . . . . . 255
7.7.4 Registro di cancellazione del flag ICACHE (ICACHE_FCR) . . . . . . . . . . . . . . . . 255
7.7.5 Registro di monitoraggio degli hit ICACHE (ICACHE_HMONR) . . . . . . . . . . . . . 256
7.7.6 Registro di monitoraggio degli errori ICACHE (ICACHE_MMONR) . . . . . . . . . . . 256
7.7.7 Registro di configurazione della regione x ICACHE (ICACHE_CRRx) . . . . . . . 256
7.7.8 Mappa dei registri ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
RM0438 Rev 8
7/2187
54
Contenuto
Prezzo RM0438
8
Controllo di potenza (PWR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
8.1 Alimentatori e domini di alimentazione . . . . . . . . . . . . . . . . . . . . . . 259
8.1.1 Alimentazione di periferiche analogiche indipendenti . . . . . . . . . . . . . . . . . . . . 264
8.1.2 Alimentazione I/O indipendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
8.1.3 Alimentazione indipendente dei transceiver USB . . . . . . . . . . . . . . . . . . . . 264
8.1.4 Dominio di backup della batteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
8.2 Volume di alimentazione del sistematage regolamento . . . . . . . . . . . . . . . . . . . . . . . . . 266
8.2.1 volumitage regolatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
8.2.2 Convertitore step-down SMPS incorporato . . . . . . . . . . . . . . . . . . . . . 267
8.2.3 Schema di alimentazione del convertitore step-down SMPS . . . . . . . . . . . . . 268
8.2.4 Convertitore step-down SMPS rispetto alla modalità a basso consumo . . . . . . . . . . . 269
8.2.5 Volume dinamicotage gestione del ridimensionamento . . . . . . . . . . . . . . . . . . . . 270
8.2.6 Dominio VDD12 e SMPS esterno . . . . . . . . . . . . . . . . . . . . . . 271
8.3 Supervisione dell'alimentazione elettrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
8.3.1
Ripristino all'accensione (POR) / ripristino allo spegnimento (PDR) / ripristino in caso di calo di tensione (BOR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
8.3.2 Volume programmabiletage rivelatore (PVD) . . . . . . . . . . . . . . . . . . . . 274
8.3.3 Volume perifericotage monitoraggio (PVM) . . . . . . . . . . . . . . . . . . . . . . . . . . 275
8.3.4 Volume superioretage monitoraggio della soglia . . . . . . . . . . . . . . . . . . . . . . . 276
8.3.5 Monitoraggio della soglia di temperatura . . . . . . . . . . . . . . . . . . . . . . . 276
8.4 Gestione dell'alimentazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
8.4.1 Modalità di alimentazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
8.4.2 Modalità di esecuzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
8.4.3 Modalità di funzionamento a basso consumo (LP run) . . . . . . . . . . . . . . . . . . . . . . . . . . 283
8.4.4 Modalità a basso consumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
8.4.5 Modalità di sospensione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
8.4.6 Modalità di sospensione a basso consumo energetico (sospensione LP) . . . . . . . . . . . . . . . . . . . . . . 286
8.4.7 Modalità Stop 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
8.4.8 Modalità Stop 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
8.4.9 Modalità Stop 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
8.4.10 Modalità standby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
8.4.11 Modalità di spegnimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
8.4.12 Riattivazione automatica da una modalità a basso consumo . . . . . . . . . . . . . . . . . . . . . . 296
8.5 Sicurezza PWR TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
8.5.1 Modalità PWR privilegiate e non privilegiate . . . . . . . . . . . . . . . . . . 298
8.6 Registri PWR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
8/2187
RM0438 Rev 8
Prezzo RM0438
Contenuto
8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.6.6 8.6.7 8.6.8 8.6.9 8.6.10 8.6.11 8.6.12 8.6.13 8.6.14 8.6.15 8.6.16 8.6.17 8.6.18 8.6.19 8.6.20 8.6.21 8.6.22 8.6.23 8.6.24 8.6.25 8.6.26
Registro di controllo della potenza 1 (PWR_CR1) . . . . . . . . . . . . . . . . . . . . . 299 Registro di controllo della potenza 2 (PWR_CR2) . . . . . . . . . . . . . . . . . . . . . 300 Registro di controllo della potenza 3 (PWR_CR3) . . . . . . . . . . . . . . . . . . . . . . 301 Registro di controllo della potenza 4 (PWR_CR4) . . . . . . . . . . . . . . . . . . . . . . . 303 Registro di stato dell'alimentazione 1 (PWR_SR1) . . . . . . . . . . . . . . . . . . . . . . 304 Registro di stato dell'alimentazione 2 (PWR_SR2) . . . . . . . . . . . . . . . . . . . . . . . 306 Registro di cancellazione dello stato dell'alimentazione (PWR_SCR) . . . . . . . . . . . . . . . . . . . . . 307 Registro di controllo pull-up della porta di alimentazione A (PWR_PUCRA) . . . . . . . . . . . 308 Registro di controllo pull-down della porta di alimentazione A (PWR_PDCRA) . . . . . . . 308 Registro di controllo pull-up della porta di alimentazione B (PWR_PUCRB) . . . . . . . . . 309 Registro di controllo pull-down della porta di alimentazione B (PWR_PDCRB) . . . . . . . 310 Registro di controllo pull-up della porta di alimentazione C (PWR_PUCRC) . . . . . . . . . 310 Registro di controllo pull-down della porta di alimentazione C (PWR_PDCRC) . . . . . . . . . 311 Registro di controllo pull-up della porta di alimentazione D (PWR_PUCRD) . . . . . . . . . 311 Registro di controllo pull-down della porta di alimentazione D (PWR_PDCRD) . . . . . . . . 312 Registro di controllo pull-up della porta di alimentazione E (PWR_PUCRE) . . . . . . . . . . 313 Registro di controllo pull-down della porta di alimentazione E (PWR_PDCRE) . . . . . . . . 313 Registro di controllo pull-up della porta di alimentazione F (PWR_PUCRF) . . . . . . . . . . 314 Registro di controllo pull-down della porta di alimentazione F (PWR_PDCRF) . . . . . . . . 314 Registro di controllo pull-up della porta di alimentazione G (PWR_PUCRG) . . . . . . . . . 315 Registro di controllo pull-down della porta di alimentazione G (PWR_PDCRG) . . . . . . . 316 Registro di controllo pull-up della porta di alimentazione H (PWR_PUCRH) . . . . . . . . . 316 Registro di controllo pull-down della porta di alimentazione H (PWR_PDCRH) . . . . . . . . 317 Registro di configurazione di sicurezza dell'alimentazione (PWR_SECCFGR) . . . . . . . . 317 Registro di configurazione dei privilegi di alimentazione (PWR_PRIVCFGR) . . . . . . . . 319 Mappa del registro PWR e valori di reset . . . . . . . . . . . . . . . . . . . . . . 320
9
Controllo di reset e clock (RCC) . . . . . . . . . . . . . . . . . . . . . . . . . . 323
9.1 Reimposta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
9.1.1 Ripristino dell'alimentazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
9.1.2 Ripristino del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
9.1.3 Ripristino del dominio di backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
9.2 Pin RCC e segnali interni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
9.3 Orologi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
9.3.1 Orologio HSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
9.3.2 Orologio HSI16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
9.3.3 Orologio MSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
RM0438 Rev 8
9/2187
54
Contenuto
Prezzo RM0438
9.3.4 Orologio HSI48 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 9.3.5 PLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 9.3.6 Orologio LSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 9.3.7 Orologio di sistema LSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 9.3.8 Orologio LSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 9.3.9 Selezione dell'orologio di sistema (SYSCLK) . . . . . . . . . . . . . . . . . . . . . . . . . 334 9.3.10 Frequenza della sorgente di clock rispetto al volumetage ridimensionamento . . . . . . . . . . . . . . . . . . 335 9.3.11 Sistema di sicurezza dell'orologio (CSS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 9.3.12 Sistema di sicurezza dell'orologio su LSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 9.3.13 Orologio ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 9.3.14 Orologio RTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 9.3.15 Orologio timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 9.3.16 Orologio watchdog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 9.3.17 Capacità di clock-out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 9.3.18 Misurazione dell'orologio interno/esterno con TIM15/TIM16/TIM17 . . . . 337 9.3.19 Registri di abilitazione dell'orologio periferico
(RCC_AHBxENR, RCC_APBxENRy) . . . . . . . . . . . . . . . . . . . . 340
9.4 Modalità a basso consumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 9.5 Sicurezza RCC TrustZone® . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 9.6 Modalità RCC privilegiata e non privilegiata . . . . . . . . . . . . . . . . . . . . . . . . 343 9.7 Interruzioni RCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 9.8 Registri RCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
9.8.1 Registro di controllo dell'orologio RCC (RCC_CR) . . . . . . . . . . . . . . . . . . . . . . 345 9.8.2 Registro di calibrazione delle sorgenti di orologio interne RCC (RCC_ICSCR) . . . . . 348 9.8.3 Registro di configurazione dell'orologio RCC (RCC_CFGR) . . . . . . . . . . . . . . . 349 9.8.4 Registro di configurazione PLL RCC (RCC_PLLCFGR) . . . . . . . . . . . . . 352 9.8.5 Registro di configurazione RCC PLLSAI1 (RCC_PLLSAI1CFGR) . . . . . . 355 9.8.6 Registro di configurazione RCC PLLSAI2 (RCC_PLLSAI2CFGR) . . . . . . 358 9.8.7 Registro di abilitazione dell'interruzione di clock RCC (RCC_CIER) . . . . . . . . . . . . . 360 9.8.8 Registro di flag di interruzione di clock RCC (RCC_CIFR) . . . . . . . . . . . . . . . 361 9.8.9 Registro di cancellazione dell'interruzione di clock RCC (RCC_CICR) . . . . . . . . . . . . . . . 363 9.8.10 Registro di reset periferico RCC AHB1 (RCC_AHB1RSTR) . . . . . . . . 364 9.8.11 Registro di reset periferico RCC AHB2 (RCC_AHB2RSTR) . . . . . . . . 365 9.8.12 Registro di reset periferico RCC AHB3 (RCC_AHB3RSTR) . . . . . . . . 367 9.8.13 Registro di reset periferico RCC APB1 1 (RCC_APB1RSTR1) . . . . . . . 368 9.8.14 Registro di reset periferico RCC APB1 2 (RCC_APB1RSTR2) . . . . . . 370 9.8.15 Registro di reset periferico RCC APB2 (RCC_APB2RSTR) . . . . . . . . 371
10/2187
RM0438 Rev 8
Prezzo RM0438
Contenuto
9.8.16 9.8.17 9.8.18 9.8.19 9.8.20 9.8.21 9.8.22
9.8.23
9.8.24
9.8.25
9.8.26
9.8.27
9.8.28
9.8.29 9.8.30 9.8.31 9.8.32
9.8.33 9.8.34 9.8.35 9.8.36 9.8.37 9.8.38 9.8.39 9.8.40 9.8.41 9.8.42
Registro di abilitazione dell'orologio periferico RCC AHB1 (RCC_AHB1ENR) . . . . 373 Registro di abilitazione dell'orologio periferico RCC AHB2 (RCC_AHB2ENR) . . . . 374 Registro di abilitazione dell'orologio periferico RCC AHB3 (RCC_AHB3ENR) . . . . 376
Registro di abilitazione dell'orologio periferico RCC APB1 1 (RCC_APB1ENR1) . . 377 Registro di abilitazione dell'orologio periferico RCC APB1 2 (RCC_APB1ENR2) . . 379
Registro di abilitazione dell'orologio periferico RCC APB2 (RCC_APB2ENR) . . . . 381 Registro di abilitazione degli orologi periferici RCC AHB1 nelle modalità Sleep e Stop (RCC_AHB1SMENR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 Registro di abilitazione degli orologi periferici RCC AHB2 nelle modalità Sleep e Stop (RCC_AHB2SMENR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Abilitazione degli orologi periferici RCC AHB3 nelle modalità Sleep e Stop registro (RCC_AHB3SMENR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 Abilitazione degli orologi periferici RCC APB1 nelle modalità Sleep e Stop registro 1 (RCC_APB1SMENR1) . . . . . . . . . . . . . . . . . . . . . . . . . 387 Abilitazione degli orologi periferici RCC APB1 nelle modalità Sleep e Stop registro 2 (RCC_APB1SMENR2) . . . . . . . . . . . . . . . . . . . . . . . . 390
Registro di abilitazione degli orologi periferici RCC APB2 nelle modalità Sleep e Stop (RCC_APB2SMENR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 Registro di configurazione dell'orologio indipendente delle periferiche RCC 1 (RCC_CCIPR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 Registro di controllo del dominio di backup RCC (RCC_BDCR) . . . . . . . . . . . . 395
Registro di controllo/stato RCC (RCC_CSR) . . . . . . . . . . . . . . . . . . 398 Registro RC di ripristino dell'orologio RCC (RCC_CRRCR) . . . . . . . . . . . . . 400 Registro di configurazione dell'orologio indipendente dalle periferiche RCC 2 (RCC_CCIPR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Registro di configurazione del ritardo OCTOSPI (RCC_DLYCFGR) . . . . . . . 402 Registro di configurazione sicura RCC (RCC_SECCFGR) . . . . . . . . . 403 Registro di stato sicuro RCC (RCC_SECSR) . . . . . . . . . . . . . . . . 405
Registro di stato di sicurezza RCC AHB1 (RCC_AHB1SECSR) . . . . . . . 407 Registro di stato di sicurezza RCC AHB2 (RCC_AHB2SECSR) . . . . . . . 408 Registro di stato di sicurezza RCC AHB3 (RCC_AHB3SECSR) . . . . . . . 410
Registro di stato di sicurezza RCC APB1 1 (RCC_APB1SECSR1) . . . . . 411 Registro di stato di sicurezza RCC APB1 2 (RCC_APB1SECSR2) . . . . . 414 Registro di stato di sicurezza RCC APB2 (RCC_APB2SECSR) . . . . . . . 415
Mappa del registro RCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
10
Sistema di recupero dell'orologio (CRS) . . . . . . . . . . . . . . . . . . . . . . . . . 424
10.1 Introduzione al CRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
10.2 Caratteristiche principali del CRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
RM0438 Rev 8
11/2187
54
Contenuto
Prezzo RM0438
10.3 10.4
10.5 10.6 10.7
Implementazione del CRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 Descrizione funzionale del CRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
10.4.1 Schema a blocchi del CRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 10.4.2 Segnali interni del CRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 10.4.3 Ingresso di sincronizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 10.4.4 Misurazione dell'errore di frequenza . . . . . . . . . . . . . . . . . . . . . . . . . 426 10.4.5 Valutazione dell'errore di frequenza e trimming automatico . . . . . . . . . . . . . 427 10.4.6 Inizializzazione e configurazione CRS . . . . . . . . . . . . . . . . . . . . . . . . 428
CRS in modalità a basso consumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 Interruzioni CRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 Registri CRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
10.7.1 Registro di controllo CRS (CRS_CR) . . . . . . . . . . . . . . . . . . . . . . . . . 429 10.7.2 Registro di configurazione CRS (CRS_CFGR) . . . . . . . . . . . . . . . . . . . . . 430 10.7.3 Registro di stato e di interruzione CRS (CRS_ISR) . . . . . . . . . . . . . . . . . 431 10.7.4 Registro di cancellazione del flag di interruzione CRS (CRS_ICR) . . . . . . . . . . . . . . . . . . 433 10.7.5 Mappa dei registri CRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
11
I/O per uso generale (GPIO) . . . . . . . . . . . . . . . . . . . . . . . . . . 435
11.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
11.2 Caratteristiche principali del GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
11.3 Descrizione funzionale del GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
11.3.1 I/O per uso generale (GPIO) . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
11.3.2 Multiplexer e mappatura delle funzioni alternative dei pin I/O . . . . . . . . . . . . . 438
11.3.3 Registri di controllo delle porte I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
11.3.4 Registri dati della porta I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
11.3.5 Gestione bit a bit dei dati I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
11.3.6 Meccanismo di blocco GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
11.3.7 Funzione alternativa I/O input/output . . . . . . . . . . . . . . . . . . . . . . . . 440
11.3.8 Linee di interruzione/riattivazione esterne . . . . . . . . . . . . . . . . . . . . . . . . . 440
11.3.9 Configurazione di input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
11.3.10 Configurazione dell'uscita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
11.3.11 Configurazione delle funzioni alternative . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
11.3.12 Configurazione analogica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
11.3.13 Utilizzo dei pin dell'oscillatore HSE o LSE come GPIO . . . . . . . . . . . . . . 443
11.3.14 Utilizzo dei pin GPIO nel dominio di alimentazione RTC . . . . . . . . . . . . . . . 443
11.3.15 Utilizzo di PH3 come GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
12/2187
RM0438 Rev 8
Prezzo RM0438
Contenuto
11.4 11.5 11.6
Sicurezza TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
Modalità privilegiata e non privilegiata . . . . . . . . . . . . . . . . . . . . . . . 445
Registri GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
11.6.1 Registro modalità porta GPIO (GPIOx_MODER) (x = da A a H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
11.6.2 Registro del tipo di output della porta GPIO (GPIOx_OTYPER) (x = da A a H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
11.6.3 Registro della velocità di uscita della porta GPIO (GPIOx_OSPEEDR) (x = da A a H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
11.6.4 Registro pull-up/pull-down della porta GPIO (GPIOx_PUPDR) (x = da A a H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
11.6.5 Registro dati di input della porta GPIO (GPIOx_IDR) (x = da A a H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
11.6.6 Registro dati di output della porta GPIO (GPIOx_ODR) (x = da A a H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
11.6.7 Registro di impostazione/reimpostazione dei bit della porta GPIO (GPIOx_BSRR) (x = da A a H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
11.6.8 Registro di blocco della configurazione della porta GPIO (GPIOx_LCKR) (x = da A a H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
11.6.9 Registro basso della funzione alternativa GPIO (GPIOx_AFRL) (x = da A a H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
11.6.10 Registro alto della funzione alternativa GPIO (GPIOx_AFRH) (x = da A a H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
11.6.11 Registro di reset dei bit della porta GPIO (GPIOx_BRR) (x = da A a H) . . . . . . . . . . 452
11.6.12 Registro di configurazione sicura GPIO (GPIOx_SECCFGR) (x = da A a H) . 452
11.6.13 Mappa dei registri GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
12
Controller di configurazione del sistema (SYSCFG) . . . . . . . . . . . . . . . . . 456
12.1 Caratteristiche principali di SYSCFG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
12.2 Sicurezza e privilegi di SYSCFG TrustZone . . . . . . . . . . . . . . . . . . . 456
12.3 Registri SYSCFG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
12.3.1 Registro di configurazione sicura SYSCFG (SYSCFG_SECCFGR) . . . . 458
12.3.2 Registro di configurazione SYSCFG 1 (SYSCFG_CFGR1) . . . . . . . . . . 459
12.3.3 Registro maschera di interruzione FPU (SYSCFG_FPUIMR) . . . . . . . . . . . . . 461
12.3.4 Registro di blocco non sicuro della CPU SYSCFG (SYSCFG_CNSLCKR) . . . . 461
12.3.5 Registro di blocco sicuro della CPU SYSCFG (SYSCFG_CSLOCKR) . . . . . . 462
12.3.6 Registro di configurazione SYSCFG 2 (SYSCFG_CFGR2) . . . . . . . . . . 463
12.3.7 Registro di controllo e stato SYSCFG SRAM2 (SYSCFG_SCSR) . . . 464
12.3.8 Registro chiave SYSCFG SRAM2 (SYSCFG_SKR) . . . . . . . . . . . . . . 465
RM0438 Rev 8
13/2187
54
Contenuto
Prezzo RM0438
12.3.9 Registro di protezione da scrittura SYSCFG SRAM2 (SYSCFG_SWPR) . . . . 465 12.3.10 Registro di protezione da scrittura SYSCFG SRAM2 2 (SYSCFG_SWPR2) . . . 466 12.3.11 Registro di comando RSS SYSCFG (SYSCFG_RSSCMDR) . . . . . . . . 466 12.3.12 Mappa dei registri SYSCFG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
13
Matrice di interconnessione delle periferiche . . . . . . . . . . . . . . . . . . . . . . . . 469
13.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
13.2 Riepilogo della connessione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
13.3 Dettagli di interconnessione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
13.3.1 Dal timer (TIM1/TIM2/TIM3/TIM4/TIM5/TIM8/TIM15/TIM16/TIM17) al timer (TIM1/TIM2/TIM3/TIM4/TIM5/TIM8/TIM15) . . . . . . . . . . . . . 470
13.3.2 Dal timer (TIM1/TIM2/TIM3/TIM4/TIM6/TIM8/TIM15) e EXTI all'ADC (ADC1/ADC2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
13.3.3 Da ADC1/ADC2 al timer (TIM1/TIM8) . . . . . . . . . . . . . . . . . . . 471
13.3.4 Dal timer (TIM2/TIM4/TIM5/TIM6/TIM7/TIM8) e EXTI al DAC (DAC1/DAC2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
13.3.5 Dal timer (TIM1/TIM3/TIM4/TIM6/TIM7/TIM8/TIM16/LPTIM1) e EXTI a DFSDM1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
13.3.6 Da DFSDM1 al timer (TIM1/TIM8/TIM15/TIM16/TIM17) . . . . . . . 473
13.3.7 Da HSE, LSE, LSI, MSI, MCO, RTC al timer (TIM2/TIM15/TIM16/TIM17) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
13.3.8 Da RTC, COMP1, COMP2 al timer a basso consumo (LPTIM1/LPTIM2/LPTIM3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
13.3.9 Dal timer (TIM1/TIM2/TIM3/TIM8/TIM15) ai comparatori (COMP1/COMP2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
13.3.10 Da ADC (ADC1) ad ADC (ADC2) . . . . . . . . . . . . . . . . . . . . . . 474
13.3.11 Da USB a timer (TIM2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
13.3.12 Dalla sorgente analogica interna all'ADC (ADC1/ADC2) e OPAMP (OPAMP1/OPAM2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
13.3.13 Dai comparatori (COMP1/COMP2) ai timer (TIM1/TIM2/TIM3/TIM8/TIM15/TIM16/TIM17) . . . . . . . . . . . . . . . 475
13.3.14 Da errori di sistema a timer (TIM1/TIM8/TIM15/TIM16/TIM17) . . . 476
13.3.15 Dai timer (TIM16/TIM17) a IRTIM . . . . . . . . . . . . . . . . . . . . . 476
13.3.16 Da ADC (ADC1/ADC2) a DFSDM . . . . . . . . . . . . . . . . . . . . . 477
14
Controller di accesso diretto alla memoria (DMA) . . . . . . . . . . . . . . . . . . . 478
14.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
14.2 Caratteristiche principali del DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
14.3 Implementazione DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
14/2187
RM0438 Rev 8
Prezzo RM0438
Contenuto
14.4
14.5 14.6
14.3.1 DMA1 e DMA2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 14.3.2 Mappatura delle richieste DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
Descrizione funzionale del DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
14.4.1 Schema a blocchi DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 14.4.2 Pin DMA e segnali interni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 14.4.3 Trasferimenti DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 14.4.4 Arbitrato DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 14.4.5 Canali DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483 14.4.6 Larghezza, allineamento ed endianness dei dati DMA . . . . . . . . . . . . . . . . . 488 14.4.7 Gestione degli errori DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
Interruzioni DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490 Registri DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
14.6.1 Registro di stato dell'interruzione DMA (DMA_ISR) . . . . . . . . . . . . . . . . . . . 490 14.6.2 Registro di cancellazione del flag di interruzione DMA (DMA_IFCR) . . . . . . . . . . . . . . . . 494 14.6.3 Registro di configurazione del canale DMA x (DMA_CCRx) . . . . . . . . . . . . 495 14.6.4 Registro del numero di dati da trasferire del canale DMA x (DMA_CNDTRx) . 500 14.6.5 Registro degli indirizzi periferici del canale DMA x (DMA_CPARx) . . . . . . . 501 14.6.6 Registro degli indirizzi di memoria 0 del canale DMA x (DMA_CM0ARx) . . . . . 501 14.6.7 Registro degli indirizzi di memoria 1 del canale DMA x (DMA_CM1ARx) . . . . . . 502 14.6.8 Mappa dei registri DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
15
Multiplexer di richiesta DMA (DMAMUX) . . . . . . . . . . . . . . . . . . . . . 506
15.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
15.2 Caratteristiche principali di DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
15.3 Implementazione DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
15.3.1 Istanziazione DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
15.3.2 Mappatura DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
15.4 Descrizione funzionale di DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .511
15.4.1 Diagramma a blocchi DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
15.4.2 Segnali DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
15.4.3 Canali DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
15.4.4 Canali DMAMUX sicuri/non sicuri . . . . . . . . . . . . . . . . . . . . 513
15.4.5 Canali DMAMUX privilegiati/non privilegiati . . . . . . . . . . . . . . . . . 513
15.4.6 Multiplexer di linea di richiesta DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . 513
15.4.7 Generatore di richieste DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . 516
15.5 Interruzioni DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
RM0438 Rev 8
15/2187
54
Contenuto
Prezzo RM0438
15.6
Registri DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
15.6.1 Registro di configurazione del canale x del multiplexer della linea di richiesta DMAMUX (DMAMUX_CxCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
15.6.2 Registro di stato del canale di interruzione del multiplexer della linea di richiesta DMAMUX (DMAMUX_CSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
15.6.3 Registro flag di cancellazione del canale di interruzione del multiplexer della linea di richiesta DMAMUX (DMAMUX_CCFR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
15.6.4 Registro di configurazione del canale x del generatore di richieste DMAMUX (DMAMUX_RGxCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
15.6.5 Registro di stato di interruzione del generatore di richieste DMAMUX (DMAMUX_RGSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
15.6.6 Registro flag di cancellazione interrupt generatore richiesta DMAMUX (DMAMUX_RGCFR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
15.6.7 Mappa dei registri DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
16
Controllore di interrupt vettoriali annidato (NVIC) . . . . . . . . . . . . . . . . 528
16.1 Caratteristiche principali dell'NVIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
16.2 Registro dei valori di calibrazione SysTick . . . . . . . . . . . . . . . . . . . . . . . . . 528
16.3 Vettori di interrupt ed eccezioni . . . . . . . . . . . . . . . . . . . . . . . . . . 529
17
Controller di interrupt ed eventi estesi (EXTI) . . . . . . . . . . . . . 533
17.1 Caratteristiche principali di EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
17.2 Schema a blocchi EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
17.2.1 Connessioni EXTI tra periferiche e CPU . . . . . . . . . . . . . . 535
17.2.2 Mappatura di interruzioni/eventi EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
17.3 Descrizione funzionale EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
17.3.1 Riattivazione dell'ingresso evento configurabile EXTI . . . . . . . . . . . . . . . . . . . . 537
17.3.2 Riattivazione ingresso evento diretto EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
17.3.3 Selezione mux EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
17.4 Comportamento funzionale EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
17.5 Protezione eventi EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
17.5.1 Protezione di sicurezza EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
17.5.2 Protezione dei privilegi EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
17.6 Registri EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
17.6.1 17.6.2 17.6.3 17.6.4
Registro di selezione trigger ascendente EXTI (EXTI_RTSR1) . . . . . . . . . . . . . . 543 Registro di selezione trigger di caduta EXTI (EXTI_FTSR1) . . . . . . . . . . . . . 544 Registro eventi interruzione software EXTI (EXTI_SWIER1) . . . . . . . . . . . 545 Registro in attesa del fronte di salita EXTI (EXTI_RPR1) . . . . . . . . . . . . . . . . 546
16/2187
RM0438 Rev 8
Prezzo RM0438
Contenuto
17.6.5 EXTI registro pendente del fronte di discesa (EXTI_FPR1) . . . . . . . . . . . . . . . . 547 17.6.6 Registro configurazione sicurezza EXTI (EXTI_SECCFGR1) . . . . . . . . . . 548 17.6.7 Registro di configurazione dei privilegi EXTI (EXTI_PRIVCFGR1) . . . . . . . . . 549 17.6.8 Registro selezione trigger salita EXTI (EXTI_RTSR2) . . . . . . . . . . . . . . 549 17.6.9 Registro di selezione trigger di caduta EXTI (EXTI_FTSR2) . . . . . . . . . . . . . 550 17.6.10 Registro eventi interruzione software EXTI (EXTI_SWIER2) . . . . . . . . . . . 551 17.6.11 Registro pendente fronte di salita EXTI (EXTI_RPR2) . . . . . . . . . . . . . . . . 551 17.6.12 EXTI fronte di discesa registro pendente (EXTI_FPR2) . . . . . . . . . . . . . . . . 552 17.6.13 Registro abilitazione sicurezza EXTI (EXTI_SECCFGR2) . . . . . . . . . . . . . . . 553 17.6.14 Registro abilitazione privilegi EXTI (EXTI_PRIVCFGR2) . . . . . . . . . . . . . . 553 17.6.15 Registro di selezione degli interrupt esterni EXTI (EXTI_EXTICRn) . . . . . . . . 554 17.6.16 Registro di blocco EXTI (EXTI_LOCKR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557 17.6.17 Riattivazione EXTI CPU con registro maschera di interruzione (EXTI_IMR1) . . . . . . . 557 17.6.18 Riattivazione EXTI CPU con registro maschera eventi (EXTI_EMR1) . . . . . . . . 558 17.6.19 Riattivazione EXTI CPU con registro maschera di interruzione (EXTI_IMR2) . . . . . . . 559 17.6.20 Riattivazione EXTI CPU con registro maschera eventi (EXTI_EMR2) . . . . . . . . 559 17.6.21 Mappa registri EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560
18
Unità di calcolo del controllo di ridondanza ciclico (CRC) . . . . . . . . . . . . . 563
18.1 Introduzione al CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
18.2 Caratteristiche principali del CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
18.3 Descrizione funzionale del CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
18.3.1 Diagramma a blocchi CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
18.3.2 Segnali interni CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
18.3.3 Funzionamento del CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
18.4 Registri CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
18.4.1 18.4.2 18.4.3 18.4.4
Registro dati CRC (CRC_DR) . . . . . . . . . . . . . . . . . . . . . . . . . . 566 Registro dati indipendente CRC (CRC_IDR) . . . . . . . . . . . . . . . . . . 566 Registro di controllo CRC (CRC_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . 567 Valore iniziale CRC (CRC_INIT) . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
18.4.5 Polinomio CRC (CRC_POL) . . . . . . . . . . . . . . . . . . . . . . . . . . 568
18.4.6 Mappa del registro CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
19
Controllore di memoria statico flessibile (FSMC) . . . . . . . . . . . . . . . . . 570
19.1 Introduzione all'FMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
19.2 Caratteristiche principali dell'FMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
RM0438 Rev 8
17/2187
54
Contenuto
Prezzo RM0438
19.3 19.4 19.5 19.6
19.7
Schema a blocchi FMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571 Interfaccia AHB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
19.4.1 Memorie e transazioni supportate . . . . . . . . . . . . . . . . . . . . 572
Mappatura degli indirizzi dei dispositivi esterni . . . . . . . . . . . . . . . . . . . . . . . . 573
19.5.1 Mappatura degli indirizzi NOR/PSRAM . . . . . . . . . . . . . . . . . . . . . . . . 573 19.5.2 Mappatura degli indirizzi della memoria flash NAND . . . . . . . . . . . . . . . . . . . . . . 574
Controller flash/PSRAM NOR . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
19.6.1 Segnali di interfaccia di memoria esterna . . . . . . . . . . . . . . . . . . . . . . . . 576 19.6.2 Memorie e transazioni supportate . . . . . . . . . . . . . . . . . . . . . . . 578 19.6.3 Regole generali di temporizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580 19.6.4 Transazioni asincrone del controller flash/PSRAM NOR . . . . . . . . . 580 19.6.5 Transazioni sincrone . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598 19.6.6 Registri del controller NOR/PSRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . 605
Controller flash NAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613
19.7.1 Segnali di interfaccia di memoria esterna . . . . . . . . . . . . . . . . . . . . . . . 613 19.7.2 Memorie e transazioni supportate da flash NAND . . . . . . . . . . . . . 614 19.7.3 Diagrammi temporali per la memoria flash NAND . . . . . . . . . . . . . . . . . . . . 615 19.7.4 Operazioni flash NAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615 19.7.5 Funzionalità di preattesa della flash NAND . . . . . . . . . . . . . . . . . . . . . . . . 616 19.7.6 Calcolo del codice di correzione degli errori (ECC)
nella memoria flash NAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617 19.7.7 Registri del controller flash NAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618 19.7.8 Mappa dei registri FMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624
20
Interfaccia Octo-SPI (OCTOSPI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
20.1 Introduzione OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
20.2 Caratteristiche principali di OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
20.3 Implementazione OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627
20.4 Descrizione funzionale OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628
20.4.1 Schema a blocchi OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628
20.4.2 Pin OCTOSPI e segnali interni . . . . . . . . . . . . . . . . . . . . . . . 629
20.4.3 Interfaccia OCTOSPI per le modalità di memoria . . . . . . . . . . . . . . . . . . . . 630
20.4.4 Protocollo di comando regolare OCTOSPI . . . . . . . . . . . . . . . . . . . . 630
20.4.5 Interfaccia del segnale del protocollo di comando regolare OCTOSPI . . . . . . . . . . . 634
20.4.6 Protocollo HyperBus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
20.4.7 Caratteristiche specifiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
18/2187
RM0438 Rev 8
Prezzo RM0438
Contenuto
20.5 20.6 20.7
20.4.8 Introduzione alla modalità operativa OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . 642 20.4.9 OCTOSPI modalità indiretta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642 20.4.10 Modalità di interrogazione automatica dello stato OCTOSPI . . . . . . . . . . . . . . . . . . . . . . 644 20.4.11 Modalità mappata in memoria OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645 20.4.12 Introduzione alla configurazione OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . 646 20.4.13 Configurazione sistema OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646 20.4.14 Configurazione dispositivo OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646 20.4.15 Configurazione modalità comando regolare OCTOSPI . . . . . . . . . . . . . . . . 649 20.4.16 Configurazione protocollo OCTOSPI HyperBus . . . . . . . . . . . . . . . . . . . . . 651 20.4.17 Gestione errori OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652 20.4.18 OCTOSPI OCCUPATO e INTERROTTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653 20.4.19 Riconfigurazione o disattivazione OCTOSPI . . . . . . . . . . . . . . . . . . . . . . 653 20.4.20 Comportamento NCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
Allineamento dell'indirizzo e numero dei dati. . . . . . . . . . . . . . . . . . . . . . . . . . . 655 Interruzioni OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656 registri OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
20.7.1 Registro di controllo OCTOSPI (OCTOSPI_CR) . . . . . . . . . . . . . . . . . . . . . 657 20.7.2 Registro di configurazione dispositivo OCTOSPI 1 (OCTOSPI_DCR1) . . . . . . 659 20.7.3 Registro di configurazione dispositivo OCTOSPI 2 (OCTOSPI_DCR2) . . . . . . 661 20.7.4 Registro 3 di configurazione del dispositivo OCTOSPI (OCTOSPI_DCR3) . . . . . . 662 20.7.5 Registro 4 di configurazione del dispositivo OCTOSPI (OCTOSPI_DCR4) . . . . . . 662 20.7.6 Registro di stato OCTOSPI (OCTOSPI_SR) . . . . . . . . . . . . . . . . . . . . . . 663 20.7.7 Registro cancellazione flag OCTOSPI (OCTOSPI_FCR) . . . . . . . . . . . . . . . . . . 664 20.7.8 Registro lunghezza dati OCTOSPI (OCTOSPI_DLR) . . . . . . . . . . . . . . . . 664 20.7.9 Registro indirizzi OCTOSPI (OCTOSPI_AR) . . . . . . . . . . . . . . . . . . . . 665 20.7.10 Registro dati OCTOSPI (OCTOSPI_DR) . . . . . . . . . . . . . . . . . . . . . . . 665 20.7.11 Registro maschera stato polling OCTOSPI (OCTOSPI_PSMKR) . . . . . . . 666 20.7.12 Registro corrispondenza stato polling OCTOSPI (OCTOSPI_PSMAR) . . . . . . . 667 20.7.13 Registro intervallo polling OCTOSPI (OCTOSPI_PIR) . . . . . . . . . . . . . . 667 20.7.14 Registro di configurazione comunicazione OCTOSPI (OCTOSPI_CCR) . . 667 20.7.15 Registro di configurazione della temporizzazione OCTOSPI (OCTOSPI_TCR) . . . . . . . . . . 670 20.7.16 Registro istruzioni OCTOSPI (OCTOSPI_IR) . . . . . . . . . . . . . . . . . . . 670 20.7.17 Registro byte alternativi OCTOSPI (OCTOSPI_ABR) . . . . . . . . . . . . . 671 20.7.18 Registro timeout basso consumo OCTOSPI (OCTOSPI_LPTR) . . . . . . . . . . 671 20.7.19 Registro di configurazione della comunicazione wrap OCTOSPI
(OCTOSPI_WPCCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672 20.7.20 Registro di configurazione dei tempi di wrap OCTOSPI (OCTOSPI_WPTCR) . . 674
RM0438 Rev 8
19/2187
54
Contenuto
Prezzo RM0438
20.7.21 Registro istruzioni wrap OCTOSPI (OCTOSPI_WPIR) . . . . . . . . . . . . 674 20.7.22 Registro di wrap byte alternativi OCTOSPI (OCTOSPI_WPABR) . . . . . . 675 20.7.23 OCTOSPI scrittura registro di configurazione della comunicazione
(OCTOSPI_WCCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675 20.7.24 Registro configurazione tempistica scrittura OCTOSPI (OCTOSPI_WTCR) . . . . 677 20.7.25 Registro istruzioni di scrittura OCTOSPI (OCTOSPI_WIR) . . . . . . . . . . . . . 678 20.7.26 OCTOSPI scrittura registro byte alternativi (OCTOSPI_WABR) . . . . . . . 678 20.7.27 Registro di configurazione della latenza HyperBus OCTOSPI
(OCTOSPI_HLCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679 20.7.28 Mappa registri OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679
21
Convertitori analogico-digitali (ADC) . . . . . . . . . . . . . . . . . . . . . . 683
21.1 Introduzione all'ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683
21.2 Caratteristiche principali dell'ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684
21.3 Implementazione ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
21.4 Descrizione funzionale dell'ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686
21.4.1 Schema a blocchi dell'ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686
21.4.2 Pin ADC e segnali interni . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
21.4.3 Orologi ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688
21.4.4 Connettività ADC1/2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690
21.4.5 Interfaccia Slave AHB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692
21.4.6 Modalità Deep-power-down ADC (DEEPPWD) e volume ADCtage regolatore (ADVREGEN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692
21.4.7 Canali di ingresso single-ended e differenziali . . . . . . . . . . . . . . . . . 693
21.4.8 Calibrazione (ADCAL, ADCALDIF, ADC_CALFACT) . . . . . . . . . . . . 693
21.4.9 Controllo on-off ADC (ADEN, ADDIS, ADRDY) . . . . . . . . . . . . . . . . 696
21.4.10 Vincoli durante la scrittura dei bit di controllo ADC . . . . . . . . . . . . . . . . 697
21.4.11 Selezione del canale (ADC_SQRy, ADC_JSQR) . . . . . . . . . . . . . . . 698
21.4.12 Canali programmabiliamptempo di ling (SMPR1, SMPR2) . . . . 699
21.4.13 Modalità di conversione singola (CONT = 0) . . . . . . . . . . . . . . . . . . . . . 699
21.4.14 Modalità di conversione continua (CONT = 1) . . . . . . . . . . . . . . . . . . . 700
21.4.15 Avvio delle conversioni (ADSTART, JADSTART) . . . . . . . . . . . . . . . . 701
21.4.16 Temporizzazione ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702
21.4.17 Interruzione di una conversione in corso (ADSTP, JADSTP) . . . . . . . . . . . . 702
21.4.18 Conversione su trigger esterno e polarità del trigger (EXTSEL, EXTEN, JEXTSEL, JEXTEN) . . . . . . . . . . . . . . . . . . . 704
21.4.19 Gestione dei canali iniettati . . . . . . . . . . . . . . . . . . . . . . . . . . 706
21.4.20 Modalità discontinua (DISCEN, DISCNUM, JDISCEN) . . . . . . . . . . . . 708
20/2187
RM0438 Rev 8
Prezzo RM0438
Contenuto
21.5 21.6 21.7
21.4.21 Coda di contesto per conversioni iniettate . . . . . . . . . . . . . . . . . . . . 709 21.4.22 Risoluzione programmabile (RES) – Modalità di conversione rapida . . . . . . . . 717 21.4.23 Fine della conversione, fine di sampfase di conversione (EOC, JEOC, EOSMP) . . 718 21.4.24 Fine della sequenza di conversione (EOS, JEOS) . . . . . . . . . . . . . . . . . . . . 718 21.4.25 Diagrammi temporali es.ample (modalità singole/continue,
trigger hardware/software) . . . . . . . . . . . . . . . . . . . . . . . . . . . 719 21.4.26 Gestione dei dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721 21.4.27 Gestione delle conversioni mediante DFSDM . . . . . . . . . . . . . . . . . . . . . . . . 726 21.4.28 Funzionalità dinamiche a basso consumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727 21.4.29 Watchdog della finestra analogica (AWD1EN, JAWD1EN, AWD1SGL,
AWD1CH, AWD2CH, AWD3CH, AWD_HTx, AWD_LTx, AWDx) . . . . . 732 21.4.30 Oltreampler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736 21.4.31 Modalità ADC doppie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742 21.4.32 Sensore di temperatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755 21.4.33 Monitoraggio dell'alimentazione VBAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757 21.4.34 Monitoraggio del volume internotage riferimento . . . . . . . . . . . . . . . . . . . 758
ADC in modalità a basso consumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759 Interruzioni ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 760 Registri ADC (per ciascun ADC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
21.7.1 Registro di stato e di interruzione ADC (ADC_ISR) . . . . . . . . . . . . . . . . 761 21.7.2 Registro di abilitazione dell'interruzione ADC (ADC_IER) . . . . . . . . . . . . . . . . . . . . . 763 21.7.3 Registro di controllo ADC (ADC_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . 765 21.7.4 Registro di configurazione ADC (ADC_CFGR) . . . . . . . . . . . . . . . . . . . . 768 21.7.5 Registro di configurazione ADC 2 (ADC_CFGR2) . . . . . . . . . . . . . . . . 772 21.7.6 ADCampregistro temporale 1 (ADC_SMPR1) . . . . . . . . . . . . . . . . 774 21.7.7 ADCampRegistro di tempo 2 (ADC_SMPR2) . . . . . . . . . . . . . . . . . 775 21.7.8 Registro di soglia watchdog ADC 1 (ADC_TR1) . . . . . . . . . . . . . . . 776 21.7.9 Registro di soglia watchdog ADC 2 (ADC_TR2) . . . . . . . . . . . . . . 776 21.7.10 Registro di soglia watchdog ADC 3 (ADC_TR3) . . . . . . . . . . . . . . 777 21.7.11 Registro sequenza regolare ADC 1 (ADC_SQR1) . . . . . . . . . . . . . . . 778 21.7.12 Registro sequenza regolare ADC 2 (ADC_SQR2) . . . . . . . . . . . . . . . 779 21.7.13 Registro sequenza regolare ADC 3 (ADC_SQR3) . . . . . . . . . . . . . . . 780 21.7.14 Registro sequenza regolare ADC 4 (ADC_SQR4) . . . . . . . . . . . . . . . . 781 21.7.15 Registro dati regolari ADC (ADC_DR) . . . . . . . . . . . . . . . . . . . . . . 781 21.7.16 Registro sequenza iniettata ADC (ADC_JSQR) . . . . . . . . . . . . . . . . . 782 21.7.17 Registro offset y ADC (ADC_OFRy) . . . . . . . . . . . . . . . . . . . . . . . . . . . 784 21.7.18 Registro dati del canale y iniettato dall'ADC (ADC_JDRy) . . . . . . . . . . . . 785
RM0438 Rev 8
21/2187
54
Contenuto
Prezzo RM0438
21.8 21.9
21.7.19 Registro di configurazione del watchdog analogico 2 dell'ADC (ADC_AWD2CR) . . . 785 21.7.20 Registro di configurazione del watchdog analogico 3 dell'ADC (ADC_AWD3CR) . . . 786 21.7.21 Registro di selezione della modalità differenziale dell'ADC (ADC_DIFSEL) . . . . . . . . 786 21.7.22 Fattori di calibrazione dell'ADC (ADC_CALFACT) . . . . . . . . . . . . . . . . . . 787
Registri comuni ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787
21.8.1 Registro di stato comune ADC (ADC_CSR) . . . . . . . . . . . . . . . . . . 787 21.8.2 Registro di controllo comune ADC (ADC_CCR) . . . . . . . . . . . . . . . . . . . 789 21.8.3 Registro dati regolare comune ADC per modalità doppia (ADC_CDR) . . . . 792
Mappa del registro ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792
22
Convertitore digitale-analogico (DAC) . . . . . . . . . . . . . . . . . . . . . . . 796
22.1 Introduzione al DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796
22.2 Caratteristiche principali del DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796
22.3 Implementazione DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 797
22.4 Descrizione funzionale del DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798
22.4.1 Schema a blocchi del DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798
22.4.2 Abilitazione canale DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799
22.4.3 Formato dati DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799
22.4.4 Conversione DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801
22.4.5 Volume di uscita DACtage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801
22.4.6 Selezione del trigger DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802
22.4.7 Richieste DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803
22.4.8 Generazione di rumore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803
22.4.9 Generazione di onde triangolari . . . . . . . . . . . . . . . . . . . . . . . . . . . 805
22.4.10 Modalità canale DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806
22.4.11 Calibrazione del buffer del canale DAC . . . . . . . . . . . . . . . . . . . . . . . . 809
22.4.12 Modalità di conversione del canale DAC . . . . . . . . . . . . . . . . . . . . . . . 810
22.4.13 Modalità di conversione del canale DAC doppio (se sono disponibili canali doppi) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811
22.5 DAC in modalità a basso consumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815
22.6 Interruzioni DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816
22.7 Registri DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816
22.7.1 Registro di controllo DAC (DAC_CR) . . . . . . . . . . . . . . . . . . . . . . . 816
22.7.2 Registro di trigger del software DAC (DAC_SWTRGR) . . . . . . . . . . . . . . 820
22.7.3 Canale DAC 1 Registro di mantenimento dati allineato a destra a 12 bit (DAC_DHR12R1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820
22/2187
RM0438 Rev 8
Prezzo RM0438
Contenuto
22.7.4 Canale DAC 1 Registro di mantenimento dati allineato a sinistra a 12 bit (DAC_DHR12L1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821
22.7.5 Canale DAC 1 Registro di mantenimento dati allineato a destra a 8 bit (DAC_DHR8R1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821
22.7.6 Canale DAC 2 Registro di mantenimento dati allineato a destra a 12 bit (DAC_DHR12R2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822
22.7.7 Canale DAC 2 Registro di mantenimento dati allineato a sinistra a 12 bit (DAC_DHR12L2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822
22.7.8 Canale DAC 2 Registro di mantenimento dati allineato a destra a 8 bit (DAC_DHR8R2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823
22.7.9 Registro di mantenimento dati DAC doppio a 12 bit allineato a destra (DAC_DHR12RD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823
22.7.10 Registro di mantenimento dati allineato a sinistra a 12 bit con DAC doppio (DAC_DHR12LD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824
22.7.11 Registro di mantenimento dati DAC doppio a 8 bit allineato a destra (DAC_DHR8RD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824
22.7.12 Registro di uscita dati del canale 1 del DAC (DAC_DOR1) . . . . . . . . . . . . 825
22.7.13 Registro di uscita dati del canale 2 del DAC (DAC_DOR2) . . . . . . . . . . . . 825
22.7.14 Registro di stato DAC (DAC_SR) . . . . . . . . . . . . . . . . . . . . . . . . 825
22.7.15 Registro di controllo della calibrazione DAC (DAC_CCR) . . . . . . . . . . . . . . . 827
22.7.16 Registro di controllo della modalità DAC (DAC_MCR) . . . . . . . . . . . . . . . . . . . 827
22.7.17 Canale DAC 1 sample e tieni premuto sampregistro del tempo (DAC_SHSR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
22.7.18 Canale DAC 2 sample e tieni premuto sampregistro del tempo (DAC_SHSR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
22.7.19 DACampregistro del tempo di attesa (DAC_SHHR) . . . . . . . . . . . . 829
22.7.20 DACampregistro del tempo di aggiornamento le and hold (DAC_SHRR) . . . . . . . 830
22.7.21 Mappa del registro DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 831
23
Voltage buffer di riferimento (VREFBUF) . . . . . . . . . . . . . . . . . . . . . 833
23.1 Introduzione al VREFBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833
23.2 Descrizione funzionale VREFBUF . . . . . . . . . . . . . . . . . . . . . . . . . 833
23.3 Rifinitura VREFBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834
23.4 Registri VREFBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835
23.4.1 Registro di controllo e stato VREFBUF (VREFBUF_CSR) . . . . . . . . 835
23.4.2 Registro di controllo della calibrazione VREFBUF (VREFBUF_CCR) . . . . . . . . 836
23.4.3 Mappa dei registri VREFBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836
24
Comparatore (COMP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837
24.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837
RM0438 Rev 8
23/2187
54
Contenuto
Prezzo RM0438
24.2 24.3
24.4 24.5 24.6
Caratteristiche principali del COMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837 Descrizione funzionale del COMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838
24.3.1 Schema a blocchi COMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838 24.3.2 Pin COMP e segnali interni . . . . . . . . . . . . . . . . . . . . . . . . . . . 838 24.3.3 Reset e clock COMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839 24.3.4 Meccanismo di blocco del comparatore . . . . . . . . . . . . . . . . . . . . . . . . . 839 24.3.5 Comparatore di finestra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840 24.3.6 Isteresi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840 24.3.7 Funzione di oscuramento dell'uscita del comparatore . . . . . . . . . . . . . . . . . . . . . . . 841 24.3.8 Modalità di potenza e velocità COMP . . . . . . . . . . . . . . . . . . . . . . . . . . . 842
Modalità a basso consumo COMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842 Interruzioni COMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842 Registri COMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843
24.6.1 Registro di controllo e stato del comparatore 1 (COMP1_CSR) . . . . . . . 843 24.6.2 Registro di controllo e stato del comparatore 2 (COMP2_CSR) . . . . . . . . 845 24.6.3 Mappa del registro COMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 848
25
Operativo amplificatori (OPAMP) . . . . . . . . . . . . . . . . . . . . . . . 849
25.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
25.2 OPAMP caratteristiche principali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
25.3 OPAMP descrizione funzionale . . . . . . . . . . . . . . . . . . . . . . . . . . 849
25.3.1 OPAMP reset e orologi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
25.3.2 Configurazione iniziale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 850
25.3.3 Instradamento del segnale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 850
25.3.4 OPAMP modalità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 851
25.3.5 Calibrazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854
25.4 OPAMP modalità a basso consumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856
25.5 OPAMP registri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 857
25.5.1 OPAMP1 registro di controllo/stato (OPAMP1_CSR) . . . . . . . . . . . . . 857
25.5.2 OPAMP1 registro di trimming offset in modalità normale (OPAMP1_OTR) . . 858
25.5.3 OPAMP1 registro di trimming offset in modalità a basso consumo (OPAMP1_LPOTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 858
25.5.4 OPAMP2 registro di controllo/stato (OPAMP2_CRS) . . . . . . . . . . . . 859
25.5.5 OPAMP2 registro di trimming offset in modalità normale (OPAMP2_OTR) . . 860
25.5.6 OPAMP2 registro di trimming offset in modalità a basso consumo (OPAMP2_LPOTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 860
25.5.7 OPAMP mappa dei registri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 861
24/2187
RM0438 Rev 8
Prezzo RM0438
Contenuto
26
Filtro digitale per modulatori sigma-delta (DFSDM) . . . . . . . . . . . . 862
26.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 862
26.2 Caratteristiche principali di DFSDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863
26.3 Implementazione DFSDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 864
26.4 Descrizione funzionale del DFSDM . . . . . . . . . . . . . . . . . . . . . . . . . . 865
26.4.1 Diagramma a blocchi DFSDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865
26.4.2 Pin DFSDM e segnali interni . . . . . . . . . . . . . . . . . . . . . . . . 866
26.4.3 Reset DFSDM e orologi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
26.4.4 Trasmettitori a canale seriale . . . . . . . . . . . . . . . . . . . . . . . . . . . 868
26.4.5 Configurazione dell'interfaccia seriale di ingresso . . . . . . . . . . . . . . . . . . . . . . 878
26.4.6 Input di dati paralleli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 878
26.4.7 Selezione del canale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 880
26.4.8 Configurazione del filtro digitale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 881
26.4.9 Unità integratore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 882
26.4.10 Watchdog analogico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 883
26.4.11 Rilevatore di cortocircuito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885
26.4.12 Rilevatore estremo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886
26.4.13 Blocco unità dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886
26.4.14 Formato dati firmato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 887
26.4.15 Avvio delle conversioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888
26.4.16 Modalità continua e continua veloce . . . . . . . . . . . . . . . . . . . . 888
26.4.17 Richiesta di precedenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 889
26.4.18 Ottimizzazione della potenza in modalità di esecuzione . . . . . . . . . . . . . . . . . . . . . . . . 890
26.5 Interruzioni DFSDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 890
26.6 Trasferimento DFSDM DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 892
26.7 Registri y del canale DFSDM (y=0..3) . . . . . . . . . . . . . . . . . . . . . . . 892
26.7.1 Registro di configurazione del canale y DFSDM (DFSDM_CHyCFGR1) . . . 892
26.7.2 Registro di configurazione del canale y DFSDM (DFSDM_CHyCFGR2) . . . 894
26.7.3 Registro di watchdog analogico e rilevatore di cortocircuito del canale y DFSDM (DFSDM_CHyAWSCDR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895
26.7.4 Registro dati del filtro watchdog del canale y DFSDM (DFSDM_CHyWDATR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896
26.7.5 Registro di input dati del canale y DFSDM (DFSDM_CHyDATINR) . . . . . 896
26.7.6 Registro ritardo y canale DFSDM (DFSDM_CHyDLYR) . . . . . . . . . . . . 897
26.8 Registri del modulo filtro x DFSDM (x=0..3) . . . . . . . . . . . . . . . . . . . . 898
26.8.1 Registro di controllo del filtro x DFSDM 1 (DFSDM_FLTxCR1) . . . . . . . . . . 898
26.8.2 Registro di controllo del filtro x DFSDM 2 (DFSDM_FLTxCR2) . . . . . . . . . . 901
RM0438 Rev 8
25/2187
54
Contenuto
Prezzo RM0438
26.8.3 Registro di stato e di interruzione del filtro x DFSDM (DFSDM_FLTxISR) . . . . 902
26.8.4 Registro di cancellazione del flag di interrupt del filtro x DFSDM (DFSDM_FLTxICR) . . . . 904
26.8.5 Registro di selezione del gruppo di canali iniettato del filtro x DFSDM (DFSDM_FLTxJCHGR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905
26.8.6 Registro di controllo del filtro x DFSDM (DFSDM_FLTxFCR) . . . . . . . . . . . 905
26.8.7 Filtro DFSDM x registro dati per il gruppo iniettato (DFSDM_FLTxJDATAR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 906
26.8.8 Registro dati del filtro x DFSDM per il canale normale (DFSDM_FLTxRDATAR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907
26.8.9 Filtro DFSDM x registro di soglia alta del watchdog analogico (DFSDM_FLTxAWHTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 908
26.8.10 Filtro DFSDM x registro di soglia bassa del watchdog analogico (DFSDM_FLTxAWLTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 908
26.8.11 Registro di stato del watchdog analogico del filtro DFSDM x (DFSDM_FLTxAWSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909
26.8.12 Registro flag di cancellazione watchdog analogico del filtro DFSDM x (DFSDM_FLTxAWCFR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910
26.8.13 Registro massimo del rilevatore degli estremi del filtro x DFSDM (DFSDM_FLTxEXMAX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910
26.8.14 Registro minimo del rilevatore degli estremi del filtro x DFSDM (DFSDM_FLTxEXMIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 911
26.8.15 Registro del timer di conversione del filtro x DFSDM (DFSDM_FLTxCNVTIMR) . 911
26.8.16 Mappa dei registri DFSDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 912
27
Controller touch sensing (TSC) . . . . . . . . . . . . . . . . . . . . . . . . . 920
27.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920
27.2 Caratteristiche principali del TSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920
27.3 Descrizione funzionale del TSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921
27.3.1 Diagramma a blocchi TSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921
27.3.2 Acquisizione del trasferimento di carica superficiale suview . . . . . . . . . . . . . . . . . . . 921
27.3.3 Azzeramento e orologi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924
27.3.4 Sequenza di acquisizione del trasferimento di carica . . . . . . . . . . . . . . . . . . . . 924
27.3.5 Caratteristica dello spettro diffuso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925
27.3.6 Errore di conteggio massimo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926
27.3.7 anniampselezione della modalità I/O del condensatore e I/O del canale . . . . . . . . . 926
27.3.8 Modalità di acquisizione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927
27.3.9 Isteresi I/O e controllo dell'interruttore analogico . . . . . . . . . . . . . . . . . . . . 927
27.4 Modalità a basso consumo TSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928
27.5 Interruzioni TSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928
26/2187
RM0438 Rev 8
Prezzo RM0438
Contenuto
27.6
Registri TSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928
27.6.1 Registro di controllo TSC (TSC_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . 928 27.6.2 Registro di abilitazione dell'interruzione TSC (TSC_IER) . . . . . . . . . . . . . . . . . . . . . 931 27.6.3 Registro di cancellazione dell'interruzione TSC (TSC_ICR) . . . . . . . . . . . . . . . . . . . . . . 932 27.6.4 Registro di stato dell'interruzione TSC (TSC_ISR) . . . . . . . . . . . . . . . . . . . . . . 932 27.6.5 Registro di controllo dell'isteresi I/O TSC (TSC_IOHCR) . . . . . . . . . . . . 933 27.6.6 Registro di controllo dell'interruttore analogico I/O TSC
(TSC_IOASCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933 27.6.7 I/O TSCampRegistro di controllo I/O (TSC_IOSCR) . . . . . . . . . . . . . . 934 27.6.8 Registro di controllo del canale I/O TSC (TSC_IOCCR) . . . . . . . . . . . . . . . 934 27.6.9 Registro di stato di controllo del gruppo I/O TSC (TSC_IOGCSR) . . . . . . . . . . 935 27.6.10 Registro del contatore del gruppo I/O x TSC (TSC_IOGxCR) . . . . . . . . . . . . . 935 27.6.11 Mappa dei registri TSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936
28
Generatore di numeri casuali (RNG) vero . . . . . . . . . . . . . . . . . . . 938
28.1 Introduzione all'RNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 938
28.2 Caratteristiche principali dell'RNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 938
28.3 Descrizione funzionale dell'RNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939
28.3.1 Diagramma a blocchi RNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939
28.3.2 Segnali interni RNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939
28.3.3 Generazione di numeri casuali . . . . . . . . . . . . . . . . . . . . . . . . . . 939
28.3.4 Inizializzazione RNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942
28.3.5 Funzionamento RNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943
28.3.6 Clocking RNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945
28.3.7 Gestione degli errori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945
28.3.8 Utilizzo a basso consumo energetico dell'RNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946
28.4 Interruzioni RNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946
28.5 Tempo di elaborazione RNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947
28.6 Validazione della sorgente di entropia RNG . . . . . . . . . . . . . . . . . . . . . . . . . . 947
28.6.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947
28.6.2 Condizioni di convalida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947
28.6.3 Raccolta dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948
28.7 Registri RNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948
28.7.1 Registro di controllo RNG (RNG_CR) . . . . . . . . . . . . . . . . . . . . . . . . 948
28.7.2 Registro di stato RNG (RNG_SR) . . . . . . . . . . . . . . . . . . . . . . . . . 950
28.7.3 Registro dati RNG (RNG_DR) . . . . . . . . . . . . . . . . . . . . . . . . . . 951
28.7.4 Registro di controllo del test di integrità RNG (RNG_HTCR) . . . . . . . . . . . . . . 952
RM0438 Rev 8
27/2187
54
Contenuto
Prezzo RM0438
28.7.5 Mappa del registro RNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 952
29
Acceleratore hardware AES (AES) . . . . . . . . . . . . . . . . . . . . . . . 953
29.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953
29.2 Caratteristiche principali di AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953
29.3 Implementazione AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953
29.4 Descrizione funzionale AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954
29.4.1 Diagramma a blocchi AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954
29.4.2 Segnali interni AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954
29.4.3 Nucleo crittografico AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954
29.4.4 Procedura AES per eseguire un'operazione di cifratura . . . . . . . . . . . . . . . . 960
29.4.5 Preparazione della chiave del round di decrittazione AES . . . . . . . . . . . . . . . . . . . . 963
29.4.6 Furto di testo cifrato AES e riempimento di dati . . . . . . . . . . . . . . . . . . 963
29.4.7 Sospensione e ripresa dell'attività AES . . . . . . . . . . . . . . . . . . . . . . . . 964
29.4.8 Modalità di concatenamento di base AES (ECB, CBC) . . . . . . . . . . . . . . . . . . . 964
29.4.9 Modalità contatore AES (CTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 969
29.4.10 Modalità Galois/contatore AES (GCM) . . . . . . . . . . . . . . . . . . . . . . . . 971
29.4.11 Codice di autenticazione del messaggio AES Galois (GMAC) . . . . . . . . . . . 976
29.4.12 Contatore AES con CBC-MAC (CCM) . . . . . . . . . . . . . . . . . . . . . 978
29.4.13 Registri dati AES e scambio dati . . . . . . . . . . . . . . . . . . . . 983
29.4.14 Registri chiave AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 985
29.4.15 Registri vettoriali di inizializzazione AES . . . . . . . . . . . . . . . . . . . . . . . 985
29.4.16 Interfaccia AES DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 986
29.4.17 Gestione degli errori AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 987
29.5 interruzioni AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 988
29.6 Latenza di elaborazione AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 988
29.7 Registri AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 989
29.7.1 Registro di controllo AES (AES_CR) . . . . . . . . . . . . . . . . . . . . . . . . . 989
29.7.2 Registro di stato AES (AES_SR) . . . . . . . . . . . . . . . . . . . . . . . . . 991
29.7.3 Registro di input dati AES (AES_DINR) . . . . . . . . . . . . . . . . . . . . . 993
29.7.4 Registro di output dati AES (AES_DOUTR) . . . . . . . . . . . . . . . . . . 993
29.7.5 Registro chiave AES 0 (AES_KEYR0) . . . . . . . . . . . . . . . . . . . . . . . 994
29.7.6 Registro chiave AES 1 (AES_KEYR1) . . . . . . . . . . . . . . . . . . . . . . . 994
29.7.7 Registro chiave AES 2 (AES_KEYR2) . . . . . . . . . . . . . . . . . . . . . . . 995
29.7.8 Registro chiave AES 3 (AES_KEYR3) . . . . . . . . . . . . . . . . . . . . . . . 995
29.7.9 Registro vettoriale di inizializzazione AES 0 (AES_IVR0) . . . . . . . . . . . . . . . 995
28/2187
RM0438 Rev 8
Prezzo RM0438
Contenuto
29.7.10 Registro vettore di inizializzazione AES 1 (AES_IVR1) . . . . . . . . . . . . . . . . 996 29.7.11 Registro vettore di inizializzazione AES 2 (AES_IVR2) . . . . . . . . . . . . . . . . . 996 29.7.12 Registro vettore di inizializzazione AES 3 (AES_IVR3) . . . . . . . . . . . . . . . . 996 29.7.13 Registro chiave AES 4 (AES_KEYR4) . . . . . . . . . . . . . . . . . . . . . . . . . 997 29.7.14 Registro chiave AES 5 (AES_KEYR5) . . . . . . . . . . . . . . . . . . . . . . . . 997 29.7.15 Registro chiave AES 6 (AES_KEYR6) . . . . . . . . . . . . . . . . . . . . . . . . . . 997 29.7.16 Registro chiave AES 7 (AES_KEYR7) . . . . . . . . . . . . . . . . . . . . . . . . . 998 29.7.17 Registri di sospensione AES (AES_SUSPxR) . . . . . . . . . . . . . . . . . . . . 998 29.7.18 Mappa dei registri AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 999
30
Processore hash (HASH) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1001
30.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1001
30.2 Caratteristiche principali dell'HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1001
30.3 Implementazione HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1002
30.4 Descrizione funzionale HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1002
30.4.1 Diagramma a blocchi HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1002
30.4.2 Segnali interni HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003
30.4.3 Informazioni sugli algoritmi hash sicuri . . . . . . . . . . . . . . . . . . . . . . . . . . 1003
30.4.4 Inserimento dati messaggio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003
30.4.5 Elaborazione del digest del messaggio . . . . . . . . . . . . . . . . . . . . . . . . . . 1005
30.4.6 Riempimento dei messaggi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1006
30.4.7 Funzionamento dell'HMAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008
30.4.8 Operazioni di sospensione/ripresa HASH . . . . . . . . . . . . . . . . . . . . . 1010
30.4.9 Interfaccia HASH DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1012
30.4.10 Gestione degli errori HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . 1012
30.4.11 Tempo di elaborazione HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1012
30.5 Interruzioni HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1013
30.6 Registri HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1014
30.6.1 Registro di controllo HASH (HASH_CR) . . . . . . . . . . . . . . . . . . . . . . 1014
30.6.2 Registro di input dati HASH (HASH_DIN) . . . . . . . . . . . . . . . . . . . 1016
30.6.3 Registro di avvio HASH (HASH_STR) . . . . . . . . . . . . . . . . . . . . . . 1017
30.6.4 Registri di digest HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1018
30.6.5 Registro di abilitazione dell'interruzione HASH (HASH_IMR) . . . . . . . . . . . . . . 1019
30.6.6 Registro di stato HASH (HASH_SR) . . . . . . . . . . . . . . . . . . . . . . 1020
30.6.7 Registri di scambio del contesto HASH . . . . . . . . . . . . . . . . . . . . . . . . . 1020
30.6.8 Mappa del registro HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1021
RM0438 Rev 8
29/2187
54
Contenuto
Prezzo RM0438
31
Motore di decrittazione al volo (OTFDEC) . . . . . . . . . . . . . . . . . . 1023
31.1 Introduzione all'OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1023
31.2 Caratteristiche principali dell'OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1023
31.3 Descrizione funzionale OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . 1024
31.3.1 Diagramma a blocchi OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024
31.3.2 Segnali interni OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024
31.3.3 Decrittazione al volo OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . 1025
31.3.4 Utilizzo di AES da parte di OTFDEC nella decrittazione in modalità contatore . . . . . . . . . . . 1026
31.3.5 Gestione del controllo del flusso . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027
31.3.6 Gestione degli errori OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . 1027
31.4 Interruzioni OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028
31.5 Informazioni sulla domanda OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . 1028
31.5.1 Processo di inizializzazione OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . 1028
31.5.2 OTFDEC e gestione dell'alimentazione . . . . . . . . . . . . . . . . . . . . . 1030
31.5.3 Crittografia per OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1030
31.5.4 Codice sorgente CRC della chiave OTFDEC . . . . . . . . . . . . . . . . . . . . . . 1031
31.6 Registri OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1032
31.6.1 Registro di controllo OTFDEC (OTFDEC_CR) . . . . . . . . . . . . . . . . . 1032
31.6.2 Registro di configurazione del controllo di accesso privilegiato OTFDEC (OTFDEC_PRIVCFGR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1033
31.6.3 Registro di configurazione della regione x OTFDEC (OTFDEC_RxCFGR) . . . . 1033
31.6.4 Registro degli indirizzi iniziali della regione x OTFDEC (OTFDEC_RxSTARTADDR) . . . . . . . . . . . . . . . . . . . . . . . . . . 1035
31.6.5 Registro degli indirizzi finali della regione x OTFDEC (OTFDEC_RxENDADDR) . 1035
31.6.6 Regione OTFDEC x registro nonce 0 (OTFDEC_RxNONCER0) . . . . 1036
31.6.7 Regione OTFDEC x registro nonce 1 (OTFDEC_RxNONCER1) . . . . 1037
31.6.8 Registro chiave 0 della regione x OTFDEC (OTFDEC_RxKEYR0) . . . . . . . . 1037
31.6.9 Registro chiave 1 della regione x OTFDEC (OTFDEC_RxKEYR1) . . . . . . . . 1038
31.6.10 Registro chiave 2 della regione x OTFDEC (OTFDEC_RxKEYR2) . . . . . . . . 1038
31.6.11 Registro chiave 3 della regione x OTFDEC (OTFDEC_RxKEYR3) . . . . . . . . 1039
31.6.12 Registro di stato di interruzione OTFDEC (OTFDEC_ISR) . . . . . . . . . . . 1039
31.6.13 Registro di cancellazione dell'interruzione OTFDEC (OTFDEC_ICR) . . . . . . . . . . . . 1040
31.6.14 Registro di abilitazione dell'interruzione OTFDEC (OTFDEC_IER) . . . . . . . . . . . 1041
31.6.15 Mappa dei registri OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1042
32
Acceleratore di chiave pubblica (PKA) . . . . . . . . . . . . . . . . . . . . . . . . . 1046
32.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046
30/2187
RM0438 Rev 8
Prezzo RM0438
Contenuto
32.2 32.3
32.4
32.5 32.6 32.7
Caratteristiche principali del PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046 Descrizione funzionale del PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046
32.3.1 Schema a blocchi PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046 32.3.2 Segnali interni PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1047 32.3.3 Reset e clock PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1047 32.3.4 Accelerazione della chiave pubblica PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . 1047 32.3.5 Applicazioni tipiche per PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1049 32.3.6 Procedura PKA per eseguire un'operazione . . . . . . . . . . . . . . . . . . . . . . 1051 32.3.7 Gestione degli errori PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052
Modalità operative PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052
32.4.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052 32.4.2 Calcolo dei parametri di Montgomery . . . . . . . . . . . . . . . . . . . . . . . . . 1053 32.4.3 Addizione modulare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054 32.4.4 Sottrazione modulare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054 32.4.5 Moltiplicazione modulare e di Montgomery . . . . . . . . . . . . . . . . . . . . 1055 32.4.6 Elevamento a potenza modulare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056 32.4.7 Inversione modulare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056 32.4.8 Riduzione modulare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1057 32.4.9 Addizione aritmetica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1057 32.4.10 Sottrazione aritmetica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1057 32.4.11 Moltiplicazione aritmetica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1058 32.4.12 Confronto aritmetico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1058 32.4.13 Esponenziale RSA CRT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1059 32.4.14 Controllo Fp su un punto della curva ellittica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1059 32.4.15 Moltiplicazione scalare ECC Fp . . . . . . . . . . . . . . . . . . . . . . . . . . 1060 32.4.16 Segno ECDSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061 32.4.17 Verifica ECDSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1063
Exampserie di configurazioni e tempi di elaborazione . . . . . . . . . . . . . . . 1064
32.5.1 Curve ellittiche supportate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1064 32.5.2 Tempi di calcolo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1066
Interruzioni PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1067 Registri PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1068
32.7.1 Registro di controllo PKA (PKA_CR) . . . . . . . . . . . . . . . . . . . . . . . . . 1068 32.7.2 Registro di stato PKA (PKA_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1069 32.7.3 Registro flag di cancellazione PKA (PKA_CLRFR) . . . . . . . . . . . . . . . . . . . . . . . . . . 1070 32.7.4 PKA RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1070
RM0438 Rev 8
31/2187
54
Contenuto
Prezzo RM0438
32.7.5 Mappa del registro PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1071
33
Timer di controllo avanzato (TIM1/TIM8) . . . . . . . . . . . . . . . . . . . 1072
33.1 Introduzione a TIM1/TIM8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1072
33.2 Caratteristiche principali di TIM1/TIM8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1072
33.3 Descrizione funzionale TIM1/TIM8 . . . . . . . . . . . . . . . . . . . . . . . . 1074
33.3.1 Unità di base dei tempi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1074
33.3.2 Modalità contatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1076
33.3.3 Contatore di ripetizioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1087
33.3.4 Ingresso trigger esterno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1089
33.3.5 Selezione dell'orologio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1090
33.3.6 Cattura/confronta canali . . . . . . . . . . . . . . . . . . . . . . . . . . 1094
33.3.7 Modalità di cattura dell'input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1096
33.3.8 Modalità di ingresso PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1097
33.3.9 Modalità di uscita forzata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1098
33.3.10 Modalità di confronto dell'output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1099
33.3.11 Modalità PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1100
33.3.12 Modalità PWM asimmetrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1103
33.3.13 Modalità PWM combinata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104
33.3.14 Modalità PWM trifase combinata . . . . . . . . . . . . . . . . . . . . . . . . 3
33.3.15 Uscite complementari e inserimento in tempo morto . . . . . . . . . . . . 1106
33.3.16 Utilizzo della funzione di interruzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1108
33.3.17 Ingressi di interruzione bidirezionali . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1114
33.3.18 Cancellazione del segnale OCxREF in caso di evento esterno . . . . . . . . . . . . 1115
33.3.19 Generazione PWM a 6 fasi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1117
33.3.20 Modalità a un impulso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1118
33.3.21 Modalità a un impulso riattivabile . . . . . . . . . . . . . . . . . . . . . . . . . 1119
33.3.22 Modalità interfaccia encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1120
33.3.23 Rimappatura dei bit UIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1122
33.3.24 Funzione XOR di ingresso del timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1123
33.3.25 Interfacciamento con sensori Hall . . . . . . . . . . . . . . . . . . . . . . . . . . 1123
33.3.26 Sincronizzazione del timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1126
33.3.27 Sincronizzazione ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1130
33.3.28 Modalità burst DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1130
33.3.29 Modalità debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1131
33.4 Registri TIM1/TIM8 . ...
33.4.1 Registro di controllo TIMx 1 (TIMx_CR1)(x = 1, 8) . . . . . . . . . . . . . . . 1132
32/2187
RM0438 Rev 8
Prezzo RM0438
Contenuto
33.4.2 Registro di controllo TIMx 2 (TIMx_CR2)(x = 1, 8) . . . . . . . . . . . . . . . 1133
33.4.3 Registro di controllo della modalità slave TIMx (TIMx_SMCR) (x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1136
33.4.4 Registro di abilitazione DMA/interrupt TIMx (TIMx_DIER)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1138
33.4.5 Registro di stato TIMx (TIMx_SR)(x = 1, 8) . . . . . . . . . . . . . . . . . . 1140
33.4.6 Registro di generazione degli eventi TIMx (TIMx_EGR) (x = 1, 8) . . . . . . . . . . 1142
33.4.7 Registro 1 della modalità di cattura/confronto TIMx (TIMx_CCMR1)(x = 1, 8) . 1143
33.4.8 Registro 1 della modalità di cattura/confronto TIMx [alternato] (TIMx_CCMR1)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1144
33.4.9 Registro 2 della modalità di cattura/confronto TIMx (TIMx_CCMR2)(x = 1, 8) . 1147
33.4.10 Registro 2 della modalità di cattura/confronto TIMx [alternato] (TIMx_CCMR2)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1148
33.4.11 Registro di abilitazione cattura/confronto TIMx (TIMx_CCER)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1149
33.4.12 Contatore TIMx (TIMx_CNT)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . 1153
33.4.13 Prescaler TIMx (TIMx_PSC)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . 1153
33.4.14 Registro di ricaricamento automatico TIMx (TIMx_ARR)(x = 1, 8) . . . . . . . . . . . . . 1153
33.4.15 Registro contatore ripetizioni TIMx (TIMx_RCR)(x = 1, 8) . . . . . . . . . 1154
33.4.16 Registro di cattura/confronto TIMx 1 (TIMx_CCR1)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1154
33.4.17 Registro di cattura/confronto TIMx 2 (TIMx_CCR2)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1155
33.4.18 Registro di cattura/confronto TIMx 3 (TIMx_CCR3)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1155
33.4.19 Registro di cattura/confronto TIMx 4 (TIMx_CCR4)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1156
33.4.20 Registro di interruzione e tempo morto TIMx (TIMx_BDTR)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1156
33.4.21 Registro di controllo DMA TIMx (TIMx_DCR)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1160
33.4.22 Indirizzo DMA TIMx per il trasferimento completo (TIMx_DMAR) (x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1161
33.4.23 Registro opzione TIM1 1 (TIM1_OR1) . . . . . . . . . . . . . . . . . . . . . . 1162
33.4.24 Registro opzione TIM8 1 (TIM8_OR1) . . . . . . . . . . . . . . . . . . . . . . 1162
33.4.25 Registro 3 della modalità di cattura/confronto TIMx (TIMx_CCMR3)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1163
33.4.26 Registro di cattura/confronto TIMx 5 (TIMx_CCR5)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1164
33.4.27 Registro di cattura/confronto TIMx 6 (TIMx_CCR6)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1165
RM0438 Rev 8
33/2187
54
Contenuto
Prezzo RM0438
33.4.28 Registro opzioni TIM1 2 (TIM1_OR2) . . . . . . . . . . . . . . . . . . . . . . . 1165 33.4.29 Registro opzioni TIM1 3 (TIM1_OR3) . . . . . . . . . . . . . . . . . . . . . . . . . 1167 33.4.30 Registro opzioni TIM8 2 (TIM8_OR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1168 33.4.31 Registro opzione TIM8 3 (TIM8_OR3) . . . . . . . . . . . . . . . . . . . . . . . 1170 33.4.32 Mappa registro TIM1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1172 33.4.33 Mappa registro TIM8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1174
34
Timer per uso generale (TIM2/TIM3/TIM4/TIM5) . . . . . . . . . . . . 1177
34.1 Introduzione a TIM2/TIM3/TIM4/TIM5 . . . . . . . . . . . . . . . . . . . . . . . . . . . .1177
34.2 Caratteristiche principali di TIM2/TIM3/TIM4/TIM5 . . . . . . . . . . . . . . . . . . . . . . . . . . .1177
34.3 Descrizione funzionale TIM2/TIM3/TIM4/TIM5 . . . . . . . . . . . . . . . . . . . .1179
34.3.1 Unità di base dei tempi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1179
34.3.2 Modalità contatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1181
34.3.3 Selezione dell'orologio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1191
34.3.4 Cattura/Confronta canali . . . . . . . . . . . . . . . . . . . . . . . . . . 1195
34.3.5 Modalità di cattura dell'input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1197
34.3.6 Modalità di ingresso PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1198
34.3.7 Modalità di uscita forzata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1199
34.3.8 Modalità di confronto dell'output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1200
34.3.9 Modalità PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1201
34.3.10 Modalità PWM asimmetrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1204
34.3.11 Modalità PWM combinata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1205
34.3.12 Cancellazione del segnale OCxREF in caso di evento esterno . . . . . . . . . . . . 1206
34.3.13 Modalità a un impulso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1208
34.3.14 Modalità a un impulso riattivabile . . . . . . . . . . . . . . . . . . . . . . . . . 1209
34.3.15 Modalità interfaccia encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1210
34.3.16 Rimappatura dei bit UIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1212
34.3.17 Funzione XOR di ingresso del timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1212
34.3.18 Timer e sincronizzazione dei trigger esterni . . . . . . . . . . . . . . . . 1213
34.3.19 Sincronizzazione del timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1216
34.3.20 Modalità burst DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1221
34.3.21 Modalità debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1222
34.4 Registri TIM2/TIM3/TIM4/TIM5 . . . . . . . . . . . . . . . . . . . . . . . . 1223
34.4.1 Registro di controllo TIMx 1 (TIMx_CR1) (x = da 2 a 5) . . . . . . . . . . . . . . 1223
34.4.2 Registro di controllo TIMx 2 (TIMx_CR2) (x = da 2 a 5) . . . . . . . . . . . . . . 1224
34.4.3 Registro di controllo della modalità slave TIMx (TIMx_SMCR) (x = da 2 a 5) . . . . . 1226
34.4.4 Registro di abilitazione DMA/interrupt TIMx (TIMx_DIER) (x = da 2 a 5) . . . . . 1229
34/2187
RM0438 Rev 8
Prezzo RM0438
Contenuto
34.4.5 Registro di stato TIMx (TIMx_SR) (x = da 2 a 5) . . . . . . . . . . . . . . . . . 1230 34.4.6 Registro di generazione eventi TIMx (TIMx_EGR) (x = da 2 a 5) . . . . . . . . 1231 34.4.7 Registro 1 modalità di cattura/confronto TIMx (TIMx_CCMR1) (x = da 2 a 5) . 1232 34.4.8 Registro 1 modalità di cattura/confronto TIMx [alternativo] (TIMx_CCMR1)
(x = da 2 a 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1234 34.4.9 Registro 2 della modalità di cattura/confronto TIMx (TIMx_CCMR2)(x = da 2 a 5) . 1236 34.4.10 Registro 2 della modalità di cattura/confronto TIMx [alternativa] (TIMx_CCMR2)
(x = da 2 a 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1237 34.4.11 Registro di abilitazione cattura/confronto TIMx
(TIMx_CCER)(x = da 2 a 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1238 34.4.12 Contatore TIMx (TIMx_CNT)(x = da 2 a 5) . . . . . . . . . . . . . . . . . . . . . . . 1239 34.4.13 Contatore TIMx [alternativo] (TIMx_CNT)(x = da 2 a 5) . . . . . . . . . . . . . . . 1240 34.4.14 Prescaler TIMx (TIMx_PSC)(x = da 2 a 5) . . . . . . . . . . . . . . . . . . . . 1240 34.4.15 Registro di ricaricamento automatico TIMx (TIMx_ARR)(x = da 2 a 5) . . . . . . . . . . . 1241 34.4.16 Registro di cattura/confronto TIMx 1 (TIMx_CCR1)(x = da 2 a 5) . . . . . 1241 34.4.17 Registro di cattura/confronto TIMx 2 (TIMx_CCR2)(x = da 2 a 5) . . . . . . 1241 34.4.18 Registro di cattura/confronto TIMx 3 (TIMx_CCR3)(x = da 2 a 5) . . . . . 1242 34.4.19 Registro di cattura/confronto TIMx 4 (TIMx_CCR4)(x = da 2 a 5) . . . . . 1242 34.4.20 Registro di controllo DMA TIMx (TIMx_DCR)(x = da 2 a 5) . . . . . . . . . . 1243 34.4.21 Indirizzo DMA TIMx per trasferimento completo (TIMx_DMAR)(x = da 2 a 5) . . . . . 1244 34.4.22 Registro opzioni TIM2 1 (TIM2_OR1) . . . . . . . . . . . . . . . . . . . . . . 1244 34.4.23 Registro opzioni TIM3 1 (TIM3_OR1) . . . . . . . . . . . . . . . . . . . . . . . . 1244 34.4.24 Registro opzioni TIM2 2 (TIM2_OR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1245 34.4.25 Registro opzione TIM3 2 (TIM3_OR2) . . . . . . . . . . . . . . . . . . . . . . 1245 34.4.26 Mappa registro TIMx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1247
35
Timer per uso generale (TIM15/TIM16/TIM17) . . . . . . . . . . . . . 1250
35.1 Introduzione a TIM15/TIM16/TIM17 . . . . . . . . . . . . . . . . . . . . . . . 1250
35.2 Caratteristiche principali di TIM15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1250
35.3 Caratteristiche principali di TIM16/TIM17 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1251
35.4 Descrizione funzionale TIM15/TIM16/TIM17 . . . . . . . . . . . . . . . . . 1254
35.4.1 Unità di base dei tempi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1254
35.4.2 Modalità contatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1256
35.4.3 Contatore di ripetizioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1260
35.4.4 35.4.5 35.4.6 35.4.7
Selezione dell'orologio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1261 Cattura/confronta i canali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1263 Modalità di cattura dell'ingresso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1265 Modalità di ingresso PWM (solo per TIM15) . . . . . . . . . . . . . . . . . . . . . . . 1266
RM0438 Rev 8
35/2187
54
Contenuto
Prezzo RM0438
35.5
35.4.8 Modalità di uscita forzata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1267 35.4.9 Modalità di confronto dell'uscita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1268 35.4.10 Modalità PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1269 35.4.11 Modalità PWM combinata (solo TIM15) . . . . . . . . . . . . . . . . . . . . . . 1270 35.4.12 Uscite complementari e inserimento del tempo morto . . . . . . . . . . . . . . 1271 35.4.13 Utilizzo della funzione di interruzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1273 35.4.14 Ingressi di interruzione bidirezionali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1278 35.4.15 Generazione PWM a 6 fasi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1279 35.4.16 Modalità a un impulso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1281 35.4.17 Modalità a un impulso riattivabile (solo TIM15) . . . . . . . . . . . . . . . . . 1282 35.4.18 Rimappatura bit UIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1283 35.4.19 Funzione XOR ingresso timer (solo TIM15) . . . . . . . . . . . . . . . . . . . . 1284 35.4.20 Sincronizzazione trigger esterno (solo TIM15) . . . . . . . . . . . . . . . 1285 35.4.21 Modalità slave combinata reset + trigger . . . . . . . . . . . . . . . . 1287 35.4.22 Modalità burst DMA . ... 1287 35.4.23 Sincronizzazione del timer (TIM15) . . . . . . . . . . . . . . . . . . . . . . . . 1289 35.4.24 Utilizzo dell'uscita del timer come trigger per altri timer (TIM16/TIM17) . . . . 1289 35.4.25 Modalità di debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1289
Registri TIM15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1290
35.5.1 Registro di controllo 15 TIM1 (TIM15_CR1) . . . . . . . . . . . . . . . . . . . . 1290 35.5.2 Registro di controllo 15 TIM2 (TIM15_CR2) . . . . . . . . . . . . . . . . . . . . . 1291 35.5.3 Registro di controllo modalità slave TIM15 (TIM15_SMCR) . . . . . . . . . . . 1293 35.5.4 Registro di abilitazione DMA/interrupt TIM15 (TIM15_DIER) . . . . . . . . . . 1294 35.5.5 Registro di stato TIM15 (TIM15_SR) . . . . . . . . . . . . . . . . . . . . . . 1295 35.5.6 Registro di generazione eventi TIM15 (TIM15_EGR) . . . . . . . . . . . . . . 1297 35.5.7 Registro modalità di cattura/confronto TIM15 1 (TIM15_CCMR1) . . . . . 1298 35.5.8 Registro modalità di cattura/confronto TIM15 1 [alternativo] (TIM15_CCMR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1299 35.5.9 Registro di abilitazione cattura/confronto TIM15 (TIM15_CCER) . . . . . . . 1302 35.5.10 Contatore TIM15 (TIM15_CNT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1305 35.5.11 Prescaler TIM15 (TIM15_PSC) . . . . . . . . . . . . . . . . . . . . . . . . . 1305 35.5.12 Registro di ricaricamento automatico TIM15 (TIM15_ARR) . . . . . . . . . . . . . . . . . . . 1305 35.5.13 Registro contatore di ripetizioni TIM15 (TIM15_RCR) . . . . . . . . . . . . . . 1306 35.5.14 Registro di cattura/confronto TIM15 1 (TIM15_CCR1) . . . . . . . . . . . . 1306 35.5.15 Registro di cattura/confronto TIM15 2 (TIM15_CCR2) . . . . . . . . . . . . 1307 35.5.16 Registro di interruzione e tempo morto TIM15 (TIM15_BDTR) . . . . . . . . . . 1307 35.5.17 Registro di controllo DMA TIM15 (TIM15_DCR) . . . . . . . . . . . . . . . . . 1310
36/2187
RM0438 Rev 8
Prezzo RM0438
Contenuto
35.6
35.5.18 Indirizzo DMA TIM15 per trasferimento completo (TIM15_DMAR) . . . . . . . . . . 1310 35.5.19 Registro opzioni TIM15 1 (TIM15_OR1) . . . . . . . . . . . . . . . . . . . . . . 1311 35.5.20 Registro opzioni TIM15 2 (TIM15_OR2) . . . . . . . . . . . . . . . . . . . . . . . 1311 35.5.21 Mappa registri TIM15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1313
Registri TIM16/TIM17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1316
35.6.1 Registro di controllo TIMx 1 (TIMx_CR1)(x = da 16 a 17) . . . . . . . . . . . . 1316 35.6.2 Registro di controllo TIMx 2 (TIMx_CR2)(x = da 16 a 17) . . . . . . . . . . . . 1317 35.6.3 Registro di abilitazione DMA/interrupt TIMx (TIMx_DIER)(x = da 16 a 17) . . . 1318 35.6.4 Registro di stato TIMx (TIMx_SR)(x = da 16 a 17) . . . . . . . . . . . . . . . 1319 35.6.5 Registro di generazione degli eventi TIMx (TIMx_EGR) (x = da 16 a 17) . . . . . . 1320 35.6.6 Registro 1 della modalità di cattura/confronto TIMx
(TIMx_CCMR1)(x = da 16 a 17) . . . . . . . . . . . . . . . . . . . . . . . . . . 1321 35.6.7 Registro 1 modalità cattura/confronto TIMx [alternativo] (TIMx_CCMR1)(x = da 16 a 17) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1322 35.6.8 Registro abilitazione cattura/confronto TIMx (TIMx_CCER)(x = da 16 a 17) . 1324 35.6.9 Contatore TIMx (TIMx_CNT)(x = da 16 a 17) . . . . . . . . . . . . . . . . . . . 1326 35.6.10 Prescaler TIMx (TIMx_PSC)(x = da 16 a 17) . . . . . . . . . . . . . . . . . . . 1327 35.6.11 Registro di ricaricamento automatico TIMx (TIMx_ARR)(x = da 16 a 17) . . . . . . . . . . . 1327 35.6.12 Registro contatore ripetizioni TIMx (TIMx_RCR)(x = da 16 a 17) . . . . . . 1328 35.6.13 Registro di cattura/confronto TIMx 1 (TIMx_CCR1)(x = da 16 a 17) . . . . 1328 35.6.14 Registro di interruzione e tempo morto TIMx (TIMx_BDTR)(x = da 16 a 17) . . . 1329 35.6.15 Registro di controllo DMA TIMx (TIMx_DCR)(x = da 16 a 17) . . . . . . . . . 1331 35.6.16 Indirizzo DMA TIMx per trasferimento completo (TIMx_DMAR) (x = da 16 a 17) . . . 1332 35.6.17 Registro opzioni TIM16 1 (TIM16_OR1) . . . . . . . . . . . . . . . . . . . . 1332 35.6.18 Registro opzioni TIM16 2 (TIM16_OR2) . . . . . . . . . . . . . . . . . . . . . . 1333 35.6.19 Registro opzioni TIM17 1 (TIM17_OR1) . . . . . . . . . . . . . . . . . . . . . 1334 35.6.20 Registro opzione TIM17 2 (TIM17_OR2) . . . . . . . . . . . . . . . . . . . . . . 1335 35.6.21 Mappa registri TIM16/TIM17 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1337
36
Timer di base (TIM6/TIM7) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1339
36.1 Introduzione a TIM6/TIM7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1339
36.2 Caratteristiche principali di TIM6/TIM7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1339
36.3 Descrizione funzionale TIM6/TIM7 . . . . . . . . . . . . . . . . . . . . . . . . 1340
36.3.1 Unità di base dei tempi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1340
36.3.2 Modalità di conteggio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342
36.3.3 Rimappatura dei bit UIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1345
36.3.4 Sorgente di clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1345
RM0438 Rev 8
37/2187
54
Contenuto
Prezzo RM0438
36.4
36.3.5 Modalità debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1346
Registri TIM6/TIM7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1346
36.4.1 Registro di controllo TIMx 1 (TIMx_CR1)(x = da 6 a 7) . . . . . . . . . . . . . . 1346 36.4.2 Registro di controllo TIMx 2 (TIMx_CR2)(x = da 6 a 7) . . . . . . . . . . . . . . . 1348 36.4.3 Registro di abilitazione DMA/interrupt TIMx (TIMx_DIER)(x = da 6 a 7) . . . . 1348 36.4.4 Registro di stato TIMx (TIMx_SR)(x = da 6 a 7) . . . . . . . . . . . . . . . . . 1349 36.4.5 Registro di generazione eventi TIMx (TIMx_EGR) (x = da 6 a 7) . . . . . . . . 1349 36.4.6 Contatore TIMx (TIMx_CNT) (x = da 6 a 7) . . . . . . . . . . . . . . . . . . . . . 1349 36.4.7 Prescaler TIMx (TIMx_PSC) (x = da 6 a 7) . . . . . . . . . . . . . . . . . . . . . . . 1350 36.4.8 Registro di ricaricamento automatico TIMx (TIMx_ARR) (x = da 6 a 7) . . . . . . . . . . . 1350 36.4.9 Mappa dei registri TIMx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1351
37
Timer a basso consumo (LPTIM) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1352
37.1 Introduzione a LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1352
37.2 Caratteristiche principali di LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1352
37.3 Implementazione LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1352
37.4 Descrizione funzionale LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . 1353
37.4.1 Diagramma a blocchi LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1353
37.4.2 Pin LPTIM e segnali interni . . . . . . . . . . . . . . . . . . . . . . . . . 1353
37.4.3 Mappatura degli input e dei trigger LPTIM . . . . . . . . . . . . . . . . . . . . . . 1354
37.4.4 Azzeramento e clock LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1355
37.4.5 Filtro Glitch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1355
37.4.6 Prescaler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1356
37.4.7 Multiplexer di trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1356
37.4.8 Modalità operativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1357
37.4.9 Funzione di timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1359
37.4.10 Generazione di forme d'onda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1359
37.4.11 Aggiornamento del registro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1360
37.4.12 Modalità contatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1361
37.4.13 Abilitazione timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1362
37.4.14 Azzeramento del contatore del timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1362
37.4.15 Modalità encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1363
37.4.16 Contatore di ripetizioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1364
37.4.17 Modalità debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1365
37.5 Modalità a basso consumo LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1366
37.6 Interruzioni LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1366
38/2187
RM0438 Rev 8
Prezzo RM0438
Contenuto
37.7
Registri LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1367
37.7.1 Registro di stato e di interruzione LPTIM (LPTIM_ISR) . . . . . . . . . . . . 1367 37.7.2 Registro di cancellazione dell'interruzione LPTIM (LPTIM_ICR) . . . . . . . . . . . . . . . . . 1368 37.7.3 Registro di abilitazione dell'interruzione LPTIM (LPTIM_IER) . . . . . . . . . . . . . . . . 1369 37.7.4 Registro di configurazione LPTIM (LPTIM_CFGR) . . . . . . . . . . . . . . . . . . 1370 37.7.5 Registro di controllo LPTIM (LPTIM_CR) . . . . . . . . . . . . . . . . . . . . . 1373 37.7.6 Confronto LPTIM r
Documenti / Risorse
![]() |
Serie ST STM32L5 altamente sicura con basso consumo energetico [pdf] Guida utente RM0438, Serie STM32L5, Altamente sicura con basso consumo energetico, Serie STM32L5, Altamente sicura con basso consumo energetico, Basso consumo energetico, Consumo |