Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Podobne prezentacje


Prezentacja na temat: "Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska"— Zapis prezentacji:

1 Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska
Mikrokontrolery STM32 (z rdzeniem ARM) (na podstawie dokumentacji STMicroelectronics) Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

2 Mikrokontrolery STM32 Przetworniki ADC Wprowadzenie
12 bitowy przetwornik ADC Metoda SAR (ang. successive approximation) Konfigurowalna rozdzielczość: 12b, 10b, 8b,6b Do 19 kanałów analogowych – pomiary z 16 źródeł zewnętrznych, dwóch wewnętrznych oraz kanał VBAT Wyrównanie wyniku do lewej lub prawej 16b rej. Analogowy watchdog – wykrywa przekroczenie zdefiniowanych przez użytkownika limitów napięcia wejściowego. Zakres napięć wejściowych: VREF- <= VIN <= VREF+ Wymagane napięcia zasilania ADC: 2,4V do 3,6V dla pełnej prędkości i większe od 1,8 przy małej prędkości. Zygmunt Kubiak

3 Mikrokontrolery STM32 Przetworniki ADC Wprowadzenie
Zygmunt Kubiak

4 Mikrokontrolery STM32 Przetworniki ADC Wprowadzenie
Zygmunt Kubiak

5 Mikrokontrolery STM32 Przetworniki ADC Wprowadzenie
Przełączanie do trybu praca/obniżony pobór energii (kilka µA) – bit ADON Dwa zegary systemowe: ADCCLK – praca przetwornika, sterowany z preskalera (APB2/2, /4, /6, lub /8) Zegar interfejsu cyfrowego równy APB2 16 multipleksowanych kanałów, które mogą być organizowane w dwie grupy: : praca podstawowa (do 16 konwersji) i wstrzykiwanie (do 4 konwersji) Kanał sensora temperatury, kanały napięć VREFINT i VBAT Zygmunt Kubiak

6 Mikrokontrolery STM32 Przetworniki ADC Wprowadzenie
Przebiegi czasowe Zygmunt Kubiak

7 Mikrokontrolery STM32 Przetworniki ADC Wprowadzenie
Analogowy watchdog Zygmunt Kubiak

8 Mikrokontrolery STM32 Przetworniki ADC Wprowadzenie
Opóźnienie konwersji wtrącanej Zygmunt Kubiak

9 Mikrokontrolery STM32 Przetworniki ADC Wprowadzenie
Minimalny czas konwersji w trybie szybkim Zygmunt Kubiak

10 Mikrokontrolery STM32 Przetworniki ADC Wprowadzenie
Schemat blokowy multi ADC Zygmunt Kubiak

11 Mikrokontrolery STM32 Przetworniki ADC Wprowadzenie
Schemat blokowy multi ADC Zygmunt Kubiak

12 Mikrokontrolery STM32 Przetworniki ADC Wprowadzenie
Sensor temperatury (-40 do +125 °C, dokładność ±1,5 °C) Zalecany czas próbkowania -17,1 µs Zygmunt Kubiak

13 Mikrokontrolery STM32 Przetworniki ADC Tryby pracy
Skan wielokanałowy – tryb pojedynczej konwersji Sekwencer ADC – pozwala skonfigurować dowolny ciąg pomiarów do 16 kanałów z różnymi czasami próbkowania, w dowolnej kolejności Oszczędność oprogramowania Pomiar parametrów ze sobą powiązanych Zygmunt Kubiak

14 Mikrokontrolery STM32 Przetworniki ADC Tryby pracy
Pojedynczy kanał – tryb ciągłej konwersji Tryb ciągłych pomiarów z jednego kanału na czas nieokreślony – praca w tle, bez ingerencji procesora Dodatkowo może być wykorzystany kanał DMA (w trybie „kołowym”), co zmniejsza obciążenie CPU Metoda obsługi: DMA i przerwania Metoda stosowana, np. w procesach regulacji ciągłej Zygmunt Kubiak

15 Mikrokontrolery STM32 Przetworniki ADC Tryby pracy
Wielokanałowy skan – tryb ciągłej konwersji Sekwencer umożliwia skonfigurowanie dowolnego ciągu maksymalnie 16 kanałów, z różnymi czasami próbkowania Tryb analogiczny do trybu pojedynczego cyklu z tym, że sekwencja jest powtarzana aż do zatrzymania Zygmunt Kubiak

16 Mikrokontrolery STM32 Przetworniki ADC Tryby pracy
Tryb konwersji wstrzykiwanej (ang. Injected conversion mode) Tryb jest stosowany w przypadku uruchamiania konwersji przez zdarzenie zewnętrzne lub program Wstrzykiwana grupa ma pierwszeństwo przed podstawowym cyklem przetwarzania Zygmunt Kubiak

17 Mikrokontrolery STM32 Przetworniki ADC Tryby pracy
Podstawowy tryb pracy jednoczesnej dwóch ADC (ang. Dual regular simultaneous mode) Tryb jednoczesnej pracy dwóch przetworników: ADC1 master i ADC2 slave, które są synchronizowane wewnętrznie Przykład: ADC1 konwertuje sekwencję 16 kanałów od 15 do 0, a ADC2 sekwencję kanałów od 0 do 15 (oddzielne sekwecery) Zast. potrzeba jednoczesności pomiarów (np. moc = u(t) x i(t)) Zygmunt Kubiak

