Instytut Teleinformatyki

Podobne dokumenty
Instytut Teleinformatyki

Instytut Teleinformatyki

Instytut Teleinformatyki

Instytut Teleinformatyki

Instytut Teleinformatyki

Instytut Teleinformatyki

Instytut Teleinformatyki

Instytut Teleinformatyki

Instytut Teleinformatyki

Instytut Teleinformatyki

Instytut Teleinformatyki

Instytut Teleinformatyki

Instytut Teleinformatyki

Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r.

1.2. Architektura rdzenia ARM Cortex-M3...16

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

Szkolenia specjalistyczne

Budowa mikrokontrolera UC3C. - 3 rodzaje obudów

PROJEKTOWANIE ENERGOOSZCZĘDNYCH SYSTEMÓW WBUDOWANYCH

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

Obługa czujników do robota śledzącego linie. Michał Wendland czerwca 2011

Instytut Teleinformatyki

Systemy Czasu Rzeczywistego FPGA

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:

1 Badanie aplikacji timera 555

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Kurs programowania mikrokontrolerów ARM z rodziny Cortex-M3

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Wykład 2. Przegląd mikrokontrolerów 8-bit: -AVR -PIC

WYDZIAŁ ELEKTRYCZNY KATEDRA TELEKOMUNIKACJI I APARATURY ELEKTRONICZNEJ. Instrukcja do zajęć laboratoryjnych. Numer ćwiczenia: 4

Laboratorium 2 Sterowanie urządzeniami z wykorzystaniem systemu plików Intel Galileo

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Instytut Teleinformatyki

projekt przetwornika inteligentnego do pomiaru wysokości i prędkości pionowej BSP podczas fazy lądowania;

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Firma DAGON Leszno ul. Jackowskiego 24 tel Produkt serii DAGON Lighting

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Mikroprocesor Operacje wejścia / wyjścia

Wydział Elektryczny. Katedra Telekomunikacji i Aparatury Elektronicznej. Konstrukcje i Technologie w Aparaturze Elektronicznej.

Politechnika Wrocławska

Instytut Teleinformatyki

Architektura Systemów Komputerowych. Bezpośredni dostęp do pamięci Realizacja zależności czasowych

PROGRAM TESTOWY LCWIN.EXE OPIS DZIAŁANIA I INSTRUKCJA UŻYTKOWNIKA

Parametryzacja przetworników analogowocyfrowych

Mikrokontrolery ARM. Elektroniczny zegar / budzik / kalendarz z wyświetlaczem NIXIE. Opis projektu

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Mechanizm przerwań i menadżer zdarzeń procesora sygnałowego F/C240

Podstawy techniki cyfrowej Układy wejścia-wyjścia. mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

DOKUMENTACJA PROJEKTU

Robot mobilny klasy Line Follower Maverick. Łukasz Michalczak Anna Postawka

Programowanie mikroprocesorów jednoukładowych

Arduino dla początkujących. Kolejny krok Autor: Simon Monk. Spis treści

Instytut Teleinformatyki

1. Cel ćwiczenia. Celem ćwiczenia jest zestawienie połączenia pomiędzy dwoma sterownikami PLC za pomocą protokołu Modbus RTU.

UNO R3 Starter Kit do nauki programowania mikroprocesorów AVR

Listing_ $crystal = deklaracja

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

ZL8AVR. Płyta bazowa dla modułów dipavr

Przykładowe pytania DSP 1

2.1 Porównanie procesorów

Sterowniki robotów. Laboratorium ADC, DAC i DMA

Urządzenia zewnętrzne

o Instalacja środowiska programistycznego (18) o Blink (18) o Zasilanie (21) o Złącza zasilania (22) o Wejścia analogowe (22) o Złącza cyfrowe (22)

ZL29ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Ćwiczenie 7 Matryca RGB

Laboratorium Procesorów Sygnałowych

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515

Technika mikroprocesorowa. Konsola do gier

INSTRUKCJA INSTALACJI SPN-IR INSTRUKCJA INSTALACJI I OBSŁUGI. Sterownik Pracy Naprzemiennej SPN-IR

ZL25ARM. Płyta bazowa dla modułów diparm z mikrokontrolerami STR912. [rdzeń ARM966E-S]

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

Rys. 1. Schemat ideowy karty przekaźników. AVT 5250 Karta przekaźników z interfejsem Ethernet

Programowanie mikrokontrolerów AVR z rodziny ATmega.

Laboratorium Komputerowe Systemy Pomiarowe

UKŁAD EDMA I MODULACJA AMPLITUDOWA

Edukacyjny sterownik silnika krokowego z mikrokontrolerem AT90S1200 na płycie E100. Zestaw do samodzielnego montażu.

WIZUALIZACJA DANYCH SENSORYCZNYCH Sprawozdanie z wykonanego projektu. Jakub Stanisz

Pełna indywidualizacja twojego PC!

ASTOR IC200ALG320 4 wyjścia analogowe prądowe. Rozdzielczość 12 bitów. Kod: B8. 4-kanałowy moduł ALG320 przetwarza sygnały cyfrowe o rozdzielczości 12

Instytut Fizyki Politechniki Łódzkiej Laboratorium Metod Analizy Danych Doświadczalnych Ćwiczenie 3 Generator liczb losowych o rozkładzie Rayleigha.

MCAR Robot mobilny z procesorem AVR Atmega32

MARM Odtwarzacz plików MP3 z kardy SD

Instrukcja instalacji i konfiguracji rejestratorów NVR-xx-X

Wyniki (prawie)końcowe - Elektroniczne warcaby

Układy prostownicze. Laboratorium elektroniki i miernictwa. Gliwice, 3 grudnia informatyka, semestr 3, grupa 5

Kompilator języka C na procesor 8051 RC51 implementacja

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

Opis efektów kształcenia dla modułu zajęć

Analizator wydajności AMD CodeAnalyst

Programator ZL2PRG jest uniwersalnym programatorem ISP dla mikrokontrolerów, o budowie zbliżonej do STK200/300 (produkowany przez firmę Kanda).

E-TRONIX Sterownik Uniwersalny SU 1.2

Wykład 4. Środowisko programistyczne

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Spis treści. Wykaz ważniejszych skrótów Wprowadzenie Rdzeń Cortex-M Rodzina mikrokontrolerów XMC

CW-HC08 Programowanie mikrokontrolera MC9S08QD4 [2]

WYKŁAD 5. Zestaw DSP60EX. Zestaw DSP60EX

start Program mikroprocesorowego miernika mocy generowanej $crystal = deklaracja

PROGRAMOWANIE PWM. Porty, które mogą być zamienione na PWM w każdym module RaT16 to port 3,4,5,6

Linefollower Torpeda. Magdalena Kaczorowska

Transkrypt:

Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikrokontrolery i Mikroprocesory DMA (Direct Memory Access) laboratorium: 05 autor: mgr inż. Katarzyna Smelcerz Kraków, 2017

05.MiM DMA (Direct Memory Access 2 Spis treści Spis treści... 2 1. Wiadomości wstępne... 3 1.1. Niezbędne wiadomości... 3 1.2. DMA (Direct Memory Access)... 3 1.3. Konfiguracja DMA dla ADC w środowisku Cube... 4 2. Przebieg laboratorium... 6 2.1. Zadanie 1. Na ocenę 3.0 (dst)... 6 2.2. Zadanie 2. Na ocenę 4.0 (db)... 6 2.3. Zadanie 3. Na ocenę 5.0 (bdb)... 6

05.MiM DMA (Direct Memory Access 3 1. Wiadomości wstępne Pierwsza część niniejszej instrukcji zawiera podstawowe wiadomości teoretyczne dotyczące omawianego tematu. Poznanie tych wiadomości umożliwi prawidłowe zrealizowanie praktycznej części laboratorium. 1.1. Niezbędne wiadomości Opis zestawu starter-kit, schemat: http://www.st.com/st-webui/static/active/en/resource/technical/document/user_manual/dm00027954.pdf Kompilator dla rdzenia ARM: https://www.iar.com/iar-embeddedworkbench/arm/ Opis rdzenia ARM STM32L152 RB http://www.st.com/st-webui/static/active/en/resource/technical/document/datasheet/cd00277537.pdf Dokumentacja do środowiska STM32CubeMX: http://www.st.com/st-webui/static/active/en/resource/technical/document/data_brief/dm00103564.pdf 1.2. DMA (Direct Memory Access) Rdzeń ARM STM32L152 RB jest wyposażony w 7 kanałowy układ DMA (Direct Memory Access). Jego zadaniem jest transfer danych w trybach memory to memory (z pamięci do pamięci), peripheral to memory (z peryferii do pamięci) i memory to peripheral. DMA może zapisywać dane do bufora cyrkulacyjnego lub do pojedynczej komórki. Każdy z kanałów DMA jest podpięty do konkretnego zadania. Konfiguracja odbywa się na poziomie kodu, transfer danych między źródłem, a celem odbywa się niezależnie. DMA jest wykorzystywane przede wszystkim przy SPI, I2C, ADC, oraz USART. Przykład : Możemy skonfigurować timer, przetwornik ADC i DMA w taki sposób, że próbki napięcia będą zapisywane do tablicy np. 100 elementów bez udziału procesora, który jest uśpiony i nic nie robi. Konfiguracja timera decyduje o okresie pobierania próbek. Po zapełnieniu tablicy wystąpi przerwanie, które wybudzi procesor i teraz zostanie obliczona wartość średnia pomiarów. Taki tryb pracy pozwala zminimalizować pobór prądu.

05.MiM DMA (Direct Memory Access 4 1.3. Konfiguracja DMA dla ADC w środowisku Cube Sama konfiguracja ADC odbywa się tak samo, jak w przypadku poprzedniego laboratorium, z tą różnicą że, w zakładce włączamy jeszcze opcję Zrzut 1.2 Dodanie obsługi DMA Zrzut 1.3 Ustawienie przerwania od DMA

05.MiM DMA (Direct Memory Access 5 Zrzut 1.4 Standardowa konfiguracja pinów na których są podpięte kanały ADC Aby uruchomić DMA, tak jak w poprzednich laboratoriach, należy dopisać odpowiednią funkcję do wygenerowanego kodu w języku C, jest ona przedstawiona na Listingu 1. UWAGA! Wszystkie dostępne funkcje do obsługi ADC, z bardziej szczegółowymi opisami znajdują się w pliku stm32l1xx_hal_adc.c, dołączonym do projektu w IAR. Ich zastosowanie jest opisane w komentarzach w kodzie. Listing 1 Uruchomienie ADC razem z DMA HAL_StatusTypeDef HAL_ADC_Start_DMA (ADC_HandleTypeDef* hadc, uint32_t* pdata, uint32_t Length)

05.MiM DMA (Direct Memory Access 6 2. Przebieg laboratorium Druga część instrukcji zawiera zadania do praktycznej realizacji, które demonstrują zastosowanie technik z omawianego zagadnienia. 2.1. Zadanie 1. Na ocenę 3.0 (dst) Proszę skonfigurować przetwornik ADC z DMA na podstawie powyższych print screenów. Do wygenerowanego kodu proszę dopisać funkcję uruchamiającą DMA. Proszę nagrać program na płytkę i w podglądzie zmiennych w IAR zaobserwować wartości, jakie są w kanałach ADC. 2.2. Zadanie 2. Na ocenę 4.0 (db) Proszę skonfigurować przetwornik ADC, dla dwóch kanałów oraz DMA obsługujący ADC, na podstawie powyższych print screenów. W związku z tym, że obsługiwane są dwa kanały, wartości powinny być przechowywane w tablicy o rozmiarze równym ilości kanałów. Do wygenerowanego kodu proszę dopisać funkcję uruchamiającą DMA. Jeśli kanał pierwszy ma większą wartość, proszę uruchomić miganie diody LED3, jeśli kanał drugi, miganie diody LED4. 2.3. Zadanie 3. Na ocenę 5.0 (bdb) Proszę skonfigurować przetwornik ADC, dla dwóch kanałów oraz DMA obsługujący ADC, na podstawie powyższych print screenów. Do wygenerowanego kodu proszę dopisać funkcję uruchamiającą DMA. Jeśli kanał pierwszy ma większą wartość, proszę uruchomić miganie diodę LED3 w trybie PWM, gdzie wypełnienie jest równe 0.5. Jeśli kanał drugi jest większy od pierwszego, dioda LED4 ma być obsłużona analogicznie, jak LED3 z wypełnieniem 0.25.