Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Slides:



Advertisements
Podobne prezentacje
Taktowanie mikroprocesorów Jednostka sterująca mikroprocesora jest układem sekwencyjnym synchronicznym, czyli wymagającym sygnału taktującego (zegarowego).
Advertisements

Zerowanie mikroprocesorów Cel: wprowadzenie mikroprocesora w określony stan początkowy Zwykle realizowany poprzez: inicjalizację licznika rozkazów (PC)
Co to jest BIOS ? Piotr Pierzchalski kl. III B.
NOWOŚĆ !!! Czujnik FT 50 RLA-70/220.
przetwarzaniu informacji
Wykład 9 Dedykowane procesory DSP oraz mikrokontrolery z jednostką DSP
Wykład 4 Przetwornik Analogowo-Cyfrowy
Magistrale.
by Ernest Jamro Katedra Elektroniki, AGH Kraków
Wykład nr 2: Struktura systemu komputerowego a system operacyjny
Pamięci RAM Brodziak Czubak.
Magistrala & mostki PN/PD
Temat nr 10: System przerwań
SORTOWANIE (przykład zastosowania DMA)
Obsługa routera Wykład: Zaawansowane sieci komputerowe
Płyty główne Budowa.
Temat : Części komputera
1-Wire® Standard 1-Wire®, zwany też czasami siecią MicroLAN, oznacza technologię zaprojektowaną i rozwijaną przez firmę Dallas Semiconductor polegającą.
Budowa Komputera.
Komputerowe wspomaganie skanera ultradźwiękowego
Komputerowe wspomaganie skanera ultradźwiękowego Zbigniew Ragin Bolesław Wróblewski Wojciech Znaniecki.
Układy wejścia-wyjścia
Bios.
Co to jest BIOS? Artur Młynarski.
Co to jest BIOS? Opracowali: Mateusz Dąbrowski Mateusz Nowotnik
ogólne pojęcia struktury
Komputer a system komputerowy
przykładowy 8-bitowy mikroprocesor uniwersalny CISC
Wyjścia obiektowe analogowe
ogólne pojęcia struktury
Architektura komputerów
MCS51 - wykład 6.
ARCHTEKTURA KOMPUTERA
Płyta główna. Magistrale I/O
W układach fizycznych napięcie elektryczne może reprezentować stany logiczne. Bramką nazywamy prosty obwód elektroniczny realizujący funkcję logiczną.
Zasada działania komputera
Budowa i rodzaje procesorów.
Mikroprocesory.
Mikroprocesory mgr inż. Sylwia Glińska.
Podsystem graficzny i audio
12. Input Capture – Wejście przechwytywania
Procesor – charakterystyka elementów systemu. Parametry procesora.
Zintegrowany sterownik przycisków. Informacje podstawowe Każdy przycisk jest podłączony do sterownika za pośrednictwem dwóch przewodów, oraz dwóch linii.
KARTY DŹWIĘKOWE.
BUDOWA I ZASADA DZIAŁANIA
PRACA MAGISTERSKA Wykorzystanie środowiska LABVIEW jako platformy do sterowania procesem wymuszenia w badaniach zmęczeniowych Grzegorz Sus Wydział Mechaniczny.
Przerzutniki Przerzutniki.
Procesor, pamięć, przerwania, WE/WY, …
Testowanie układów mieszanych sygnałowo z zastosowaniem magistrali IEEE Kamil Smużyński.
Pamięć DRAM.
Struktura wewnętrzna mikrokontrolera zamkniętego
Pamięć RAM Pamięć RAM.
Architektury procesorów rdzeniowych mikrokontrolerów.
Pamięć SRAM.
ATXMEGA128A4U 128 kB pamięci Flash Zasilanie 1.6V-3.6V Maksymalne taktowanie 32 MHz 34 Programowalne WE-WY System zdarzeń (Event System) 4 kanały DMA.
STM32F429I Discovery WARSZTATY DLA STUDENCKIEGO KOŁA NAUKOWEGO CHIP.
Przerwania timera i przerwania zewnętrzne
PWM, obsługa wyświetlacza graficznego
POLITECHNIKA POZNAŃSKA
POLITECHNIKA POZNAŃSKA WBMiZ Zakład Urządzeń Mechatronicznych STEROWNIKI URZĄDZEŃ MECHATRONICZNYCH
POLITECHNIKA POZNAŃSKA WBMiZ Zakład Urządzeń Mechatronicznych STEROWNIKI URZĄDZEŃ MECHATRONICZNYCH
Płyta główna. Magistrale I/O
POLITECHNIKA POZNAŃSKA
Interfejsy synchroniczne
Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska
Mikrokontrolery z rdzeniem ARM Cortex-M0+ Energooszczędność
Mikrokontrolery System przerwań
Mikrokontrolery STMicroelectronics
Mikrokontrolery MSP430 DMA
Zapis prezentacji:

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

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

Mikrokontrolery STM32 Przetworniki ADC Wprowadzenie Zygmunt Kubiak

Mikrokontrolery STM32 Przetworniki ADC Wprowadzenie Zygmunt Kubiak

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

Mikrokontrolery STM32 Przetworniki ADC Wprowadzenie Przebiegi czasowe Zygmunt Kubiak

Mikrokontrolery STM32 Przetworniki ADC Wprowadzenie Analogowy watchdog Zygmunt Kubiak

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

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

Mikrokontrolery STM32 Przetworniki ADC Wprowadzenie Schemat blokowy multi ADC Zygmunt Kubiak

Mikrokontrolery STM32 Przetworniki ADC Wprowadzenie Schemat blokowy multi ADC Zygmunt Kubiak

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Mikrokontrolery STM32 Kontroler DMA Schemat blokowy DMA Zygmunt Kubiak

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

Mikrokontrolery STM32 Kontroler DMA Zygmunt Kubiak

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

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

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

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

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

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

Mikrokontrolery STM32 Kontroler DMA Tryby pracy Zygmunt Kubiak

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