18 Mikrokontrolery STM32 Przetworniki ADC Tryby pracy
Podstawowy tryb pracy jednoczesnej dwóch ADC (ang. Dual regular simultaneous mode) Tryb jednoczesnej pracy dwóch przetworników: ADC1 master i ADC2 slave, które są synchronizowane wewnętrznie Przykład: ADC1 konwertuje sekwencję 16 kanałów od 15 do 0, a ADC2 sekwencję kanałów od 0 do 15 (oddzielne sekwecery) Zast. potrzeba jednoczesności pomiarów (np. p(t) = u(t) x i(t)) Zygmunt Kubiak

19 Mikrokontrolery STM32 Przetworniki ADC Tryby pracy
Podstawowy tryb pracy jednoczesnej dwóch ADC (ang. Dual regular simultaneous mode) Przykład pomiaru mocy Zygmunt Kubiak

20 Mikrokontrolery STM32 Przetworniki ADC Tryby pracy
Tryb pracy jednoczesnej dwóch ADC z szybkim przeplotem (ang. Dual fast interleaved mode) Tryb umożliwia zwiększenie prędkości przetwarzania z jednego kanału – zalecane użycie DMA, zamiast przerwań 14 MHz – maksymalna częstotliwość zegara ADC (1 M próbek) Wyniki przechowywane są w rejestrze danych ADC1 (format 32 bity) Przykład: 14 MHz/7 = 2 MHz częstotliwość próbkowania Zygmunt Kubiak

21 Mikrokontrolery STM32 Przetworniki ADC Tryby pracy
Tryb pracy jednoczesnej dwóch ADC z wolnym przeplotem (ang. Dual slow interleaved mode) Przetwarzanie w cyklu 14 okresów zegara ADC – zalecane użycie DMA, zamiast przerwań Przykład: 14 MHz/7 = 2 MHz częstotliwość próbkowania Wyniki przechowywane są w rejestrze danych ADC1 (format 32 bity) Zygmunt Kubiak

22 Mikrokontrolery STM32 Przetworniki ADC Tryby pracy
Podwójny naprzemienny tryb wyzwalania ADC (ang. Dual alternate trigger mode) Tryb ten można wykorzystywać jedynie do wstrzykiwania grup kanałów przełączanych przez to samo zewnętrzne źródło. Maksymalna liczba kanałów w grupie wynosi 4 dla każdego ADC. Zygmunt Kubiak

23 Mikrokontrolery STM32 Przetworniki ADC Tryby pracy
Podwójny, połączony tryb podstawowy/jednoczesny wstrzykiwany tryb ADC (ang. Dual combined regular/ simultaneous ADC mode) Wstrzyknięte kanały przetwarzane są symultanicznie Zygmunt Kubiak

24 Mikrokontrolery STM32 Przetworniki ADC Tryby pracy
Tryb podwójny, kombinowany: jednoczesne wstrzykiwanie + przeplot (ang. Dual combined: injected simultaneous + interleaved mode) Zygmunt Kubiak

25 Mikrokontrolery STM32 Przetworniki ADC Tryby pracy
Tryb podwójny, kombinowany: jednoczesne wstrzykiwanie + przeplot (ang. Dual combined: injected simultaneous + interleaved mode) Przykład: Metoda mieszana może być stosowana w zasilaczach awaryjnych UPS (ang. uninterrruptible power suply) – napięcie monitorowane jest w trybie z przeplotem natomiast energia (pomiar napięcia i prądu) pobierana przez obciążenie w trybie jednoczesnego podwójnego wstrzykiwania. Zygmunt Kubiak

26 Mikrokontrolery STM32 Porty WE/WY (GPIO)
Porty WE/WY (GPIO ang. general-purpose I/O) Każdy port posiada: Cztery 32-bitowe rejestry konfiguracyjne (GPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR, GPIOx_PUPDR) 32-bitowy rejestr set/reset (GPIOx_BSRR) Dwa 32-bitowe rejestry alternatywnego wyboru funkcji (GPIOx_AFRH, GPIOx_AFRL) Do 16 we/wy pod kontrolą Organizacja wyjść: push-pull lub open drain + pull-up/down Wyjście danych z rejestru danych (GPIOx_ODR) lub układów peryferyjnych Selekcja prędkości dla każdego we/wy Zygmunt Kubiak

27 Mikrokontrolery STM32 Porty WE/WY (GPIO)
Organizacja wejść: „pływające” (bez podciągania), pull-up/down, analog Dane we zapisywane do rejestru wejściowego danych (GPIOx_IDR) lub do układów peryferyjnych Typowy prąd obciążenia (wpływający/wypływający) wyjścia - 8mA; możliwy jest tryb, w którym max prąd wpływający może wynosić 20mA. Uwaga – suma prądów wszystkich wyprowadzeń, prądu CPU oraz pozostałych układów wewnętrznych mikrokontrolera nie może przekroczyć max wartości dopuszczalnej około 150mA. Zygmunt Kubiak

28 Mikrokontrolery STM32 Porty WE/WY (GPIO)
Podstawowa struktura linii portu we/wy Zygmunt Kubiak

29 Mikrokontrolery STM32 Porty WE/WY (GPIO)
Obwody wejściowe Zygmunt Kubiak

30 Mikrokontrolery STM32 Porty WE/WY (GPIO)
Konfiguracja wejścia analogowego o wysokiej impedancji Zygmunt Kubiak

31 Mikrokontrolery STM32 Kontroler DMA
DMA (ang. Direct memory access) – układ bezpośredniego dostępu do pamięci. Szybki transfer danych między peryferiami i pamięcią lub między pamięcią a pamięcią bez pośrednictwa CPU. Dwa kontrolery DMA mają w sumie 16 strumieni (po 8 każdy), każdy dedykowany jest do zarządzania żądaniami dostępu do pamięci od jednego lub więcej układów peryferyjnych. Każdy strumień może zawierać do 8 kanałów (żądań) i każdy ma arbitra do obsługi priorytetów żądań kierowanych do DMA. Możliwość programowania liczby danych, transferowanych od 1 do 65535 Transfer układów peryferyjnych – liczba danych nie jest znana, transfer jest kontrolowany źródłowe lub docelowe urządzenie peryferyjne, które generuje sygnał końca. Zygmunt Kubiak

32 Mikrokontrolery STM32 Kontroler DMA
Schemat blokowy DMA Zygmunt Kubiak

33 Mikrokontrolery STM32 Kontroler DMA
Możliwe transakcje Układ peryferyjny do pamięci Pamięć do układu peryferyjnego Pamięć do pamięci Kontroler DMA zawiera dwa porty ABH: port ABH pamięci, podłączony do pamięci i port AHB peryferyjny, łączony z peryferiami Port ABH slave jest wykorzystany do programowania kontrolera DMA (obsługuje tylko 32 bitowy dostęp). W przykładzie na następnym slajdzie, port ABH układów peryferyjnych kontrolera DMA1 nie jest włączony i dlatego strumienie DMA2 są w stanie wykonać transfery pamięć-pamięć. Zygmunt Kubiak

34 Mikrokontrolery STM32 Kontroler DMA
Zygmunt Kubiak

35 Mikrokontrolery STM32 Kontroler DMA
Tryb peryferia do pamięci Zygmunt Kubiak

36 Mikrokontrolery STM32 Kontroler DMA
Tryb pamięć do układów peryferyjnych Zygmunt Kubiak

37 Mikrokontrolery STM32 Kontroler DMA
Tryb pamięć do pamięci Zygmunt Kubiak

38 Mikrokontrolery STM32 Kontroler DMA
Tryb pracy Po włączeniu danego trybu (ustawienie bitu EN w rej. DMA_SxCR) niezwłocznie rozpoczyna się wypełnianie przez źródło stosu FIFO Przy każdym żądaniu od ud urządzenia docelowego następuje pobieranie danych z FIFO W trybie bezpośrednim (gdy wartość DMDIS w rej DMA_SxFCR ma wartość ‘0’) zapełnienie FIFO nie jest uwzględniane Zygmunt Kubiak

39 Mikrokontrolery STM32 Kontroler DMA
Tryb pracy Po włączeniu danego trybu (ustawienie bitu EN w rej. DMA_SxCR) niezwłocznie rozpoczyna się wypełnianie przez źródło stosu FIFO Przy każdym żądaniu od ud urządzenia docelowego następuje pobieranie danych z FIFO W trybie bezpośrednim (gdy wartość DMDIS w rej DMA_SxFCR ma wartość ‘0’) zapełnienie FIFO nie jest uwzględniane Zygmunt Kubiak

40 Mikrokontrolery STM32 Kontroler DMA
Tryby pracy Tryb przesyłania porcjowego(ang. burst mode) Kontroler DMA, jęśli ma do przesłania dane, zajmuje magistralę, nie dopuszczając do niej CPU Zaleta: większa szybkość transferu danych Wada: blokowanie CPU na czas transferu, w niektórych przypadkach nie do zaakceptowania Tryb zajmowania cykli magistrali (ang. bus stealing) „Podkradanie „ cykli magistrali przez kontroler DMA. Spowolnienie pracy CPU ale nie blokowanie Gdy DMA zgłosi potrzebę przesłania danych, to CPU przed rozpoczęciem cyklu magistrali zostaje wstrzymany. DMA transferuje jedno słowo poczym oddaje kontrolę magistrali do CPU Tryb częściej wykorzystywany w mikrokontrolerach Zygmunt Kubiak

41 Mikrokontrolery STM32 Kontroler DMA
Tryby pracy Zygmunt Kubiak

42 Mikrokontrolery STM32 Kontroler DMA
Priorytety DMA Najwyższy (ang. very high priority) Wysoki (ang. high priority) Średni (ang. medium priority) Niski (ang. low priority) Zygmunt Kubiak


Pobierz ppt "Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska"

Podobne prezentacje


Reklamy Google