Seria STM32L5 – bardzo bezpieczna i o niskim zużyciu energii – instrukcja obsługi

Seria STM32L5 – wysokie bezpieczeństwo przy niskim zużyciu energii

Dane techniczne:

  • Nazwa produktu: RM0438 Instrukcja obsługi
  • Wersja: Rev 8
  • Strony: od 1 do 2187
  • Data wydania: czerwiec 2025 r.
  • Producent: www.st.com

Informacje o produkcie:

Szczegółowe informacje na temat RM0438 można znaleźć w podręczniku referencyjnym
architektura pamięci i magistrali, architektura bezpieczeństwa TrustZone,
organizacja pamięci, wbudowana pamięć SRAM, pamięć flashview, uruchomić
konfiguracja i bezpieczeństwo systemu.

Instrukcje dotyczące stosowania produktu:

Pamięć i architektura magistrali:

Architektura systemu obejmuje szybką magistralę C, wolną magistralę C, magistralę S,
Magistrala DMA, magistrala DMA kontrolera SDMMC i magistrala BusMatrix.

Architektura bezpieczeństwa TrustZone:

Wyjaśnia domyślny stan zabezpieczeń TrustZone i TrustZone
klasyfikacja peryferyjna.

Organizacja pamięci:

Opisuje mapę pamięci, adresy graniczne rejestrów i
organizacja wbudowanej pamięci SRAM.

Wbudowana pamięć SRAM:

Szczegóły Kontrola parzystości SRAM2, ochrona zapisu, ochrona odczytu,
operacje kasowania.

Pamięć flash ponadview:

Zapewnia ponadview pamięci flash używanej w systemie.

Konfiguracja rozruchu:

Obejmuje ustawienia konfiguracji rozruchu systemu.

Bezpieczeństwo systemu:

Wprowadzenie do środków bezpieczeństwa systemu.

Najczęściej zadawane pytania (FAQ):

P: Gdzie mogę znaleźć informacje o resetowaniu rejestru
wartości?

A: Wartości resetowania rejestru są szczegółowo opisane w sekcji 1.3
podręcznik.

P: Czym jest architektura bezpieczeństwa TrustZone?

A: Architektura bezpieczeństwa TrustZone została wyjaśniona w sekcji 2.2
instrukcji.

P: Jak skonfigurować ustawienia rozruchu?

A: Instrukcje dotyczące konfiguracji rozruchu można znaleźć w sekcji 3
instrukcji.

