Řada STM32L5 s vysokou bezpečností a nízkou spotřebou energie
“
Specifikace:
- Název produktu: RM0438 Referenční manuál
- Revize: Rev 8
- Stránky: 1 až 2187
- Datum vydání: červen 2025
- Výrobce: www.st.com
Informace o produktu:
Referenční manuál RM0438 poskytuje podrobné informace o
architektura paměti a sběrnice, bezpečnostní architektura TrustZone,
organizace paměti, vestavěný SRAM, flash paměťview, bota
konfigurace a zabezpečení systému.
Návod k použití produktu:
Architektura paměti a sběrnice:
Architektura systému zahrnuje rychlou sběrnici C-bus, pomalou sběrnici C-bus a sběrnici S-bus.
Sběrnice DMA, sběrnice DMA řadiče SDMMC a BusMatrix.
Architektura zabezpečení TrustZone:
Vysvětluje výchozí stav zabezpečení TrustZone a TrustZone
periferní klasifikace.
Organizace paměti:
Popisuje mapu paměti, adresy hranic registrů a
organizace vestavěné SRAM paměti.
Vestavěná SRAM:
kontrola parity SRAM2, ochrana proti zápisu, ochrana proti čtení,
operace mazání.
Flash paměťview:
Poskytuje přesview flash paměti použité v systému.
Konfigurace spouštění:
Zahrnuje nastavení konfigurace spouštění systému.
Zabezpečení systému:
Úvod do bezpečnostních opatření systému.
Často kladené otázky (FAQ):
Otázka: Kde najdu informace o resetování registru
hodnoty?
A: Hodnoty resetování registru jsou podrobně popsány v části 1.3
manuál.
Otázka: Co je bezpečnostní architektura TrustZone?
A: Architektura zabezpečení TrustZone je vysvětlena v části 2.2.
manuálu.
Otázka: Jak nakonfiguruji nastavení spouštění?
A: Pokyny pro konfiguraci spouštění naleznete v části 3.
manuálu.
“`
Referenční manuál RM0438
Pokročilé 32bitové mikrokontroléry řady STM5L32 založené na technologii Arm®
Zavedení
Tato referenční příručka je určena pro vývojáře aplikací. Poskytuje kompletní informace o tom, jak používat paměť a periferie mikrokontrolérů STM32L552xx a STM32L562xx. STM32L552xx a STM32L562xx patří do řady mikrokontrolérů STM32L5x2 s různými velikostmi paměti, pouzdry a periferiemi. Informace o objednání, mechanické a elektrické vlastnosti zařízení naleznete v příslušných datových listech. Informace o jádru Arm® Cortex®-M33 naleznete v technické referenční příručce Cortex®-M33. Mikroprocesory STM32L552xx a STM32L562xx obsahují nejmodernější patentovanou technologii ST.
Související dokumenty
· Technická referenční příručka Cortex®-M33 je k dispozici na http://infocenter.arm.com · Datové listy STM32L552xx a STM32L562xx · Listy s chybami STM32L552xx a STM32L562xx
června 2025
RM0438 Revize 8
1/2187
www.st.com
1
Obsah
Obsah
RM0438
1
Dokumentační konvence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
1.1 Obecné informace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
1.2 Seznam zkratek pro registry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
1.3 Hodnota resetování registru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
1.4 Slovník pojmů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
1.5 Dostupnost periferních zařízení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
2
Architektura paměti a sběrnice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
2.1 Architektura systému . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
2.1.1 Rychlá sběrnice C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.1.2 Pomalá sběrnice C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.1.3 Sběrnice S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.1.4 Sběrnice DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
2.1.5 Sběrnice DMA řadiče SDMMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
2.1.6 Sběrnicová matice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
2.2 Bezpečnostní architektura TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
2.2.1 Výchozí stav zabezpečení TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
2.2.2 Klasifikace periferních zařízení TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
2.3 Organizace paměti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
2.3.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
2.3.2 Mapa paměti a adresy hranic registrů . . . . . . . . . . . . . . . . . . 87
2.4 Vestavěná paměť SRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
2.4.1 Kontrola parity SRAM2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
2.4.2 Ochrana proti zápisu do paměti SRAM2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
2.4.3 Ochrana proti čtení SRAM2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
2.4.4 Mazání SRAM2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
2.5 Flash paměť přesview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
3
Konfigurace spouštění . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4
Zabezpečení systému . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.2 Klíčové bezpečnostní prvky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
2/2187
RM0438 Revize 8
RM0438
Obsah
4.3 4.4 4.5 4.6
4.7
4.9 4.10 4.11 4.12 4.13
Bezpečná instalace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Bezpečné spouštění . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.4.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 4.4.2 Unikátní spouštěcí položka a BOOT_LOCK . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 4.4.3 Neměnný kořen důvěryhodnosti v systémové flash paměti . . . . . . . . . . . . . . . . . . 102
Bezpečná aktualizace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Izolace zdrojů pomocí TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
4.6.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 4.6.2 Bezpečnostní architektura TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 4.6.3 Bezpečnostní rozšíření Armv8-M pro Cortex-M33 . . . . . . . . . . . . . . . . . . . . . . . . 104 4.6.4 Alokace paměti a periferií pomocí IDAU/SAU . . . . . . . . . . . . . . . 104 4.6.5 Alokace paměti a periferií pomocí GTZC . . . . . . . . . . . . . . . . . . . 106 4.6.6 Správa zabezpečení v periferiích podporujících TrustZone . . . . . . . . . . . . . . . . 109 4.6.7 Aktivace zabezpečení TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 4.6.8 Deaktivace zabezpečení TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Další izolace zdrojů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117
4.7.1 Dočasná izolace s využitím bezpečné ochrany kůže (HDP) . . . . . . . . . . . . . 117
Bezpečné provedení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .118
4.8.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 4.8.2 Jednotka ochrany paměti (MPU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 4.8.3 Ochrana proti zápisu do vestavěné flash paměti . . . . . . . . . . . . . . . . . . . . . . . . . . 118 4.8.4 Tampdetekce a reakce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Bezpečné úložiště . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
4.9.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 4.9.2 Jedinečné ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Kryptoměnové enginy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
4.10.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 4.10.2 Vlastnosti kryptoměnových modulů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 4.10.3 Dešifrovací engine za běhu (OTFDEC) . . . . . . . . . . . . . . . . . . . . . . . . . 122
Životní cyklus produktu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
4.11.1 Správa životního cyklu s ochranou proti čtení (RDP) . . . . . . . . . . . . . . 124 4.11.2 Doporučená nastavení bajtů voleb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Ladění s řízením přístupu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
4.12.1 Ochrana proti ladění s ochranou čtení (RDP) . . . . . . . . . . . . . . . . . 125
Ochrana duševního vlastnictví softwaru a kolaborativní vývoj 126
RM0438 Revize 8
3/2187
54
Obsah
RM0438
4.13.1
4.13.2
Ochrana duševního vlastnictví softwaru s ochranou proti čtení (RDP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Ochrana duševního vlastnictví softwaru pomocí OTFDEC . . . . . . . . . . . . 127
Další ochrana duševního vlastnictví softwaru . . . . . . . . . . . . . . . . . . 129
5
Globální řadič TrustZone® (GTZC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
5.1 Úvod do GTZC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
5.2 Hlavní rysy GTZC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
5.2.1 Architektura systému GTZC TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
5.3 Funkční popis GTZC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
5.3.1 Blokové schéma GTZC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
5.3.2 Definice nelegálního přístupu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
5.3.3 Bezpečnostní řadič TrustZone (TZSC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
5.3.4 Řadič ochrany paměti – blokový (MPCBB) . . . . . . . . . . . . . 134
5.3.5 Řídicí jednotka nelegálního přístupu TrustZone (TZIC) . . . . . . . . . . . . . . . . . . . . . . . 135
5.3.6 Stav zapnutí/resetování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
5.3.7 Požadavky DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
5.4 Akce GTZC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
5.5 Registry GTZC_TZSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
5.5.1 Řídicí registr GTZC_TZSC (GTZC_TZSC_CR) . . . . . . . . . . . . . . . 136
5.5.2
GTZC_TZSC Registr zabezpečené konfigurace 1 (GTZC_TZSC_SECCFGR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
5.5.3
GTZC_TZSC Registr zabezpečené konfigurace 2 (GTZC_TZSC_SECCFGR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
5.5.4
Registr konfigurace oprávnění GTZC_TZSC 1 (GTZC_TZSC_PRIVCFGR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
5.5.5
Registr konfigurace oprávnění GTZC_TZSC 2 (GTZC_TZSC_PRIVCFGR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
5.5.6
GTZC_TZSC externí paměť x registr nezabezpečených vodoznaků 1 (GTZC_TZSC_MPCWMxANSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
5.5.7
GTZC_TZSC externí paměť x registr nezabezpečených vodoznaků 2 (GTZC_TZSC_MPCWMxBNSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
5.5.8 Mapa registrů GTZC_TZSC a hodnoty resetu . . . . . . . . . . . . . . . . . . . . . 148
5.6 Registry GTZC_MPCBB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
5.6.1 Řídicí registr GTZC_MPCBBx (GTZC_MPCBBx_CR) (x = 1 až 2) . 150
5.6.2 GTZC_MPCBB1 registr zámku 1 (GTZC_MPCBB1_LCKVTR1) . . . . . . 151
5.6.3
GTZC_MPCBB2 registr zámku 1 (GTZC_MPCBB2_LCKVTR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
4/2187
RM0438 Revize 8
RM0438
Obsah
5.6.4
Vektorový registr y GTZC_MPCBBx (GTZC_MPCBBx_VCTRy) (x = 1 až 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
5.6.5 Mapa registru GTZC_MPCBB1 a hodnoty resetu . . . . . . . . . . . . . . . . . 153
5.6.6 Mapa registru GTZC_MPCBB2 a hodnoty resetu . . . . . . . . . . . . . . . . . 153
5.7 Registry GTZC_TZIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
5.7.1 Registr povolení přerušení GTZC_TZIC 1 (GTZC_TZIC_IER1) . . . . . . . 154
5.7.2 Registr povolení přerušení GTZC_TZIC 2 (GTZC_TZIC_IER2) . . . . . . . 157
5.7.3 Registr povolení přerušení GTZC_TZIC 3 (GTZC_TZIC_IER3) . . . . . . . 159
5.7.4 Stavový registr GTZC_TZIC 1 (GTZC_TZIC_SR1) . . . . . . . . . . . . . . . 160
5.7.5 Stavový registr GTZC_TZIC 2 (GTZC_TZIC_SR2) . . . . . . . . . . . . . . . 163
5.7.6 Stavový registr GTZC_TZIC 3 (GTZC_TZIC_SR3) . . . . . . . . . . . . . . . 165
5.7.7 GTZC_TZIC Příznak vymazání registru 1 (GTZC_TZIC_FCR1) . . . . . . . . . . . . 166
5.7.8 GTZC_TZIC Příznak vymazání registru 2 (GTZC_TZIC_FCR2) . . . . . . . . . . . . 169
5.7.9 GTZC_TZIC Příznak vymazání registru 3 (GTZC_TZIC_FCR3) . . . . . . . . . . . . 171
5.7.10 Mapa registrů GTZC_TZIC a hodnoty resetu . . . . . . . . . . . . . . . . . . . . . . 172
6
Vestavěná flash paměť (FLASH) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
6.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
6.2 Hlavní vlastnosti paměti FLASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
6.3 Funkční popis flash paměti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
6.3.1 Organizace flash paměti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
6.3.2 Korekce chybového kódu (ECC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
6.3.3 Latence přístupu pro čtení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
6.3.4 Nízkoobjtage četl/a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
6.3.5 Operace programování a mazání paměti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
6.3.6 Sekvence mazání hlavní paměti Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
6.3.7 Programovací sekvence hlavní flash paměti . . . . . . . . . . . . . . . . . . . . 185
6.3.8 Příznaky chyb flash paměti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
6.3.9
Čtení během zápisu (RWW) k dispozici pouze v režimu dvou bank (DBANK = 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
6.4 Bajty volitelné paměti flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
6.4.1 Popis bajtů voleb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
6.4.2 Programování volitelných bajtů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
6.5 Zabezpečení a ochrana oprávnění Flash TrustZone . . . . . . . . . . . . . . . . 193
6.5.1 Bezpečnostní ochrana TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
6.5.2 Bezpečná ochrana oblasti na základě vodoznaku . . . . . . . . . . . . . . . . . . . . . . . . 195
6.5.3 Bezpečná ochrana kůže (HDP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
RM0438 Revize 8
5/2187
54
Obsah
RM0438
6.5.4 Ochrana zabezpečené blokové oblasti (SECBB) . . . . . . . . . . . . . . . . . . . . 196 6.5.5 Vynucení bootování ze zabezpečené paměťové adresy . . . . . . . . . . . . . . . . . . . . . . 197 6.5.6 Stav atributů zabezpečení flash paměti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 6.5.7 Registry flash paměti – privilegované a neprivilegované režimy . . . . . . . . . . . . . . . . 198
6.6 Zabezpečená systémová paměť . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
6.6.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 6.6.2 RSS alokuje zdroje zavaděči . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 6.6.3 Funkce RSSLIB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
6.7 Ochrana paměti FLASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
6.7.1 Ochrana proti zápisu (WRP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 6.7.2 Ochrana proti čtení (RDP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
6.8 Přerušení FLASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 6.9 Registry FLASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
6.9.1 Registr řízení přístupu k flash paměti (FLASH_ACR) . . . . . . . . . . . . . . . . . . . . . 213 6.9.2 Registr klíčů pro vypnutí napájení flash paměti (FLASH_PDKEYR) . . . . . . . . . . . . . . . 214 6.9.3 Registr nezabezpečených klíčů flash paměti (FLASH_NSKEYR) . . . . . . . . . . . . . . . 215 6.9.4 Registr zabezpečených klíčů flash paměti (FLASH_SECKEYR) . . . . . . . . . . . . . . . . . 215 6.9.5 Registr klíčů možností flash paměti (FLASH_OPTKEYR) . . . . . . . . . . . . . . . . . . 216 6.9.6 Blesk s nízkou hlasitostítagRegistr klíče (FLASH_LVEKEYR) . . . . . . . . . . . . . . . . 216 6.9.7 Registr stavu flash (FLASH_NSSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 6.9.8 Registr stavu flash (FLASH_SECSR) . . . . . . . . . . . . . . . . . . . . . . . . . . 218 6.9.9 Registr nezabezpečeného řízení flash (FLASH_NSCR) . . . . . . . . . . . . . . . . 220 6.9.10 Registr zabezpečeného řízení flash paměti (FLASH_SECCR) . . . . . . . . . . . . . . . . . . . 222 6.9.11 Registr ECC flash paměti (FLASH_ECCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 6.9.12 Registr voleb flash paměti (FLASH_OPTR) . . . . . . . . . . . . . . . . . . . . . . . . . . 225 6.9.13 Registr nezabezpečené bootovací adresy 0 paměti Flash (FLASH_NSBOOTADD0R) 227 6.9.14 Registr nezabezpečené bootovací adresy 1 paměti Flash (FLASH_NSBOOTADD1R) 228 6.9.15 Registr zabezpečené bootovací adresy 0 paměti Flash (FLASH_SECBOOTADD0R) . . 228 6.9.16 Registr zabezpečené bootovací adresy 1 paměti Flash banka 1 (FLASH_SECWM1R1) . . . . 229 6.9.17 Registr zabezpečené bootovací adresy 1 paměti Flash (FLASH_SECWM2R1) . . . . . . . . 2 230 Registr adresy oblasti A paměti Flash WPR6.9.18 (FLASH_WRP1AR) . . . . . . . . . . 1 231 Registr adresy oblasti B Flash WPR6.9.19 (FLASH_WRP1BR) . . . . . . . . . . 1 232 Registr zabezpečeného watermak6.9.20 Flash (FLASH_SECWM2R2) . . . . . . . . . . 1 233 Registr zabezpečeného watermak6.9.21 Flash 2 (FLASH_SECWM2R2) . . . . . . . . 2 234 Registr adresy oblasti A Flash WPR6.9.22 (FLASH_WRP2AR) . . . . . . . . . 2 235 Registr adresy oblasti B Flash WPR6.9.23 (FLASH_WRP2BR) . . . . . . . . . 2
6/2187
RM0438 Revize 8
RM0438
Obsah
6.9.24
6.9.25
6.9.26 6.9.27 6.9.28
Registr banky 1 založený na zabezpečených blokech FLASH (FLASH_SECBB1Rx) (kde x=1..4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Registr banky 2 založený na zabezpečených blokech FLASH (FLASH_SECBB2Rx) (kde x=1..4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Registr řízení zabezpečeného HDP FLASH (FLASH_SECHDPCR) . . . . . . . . 238
Registr konfigurace oprávnění FLASH (FLASH_PRIVCFGR) . . . . . . . 238
Mapa registrů FLASH a hodnoty resetování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
7
Mezipaměť instrukcí (ICACHE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
7.1 Úvod do ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
7.2 Hlavní vlastnosti ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
7.3 Implementace ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
7.4 Funkční popis ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
7.4.1 Blokové schéma ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
7.4.2 Reset a hodiny ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
7.4.3 ICACHE TAG paměť . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
7.4.4 Přímé mapování ICACHE (jednosměrná mezipaměť) . . . . . . . . . . . . . . . . . . . . . . . . . 1
7.4.5 Povolení ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
7.4.6 Provoz ukládatelný a neukládatelný do mezipaměti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
7.4.7 Přemapování adres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
7.4.8 Přístupy s možností ukládání do mezipaměti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
7.4.9 Duální cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
7.4.10 Zabezpečení ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
7.4.11 Údržba ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
7.4.12 Monitorování výkonu ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
7.4.13 Zavádění ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
7.5 Režimy s nízkou spotřebou energie ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
7.6 Správa chyb a přerušení ICACHE . . . . . . . . . . . . . . . . . . . . . . . . 253
7.7 Registry ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
7.7.1 Řídicí registr ICACHE (ICACHE_CR) . . . . . . . . . . . . . . . . . . . . . . . . . 253
7.7.2 Stavový registr ICACHE (ICACHE_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
7.7.3 Registr povolení přerušení ICACHE (ICACHE_IER) . . . . . . . . . . . . . . . 255
7.7.4 Registr pro vymazání příznaku ICACHE (ICACHE_FCR) . . . . . . . . . . . . . . . . . . . . 255
7.7.5 Registr monitoru zásahů ICACHE (ICACHE_HMONR) . . . . . . . . . . . . . . . . 256
7.7.6 Registr monitoru chyb ICACHE (ICACHE_MMONR) . . . . . . . . . . . . . . 256
7.7.7 Konfigurační registr regionu ICACHE x (ICACHE_CRRx) . . . . . . . . . 256
7.7.8 Mapa registrů ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
RM0438 Revize 8
7/2187
54
Obsah
RM0438
8
Řízení výkonu (PWR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
8.1 Napájecí zdroje a napájecí domény . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
8.1.1 Nezávislé napájení analogových periferií . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
8.1.2 Nezávislá napájecí lišta I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
8.1.3 Napájení nezávislých USB transceiverů . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
8.1.4 Doména záložní baterie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
8.2 Objem napájení systémutagnařízení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
8.2.1 svtagregulátor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
8.2.2 Vestavěný snižující měnič SMPS . . . . . . . . . . . . . . . . . . . . . . . . . . 267
8.2.3 Schéma napájení snižujícího měniče SMPS . . . . . . . . . . . . . . . 268
8.2.4 Snižující měnič SMPS versus režim s nízkou spotřebou energie . . . . . . . . . . . . . 269
8.2.5 Dynamický objemtagspráva škálování . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
8.2.6 Doména VDD12 a externí SMPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
8.3 Dohled nad napájením . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
8.3.1
Reset při zapnutí (POR) / reset při vypnutí (PDR) / reset při výpadku napětí (BOR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
8.3.2 Programovatelný objemtagdetektor (PVD) . . . . . . . . . . . . . . . . . . . . . . . . . . 274
8.3.3 Periferní objemtage monitorování (PVM) . . . . . . . . . . . . . . . . . . . . . . . . . . 275
8.3.4 Horní objemtagmonitorování prahových hodnot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
8.3.5 Monitorování teplotního prahu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
8.4 Správa napájení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
8.4.1 Režimy napájení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
8.4.2 Provozní režim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
8.4.3 Režim provozu s nízkým příkonem (LP provoz) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
8.4.4 Režimy s nízkou spotřebou energie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
8.4.5 Režim spánku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
8.4.6 Režim spánku s nízkou spotřebou energie (LP sleep) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
8.4.7 Režim Stop 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
8.4.8 Režim Stop 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
8.4.9 Režim Stop 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
8.4.10 Pohotovostní režim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
8.4.11 Režim vypnutí . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
8.4.12 Automatické probuzení z režimu nízké spotřeby energie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
8.5 Zabezpečení PWR TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
8.5.1 Privilegované a neprivilegované režimy PWR . . . . . . . . . . . . . . . . . . . . . . 298
8.6 Registry PWR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
8/2187
RM0438 Revize 8
RM0438
Obsah
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
Registr řízení výkonu 1 (PWR_CR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Registr řízení výkonu 2 (PWR_CR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 Registr řízení výkonu 3 (PWR_CR3) . . . . . . . . . . . . . . . . . . . . . . . . 301 Registr řízení výkonu 4 (PWR_CR4) . . . . . . . . . . . . . . . . . . . . . . . . . . 303 Registr stavu napájení 1 (PWR_SR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 Registr stavu napájení 2 (PWR_SR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 Registr pro vymazání stavu napájení (PWR_SCR) . . . . . . . . . . . . . . . . . . . . . . 307 Registr pro řízení pull-up portu A (PWR_PUCRA) . . . . . . . . . . . . . . 308 Registr pro řízení pull-down napájecího portu A (PWR_PDCRA) . . . . . . . . . . 308 Registr pro řízení pull-up napájecího portu B (PWR_PUCRB) . . . . . . . . . . . . . 309 Registr pro řízení pull-down napájecího portu B (PWR_PDCRB) . . . . . . . . . . 310 Registr pro řízení pull-up napájecího portu C (PWR_PUCRC) . . . . . . . . . . . 310 Registr pro řízení pull-down napájecího portu C (PWR_PDCRC) . . . . . . . . . . 311 Registr pro řízení pull-up napájecího portu D (PWR_PUCRD) . . . . . . . . . . . . . 311 Registr pro řízení pull-down napájecího portu D (PWR_PDCRD) . . . . . . . . . . 312 Registr pro řízení pull-up napájecího portu E (PWR_PUCRE) . . . . . . . . . . . . . 313 Registr pro řízení pull-down napájecího portu E (PWR_PDCRE) . . . . . . . . . . 313 Registr pro řízení pull-up napájecího portu F (PWR_PUCRF) . . . . . . . . . . . . 314 Registr pro řízení pull-down napájecího portu F (PWR_PDCRF) . . . . . . . . . . . 314 Registr pro řízení pull-upu napájecího portu G (PWR_PUCRG) . . . . . . . . . . . . . 315 Registr pro řízení pull-downu napájecího portu G (PWR_PDCRG) . . . . . . . . . . . 316 Registr pro řízení pull-upu napájecího portu H (PWR_PUCRH) . . . . . . . . . . . . 316 Registr pro řízení pull-downu napájecího portu H (PWR_PDCRH) . . . . . . . . . . . 317 Registr zabezpečené konfigurace napájení (PWR_SECCFGR) . . . . . . . . . . . 317 Registr konfigurace oprávnění napájení (PWR_PRIVCFGR) . . . . . . . . . . 319 Mapa registru PWR a hodnoty resetování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
9
Reset a řízení hodin (RCC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
9.1 Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
9.1.1 Reset napájení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
9.1.2 Reset systému . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
9.1.3 Reset záložní domény . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
9.2 Piny RCC a interní signály . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
9.3 Hodiny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
9.3.1 Hodiny HSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
9.3.2 Hodiny HSI16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
9.3.3 Takt MSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
RM0438 Revize 8
9/2187
54
Obsah
RM0438
9.3.4 Taktovací frekvence HSI48 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 9.3.5 PLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 9.3.6 Taktovací frekvence LSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 9.3.7 Systémové hodiny LSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 9.3.8 Takty LSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 9.3.9 Výběr systémových hodin (SYSCLK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 9.3.10 Frekvence zdroje hodin versus objemtagškálování . . . . . . . . . . . . . . . . . . . . 335 9.3.11 Systém zabezpečení hodin (CSS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 9.3.12 Systém zabezpečení hodin na LSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 9.3.13 Hodiny ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 9.3.14 Hodiny RTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 9.3.15 Hodiny časovače . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 . . . . . . . . . . . . . . . 9.3.16 337 Hlídací hodiny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.17 337 Možnost odpojení hodin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.18 15 Měření interních/externích hodin s TIM16/TIM17/TIM337 . . . . . 9.3.19 XNUMX Registry pro povolení periferních hodin
(RCC_AHBxENR, RCC_APBxENRy) . . . . . . . . . . . . . . . . . . . . . . . . . . 340
9.4 Režimy s nízkou spotřebou energie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 9.5 Zabezpečení RCC TrustZone® . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 9.6 Privilegovaný a neprivilegovaný režim RCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 9.7 Přerušení RCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 9.8 Registry RCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
9.8.1 Registr řízení hodin RCC (RCC_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 9.8.2 Registr kalibrace interních zdrojů hodin RCC (RCC_ICSCR) . . . . . . 348 9.8.3 Registr konfigurace hodin RCC (RCC_CFGR) . . . . . . . . . . . . . . . . 349 9.8.4 Konfigurační registr RCC PLL (RCC_PLLCFGR) . . . . . . . . . . . . . . 352 9.8.5 Konfigurační registr RCC PLLSAI1 (RCC_PLLSAI1CFGR) . . . . . . . . 355 9.8.6 Konfigurační registr RCC PLLSAI2 (RCC_PLLSAI2CFGR) . . . . . . . . 358 9.8.7 Registr povolení přerušení hodin RCC (RCC_CIER) . . . . . . . . . . . . . . . . 360 9.8.8 Registr příznaků přerušení hodin RCC (RCC_CIFR) . . . . . . . . . . . . . . . . . . 361 9.8.9 Registr vymazání přerušení hodin RCC (RCC_CICR) . . . . . . . . . . . . . . . . . . 363 9.8.10 Registr resetování periferních zařízení RCC AHB1 (RCC_AHB1RSTR) . . . . . . . . . . 364 9.8.11 Registr resetování periferních zařízení RCC AHB2 (RCC_AHB2RSTR) . . . . . . . . . . 365 9.8.12 Registr resetování periferních zařízení RCC AHB3 (RCC_AHB3RSTR) . . . . . . . . . 367 9.8.13 Registr resetování periferních zařízení RCC APB1 1 (RCC_APB1RSTR1) . . . . . . . . 368 9.8.14 Registr resetování periferních zařízení RCC APB1 2 (RCC_APB1RSTR2) . . . . . . . . . 370 9.8.15 Registr resetování periferních zařízení RCC APB2 (RCC_APB2RSTR) . . . . . . . . . . 371
10/2187
RM0438 Revize 8
RM0438
Obsah
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
Registr povolení periferních hodin RCC AHB1 (RCC_AHB1ENR) . . . . . 373 Registr povolení periferních hodin RCC AHB2 (RCC_AHB2ENR) . . . . . 374 Registr povolení periferních hodin RCC AHB3 (RCC_AHB3ENR) . . . . . . 376
Registr povolení periferních hodin RCC APB1 1 (RCC_APB1ENR1) . . . 377 Registr povolení periferních hodin RCC APB1 2 (RCC_APB1ENR2) . . . 379
Registr povolení periferních hodin RCC APB2 (RCC_APB2ENR) . . . . . 381 Registr povolení periferních hodin RCC AHB1 v režimech spánku a zastavení (RCC_AHB1SMENR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 Registr povolení periferních hodin RCC AHB2 v režimech spánku a zastavení (RCC_AHB2SMENR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Registr povolení periferních hodin RCC AHB3 v režimech Sleep a Stop (RCC_AHB3SMENR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 Registr povolení periferních hodin RCC APB1 v režimech Sleep a Stop 1 (RCC_APB1SMENR1) . . . . . . . . . . . . . . . . . . . . . . . . . . 387 Registr povolení periferních hodin RCC APB1 v režimech Sleep a Stop 2 (RCC_APB1SMENR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
Registr povolení periferních hodin RCC APB2 v režimech spánku a zastavení (RCC_APB2SMENR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 Registr konfigurace nezávislých hodin periferií RCC 1 (RCC_CCIPR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 Registr řízení záložní domény RCC (RCC_BDCR) . . . . . . . . . . . . . ... 395
Řídicí/stavový registr RCC (RCC_CSR) . . . . . . . . . . . . . . . . . . . . . . . . . . 398 Registr RC pro obnovu hodin RCC (RCC_CRRCR) . . . . . . . . . . . . . . . . . 400 Registr 2 pro konfiguraci nezávislých hodin periferií RCC (RCC_CCIPR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Konfigurační registr zpoždění OCTOSPI (RCC_DLYCFGR) . . . . . . . . . . 402 Registr zabezpečené konfigurace RCC (RCC_SECCFGR) . . . . . . . . . . . . . 403 Registr zabezpečeného stavu RCC (RCC_SECSR) . . . . . . . . . . . . . . . . . . . 405
Registr stavu zabezpečení RCC AHB1 (RCC_AHB1SECSR) . . . . . . . . . . . 407 Registr stavu zabezpečení RCC AHB2 (RCC_AHB2SECSR) . . . . . . . . . . 408 Registr stavu zabezpečení RCC AHB3 (RCC_AHB3SECSR) . . . . . . . . . . 410
Registr stavu zabezpečení RCC APB1 1 (RCC_APB1SECSR1) . . . . . . . . 411 Registr stavu zabezpečení RCC APB1 2 (RCC_APB1SECSR2) . . . . . . . 414 Registr stavu zabezpečení RCC APB2 (RCC_APB2SECSR) . . . . . . . . . . 415
Mapa registrů RCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
10
Systém pro obnovu hodin (CRS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
10.1 Úvod do počítačového systému (CRS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
10.2 Hlavní vlastnosti počítačového rezervačního systému . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
RM0438 Revize 8
11/2187
54
Obsah
RM0438
10.3
10.5 10.6 10.7
Implementace CRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 Funkční popis CRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
10.4.1 Blokové schéma CRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 10.4.2 Vnitřní signály CRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 10.4.3 Vnitřní signály CRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 10.4.4 Synchronizační vstup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 10.4.5 Měření frekvenční chyby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 10.4.6 Vyhodnocení frekvenční chyby a automatické trimování . . . . . . . . . . . . . . 428 XNUMX Inicializace a konfigurace CRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XNUMX
CRS v režimech s nízkou spotřebou energie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 Přerušení CRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 Registry CRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
10.7.1 Řídicí registr CRS (CRS_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 10.7.2 Konfigurační registr CRS (CRS_CFGR) . . . . . . . . . . . . . . . . . . . . . . . 430 10.7.3 Registr přerušení a stavu CRS (CRS_ISR) . . . . . . . . . . . . . . . . . . 431 10.7.4 Registr pro vymazání příznaku přerušení CRS (CRS_ICR) . . . . . . . . . . . . . . . . . . . . . . . 433 10.7.5 Mapa registru CRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
11
Univerzální vstupy/výstupy (GPIO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
11.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
11.2 Hlavní vlastnosti GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
11.3 Funkční popis GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
11.3.1 Univerzální I/O (GPIO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
11.3.2 Multiplexor a mapování alternativních funkcí I/O pinů . . . . . . . . . . . . . . . 438
11.3.3 Registry pro řízení I/O portů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
11.3.4 Datové registry I/O portů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
11.3.5 Bitové zpracování I/O dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
11.3.6 Mechanismus blokování GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
11.3.7 Alternativní funkce I/O vstup/výstup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
11.3.8 Externí linky pro přerušení/probuzení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
11.3.9 Konfigurace vstupu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
11.3.10 Konfigurace výstupu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
11.3.11 Konfigurace alternativní funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
11.3.12 Analogová konfigurace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
11.3.13 Použití pinů oscilátoru HSE nebo LSE jako GPIO . . . . . . . . . . . . . . . . . 443
11.3.14 Použití pinů GPIO v napájecí doméně RTC . . . . . . . . . . . . . . . . . 443
11.3.15 Použití PH3 jako GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
12/2187
RM0438 Revize 8
RM0438
Obsah
11.4 11.5 11.6
Zabezpečení TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
Privilegovaný a neprivilegovaný režim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
Registry GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
11.6.1 Registr režimu portu GPIO (GPIOx_MODER) (x =A až H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
11.6.2 Registr typu výstupu GPIO portu (GPIOx_OTYPER) (x = A až H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
11.6.3 Registr rychlosti výstupu GPIO portu (GPIOx_OSPEEDR) (x = A až H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
11.6.4 Registr GPIO portu pro zvyšování/snižování hodnot (GPIOx_PUPDR) (x = A až H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
11.6.5 Registr vstupních dat portu GPIO (GPIOx_IDR) (x = A až H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
11.6.6 Registr výstupních dat portu GPIO (GPIOx_ODR) (x = A až H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
11.6.7 Registr nastavení/resetu bitů portu GPIO (GPIOx_BSRR) (x = A až H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
11.6.8 Registr zámku konfigurace GPIO portu (GPIOx_LCKR) (x = A až H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
11.6.9 Nízký registr alternativní funkce GPIO (GPIOx_AFRL) (x = A až H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
11.6.10 Horní registr alternativní funkce GPIO (GPIOx_AFRH) (x = A až H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
11.6.11 Registr resetování bitů portu GPIO (GPIOx_BRR) (x = A až H) . . . . . . . . . . . . . 452
11.6.12 Registr zabezpečené konfigurace GPIO (GPIOx_SECCFGR) (x = A až H) . 452
11.6.13 Mapa registrů GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
12
Řadič konfigurace systému (SYSCFG) . . . . . . . . . . . . . . . . . . . . 456
12.1 Hlavní vlastnosti SYSCFG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
12.2 Zabezpečení a oprávnění SYSCFG TrustZone . . . . . . . . . . . . . . . . . . . . . . . . 456
12.3 Registry SYSCFG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
12.3.1 Registr zabezpečené konfigurace SYSCFG (SYSCFG_SECCFGR) . . . . . 458
12.3.2 Konfigurační registr SYSCFG 1 (SYSCFG_CFGR1) . . . . . . . . . . . . 459
12.3.3 Registr masky přerušení FPU (SYSCFG_FPUIMR) . . . . . . . . . . . . . . . . 461
12.3.4 Registr nezabezpečeného zámku CPU SYSCFG (SYSCFG_CNSLCKR) . . . . . 461
12.3.5 Registr zabezpečeného zámku CPU SYSCFG (SYSCFG_CSLOCKR) . . . . . . . . 462
12.3.6 Konfigurační registr SYSCFG 2 (SYSCFG_CFGR2) . . . . . . . . . . . . 463
12.3.7 Řídicí a stavový registr SYSCFG SRAM2 (SYSCFG_SCSR) . . . . 464
12.3.8 Registr klíče SYSCFG SRAM2 (SYSCFG_SKR) . . . . . . . . . . . . . . . . 465
RM0438 Revize 8
13/2187
54
Obsah
RM0438
12.3.9 Registr ochrany proti zápisu SYSCFG SRAM2 (SYSCFG_SWPR) . . . . . . 465 12.3.10 Registr ochrany proti zápisu 2 SYSCFG SRAM2 (SYSCFG_SWPR2) . . . 466 12.3.11 Registr příkazů SYSCFG RSS (SYSCFG_RSSCMDR) . . . . . . . . . 466 12.3.12 Mapa registrů SYSCFG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
13
Matice propojení periferií . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
13.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
13.2 Souhrn připojení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
13.3 Podrobnosti o propojení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
13.3.1 Z časovače (TIM1/TIM2/TIM3/TIM4/TIM5/TIM8/TIM15/TIM16/TIM17) na časovač (TIM1/TIM2/TIM3/TIM4/TIM5/TIM8/TIM15) . . . . . . . . . . . . . . . . . 470
13.3.2 Z časovače (TIM1/TIM2/TIM3/TIM4/TIM6/TIM8/TIM15) a EXTI do ADC (ADC1/ADC2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
13.3.3 Z ADC1/ADC2 do časovače (TIM1/TIM8) . . . . . . . . . . . . . . . . . . . . . . . . 471
13.3.4 Z časovače (TIM2/TIM4/TIM5/TIM6/TIM7/TIM8) a EXTI do DAC (DAC1/DAC2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
13.3.5 Z časovače (TIM1/TIM3/TIM4/TIM6/TIM7/TIM8/TIM16/LPTIM1) a EXTI do DFSDM1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
13.3.6 Z DFSDM1 do časovače (TIM1/TIM8/TIM15/TIM16/TIM17) . . . . . . . . . 473
13.3.7 Z HSE, LSE, LSI, MSI, MCO, RTC do časovače (TIM2/TIM15/TIM16/TIM17) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
13.3.8 Z RTC, COMP1, COMP2 na časovač s nízkou spotřebou energie (LPTIM1/LPTIM2/LPTIM3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
13.3.9 Z časovače (TIM1/TIM2/TIM3/TIM8/TIM15) do komparátorů (COMP1/COMP2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
13.3.10 Z ADC (ADC1) do ADC (ADC2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
13.3.11 Z USB do časovače (TIM2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
13.3.12 Z interního analogového zdroje do ADC (ADC1/ADC2) a OPAMP (OP)AMP1/OPAM2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
13.3.13 Z komparátorů (COMP1/COMP2) k časovačům (TIM1/TIM2/TIM3/TIM8/TIM15/TIM16/TIM17) . . . . . . . . . . . . . . . . . . . . 475
13.3.14 Od systémových chyb k časovačům (TIM1/TIM8/TIM15/TIM16/TIM17) . . . . 476
13.3.15 Z časovačů (TIM16/TIM17) do IRTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
13.3.16 Z ADC (ADC1/ADC2) do DFSDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
14
Řadič pro přímý přístup k paměti (DMA) . . . . . . . . . . . . . . . . . . . . . . . . 478
14.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
14.2 Hlavní rysy DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
14.3 Implementace DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
14/2187
RM0438 Revize 8
RM0438
Obsah
14.4
14.5
14.3.1 DMA1 a DMA2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 14.3.2 Mapování požadavků DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
Funkční popis DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
14.4.1 Blokové schéma DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 14.4.2 Piny DMA a interní signály . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 14.4.3 Přenosy DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 14.4.4 Arbitráž DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 14.4.5 Kanály DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483 14.4.6 Šířka, zarovnání a endianita dat DMA . . . . . . . . . . . . . . . . . . . . . . . 488 14.4.7 Správa chyb DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
Přerušení DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490 Registry DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
14.6.1 Registr stavu přerušení DMA (DMA_ISR) . . . . . . . . . . . . . . . . . . . . . . . . . 490 14.6.2 Registr vymazání příznaku přerušení DMA (DMA_IFCR) . . . . . . . . . . . . . . . . . . 494 14.6.3 Konfigurační registr kanálu DMA x (DMA_CCRx) . . . . . . . . . . . . . 495 14.6.4 Registr počtu dat k přenosu kanálu DMA x (DMA_CNDTRx) . 500 14.6.5 Registr periferních adres kanálu DMA x (DMA_CPARx) . . . . . . . . 501 14.6.6 Adresní registr kanálu DMA x paměti 0 (DMA_CM0ARx) . . . . . . . . 501 14.6.7 Adresní registr kanálu DMA x paměti 1 (DMA_CM1ARx) . . . . . . . . 502 14.6.8 Mapa registrů DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
15
Multiplexor požadavků DMA (DMAMUX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
15.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
15.2 Hlavní vlastnosti DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
15.3 Implementace DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
15.3.1 Vytváření instancí DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
15.3.2 Mapování DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
15.4 Funkční popis DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .511
15.4.1 Blokové schéma DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
15.4.2 Signály DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
15.4.3 Kanály DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
15.4.4 Zabezpečené/nezabezpečené kanály DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . 513
15.4.5 DMAMUX privilegované / neprivilegované kanály . . . . . . . . . . . . . . . . . . . . 513
15.4.6 Multiplexor řádků požadavků DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
15.4.7 Generátor požadavků DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516
15.5 Přerušení DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
RM0438 Revize 8
15/2187
54
Obsah
RM0438
15.6
Registry DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
15.6.1 Konfigurační registr kanálu x multiplexeru požadavkové linky DMAMUX (DMAMUX_CxCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
15.6.2 Registr stavu kanálu přerušení multiplexeru řádku požadavků DMAMUX (DMAMUX_CSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
15.6.3 Registr příznaku vymazání kanálu přerušení multiplexeru požadavku DMAMUX (DMAMUX_CCFR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
15.6.4 Konfigurační registr kanálu x generátoru požadavků DMAMUX (DMAMUX_RGxCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
15.6.5 Registr stavu přerušení generátoru požadavků DMAMUX (DMAMUX_RGSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
15.6.6 Registr příznaku vymazání přerušení generátoru požadavků DMAMUX (DMAMUX_RGCFR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
15.6.7 Mapa registrů DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
16
Vnořený vektorový řadič přerušení (NVIC) . . . . . . . . . . . . . . . . . . . . 528
16.1 Hlavní vlastnosti NVIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
16.2 Registr kalibračních hodnot SysTick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
16.3 Vektory přerušení a výjimek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
17
Rozšířená přerušení a řadič událostí (EXTI) . . . . . . . . . . . . . . . . 533
17.1 Hlavní funkce EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
17.2 Blokové schéma EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
17.2.1 Propojení EXTI mezi periferiemi a CPU . . . . . . . . . . . . . . . . . 535
17.2.2 Mapování přerušení/události EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
17.3 Popis funkce EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
17.3.1 Probuzení konfigurovatelným vstupem událostí EXTI . . . . . . . . . . . . . . . . . . . . . . . . . 537
17.3.2 Probuzení vstupu přímé události EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
17.3.3 Výběr EXTI muxu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
17.4 Funkční chování EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
17.5 Ochrana událostí EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
17.5.1 Bezpečnostní ochrana EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
17.5.2 Ochrana oprávnění EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
17.6 Registry EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
17.6.1 17.6.2 17.6.3 17.6.4
EXTI registr výběru vzestupného spouštění (EXTI_RTSR1) . . . . . . . . . . . . . . 543 EXTI registr výběru spouštění spouštění (EXTI_FTSR1) . . . . . . . . . . . . . 544 Registr událostí softwarového přerušení EXTI (EXTI_SWIER1) . . . . . . . . . . . 545 Registr čekající na náběžnou hranu EXTI (EXTI_RPR1) . . . . . . . . . . . . . . . . 546
16/2187
RM0438 Revize 8
RM0438
Obsah
17.6.5 EXTI registr čekající na sestupnou hranu (EXTI_FPR1) . . . . . . . . . . . . . . . . 547 17.6.6 Registr konfigurace zabezpečení EXTI (EXTI_SECCFGR1) . . . . . . . . . . 548 17.6.7 Registr konfigurace oprávnění EXTI (EXTI_PRIVCFGR1) . . . . . . . . . 549 17.6.8 Registr výběru vzestupného spouštění EXTI (EXTI_RTSR2) . . . . . . . . . . . . . . 549 17.6.9 Registr výběru padajícího spouštěče EXTI (EXTI_FTSR2) . . . . . . . . . . . . . 550 17.6.10 Registr událostí softwarového přerušení EXTI (EXTI_SWIER2) . . . . . . . . . . . 551 17.6.11 Registr čekající na náběžnou hranu EXTI (EXTI_RPR2) . . . . . . . . . . . . . . . . 551 17.6.12 EXTI registr čekající na sestupnou hranu (EXTI_FPR2) . . . . . . . . . . . . . . . . 552 17.6.13 Registr povolení zabezpečení EXTI (EXTI_SECCFGR2) . . . . . . . . . . . . . . . 553 17.6.14 Registr povolení oprávnění EXTI (EXTI_PRIVCFGR2) . . . . . . . . . . . . . . 553 17.6.15 EXTI registr výběru externího přerušení (EXTI_EXTICRn) . . . . . . . . 554 17.6.16 Registr zámku EXTI (EXTI_LOCKR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557 17.6.17 Probuzení procesoru EXTI s registrem masky přerušení (EXTI_IMR1) . . . . . . . 557 17.6.18 Probuzení CPU EXTI s registrem masky události (EXTI_EMR1) . . . . . . . . 558 17.6.19 Probuzení procesoru EXTI s registrem masky přerušení (EXTI_IMR2) . . . . . . . 559 17.6.20 Probuzení CPU EXTI s registrem masky události (EXTI_EMR2) . . . . . . . . 559 17.6.21 mapa registru EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560
18
Výpočtová jednotka cyklické redundantní kontroly (CRC) . . . . . . . . . . . . . . . . 563
18.1 Úvod do CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
18.2 Hlavní rysy CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
18.3 Funkční popis CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
18.3.1 Blokové schéma CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
18.3.2 Vnitřní signály CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
18.3.3 Operace CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
18.4 Registry CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
18.4.1 18.4.2 18.4.3 18.4.4
Datový registr CRC (CRC_DR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566 Datový registr nezávislý na CRC (CRC_IDR) . . . . . . . . . . . . . . . . . . . . . 566 Řídicí registr CRC (CRC_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . 567 Počáteční hodnota CRC (CRC_INIT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
18.4.5 CRC polynom (CRC_POL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
18.4.6 Mapa registrů CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
19
Flexibilní statický řadič paměti (FSMC) . . . . . . . . . . . . . . . . . . . . . 570
19.1 Úvod do FMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
19.2 Hlavní rysy FMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
RM0438 Revize 8
17/2187
54
Obsah
RM0438
19.3 19.4 19.5 19.6
19.7
Blokové schéma FMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571 Rozhraní AHB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
19.4.1 Podporované paměti a transakce . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
Mapování adres externích zařízení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
19.5.1 Mapování adres NOR/PSRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573 19.5.2 Mapování adres flash paměti NAND . . . . . . . . . . . . . . . . . . . . . . . . . . . 574
Řadič paměti NOR flash/PSRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
19.6.1 Signály rozhraní externí paměti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576 19.6.2 Podporované paměti a transakce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578 19.6.3 Obecná pravidla časování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580 19.6.4 Asynchronní transakce řadiče NOR flash/PSRAM . . . . . . . . . . . . 580 19.6.5 Synchronní transakce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598 19.6.6 Registry řadiče NOR/PSRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605
Řadič paměti NAND flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613
19.7.1 Signály rozhraní externí paměti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613 19.7.2 Paměti a transakce podporované pamětí NAND flash . . . . . . . . . . . . . . . . . 614 19.7.3 Časové diagramy pro paměť NAND flash . . . . . . . . . . . . . . . . . . . . . . . . . 615 19.7.4 Operace s pamětí NAND flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615 19.7.5 Funkce předběžného čekání NAND flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616 19.7.6 Výpočet kódu pro korekci chyb (ECC)
v paměti NAND flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617 19.7.7 Registry řadiče paměti NAND flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618 19.7.8 Mapa registrů FMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624
20
Octo-SPI rozhraní (OCTOSPI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
20.1 Úvod do OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
20.2 Hlavní vlastnosti OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
20.3 Implementace OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627
20.4 Popis funkce OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628
20.4.1 Blokové schéma OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628
20.4.2 Piny OCTOSPI a interní signály . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
20.4.3 Rozhraní OCTOSPI pro paměťové režimy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
20.4.4 Protokol běžných příkazů OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
20.4.5 Signálové rozhraní protokolu regulárních příkazů OCTOSPI . . . . . . . . . . . . . . 634
20.4.6 Protokol HyperBus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
20.4.7 Specifické vlastnosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
18/2187
RM0438 Revize 8
RM0438
Obsah
20.5 20.6 20.7
20.4.8 Představení provozního režimu OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . 642 20.4.9 Nepřímý režim OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642 20.4.10 Režim automatického dotazování stavu OCTOSPI . . . . . . . . . . . . . . . . . . . . . . 644 20.4.11 Režim mapování paměti OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645 20.4.12 Úvod do konfigurace OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . 646 20.4.13 Konfigurace systému OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646 20.4.14 Konfigurace zařízení OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646 20.4.15 Konfigurace běžného příkazového režimu OCTOSPI . . . . . . . . . . . . . . . . 649 20.4.16 Konfigurace protokolu OCTOSPI HyperBus . . . . . . . . . . . . . . . . . . . . . 651 20.4.17 Správa chyb OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652 20.4.18 OCTOSPI BUSY a ABORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653 20.4.19 Rekonfigurace nebo deaktivace OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653 20.4.20 Chování NCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
Zarovnání adresy a datové číslo . . . . . . . . . . . . . . . . . . . . . . . . . . . 655 přerušení OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656 registrů OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
20.7.1 Řídicí registr OCTOSPI (OCTOSPI_CR) . . . . . . . . . . . . . . . . . . . . . 657 20.7.2 Registr konfigurace zařízení OCTOSPI 1 (OCTOSPI_DCR1) . . . . . . 659 20.7.3 Registr konfigurace zařízení OCTOSPI 2 (OCTOSPI_DCR2) . . . . . . 661 20.7.4 Registr konfigurace zařízení OCTOSPI 3 (OCTOSPI_DCR3) . . . . . . 662 20.7.5 Registr konfigurace zařízení OCTOSPI 4 (OCTOSPI_DCR4) . . . . . . 662 20.7.6 Registr stavu OCTOSPI (OCTOSPI_SR) . . . . . . . . . . . . . . . . . . . . . . 663 20.7.7 Vymazání registru příznaku OCTOSPI (OCTOSPI_FCR) . . . . . . . . . . . . . . . . . . 664 20.7.8 Registr délky dat OCTOSPI (OCTOSPI_DLR) . . . . . . . . . . . . . . . . 664 20.7.9 Registr adres OCTOSPI (OCTOSPI_AR) . . . . . . . . . . . . . . . . . . . . 665 20.7.10 Registr dat OCTOSPI (OCTOSPI_DR) . . . . . . . . . . . . . . . . . . . . . . . 665 20.7.11 Registr masky stavu dotazování OCTOSPI (OCTOSPI_PSMKR) . . . . . . . 666 20.7.12 Registr shody stavu dotazování OCTOSPI (OCTOSPI_PSMAR) . . . . . . . 667 20.7.13 Registr intervalu dotazování OCTOSPI (OCTOSPI_PIR) . . . . . . . . . . . . . . 667 20.7.14 Registr konfigurace komunikace OCTOSPI (OCTOSPI_CCR) . . 667 20.7.15 Registr konfigurace časování OCTOSPI (OCTOSPI_TCR) . . . . . . . . . . 670 20.7.16 Registr instrukcí OCTOSPI (OCTOSPI_IR) . . . . . . . . . . . . . . . . . . . 670 20.7.17 Registr alternativních bajtů OCTOSPI (OCTOSPI_ABR) . . . . . . . . . . . . . 671 20.7.18 Registr časového limitu nízké spotřeby OCTOSPI (OCTOSPI_LPTR) . . . . . . . . . . 671 20.7.19 registr konfigurace zabalení komunikace OCTOSPI
(OCTOSPI_WPCCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672 20.7.20 Registr konfigurace časování zalomení OCTOSPI (OCTOSPI_WPTCR) . . 674
RM0438 Revize 8
19/2187
54
Obsah
RM0438
20.7.21 Registr instrukcí zabalení OCTOSPI (OCTOSPI_WPIR) . . . . . . . . . . . . 674 20.7.22 OCTOSPI zalamovací registr alternativních bajtů (OCTOSPI_WPABR) . . . . . . 675 20.7.23 OCTOSPI zápis do registru konfigurace komunikace
(OCTOSPI_WCCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675 20.7.24 Registr konfigurace časování zápisu OCTOSPI (OCTOSPI_WTCR) . . . . 677 20.7.25 Registr instrukcí zápisu OCTOSPI (OCTOSPI_WIR) . . . . . . . . . . . . . 678 20.7.26 OCTOSPI zápis do registru alternativních bajtů (OCTOSPI_WABR) . . . . . . . 678 20.7.27 Registr konfigurace latence OCTOSPI HyperBus
(OCTOSPI_HLCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679 20.7.28 mapa registru OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679
21
Analogově-digitální převodníky (ADC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683
21.1 Úvod do ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683
21.2 Hlavní vlastnosti ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684
21.3 Implementace ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
21.4 Funkční popis ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686
21.4.1 Blokové schéma ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686
21.4.2 Piny ADC a interní signály . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
21.4.3 Hodiny ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688
21.4.4 Připojení ADC1/2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690
21.4.5 Rozhraní Slave AHB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692
21.4.6 Režim hlubokého snížení výkonu ADC (DEEPPWD) a hlasitost ADCtagregulátor (ADVREGEN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692
21.4.7 Jednostranné a diferenciální vstupní kanály . . . . . . . . . . . . . . . . . . . . . 693
21.4.8 Kalibrace (ADCAL, ADCALDIF, ADC_CALFACT) . . . . . . . . . . . . . . . 693
21.4.9 Řízení zapnutí/vypnutí ADC (ADEN, ADDIS, ADRDY) . . . . . . . . . . . . . . . . . . . . . 696
21.4.10 Omezení při zápisu řídicích bitů ADC . . . . . . . . . . . . . . . . . . . . 697
21.4.11 Výběr kanálu (ADC_SQRy, ADC_JSQR) . . . . . . . . . . . . . . . . . . . . 698
21.4.12 Programovatelné kanályampdoba trvání (SMPR1, SMPR2) . . . . . 699
21.4.13 Režim jednoduché konverze (CONT = 0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699
21.4.14 Režim kontinuální konverze (CONT = 1) . . . . . . . . . . . . . . . . . . . . . . . 700
21.4.15 Spuštění konverzí (ADSTART, JADSTART) . . . . . . . . . . . . . . . . . . . 701
21.4.16 Časování ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702
21.4.17 Zastavení probíhající konverze (ADSTP, JADSTP) . . . . . . . . . . . . . . 702
21.4.18 Konverze externího spouštěče a polarity spouštěče (EXTSEL, EXTEN, JEXTSEL, JEXTEN) . . . . . . . . . . . . . . . . . . . . . . . . . 704
21.4.19 Správa vložených kanálů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706
21.4.20 Nespojitý režim (DISCEN, DISCNUM, JDISCEN) . . . . . . . . . . . . 708
20/2187
RM0438 Revize 8
RM0438
Obsah
21.5 21.6 21.7
21.4.21 Fronta kontextu pro vložené konverze . . . . . . . . . . . . . . . . . . . . . . . . . 709 21.4.22 Programovatelné rozlišení (RES) – Režim rychlé konverze . . . . . . . . . . 717 21.4.23 Konec konverze, konec sampFáze lingu (EOC, JEOC, EOSMP) . . 718 21.4.24 Konec konverzní sekvence (EOS, JEOS) . . . . . . . . . . . . . . . . . . . . . . . 718 21.4.25 Časové diagramy např.ample (jednotlivé/kontinuální režimy,
hardwarové/softwarové spouštěče) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719 21.4.26 Správa dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721 21.4.27 Správa konverzí pomocí DFSDM . . . . . . . . . . . . . . . . . . . . . . . . . . 726 21.4.28 Dynamické funkce pro nízkou spotřebu energie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727 21.4.29 Analogový okenní watchdog (AWD1EN, JAWD1EN, AWD1SGL,
AWD1CH, AWD2CH, AWD3CH, AWD_HTx, AWD_LTx, AWDx) . . . . . 732 21.4.30 Přesampler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736 21.4.31 Duální režimy ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742 21.4.32 Teplotní senzor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755 21.4.33 Monitorování napájení VBAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757 21.4.34 Monitorování interního objemutage odkaz . . . . . . . . . . . . . . . . . . . . . . . . 758
ADC v režimu nízké spotřeby energie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759 Přerušení ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 760 registrů ADC (pro každý ADC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
21.7.1 Registr přerušení a stavu ADC (ADC_ISR) . . . . . . . . . . . . . . . . . . . . . 761 21.7.2 Registr povolení přerušení ADC (ADC_IER) . . . . . . . . . . . . . . . . . . . . . . . . . 763 21.7.3 Řídicí registr ADC (ADC_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765 21.7.4 Konfigurační registr ADC (ADC_CFGR) . . . . . . . . . . . . . . . . . . . . . . . . 768 21.7.5 Konfigurační registr 2 ADC (ADC_CFGR2) . . . . . . . . . . . . . . . . . . . . 772 21.7.6 ADCampčasový registr 1 (ADC_SMPR1) . . . . . . . . . . . . . . . . . . . . . 774 21.7.7 ADCampČasový registr 2 (ADC_SMPR2) . . . . . . . . . . . . . . . . . . . . . . 775 21.7.8 Prahový registr watchdogu ADC 1 (ADC_TR1) . . . . . . . . . . . . . . . . . . 776 21.7.9 Prahový registr watchdogu ADC 2 (ADC_TR2) . . . . . . . . . . . . . . . . . 776 21.7.10 Prahový registr watchdogu ADC 3 (ADC_TR3) . . . . . . . . . . . . . . . . . 777 21.7.11 ADC registr regulární sekvence 1 (ADC_SQR1) . . . . . . . . . . . . . . . . . . 778 21.7.12 ADC registr regulární sekvence 2 (ADC_SQR2) . . . . . . . . . . . . . . . . . . 779 21.7.13 ADC registr regulární sekvence 3 (ADC_SQR3) . . . . . . . . . . . . . . . . 780 21.7.14 ADC registr regulární sekvence 4 (ADC_SQR4) . . . . . . . . . . . . . . . . . 781 21.7.15 Registr běžných dat ADC (ADC_DR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781 21.7.16 Registr vstřikované sekvence ADC (ADC_JSQR) . . . . . . . . . . . . . . . . . . . 782 21.7.17 Registr offsetu y ADC (ADC_OFRy) . . . . . . . . . . . . . . . . . . . . . . . . . . 784 21.7.18 Datový registr kanálu y injektovaného ADC (ADC_JDRy) . . . . . . . . . . . . . . . 785
RM0438 Revize 8
21/2187
54
Obsah
RM0438
21.8
21.7.19 Konfigurační registr analogového watchdogu 2 ADC (ADC_AWD2CR) . . . . 785 21.7.20 Konfigurační registr analogového watchdogu 3 ADC (ADC_AWD3CR) . . . . 786 21.7.21 Registr výběru diferenciálního režimu ADC (ADC_DIFSEL) . . . . . . . . . . . 786 21.7.22 Kalibrační faktory ADC (ADC_CALFACT) . . . . . . . . . . . . . . . . . . . . . . . 787
Společné registry ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787
21.8.1 Společný stavový registr ADC (ADC_CSR) . . . . . . . . . . . . . . . . . . . . . . . 787 21.8.2 Společný řídicí registr ADC (ADC_CCR) . . . . . . . . . . . . . . . . . . . . . 789 21.8.3 Společný registr běžných dat ADC pro duální režim (ADC_CDR) . . . . . 792
Mapa registrů ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792
22
Digitálně-analogový převodník (DAC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796
22.1 Úvod do DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796
22.2 Hlavní vlastnosti DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796
22.3 Implementace DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 797
22.4 Funkční popis DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798
22.4.1 Blokové schéma DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798
22.4.2 Povolení kanálu DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799
22.4.3 Formát dat DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799
22.4.4 Převod DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801
22.4.5 Hlasitost výstupu DACtage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801
22.4.6 Výběr spouštěče DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802
22.4.7 Požadavky DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803
22.4.8 Generování hluku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803
22.4.9 Generování trojúhelníkových vln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805
22.4.10 Režimy kanálů DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806
22.4.11 Kalibrace vyrovnávací paměti kanálu DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 809
22.4.12 Režimy převodu kanálů DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810
22.4.13 Režimy převodu kanálů s duálním DAC (pokud jsou k dispozici duální kanály) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811
22.5 DAC v režimech s nízkou spotřebou energie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815
22.6 Přerušení DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816
22.7 Registry DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816
22.7.1 Řídicí registr DAC (DAC_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816
22.7.2 Spouštěcí registr softwaru DAC (DAC_SWTRGR) . . . . . . . . . . . . . . . . 820
22.7.3 1bitový registr pro uchování dat, zarovnaný vpravo, DAC převodníku 12 (DAC_DHR12R1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820
22/2187
RM0438 Revize 8
RM0438
Obsah
22.7.4 DAC kanál 1 12bitový registr pro uchování dat zarovnaný vlevo (DAC_DHR12L1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821
22.7.5 DAC kanál 1 8bitový vpravo zarovnaný registr pro uchování dat (DAC_DHR8R1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821
22.7.6 DAC kanál 2 12bitový vpravo zarovnaný registr pro uchování dat (DAC_DHR12R2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822
22.7.7 DAC kanál 2 12bitový registr pro uchování dat zarovnaný vlevo (DAC_DHR12L2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822
22.7.8 DAC kanál 2 8bitový registr pro uchování dat zarovnaný vpravo (DAC_DHR8R2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823
22.7.9 Duální DAC převodník s 12bitovým zarovnáním vpravo pro uchovávání dat (DAC_DHR12RD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823
22.7.10 Duální DAC 12bitový vlevo zarovnaný registr pro uchování dat (DAC_DHR12LD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824
22.7.11 Duální DAC převodník s 8bitovým vpravo zarovnáním, registr pro uchování dat (DAC_DHR8RD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824
22.7.12 Výstupní datový registr DAC kanálu 1 (DAC_DOR1) . . . . . . . . . . . . . . . 825
22.7.13 Výstupní datový registr DAC kanálu 2 (DAC_DOR2) . . . . . . . . . . . . . . . 825
22.7.14 Stavový registr DAC (DAC_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825
22.7.15 Registr řízení kalibrace DAC (DAC_CCR) . . . . . . . . . . . . . . . . . . . 827
22.7.16 Registr řízení režimu DAC (DAC_MCR) . . . . . . . . . . . . . . . . . . . . . . . . 827
22.7.17 DAC kanál 1 sample a držte sampčasový registr (DAC_SHSR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
22.7.18 DAC kanál 2 sample a držte sampčasový registr (DAC_SHSR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
22.7.19 DACampRegistr pro ukládání a výdrž paměti (DAC_SHHR) . . . . . . . . . . . . . . 829
22.7.20 DACampRegistr doby obnovení a podržení (DAC_SHRR) . . . . . . . . . 830
22.7.21 Mapa registrů DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 831
23
svtagreferenční vyrovnávací paměť (VREFBUF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833
23.1 Úvod do VREFBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833
23.2 Funkční popis VREFBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833
23.3 Ořezávání VREFBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834
23.4 Registry VREFBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835
23.4.1 Řídicí a stavový registr VREFBUF (VREFBUF_CSR) . . . . . . . . . . 835
23.4.2 Registr pro řízení kalibrace VREFBUF (VREFBUF_CCR) . . . . . . . . . . 836
23.4.3 Mapa registrů VREFBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836
24
Komparátor (COMP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837
24.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837
RM0438 Revize 8
23/2187
54
Obsah
RM0438
24.2
24.4 24.5 24.6
Hlavní vlastnosti COMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837 Funkční popis COMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838
24.3.1 Blokové schéma COMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838 24.3.2 Piny COMP a interní signály . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838 24.3.3 Reset a hodiny COMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839 24.3.4 Mechanismus LOCK komparátoru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839 24.3.5 Komparátor okna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840 24.3.6 Hystereze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840 24.3.7 Funkce zaslepení výstupu komparátoru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 841 24.3.8 Výkonové a rychlostní režimy komparátoru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842
Režimy COMP s nízkou spotřebou energie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842 Přerušení COMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842 Registry COMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843
24.6.1 Řídicí a stavový registr komparátoru 1 (COMP1_CSR) . . . . . . . . . . . 843 24.6.2 Řídicí a stavový registr komparátoru 2 (COMP2_CSR) . . . . . . . . . . . 845 24.6.3 Mapa registru COMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 848
25
Provozní ampzvlhčovače (OPAMP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
25.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
25.2 OPAMP Hlavní rysy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
25.3 OPAMP funkční popis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
25.3.1 OPAMP reset a hodiny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
25.3.2 Počáteční konfigurace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 850
25.3.3 Směrování signálu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 850
25.3.4 OPAMP režimy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 851
25.3.5 Kalibrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854
25.4 OPAMP režimy s nízkou spotřebou energie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856
25.5 OPAMP registry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 857
25.5.1 OPAMP1 řídicí/stavový registr (OPAMP1_CSR) . . . . . . . . . . . . . . . . 857
25.5.2 OPAMP1 registr pro ořezávání posunu v normálním režimu (OPAMP1_OTR) . . 858
25.5.3 OPAMP1 registr pro ořezávání ofsetu v režimu nízké spotřeby energie (OPAMP1_LPOTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 858
25.5.4 OPAMP2 řídicí/stavový registr (OPAMP2_CRS) . . . . . . . . . . . . . . . . 859
25.5.5 OPAMP2 registr pro ořezávání posunu v normálním režimu (OPAMP2_OTR) . . 860
25.5.6 OPAMP2 registr pro ořezávání ofsetu v režimu nízké spotřeby energie (OPAMP2_LPOTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 860
25.5.7 OPAMP mapa registrů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 861
24/2187
RM0438 Revize 8
RM0438
Obsah
26
Digitální filtr pro sigma delta modulátory (DFSDM) . . . . . . . . . . . . . . . 862
26.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 862
26.2 Hlavní vlastnosti DFSDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863
26.3 Implementace DFSDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 864
26.4 Funkční popis DFSDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865
26.4.1 Blokové schéma DFSDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865
26.4.2 Piny DFSDM a interní signály . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 866
26.4.3 Reset a hodiny DFSDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
26.4.4 Vysílače a přijímače sériového kanálu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 868
26.4.5 Konfigurace vstupního sériového rozhraní . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 878
26.4.6 Paralelní datové vstupy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 878
26.4.7 Výběr kanálu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 880
26.4.8 Konfigurace digitálního filtru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 881
26.4.9 Integrační jednotka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 882
26.4.10 Analogový watchdog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 883
26.4.11 Detektor zkratu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885
26.4.12 Extrémní detektor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886
26.4.13 Blok datové jednotky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886
26.4.14 Formát podepsaných dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 887
26.4.15 Spuštění konverzí . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888
26.4.16 Kontinuální a rychlý kontinuální režim . . . . . . . . . . . . . . . . . . . . . . . . . 888
26.4.17 Priorita požadavku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 889
26.4.18 Optimalizace výkonu v provozním režimu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 890
26.5 Přerušení DFSDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 890
26.6 Přenos DFSDM DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 892
26.7 Registry y kanálu DFSDM (y=0..3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 892
26.7.1 Konfigurační registr kanálu y DFSDM (DFSDM_CHyCFGR1) . . . . 892
26.7.2 Konfigurační registr kanálu y DFSDM (DFSDM_CHyCFGR2) . . . . 894
26.7.3 Registr analogového watchdogu a detektoru zkratu kanálu y DFSDM (DFSDM_CHyAWSCDR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895
26.7.4 Registr dat filtru hlídacího mechanismu DFSDM kanálu y (DFSDM_CHyWDATR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896
26.7.5 Vstupní registr dat kanálu y DFSDM (DFSDM_CHyDATINR) . . . . . . 896
26.7.6 DFSDM kanál a registr zpoždění (DFSDM_CHyDLYR) . . . . . . . . . . . . 897
26.8 Registry modulu x filtru DFSDM (x=0..3) . . . . . . . . . . . . . . . . . . . . . . . . 898
26.8.1 Řídicí registr filtru DFSDM x 1 (DFSDM_FLTxCR1) . . . . . . . . . . . . 898
26.8.2 Řídicí registr filtru DFSDM x 2 (DFSDM_FLTxCR2) . . . . . . . . . . . . 901
RM0438 Revize 8
25/2187
54
Obsah
RM0438
26.8.3 Registr přerušení a stavu filtru DFSDM x (DFSDM_FLTxISR) . . . . . 902
26.8.4 Registr pro vymazání příznaku přerušení filtru DFSDM x (DFSDM_FLTxICR) . . . . . 904
26.8.5 Registr výběru skupiny kanálů vstřikovaných filtrem DFSDM x (DFSDM_FLTxJCHGR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905
26.8.6 Řídicí registr filtru DFSDM x (DFSDM_FLTxFCR) . . . . . . . . . . . . . . 905
26.8.7 Datový registr filtru DFSDM x pro vloženou skupinu (DFSDM_FLTxJDATAR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 906
26.8.8 Datový registr filtru DFSDM x pro běžný kanál (DFSDM_FLTxRDATAR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907
26.8.9 Registr horního prahu analogového watchdogu filtru DFSDM x (DFSDM_FLTxAWHTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 908
26.8.10 Registr dolního prahu analogového watchdogu filtru DFSDM x (DFSDM_FLTxAWLTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 908
26.8.11 Stavový registr analogového watchdogu filtru DFSDM x (DFSDM_FLTxAWSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909
26.8.12 Registr příznaku vymazání analogového watchdogu filtru DFSDM x (DFSDM_FLTxAWCFR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910
26.8.13 Registr maxim detektoru extrémů filtru DFSDM x (DFSDM_FLTxEXMAX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910
26.8.14 Registr minima detektoru extrémů filtru DFSDM x (DFSDM_FLTxEXMIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 911
26.8.15 Registr časovače převodu filtru DFSDM x (DFSDM_FLTxCNVTIMR) . . 911
26.8.16 Mapa registrů DFSDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 912
27
Dotykový ovladač (TSC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920
27.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920
27.2 Hlavní rysy TSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920
27.3 Funkční popis TSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921
27.3.1 Blokové schéma TSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921
27.3.2 Přenos povrchového náboje v průběhuview . . . . . . . . . . . . . . . . . . . 921
27.3.3 Reset a hodiny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924
27.3.4 Sekvence akvizice přenosu náboje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924
27.3.5 Funkce rozprostřeného spektra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925
27.3.6 Chyba maximálního počtu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926
27.3.7 SampVýběr režimu I/O kondenzátoru a kanálového I/O . . . . . . . . . . . 926
27.3.8 Režim snímání . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927
27.3.9 Hystereze I/O a řízení analogových spínačů . . . . . . . . . . . . . . . . . . . . . . . . . 927
27.4 Režimy nízké spotřeby TSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928
27.5 Přerušení TSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928
26/2187
RM0438 Revize 8
RM0438
Obsah
27.6
Registry TSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928
27.6.1 Řídicí registr TSC (TSC_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928 27.6.2 Registr povolení přerušení TSC (TSC_IER) . . . . . . . . . . . . . . . . . . . . . . . 931 27.6.3 Registr vymazání přerušení TSC (TSC_ICR) . . . . . . . . . . . . . . . . . . . . . . . 932 27.6.4 Registr stavu přerušení TSC (TSC_ISR) . . . . . . . . . . . . . . . . . . . . . . . . 932 27.6.5 Registr pro řízení hystereze TSC I/O (TSC_IOHCR) . . . . . . . . . . . . . . . 933 27.6.6 Registr pro řízení analogových spínačů TSC I/O
(TSC_IOASCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933 27.6.7 Vstupy/výstupy TSCampŘídicí registr lingu (TSC_IOSCR) . . . . . . . . . . . . . . . . . 934 27.6.8 Řídicí registr kanálu TSC I/O (TSC_IOCCR) . . . . . . . . . . . . . . . . . 934 27.6.9 Registr stavu řízení skupiny I/O TSC (TSC_IOGCSR) . . . . . . . . . . . . 935 27.6.10 Registr čítače skupiny I/O TSC x (TSC_IOGxCR) . . . . . . . . . . . . . . . 935 27.6.11 Mapa registru TSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936
28
Generátor pravých náhodných čísel (RNG) . . . . . . . . . . . . . . . . . . . . . . . . . . 938
28.1 Úvod do generátoru náhodných čísel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 938
28.2 Hlavní vlastnosti generátoru náhodných čísel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 938
28.3 Funkční popis generátoru náhodných čísel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939
28.3.1 Blokové schéma generátoru náhodných čísel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939
28.3.2 Vnitřní signály generátoru náhodných čísel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939
28.3.3 Generování náhodných čísel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939
28.3.4 Inicializace generátoru náhodných čísel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942
28.3.5 Provoz generátoru náhodných čísel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943
28.3.6 Taktování generátoru náhodných čísel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945
28.3.7 Správa chyb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945
28.3.8 Nízké využití energie generátoru náhodných čísel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946
28.4 Přerušení generování náhodných čísel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946
Doba zpracování generátoru náhodných čísel 28.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947
28.6 Ověření zdroje entropie generátoru náhodných čísel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947
28.6.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947
28.6.2 Validační podmínky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947
28.6.3 Sběr dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948
28.7 Registry generátoru náhodných čísel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948
28.7.1 Řídicí registr generátoru náhodných čísel (RNG_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948
28.7.2 Stavový registr generátoru náhodných čísel (RNG_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 950
28.7.3 Datový registr generátoru náhodných čísel (RNG_DR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 951
28.7.4 Registr kontroly testů stavu generátoru náhodných čísel (RNG_HTCR) . . . . . . . . . . . . . . . . . . 952
RM0438 Revize 8
27/2187
54
Obsah
RM0438
28.7.5 Mapa registrů generátoru náhodných čísel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 952
29
Hardwarový akcelerátor AES (AES) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953
29.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953
29.2 Hlavní vlastnosti AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953
29.3 Implementace AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953
29.4 Funkční popis AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954
29.4.1 Blokové schéma AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954
29.4.2 Vnitřní signály AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954
29.4.3 Kryptografické jádro AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954
29.4.4 Procedura AES pro provedení šifrovací operace . . . . . . . . . . . . . . . . . . . . 960
29.4.5 Příprava klíče pro dešifrovací kolo AES . . . . . . . . . . . . . . . . . . . . . . . . . . 963
29.4.6 Krádež šifrovaného textu AES a doplňování dat . . . . . . . . . . . . . . . . . . . . . . . 963
29.4.7 Pozastavení a obnovení úlohy AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 964
29.4.8 Základní režimy řetězení AES (ECB, CBC) . . . . . . . . . . . . . . . . . . . . . . . . . 964
29.4.9 Režim čítače AES (CTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 969
29.4.10 Režim AES Galois/čítač (GCM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 971
29.4.11 Kód pro ověřování zpráv AES Galois (GMAC) . . . . . . . . . . . . . . 976
29.4.12 Čítač AES s CBC-MAC (CCM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 978
29.4.13 Datové registry AES a výměna dat . . . . . . . . . . . . . . . . . . . . . . . . . . 983
29.4.14 Registry klíčů AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 985
29.4.15 Registry inicializačních vektorů AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 985
29.4.16 Rozhraní AES DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 986
29.4.17 Správa chyb AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 987
29.5 Přerušení AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 988
29.6 Latence zpracování AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 988
29.7 Registry AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 989
29.7.1 Řídicí registr AES (AES_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 989
29.7.2 Stavový registr AES (AES_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 991
29.7.3 Vstupní registr dat AES (AES_DINR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 993
29.7.4 Registr výstupních dat AES (AES_DOUTR) . . . . . . . . . . . . . . . . . . . . . . . 993
29.7.5 Registr klíčů AES 0 (AES_KEYR0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994
29.7.6 Registr klíčů AES 1 (AES_KEYR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994
29.7.7 Registr klíčů AES 2 (AES_KEYR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995
29.7.8 Registr klíčů AES 3 (AES_KEYR3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995
29.7.9 Registr 0 inicializačního vektoru AES (AES_IVR0) . . . . . . . . . . . . . . . . . . 995
28/2187
RM0438 Revize 8
RM0438
Obsah
29.7.10 Registr inicializačního vektoru AES 1 (AES_IVR1) . . . . . . . . . . . . . . . . . . . 996 29.7.11 Registr inicializačního vektoru AES 2 (AES_IVR2) . . . . . . . . . . . . . . . . . . 996 29.7.12 Registr inicializačního vektoru AES 3 (AES_IVR3) . . . . . . . . . . . . . . . . 996 29.7.13 Registr klíčů AES 4 (AES_KEYR4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 29.7.14 Registr klíčů AES 5 (AES_KEYR5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 29.7.15 Registr klíčů AES 6 (AES_KEYR6) . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 29.7.16 Registr klíčů AES 7 (AES_KEYR7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 998 29.7.17 Registry pozastavení AES (AES_SUSPxR) . . . . . . . . . . . . . . . . . . . . . . . . . . . 998 29.7.18 Mapa registrů AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 999
30
Hašovací procesor (HASH) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1001
30.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1001
30.2 Hlavní vlastnosti HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1001
30.3 Implementace HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1002
30.4 Funkční popis HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1002
30.4.1 Blokové schéma HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1002
30.4.2 Vnitřní signály HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003
30.4.3 O algoritmech zabezpečeného hashování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003
30.4.4 Přenos dat zpráv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003
30.4.5 Výpočet souhrnu zpráv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1005
30.4.6 Doplňování zpráv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1006
30.4.7 Provoz HMAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008
30.4.8 Operace pozastavení/obnovení HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1010
30.4.9 Rozhraní HASH DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1012
30.4.10 Správa chyb HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1012
30.4.11 Doba zpracování HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1012
30.5 Přerušení HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1013
30.6 HASH registry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1014
30.6.1 Řídicí registr HASH (HASH_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1014
30.6.2 Vstupní registr dat HASH (HASH_DIN) . . . . . . . . . . . . . . . . . . . . . . . . 1016
30.6.3 Počáteční registr HASH (HASH_STR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1017
30.6.4 Registry HASH digest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1018
30.6.5 Registr povolení přerušení HASH (HASH_IMR) . . . . . . . . . . . . . . . . . . 1019
30.6.6 Registr stavu HASH (HASH_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1020
30.6.7 Registry pro výměnu kontextu HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1020
30.6.8 Mapa registrů HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1021
RM0438 Revize 8
29/2187
54
Obsah
RM0438
31
Dešifrovací engine za běhu (OTFDEC) . . . . . . . . . . . . . . . . . . . . . . . 1023
31.1 Úvod do OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1023
31.2 Hlavní vlastnosti OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1023
31.3 Funkční popis OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024
31.3.1 Blokové schéma OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024
31.3.2 Vnitřní signály OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024
31.3.3 Dešifrování OTFDEC za běhu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025
31.3.4 Použití AES v OTFDEC při dešifrování v režimu čítače . . . . . . . . . . . . . 1026
31.3.5 Řízení toku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027
31.3.6 Správa chyb OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027
31.4 Přerušení OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028
31.5 Informace o aplikaci OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028
31.5.1 Proces inicializace OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028
31.5.2 OTFDEC a správa napájení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1030
31.5.3 Šifrování pro OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1030
31.5.4 Zdrojový kód CRC klíče OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1031
31.6 Registry OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1032
31.6.1 Řídicí registr OTFDEC (OTFDEC_CR) . . . . . . . . . . . . . . . . . . . . . . 1032
31.6.2 Konfigurační registr privilegovaného řízení přístupu OTFDEC (OTFDEC_PRIVCFGR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1033
31.6.3 Konfigurační registr regionu OTFDEC x (OTFDEC_RxCFGR) . . . . . 1033
31.6.4 Registr počáteční adresy regionu OTFDEC x (OTFDEC_RxSTARTADDR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1035
31.6.5 Registr koncové adresy regionu OTFDEC x (OTFDEC_RxENDADDR) . 1035
31.6.6 Region OTFDEC x registr nonce 0 (OTFDEC_RxNONCER0) . . . . . 1036
31.6.7 Region OTFDEC x registr nonce 1 (OTFDEC_RxNONCER1) . . . . . 1037
31.6.8 Registr klíče 0 oblasti OTFDEC x (OTFDEC_RxKEYR0) . . . . . . . . . . 1037
31.6.9 Registr klíče 1 oblasti OTFDEC x (OTFDEC_RxKEYR1) . . . . . . . . . . 1038
31.6.10 Registr klíče 2 oblasti OTFDEC x (OTFDEC_RxKEYR2) . . . . . . . . . . 1038
31.6.11 Registr klíče 3 oblasti OTFDEC x (OTFDEC_RxKEYR3) . . . . . . . . . . 1039
31.6.12 Registr stavu přerušení OTFDEC (OTFDEC_ISR) . . . . . . . . . . . . . . 1039
31.6.13 Registr pro vymazání přerušení OTFDEC (OTFDEC_ICR) . . . . . . . . . . . . . . . 1040
31.6.14 Registr povolení přerušení OTFDEC (OTFDEC_IER) . . . . . . . . . . . . . . 1041
31.6.15 Mapa registrů OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1042
32
Akcelerátor veřejného klíče (PKA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046
32.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046
30/2187
RM0438 Revize 8
RM0438
Obsah
32.2
32.4
32.5 32.6 32.7
Hlavní vlastnosti PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046 Funkční popis PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046
32.3.1 Blokové schéma PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046 32.3.2 Vnitřní signály PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1047 32.3.3 Reset a hodiny PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1047 32.3.4 Zrychlení veřejného klíče PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1047 32.3.5 Typické aplikace pro PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1049 32.3.6 Procedura PKA pro provedení operace . . . . . . . . . . . . . . . . . . . . . . . . . . . 1051 32.3.7 Správa chyb PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052
Provozní režimy PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052
32.4.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052 32.4.2 Výpočet Montgomeryho parametru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1053 32.4.3 Modulární sčítání . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054 32.4.4 Modulární odčítání . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054 32.4.5 Modulární a Montgomeryho násobení . . . . . . . . . . . . . . . . . . . . . . . . . . 1055 32.4.6 Modulární umocňování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056 32.4.7 Modulární inverze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056 32.4.8 Modulární redukce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1057 32.4.9 Aritmetické sčítání . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1057 32.4.10 Aritmetické odčítání . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1057 32.4.11 Aritmetické násobení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1058 32.4.12 Aritmetické srovnávání . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1058 32.4.13 Umocňování RSA CRT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1059 32.4.14 Kontrola bodu na eliptické křivce Fp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1059 32.4.15 Skalární násobení ECC Fp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1060 32.4.16 Znaménko ECDSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061 32.4.17 Ověření ECDSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1063
Examppočet konfigurací a doby zpracování . . . . . . . . . . . . . . . . . . 1064
32.5.1 Podporované eliptické křivky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1064 32.5.2 Výpočetní časy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1066
Přerušení PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1067 Registry PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1068
32.7.1 Řídicí registr PKA (PKA_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1068 32.7.2 Stavový registr PKA (PKA_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1069 32.7.3 Registr pro vymazání příznaků PKA (PKA_CLRFR) . . . . . . . . . . . . . . . . . . . . . . . . . 1070 32.7.4 Paměť PKA RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1070
RM0438 Revize 8
31/2187
54
Obsah
RM0438
32.7.5 Mapa registru PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1071
33
Časovače s pokročilým řízením (TIM1/TIM8) . . . . . . . . . . . . . . . . . . . . . . . . . 1072
33.1 Úvod do TIM1/TIM8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1072
33.2 Hlavní vlastnosti TIM1/TIM8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1072
33.3 Funkční popis TIM1/TIM8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1074
33.3.1 Jednotka časové základny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1074
33.3.2 Režimy čítače . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1076
33.3.3 Počítadlo opakování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1087
33.3.4 Vstup externího spouštěče . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1089
33.3.5 Výběr hodin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1090
33.3.6 Zachycení/porovnání kanálů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1094
33.3.7 Režim snímání vstupu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1096
33.3.8 Vstupní režim PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1097
33.3.9 Režim vynuceného výstupu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1098
33.3.10 Režim porovnání výstupu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1099
33.3.11 Režim PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1100
33.3.12 Asymetrický režim PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1103
33.3.13 Kombinovaný režim PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104
33.3.14 Kombinovaný třífázový režim PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
33.3.15 Doplňkové výstupy a vkládání mrtvé doby . . . . . . . . . . . . . . . 1106
33.3.16 Použití funkce break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1108
33.3.17 Obousměrné přerušovací vstupy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1114
33.3.18 Vymazání signálu OCxREF při externí události . . . . . . . . . . . . . . 1115
33.3.19 6krokové generování PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1117
33.3.20 Jednopulzní režim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1118
33.3.21 Režim s opakovaným spouštěním s jedním pulsem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1119
33.3.22 Režim rozhraní enkodéru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1120
33.3.23 Přemapování bitů UIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1122
33.3.24 Funkce XOR časovače . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1123
33.3.25 Propojení s Hallovými senzory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1123
33.3.26 Synchronizace časovače . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1126
33.3.27 Synchronizace ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1130
33.3.28 Režim DMA burst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1130
33.3.29 Režim ladění . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1131
33.4 Registry TIM1/TIM8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1132
33.4.1 Řídicí registr TIMx 1 (TIMx_CR1)(x = 1, 8) . . . . . . . . . . . . . . . . . . 1132
32/2187
RM0438 Revize 8
RM0438
Obsah
33.4.2 Řídicí registr TIMx 2 (TIMx_CR2)(x = 1, 8) . . . . . . . . . . . . . . . . . . 1133
33.4.3 Řídicí registr podřízeného režimu TIMx (TIMx_SMCR)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1136
33.4.4 Registr povolení DMA/přerušení TIMx (TIMx_DIER)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1138
33.4.5 Stavový registr TIMx (TIMx_SR)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . 1140
33.4.6 Registr generování událostí TIMx (TIMx_EGR)(x = 1, 8) . . . . . . . . . . . . . 1142
33.4.7 Registr 1 režimu zachycení/porovnání TIMx (TIMx_CCMR1)(x = 1, 8) . . 1143
33.4.8 Registr 1 režimu zachycení/porovnání TIMx [alternativní] (TIMx_CCMR1)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1144
33.4.9 Registr 2 režimu zachycení/porovnání TIMx (TIMx_CCMR2)(x = 1, 8) . . 1147
33.4.10 Registr 2 režimu zachycení/porovnání TIMx [alternativní] (TIMx_CCMR2)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1148
33.4.11 Registr povolení zachycení/porovnání TIMx (TIMx_CCER)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1149
33.4.12 Čítač TIMx (TIMx_CNT)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1153
33.4.13 Předdělička TIMx (TIMx_PSC)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1153
33.4.14 Registr automatického načítání TIMx (TIMx_ARR)(x = 1, 8) . . . . . . . . . . . . . . . . 1153
33.4.15 Registr čítače opakování TIMx (TIMx_RCR)(x = 1, 8) . . . . . . . . . . . . 1154
33.4.16 Registr zachycení/porovnání TIMx 1 (TIMx_CCR1)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1154
33.4.17 Registr zachycení/porovnání TIMx 2 (TIMx_CCR2)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1155
33.4.18 Registr zachycení/porovnání TIMx 3 (TIMx_CCR3)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1155
33.4.19 Registr zachycení/porovnání TIMx 4 (TIMx_CCR4)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1156
33.4.20 Registr přerušení a mrtvé doby TIMx (TIMx_BDTR)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1156
33.4.21 Řídicí registr TIMx DMA (TIMx_DCR)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1160
33.4.22 Adresa TIMx DMA pro úplný přenos (TIMx_DMAR)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1161
33.4.23 Registr doplňků TIM1 1 (TIM1_OR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1162
33.4.24 Registr doplňků TIM8 1 (TIM8_OR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1162
33.4.25 Registr 3 režimu zachycení/porovnání TIMx (TIMx_CCMR3)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1163
33.4.26 Registr zachycení/porovnání TIMx 5 (TIMx_CCR5)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1164
33.4.27 Registr zachycení/porovnání TIMx 6 (TIMx_CCR6)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1165
RM0438 Revize 8
33/2187
54
Obsah
RM0438
33.4.28 Volitelný registr TIM1 2 (TIM1_OR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1165 33.4.29 Volitelný registr TIM1 3 (TIM1_OR3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1167 33.4.30 Volitelný registr TIM8 2 (TIM8_OR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1168 33.4.31 Registr doplňků TIM8 3 (TIM8_OR3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1170 33.4.32 Mapa registru TIM1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1172 33.4.33 Mapa registru TIM8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1174
34
Univerzální časovače (TIM2/TIM3/TIM4/TIM5) . . . . . . . . . . . . . . . . 1177
34.1 Úvod do TIM2/TIM3/TIM4/TIM5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1177
34.2 Hlavní vlastnosti TIM2/TIM3/TIM4/TIM5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1177
34.3 Funkční popis TIM2/TIM3/TIM4/TIM5 . . . . . . . . . . . . . . . . . . . . . .1179
34.3.1 Jednotka časové základny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1179
34.3.2 Režimy čítače . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1181
34.3.3 Výběr hodin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1191
34.3.4 Zachycení/porovnání kanálů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1195
34.3.5 Režim snímání vstupu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1197
34.3.6 Vstupní režim PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1198
34.3.7 Režim vynuceného výstupu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1199
34.3.8 Režim porovnání výstupu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1200
34.3.9 Režim PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1201
34.3.10 Asymetrický režim PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1204
34.3.11 Kombinovaný režim PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1205
34.3.12 Vymazání signálu OCxREF při externí události . . . . . . . . . . . . . . 1206
34.3.13 Jednopulzní režim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1208
34.3.14 Režim s opakovaným spouštěním s jedním pulsem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1209
34.3.15 Režim rozhraní enkodéru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1210
34.3.16 Přemapování bitů UIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1212
34.3.17 Funkce XOR časovače . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1212
34.3.18 Časovače a synchronizace externích spouštěčů . . . . . . . . . . . . . . . . . . . 1213
34.3.19 Synchronizace časovače . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1216
34.3.20 Režim DMA burst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1221
34.3.21 Režim ladění . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1222
34.4 Registry TIM2/TIM3/TIM4/TIM5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1223
34.4.1 Řídicí registr TIMx 1 (TIMx_CR1)(x = 2 až 5) . . . . . . . . . . . . . . . . . 1223
34.4.2 Řídicí registr TIMx 2 (TIMx_CR2)(x = 2 až 5) . . . . . . . . . . . . . . . . . 1224
34.4.3 Řídicí registr režimu podřízené jednotky TIMx (TIMx_SMCR) (x = 2 až 5) . . . . . . . . 1226
34.4.4 Registr povolení DMA/přerušení TIMx (TIMx_DIER) (x = 2 až 5) . . . . . . 1229
34/2187
RM0438 Revize 8
RM0438
Obsah
34.4.5 Stavový registr TIMx (TIMx_SR)(x = 2 až 5) . . . . . . . . . . . . . . . . . . . . . 1230 34.4.6 Registr generování událostí TIMx (TIMx_EGR)(x = 2 až 5) . . . . . . . . . . 1231 34.4.7 Registr 1 režimu snímání/porovnávání TIMx (TIMx_CCMR1)(x = 2 až 5) . 1232 34.4.8 Registr 1 režimu snímání/porovnávání TIMx [alternativní] (TIMx_CCMR1)
(x = 2 až 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1234 34.4.9 Registr 2 režimu snímání/porovnávání TIMx (TIMx_CCMR2)(x = 2 až 5) . 1236 34.4.10 Registr 2 režimu snímání/porovnávání TIMx [alternativní] (TIMx_CCMR2)
(x = 2 až 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1237 34.4.11 Registr pro povolení zachycení/porovnání TIMx
(TIMx_CCER)(x = 2 až 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1238 34.4.12 Čítač TIMx (TIMx_CNT)(x = 2 až 5) . . . . . . . . . . . . . . . . . . . . . . . . . . 1239 34.4.13 Čítač TIMx [alternativní] (TIMx_CNT)(x = 2 až 5) . . . . . . . . . . . . . . . . . . 1240 34.4.14 Předdělička TIMx (TIMx_PSC)(x = 2 až 5) . . . . . . . . . . . . . . . . . . . . . . . . . 1240 34.4.15 Registr automatického načítání TIMx (TIMx_ARR)(x = 2 až 5) . . . . . . . . . . . . . 1241 34.4.16 Registr zachycení/porovnání TIMx 1 (TIMx_CCR1)(x = 2 až 5) . . . . . . . 1241 34.4.17 Registr zachycení/porovnání TIMx 2 (TIMx_CCR2)(x = 2 až 5) . . . . . . . 1241 34.4.18 Registr zachycení/porovnání TIMx 3 (TIMx_CCR3)(x = 2 až 5) . . . . . . . . 1242 34.4.19 Registr zachycení/porovnání TIMx 4 (TIMx_CCR4)(x = 2 až 5) . . . . . . . . 1242 34.4.20 Řídicí registr TIMx DMA (TIMx_DCR)(x = 2 až 5) . . . . . . . . . . . . . 1243 34.4.21 Adresa TIMx DMA pro úplný přenos (TIMx_DMAR)(x = 2 až 5) . . . . . . . 1244 34.4.22 Volitelný registr TIM2 1 (TIM2_OR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244 34.4.23 Volitelný registr TIM3 1 (TIM3_OR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244 34.4.24 Volitelný registr TIM2 2 (TIM2_OR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1245 34.4.25 Registr doplňků TIM3 2 (TIM3_OR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1245 34.4.26 Mapa registru TIMx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1247
35
Univerzální časovače (TIM15/TIM16/TIM17) . . . . . . . . . . . . . . . . . 1250
35.1 Úvod k TIM15/TIM16/TIM17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1250
35.2 Hlavní vlastnosti TIM15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1250
35.3 Hlavní vlastnosti TIM16/TIM17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1251
35.4 Funkční popis TIM15/TIM16/TIM17 . . . . . . . . . . . . . . . . . . . . . . 1254
35.4.1 Jednotka časové základny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1254
35.4.2 Režimy čítače . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1256
35.4.3 Počítadlo opakování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1260
35.4.4 35.4.5 35.4.6 35.4.7
Výběr hodin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1261 Zachycení/porovnání kanálů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1263 Režim zachycení vstupu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1265 Vstupní režim PWM (pouze pro TIM15) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1266
RM0438 Revize 8
35/2187
54
Obsah
RM0438
35.5
35.4.8 Režim vynuceného výstupu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1267 35.4.9 Režim porovnání výstupu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1268 35.4.10 Režim PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1269 35.4.11 Kombinovaný režim PWM (pouze TIM15) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1270 35.4.12 Doplňkové výstupy a vkládání mrtvé doby . . . . . . . . . . . . . . . 1271 35.4.13 Použití funkce break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1273 35.4.14 Obousměrné přerušovací vstupy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1278 35.4.15 6kroková PWM generace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1279 35.4.16 Jednopulzní režim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1281 35.4.17 Znovu spouštětelný režim jednoho pulzu (pouze TIM15) . . . . . . . . . . . . . . . . . . . . . 1282 35.4.18 Přemapování bitů UIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1283 35.4.19 Funkce XOR časovače (pouze TIM15) . . . . . . . . . . . . . . . . . . . . . . . . . 1284 35.4.20 Synchronizace externího spouštění (pouze TIM15) . . . . . . . . . . . . . . . . . . . 1285 35.4.21 Režim podřízené jednotky - kombinovaný reset + režim spouštění . . . . . . . . . . . . . . . . . . . 1287 35.4.22 Režim DMA burst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1287 35.4.23 Synchronizace časovače (TIM15) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1289 35.4.24 Použití výstupu časovače jako spouštěče pro jiné časovače (TIM16/TIM17) . . . . . . 1289 35.4.25 Režim ladění . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1289
Registry TIM15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1290
35.5.1 Řídicí registr TIM15 1 (TIM15_CR1) . . . . . . . . . . . . . . . . . . . . . . . . . . 1290 35.5.2 Řídicí registr TIM15 2 (TIM15_CR2) . . . . . . . . . . . . . . . . . . . . . . . 1291 35.5.3 Řídicí registr režimu podřízené jednotky TIM15 (TIM15_SMCR) . . . . . . . . . . . . . 1293 35.5.4 Registr povolení DMA/přerušení TIM15 (TIM15_DIER) . . . . . . . . . . . . 1294 35.5.5 Stavový registr TIM15 (TIM15_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1295 35.5.6 Registr generování událostí TIM15 (TIM15_EGR) . . . . . . . . . . . . . . . 1297 35.5.7 Registr režimu snímání/porovnávání TIM15 1 (TIM15_CCMR1) . . . . . . . 1298 35.5.8 Registr režimu snímání/porovnávání TIM15 1 [alternativní] (TIM15_CCMR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1299 35.5.9 Registr pro povolení zachycení/porovnání TIM15 (TIM15_CCER) . . . . . . . . . 1302 35.5.10 Čítač TIM15 (TIM15_CNT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1305 35.5.11 Předdělička TIM15 (TIM15_PSC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1305 35.5.12 Registr automatického načítání TIM15 (TIM15_ARR) . . . . . . . . . . . . . . . . . . . . . 1305 35.5.13 Registr čítače opakování TIM15 (TIM15_RCR) . . . . . . . . . . . . . . . 1306 35.5.14 Registr zachycení/porovnání TIM15 1 (TIM15_CCR1) . . . . . . . . . . . . . . 1306 35.5.15 Registr zachycení/porovnání TIM15 2 (TIM15_CCR2) . . . . . . . . . . . . . . 1307 35.5.16 Registr přerušení a mrtvé doby TIM15 (TIM15_BDTR) . . . . . . . . . . . . 1307 35.5.17 Řídicí registr DMA TIM15 (TIM15_DCR) . . . . . . . . . . . . . . . . . . . 1310
36/2187
RM0438 Revize 8
RM0438
Obsah
35.6
35.5.18 Adresa TIM15 DMA pro úplný přenos (TIM15_DMAR) . . . . . . . . . . . . . 1310 35.5.19 Volitelný registr TIM15 1 (TIM15_OR1) . . . . . . . . . . . . . . . . . . . . . . . . . . 1311 35.5.20 Volitelný registr TIM15 2 (TIM15_OR2) . . . . . . . . . . . . . . . . . . . . . . 1311 35.5.21 Mapa registru TIM15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1313
Registry TIM16/TIM17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1316
35.6.1 Řídicí registr TIMx 1 (TIMx_CR1)(x = 16 až 17) . . . . . . . . . . . . . . . . 1316 35.6.2 Řídicí registr TIMx 2 (TIMx_CR2)(x = 16 až 17) . . . . . . . . . . . . . . . 1317 35.6.3 Registr povolení DMA/přerušení TIMx (TIMx_DIER)(x = 16 až 17) . . . . 1318 35.6.4 Stavový registr TIMx (TIMx_SR)(x = 16 až 17) . . . . . . . . . . . . . . . . . . 1319 35.6.5 Registr generování událostí TIMx (TIMx_EGR)(x = 16 až 17) . . . . . . . . 1320 35.6.6 Registr 1 režimu zachycení/porovnání TIMx
(TIMx_CCMR1)(x = 16 až 17) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1321 35.6.7 Registr 1 režimu zachycení/porovnání TIMx [alternativní] (TIMx_CCMR1)(x = 16 až 17) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1322 35.6.8 Registr povolení zachycení/porovnání TIMx (TIMx_CCER)(x = 16 až 17) . 1324 35.6.9 Čítač TIMx (TIMx_CNT)(x = 16 až 17) . . . . . . . . . . . . . . . . . . . . . . . . 1326 35.6.10 Předdělička TIMx (TIMx_PSC)(x = 16 až 17) . . . . . . . . . . . . . . . . . . . . . 1327 35.6.11 Registr automatického načítání TIMx (TIMx_ARR)(x = 16 až 17) . . . . . . . . . . . . . . 1327 35.6.12 Registr čítače opakování TIMx (TIMx_RCR)(x = 16 až 17) . . . . . . . . . 1328 35.6.13 Registr zachycení/porovnání TIMx 1 (TIMx_CCR1)(x = 16 až 17) . . . . . 1328 35.6.14 Registr přerušení a mrtvé doby TIMx (TIMx_BDTR)(x = 16 až 17) . . . . 1329 35.6.15 Řídicí registr DMA TIMx (TIMx_DCR)(x = 16 až 17) . . . . . . . . . . . . 1331 35.6.16 Adresa TIMx DMA pro úplný přenos (TIMx_DMAR)(x = 16 až 17) . . . . 1332 35.6.17 Volitelný registr TIM16 1 (TIM16_OR1) . . . . . . . . . . . . . . . . . . . . . . . . . . 1332 35.6.18 Volitelný registr TIM16 2 (TIM16_OR2) . . . . . . . . . . . . . . . . . . . . . . 1333 35.6.19 Volitelný registr TIM17 1 (TIM17_OR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1334 35.6.20 Registr doplňků TIM17 2 (TIM17_OR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1335 35.6.21 Mapa registrů TIM16/TIM17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1337
36
Základní časovače (TIM6/TIM7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1339
36.1 Úvod do TIM6/TIM7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1339
36.2 Hlavní vlastnosti TIM6/TIM7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1339
36.3 Funkční popis TIM6/TIM7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1340
36.3.1 Jednotka časové základny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1340
36.3.2 Režim počítání . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342
36.3.3 Přemapování bitů UIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1345
36.3.4 Zdroj hodin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1345
RM0438 Revize 8
37/2187
54
Obsah
RM0438
36.4
36.3.5 Režim ladění . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1346
Registry TIM6/TIM7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1346
36.4.1 Řídicí registr TIMx 1 (TIMx_CR1)(x = 6 až 7) . . . . . . . . . . . . . . . . . . 1346 36.4.2 Řídicí registr TIMx 2 (TIMx_CR2)(x = 6 až 7) . . . . . . . . . . . . . . . . . 1348 36.4.3 Registr povolení DMA/přerušení TIMx (TIMx_DIER)(x = 6 až 7) . . . . . . 1348 36.4.4 Stavový registr TIMx (TIMx_SR)(x = 6 až 7) . . . . . . . . . . . . . . . . . . . . 1349 36.4.5 Registr generování událostí TIMx (TIMx_EGR)(x = 6 až 7) . . . . . . . . . . . 1349 36.4.6 Čítač TIMx (TIMx_CNT)(x = 6 až 7) . . . . . . . . . . . . . . . . . . . . . . . . . 1349 36.4.7 Předdělička TIMx (TIMx_PSC)(x = 6 až 7) . . . . . . . . . . . . . . . . . . . . . . . 1350 36.4.8 Registr automatického načítání TIMx (TIMx_ARR)(x = 6 až 7) . . . . . . . . . . . . . . . 1350 36.4.9 Mapa registrů TIMx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1351
37
Časovač s nízkou spotřebou energie (LPTIM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1352
37.1 Úvod do LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1352
37.2 Hlavní vlastnosti LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1352
37.3 Implementace LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1352
37.4 Funkční popis LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1353
37.4.1 Blokové schéma LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1353
37.4.2 Piny LPTIM a interní signály . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1353
37.4.3 Vstup LPTIM a mapování spouštěčů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1354
37.4.4 Reset LPTIM a hodiny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1355
37.4.5 Filtr závad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1355
37.4.6 Předdělička . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1356
37.4.7 Spouštěcí multiplexor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1356
37.4.8 Provozní režim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1357
37.4.9 Funkce časového limitu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1359
37.4.10 Generování tvaru vlny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1359
37.4.11 Aktualizace registru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1360
37.4.12 Režim čítače . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1361
37.4.13 Povolení časovače . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1362
37.4.14 Vynulování čítače časovače . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1362
37.4.15 Režim enkodéru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1363
37.4.16 Počítadlo opakování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1364
37.4.17 Režim ladění . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1365
37.5 Režimy s nízkou spotřebou energie LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1366
37.6 Přerušení LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1366
38/2187
RM0438 Revize 8
RM0438
Obsah
37.7
Registry LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1367
37.7.1 Registr přerušení a stavu LPTIM (LPTIM_ISR) . . . . . . . . . . . . . . . . 1367 37.7.2 Registr pro mazání přerušení LPTIM (LPTIM_ICR) . . . . . . . . . . . . . . . . . . . . 1368 37.7.3 Registr povolení přerušení LPTIM (LPTIM_IER) . . . . . . . . . . . . . . . . . 1369 37.7.4 Konfigurační registr LPTIM (LPTIM_CFGR) . . . . . . . . . . . . . . . . . . 1370 37.7.5 Řídicí registr LPTIM (LPTIM_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1373 37.7.6 Porovnání LPTIM
Dokumenty / zdroje
![]() |
Řada ST STM32L5 s vysokou bezpečností a nízkou spotřebou energie [pdfUživatelská příručka RM0438, Řada STM32L5 Vysoce zabezpečená s nízkou spotřebou energie, Řada STM32L5, Vysoce zabezpečená s nízkou spotřebou energie, Nízká spotřeba energie, Spotřeba |