3. Sygnały zegarowe i ich konfiguracja, mechanizmy bezpieczeństwa... 47



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

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

2. Architektura mikrokontrolerów PIC16F8x... 13

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

Szkolenia specjalistyczne

Wstęp Architektura... 13

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

WPROWADZENIE Mikrosterownik mikrokontrolery

Programowanie mikrokontrolerów 2.0

Wykład 2. Mikrokontrolery z rdzeniami ARM

dokument DOK wersja 1.0

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

1. Wstęp Różnice pomiędzy mikrokontrolerami ST7 a ST7LITE Rdzeń mikrokontrolerów ST7FLITE... 15

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

Cortex-M3 ST Microelectronics core processor capabilities. Możliwości procesorów z rdzeniem Cortex-M3 firmy ST Microelectronics

2. Code Composer Studio v4 zintegrowane środowisko projektowe... 41

Architektura komputerów

ZL30ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

1. Podstawowe wiadomości Możliwości sprzętowe Połączenia elektryczne Elementy funkcjonalne programów...

Programowanie mikrokontrolerów 2.0

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

MIKROKONTROLERY I MIKROPROCESORY

Zastosowania mikrokontrolerów w przemyśle

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

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot,

System czasu rzeczywistego

Kurs Elektroniki. Część 5 - Mikrokontrolery. 1/26

Pobór mocy przez układy mikroprocesorowe

Instytut Teleinformatyki

Programowanie Układów Logicznych kod kursu: ETD6203. Szczegóły realizacji projektu indywidualnego W dr inż.

Tab. 1. Zestawienie najważniejszych parametrów wybranych mikrokontrolerów z rodziny LPC2100, które można zastosować w zestawie ZL3ARM.

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

LITEcomp. Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19

Parametryzacja przetworników analogowocyfrowych

ZL29ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Wstęp Podstawowe informacje o mikroprocesorach AT91SAM9...11

Programowanie mikrokontrolerów. 8 listopada 2007

Opis funkcjonalny i architektura. Modu³ sterownika mikroprocesorowego KM535

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Projekt MARM. Dokumentacja projektu. Łukasz Wolniak. Stacja pogodowa

System mikroprocesorowy i peryferia. Dariusz Chaberski

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe

Hardware mikrokontrolera X51

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

Systemy wbudowane. Paweł Pełczyński

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

Technika mikroprocesorowa. Konsola do gier

Technika Mikroprocesorowa

2. Budowa układów procesorowych rodziny TMS320C

Aparatura Elektroniczna (EAE) Stopień studiów i forma: I stopień, stacjonarna Rodzaj przedmiotu: obowiązkowy - 2

ZL6ARM Zestaw uruchomieniowy dla mikrokontrolerów LPC213x. Tab. 1. Zestawienie najważniejszych parametrów wybranych mikrokontrolerów z rodziny LPC213x

ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S)

ISBN Copyright by Wydawnictwo BTC Legionowo 2008

ISBN. Copyright by Wydawnictwo BTC Legionowo 2010

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

ZL24PRG. Interfejs JTAG dla mikrokontrolerów ARM

USB interface in 8-bit microcontrollers PIC18F family manufactured by Microchip.

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

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)

ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S)

POLITECHNIKA WARSZAWSKA. Wydział Elektroniki i Technik Informacyjnych. Mikrokontrolery ARM

Timery w mikrokontrolerach STM32F3

TECHNIKA MIKROPROCESOROWA II

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

AVREVB1. Zestaw uruchomieniowy dla mikrokontrolerów AVR. Zestawy uruchomieniowe

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

Generator przebiegów pomiarowych Ex-GPP2

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

ZL16AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega8/48/88/168

E-TRONIX Sterownik Uniwersalny SU 1.2

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

Laboratorium Procesorów Sygnałowych

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

Programator ICP mikrokontrolerów rodziny ST7. Full MFPST7. Lite. Instrukcja użytkownika 03/09

XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej. XXXII Olimpiada Wiedzy Elektrycznej i Elektronicznej

Sterownik PLC ELP11R32-BASIC Dokumentacja techniczna (ver. 1.0)

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Instytut Teleinformatyki

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

ZL5PIC. Zestaw uruchomieniowy dla mikrokontrolerów PIC16F887

Porty GPIO w mikrokontrolerach STM32F3

Metody obsługi zdarzeń

Układy czasowo-licznikowe w systemach mikroprocesorowych

LEKCJA TEMAT: Zasada działania komputera.

Systemy wbudowane Mikrokontrolery

Politechnika Białostocka

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

ZL5ARM. Zestaw uruchomieniowy dla mikrokontrolerów LPC2119/2129 (rdzeń ARM7TMDI-S) Kompatybilność z zestawem MCB2100 firmy Keil

ZL9ARM płytka bazowa dla modułów diparm z mikrokontrolerami LPC213x/214x

oznaczenie sprawy: CRZP/231/009/D/17, ZP/66/WETI/17 Załącznik nr 6 I-III do SIWZ Szczegółowy opis przedmiotu zamówienia dla części I-III

MIKROPROCESORY architektura i programowanie

Wbudowane układy komunikacyjne cz. 1 Wykład 10

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

Programowanie mikrokontrolerów 2.0

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

Wykład 6. Mikrokontrolery z rdzeniem ARM

Uniwersalny zestaw uruchomieniowy ZL4PIC

Transkrypt:

Spis treści 3 1. Rdzeń Cortex-M3...9 1.1. Firma ARM i jej wyroby...10 1.2. Rodzina rdzeni Cortex...12 1.3. Ogólne spojrzenie na architekturę rdzenia Cortex-M3...13 1.4. Rejestry podstawowe...16 1.5. Przestrzeń adresowa...17 1.5.1. Bit-band, czyli obszary o dostępie atomowym... 17 1.6. Sterownik przerwań NVIC...19 1.7. Lista rozkazów Thumb-2...21 2. Narzędzia i oprogramowanie... 23 2.1. Zestaw ewaluacyjny ZL27ARM...24 2.2. Zasilanie zestawu ewaluacyjnego...27 2.3. Rodzina mikrokontrolerów STM32...27 2.4. Oprogramowanie narzędziowe...29 2.5. Biblioteka API STM32F10x Standard Peripherals Library v3.1.0....31 2.5.1. CMSIS: Cortex Microcontroller Software Interface Standard... 33 2.5.2. Struktura biblioteki STM32F10x Standard Peripherals Library... 34 2.5.3. Migracja ze starszej wersji biblioteki STM32F10x firmware library... 37 2.6. Biblioteka API STMicroelectronics Firmware Library...39 2.7. Konfiguracja urządzeń peryferyjnych za pomocą Standard Peripherals Library...40 2.8. Programowanie pamięci Flash mikrokontrolera...41 2.9. Debugowanie...42 2.10. Rdzeń Cortex-M3 i debugowanie...43 2.10.1. Praca ciągła, krokowa, zatrzymywanie mikrokontrolera... 44 2.10.2. Pułapki (breakpoints)... 45 3. Sygnały zegarowe i ich konfiguracja, mechanizmy bezpieczeństwa... 47 3.1. Sygnały zegarowe...48 3.1.1. Zewnętrzny generator szybkich przebiegów HSE... 48 3.1.2. Wewnętrzny generator szybkich przebiegów HSI... 49 3.1.3. Zewnętrzny generator wolnych przebiegów LSE... 50 3.1.4. Wewnętrzny generator wolnych przebiegów LSI... 50 3.1.5. Wyprowadzenie sygnału zegarowego na zewnątrz... 50 3.2. Konfigurowanie mikrokontrolera do pracy...51 3.3. Zerowanie mikrokontrolera...54

4 Spis treści 3.4. Mechanizmy zabezpieczeń...56 3.4.1. System nadzoru sygnału taktującego Clock Security System... 56 3.4.2. Rejestry chronione przed utratą danych po zaniku napięcia zasilającego Backup Domain... 56 3.4.3. Zegar czasu rzeczywistego RTC... 59 3.4.4. Watchdog niezależny IWDG... 62 3.4.5. Watchdog okienkowy WWDG... 65 3.4.6. Obliczenie parametrów okna WWDG... 67 3.4.7. Przerwanie EW... 68 4. Obsługa portów I/O... 69 4.1. Budowa i obsługa portów wejścia/wyjścia...70 4.2. Inne funkcje zmiany stanu wyprowadzeń...75 4.3. Funkcje odczytu stanu wyprowadzeń...76 4.4. Wstawki asemblerowe...77 4.5. Blokowanie portów wejścia/wyjścia...79 4.6. Funkcje alternatywne i remapping...81 4.7. Dodatkowe uwagi dotyczące portów wejścia/wyjścia...82 4.8. Sterowanie alfanumerycznego wyświetlacza LCD...82 4.8.1. Zapis bajtu do sterownika wyświetlacza... 83 4.8.2. Odczyt bajtu ze sterownika wyświetlacza... 84 4.8.3. Budowa prostego menu... 85 5. Przerwania i kontroler NVIC... 87 5.1. Przerwania i zdarzenia...88 5.2. System priorytetów...88 5.3. Pozycja tablicy wektorów przerwań w przestrzeni adresowej...90 5.4. Przerwanie zewnętrzne...90 5.4.1. Konfiguracja przerwań zewnętrznych... 92 5.5. Kontroler przerwań NVIC...95 5.5.1. Sprawdzanie wywłaszczeń przerwań... 95 5.5.2. Blokowanie przerwań... 97 5.5.3. Kolejkowanie przerwań tail-chaining... 98 5.5.4. Obsługa późniejszego przerwania late arrival... 99 5.5.5. Przerywanie operacji zdejmowania ze stosu (POP)... 100 5.5.6. Programowe wymuszenie przerwania... 101

Spis treści 5 5.5.7. Programowe zerowanie... 102 5.5.8. Informacje o rdzeniu... 102 5.6. Timer SysTick... 103 6. Timery i DMA...107 6.1. Budowa i działanie timera TIM1... 108 6.1.2. Tryby zliczania... 109 6.1.3. Licznik powtarzania repetition counter... 110 6.1.4. Przykładowa konfiguracja TIM1 generacja czterech przebiegów o różnych częstotliwościach... 110 6.2. Generowanie sygnału PWM timer TIM3...114 6.3. Pomiar okresu sygnału wejściowego timer TIM2...116 6.3.1. Zliczanie impulsów wejściowych... 119 6.4. Pomiar parametrów wejściowego sygnału PWM... 120 6.5. Synchronizacja i kaskadowe łączenie timerów... 124 6.6. Obsługa przycisków... 126 6.7. Kontroler DMA... 129 6.7.1. Priorytety obsługi kanałów DMA... 131 6.7.2. Konfiguracja kontrolera DMA... 131 6.8. Współpraca timerów z kontrolerem DMA... 133 7. Przetworniki A/C...137 7.1. Budowa przetwornika analogowo-cyfrowego... 138 7.1.1. Taktowanie przetwornika A/C... 140 7.1.2. Praca pojedynczego kanału w trybie ciągłym... 141 7.1.3. Kalibracja przetworników... 143 7.1.4. Pojedynczy kanał w trybie pojedynczego pomiaru... 143 7.1.5. Kilka kanałów w trybie ciągłym z wykorzystaniem DMA programowany czas próbkowania... 144 7.2. Konfiguracja DMA do pracy z przetwornikiem A/C... 147 7.3. Obsługa przerwań od przetwornika A/C... 148 7.4. Wyzwalanie przetwornika A/C... 149 7.4.1. Wyzwalanie za pomocą timera TIM1... 149 7.4.2. Wyzwalanie za pomocą przerwania zewnętrznego EXTI_11... 151 7.4.3. Nieciągły tryb pracy przetwornika A/C... 153 7.5. Jednoczesna praca A/C1 i A/C2 (dual A/C mode)... 154

6 Spis treści 7.6. Eliminacja błędów i niedokładnościprzetwarzania A/C... 156 7.6.1. Programowe minimalizowanie błędów... 156 7.6.2. Jakość napięcia zasilania... 157 7.6.3. Dopasowanie napięcia do zakresu pomiarowego... 157 7.7. Cyfrowe przetwarzanie sygnałów... 158 8. Interfejsy komunikacyjne...159 8.1. Obsługa interfejsu I 2 C... 160 8.1.1. Adresowanie 10-bitowe... 164 8.2. Obsługa uniwersalnego portu szeregowego USART... 165 8.2.1. Komunikacja z odbiornikiem GPS... 165 8.2.2. Komunikacja z terminalem... 168 8.2.3. Odbiór danych... 171 8.2.4. Wysyłanie danych... 172 8.2.5. Współpraca interfejsu USART z DMA... 173 8.2.6. Wyznaczanie prędkości pracy USART bez wykorzystania funkcji API... 174 8.3. Obsługa interfejsu SPI... 175 8.3.1. Komunikacja z czujnikiem temperatury TC77... 180 9. Obsługa kart SD...183 9.1. Karty SD... 184 9.2. Komendy kart SD... 185 9.3. System plików FAT... 186 9.4. Biblioteka FatFs... 186 9.5. Implementacja FatFs w mikrokontrolerach STM32 warstwa fizyczna... 187 9.6. Podstawowe operacje na plikach i katalogach... 191 9.7. Przeglądanie zawartości karty pamięci, informacje o plikach i katalogach... 195 10. Tryby obniżonego poboru mocy...197 10.1. Tryb uśpienia rdzeniamikrokontrolera sleep mode... 198 10.2. Tryb zatrzymania stop mode... 204 10.3. Tryb czuwania standby mode... 206 10.4. Programowany detektor poziomu napięcia... 208 11. Implementacja systemu operacyjnego FreeRTOS...213 11.1. Tryby pracy rdzenia Cortex-M3... 214 11.2. Stos... 216

Spis treści 7 11.3. Dwa stosy: MSP i PSP... 217 11.4. Tryb użytkownika i PSP... 218 11.5. Wyjątki systemowe... 219 11.5.1. Wyjątek SVC (System service Call)... 220 11.5.2. Wyjątek PendSV... 220 11.5.3. PendSV i SysTick... 221 11.6. System operacyjny... 222 11.6.1. Wielozadaniowy system operacyjny czasu rzeczywistego... 222 11.6.2. Systemy RTOS z wywłaszczeniem zadań... 223 11.6.3. Algorytm szeregowania... 225 11.7. System operacyjny FreeRTOS... 226 11.7.1. Struktura plików systemu FreeRTOS... 226 11.7.2. Zasada działania systemu FreeRTOS. Zadania (tasks) i współprogramy (co-routines)... 227 11.7.3. Konstrukcja i uruchomienie zadania w systemie FreeRTOS... 228 11.7.4. Podstawowe sposoby sterowanie zadaniami... 229 11.7.5. Komunikacja między uruchomionymi zadaniami, kolejki i semafory, synchronizacja procesów... 232 11.7.6. Konfiguracja systemu FreeRTOS. Plik konfiguracyjny FreeRTOSConfig.h... 234 11.7.7. Aplikacja wykorzystująca system FreeRTOS do obsługi wielu zadań... 235 11.7.8. Wykorzystanie semaforów do obsługi przerwań... 238 12. Obsługa interfejsu USB...241 12.1. Podstawy interfejsu USB... 242 12.2. Enumeracja. Rodzaje transferów... 243 12.3. Endpointy... 244 12.4. Klasy urządzeń. Urządzenia interfejsu użytkownika klasa HID. Raporty... 244 12.5. Deskryptory... 245 12.5.1. Deskryptor urządzenia i konfiguracyjny... 245 12.5.2. Deskryptor raportów... 247 12.6. Wykorzystanie klasy HID do komunikacji z mikrokontrolerem... 247 12.6.1. Aplikacja po stronie komputera... 248 12.6.2. Oprogramowanie mikrokontrolera... 249 Dodatki...253 Dodatek A. Schemat elektryczny ZL27ARM...254 Dodatek B. Polecenia NMEA 0183 wersja 2.2...256 B.1. Budowa zdań NMEA... 256

8 Spis treści B.2. Zdania wyjściowe... 257 B.2.1. GGA Global Positioning System Fixed Data... 257 B.2.2. GLL Geographic Position Latitude/Longitude... 258 B.2.3. GSA GNSS DOP and Active Satellites... 258 B.2.4. GSV GNSS Satellites in View... 259 B.2.5. RMC Recommended Minimum Specific GNSS Data... 259 B.2.6. VTG Course Over Ground and Ground Speed... 259 B.3. Zdania wejściowe... 260 Dodatek C. Tabela kodów ASCII...262 Dodatek D. Biblioteka FatFs...264 D.1. Funkcje dostępne w bibliotece FatFs R0.07a... 264 Dodatek E. Tabela kodów znakowych sterownika LCD HD44870...271