„`

RM0438 Instrukcja obsługi
Zaawansowane 32-bitowe mikrokontrolery serii STM5L32 oparte na architekturze Arm®
Wstęp
Niniejszy podręcznik jest przeznaczony dla programistów aplikacji. Zawiera kompletne informacje na temat korzystania z pamięci i urządzeń peryferyjnych mikrokontrolerów STM32L552xx i STM32L562xx. Mikrokontrolery STM32L552xx i STM32L562xx należą do serii mikrokontrolerów STM32L5x2, różniących się rozmiarem pamięci, obudową i urządzeniami peryferyjnymi. Informacje dotyczące zamówień oraz charakterystyki mechanicznej i elektrycznej urządzenia znajdują się w odpowiednich kartach katalogowych. Informacje na temat rdzenia Arm® Cortex®-M33 można znaleźć w podręczniku technicznym Cortex®-M33. Mikroprocesory STM32L552xx i STM32L562xx wykorzystują najnowocześniejszą, opatentowaną technologię ST.
Powiązane dokumenty
· Podręcznik techniczny Cortex®-M33 dostępny na stronie http://infocenter.arm.com · Karty katalogowe STM32L552xx i STM32L562xx · Arkusze erraty STM32L552xx i STM32L562xx

Czerwiec 2025

RM0438 Wersja 8

1/2187

www.st.com

1

Zawartość
Zawartość

RM0438

1

Konwencje dokumentacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

1.1 Informacje ogólne . ...

1.2 Wykaz skrótów rejestrów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

1.3 Wartość resetu rejestru . ...

1.4 Słownik . ...

1.5 Dostępność urządzeń peryferyjnych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

2

Architektura pamięci i magistrali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

2.1 Architektura systemu . ...

2.1.1 Szybka magistrala C . ...

2.1.2 Powolna magistrala C . ...

2.1.3 Magistrala S. ...

2.1.4 Magistrala DMA . ...

2.1.5 Magistrala DMA kontrolera SDMMC . ...

2.1.6 Magistrala . ...

2.2 Architektura bezpieczeństwa TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

2.2.1 Domyślny stan zabezpieczeń TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

2.2.2 Klasyfikacja peryferyjna TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

2.3 Organizacja pamięci . ...

2.3.1 Wprowadzenie . ...

2.3.2 Mapa pamięci i adresy graniczne rejestrów . . . . . . . . . . . . . . . . . . . . . . . 87

2.4 Wbudowana pamięć SRAM . ...

2.4.1 Kontrola parzystości SRAM2 . ...

2.4.2 Ochrona przed zapisem SRAM2 . ...

2.4.3 Ochrona odczytu pamięci SRAM2 . ...

2.4.4 Kasowanie pamięci SRAM2 . ...

2.5 Pamięć Flash ponadview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

3

Konfiguracja rozruchu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

4

Bezpieczeństwo systemu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

4.1 Wprowadzenie . ...

4.2 Kluczowe funkcje bezpieczeństwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

2/2187

RM0438 Wersja 8

RM0438

Zawartość

4.3 4.4 4.5 4.6
4.7 4.8
4.9 4.10 4.11 4.12 4.13

Bezpieczna instalacja . ...
4.4.1 Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 4.4.2 Unikalny wpis rozruchowy i BOOT_LOCK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 4.4.3 Niezmienny korzeń zaufania w pamięci flash systemu . . . . . . . . . . . . . . . . . . . . . . . . 102
Bezpieczna aktualizacja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Izolacja zasobów przy użyciu TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
4.6.1 Wprowadzenie . ... 103 4.6.2 Przydział pamięci i urządzeń peryferyjnych za pomocą IDAU/SAU . . . . . . . . . . . . . . . . 103 4.6.3 Przydział pamięci i urządzeń peryferyjnych za pomocą GTZC . . . . . . . . . . . . . . . . . . . . . . 8 33 Zarządzanie zabezpieczeniami w urządzeniach peryferyjnych obsługujących TrustZone . ... 104 4.6.4 Dezaktywacja zabezpieczeń TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Inne izolacje zasobów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117
4.7.1 Izolacja czasowa z wykorzystaniem bezpiecznej ochrony skóry (HDP) . . . . . . . . . . . . . 117
Bezpieczne wykonanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .118
4.8.1 Wprowadzenie . ... 118 4.8.2 Tampwykrywanie i reagowanie na . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Bezpieczne przechowywanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
4.9.1 Wprowadzenie . ...
Silniki kryptograficzne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
4.10.1 Wprowadzenie . ... . . . . . . . . 121
Cykl życia produktu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
4.11.1 Zarządzanie cyklem życia z ochroną odczytu (RDP) . . . . . . . . . . . . . 124 4.11.2 Zalecane ustawienia bajtów opcji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Debugowanie z kontrolą dostępu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
4.12.1 Ochrona przed debugowaniem z ochroną odczytu (RDP) . . . . . . . . . . . . . . . . . . . . 125
Ochrona własności intelektualnej oprogramowania i wspólny rozwój 126

RM0438 Wersja 8

3/2187
54

Zawartość

RM0438

4.13.1
4.13.2 4.13.3

Ochrona własności intelektualnej oprogramowania z zabezpieczeniem odczytu (RDP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Ochrona własności intelektualnej oprogramowania za pomocą OTFDEC . . . . . . . . . . . . 127
Inne zabezpieczenia własności intelektualnej oprogramowania . . . . . . . . . . . . . . . . . . . 129

5

Kontroler Global TrustZone® (GTZC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

5.1 Wprowadzenie do GTZC . ...

5.2 Główne cechy GTZC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

5.2.1 Architektura systemu GTZC TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

5.3 Opis funkcjonalny GTZC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

5.3.1 Schemat blokowy GTZC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

5.3.2 Definicja nielegalnego dostępu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

5.3.3 Kontroler bezpieczeństwa TrustZone (TZSC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

5.3.4 Kontroler ochrony pamięci – oparty na blokach (MPCBB) . . . . . . . . . . . . . . 134

5.3.5 Nielegalny kontroler dostępu TrustZone (TZIC) . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

5.3.6 Stan włączania/resetowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

5.3.7 Żądania DMA . ...

5.4 Wydarzenia GTZC . ...

5.5 Rejestry GTZC_TZSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

5.5.1 Rejestr sterujący GTZC_TZSC (GTZC_TZSC_CR) . . . . . . . . . . . . . . . . . . . 136

5.5.2

Rejestr bezpiecznej konfiguracji GTZC_TZSC 1 (GTZC_TZSC_SECCFGR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

5.5.3

Rejestr bezpiecznej konfiguracji GTZC_TZSC 2 (GTZC_TZSC_SECCFGR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

5.5.4

Rejestr konfiguracji uprawnień GTZC_TZSC 1 (GTZC_TZSC_PRIVCFGR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

5.5.5

Rejestr konfiguracji uprawnień GTZC_TZSC 2 (GTZC_TZSC_PRIVCFGR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

5.5.6

GTZC_TZSC pamięć zewnętrzna x rejestr znaku wodnego niezabezpieczonego 1 (GTZC_TZSC_MPCWMxANSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

5.5.7

Pamięć zewnętrzna GTZC_TZSC x niezabezpieczony rejestr znaku wodnego 2 (GTZC_TZSC_MPCWMxBNSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

5.5.8 Mapa rejestrów GTZC_TZSC i wartości resetowania . . . . . . . . . . . . . . . . . . . . . . . . 148

5.6 Rejestry GTZC_MPCBB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

5.6.1 Rejestr sterujący GTZC_MPCBBx (GTZC_MPCBBx_CR) (x = 1 do 2) . 150

5.6.2 Rejestr blokady 1 GTZC_MPCBB1 (GTZC_MPCBB1_LCKVTR1) . . . . . . 151

5.6.3

Rejestr blokady 2 GTZC_MPCBB1 (GTZC_MPCBB2_LCKVTR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

4/2187

RM0438 Wersja 8

RM0438

Zawartość

5.6.4

Rejestr wektorowy GTZC_MPCBBx y (GTZC_MPCBBx_VCTRy) (x = 1 do 2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

5.6.5 Mapa rejestrów GTZC_MPCBB1 i wartości resetowania . . . . . . . . . . . . . . . . . . . . 153

5.6.6 Mapa rejestrów GTZC_MPCBB2 i wartości resetowania . . . . . . . . . . . . . . . . . . . . 153

5.7 Rejestry GTZC_TZIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

5.7.1 Rejestr włączający przerwanie GTZC_TZIC 1 (GTZC_TZIC_IER1) . . . . . . . 154

5.7.2 Rejestr włączający przerwanie GTZC_TZIC 2 (GTZC_TZIC_IER2) . . . . . . . 157

5.7.3 Rejestr włączający przerwanie GTZC_TZIC 3 (GTZC_TZIC_IER3) . . . . . . . 159

5.7.4 Rejestr stanu GTZC_TZIC 1 (GTZC_TZIC_SR1) . . . . . . . . . . . . . . . . . 160

5.7.5 Rejestr stanu GTZC_TZIC 2 (GTZC_TZIC_SR2) . . . . . . . . . . . . . . . . . 163

5.7.6 Rejestr stanu GTZC_TZIC 3 (GTZC_TZIC_SR3) . . . . . . . . . . . . . . . . . 165

5.7.7 Flaga GTZC_TZIC wyczyść rejestr 1 (GTZC_TZIC_FCR1) . . . . . . . . . . . . . 166

5.7.8 Flaga GTZC_TZIC wyczyść rejestr 2 (GTZC_TZIC_FCR2) . . . . . . . . . . . . . 169

5.7.9 Flaga GTZC_TZIC wyczyść rejestr 3 (GTZC_TZIC_FCR3) . . . . . . . . . . . . . 171

5.7.10 Mapa rejestrów GTZC_TZIC i wartości resetowania . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

6

Wbudowana pamięć flash (FLASH) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

6.1 Wprowadzenie . ...

6.2 Główne cechy pamięci FLASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

6.3 Opis funkcjonalny pamięci flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

6.3.1 Organizacja pamięci flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

6.3.2 Korekcja kodów błędów (ECC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

6.3.3 Opóźnienie dostępu do odczytu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

6.3.4 Niska objętośćtagczytam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

6.3.5 Operacje programowania i kasowania pamięci flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

6.3.6 Sekwencje kasowania pamięci głównej Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

6.3.7 Sekwencje programowania pamięci głównej Flash . . . . . . . . . . . . . . . . . . . . . . . 185

6.3.8 Flagi błędów Flash . ...

6.3.9

Funkcja odczytu i zapisu (RWW) dostępna tylko w trybie podwójnego banku (DBANK = 1) . ...

6.4 Bajty opcji pamięci flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

6.4.1 Opis bajtów opcji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

6.4.2 Programowanie bajtów opcji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

6.5 Zabezpieczenia i ochrona uprawnień Flash TrustZone . . . . . . . . . . . . . . . . . . . 193

6.5.1 Ochrona bezpieczeństwa TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

6.5.2 Bezpieczna ochrona obszaru oparta na znaku wodnym . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

6.5.3 Bezpieczna ochrona skóry (HDP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

RM0438 Wersja 8

5/2187
54

Zawartość

RM0438

6.5.4 Ochrona oparta na bezpiecznym obszarze blokowym (SECBB) . . . . . . . . . . . . . . . . . . . . . 196 6.5.5 Wymuszanie rozruchu z bezpiecznego adresu pamięci . . . . . . . . . . . . . . . . . . . . . . . 197 6.5.6 Stan atrybutów zabezpieczeń pamięci flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 6.5.7 Rejestry pamięci flash — tryby uprzywilejowane i nieuprzywilejowane . . . . . . . . . . . . . . . . . 198
6.6 Zabezpiecz pamięć systemową . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
6.6.1 Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 6.6.2 RSS przydziela zasoby bootloaderowi . ... . . . . . . . . . . 198
6.7 Ochrona pamięci FLASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
6.7.1 Ochrona przed zapisem (WRP) . ...
6.8 Przerwania pamięci FLASH . ...
6.9.1 Rejestr kontroli dostępu do pamięci Flash (FLASH_ACR) . . . . . . . . . . . . . . . . . . . . . . 213 6.9.2 Rejestr klucza wyłączania pamięci Flash (FLASH_PDKEYR) . . . . . . . . . . . . . . . . 214 6.9.3 Rejestr klucza niezabezpieczonego pamięci Flash (FLASH_NSKEYR) . . . . . . . . . . . . . . . . 215 6.9.4 Rejestr klucza zabezpieczonego pamięci Flash (FLASH_SECKEYR) . . . . . . . . . . . . . . . . . 215 6.9.5 Rejestr klucza opcji Flash (FLASH_OPTKEYR) . . . . . . . . . . . . . . . . . . . . . 216 6.9.6 Niska objętość FlashtagRejestr klucza (FLASH_LVEKEYR) . . . . . . . . . . . . . . . . 216 6.9.7 Rejestr stanu pamięci Flash (FLASH_NSSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 6.9.8 Rejestr stanu pamięci Flash (FLASH_SECSR) . . . . . . . . . . . . . . . . . . . . . . . . . . 218 6.9.9 Niezabezpieczony rejestr sterujący pamięci Flash (FLASH_NSCR) . . . . . . . . . . . . . . 220 6.9.10 Rejestr sterowania zabezpieczeniami pamięci Flash (FLASH_SECCR) . . . . . . . . . . . . . . . . . . . . 222 6.9.11 Rejestr ECC pamięci Flash (FLASH_ECCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 6.9.12 Rejestr opcji pamięci Flash (FLASH_OPTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 6.9.13 Rejestr adresu 0 niezabezpieczonego rozruchu pamięci flash (FLASH_NSBOOTADD0R) 227 6.9.14 Rejestr adresu 1 niezabezpieczonego rozruchu pamięci flash (FLASH_NSBOOTADD1R) 228 6.9.15 Rejestr adresu 0 bezpiecznego rozruchu pamięci flash (FLASH_SECBOOTADD0R) . . 228 6.9.16 Rejestr banku 1 zabezpieczonego watermak1 pamięci flash (FLASH_SECWM1R1) . . . . 229 6.9.17 Rejestr 1 zabezpieczonego watermak2 pamięci flash (FLASH_SECWM1R2) . . . . . . . . 230 6.9.18 Rejestr adresu obszaru A pamięci flash WPR1 (FLASH_WRP1AR) . . . . . . . . . 231 6.9.19 Rejestr adresu obszaru B pamięci Flash WPR1 (FLASH_WRP1BR) . . . . . . . . . 232 6.9.20 Rejestr bezpiecznego zapisu Flash watermak2 (FLASH_SECWM2R1) . . . . . . . . . . . 233 6.9.21 Rejestr 2 bezpiecznej pamięci Flash watermak2 (FLASH_SECWM2R2) . . . . . . . . 234 6.9.22 Rejestr adresu obszaru A pamięci Flash WPR2 (FLASH_WRP2AR) . . . . . . . . . 235 6.9.23 Rejestr adresu obszaru B pamięci Flash WPR2 (FLASH_WRP2BR) . . . . . . . . . 236

6/2187

RM0438 Wersja 8

RM0438

Zawartość

6.9.24
6.9.25
6.9.26 6.9.27 6.9.28

Rejestr banku 1 oparty na blokach pamięci FLASH (FLASH_SECBB1Rx) (gdzie x=1..4) . ...
Rejestr banku 2 oparty na blokach pamięci FLASH (FLASH_SECBB2Rx) (gdzie x=1..4) . ...
Rejestr sterujący bezpiecznego HDP FLASH (FLASH_SECHDPCR) . . . . . . . . 238
Rejestr konfiguracji uprawnień FLASH (FLASH_PRIVCFGR) . . . . . . . 238
Mapa rejestrów FLASH i wartości resetowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239

7

Pamięć podręczna instrukcji (ICACHE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242

7.1 Wprowadzenie do ICACHE . ...

7.2 Główne cechy ICACHE . ...

7.3 Implementacja ICACHE . ...

7.4 Opis funkcjonalny ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243

7.4.1 Schemat blokowy ICACHE . ...

7.4.2 Resetowanie ICACHE i zegary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244

7.4.3 ICACHE TAG pamięć . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245

7.4.4 Bezpośrednio mapowany ICACHE (pamięć podręczna jednokierunkowa) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

7.4.5 Włączanie ICACHE . ...

7.4.6 Ruch buforowalny i niebuforowalny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247

7.4.7 Ponowne mapowanie adresów . ...

7.4.8 Dostęp do pamięci podręcznej . ...

7.4.9 Pamięć podręczna dual-master . ...

7.4.10 Zabezpieczenia ICACHE . ...

7.4.11 Konserwacja ICACHE . ...

7.4.12 Monitorowanie wydajności ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

7.4.13 Rozruch ICACHE . ...

7.5 Tryby niskiego poboru mocy ICACHE . ...

7.6 Zarządzanie błędami i przerwaniami ICACHE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253

7.7 Rejestry ICACHE . ...

7.7.1 Rejestr sterujący ICACHE (ICACHE_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253

7.7.2 Rejestr statusu ICACHE (ICACHE_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254

7.7.3 Rejestr włączający przerwanie ICACHE (ICACHE_IER) . . . . . . . . . . . . . . . . . . . 255

7.7.4 Rejestr czyszczenia flagi ICACHE (ICACHE_FCR) . . . . . . . . . . . . . . . . . . . . . . . . . . 255

7.7.5 Rejestr monitora trafień ICACHE (ICACHE_HMONR) . . . . . . . . . . . . . . . . . . . 256

7.7.6 Rejestr monitora braków ICACHE (ICACHE_MMONR) . . . . . . . . . . . . . . . . 256

7.7.7 Rejestr konfiguracji regionu x ICACHE (ICACHE_CRRx) . . . . . . . . . . 256

7.7.8 Mapa rejestrów ICACHE . ...

RM0438 Wersja 8

7/2187
54

Zawartość

RM0438

8

Sterowanie mocą (PWR) . ...

8.1 Zasilacze i domeny zasilania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259

8.1.1 Niezależne zasilanie urządzeń peryferyjnych analogowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264

8.1.2 Niezależna szyna zasilania wejścia/wyjścia . ...

8.1.3 Zasilanie niezależnych transceiverów USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264

8.1.4 Domena podtrzymania bateryjnego . ...

8.2 Pojemność zasilania systemutagrozporządzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266

8.2.1 objtagregulator e . ...

8.2.2 Wbudowany przetwornica obniżająca napięcie SMPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267

8.2.3 Schemat zasilacza z przetwornicą obniżającą napięcie SMPS . . . . . . . . . . . . . . . . 268

8.2.4 Przetwornica obniżająca napięcie SMPS w porównaniu z trybem niskiego poboru mocy . . . . . . . . . . . . . . 269

8.2.5 Objętość dynamicznatagzarządzanie skalowaniem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270

8.2.6 Domena VDD12 i zewnętrzny SMPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271

8.3 Nadzór nad zasilaniem . ...

8.3.1

Resetowanie przy włączaniu zasilania (POR) / resetowanie przy wyłączaniu zasilania (PDR) / resetowanie przy spadku napięcia (BOR) . ...

8.3.2 Programowalna objętośćtagdetektor e (PVD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274

8.3.3 Objętość peryferyjnatage monitoring (PVM) . . . . . . . . . . . . . . . . . . . . . . . . . . 275

8.3.4 Objętość górnatagmonitorowanie progów e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276

8.3.5 Monitorowanie progów temperatury . ...

8.4 Zarządzanie energią . ...

8.4.1 Tryby zasilania . ...

8.4.2 Tryb pracy . ...

8.4.3 Tryb pracy o niskim poborze mocy (tryb LP) . ...

8.4.4 Tryby niskiego poboru mocy . ...

8.4.5 Tryb uśpienia . ...

8.4.6 Tryb uśpienia o niskim poborze mocy (uśpienie LP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286

8.4.7 Tryb Stop 0 . ...

8.4.8 Tryb Stop 1 . ...

8.4.9 Tryb Stop 2 . ...

8.4.10 Tryb czuwania . ...

8.4.11 Tryb wyłączania . ...

8.4.12 Automatyczne wybudzanie z trybu niskiego poboru mocy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296

8.5 Bezpieczeństwo PWR TrustZone . ...

8.5.1 Tryby uprzywilejowane i nieuprzywilejowane PWR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298

8.6 Rejestry PWR . ...

8/2187

RM0438 Wersja 8

RM0438

Zawartość

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

Rejestr sterowania mocą 1 (PWR_CR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Rejestr sterowania mocą 2 (PWR_CR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 Rejestr sterowania mocą 3 (PWR_CR3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 Rejestr sterowania mocą 4 (PWR_CR4) . . . . . . . . . . . . . . . . . . . . . . . . . . 303 Rejestr stanu zasilania 1 (PWR_SR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 Rejestr stanu zasilania 2 (PWR_SR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 Rejestr czyszczenia stanu zasilania (PWR_SCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 Rejestr sterujący podciąganiem portu zasilania A (PWR_PUCRA) . . . . . . . . . . . . . . 308 Rejestr sterujący pull-down portu zasilania A (PWR_PDCRA) . . . . . . . . . . . 308 Rejestr sterujący pull-up portu zasilania B (PWR_PUCRB) . . . . . . . . . . . . . . 309 Rejestr sterujący pull-down portu zasilania B (PWR_PDCRB) . . . . . . . . . . . 310 Rejestr sterujący pull-up portu zasilania C (PWR_PUCRC) . . . . . . . . . . . . 310 Rejestr sterujący pull-down portu zasilania C (PWR_PDCRC) . . . . . . . . . . . 311 Rejestr sterujący podciąganiem portu zasilania D (PWR_PUCRD) . . . . . . . . . . . . . . 311 Rejestr sterujący podciąganiem portu zasilania D (PWR_PDCRD) . . . . . . . . . . . . 312 Rejestr sterujący podciąganiem portu zasilania E (PWR_PUCRE) . . . . . . . . . . . . . . 313 Rejestr sterujący podciąganiem portu zasilania E (PWR_PDCRE) . . . . . . . . . . . 313 Rejestr sterujący podciąganiem portu zasilania F (PWR_PUCRF) . . . . . . . . . . . . . . 314 Rejestr sterujący podciąganiem portu zasilania F (PWR_PDCRF) . . . . . . . . . . . 314 Rejestr sterujący podciąganiem portu zasilania G (PWR_PUCRG) . . . . . . . . . . . . . . 315 Rejestr sterujący podciąganiem portu zasilania G (PWR_PDCRG) . . . . . . . . . . . . 316 Rejestr sterujący podciąganiem portu zasilania H (PWR_PUCRH) . . . . . . . . . . . . 316 Rejestr sterujący podciąganiem portu zasilania H (PWR_PDCRH) . . . . . . . . . . . . 317 Rejestr konfiguracji bezpiecznego zasilania (PWR_SECCFGR) . . . . . . . . . . . 317 Rejestr konfiguracji uprawnień zasilania (PWR_PRIVCFGR) . . . . . . . . . 319 Mapa rejestru PWR i wartości resetowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320

9

Resetowanie i sterowanie zegarem (RCC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323

9.1 Resetowanie . ...

9.1.1 Resetowanie zasilania . ...

9.1.2 Resetowanie systemu . ...

9.1.3 Resetowanie domeny zapasowej . ...

9.2 Piny RCC i sygnały wewnętrzne . ...

9.3 Zegary . ...

9.3.1 Zegar HSE . ...

9.3.2 Zegar HSI16 . ...

9.3.3 Zegar MSI . ...

RM0438 Wersja 8

9/2187
54

Zawartość

RM0438

9.3.4 Zegar HSI48 . ... . ... . . . . . . . . . . . . . . . . . . . . . . . . . 332 9.3.5 Wybór zegara systemowego (SYSCLK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 9.3.6 Częstotliwość źródła zegara a głośnośćtagSkalowanie . . . . . . . . . . . . . . . . . . . . . . . 335 9.3.11 System bezpieczeństwa zegara (CSS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 9.3.12 System bezpieczeństwa zegara na LSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 9.3.13 Zegar ADC . . . . . . . . . . . . . . ... . . . . . . . . . . . . . . . . . . . . 336 9.3.14 Zegar nadzorujący . ... 336 9.3.15 Pomiar zegara wewnętrznego/zewnętrznego za pomocą TIM336/TIM9.3.16/TIM337 . . . . . 9.3.17 337 Rejestry włączające zegar peryferyjny
(RCC_AHBxENR, RCC_APBxENRy) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
9.4 Tryby niskiego poboru mocy . ... . . . . 340 9.5 Przerwania RCC . ...
9.8.1 Rejestr sterujący zegarem RCC (RCC_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 9.8.2 Rejestr kalibracji wewnętrznych źródeł zegara RCC (RCC_ICSCR) . . . . . . . 348 9.8.3 Rejestr konfiguracji zegara RCC (RCC_CFGR) . . . . . . . . . . . . . . . . . . . 349 9.8.4 Rejestr konfiguracji PLL RCC (RCC_PLLCFGR) . . . . . . . . . . . . . . . 352 9.8.5 Rejestr konfiguracji RCC PLLSAI1 (RCC_PLLSAI1CFGR) . . . . . . . . 355 9.8.6 Rejestr konfiguracji RCC PLLSAI2 (RCC_PLLSAI2CFGR) . . . . . . . . 358 9.8.7 Rejestr włączenia przerwania zegara RCC (RCC_CIER) . . . . . . . . . . . . . . . . . . 360 9.8.8 Rejestr flagi przerwania zegara RCC (RCC_CIFR) . . . . . . . . . . . . . . . . . . . . 361 9.8.9 Rejestr zerowania przerwania zegara RCC (RCC_CICR) . . . . . . . . . . . . . . . . . . 363 9.8.10 Rejestr resetowania urządzeń peryferyjnych RCC AHB1 (RCC_AHB1RSTR) . . . . . . . . . . . 364 9.8.11 Rejestr resetowania urządzeń peryferyjnych RCC AHB2 (RCC_AHB2RSTR) . . . . . . . . . . . 365 9.8.12 Rejestr resetowania urządzeń peryferyjnych RCC AHB3 (RCC_AHB3RSTR) . . . . . . . . . . . 367 9.8.13 Rejestr resetowania urządzeń peryferyjnych RCC APB1 1 (RCC_APB1RSTR1) . . . . . . . . 368 9.8.14 Rejestr resetowania urządzeń peryferyjnych RCC APB1 2 (RCC_APB1RSTR2) . . . . . . . . 370 9.8.15 Rejestr resetowania urządzeń peryferyjnych RCC APB2 (RCC_APB2RSTR) . . . . . . . . . . . 371

10/2187

RM0438 Wersja 8

RM0438

Zawartość

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

Rejestr włączania zegara peryferyjnego RCC AHB1 (RCC_AHB1ENR) . . . . . 373 Rejestr włączania zegara peryferyjnego RCC AHB2 (RCC_AHB2ENR) . . . . . 374 Rejestr włączania zegara peryferyjnego RCC AHB3 (RCC_AHB3ENR) . . . . . . . 376
Rejestr włączania zegara peryferyjnego RCC APB1 1 (RCC_APB1ENR1) . . . 377 Rejestr włączania zegara peryferyjnego RCC APB1 2 (RCC_APB1ENR2) . . . 379
Rejestr włączania zegara urządzeń peryferyjnych RCC APB2 (RCC_APB2ENR). . . . . . 381 Rejestr włączania zegarów urządzeń peryferyjnych RCC AHB1 w trybach uśpienia i zatrzymania (RCC_AHB1SMENR). . ... 382
Włączanie zegarów peryferyjnych RCC AHB3 w rejestrze trybów uśpienia i zatrzymania (RCC_AHB3SMENR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 Włączanie zegarów peryferyjnych RCC APB1 w rejestrze trybów uśpienia i zatrzymania 1 (RCC_APB1SMENR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 Włączanie zegarów peryferyjnych RCC APB1 w rejestrze trybów uśpienia i zatrzymania 2 (RCC_APB1SMENR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
Rejestr włączania zegarów peryferyjnych RCC APB2 w trybach uśpienia i zatrzymania (RCC_APB2SMENR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 Rejestr konfiguracji niezależnego zegara peryferyjnych RCC 1 (RCC_CCIPR1) . ... . . . . . 393
Rejestr sterowania/statusu RCC (RCC_CSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 Rejestr RC odzyskiwania zegara RCC (RCC_CRRCR) . . . . . . . . . . . . . . . . . . . . . 400 Rejestr 2 konfiguracji zegara niezależnego od urządzeń peryferyjnych RCC (RCC_CCIPR2) . ...
Rejestr konfiguracji opóźnienia protokołu OCTOSPI (RCC_DLYCFGR) . . . . . . . . . . 402 Rejestr bezpiecznej konfiguracji RCC (RCC_SECCFGR) . . . . . . . . . . . . . . 403 Rejestr bezpiecznego stanu RCC (RCC_SECSR) . . . . . . . . . . . . . . . . . . . . . . . . 405
Rejestr stanu bezpieczeństwa RCC AHB1 (RCC_AHB1SECSR) . . . . . . . . . . 407 Rejestr stanu bezpieczeństwa RCC AHB2 (RCC_AHB2SECSR) . . . . . . . . . . . 408 Rejestr stanu bezpieczeństwa RCC AHB3 (RCC_AHB3SECSR) . . . . . . . . . . . 410
Rejestr stanu bezpieczeństwa RCC APB1 1 (RCC_APB1SECSR1) . . . . . . . 411 Rejestr stanu bezpieczeństwa RCC APB1 2 (RCC_APB1SECSR2) . . . . . . . 414 Rejestr stanu bezpieczeństwa RCC APB2 (RCC_APB2SECSR) . . . . . . . . . . . 415
Mapa rejestrów RCC . ...

10

System odzyskiwania zegara (CRS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424

10.1 Wprowadzenie do CRS . ...

10.2 Główne cechy CRS . ...

RM0438 Wersja 8

11/2187
54

Zawartość

RM0438

10.3 10.4
10.5 10.6 10.7

Implementacja CRS . ...
10.4.1 Schemat blokowy CRS . ... . . . . . . . . . . . . . . . . . 425 10.4.2 Pomiar błędu częstotliwości . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 10.4.3 Ocena błędu częstotliwości i automatyczne przycinanie . . . . . . . . . . . . . . . . . 426 10.4.4 Inicjalizacja i konfiguracja CRS . ...
CRS w trybach niskiego poboru mocy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 Przerwania CRS . ... . . . . . . . . . . . . . . . . . 429
10.7.1 Rejestr sterujący CRS (CRS_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 10.7.2 Rejestr konfiguracyjny CRS (CRS_CFGR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430 10.7.3 Rejestr przerwania i stanu CRS (CRS_ISR) . . . . . . . . . . . . . . . . . . . . . . . 431 10.7.4 Rejestr czyszczenia flagi przerwania CRS (CRS_ICR) . . . . . . . . . . . . . . . . . . . . . . . 433 10.7.5 Mapa rejestrów CRS . ...

11

Porty wejścia/wyjścia ogólnego przeznaczenia (GPIO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435

11.1 Wprowadzenie . ...

11.2 Główne cechy GPIO . ...

11.3 Opis funkcjonalny GPIO . ...

11.3.1 Ogólnego przeznaczenia wejście/wyjście (GPIO) . ...

11.3.2 Multiplekser i mapowanie funkcji alternatywnych pinów wejścia/wyjścia . . . . . . . . . . . . . . . . . 438

11.3.3 Rejestry sterujące portem wejścia/wyjścia . ...

11.3.4 Rejestry danych portu I/O . ...

11.3.5 Obsługa danych wejścia/wyjścia na poziomie bitowym . ...

11.3.6 Mechanizm blokowania GPIO . ...

11.3.7 Alternatywna funkcja wejścia/wyjścia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440

11.3.8 Zewnętrzne linie przerwań/wybudzenia . ...

11.3.9 Konfiguracja wejściowa . ...

11.3.10 Konfiguracja wyjścia . ...

11.3.11 Konfiguracja funkcji alternatywnych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442

11.3.12 Konfiguracja analogowa . ...

11.3.13 Używanie pinów oscylatora HSE lub LSE jako GPIO . . . . . . . . . . . . . . . . . . . . . 443

11.3.14 Wykorzystanie pinów GPIO w obszarze zasilania RTC . . . . . . . . . . . . . . . . . . . . . 443

11.3.15 Używanie PH3 jako GPIO . ...

12/2187

RM0438 Wersja 8

RM0438

Zawartość

11.4 11.5 11.6

Bezpieczeństwo TrustZone . ...
Tryby uprzywilejowane i nieuprzywilejowane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
Rejestry GPIO . ...
11.6.1 Rejestr trybu portu GPIO (GPIOx_MODER) (x = A do H) . ...
11.6.2 Rejestr typu wyjścia portu GPIO (GPIOx_OTYPER) (x = A do H) . ...
11.6.3 Rejestr prędkości wyjściowej portu GPIO (GPIOx_OSPEEDR) (x = A do H) . ...
11.6.4 Rejestr podciągający/obniżający port GPIO (GPIOx_PUPDR) (x = A do H) . ...
11.6.5 Rejestr danych wejściowych portu GPIO (GPIOx_IDR) (x = A do H) . ...
11.6.6 Rejestr danych wyjściowych portu GPIO (GPIOx_ODR) (x = A do H) . ...
11.6.7 Rejestr ustawiania/resetowania bitów portu GPIO (GPIOx_BSRR) (x = A do H) . ...
11.6.8 Rejestr blokady konfiguracji portu GPIO (GPIOx_LCKR) (x = A do H) . ...
11.6.9 Rejestr dolny funkcji alternatywnej GPIO (GPIOx_AFRL) (x = A do H) . ...
11.6.10 Rejestr wysokiego poziomu funkcji alternatywnej GPIO (GPIOx_AFRH) (x = A do H) . ...
11.6.11 Rejestr resetowania bitów portu GPIO (GPIOx_BRR) (x = A do H) . . . . . . . . . . . . . . 452
11.6.12 Rejestr bezpiecznej konfiguracji GPIO (GPIOx_SECCFGR) (x = A do H) . 452
11.6.13 Mapa rejestrów GPIO . ...

12

Kontroler konfiguracji systemu (SYSCFG) . . . . . . . . . . . . . . . . . . . . . . . . . . 456

12.1 Główne funkcje SYSCFG . ...

12.2 Zabezpieczenia i uprawnienia SYSCFG TrustZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456

12.3 Rejestry SYSCFG . ...

12.3.1 Rejestr bezpiecznej konfiguracji SYSCFG (SYSCFG_SECCFGR) . . . . . 458

12.3.2 Rejestr konfiguracji SYSCFG 1 (SYSCFG_CFGR1) . . . . . . . . . . . . . . 459

12.3.3 Rejestr maski przerwania FPU (SYSCFG_FPUIMR) . . . . . . . . . . . . . . . . . . . . 461

12.3.4 Rejestr blokady niezabezpieczonej procesora SYSCFG (SYSCFG_CNSLCKR) . . . . . 461

12.3.5 Rejestr blokady bezpieczeństwa procesora SYSCFG (SYSCFG_CSLOCKR) . . . . . . . . 462

12.3.6 Rejestr konfiguracji SYSCFG 2 (SYSCFG_CFGR2) . . . . . . . . . . . . . . 463

12.3.7 Rejestr sterujący i stanu pamięci SYSCFG SRAM2 (SYSCFG_SCSR) . . . . 464

12.3.8 Rejestr kluczy SRAM2 SYSCFG (SYSCFG_SKR) . . . . . . . . . . . . . . . . . . . . . . 465

RM0438 Wersja 8

13/2187
54

Zawartość

RM0438

12.3.9 Rejestr ochrony zapisu SRAM2 w SYSCFG (SYSCFG_SWPR) . . . . . . 465 12.3.10 Rejestr ochrony zapisu SRAM2 2 w SYSCFG (SYSCFG_SWPR2) . . . 466 12.3.11 Rejestr poleceń RSS w SYSCFG (SYSCFG_RSSCMDR) . . . . . . . . . . 466 12.3.12 Mapa rejestrów SYSCFG . ...

13

Macierz połączeń urządzeń peryferyjnych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469

13.1 Wprowadzenie . ...

13.2 Podsumowanie połączenia . ...

13.3 Szczegóły połączeń międzysystemowych . ...

13.3.1 Od timera (TIM1/TIM2/TIM3/TIM4/TIM5/TIM8/TIM15/TIM16/TIM17) do timera (TIM1/TIM2/TIM3/TIM4/TIM5/TIM8/TIM15) . . . . . . . . . . . . . . . . . . . 470

13.3.2 Z timera (TIM1/TIM2/TIM3/TIM4/TIM6/TIM8/TIM15) i EXTI do ADC (ADC1/ADC2) . ...

13.3.3 Z ADC1/ADC2 do timera (TIM1/TIM8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471

13.3.4 Z timera (TIM2/TIM4/TIM5/TIM6/TIM7/TIM8) i EXTI do DAC (DAC1/DAC2) . ...

13.3.5 Z timera (TIM1/TIM3/TIM4/TIM6/TIM7/TIM8/TIM16/LPTIM1) i EXTI do DFSDM1 . ...

13.3.6 Z DFSDM1 do timera (TIM1/TIM8/TIM15/TIM16/TIM17) . . . . . . . . . . 473

13.3.7 Z HSE, LSE, LSI, MSI, MCO, RTC do timera (TIM2/TIM15/TIM16/TIM17) . ...

13.3.8 Z RTC, COMP1, COMP2 do timera o niskim poborze mocy (LPTIM1/LPTIM2/LPTIM3) . ...

13.3.9 Od timera (TIM1/TIM2/TIM3/TIM8/TIM15) do komparatorów (COMP1/COMP2) . ...

13.3.10 Z ADC (ADC1) do ADC (ADC2) . ...

13.3.11 Z USB do timera (TIM2) . ...

13.3.12 Ze źródła analogowego wewnętrznego do ADC (ADC1/ADC2) i OPAMP (OPAMP1/OPAM2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475

13.3.13 Od komparatorów (COMP1/COMP2) do timerów (TIM1/TIM2/TIM3/TIM8/TIM15/TIM16/TIM17) . . . . . . . . . . . . . . . . . . . . . . . . . . 475

13.3.14 Od błędów systemowych do timerów (TIM1/TIM8/TIM15/TIM16/TIM17) . . . . 476

13.3.15 Od timerów (TIM16/TIM17) do IRTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476

13.3.16 Z ADC (ADC1/ADC2) do DFSDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477

14

Kontroler bezpośredniego dostępu do pamięci (DMA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478

14.1 Wprowadzenie . ...

14.2 Główne cechy DMA . ...

14.3 Implementacja DMA . ...

14/2187

RM0438 Wersja 8

RM0438

Zawartość

14.4
14.5 14.6

14.3.1 DMA1 i DMA2 . ...
Opis funkcjonalny DMA . ...
14.4.1 Schemat blokowy DMA . ... . . . . . . . . . . . . . . . . . . . 480 14.4.2 Arbitraż DMA . ... 481 14.4.3 Szerokość, wyrównanie i kolejność bajtów danych DMA . . . . . . . . . . . . . . . . . . . . . . . . . 481 14.4.4 Zarządzanie błędami DMA . ...
Przerwania DMA . ...
14.6.1 Rejestr stanu przerwania DMA (DMA_ISR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490 14.6.2 Rejestr zerowania flagi przerwania DMA (DMA_IFCR) . . . . . . . . . . . . . . . . . . . . . . . 494 14.6.3 Rejestr konfiguracji kanału x DMA (DMA_CCRx) . ... . . . . 495 14.6.4 Rejestr adresu kanału DMA x pamięci 500 (DMA_CM14.6.5ARx) . . . . . . . . 501 14.6.6 Rejestr adresu kanału DMA x pamięci 0 (DMA_CM0ARx) . . . . . . . . 501 14.6.7 Mapa rejestrów DMA . ...

15

Multiplekser żądań DMA (DMAMUX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506

15.1 Wprowadzenie . ...

15.2 Główne funkcje DMAMUX . ...

15.3 Implementacja DMAMUX . ...

15.3.1 Instancjacja DMAMUX . ...

15.3.2 Mapowanie DMAMUX . ...

15.4 Opis funkcjonalny DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .511

15.4.1 Schemat blokowy DMAMUX . ...

15.4.2 Sygnały DMAMUX . ...

15.4.3 Kanały DMAMUX . ...

15.4.4 Kanały bezpieczne/niezabezpieczone DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513

15.4.5 Kanały uprzywilejowane/nieuprzywilejowane DMAMUX . . . . . . . . . . . . . . . . . . . . . . . . . . 513

15.4.6 Multiplekser linii żądań DMAMUX . ...

15.4.7 Generator żądań DMAMUX . ...

15.5 Przerwania DMAMUX . ...

RM0438 Wersja 8

15/2187
54

Zawartość

RM0438

15.6

Rejestry DMAMUX . ...
15.6.1 Rejestr konfiguracji kanału x multipleksera linii żądań DMAMUX (DMAMUX_CxCR) . ...
15.6.2 Rejestr stanu kanału przerwania multipleksera linii żądań DMAMUX (DMAMUX_CSR) . ...
15.6.3 Rejestr flagi czyszczenia kanału przerwania multipleksera linii żądań DMAMUX (DMAMUX_CCFR) . ...
15.6.4 Rejestr konfiguracji kanału x generatora żądań DMAMUX (DMAMUX_RGxCR) . ...
15.6.5 Rejestr stanu przerwania generatora żądań DMAMUX (DMAMUX_RGSR) . ...
15.6.6 Rejestr flagi czyszczenia przerwania generatora żądań DMAMUX (DMAMUX_RGCFR) . ...
15.6.7 Mapa rejestrów DMAMUX . ...

16

Zagnieżdżony kontroler przerwań wektorowych (NVIC) . . . . . . . . . . . . . . . . . . . . . . . . . . . 528

16.1 Główne cechy NVIC . ...

16.2 Rejestr wartości kalibracji SysTick . ...

16.3 Wektory przerwań i wyjątków . ...

17

Rozszerzone przerwania i kontroler zdarzeń (EXTI) . . . . . . . . . . . . . . . . . . . . 533

17.1 Główne cechy EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533

17.2 Schemat blokowy EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534

17.2.1 Połączenia EXTI pomiędzy urządzeniami peryferyjnymi i procesorem . . . . . . . . . . . . . . . . . . 535

17.2.2 Mapowanie przerwań/zdarzeń EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535

17.3 Opis funkcjonalny EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537

17.3.1 Wybudzanie konfigurowalnego wejścia zdarzeń EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537

17.3.2 Pobudzenie wejścia zdarzenia bezpośredniego EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539

17.3.3 Wybór multipleksera EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539

17.4 Zachowanie funkcjonalne EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540

17.5 Ochrona zdarzeń EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541

17.5.1 Ochrona bezpieczeństwa EXTI . ...

17.5.2 Ochrona uprawnień EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542

17.6 Rejestry EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543

17.6.1 17.6.2 17.6.3 17.6.4

Rejestr wyboru wyzwalacza rosnącego EXTI (EXTI_RTSR1) . . . . . . . . . . . . . . 543 Rejestr wyboru wyzwalacza opadającego EXTI (EXTI_FTSR1) . . . . . . . . . . . . . 544 Rejestr zdarzeń przerwania programowego EXTI (EXTI_SWIER1) . . . . . . . . . . . 545 Rejestr oczekujący na zbocze narastające EXTI (EXTI_RPR1) . . . . . . . . . . . . . . . . 546

16/2187

RM0438 Wersja 8

RM0438

Zawartość

17.6.5 Rejestr oczekujący na zbocze opadające EXTI (EXTI_FPR1) . . . . . . . . . . . . . . . . 547 17.6.6 Rejestr konfiguracji zabezpieczeń EXTI (EXTI_SECCFGR1) . . . . . . . . . . 548 17.6.7 Rejestr konfiguracji uprawnień EXTI (EXTI_PRIVCFGR1) . . . . . . . . . 549 17.6.8 Rejestr wyboru wyzwalacza rosnącego EXTI (EXTI_RTSR2) . . . . . . . . . . . . . . 549 17.6.9 Rejestr wyboru wyzwalacza opadającego EXTI (EXTI_FTSR2) . . . . . . . . . . . . . 550 17.6.10 Rejestr zdarzeń przerwania programowego EXTI (EXTI_SWIER2) . . . . . . . . . . . 551 17.6.11 Rejestr oczekujący na zbocze narastające EXTI (EXTI_RPR2) . . . . . . . . . . . . . . . . 551 17.6.12 Rejestr oczekujący na zbocze opadające EXTI (EXTI_FPR2) . . . . . . . . . . . . . . . . 552 17.6.13 Rejestr włączania zabezpieczeń EXTI (EXTI_SECCFGR2) . . . . . . . . . . . . . . . 553 17.6.14 Rejestr włączania uprawnień EXTI (EXTI_PRIVCFGR2) . . . . . . . . . . . . . . 553 17.6.15 Rejestr wyboru przerwania zewnętrznego EXTI (EXTI_EXTICRn) . . . . . . . . 554 17.6.16 Rejestr blokady EXTI (EXTI_LOCKR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557 17.6.17 Wybudzanie procesora EXTI z rejestrem maski przerwań (EXTI_IMR1) . . . . . . . 557 17.6.18 Wybudzanie procesora EXTI z rejestrem maski zdarzeń (EXTI_EMR1) . . . . . . . . 558 17.6.19 Wybudzanie procesora EXTI z rejestrem maski przerwań (EXTI_IMR2) . . . . . . . 559 17.6.20 Wybudzanie procesora EXTI z rejestrem maski zdarzeń (EXTI_EMR2) . . . . . . . . 559 17.6.21 Mapa rejestrów EXTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560

18

Jednostka obliczeniowa cyklicznej kontroli nadmiarowej (CRC) . . . . . . . . . . . . . . . . . . . 563

18.1 Wprowadzenie do CRC . ...

18.2 Główne cechy CRC . ...

18.3 Opis funkcjonalny CRC . ...

18.3.1 Schemat blokowy CRC . ...

18.3.2 Sygnały wewnętrzne CRC . ...

18.3.3 Operacja CRC . ...

18.4 Rejestry CRC . ...

18.4.1 18.4.2 18.4.3 18.4.4

Rejestr danych CRC (CRC_DR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566 Niezależny od CRC rejestr danych (CRC_IDR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566 Rejestr sterujący CRC (CRC_CR) . ... . . . . . . . . . . . . . . . . . . . . 567

18.4.5 Wielomian CRC (CRC_POL) . ...

18.4.6 Mapa rejestrów CRC . ...

19

Elastyczny kontroler pamięci statycznej (FSMC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570

19.1 Wprowadzenie do FMC . ...

19.2 Główne cechy FMC . ...

RM0438 Wersja 8

17/2187
54

Zawartość

RM0438

19.3 19.4 19.5 19.6
19.7

Schemat blokowy FMC . ...
19.4.1 Obsługiwane pamięci i transakcje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
Mapowanie adresów urządzeń zewnętrznych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
19.5.1 Mapowanie adresów NOR/PSRAM . ...
Kontroler pamięci flash NOR/PSRAM . ...
19.6.1 Sygnały interfejsu pamięci zewnętrznej . ... 576 19.6.2 Asynchroniczne transakcje kontrolera pamięci flash NOR/PSRAM . . . . . . . . . . . . 578 19.6.3 Transakcje synchroniczne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580 19.6.4 Rejestry kontrolera NOR/PSRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580
Kontroler pamięci flash NAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613
19.7.1 Sygnały interfejsu pamięci zewnętrznej . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613 19.7.2 Obsługiwane pamięci flash NAND i transakcje . . . . . . . . . . . . . . . . . . 614 19.7.3 Diagramy czasowe dla pamięci flash NAND . ... . . . . . . . . . . . . . . 615 19.7.4 Funkcjonalność oczekiwania na pamięć flash NAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615 19.7.5 Obliczanie kodu korekcji błędów (ECC)
w pamięci flash NAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617 19.7.7 Rejestry kontrolera pamięci flash NAND . ... . . . 618

20

Interfejs Octo-SPI (OCTOSPI). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626

20.1 Wprowadzenie do OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626

20.2 Główne cechy OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626

20.3 Implementacja OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627

20.4 Opis funkcjonalny OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628

20.4.1 Schemat blokowy OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628

20.4.2 Piny OCTOSPI i sygnały wewnętrzne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629

20.4.3 Interfejs OCTOSPI do trybów pamięci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630

20.4.4 Protokół poleceń regularnych OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630

20.4.5 Interfejs sygnału protokołu poleceń regularnych OCTOSPI . . . . . . . . . . . . . . 634

20.4.6 Protokół HyperBus . ...

20.4.7 Cechy szczególne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641

18/2187

RM0438 Wersja 8

RM0438

Zawartość

20.5 20.6 20.7

20.4.8 Wprowadzenie do trybu pracy OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . 642 20.4.9 Tryb pośredni OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642 20.4.10 Tryb automatycznego odpytywania stanu OCTOSPI . . . . . . . . . . . . . . . . . . . . . . 644 20.4.11 Tryb mapowania pamięci OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645 20.4.12 Wprowadzenie do konfiguracji OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . 646 20.4.13 Konfiguracja systemu OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646 20.4.14 Konfiguracja urządzenia OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646 20.4.15 Konfiguracja zwykłego trybu poleceń OCTOSPI . . . . . . . . . . . . . . . . 649 20.4.16 Konfiguracja protokołu OCTOSPI HyperBus . . . . . . . . . . . . . . . . . . . . . 651 20.4.17 Zarządzanie błędami OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652 20.4.18 OCTOSPI ZAJĘTY i PRZERWIJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653 20.4.19 Rekonfiguracja lub dezaktywacja OCTOSPI . . . . . . . . . . . . . . . . . . . . . . 653 20.4.20 Zachowanie NCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
Dopasowanie adresu i numer danych. . . . . . . . . . . . . . . . . . . . . . . . . . . 655 Przerwania OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656 rejestrów OCTOSPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
20.7.1 Rejestr kontrolny OCTOSPI (OCTOSPI_CR) . . . . . . . . . . . . . . . . . . . . . 657 20.7.2 Rejestr konfiguracji urządzenia OCTOSPI 1 (OCTOSPI_DCR1) . . . . . . 659 20.7.3 Rejestr konfiguracji urządzenia OCTOSPI 2 (OCTOSPI_DCR2) . . . . . . 661 20.7.4 Rejestr konfiguracji urządzenia OCTOSPI 3 (OCTOSPI_DCR3) . . . . . . 662 20.7.5 Rejestr konfiguracji urządzenia OCTOSPI 4 (OCTOSPI_DCR4) . . . . . . 662 20.7.6 Rejestr stanu OCTOSPI (OCTOSPI_SR) . . . . . . . . . . . . . . . . . . . . . . 663 20.7.7 Rejestr kasowania flagi OCTOSPI (OCTOSPI_FCR) . . . . . . . . . . . . . . . . . . 664 20.7.8 Rejestr długości danych OCTOSPI (OCTOSPI_DLR) . . . . . . . . . . . . . . . . 664 20.7.9 Rejestr adresowy OCTOSPI (OCTOSPI_AR) . . . . . . . . . . . . . . . . . . . . 665 20.7.10 Rejestr danych OCTOSPI (OCTOSPI_DR) . . . . . . . . . . . . . . . . . . . . . . . 665 20.7.11 Rejestr maski stanu odpytywania OCTOSPI (OCTOSPI_PSMKR) . . . . . . . 666 20.7.12 Rejestr dopasowania stanu odpytywania OCTOSPI (OCTOSPI_PSMAR) . . . . . . . 667 20.7.13 Rejestr interwałów odpytywania OCTOSPI (OCTOSPI_PIR) . . . . . . . . . . . . . . 667 20.7.14 Rejestr konfiguracji komunikacji OCTOSPI (OCTOSPI_CCR) . . 667 20.7.15 Rejestr konfiguracji taktowania OCTOSPI (OCTOSPI_TCR) . . . . . . . . . . 670 20.7.16 Rejestr instrukcji OCTOSPI (OCTOSPI_IR) . . . . . . . . . . . . . . . . . . . 670 20.7.17 Rejestr bajtów alternatywnych OCTOSPI (OCTOSPI_ABR) . . . . . . . . . . . . . 671 20.7.18 Rejestr limitu czasu małej mocy OCTOSPI (OCTOSPI_LPTR) . . . . . . . . . . 671 20.7.19 Rejestr konfiguracji komunikacji opakowania OCTOSPI
(OCTOSPI_WPCCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672 20.7.20 Rejestr konfiguracji taktowania zawijania OCTOSPI (OCTOSPI_WPTCR) . . 674

RM0438 Wersja 8

19/2187
54

Zawartość

RM0438

20.7.21 Rejestr instrukcji zawijania OCTOSPI (OCTOSPI_WPIR) . . . . . . . . . . . . 674 20.7.22 OCTOSPI zawijanie rejestru bajtów alternatywnych (OCTOSPI_WPABR) . . . . . . 675 20.7.23 OCTOSPI zapisuje rejestr konfiguracji komunikacji
(OCTOSPI_WCCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675 20.7.24 Rejestr konfiguracyjny czasu zapisu OCTOSPI (OCTOSPI_WTCR) . . . . 677 20.7.25 Rejestr instrukcji zapisu OCTOSPI (OCTOSPI_WIR) . . . . . . . . . . . . . 678 20.7.26 OCTOSPI zapis rejestru bajtów alternatywnych (OCTOSPI_WABR) . . . . . . . 678 20.7.27 Rejestr konfiguracji opóźnienia OCTOSPI HyperBus
(OCTOSPI_HLCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679 20.7.28 Mapa rejestrów OCTOSPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679

21

Przetworniki analogowo-cyfrowe (ADC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683

21.1 Wprowadzenie do przetwornika ADC . ...

21.2 Główne cechy przetwornika ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684

21.3 Implementacja ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685

21.4 Opis funkcjonalny przetwornika ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686

21.4.1 Schemat blokowy przetwornika ADC . ...

21.4.2 Piny ADC i sygnały wewnętrzne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687

21.4.3 Zegary ADC . ...

21.4.4 Łączność ADC1/2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690

21.4.5 Interfejs AHB podrzędny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692

21.4.6 Tryb głębokiego wyłączania zasilania ADC (DEEPPWD) i głośność ADCtagregulator e (ADVREGEN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692

21.4.7 Kanały wejściowe jednostronne i różnicowe . . . . . . . . . . . . . . . . . . . . . . . . 693

21.4.8 Kalibracja (ADCAL, ADCALDIF, ADC_CALFACT) . . . . . . . . . . . . . . . . . 693

21.4.9 Sterowanie włączaniem/wyłączaniem przetwornika ADC (ADEN, ADDIS, ADRDY) . . . . . . . . . . . . . . . . . . . . . . . . . 696

21.4.10 Ograniczenia przy zapisie bitów sterujących przetwornika ADC . . . . . . . . . . . . . . . . . . . . . . . 697

21.4.11 Wybór kanału (ADC_SQRy, ADC_JSQR) . . . . . . . . . . . . . . . . . . . . . . . 698

21.4.12 Programowalne kanałowo sampczas trwania (SMPR1, SMPR2) . . . . . 699

21.4.13 Tryb pojedynczej konwersji (CONT = 0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699

21.4.14 Tryb konwersji ciągłej (CONT = 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 700

21.4.15 Konwersje początkowe (ADSTART, JADSTART) . . . . . . . . . . . . . . . . . . . . . . . 701

21.4.16 Czas działania przetwornika ADC . ...

21.4.17 Zatrzymywanie trwającej konwersji (ADSTP, JADSTP) . . . . . . . . . . . . . . . . 702

21.4.18 Konwersja na zewnętrznym wyzwalaczu i polaryzacja wyzwalacza (EXTSEL, EXTEN, JEXTSEL, JEXTEN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704

21.4.19 Zarządzanie kanałami wtryskiwanymi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706

21.4.20 Tryb nieciągły (DISCEN, DISCNUM, JDISCEN) . . . . . . . . . . . . 708

20/2187

RM0438 Wersja 8

RM0438

Zawartość

21.5 21.6 21.7

21.4.21 Kolejka kontekstu dla wstrzykiwanych konwersji . . . . . . . . . . . . . . . . . . . . . . . . . . . 709 21.4.22 Rozdzielczość programowalna (RES) – tryb szybkiej konwersji . . . . . . . . . . . 717 21.4.23 Koniec konwersji, koniec sampfaza konwersji (EOC, JEOC, EOSMP) . . 718 21.4.24 Koniec sekwencji konwersji (EOS, JEOS) . . . . . . . . . . . . . . . . . . . . . . . . . . . 718 21.4.25 Diagramy czasowe np.ample (tryby pojedynczy/ciągły,
wyzwalacze sprzętowe/programowe) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719 21.4.26 Zarządzanie danymi . ... 721 21.4.27 Dynamiczne funkcje niskiego poboru mocy . ...
AWD1CH, AWD2CH, AWD3CH, AWD_HTx, AWD_LTx, AWDx) . . . . . 732 21.4.30 Oversampler . ... . . . . . . . . . . . . . . . . . . . . . . . . . 736 21.4.31 Monitorowanie zasilania VBAT . ...tagodniesienie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758
Przetwornik ADC w trybie niskiego poboru mocy . ... . . . . . . 759
21.7.1 Rejestr przerwań i stanu przetwornika ADC (ADC_ISR) . . . . . . . . . . . . . . . . . . . . . . . . 761 21.7.2 Rejestr włączania przerwań przetwornika ADC (ADC_IER) . . . . . . . . . . . . . . . . . . . . . . . . . . 763 21.7.3 Rejestr sterujący przetwornika ADC (ADC_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765 21.7.4 Rejestr konfiguracji przetwornika ADC (ADC_CFGR) . . . . . . . . . . . . . . . . . . . . . . . . . 768 21.7.5 Rejestr konfiguracji ADC 2 (ADC_CFGR2) . . . . . . . . . . . . . . . . . . . . . . . 772 21.7.6 Rejestry ADCamprejestr czasu 1 (ADC_SMPR1) . . . . . . . . . . . . . . . . . . . . . . . . . 774 21.7.7 ADC samprejestr czasu 2 (ADC_SMPR2) . . . . . . . . . . . . . . . . . . . . . . . . . 775 21.7.8 Rejestr progu watchdoga ADC 1 (ADC_TR1) . . . . . . . . . . . . . . . . . . . . 776 21.7.9 Rejestr progu watchdoga ADC 2 (ADC_TR2) . . . . . . . . . . . . . . . . . . 776 21.7.10 Rejestr progu watchdoga ADC 3 (ADC_TR3) . . . . . . . . . . . . . . . . . . 777 21.7.11 Rejestr regularnej sekwencji przetwornika ADC 1 (ADC_SQR1) . . . . . . . . . . . . . . . . . . . . . 778 21.7.12 Rejestr regularnej sekwencji przetwornika ADC 2 (ADC_SQR2) . . . . . . . . . . . . . . . . . . . . 779 21.7.13 Rejestr regularnej sekwencji przetwornika ADC 3 (ADC_SQR3) . . . . . . . . . . . . . . . . . . . . 780 21.7.14 Rejestr regularnej sekwencji przetwornika ADC 4 (ADC_SQR4) . . . . . . . . . . . . . . . . . 781 21.7.15 Rejestr danych regularnych przetwornika ADC (ADC_DR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781 21.7.16 Rejestr sekwencji wstrzykiwanej do przetwornika ADC (ADC_JSQR) . . . . . . . . . . . . . . . . . . . . . . . . . 782 21.7.17 Rejestr przesunięcia y przetwornika ADC (ADC_OFRy) . ... 784 21.7.18 Rejestr danych kanału y wtryskiwanego przez przetwornik ADC (ADC_JDRy) . . . . . . . . . . . . . . . . . . . 785

RM0438 Wersja 8

21/2187
54

Zawartość

RM0438

21.8 21.9

21.7.19 Rejestr konfiguracji analogowego układu watchdog 2 przetwornika ADC (ADC_AWD2CR) . . . . 785 21.7.20 Rejestr konfiguracji analogowego układu watchdog 3 przetwornika ADC (ADC_AWD3CR) . . . . 786 21.7.21 Rejestr wyboru trybu różnicowego przetwornika ADC (ADC_DIFSEL) . . . . . . . . . . 786 21.7.22 Współczynniki kalibracji przetwornika ADC (ADC_CALFACT) . . . . . . . . . . . . . . . . . . . . . . . . . . 787
Wspólne rejestry ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787
21.8.1 Wspólny rejestr stanu przetwornika ADC (ADC_CSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . 787 21.8.2 Wspólny rejestr sterujący przetwornika ADC (ADC_CCR) . . . . . . . . . . . . . . . . . . . . . . . . 789 21.8.3 Wspólny rejestr danych regularnych przetwornika ADC dla trybu dualnego (ADC_CDR) . . . . . . 792
Mapa rejestrów ADC . ...

22

Przetwornik cyfrowo-analogowy (DAC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796

22.1 Wprowadzenie do przetwornika DAC . ...

22.2 Główne cechy przetwornika DAC . ...

22.3 Implementacja DAC . ...

22.4 Opis funkcjonalny przetwornika DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798

22.4.1 Schemat blokowy przetwornika DAC . ...

22.4.2 Włączanie kanału DAC . ...

22.4.3 Format danych DAC . ...

22.4.4 Konwersja DAC . ...

22.4.5 Objętość wyjściowa DACtagtj. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801

22.4.6 Wybór wyzwalacza DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802

22.4.7 Żądania DMA . ...

22.4.8 Generowanie hałasu . ...

22.4.9 Generowanie fali trójkątnej . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805

22.4.10 Tryby kanału DAC . ...

22.4.11 Kalibracja bufora kanału DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 809

22.4.12 Tryby konwersji kanału DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810

22.4.13 Tryby konwersji dwóch kanałów DAC (jeśli dostępne są dwa kanały) . ...

22.5 DAC w trybach niskiego poboru mocy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815

22.6 Przerwania DAC . ...

22.7 Rejestry DAC . ...

22.7.1 Rejestr sterujący DAC (DAC_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816

22.7.2 Rejestr wyzwalacza oprogramowania DAC (DAC_SWTRGR) . . . . . . . . . . . . . . . . . . . . 820

22.7.3 Rejestr danych DAC kanału 1, 12-bitowy, wyrównany do prawej strony (DAC_DHR12R1) . ...

22/2187

RM0438 Wersja 8

RM0438

Zawartość

22.7.4 Rejestr danych kanału 1 DAC z 12-bitowym wyrównaniem do lewej strony (DAC_DHR12L1) . ...
22.7.5 Rejestr danych 1-bitowych wyrównanych do prawej strony kanału DAC 8 (DAC_DHR8R1) . ...
22.7.6 Rejestr danych kanału 2 DAC, 12-bitowy, wyrównany do prawej strony (DAC_DHR12R2) . ...
22.7.7 Rejestr danych kanału 2 DAC z 12-bitowym wyrównaniem do lewej strony (DAC_DHR12L2) . ...
22.7.8 Rejestr danych 2-bitowych wyrównanych do prawej strony kanału DAC 8 (DAC_DHR8R2) . ...
22.7.9 Podwójny 12-bitowy rejestr danych DAC wyrównany do prawej strony (DAC_DHR12RD) . ...
22.7.10 Podwójny przetwornik cyfrowo-analogowy (DAC_DHR12LD) o 12-bitowej, wyrównanej do lewej stronie pamięci danych . ...
22.7.11 Podwójny 8-bitowy rejestr danych DAC wyrównany do prawej strony (DAC_DHR8RD) . ...
22.7.12 Rejestr wyjściowy danych kanału 1 DAC (DAC_DOR1) . . . . . . . . . . . . . . . . . . . . 825
22.7.13 Rejestr wyjściowy danych kanału 2 DAC (DAC_DOR2) . . . . . . . . . . . . . . . . . . . . 825
22.7.14 Rejestr stanu DAC (DAC_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825
22.7.15 Rejestr sterujący kalibracją DAC (DAC_CCR) . . . . . . . . . . . . . . . . . . . . . . . . 827
22.7.16 Rejestr sterujący trybem DAC (DAC_MCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827
22.7.17 Kanał DAC 1 sample i przytrzymaj samprejestr czasu le (DAC_SHSR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
22.7.18 Kanał DAC 2 sample i przytrzymaj samprejestr czasu le (DAC_SHSR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
22.7.19 DAC-iamprejestr czasu le i przytrzymania (DAC_SHHR) . . . . . . . . . . . . . . . . . 829
22.7.20 DAC-iamprejestr czasu odświeżania le and hold (DAC_SHRR) . . . . . . . . . 830
22.7.21 Mapa rejestrów DAC . ...

23

TomtagBufor odniesienia (VREFBUF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833

23.1 Wprowadzenie do VREFBUF . ...

23.2 Opis funkcjonalny VREFBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833

23.3 Przycinanie VREFBUF . ...

23.4 Rejestry VREFBUF . ...

23.4.1 Rejestr sterowania i stanu VREFBUF (VREFBUF_CSR) . . . . . . . . . . . 835

23.4.2 Rejestr sterujący kalibracją VREFBUF (VREFBUF_CCR) . . . . . . . . . . . 836

23.4.3 Mapa rejestrów VREFBUF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836

24

Komparator (COMP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837

24.1 Wprowadzenie . ...

RM0438 Wersja 8

23/2187
54

Zawartość

RM0438

24.2 24.3
24.4 24.5 24.6

Główne cechy COMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837 Opis funkcjonalny COMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838
24.3.1 Schemat blokowy COMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838 24.3.2 Piny COMP i sygnały wewnętrzne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838 24.3.3 Resetowanie i zegary COMP . ... . . . 839 24.3.4 Mechanizm LOCK komparatora . ... . . . . . . . . . . . . . . . . . . . . . . . 839 24.3.5 Funkcja wygaszania wyjścia komparatora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840 24.3.6 Tryby mocy i prędkości COMP . ...
Tryby niskiego poboru mocy COMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842 Przerwania COMP . ... . . . . . . . . . . . 842
24.6.1 Rejestr sterowania i stanu komparatora 1 (COMP1_CSR) . . . . . . . . . . . 843 24.6.2 Rejestr sterowania i stanu komparatora 2 (COMP2_CSR) . . . . . . . . . . . . 845 24.6.3 Mapa rejestrów COMP . ...

25

Operacyjny amplifierzy (OPAMP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849

25.1 Wprowadzenie . ...

25.2 OPAMP główne cechy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849

25.3 OPAMP opis funkcjonalny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849

25.3.1 OPAMP reset i zegary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849

25.3.2 Konfiguracja początkowa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 850

25.3.3 Trasowanie sygnału . ...

25.3.4 OPAMP tryby . ...

25.3.5 Kalibracja . ...

25.4 OPAMP tryby niskiego poboru mocy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856

25.5 OPAMP rejestry . ...

25.5.1 OPAMP1 rejestr sterujący/statusu (OPAMP1_CSR) . . . . . . . . . . . . . . . . . . . 857

25.5.2 OPAMP1 rejestr przycinania offsetowego w trybie normalnym (OPAMP1_OTR) . . 858

25.5.3 OPAMP1 rejestr przycinania offsetowego w trybie niskiego poboru mocy (OPAMP1_LPOTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 858

25.5.4 OPAMP2 rejestr sterujący/statusu (OPAMP2_CRS) . . . . . . . . . . . . . . . . . . . 859

25.5.5 OPAMP2 rejestr przycinania offsetowego w trybie normalnym (OPAMP2_OTR) . . 860

25.5.6 OPAMP2 rejestr przycinania offsetowego w trybie niskiego poboru mocy (OPAMP2_LPOTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 860

25.5.7 OPAMP zarejestruj mapę . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 861

24/2187

RM0438 Wersja 8

RM0438

Zawartość

26

Filtr cyfrowy dla modulatorów sigma-delta (DFSDM) . . . . . . . . . . . . . . . . . . 862

26.1 Wprowadzenie . ...

26.2 Główne cechy DFSDM . ...

26.3 Implementacja DFSDM . ...

26.4 Opis funkcjonalny DFSDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865

26.4.1 Schemat blokowy DFSDM . ...

26.4.2 Piny DFSDM i sygnały wewnętrzne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 866

26.4.3 Resetowanie DFSDM i zegary . ...

26.4.4 Transceivery kanału szeregowego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 868

26.4.5 Konfigurowanie wejściowego interfejsu szeregowego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 878

26.4.6 Równoległe wprowadzanie danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 878

26.4.7 Wybór kanału . ...

26.4.8 Konfiguracja filtra cyfrowego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 881

26.4.9 Jednostka integrująca . ...

26.4.10 Analogowy układ nadzorujący . ...

26.4.11 Detektor zwarcia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885

26.4.12 Detektor ekstremalny . ...

26.4.13 Blok jednostek danych . ...

26.4.14 Format danych podpisanych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 887

26.4.15 Uruchamianie konwersji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888

26.4.16 Tryb ciągły i szybki tryb ciągły . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888

26.4.17 Pierwszeństwo żądań . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 889

26.4.18 Optymalizacja mocy w trybie pracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 890

26.5 Przerwania DFSDM . ...

26.6 Transfer DMA DFSDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 892

26.7 Rejestry kanału y DFSDM (y=0..3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 892

26.7.1 Rejestr konfiguracji kanału y DFSDM (DFSDM_CHyCFGR1) . . . . 892

26.7.2 Rejestr konfiguracji kanału y DFSDM (DFSDM_CHyCFGR2) . . . . 894

26.7.3 Rejestr analogowego układu nadzorującego i detektora zwarć kanału y DFSDM (DFSDM_CHyAWSCDR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895

26.7.4 Rejestr danych filtru nadzorującego kanał DFSDM (DFSDM_CHyWDATR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896

26.7.5 Rejestr wejściowy danych kanału y DFSDM (DFSDM_CHyDATINR) . . . . . . 896

26.7.6 Rejestr opóźnienia kanału y DFSDM (DFSDM_CHyDLYR) . . . . . . . . . . . . 897

26.8 Rejestry modułu filtra DFSDM x (x=0..3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 898

26.8.1 Filtr DFSDM x rejestr sterujący 1 (DFSDM_FLTxCR1) . . . . . . . . . . . . . . 898

26.8.2 Filtr DFSDM x rejestr sterujący 2 (DFSDM_FLTxCR2) . . . . . . . . . . . . . . 901

RM0438 Wersja 8

25/2187
54

Zawartość

RM0438

26.8.3 Rejestr przerwania i stanu filtra DFSDM x (DFSDM_FLTxISR) . . . . . 902
26.8.4 Rejestr czyszczenia flagi przerwania filtra DFSDM x (DFSDM_FLTxICR) . . . . . 904
26.8.5 Rejestr wyboru grupy kanałów wtryskiwanych przez filtr DFSDM x (DFSDM_FLTxJCHGR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905
26.8.6 Filtr DFSDM x rejestr sterujący (DFSDM_FLTxFCR) . . . . . . . . . . . . . . . . 905
26.8.7 Rejestr danych filtra DFSDM x dla grupy wstrzykiwanej (DFSDM_FLTxJDATAR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 906
26.8.8 Rejestr danych filtra x DFSDM dla kanału regularnego (DFSDM_FLTxRDATAR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907
26.8.9 Rejestr wysokiego progu filtra DFSDM x analogowego układu nadzorującego (DFSDM_FLTxAWHTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 908
26.8.10 Rejestr niskiego progu filtru DFSDM x analogowy watchdog (DFSDM_FLTxAWLTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 908
26.8.11 Rejestr stanu filtra DFSDM x analogowego układu nadzorującego (DFSDM_FLTxAWSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909
26.8.12 Rejestr flagi czyszczenia filtra DFSDM x analogowego układu nadzorującego (DFSDM_FLTxAWCFR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910
26.8.13 Rejestr maksymalny detektora ekstremów filtru DFSDM x (DFSDM_FLTxEXMAX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910
26.8.14 Rejestr minimalny detektora ekstremów filtru DFSDM x (DFSDM_FLTxEXMIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 911
26.8.15 Rejestr timera konwersji filtra DFSDM x (DFSDM_FLTxCNVTIMR) . . 911
26.8.16 Mapa rejestrów DFSDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 912

27

Kontroler dotykowy (TSC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920

27.1 Wprowadzenie . ...

27.2 Główne cechy TSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920

27.3 Opis funkcjonalny TSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921

27.3.1 Schemat blokowy TSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921

27.3.2 Nabywanie danych o przeniesieniu ładunku powierzchniowegoview . . . . . . . . . . . . . . . . . . . 921

27.3.3 Resetowanie i zegary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924

27.3.4 Sekwencja pozyskiwania transferu ładunku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924

27.3.5 Funkcja rozproszonego widma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925

27.3.6 Maksymalny błąd liczby . ...

27.3.7 SampWybór trybu wejścia/wyjścia kondensatora i kanału wejścia/wyjścia . . . . . . . . . . . 926

27.3.8 Tryb akwizycji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927

27.3.9 Histereza wejścia/wyjścia i sterowanie przełącznikiem analogowym . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927

27.4 Tryby niskiego poboru mocy TSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928

27.5 Przerwania TSC . ...

26/2187

RM0438 Wersja 8

RM0438

Zawartość

27.6

Rejestry TSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928
27.6.1 Rejestr sterujący TSC (TSC_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928 27.6.2 Rejestr włączający przerwanie TSC (TSC_IER) . . . . . . . . . . . . . . . . . . . . . . . . . 931 27.6.3 Rejestr zerowania przerwania TSC (TSC_ICR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 932 27.6.4 Rejestr stanu przerwania TSC (TSC_ISR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 932 27.6.5 Rejestr sterujący histerezą wejścia/wyjścia TSC (TSC_IOHCR) . . . . . . . . . . . . . . . . . 933 27.6.6 Rejestr sterujący przełącznikiem analogowym wejścia/wyjścia TSC
(TSC_IOASCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933 27.6.7 We/wy TSCampRejestr sterujący kanałem wejścia/wyjścia (TSC_IOSCR) . . . . . . . . . . . . . . . . . . . 934 27.6.8 Rejestr sterujący kanałem wejścia/wyjścia TSC (TSC_IOCCR) . . . . . . . . . . . . . . . . . . . 934 27.6.9 Rejestr stanu sterowania grupy wejść/wyjść TSC (TSC_IOGCSR) . . . . . . . . . . . . . 935 27.6.10 Rejestr licznika grupy x wejść/wyjść TSC (TSC_IOGxCR) . . . . . . . . . . . . . . . . . 935 27.6.11 Mapa rejestrów TSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936

28

Generator prawdziwie losowych liczb (RNG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 938

28.1 Wprowadzenie do RNG . ...

28.2 Główne cechy RNG . ...

28.3 Opis funkcjonalny RNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939

28.3.1 Schemat blokowy RNG . ...

28.3.2 Sygnały wewnętrzne RNG . ...

28.3.3 Generowanie liczb losowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939

28.3.4 Inicjalizacja RNG . ...

28.3.5 Działanie generatora liczb losowych (RNG) . ...

28.3.6 Taktowanie RNG . ...

28.3.7 Zarządzanie błędami . ...

28.3.8 Użycie generatora liczb losowych o niskim poborze mocy . ...

28.4 Przerwania RNG . ...

28.5 Czas przetwarzania RNG . ...

28.6 Walidacja źródła entropii RNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947

28.6.1 Wprowadzenie . ...

28.6.2 Warunki walidacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947

28.6.3 Gromadzenie danych . ...

28.7 Rejestry RNG . ...

28.7.1 Rejestr sterujący RNG (RNG_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948

28.7.2 Rejestr stanu RNG (RNG_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 950

28.7.3 Rejestr danych RNG (RNG_DR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 951

28.7.4 Rejestr kontroli stanu RNG (RNG_HTCR) . . . . . . . . . . . . . . . . . . . . . . 952

RM0438 Wersja 8

27/2187
54

Zawartość

RM0438

28.7.5 Mapa rejestrów RNG . ...

29

Sprzętowy akcelerator AES (AES) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953

29.1 Wprowadzenie . ...

29.2 Główne cechy AES . ...

29.3 Implementacja AES . ...

29.4 Opis funkcjonalny AES . ...

29.4.1 Schemat blokowy AES . ...

29.4.2 Sygnały wewnętrzne AES . ...

29.4.3 Rdzeń kryptograficzny AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954

29.4.4 Procedura AES do wykonania operacji szyfrowania . . . . . . . . . . . . . . . . . . . . . . . 960

29.4.5 Przygotowanie klucza rundy deszyfrowania AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 963

29.4.6 Kradzież szyfrogramu AES i uzupełnianie danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . 963

29.4.7 Zawieszanie i wznawianie zadań AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 964

29.4.8 Podstawowe tryby łączenia łańcuchowego AES (ECB, CBC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 964

29.4.9 Tryb licznika AES (CTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 969

29.4.10 Tryb Galois/licznika AES (GCM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 971

29.4.11 Kod uwierzytelniania wiadomości AES Galois (GMAC) . . . . . . . . . . . . . . . . 976

29.4.12 Licznik AES z CBC-MAC (CCM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 978

29.4.13 Rejestry danych AES i wymiana danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 983

29.4.14 Rejestry kluczy AES . ...

29.4.15 Rejestry wektorów inicjalizacyjnych AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 985

29.4.16 Interfejs AES DMA . ...

29.4.17 Zarządzanie błędami AES . ...

29.5 Przerwania AES . ...

29.6 Opóźnienie przetwarzania AES . ...

29.7 Rejestry AES . ...

29.7.1 Rejestr sterujący AES (AES_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 989

29.7.2 Rejestr stanu AES (AES_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 991

29.7.3 Rejestr wejściowy danych AES (AES_DINR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 993

29.7.4 Rejestr wyjściowy danych AES (AES_DOUTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 993

29.7.5 Rejestr klucza AES 0 (AES_KEYR0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994

29.7.6 Rejestr klucza AES 1 (AES_KEYR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994

29.7.7 Rejestr klucza AES 2 (AES_KEYR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995

29.7.8 Rejestr klucza AES 3 (AES_KEYR3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995

29.7.9 Rejestr wektora inicjalizacyjnego AES 0 (AES_IVR0) . . . . . . . . . . . . . . . . . . . . . . 995

28/2187

RM0438 Wersja 8

RM0438

Zawartość

29.7.10 Rejestr wektora inicjalizacji AES 1 (AES_IVR1) . . . . . . . . . . . . . . . . . . . . . 996 29.7.11 Rejestr wektora inicjalizacji AES 2 (AES_IVR2) . . . . . . . . . . . . . . . . . . . . . 996 29.7.12 Rejestr wektora inicjalizacji AES 3 (AES_IVR3) . . . . . . . . . . . . . . . . . . . . 996 29.7.13 Rejestr klucza AES 4 (AES_KEYR4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 29.7.14 Rejestr klucza AES 5 (AES_KEYR5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 29.7.15 Rejestr klucza AES 6 (AES_KEYR6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997 29.7.16 Rejestr klucza AES 7 (AES_KEYR7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 998 29.7.17 Rejestry zawieszenia AES (AES_SUSPxR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 998 29.7.18 Mapa rejestrów AES . ...

30

Procesor skrótu (HASH) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1001

30.1 Wprowadzenie . ...

30.2 Główne cechy HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1001

30.3 Implementacja HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1002

30.4 Opis funkcjonalny HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1002

30.4.1 Schemat blokowy HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1002

30.4.2 Sygnały wewnętrzne HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003

30.4.3 O bezpiecznych algorytmach skrótu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003

30.4.4 Podawanie danych komunikatów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003

30.4.5 Obliczanie skrótu wiadomości . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1005

30.4.6 Wypełnienie wiadomości . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1006

30.4.7 Operacje HMAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008

30.4.8 Operacje zawieszenia/wznowienia HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1010

30.4.9 Interfejs HASH DMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1012

30.4.10 Zarządzanie błędami HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1012

30.4.11 Czas przetwarzania HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1012

30.5 Przerwania HASH . ...

30.6 Rejestry HASH . ...

30.6.1 Rejestr sterujący HASH (HASH_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1014

30.6.2 Rejestr wejściowy danych HASH (HASH_DIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1016

30.6.3 Rejestr początkowy HASH (HASH_STR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1017

30.6.4 Rejestry skrótu HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1018

30.6.5 Rejestr włączający przerwanie HASH (HASH_IMR) . . . . . . . . . . . . . . . . . . . . . . 1019

30.6.6 Rejestr stanu HASH (HASH_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1020

30.6.7 Rejestry wymiany kontekstu HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1020

30.6.8 Mapa rejestrów HASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1021

RM0438 Wersja 8

29/2187
54

Zawartość

RM0438

31

Silnik deszyfrowania w locie (OTFDEC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1023

31.1 Wprowadzenie do OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1023

31.2 Główne cechy OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1023

31.3 Opis funkcjonalny OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024

31.3.1 Schemat blokowy OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024

31.3.2 Sygnały wewnętrzne OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024

31.3.3 Odszyfrowywanie OTFDEC w locie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025

31.3.4 Wykorzystanie OTFDEC algorytmu AES w deszyfrowaniu w trybie licznika . . . . . . . . . . . . . . 1026

31.3.5 Zarządzanie kontrolą przepływu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027

31.3.6 Zarządzanie błędami OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027

31.4 Przerwania OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028

31.5 Informacje o aplikacji OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028

31.5.1 Proces inicjalizacji OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028

31.5.2 OTFDEC i zarządzanie energią . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1030

31.5.3 Szyfrowanie dla OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1030

31.5.4 Kod źródłowy klucza OTFDEC CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1031

31.6 Rejestry OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1032

31.6.1 Rejestr sterujący OTFDEC (OTFDEC_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . 1032

31.6.2 Rejestr konfiguracji kontroli dostępu uprzywilejowanego OTFDEC (OTFDEC_PRIVCFGR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1033

31.6.3 Rejestr konfiguracji regionu x OTFDEC (OTFDEC_RxCFGR) . . . . . 1033

31.6.4 Rejestr adresu początkowego regionu x OTFDEC (OTFDEC_RxSTARTADDR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1035

31.6.5 Rejestr adresu końcowego regionu x OTFDEC (OTFDEC_RxENDADDR) . 1035

31.6.6 Region OTFDEC x rejestr nonce 0 (OTFDEC_RxNONCER0) . . . . . 1036

31.6.7 Region OTFDEC x rejestr nonce 1 (OTFDEC_RxNONCER1) . . . . . 1037

31.6.8 Rejestr klucza regionu x OTFDEC 0 (OTFDEC_RxKEYR0) . . . . . . . . . . . 1037

31.6.9 Rejestr klucza regionu x OTFDEC 1 (OTFDEC_RxKEYR1) . . . . . . . . . . . 1038

31.6.10 Rejestr klucza regionu x OTFDEC 2 (OTFDEC_RxKEYR2) . . . . . . . . . . . 1038

31.6.11 Rejestr klucza regionu x OTFDEC 3 (OTFDEC_RxKEYR3) . . . . . . . . . . . 1039

31.6.12 Rejestr stanu przerwania OTFDEC (OTFDEC_ISR) . . . . . . . . . . . . . . . . 1039

31.6.13 Rejestr czyszczenia przerwania OTFDEC (OTFDEC_ICR) . . . . . . . . . . . . . . . . . 1040

31.6.14 Rejestr włączający przerwanie OTFDEC (OTFDEC_IER) . . . . . . . . . . . . . . . . 1041

31.6.15 Mapa rejestrów OTFDEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1042

32

Akcelerator klucza publicznego (PKA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046

32.1 Wprowadzenie . ...

30/2187

RM0438 Wersja 8

RM0438

Zawartość

32.2 32.3
32.4
32.5 32.6 32.7

Główne cechy PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046 Opis funkcjonalny PKA . ...
32.3.1 Schemat blokowy PKA . ... . . . . . . . . . . . . . . . . . 1046 32.3.2 Przyspieszenie klucza publicznego PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1047 32.3.3 Typowe zastosowania PKA . ... . . 1047 32.3.4 Zarządzanie błędami PKA . ...
Tryby pracy PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052
32.4.1 Wprowadzenie . ... . . . . . . . . . . . 1052 32.4.2 Odejmowanie modularne . ... . . . . . . . . . . . 1053 32.4.3 Inwersja modularna . ... . ... 1054 32.4.4 Porównanie arytmetyczne . ... . . . . . . . . . 1054 32.4.5 Mnożenie skalarne ECC Fp . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055
Exampliczba konfiguracji i czasów przetwarzania . . . . . . . . . . . . . . . . . . . . . 1064
32.5.1 Obsługiwane krzywe eliptyczne . ...
Przerwania PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1067 Rejestry PKA . ...
32.7.1 Rejestr kontrolny PKA (PKA_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1068 32.7.2 Rejestr stanu PKA (PKA_SR) . ... 1069 32.7.3 Pamięć RAM PKA . ...

RM0438 Wersja 8

31/2187
54

Zawartość

RM0438

32.7.5 Mapa rejestru PKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1071

33

Zaawansowane timery sterujące (TIM1/TIM8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1072

33.1 Wprowadzenie do TIM1/TIM8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1072

33.2 Główne cechy TIM1/TIM8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1072

33.3 Opis funkcjonalny TIM1/TIM8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1074

33.3.1 Jednostka podstawy czasu . ...

33.3.2 Tryby licznika . ...

33.3.3 Licznik powtórzeń . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1087

33.3.4 Wejście wyzwalacza zewnętrznego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1089

33.3.5 Wybór zegara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1090

33.3.6 Przechwytywanie/porównywanie kanałów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1094

33.3.7 Tryb przechwytywania danych wejściowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1096

33.3.8 Tryb wejściowy PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1097

33.3.9 Tryb wymuszonego wyjścia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1098

33.3.10 Tryb porównywania wyjść . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1099

33.3.11 Tryb PWM . ...

33.3.12 Tryb PWM asymetryczny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1103

33.3.13 Tryb łączony PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104

33.3.14 Tryb PWM 3-fazowy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1105

33.3.15 Wyjścia uzupełniające i wstawianie w czasie martwym . . . . . . . . . . . . . . . . . 1106

33.3.16 Korzystanie z funkcji break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1108

33.3.17 Wejścia dwukierunkowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1114

33.3.18 Czyszczenie sygnału OCxREF w przypadku zdarzenia zewnętrznego . . . . . . . . . . . . . . . . 1115

33.3.19 Generowanie PWM w 6 krokach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1117

33.3.20 Tryb jednoimpulsowy . ...

33.3.21 Tryb ponownego wyzwalania jednym impulsem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1119

33.3.22 Tryb interfejsu enkodera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1120

33.3.23 Ponowne mapowanie bitów UIF . ...

33.3.24 Funkcja XOR wejścia timera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1123

33.3.25 Współpraca z czujnikami Halla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1123

33.3.26 Synchronizacja timera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1126

33.3.27 Synchronizacja przetwornika ADC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1130

33.3.28 Tryb serii DMA . ...

33.3.29 Tryb debugowania . ...

33.4 Rejestry TIM1/TIM8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1132

33.4.1 Rejestr sterujący TIMx 1 (TIMx_CR1)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . 1132

32/2187

RM0438 Wersja 8

RM0438

Zawartość
33.4.2 Rejestr sterujący TIMx 2 (TIMx_CR2)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . 1133
33.4.3 Rejestr sterujący trybem podrzędnym TIMx (TIMx_SMCR)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1136
33.4.4 Rejestr włączania przerwania/DMA TIMx (TIMx_DIER)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1138
33.4.5 Rejestr stanu TIMx (TIMx_SR)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1140
33.4.6 Rejestr generowania zdarzeń TIMx (TIMx_EGR)(x = 1, 8) . . . . . . . . . . . . . 1142
33.4.7 Rejestr trybu przechwytywania/porównywania TIMx 1 (TIMx_CCMR1)(x = 1, 8) . . 1143
33.4.8 Rejestr trybu przechwytywania/porównywania TIMx 1 [alternatywny] (TIMx_CCMR1)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1144
33.4.9 Rejestr trybu przechwytywania/porównywania TIMx 2 (TIMx_CCMR2)(x = 1, 8) . . 1147
33.4.10 Rejestr trybu przechwytywania/porównywania TIMx 2 [alternatywny] (TIMx_CCMR2)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1148
33.4.11 Rejestr włączający przechwytywanie/porównywanie TIMx (TIMx_CCER)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1149
33.4.12 Licznik TIMx (TIMx_CNT)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1153
33.4.13 Preskaler TIMx (TIMx_PSC)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1153
33.4.14 Rejestr automatycznego przeładowywania TIMx (TIMx_ARR)(x = 1, 8) . . . . . . . . . . . . . . . . . . . 1153
33.4.15 Rejestr licznika powtórzeń TIMx (TIMx_RCR)(x = 1, 8) . . . . . . . . . . . . 1154
33.4.16 Rejestr przechwytywania/porównania TIMx 1 (TIMx_CCR1)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1154
33.4.17 Rejestr przechwytywania/porównania TIMx 2 (TIMx_CCR2)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1155
33.4.18 Rejestr przechwytywania/porównania TIMx 3 (TIMx_CCR3)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1155
33.4.19 Rejestr przechwytywania/porównania TIMx 4 (TIMx_CCR4)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1156
33.4.20 Rejestr przerwy i czasu martwego TIMx (TIMx_BDTR)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1156
33.4.21 Rejestr sterujący DMA TIMx (TIMx_DCR)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1160
33.4.22 Adres DMA TIMx dla pełnego transferu (TIMx_DMAR)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1161
33.4.23 Rejestr opcji TIM1 1 (TIM1_OR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1162
33.4.24 Rejestr opcji TIM8 1 (TIM8_OR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1162
33.4.25 Rejestr trybu przechwytywania/porównywania TIMx 3 (TIMx_CCMR3)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1163
33.4.26 Rejestr przechwytywania/porównania TIMx 5 (TIMx_CCR5)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1164
33.4.27 Rejestr przechwytywania/porównania TIMx 6 (TIMx_CCR6)(x = 1, 8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1165

RM0438 Wersja 8

33/2187
54

Zawartość

RM0438

33.4.28 Rejestr opcji TIM1 2 (TIM1_OR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1165 33.4.29 Rejestr opcji TIM1 3 (TIM1_OR3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1167 33.4.30 Rejestr opcji TIM8 2 (TIM8_OR2) . ... 1168 33.4.31 Rejestr opcji TIM8 3 (TIM8_OR3) . ... . . . . . . . . . . . . . . 1170

34

Uniwersalne timery (TIM2/TIM3/TIM4/TIM5) . . . . . . . . . . . . . . . . . . 1177

34.1 Wprowadzenie do TIM2/TIM3/TIM4/TIM5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1177

34.2 Główne cechy TIM2/TIM3/TIM4/TIM5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1177

34.3 Opis funkcjonalny TIM2/TIM3/TIM4/TIM5 . . . . . . . . . . . . . . . . . . . . . . . . .1179

34.3.1 Jednostka podstawy czasu . ...

34.3.2 Tryby licznika . ...

34.3.3 Wybór zegara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1191

34.3.4 Przechwytywanie/porównywanie kanałów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1195

34.3.5 Tryb przechwytywania danych wejściowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1197

34.3.6 Tryb wejściowy PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1198

34.3.7 Tryb wymuszonego wyjścia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1199

34.3.8 Tryb porównywania wyjść . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1200

34.3.9 Tryb PWM . ...

34.3.10 Tryb PWM asymetryczny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1204

34.3.11 Tryb łączony PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1205

34.3.12 Czyszczenie sygnału OCxREF w przypadku zdarzenia zewnętrznego . . . . . . . . . . . . . . . . 1206

34.3.13 Tryb jednoimpulsowy . ...

34.3.14 Tryb ponownego wyzwalania jednym impulsem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1209

34.3.15 Tryb interfejsu enkodera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1210

34.3.16 Ponowne mapowanie bitów UIF . ...

34.3.17 Funkcja XOR wejścia timera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1212

34.3.18 Timery i synchronizacja zewnętrznego wyzwalacza . . . . . . . . . . . . . . . . . . . . . . . 1213

34.3.19 Synchronizacja timera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1216

34.3.20 Tryb serii DMA . ...

34.3.21 Tryb debugowania . ...

34.4 Rejestry TIM2/TIM3/TIM4/TIM5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1223

34.4.1 Rejestr sterujący TIMx 1 (TIMx_CR1)(x = 2 do 5) . . . . . . . . . . . . . . . . . . . . 1223

34.4.2 Rejestr sterujący TIMx 2 (TIMx_CR2)(x = 2 do 5) . . . . . . . . . . . . . . . . . . . . 1224

34.4.3 Rejestr sterujący trybem podrzędnym TIMx (TIMx_SMCR)(x = 2 do 5) . . . . . . . 1226

34.4.4 Rejestr włączania przerwania/DMA TIMx (TIMx_DIER)(x = 2 do 5) . . . . . . 1229

34/2187

RM0438 Wersja 8

RM0438

Zawartość

34.4.5 Rejestr stanu TIMx (TIMx_SR)(x = 2 do 5) . . . . . . . . . . . . . . . . . . . . . . . . 1230 34.4.6 Rejestr generowania zdarzeń TIMx (TIMx_EGR)(x = 2 do 5) . . . . . . . . . . 1231 34.4.7 Rejestr 1 trybu przechwytywania/porównywania TIMx (TIMx_CCMR1)(x = 2 do 5) . 1232 34.4.8 Rejestr 1 trybu przechwytywania/porównywania TIMx [alternatywny] (TIMx_CCMR1)
(x = od 2 do 5) . ...
(x = 2 do 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1237 34.4.11 Rejestr włączający przechwytywanie/porównywanie TIMx
(TIMx_CCER)(x = od 2 do 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1238 34.4.12 Licznik TIMx (TIMx_CNT)(x = od 2 do 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1239 34.4.13 Licznik TIMx [alternatywny] (TIMx_CNT)(x = od 2 do 5) . . . . . . . . . . . . . . . 1240 34.4.14 Preskaler TIMx (TIMx_PSC)(x = 2 do 5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1240 34.4.15 Rejestr automatycznego przeładowywania TIMx (TIMx_ARR)(x = 2 do 5) . . . . . . . . . . . . . . . 1241 34.4.16 Rejestr przechwytywania/porównania TIMx 1 (TIMx_CCR1)(x = 2 do 5) . . . . . . . 1241 34.4.17 Rejestr przechwytywania/porównania TIMx 2 (TIMx_CCR2)(x = 2 do 5) . . . . . . . 1241 34.4.18 Rejestr przechwytywania/porównania TIMx 3 (TIMx_CCR3)(x = 2 do 5) . . . . . . . 1242 34.4.19 Rejestr przechwytywania/porównania TIMx 4 (TIMx_CCR4)(x = 2 do 5) . . . . . . . 1242 34.4.20 Rejestr sterujący DMA TIMx (TIMx_DCR)(x = 2 do 5) . . . . . . . . . . . . . . 1243 34.4.21 Adres DMA TIMx dla pełnego transferu (TIMx_DMAR)(x = 2 do 5) . . . . . . 1244 34.4.22 Rejestr opcji TIM2 1 (TIM2_OR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244 34.4.23 Rejestr opcji TIM3 1 (TIM3_OR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244 34.4.24 Rejestr opcji TIM2 2 (TIM2_OR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1245 34.4.25 Rejestr opcji TIM3 2 (TIM3_OR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1245 34.4.26 Mapa rejestrów TIMx . ...

35

Uniwersalne timery (TIM15/TIM16/TIM17) . . . . . . . . . . . . . . . . . . . . 1250

35.1 Wprowadzenie do TIM15/TIM16/TIM17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1250

35.2 Główne cechy TIM15 . ...

35.3 Główne cechy TIM16/TIM17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1251

35.4 Opis funkcjonalny TIM15/TIM16/TIM17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1254

35.4.1 Jednostka podstawy czasu . ...

35.4.2 Tryby licznika . ...

35.4.3 Licznik powtórzeń . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1260

35.4.4 35.4.5 35.4.6 35.4.7

Wybór zegara . ... . . 1261 Tryb wejściowy PWM (tylko dla TIM1263) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1265

RM0438 Wersja 8

35/2187
54

Zawartość

RM0438

35.5

35.4.8 Tryb wymuszonego wyjścia . ... . . . . . . . . . . . . . . . . . . . . . . 1267 35.4.9 Tryb łączony PWM (tylko TIM1268) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35.4.10 1269 Wyjścia uzupełniające i wstawianie z czasem martwym . . . . . . . . . . . . . . . . . 35.4.11 15 Korzystanie z funkcji break . ... . . . 1270 35.4.12 Wejścia dwukierunkowego przerwania . ... . . . . . . . . . . . . . . . . . . . . . . 1271 35.4.13 Tryb ponownego wyzwalania jednym impulsem (tylko TIM1273) . . . . . . . . . . . . . . . . . . . . . . . 35.4.14 1278 Przemapowanie bitów UIF . ... . . . . . . . . . . . . . . 35.4.15 6 Synchronizacja zewnętrznego wyzwalacza (tylko TIM1279) . . . . . . . . . . . . . . . . . . . . . 35.4.16 1281 Tryb Slave, połączony tryb resetowania i wyzwalania . . . . . . . . . . . . . . . . . . . . . . . . 35.4.17 15 Tryb serii DMA . ... 1282 35.4.18 Synchronizacja timera (TIM1283) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35.4.19 15 Używanie wyjścia timera jako wyzwalacza dla innych timerów (TIM1284/TIM35.4.20) . . . . . . 15 1285 Tryb debugowania . ...
Rejestry TIM15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1290
35.5.1 Rejestr sterujący TIM15 1 (TIM15_CR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1290 35.5.2 Rejestr sterujący TIM15 2 (TIM15_CR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1291 35.5.3 Rejestr sterujący trybu podrzędnego TIM15 (TIM15_SMCR) . . . . . . . . . . . . . 1293 35.5.4 Rejestr włączania przerwania/DMA TIM15 (TIM15_DIER) . . . . . . . . . . . . . 1294 35.5.5 Rejestr stanu TIM15 (TIM15_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1295 35.5.6 Rejestr generowania zdarzeń TIM15 (TIM15_EGR) . . . . . . . . . . . . . . . . . 1297 35.5.7 Rejestr 15 trybu przechwytywania/porównywania TIM1 (TIM15_CCMR1) . . . . . . . 1298 35.5.8 Rejestr 15 trybu przechwytywania/porównywania TIM1 [alternatywny] (TIM15_CCMR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1299 35.5.9 Rejestr umożliwiający przechwytywanie/porównywanie TIM15 (TIM15_CCER) . . . . . . . . . . . 1302 35.5.10 Licznik TIM15 (TIM15_CNT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1305 35.5.11 Preskaler TIM15 (TIM15_PSC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1305 35.5.12 Rejestr automatycznego przeładowywania TIM15 (TIM15_ARR) . . . . . . . . . . . . . . . . . . . . . . . 1305 35.5.13 Rejestr licznika powtórzeń TIM15 (TIM15_RCR) . . . . . . . . . . . . . . . . . 1306 35.5.14 Rejestr przechwytywania/porównania TIM15 1 (TIM15_CCR1) . . . . . . . . . . . . . 1306 35.5.15 Rejestr przechwytywania/porównania TIM15 2 (TIM15_CCR2) . . . . . . . . . . . . . . . . . 1307 35.5.16 Rejestr przerwy i czasu martwego TIM15 (TIM15_BDTR) . . . . . . . . . . . . . 1307 35.5.17 Rejestr sterujący DMA TIM15 (TIM15_DCR) . . . . . . . . . . . . . . . . . . . . . . . . . 1310

36/2187

RM0438 Wersja 8

RM0438

Zawartość

35.6

35.5.18 Adres DMA TIM15 dla pełnego transferu (TIM15_DMAR) . . . . . . . . . . . . . 1310 35.5.19 Rejestr opcji TIM15 1 (TIM15_OR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1311 35.5.20 Rejestr opcji TIM15 2 (TIM15_OR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1311 35.5.21 Mapa rejestrów TIM15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1313
Rejestry TIM16/TIM17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1316
35.6.1 Rejestr sterujący TIMx 1 (TIMx_CR1)(x = 16 do 17) . . . . . . . . . . . . . . . . 1316 35.6.2 Rejestr sterujący TIMx 2 (TIMx_CR2)(x = 16 do 17) . . . . . . . . . . . . . . . . 1317 35.6.3 Rejestr włączania DMA/przerwania TIMx (TIMx_DIER)(x = 16 do 17) . . . . 1318 35.6.4 Rejestr stanu TIMx (TIMx_SR)(x = 16 do 17) . . . . . . . . . . . . . . . . . 1319 35.6.5 Rejestr generowania zdarzeń TIMx (TIMx_EGR)(x = 16 do 17) . . . . . . . . 1320 35.6.6 Rejestr 1 trybu przechwytywania/porównywania TIMx
(TIMx_CCMR1)(x = 16 do 17) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1321 35.6.7 Rejestr 1 trybu przechwytywania/porównywania TIMx [alternatywny] (TIMx_CCMR1)(x = 16 do 17) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1322 35.6.8 Rejestr włączania przechwytywania/porównywania TIMx (TIMx_CCER)(x = 16 do 17) . 1324 35.6.9 Licznik TIMx (TIMx_CNT)(x = 16 do 17) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1326 35.6.10 Preskaler TIMx (TIMx_PSC)(x = 16 do 17) . . . . . . . . . . . . . . . . . . . . . . . . 1327 35.6.11 Rejestr automatycznego przeładowywania TIMx (TIMx_ARR)(x = 16 do 17) . . . . . . . . . . . 1327 35.6.12 Rejestr licznika powtórzeń TIMx (TIMx_RCR)(x = 16 do 17) . . . . . . . . 1328 35.6.13 Rejestr przechwytywania/porównania TIMx 1 (TIMx_CCR1)(x = 16 do 17) . . . . . 1328 35.6.14 Rejestr przerwy i czasu martwego TIMx (TIMx_BDTR)(x = 16 do 17) . . . . 1329 35.6.15 Rejestr sterujący DMA TIMx (TIMx_DCR)(x = 16 do 17) . . . . . . . . . . . . 1331 35.6.16 Adres DMA TIMx dla pełnego transferu (TIMx_DMAR)(x = 16 do 17) . . . . 1332 35.6.17 Rejestr opcji TIM16 1 (TIM16_OR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1332 35.6.18 Rejestr opcji TIM16 2 (TIM16_OR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1333 35.6.19 Rejestr opcji TIM17 1 (TIM17_OR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1334 35.6.20 Rejestr opcji TIM17 2 (TIM17_OR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1335 35.6.21 Mapa rejestrów TIM16/TIM17 . ...

36

Podstawowe timery (TIM6/TIM7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1339

36.1 Wprowadzenie do TIM6/TIM7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1339

36.2 Główne cechy TIM6/TIM7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1339

36.3 Opis funkcjonalny TIM6/TIM7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1340

36.3.1 Jednostka podstawy czasu . ...

36.3.2 Tryb zliczania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342

36.3.3 Ponowne mapowanie bitów UIF . ...

36.3.4 Źródło zegara . ...

RM0438 Wersja 8

37/2187
54

Zawartość

RM0438

36.4

36.3.5 Tryb debugowania . ...
Rejestry TIM6/TIM7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1346
36.4.1 Rejestr sterujący TIMx 1 (TIMx_CR1)(x = 6 do 7) . . . . . . . . . . . . . . . . . . . 1346 36.4.2 Rejestr sterujący TIMx 2 (TIMx_CR2)(x = 6 do 7) . . . . . . . . . . . . . . . . . . 1348 36.4.3 Rejestr umożliwiający przerwanie/DMA TIMx (TIMx_DIER)(x = 6 do 7) . . . . . . 1348 36.4.4 Rejestr stanu TIMx (TIMx_SR)(x = 6 do 7) . . . . . . . . . . . . . . . . . . . . 1349 36.4.5 Rejestr generowania zdarzeń TIMx (TIMx_EGR)(x = 6 do 7) . . . . . . . . . . . . 1349 36.4.6 Licznik TIMx (TIMx_CNT)(x = 6 do 7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1349 36.4.7 Preskaler TIMx (TIMx_PSC)(x = 6 do 7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1350 36.4.8 Rejestr automatycznego przeładowywania TIMx (TIMx_ARR)(x = 6 do 7) . . . . . . . . . . . . . . . . 1350 36.4.9 Mapa rejestrów TIMx . ...

37

Timer niskiego poboru mocy (LPTIM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1352

37.1 Wprowadzenie do LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1352

37.2 Główne cechy LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1352

37.3 Implementacja LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1352

37.4 Opis funkcjonalny LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1353

37.4.1 Schemat blokowy LPTIM . ...

37.4.2 Piny LPTIM i sygnały wewnętrzne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1353

37.4.3 Mapowanie sygnału wejściowego i wyzwalacza LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1354

37.4.4 Resetowanie LPTIM i zegary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1355

37.4.5 Filtr zakłóceń . ...

37.4.6 Preskaler . ...

37.4.7 Multiplekser wyzwalający . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1356

37.4.8 Tryb pracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1357

37.4.9 Funkcja limitu czasu . ...

37.4.10 Generowanie przebiegów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1359

37.4.11 Aktualizacja rejestru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1360

37.4.12 Tryb licznika . ...

37.4.13 Włączanie timera . ...

37.4.14 Resetowanie licznika timera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1362

37.4.15 Tryb enkodera . ...

37.4.16 Licznik powtórzeń . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1364

37.4.17 Tryb debugowania . ...

37.5 Tryby niskiego poboru mocy LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1366

37.6 Przerwania LPTIM . ...

38/2187

RM0438 Wersja 8

RM0438

Zawartość

37.7

Rejestry LPTIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1367
37.7.1 Rejestr przerwania i stanu LPTIM (LPTIM_ISR) . . . . . . . . . . . . . . . . . 1367 37.7.2 Rejestr czyszczenia przerwania LPTIM (LPTIM_ICR) . . . . . . . . . . . . . . . . . . . . . . 1368 37.7.3 Rejestr włączania przerwania LPTIM (LPTIM_IER) . . . . . . . . . . . . . . . . . . . 1369 37.7.4 Rejestr konfiguracji LPTIM (LPTIM_CFGR) . . . . . . . . . . . . . . . . . . . 1370 37.7.5 Rejestr sterujący LPTIM (LPTIM_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1373 37.7.6 LPTIM porównuje r

Dokumenty / Zasoby

Seria ST STM32L5 – wysokie bezpieczeństwo i niskie zużycie energii [plik PDF] Instrukcja użytkownika
RM0438, Seria STM32L5, Wysoki poziom bezpieczeństwa przy niskim zużyciu energii, Seria STM32L5, Wysoki poziom bezpieczeństwa przy niskim zużyciu energii, Niskie zużycie energii, Zużycie energii

Odniesienia

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *