Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. Instrukcje do zajęć laboratoryjnych. Laboratorium z przedmiotu:

Wielkość: px
Rozpocząć pokaz od strony:

Download "Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. Instrukcje do zajęć laboratoryjnych. Laboratorium z przedmiotu:"

Transkrypt

1 Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcje do zajęć laboratoryjnych Laboratorium z przedmiotu: Systemy wbudowane Kod: ES2C Elektrotechnika studia stacjonarne II stopnia, sem. II specjalność Automatyka Przemysłowa i Technika Mikroprocesorowa Opracował dr inż. Rafał Kociszewski Białystok 2014

2 Program szczegółowy laboratorium 30 godz. Zajęcia wprowadzające (1 godz.) 1. Podstawy programowania mikrokontrolera LPC2148 (2 godz.) 2. Wykorzystanie interfejsu SPI do komunikacji z graficznym wyświetlaczem LCD. (4 godz.) 3. Komunikacja z wykorzystaniem interfejsu USB. (2 godz.) 4. Bezprzewodowa transmisja danych z wykorzystaniem modułu Bluetooth. (4 godz.) 5. Implementacja systemu rozpoznawania kolorów. (6 godz.) 6. Komunikacja z odbiornikiem GPS. (4 godz.) 7. Implementacja systemu operacyjnego czasu rzeczywistego na mikrokontrolerze LPC2148. (2 godz.) 8. Podstawy programowania mikrokontrolerów PSoC. (6 godz.) Zaliczenie zajęć. (1 godz.) Literatura: 1. Ashby R.: Designer's Guide to the Cypress PSoC, Newnes, Augustyn J.: Projektowanie systemów wbudowanych na przykładzie SAM7S z rdzeniem ARM7TDMI. Wyd. IGSMiE PAN, Kraków Barry R.: Using the FreeRTOS Real Time Kernel - a Practical Guide - Standard Edition 4. Borkowski P.: AVR & ARM7. Programowanie mikrokontrolerów dla każdego. Wyd. Helion Bryndza L.: LPC2000 Mikrokontrolery z rdzeniem ARM7. Wyd. BTC Majewski J.: Programowanie mikrokontrolerów LPC2000 w języku C pierwsze kroki. Wyd. BTC Martin T.: The insider s guide to the Philips ARM7-based microcontrollers. Hitex Massa A. J.: Embedded software development with ecos. Prentice Hall Melot N.: Study of an operating system: FreeRTOS. 10. Mielczarek W.: USB. Uniwersalny interfejs szeregowy. Helion Morawski Ł.: Dydaktyczny system uruchomieniowy do testowania aplikacji na mikrokontroler PSoC. Praca dyplomowa, Politechnika Białostocka, Białystok Narkiewicz J.: GPS i inne satelitarne systemy nawigacyjne. WKiŁ Stawski E.: Mikrokontrolery LPC2000 w przykładach. Wyd. BTC BTM220_DataSheet.pdf 15. LPC 214x User manual. Philips Semiconductors LPC214x USB simplified API approach to HID class. NXP B.V (AN10736). 17. PCD x84 pixels matrix LCD controller/driver. Philips Semiconductors

3 Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do zajęć laboratoryjnych Numer ćwiczenia: 1 Temat: Podstawy programowania mikrokontrolera LPC2148 Laboratorium z przedmiotu: Systemy wbudowane Kod: ES2C Elektrotechnika studia stacjonarne II stopnia, sem. II specjalność Automatyka Przemysłowa i Technika Mikroprocesorowa Opracował dr inż. Rafał Kociszewski Białystok

4 1. Cel ćwiczenia Zapoznanie się z zestawem uruchomieniowym z mikrokontrolerem LPC2148. Poznanie zasad tworzenia projektu w środowisku programowym Keil uvision. Wykonanie prostych operacji na uniwersalnych portach I/O w zakresie sterowania diodami LED oraz obsługi prostej klawiatury. 2. Wprowadzenie Zestaw uruchomieniowy stosowany w laboratorium składa się z uniwersalnej płyty bazowej (ZL9ARM) rysunek 1 oraz modułu diparm (ZL10ARM) rysunek 2 zawierającego 32-bitowy mikrokontroler LPC2148 z rdzeniem ARM7TDMI-S. Moduł ten umieszczony w gniazdach płyty stanowi platformę sprzętową służącą do testowania aplikacji przygotowywanych na mikrokontroler LPC2148. Rys. 1. Wygląd płyty bazowej ZL9ARM oraz jej schemat blokowy (źródło: dokumentacja ZL9ARM; Rys. 2. Wygląd modułu diparm z mikrokontrolerem LPC2148 (źródło: dokumentacja ZL10ARM, 4

5 Podstawowe właściwości ZL9ARM: gniazdo do modułu diparm z mikrokontrolerem LPC213x/214x, gniazdo USB, złącze karty MMC, gniazdo do dołączenia konwertera UART USB, gniazdo alfanumerycznego wyświetlacza LCD o organizacji 2x16 znaków (tryb 4- bitowy), dwa interfejsy RS232, złącze programowania/debuggowania JTAG złącza z wyprowadzonymi liniami portów mikrokontrolera, 8 diod LED, 4 przyciski, przyciski zerowania i przerwania INT1, potencjometryczny zadajnik napięcia wejściowego dla przetwornika A/C, termistor NTC dołączony do wejścia przetwornika A/C, wzmacniacz audio o mocy 600mW (z regulacją głośności), przetwornik piezoakustyczny, zasilanie: USB lub zasilacz sieciowy VDC/VAC, stabilizatory napięcia: 3,3 i 5 V, Cechy mikrokontrolera LPC2148: 32-bitowy rdzeń ARM7TDMI-S, taktowanie sygnałem zegarowym o częstotliwości do 60MHz (dzięki wbudowanej pętli PLL), 512kB programowanej w systemie pamięci programu Flash, 32kB pamięci RAM, USB 2.0, 2 interfejsy UART, 2 interfejsy I2C, 2 interfejsy SPI, dwa 8-kanałowe 10-bitowe przetworniki AC, 10-bitowy przetwornik CA, do 45 linii I/O kompatybilnych z logiką 3,3 V oraz 5 V, możliwość programowania w systemie poprzez interfejs RS232, wbudowany kontroler przerwań, sprzętowy zegar RTC, watchdog, timery o zaawansowanych możliwościach (w tym generacja PWM), system zarządzania pobieraną energią Obsługa linii (portów) I/0 mikrokontrolera LPC2148 Mikrokontroler LPC2148 ma dwa 32-bitowe porty I/O (wejścia-wyjścia) P0 i P1, przy czym port P1 ma wyprowadzone tylko 16 najbardziej znaczących bitów (P P1.32). Wszystkie porty są dwukierunkowe i mają maksymalną wydajność prądową o wartości 45mA. Każdy z pinów ma przypisaną od jednej do czterech funkcji alternatywnych. Przykładowo linia P0.0 jest oznaczona: P0.0/TXD0/PWM1. Można ją zatem skonfigurować jako: uniwersalną linię 5

6 I/O, wyjście TxD interfejsu UART0 albo wyjście sygnału PWM. Za wybór jednej z tych funkcji odpowiadają dwa bity w rejestrze PINSEL0, 1 i 2. Na poniższym rysunku jest przedstawiony sposób wyboru funkcji linii P0.0. GPIO P0.0 TxD0 PWM1 zabronione P0.0/TxD0/PWM1 PINSEL0 1 0 RESET:0x PINSEL0 Oznaczenie Stany Opis 1:0 P GPIO Port TxD0 (UART0) 10 PWM1 11 zabronione Rys. 3. Rejestry PINSEL0, PINSEL1, PINSEL2 umożliwiają wybór funkcji wyprowadzeń LPC2148. każde dwa bity rejestru zawierają kombinację bitów określających przeznaczenie wyprowadzenia Linie portów P0.2, P0.3, P0.11 i P0.14 dla zapewnienia kompatybilności z interfejsem I 2 C mają wyjścia typu otwarty dren i nie są w pełni dwukierunkowe, dlatego w niektórych przypadkach wymagają podłączenia zewnętrznych rezystorów (tzw. podciągających) o wartości kilkunastu kω do plusa napięcia zasilającego. Jeżeli linie portu są skonfigurowane jako wejściowe, port P0 nie ma rezystorów podciągających, natomiast port P1 jest wyposażony w wewnętrzne rezystory o wartości kω. Podczas zerowania mikrokontrolera także zawartość rejestrów PINSEL jest zerowana. Oznacza to, że po włączeniu zasilania i po każdym zerowaniu wszystkie linie I/O działają jako port ogólnego przeznaczenia. W trybie GPIO konfiguracja każdej linii I/O jest zależna od stanu bitów w poniższych rejestrach: Rejestr IO0DIR (port P0) i IO1DIR (port P1) umożliwiają wybór kierunku pracy wybranej linii I/O. Ustawienie bitu w tym rejestrze powoduje, że odpowiadająca mu linia I/O pełni rolę wyjścia, natomiast jego wyzerowanie powoduje, że wybrana linia pełni rolę wejścia. Rejestr IO0PIN oraz IO1PIN umożliwia odczytanie oraz ustawienie stanu wybranej linii I/O. W przypadku, gdy wybrany pin skonfigurowany jest jako wejściowy odczyt tego rejestru jest bezpośrednim odzwierciedleniem stanu sygnałów elektrycznych panujących na tym pinie, natomiast, gdy wybrana linia skonfigurowana jest jako wyjściowa, odczytanie tego rejestru powoduje jednocześnie odczytanie stanu wewnętrznych przerzutników portu i odzwierciedla stan w jakim znajduje się wybrana linia wyjściowa. Zapis do tego rejestru w przypadku gdy wybrana linia skonfigurowana jest jako 6

7 wyjściowa powoduje wystawienie stanów logicznych odzwierciedlających stan rejestru na odpowiednich pinach mikrokontrolera. Rejestr IO0SET oraz IO1SET umożliwia ustawienie wybranych linii I/O w stan wysoki ( 1 ) bez zmiany stanu pozostałych linii. Rejestr IO0CLR oraz IO1CLR umożliwia ustawienie wybranych linii I/O w stan niski ( 0 ) bez zmiany stanu pozostałych linii. Wpisanie 1 na wybranym bicie powoduje wyzerowanie odpowiadającego bitu w porcie I/O. Sterowanie portami I/O mikrokontrolera jest realizowane następująco: aby odczytać zawartość linii wystarczy skonfigurować wybraną linię jako wejściową za pomocą rejestru kierunku IOxDIR, a następnie odczytać stan wybranej linii z rejestru IOxPIN. Natomiast jeżeli chcemy ustawić wybrane linie w odpowiedni stan wystarczy za pomocą rejestru IOxDIR ustawić wybrane linie jako wyjściowe i za pośrednictwem par rejestrów IOxSET, IOxCLR lub IOxPIN ustawić odpowiednie bity. Zastosowanie rejestrów IOxSET i IOxCLR jest bardzo wygodne ponieważ możemy ustawić/skasować wybrane bity portu bez wcześniejszego ich odczytywania. W przypadku, gdy chcemy zmienić całą zawartość danego portu, wygodniej będzie skorzystać z rejestru IOxPIN, który od razu ustawi cały port zgodnie z zawartością rejestru. IO0PIN P0.0 IO0DIR IO0CLR IO0SET PORT P0 Rys. 4. Każda linia I/O jest sterowana za pomocą bitów ulokowanych w czterech rejestrach 7

8 Funkcje pełnione przez poszczególne linie portu P0 są zebrane w poniższej tabeli. Konfiguracja portu P1 jest łatwiejsza, ponieważ jedyną funkcją alternatywną, jaką pełni ten port jest interfejs debugowania (DEBUG) i śledzenia (TRACE), które nie będą wykorzystywane podczas zajęć w laboratorium. 8

9 2.2. Wyświetlacz alfanumeryczny LCD Wykorzystywany w zestawie ZL9ARM wyświetlacz LCD (rysunek 5) jest wyposażony w sterownik HD44780, który komunikuje się z otoczeniem za pomocą równoległej magistrali danych (8- lub 4-bitowej), wyposażonej w trzy sygnały sterujące RS (Register Select), R/W (Read/Write) oraz E (Enable) Rys. 5. Wykorzystywany alfanumeryczny wyświetlacz LCD 2x16 znaków. Układ HD44780 jest od wielu lat jednym z najpopularniejszych sterowników wyświetlaczy alfanumerycznych. Interfejs i funkcjonalność tego układu stanowią nieformalny standard w dziedzinie alfanumerycznych modułów wyświetlających. Sterownik HD44780 ma następujące właściwości: - obsługa matryc znakowych LCD o rozmiarach 5x8 i 5x10 punktów - 4-bitowy lub 8-bitowy interfejs równoległy typu pamięć RAM przechowująca do 80 znaków - pamięć ROM przechowująca 240 szablonów znakowych - pamięć RAM przechowująca do 8 szablonów znakowych zdefiniowanych przez użytkownika - funkcja: kursora, czyszczenia ekranu i przesuwu okna Sterownik wyposażono w cztery rejestry umożliwiające wymianę danych z otoczeniem: - DataWR rejestr przeznaczony do zapisu danych do sterownika - DataRD rejestr przeznaczony do odczytu danych ze sterownika - ControlRD rejestr sterujący i statusu wyświetlacza (do odczytu, status-control) - ControlWR rejestr sterujący (do zapisu, control) O tym, do którego z wymienionych rejestrów nastąpi zapis lub z którego nastąpi odczyt decyduje kombinacja stanów na liniach RS i R/W a zapis i odczyt danych jest synchronizowany za pomocą linii E. Sterowniki HD44780 są wyposażone w dwa rodzaje pamięci: DD (Display Data) i CG (Character Generator), do których użytkownik ma dostęp poprzez rejestry DataRD, DataWR, ControlRD i ControlWR. Pamięć CG składa się z pamięci CG-ROM zawierającej przygotowane przez producenta kody znaków oraz CG-RAM przeznaczonej na kody znaków definiowane przez użytkownika. Sposób adresowania znaków wyświetlanych przez kontroler HD44780 jest przedstawiony na rysunku 2. W pamięci CG-RAM pomiędzy adresami 0x00 i 0x1F znajduje się miejsce na umieszczenie 8 znaków zdefiniowanych przez użytkownika. Kształty tych znaków są definiowane jako matryce o wymiarach 5x8 punktów. Jeżeli wpisane 9

10 kolejno powyżej kody zostaną umieszczone w pamięci CG-RAM od adresu 0x00, to zdefiniowany znak będzie dostępny w tablicy kodów wyświetlacza LCD pod adresem 0x00. Rys. 6. Szablony znakowe zawarte w pamięci CGROM 10

11 Poniżej podano zestawienie możliwych operacji sterownika HD Środowisko uruchomieniowe Keil uvision3 Do przygotowania programów na mikrokontroler LPC2148 jest wykorzystywane środowisko IDE oraz kompilator języka C, dystrybuowane przez firmę Keil. Etapy tworzenia nowego projektu w środowisku Keil uvision3 zostaną przedstawione w poniższych podpunktach. 1. Po kliknięciu w ikonę programu nowy projekt tworzymy po wybraniu w menu opcji Project -> New uvision Project 11

12 2. Po nadaniu nazwy tworzonemu projektowi należy wskazać właściwy mikrokontroler LPC W kolejnym kroku należy potwierdzić dołączenie pliku startowego i przejść do tworzenia pliku wybierając z menu File -> New 12

13 4. Po napisaniu programu (w języku C) należy włączyć opcję do utworzenia pliku.hex (zakładka Output) i poprawnej kompilacji (zakładka Linker) 13

14 2.3. Program Flash Magic Mikrokontrolery z pamięcią Flash są często wyposażone w mechanizmy umożliwiające programowanie jej w systemie, bez konieczności demontowania układu z urządzenia. Taki rodzaj programowania nosi nazwę ISP (In System Programming). W mikrokontrolerach LPC2148 jest użyty booloader, który poprzez interfejs RS-232 pobiera z komputera (port szeregowy COM) dane przeznaczone do wpisania do pamięci Flash. Obsługę transmisji danych (wgrywanie pliku wynikowego.hex) można zrealizować za pomocą bezpłatnego programu Flash Magic. Wygląd głównego okna tego programu wraz z wybranymi opcjami w polu Step1 i Step2 pokazano na poniższym rysunku. Rys. 7. Główne okno programu Flash Magic (po ustawieniu odpowiednich parametrów Step1, Step2 i wskazaniu pliku.hex do załadowania Step3, plik jest ładowany do LPC2148 po kliknięciu przycisku Start) 3. Stanowisko laboratoryjne Komputer PC z zainstalowanym programem narzędziowym Keil uvision3 oraz programem ładującym Flash Magic. Zestaw uruchomieniowy ZL9ARM z modułem diparm z mikrokontrolerem LPC Przebieg ćwiczenia Ćwiczenie jest planowane jako 2-godzinne i obejmuje: Połączenie zestawu uruchomieniowego z komputerem PC za pomocą łącza RS-232. W płytce ZL9ARM korzystamy z gniazda UART0. Przygotowanie programów obsługujących linie we/wy mikrokontrolera LPC2148 w zakresie: a) sterowania diodami LED w tym celu należy na podstawie schematu ideowego zestawu uruchomieniowego zlokalizować linie mikrokontrolera, do których są podłączone diody LED, a następnie uzyskać dowolne efekty świetlne, b) obsługi przetwornika piezoceramicznego do generowania prostych dźwięków, 14

15 c) obsługi klawiatury 4-przyciskowej w tym celu należy na podstawie schematu ideowego zestawu uruchomieniowego zlokalizować linie mikrokontrolera, do których są podłączone przyciski S1...S4, a następnie zaprogramować układ w ten sposób, aby wciśnięcie dowolnego przycisku uruchamiało efekt świetlny na diodach LED. Szczegóły odnośnie programów ustala prowadzący ćwiczenie. Wynikiem pracy grupy laboratoryjnej są programy na mikrokontroler LPC2148. Wnioski i spostrzeżenia jakie nasunęły się podczas wykonywania ćwiczenia należy zamieścić w sprawozdaniu. 5. Wymagania BHP Warunkiem przystąpienia do realizacji ćwiczenia jest zapoznanie się z obowiązującą w laboratorium instrukcją BHP oraz przestrzeganie zasad w niej zawartych. Konieczne jest także zapoznanie z ogólnymi zasadami pracy przy stanowisku komputerowym. Instrukcje BHP powinny być podane studentom podczas pierwszych zajęć laboratoryjnych i dostępne do wglądu w laboratorium. 6. Sprawozdanie studenckie Sprawozdanie powinno zawierać: cel i zakres ćwiczenia, opis stanowiska badawczego, opis przebiegu ćwiczenia z wyszczególnieniem wykonywanych czynności, algorytm oraz listing opracowanego programu komentarze i wnioski 15

16 Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do zajęć laboratoryjnych Numer ćwiczenia: 2 Temat: Wykorzystanie interfejsu SPI do komunikacji z graficznym wyświetlaczem LCD Laboratorium z przedmiotu: Systemy wbudowane Kod: ES2C Elektrotechnika studia stacjonarne II stopnia, sem. II specjalność Automatyka Przemysłowa i Technika Mikroprocesorowa Opracował dr inż. Rafał Kociszewski Białystok

17 1. Cel ćwiczenia Zapoznanie się z konfiguracją i wykorzystaniem sprzętowego modułu ADC zaimplementowanego w mikrokontrolerze LPC2148 do pracy w funkcji woltomierza cyfrowego. Zapoznanie się z programową obsługą szeregowego interfejsu SPI do komunikacji mikrokontrolera LPC2148 z graficznym wyświetlaczem LCD ze sterownikiem PCD8544. Wykorzystanie czujnika położenia do realizacji funkcji obrotu obrazu wyświetlanego na wyświetlaczu graficznym LCD. 2. Wprowadzenie 2.1. Moduł ADC W mikrokontrolerach LPC2148 zaimplementowano dwa 10-bitowe przetworniki analogowocyfrowe o czasie konwersji 2.44ms (ok. 410kHz), które noszą nazwy AD0 i AD1. Wyposażono je w multipleksery analogowe (odpowiednio 6- lub 8-wejściowe) o dopuszczalnym zakresie napięć V. Wejścia analogowe są multipleksowane, tzn. w danej chwili tylko jedno z nich może być źródłem sygnału. Wybór aktywnego wejścia następuje poprzez ustawienie rejestru konfiguracyjnego ADnCR. Rejestr ADGSR ma budowę podobną do rejestru ADCR. Rejestr ADGSR umożliwia jednoczesne uruchamianie przetworników AD0 i AD1. Wyniki pomiarów są dostępne w rejestrze ADnDR Każdy kanał pomiarowy ma swój rejestr wyników pomiaru. W rejestrze ADnGDR jest zapisywany zarówno wynik pomiaru jak i numer kanału. Rejestr ADnSTAT zawiera informacje o statusie poszczególnych kanałów pomiarowych, tj, - bit sygnalizujący zgłoszenie przerwania przez ADC - sygnalizacja powstania błędu OVERUN podczas pomiaru - sygnalizacja zakończenia pomiaru bit DONE Rejestr ADnINTEN pozwala na odblokowanie przerwań od poszczególnych kanałów pomiarowych. Rejestr kontrolny ADnCR (rysunek 1) pozwala na konfigurację przetwornika oraz wyznaczenie początku konwersji ADC. Rys. 1. Rejestry ADCR i ADGSR sterujące pracą przetwornika ADC Pierwszym krokiem w konfigurowaniu przetwornika jest ustawienie częstotliwości sygnału taktującego. Przetwornik jest taktowany sygnałem wytwarzanym z sygnału PCLK. 17

18 Częstotliwość PCLK w wyniku podziału musi być mniejsza niż 4.5MHz. Gdy nie jest możliwe dobranie dokładnej wartości można wybrać częstotliwość jak najbliżej wymaganej. Częstotliwość PCLK jest dzielona przez CLKDIV+1 dla uniknięcia dzielenia przez zero. Sygnał zegarowy taktujący przetwornik można zablokować przy użyciu rejestru PDN. Po zerowaniu przetwornik jest wyłączony, zatem oprócz podania sygnału zegarowego należy go wyłączyć, ustawiając 1 na tym bicie. Bity SEL pozwalają wybrać kanały, w których będą wykonywane pomiary. Każdy z kanałów ma w polu SEL przypisany jeden bit odpowiedzialny za jego aktywację. Włączenie trybu BURST wymaga ustawienia bitów CLKS. W tym trybie pracy przetwornik wykonuje ciągłe pomiary w kanale. Pole CLKS określa kompromis pomiędzy prędkością pomiarów wyrażoną w liczbie okresów zegara CLK przetwornika a dokładnością pomiaru w trybie BURST. Pole START pozwala zatrzymać lub rozpocząć konwersję. Użytkownik może spowodować, aby pomiar zapoczątkowało zbocze sygnału na wejściu zewnętrznym CAP0.0 lub CAP0.2 lub na wyjściu MAT0.1 MAT0.3, MAT1.0, MAT1.1. Przetwornik może mierzyć sygnał na wyprowadzeniach zewnętrznych, nawet gdy są skonfigurowane do pracy w trybie GPIO co może obniżać dokładność przetwarzania. Wynik konwersji jest dostępny w polu RESULT rejestrów ADnDR0...7 oraz ADnGDR (w tym rejestrze wynik konwersji jest podawany wraz z numerem kanału). Po zakończeniu przetwarzania bit DONE zostaje ustawiony, co można wykorzystać do wygenerowania przerwania. Jeżeli po zakończeniu pomiaru wartość w polu RESULT nie zostanie odczytana, to zostaje ona utracona, gdyż przetwornik wykona kolejny pomiar i nadpisze ostatnio zmierzoną wartość w polu wynik. Fakt ten jest sygnalizowany ustawieniem bitu OVERRUN. Rys. 2. Rejestry ADGDR oraz ADDR0...7, z których można odczytać wyniki konwersji Przetwornik ADC może pracować w trybie odpytywania oraz w trybie przerwań. Konfiguracja przetwornika do pracy w pierwszym wymienionym trybie jest przedstawiona poniżej. 18

19 #include <lpc214x.h> int main(void) { unsigned val; PINSEL1 = 0x ; AD0CR = 0x ; while(1){ AD0CR = 0x ; do { val = AD0DR1; } while ((val & 0x ) == 0); val = (val >> 6) & 0x3FF); // przetwornik ADO kanal AIN0.1 // 10-bitow, 3MHz // uruchom przetwarzanie //czekanie na koniec przetwarzania //wyluskaj wynik } } 2.2. Interfejs SPI w mikrokontrolerze LPC2148 Mikrokontroler LPC2148 wyposażono w dwa interfejsy SPI (SPI0, SPI1) zgodne ze standardem Serial Peripherial Interface. Mogą one pracować jako master lub slave w pełnym dupleksie (full duplex), a przesyłane dane mają programowaną długość od 8 do 16 bitów. W ramach ćwiczenia laboratoryjnego do współpracy z mikrokontrolera z wyświetlaczem graficznym będzie wykorzystany interfejs SPI0. Na poniższym rysunku przedstawiono możliwe formaty 8-bitowych danych używanych podczas transmisji z wykorzystaniem sprzętowego interfejsu SPI mikrokontrolera LPC2148. Rys. 3. Możliwe formaty danych przesyłanych interfejsem SPI0 Format przesyłanych danych jest określany przez bity CPOL i CPHA rejestru SPI Control Register. 19

20 Warstwa fizyczna interfejsu jest zbudowana z czterech linii: SCK0, SSEL0, MISO0 i MOSI0. Przebieg zegarowy na linii SCK0 jest używany do synchronizacji przesyłania danych. Źródłem sygnału SCK jest zawsze układ master, natomiast slave jest zawsze odbiornikiem SCK. Linie danych MISO0, MOSI0 są jednokierunkowe. Linią MOSI0 są przesyłane dane z układu master do układu slave. Linia MISO0 jest przeznaczona do przesyłania danych z układu slave do układu master. Linia SSEL0 służy do detekcji aktywnego układu slave. Jeżeli do układu master trzeba dołączyć kilka układów slave, to musi on sterować dodatkową liczbą linii SSEL w zależności od tego ile jest układów slave. W trakcie transmisji może być aktywna tylko jedna linia SSEL. Linia P0.7 w LPC2148 zaprogramowana jako SSL0 w trybie slave, musi przejść w stan niski przed rozpoczęciem transferu danych i pozostawać w tym stanie do jego zakończenia. Jeżeli w trakcie transmisji danych SSEL0 przejdzie w stan wysoki, to układ slave przechodzi w stan idle i transmisja zostaje przerwana. Gdy moduł SPI mikrokontrolera jest ustawiony w tryb master, to jego linia SSEL (P0.7) może być zaprogramowana jako wyjściowa (w trybie GPIO) do sterowania SSEL układu slave. Tryb master Programowanie tego trybu należy zacząć od zaprogramowania licznika SPI Counter Register poprzez określenie prędkości transmisji. W tym rejestrze musi być ustawiony bit MSTR oraz podany format transmisji: długość słowa danych (bity BitEnable oraz BITS), kolejność wysyłania bitów (bit LBSF) oraz zależność pomiędzy danymi i fazą sygnału zegarowego (bity CPHA, CPOL). Zapisanie danych do rejestru SPI Data Register rozpoczyna transmisję. Po zakończeniu przesyłania danych jest ustawiany bit SPIF w rejestrze SPI Status Register. Można również odczytać dane odebrane z SPI Data Register w sytuacji, gdy są do odczytania. Bit SPIF jest zerowany po odczytaniu SPI Status Register i wpisaniu nowej danej do SPI Data Register. Tryb slave Praca w tym trybie jest możliwa po wyzerowaniu bitu MSTR w rejestrze SPI Control Register. Podobnie jak w trybie master trzeba ustawić format przesyłanych danych oraz zależność pomiędzy danymi i fazą sygnału zegarowego. Dane przeznaczone do układu master są wpisywane do SPI Data Register. Wpisywanie jest możliwe przy wyzerowanym bicie SPIF. Natomiast dane są gotowe do odczytania gdy bit SPIF zostanie ustawiony Wyświetlacz graficzny ze sterownikiem PCD8544 Wykorzystywany w ćwiczeniu wyświetlacz graficzny (rysunek 1) jest wyposażony w sterownik PCD8544 i jest stosowany między innymi w telefonach komórkowych Nokia 5110/3310. Rys. 4. Wykorzystywana płytka z wyświetlaczem graficznym - widok z przodu oraz z tyłu (źródło: dokumentacja modułu modlcd1, 20

21 Wyświetlacz jest przystosowany do stosowania w systemach zasilanych napięciem +3,3V. Matryca wyświetlacza ma wymiar 48 x 84 pikseli. W trybie graficznym można wyświetlić na niej 14 znaków w 6 liniach. Do sterowania matrycą LCD jest wykorzystywany sterownik PCD8544, którego schemat blokowy przedstawiono na poniższym rysunku. Rys. 5. Schemat blokowy sterownika PCD8544 Właściwości PCD8544: - sterownik matrycy monochromatycznej LCD 48 x 84 (48 wierszy, 84 kolumny) - wbudowana pamięć RAM 48 x 84 b (6 banków po 84 bajty) - wewnętrzny układ generowania napięcia zasilającego matrycę LCD - programowa regulacja kontrastu z programową kompensacją temperaturową - wbudowany wewnętrzny oscylator - szybki interfejs SPI (4 Mb/s) - napięcie zasilania układów logicznych (V dd ): 2,7...3,3 V - zakres temperatur pracy: o C - brak wbudowanego generatora znaków W sterowniku oprócz standardowych linii interfejsu SPI (SDIN dane wejściowe, SCLK linia zegarowa) znajdują się dodatkowe linie: - linia wybory układu SCE (odpowiednik chip select) - linia D/C wyboru przeznaczenia wysyłanych danych: pamięć RAM wyświetlacza rejestr danych ( D/C=1) lub rejestr sterujący ( D/C=0 ), - linia RES zerująca sterownik Transmisja rozpoczyna się od uaktywnienia linii SCE (stan niski). Dane z linii SDIN są wpisywane do rejestru sterownika przy narastającym zboczu zegara SCLK. Jest to istotna informacja, gdyż interfejsy SPI wbudowane w mikrokontrolery mogą pracować w kilku trybach. 21

22 Rys. 6. Przebiegi czasowe podczas przesyłania bajtu danych do wyświetlacza Rys. 7. Przebiegi czasowe podczas przesyłania kilku bajtów do wyświetlacza Po wpisaniu pojedynczego bajtu, sygnał SCE staje się nieaktywny. Sterownik akceptuje wpisywanie bloku bajtów z aktywnym SCE (bez konieczności przechodzenia w stan wysoki tej linii po każdym przesłanym bajcie). Przyspiesza to przesyłanie danych, ale może powodować przekłamania przy większych blokach i dużej prędkości transmisji. Każde opadające zbocze SCE synchronizuje transmisję i jeżeli pojawiają się problemy, to należy zastosować sterowanie tą linia w sposób pokazany na rysunku 3. Zawartość pamięci RAM sterownika PCD8544 można modyfikować poleceniami zapisywania danych w momencie gdy linia D/C jest w stanie wysokim. Pamięć obrazu jest zgrupowana w 6 banków po 84 bajty. Taka organizacja wymusza logiczny podział pola wyświetlacza na 6 wierszy po 84 kolumny. Wiersze są numerowane od 0 do 5, kolumny od 0 do 83. Rys. 8. Organizacja pamięci RAM w sterowniku PCD

23 Podczas wpisywania danej do pamięci należy określić miejsce, w którym banku (zmienna Y) zostanie ona zapisana, a następnie podać numer bajtu w wierszu (zmienna X). Zapisanie całego banku odpowiada wyświetleniu jednego wiersza wyświetlacza. Każdy bajt pamięci RAM jest wyświetlany jako pionowy pasek o wysokości 8 pikseli. Najwyżej położony piksel w pasku odpowiada najmniej znaczącemu bitowi, a najniżej położony piksel odpowiada najbardziej znaczącemu bitowi bajtu pamięci. W standardowym trybie wyświetlania ustawienie bitu w bajcie pamięci odpowiada zapaleniu piksela, zaś wyzerowanie zgaszeniu. Przy wpisywaniu bajtów do pamięci RAM sterownik wykonuje automatyczna inkrementację liczników wierszy i kolumn. Dostępne są dwa tryby automatycznego modyfikowania liczników: pionowy i poziomy. a) b) Rys. 9. Adresowanie pamięci obrazu: pionowe a), poziome b) Tryb pionowy po każdym zapisaniu bajtu do pamięci zwiększa się stan licznika wierszy. Po osiągnięciu maksymalnego numeru wiersza licznik wierszy jest zerowany a licznik kolumn jest zwiększany o jeden. Wysłanie 6 bajtów 0xFF rozpoczynając od wiersza zerowego spowoduje wyświetlenie w pierwszej z lewej kolumny wyświetlacza pionowego paska przez całą wysokość wyświetlacza. Tryb adresowania pionowego jest stosowany przy wpisywaniu pełnoekranowej bitmapy. Tryb poziomy po zapisaniu każdego bajtu jest zwiększany licznik kolumn. Po osiągnięciu maksymalnego numeru kolumny licznik kolumn jest zerowany a licznik wierszy zwiększany o jeden. Tryb adresowania poziomego jest stosowany do wyświetlania tekstu. Tryby adresowania można dowolnie przełączać w trakcie normalnej pracy wyświetlacza i nie ma to żadnego wpływu na prezentowana informację. Sterownik PCD8544 akceptuje dwa zestawy komend: standardowy i rozszerzony. Zestawienie komend oraz funkcje bitów znajdują się w poniższych tabelach. 23

24 Tab. 1. Komendy obsługiwane przez sterownik PCD8544 Komenda Function Set jest przeznaczona do ustawiania wyświetlacza w tryb obniżonego poboru energii, sposobu adresowania pamięci RAM i ustawianiu zestawu komend (normalny/rozszerzony). Komenda Set Vop jest przeznaczona do ustawiania kontrastu wyświetlacza, który zależy od napięcia zasilającego matrycę LCD. Można ustawić 128 wartości. Użyteczny zakres wynosi Komenda Temperature Control umożliwia ustawienie jednej z czterech predefiniowanych charakterystyk kompensacji temperaturowej kontrastu. Do większości zastosowań można stosować współczynnik 2 (TC = 1, TC0 = 0), zaś Bias jest zwykle równy 3. Tab. 2. Funkcje bitów 24

25 Po włączeniu zasilania sterownik PCD8544 wymaga sprzętowego zerowania. Odbywa się to poprzez wymuszenie stanu niskiego na wyprowadzeniu RES przez minimum 100 ns. Ten stan musi wystąpić najpóźniej po 30 ms od włączenia zasilania. Niespełnienie tego warunku grozi uszkodzeniem matrycy wyświetlacza Obroty obrazu Jedną z często spotykanych funkcji w konsumenckich urządzeniach przenośnych jest możliwość obrotu obrazu w zależności od położenia urządzenia. Taki element można między innymi zrealizować za pomocą 6-kierunkowego czujnika położenia FC30. Jest czujnik MEMS, którego rozkład wyprowadzeń jest pokazany na poniższym rysunku. Rys. 10. Widok układu FC30 oraz opis wyprowadzeń Czujnik może być zasilany napięciem z przedziału V. Komunikacja z układem nie wymaga zastosowania żadnego protokołu. W zależności od położenia na wyprowadzeniach PC, LC, SIGN pojawiają się odpowiednie stany logiczne. Kombinacja tych stanów określa jedną z sześciu pozycji. 25

26 Rys. 11. Położenia czujnika FC30 Rys. 12. Stan sygnałów w zależności od orientacji czujnika FC30 3. Stanowisko laboratoryjne 1. Komputer PC z zainstalowanym programem narzędziowym Keil uvision3 oraz programem ładującym Flash Magic. 2. Zestaw uruchomieniowy ZL9ARM z modułem diparm z mikrokontrolerem LPC2148, graficznym wyświetlaczem LCD oraz modułem z czujnikiem położenia FC30. 26

27 4. Przebieg ćwiczenia Ćwiczenie jest planowane jako 4-godzinne i obejmuje: 1. Połączenie zestawu uruchomieniowego z komputerem PC za pomocą łącza RS-232. W zestawie ZL9ARM korzystamy z gniazda UART0. 2. Zapoznanie się z przykładowym programem realizującym obsługę wyświetlacza graficznego w trybie tekstowym i graficznym. Podłączenie mikrokontrolera LPC2148 z wyświetlaczem należy zrealizować według schematu: LPC2148 P0.4 P0.6 P0.8 P0.9 P ,3V + 3,3V 8 - LED 7 - SCLK 6 - SDIN 5 - D /C 4 - SCE 3 - RST 2 - GND 1 - VCC Moduł z wyświetlaczem musi być zasilany napięciem 3.3V. Podłączenie napięcia 5V może trwale uszkodzić moduł. 3. Konfigurację przetwornika ADC do pomiaru napięcia zadawanego za pomocą potencjometru umieszczonego na płytce uruchomieniowej. Wynik pomiaru powinien być widoczny na wyświetlaczu wraz z dodatkową grafiką. 4. Przygotowanie programu realizującego obroty obrazu (np. ramka, sześcian) zgodnie z aktualną orientacją czujnika położenia FC30. Moduł z czujnikiem musi być zasilany napięciem 3.3V. Podłączenie napięcia 5V może trwale uszkodzić moduł. Szczegóły odnośnie programów ustala prowadzący ćwiczenie. Wynikiem pracy grupy laboratoryjne są programy na mikrokontroler LPC2148. Wnioski i spostrzeżenia jakie nasunęły się podczas wykonywania ćwiczenia należy zamieścić w sprawozdaniu. 5. Wymagania BHP Warunkiem przystąpienia do realizacji ćwiczenia jest zapoznanie się z obowiązującą w laboratorium instrukcją BHP oraz przestrzeganie zasad w niej zawartych. Konieczne jest także zapoznanie z ogólnymi zasadami pracy przy stanowisku komputerowym. Instrukcje BHP powinny być podane studentom podczas pierwszych zajęć laboratoryjnych i dostępne do wglądu w laboratorium. 27

28 6. Sprawozdanie studenckie Sprawozdanie powinno zawierać: cel i zakres ćwiczenia, opis stanowiska badawczego, opis przebiegu ćwiczenia z wyszczególnieniem wykonywanych czynności, listing opracowanego programu komentarze i wnioski 28

29 Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do zajęć laboratoryjnych Numer ćwiczenia: 3 Temat: Komunikacja z wykorzystaniem interfejsu USB Laboratorium z przedmiotu: Systemy wbudowane Kod: ES2C Elektrotechnika studia stacjonarne II stopnia, sem. II specjalność Automatyka Przemysłowa i Technika Mikroprocesorowa Opracował dr inż. Rafał Kociszewski Białystok

30 1. Cel ćwiczenia Zapoznanie się z podstawami komunikacji komputera PC z mikrokontrolerem LPC2148 za pomocą klasy HID interfejsu USB. 2. Wprowadzenie Interfejs USB (Universal Serial Bus) od pewnego czasu stał się jednym z podstawowych łączy szeregowych komputerów osobistych i przenośnych, zastępując wiele tradycyjnych portów standardowych i specjalizowanych. Jako łącze oferujące kilka rodzajów przekazywania danych (4 typy transferów) i szybkości transmisji, pozwala na podłączanie do komputera urządzeń peryferyjnych o różnych wymaganiach komunikacyjnych i sposobie obsługi. USB został zaprojektowany tak, aby każdy użytkownik komputera mógł z niego łatwo korzystać. Wykrywanie urządzenia w systemie, jego konfiguracja oraz instalacja sterowników urządzenia odbywają się automatycznie. Ze względu na dużą liczbę i zróżnicowanie pod względem zastosowań, urządzenia USB zostały pogrupowane w bardzo ogólne klasy. Podział ten jest oparty o wymogi dotyczące wymiany danych oraz zastosowanie. Przykładowo, klasa Audio jest tworzona przez urządzenia wymagające izochronicznej transmisji danych. W przypadku urządzeń zaliczanych do klasy HID, wymagania dotyczące transferu danych są znacznie mniejsze. Jeżeli urządzenia USB nie można zaklasyfikować do żadnej z istniejących klas, należy zdefiniować wtedy nową, odpowiednią do tego urządzenia klasę oraz stworzyć do niej sterownik. Wszystko musi się odbyć w zgodzie ze specyfikacją USB. Każde urządzenie USB musi przynależeć przynajmniej do jednej klasy. Tak, to nie błąd. Może należeć do kilku klas jednocześnie. Przykładem jest słuchawka telefonu podłączana do portu USB. Posiada ona właściwości zarówno urządzeń klasy HID, Audio oraz Telephony. Klasa HID jest jedną z klas urządzeń zdefiniowanych w standardzie USB. Do klasy HID zaliczane są urządzenia służące głównie do wprowadzania danych do systemu komputerowego. Do tej klasy urządzeń USB należą: klawiatury, myszki, przełączniki, przyciski, suwaki, joysticki, kierownice, pady, czytniki kodów kreskowych, termometry, itp. Urządzenie klasy HID komunikuje się ze sterownikiem klasy HID domyślnie przy pomocy potoku kontrolnego (Control pipe). Dodatkowo, do komunikacji można zdefiniować potok przerwaniowy (Interrupt pipe). Wykorzystanie w komunikacji potoku przerwaniowego spowoduje, że raporty od hosta USB do urządzenia USB będą przesyłane właśnie tym potokiem. Jeżeli nie zostanie zdefiniowany, wtedy raporty wychodzące (Output Reports) będą przesyłane potokiem kontrolnym przy pomocy żądania Set_Report(Output). Potok kontrolny jest wykorzystywany do: - odbierania i odpowiadania na zapytania dotyczące parametrów transmisji oraz typu podłączonego urządzenia; - transmisji danych z urządzenia USB w przypadku otrzymania żądania takiej transmisji (żądanie Get_Report) od sterownika USB; - przesyłania danych przez hosta USB do urządzenia USB. Potok przerwaniowy jest używany do: - przesyłania przez urządzenie USB do hosta USB danych asynchronicznych (czyli nie zostało wysłane do urządzenia USB żądanie Get_Report); 30

31 - transmisji danych, które muszą być przesłane z jak najmniejszym opóźnieniem, do urządzenia USB. Aby urządzenie USB było rozpoznawanie jako urządzenie klasy HID, niezbędne jest zdefiniowanie deskryptora HID. W deskryptorze urządzenia klasy HID jest zdefiniowana obecność i rozmiar innych deskryptorów, które dookreślają cechy urządzenia HID. Najczęściej definiowanymi dodatkowo deskryptorami są: Report descriptor - opisuje sposób organizacji przesyłanych danych, ich ilość oraz czego one dotyczą. Przykładowo może on opisywać pozycję kontrolera, albo stan przycisku. W nim są zawarte informacje na temat, tego czy pozycja kontrolera powinna zostać odbierana przez API myszki, czy też API joystika; Physical descriptor - zawiera informacje na temat części, która manipuluje urządzeniem HID. Deskryptory służące do opisu urządzeń należących do klasy HID można podzielić na dwie kategorie. Pierwsza z nich to deskryptory opisujące standardowe urządzenie USB: Device descriptor zawiera podstawowe informacje na temat urządzenia USB, np. klasa urządzenia USB, subklasa urządzenia USB, identyfikator producenta ( VID ), identyfikator produktu ( PID ), wersja; Configuration descriptor zawiera informacje na temat konfiguracji urządzenia USB (np. sposobu zasilania, maksymalnego poboru prądu), oraz ilości wykorzystywanych przez nie interfejsów. Każdy ze zdefiniowanych interfejsów może działać niezależnie; Interface descriptor zawiera informacje na temat konkretnego interfejsu wykorzystywanego przez urządzenie USB, tj jego klasy i subklasy, rodzaju protokołu, oraz ilości wykorzystywanych endpoint'ów; Endpoint descriptor zawiera informacje na temat konkretnego endpoint'u, tj. jego numeru, kierunku przesyłanych danych, typu, maksymalnego rozmiaru pakietu jaki może zostać przez niego wysłany bądź odebrany; String descriptor zawiera etykiety tekstowe, opisujące poszczególne pola i kolekcje danych. Ten deskryptor jest opcjonalny. Drugą kategorię tworzą deskryptory dedykowane klasie HID: HID descriptor definiuje informacje charakterystyczne dla urządzenia HID, oraz typ i rozmiar deskryptorów podrzędnych, tj. Report descriptor'a, oraz Phisical descriptor'a; Report descriptor zawiera informacje na temat przesyłanych raportów, m.in. typu, rozmiaru, zakresu wartości; Phisical descriptor zawiera informacje na temat części ciała człowieka, która jest odpowiedzialna za interakcje z urządzeniem klasy HID Ten deskryptor jest opcjonalny. Device descriptor dostarcza ogólnych informacji na temat urządzenia USB oraz jego konfiguracji. Urządzenie USB może posiadać tylko jeden Device descriptor. Jeżeli urządzenie USB zgodne ze specyfikacją USB 2.0 ( High Speed ) ma być również kompatybilne ze specyfikacją USB 1.1 ( Full Speed ), może okazać się konieczne (ale nie musi) zdefiniowanie dla trybu wolniejszego ( Full Speed ) odmiennych informacji na jego temat. Realizowane jest to poprzez zdefiniowanie deskryptora Device_qualifier descriptor. 31

32 Configuration descriptor dostarcza informacji na temat konfiguracji urządzenia USB. Urządzenie USB może posiadać kilka takich deskryptorów. W celu ich rozróżnienia każdy Configuration descriptor posiada przypisany mu unikalny indeks. Może przyjąć jedną z wartości z przedziału od 0 do N-1, gdzie N to liczba zdefiniowanych dla urządzenia USB Configuration descriptor'ów. Indeks deskryptora jest przechowywany przez pole bconfigurationvalue. W każdym Configuration descriptor'rze zapisana jest liczba interfejsów (opisywanych przez Interface descriptor'y; musi być zdefiniowany przynajmniej jeden Interface descriptor ) wykorzystywanych w danej konfiguracji. Każdy z interfejsów może działać niezależnie. W przypadku zapytania hosta USB o Configuration descriptor, urządzenie USB musi odesłać w odpowiedzi oprócz Configuration descriptor'a wszystkie powiązane z nim Interface descriptor'y, Endpoint descriptor'y oraz deskryptory charakterystyczne dla danej klas urządzenia USB, bądź producenta. Interface descriptor służy do opisania konkretnego interfejsu wykorzystywanego w danej konfiguracji urządzenia USB. W skład każdej z konfiguracji musi wchodzić przynajmniej jeden interfejs, z kolei Interface descriptor zawiera informacje na temat ilości endpoint'ów, wykorzystywanych przez dany interfejs. Każdy interfejs może wykorzystywać jeden, bądź kilka niezależnych endpoint'ów. Interface descriptor'y są wysyłane do hosta USB jako część odpowiedzi na zapytanie o konkretną konfigurację urządzenia USB (są więc integralną częścią odpowiedniego Configuration descriptor'a ). Każdy endpoint, za wyjątkiem 0 (zwanego też kontrolnym), wykorzystywany przez interfejs USB posiada swój własny deskryptor. Deskryptory endpoint'ów zawsze są zwracane jako część odpowiedzi na zapytanie hosta USB - GetDescriptor(Configuration). W standardzie USB nie ma zdefiniowanego zapytania o Endpoint descriptor'a. Standardowy Endpoint descriptor dostarcza informacji na temat adresu definiowanego endpoint'a, typu transmisji, rodzaju synchronizacji przesyłania danych, przeznaczenia. Adres definiowanego endpoint'u przechowywany jest przez pole bendpointaddress. Jest on zbudowany z numeru logicznego endpoint'a, który jest zakodowany na 4 najmłodszych bitach oraz flagi definiującej kierunek wymiany danych. Za określenie kierunku przepływu informacji odpowiada najstarszy bit. Ustawienie go na 1 informuje że dane są wysyłane przez endpoint'a do hosta USB. Jest on więc dla hosta USB endpoint'em wejściowym, tzw. IN endpoint. W przypadku wyzerowania flagi kierunku, dane wysyłane są przez hosta USB i odbierane przez definiowany endpoint. Flaga kierunku transmisji jest ignorowana dla endpoint'ów kontrolnych. HID descriptor jest charakterystyczny dla urządzeń typu HID. Jego głównym zadaniem jest określenie typów oraz rozmiarów deskryptorów podrzędnych (mianowicie Report descriptor'a oraz Physical descriptor'a). W odróżnieniu od pozostałych deskryptorów, Report descriptor nie ma struktury tabeli zawierającej ściśle określone pola. Nie można więc określić rozmiaru standardowego Report descriptor'a, ponieważ takowy nie istnieje. Zarówno zawartość jak i rozmiar tego deskryptora zależą od struktury raportów, którymi będą przesyłane dane z/do urządzenia typu HID. 32

33 Podstawową jednostką opisującą transmitowane dane jest Item. Zbiór item'ów tworzy natomiast Report descriptor'a. Report descriptor dostarcza informacji na temat transmitowanych danych. Dzięki tym informacją host USB może określić sposób obsługi danych oraz w jaki sposób powinny zostać użyte. Mikrokontroler LPC2148 jest wyposażony w kontroler USB zgodny ze specyfikacją 2.0 Full speed. Kontroler posiada 2 kb podręcznej pamięci RAM (przeznaczonej na bufory Endopointów USB) oraz dodatkowo 8 kb RAM-u wykorzystywanego przy pomocy mechanizmu DMA. Kontroler urządzenia USB w LPC2148 posiada pięć wyprowadzeń: D+ oraz D są właściwymi liniami transmisji danych USB, linia VBUS dostarcza kontrolerowi informacji o obecności napięcia 5 V (po stronie hosta), linia CONNECT oraz UP_LED dzielą jedno fizyczne wyprowadzenie. Rys. 1. Wyprowadzenia kontrolera USB w mikrokontrolerze LPC2148j. Linia CONNECT jest odpowiedzialna za funkcję miękkiego dołączania urządzenia do komputera nadrzędnego. Aby host rozpoczął proces enumeracji (negocjacji połączenia z urządzeniem) linia danych D+ musi być podciągnięta do napięcia zasilającego urządzenia poprzez rezystor 1,5 kω. W przeciwnym przypadku komputer nie zareaguje na fakt włożenia wtyczki do gniazda USB. Rozwiązanie to może być wykorzystane do zasymulowania przez urządzenie wyjęcia i włożenia wtyczki do gniazda hosta (a tym samym wymuszenie procesu enumeracji). Mechanizm ten jest wykorzystywany w przypadku, gdy urządzenie chciałoby zmienić swoją konfigurację USB lub nawet zmienić klasę, jaką eksponuje po podłączeniu do komputera. Jest to powszechnie stosowana praktyka np. w telefonach komórkowych, kiedy to telefon może służyć jako modem (klasa USB Communication Device Class), a po wybraniu odpowiedniej opcji z menu może być widoczny jako urządzenie składujące (Mass Storage). Przełączenie się z jednej klasy do drugiej może w tym przypadku nastąpić bez fizycznego odłączania urządzenia od hosta. Aplikacja dla komputera PC Wykorzystywana podczas zajęć laboratoryjnych aplikacja umożliwia zmianę stanu na liniach P P1.23. W zestawie uruchomieniowym do tych linii są podłączone diody LED. Efektem działania programu będzie zatem zapalanie/gaszenie diod. Oprogramowanie dla komputera PC jest dostępne w dwóch wersjach: napisane w środowisku Visual C++ (po stronie lewej) oraz w środowisku Delphi (po stronie prawej). 33

34 Rys. 2. Widok okna aplikacji dla komputera PC. Deskryptor urządzenia (Device Descriptor) zawiera takie informacje jak wersja standardu USB, numery identyfikujące producenta (Vendor) oraz urządzenie (Product). Te zostaną wykorzystane do połączenia się z urządzeniem USB z poziomu aplikacji uruchomionej na komputerze PC. Numerów tych w zasadzie nie należy modyfikować, gdyż VendorID (VID) jest nadawany członkom organizacji USB-IF ( Numer ProductID (PID) jest określany we własnym zakresie przez posiadacza numeru VID. Oczywiście do zastosowań prywatnych, czy też testów, można przypisać dowolne numery VID i PID, jednak absolutnie nie wolno tego robić w przypadku urządzeń wprowadzanych na rynek. W systemie może pracować kilka urządzeń o identycznych numerach VID i PID, więc nie ma potrzeby ich modyfikacji nawet, jeśli zamierzamy zbudować kilka urządzeń pełniących różne funkcje. Przy poprawnym podłączeniu płytki uruchomieniowej z załadowanym kodem wynikowym do LPC2148 w systemie Windows zostaną zainstalowane sterowniki testowanego urządzenia, które będzie widoczne w systemie jako: Human Interface Devices/HID-compilant device/ USB Human Interface Device. W aplikacji przygotowanej w Delphi w polach Vendor Name, Product Name, Serial Number oraz Interface pojawią się odpowiednio nazwy: NXP Semiconductors, Keil MCB2140 HID, DEMO, HID. 3. Stanowisko laboratoryjne Komputer PC z zainstalowanym programem narzędziowym Keil uvision3 oraz programem ładującym Flash Magic. Zestaw uruchomieniowy ZL9ARM z modułem diparm z mikrokontrolerem LPC2148 oraz wyświetlaczem LCD i klawiaturą matrycową 4x4. 4. Przebieg ćwiczenia Ćwiczenie jest planowane jako 2-godzinne i obejmuje: Połączenie zestawu uruchomieniowego z komputerem PC za pomocą łącza RS232. W płytce ZL9ARM korzystamy z gniazda UART0. Połączenie zestawu uruchomieniowego z komputerem PC za pomocą przewodu USB A/B. 34

35 W płytce ZL9ARM korzystamy z gniazda USB typu B. Zworki JP19 oraz JP20 należy ustawić w pozycji 1-2. W ten sposób linie D+ (DP) oraz D- (DM) zostaną podłączone do portów P0.26 i P0.27 mikrokontrolera LPC2148. Zapoznanie się z gotowym projektem wykorzystującą klasę HID interfejsu USB przygotowaną na mikrokontroler serii LPC214x. Kompilację projektu, wgranie pliku wynikowego.hex do pamięci Flash mikrokontrolera i podłączenie płytki bazowej do komputera PC, a następnie przetestowanie działania aplikacji. Dokonanie modyfikacji projektu zgodnie ze wskazówkami prowadzącego ćwiczenie. Wynikiem pracy grupy laboratoryjnej są programy na mikrokontroler LPC2148. Wnioski i spostrzeżenia jakie nasunęły się podczas wykonywania ćwiczenia należy zamieścić w sprawozdaniu. 5. Wymagania BHP Warunkiem przystąpienia do realizacji ćwiczenia jest zapoznanie się z obowiązującą w laboratorium instrukcją BHP oraz przestrzeganie zasad w niej zawartych. Konieczne jest także zapoznanie z ogólnymi zasadami pracy przy stanowisku komputerowym. Instrukcje BHP powinny być podane studentom podczas pierwszych zajęć laboratoryjnych i dostępne do wglądu w laboratorium. 6. Sprawozdanie studenckie Sprawozdanie powinno zawierać: cel i zakres ćwiczenia, opis stanowiska badawczego, opis przebiegu ćwiczenia z wyszczególnieniem wykonywanych czynności, algorytm oraz listing opracowanego programu komentarze i wnioski 35

36 Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do zajęć laboratoryjnych Numer ćwiczenia: 4 Temat: Bezprzewodowa transmisja danych z wykorzystaniem modułu Bluetooth Laboratorium z przedmiotu: Systemy wbudowane Kod: ES2C Elektrotechnika studia stacjonarne II stopnia, sem. II specjalność Automatyka Przemysłowa i Technika Mikroprocesorowa Opracował dr inż. Rafał Kociszewski Białystok

37 1. Cel ćwiczenia Zapoznanie się z konfiguracją i wykorzystaniem sprzętowych modułów UART oraz PWM zaimplementowanych w mikrokontrolerze LPC2148. Zapoznanie się z działaniem modułu Bluetooth BTM-222. Wykorzystanie modułu PWM do płynnego sterowania serwomechanizmem HS-422. Realizacja toru transmisji bezprzewodowej do zdalnego sterowania serwomechanizmem. 2. Wprowadzenie 2.1. Moduł UART Interfejsy szeregowe UART (Universal Asynchronous Receiver Transmitter) są standardowym wyposażeniem mikrokontrolerów rodziny LPC2000 i umożliwiają wymianę danych pomiędzy nadajnikiem i odbiornikiem za pomocą dwóch linii sygnałowych Tx i Rx oraz jednego przewodu łączącego potencjały odniesienia (masy). Na wyjściach linii transmisyjnych z mikrokontrolera występują poziomy logiczne zgodne ze standardem TTL-LV, czyli napięcia z zakresu V. W przypadku komunikacji za pomocą UART z urządzeniami zewnętrznymi (np. komputer PC) konieczne jest dodanie konwertera napięciowego (np. MAX3232, MAX232 rysunek 1) zgodnego ze standardem RS C1+ T1IN R1OUT T2IN R2OUT C2+ MAX232 3 C1- T1OUT 14 R1IN 13 T2OUT 7 R2IN 8 VS+ 2 VS- 6 C2-4 Rys. 1. Układ MAX232 5 Typowa ramka danych przesyłana przez UART i schemat blokowy interfejsu RS-232 jest pokazany na rysunku 2. Rys. 2. Ramka danych, poziomy napięcia oraz schemat blokowy interfejsu RS232. Mikrokontroler LPC2148 ma dwa niezależne sterowniki transmisji szeregowej UART0 i UART1. Do dalszego opisu wykorzystany będzie moduł UART0, którego struktura jest przedstawiona na poniższym rysunku. 37

38 Rys. 3. Struktura modułu UART0 Nowością wobec większości standardowych sterowników UART stosowanych w prostszych mikrokontrolerach jest obecność bufora FIFO o długości 16 bajtów, zarówno w nadajniku jak i odbiorniku. Rejestr U0RSR podczas odbierania danych jest wypełniany bit po bicie, na podstawie stanu linii RxD0. Gdy moduł UART0 otrzyma 8 bitów danych, wówczas skompletowany w rejestrze U0RSR bajt jest przekazywany do kolejki FIFO, w której przechowywany jest najwcześniej odebrany bajt. W przypadku, gdy w buforze wejściowym znajduje się więcej niż jeden bajt, odczyt rejestru U0RBR powoduje przesunięcie pozostałych bajtów znajdujących się w buforze tak, że drugi z kolei bajt trafia do U0RBR. Jeżeli rejestr ten nie zawiera nieodczytanego bajtu to bit 0 rejestru U0LSR ma wartość 0. Badanie stanu tego bitu pozwala stwierdzić, czy w buforze wejściowym znajduje się chociaż jeden nieoczytany bajt, który został odebrany przez łącze RS-232.Budowa bufora w nadajniku jest analogiczna. Przed wykorzystaniem modułu UART należy odpowiednio ustalić szybkość transmisji szeregowej. Dokonuje się tego za pomocą pary rejestrów U0DLM i U0DLL tworzących razem 16-bitową liczbę U0DLM:U0DLL. Zapis do tych rejestrów jest możliwy tylko wtedy, gdy bit nr 7 rejestru U0CLR ma wartość 1. Wpływ wartości tych rejestrów na szybkość transmisji jest następujący VPB clock BAUDRATE = 16 Divisor value przy czym: BAUDRATE uzyskana szybkość transmisji VPB clock częstotliwość taktowania układów peryferyjnych (ustalana za pomocą rejestru VPBDIV) Divisor value liczba 16-bitowa ustalana przez parę rejestrów U0DLM:U0DLL Mechanizm ustalania szybkości transmisji jest typowy i podobnie jak w przypadku większości mikrokontrolerów 8-bitowych dzielnik Divisor value musi być liczbą całkowitą. Powoduje to, że przy danej częstotliwości taktowania układów peryferyjnych (VPB clock) nie można w ogólnym przypadku uzyskać wszystkich żądanych szybkości transmisji. Są one obarczone pewnym błędem. 38

39 Przykładowa aplikacja wykorzystująca UART1 mikrokontrolera LPC2148 do wysyłania tekstu jest podana niżej. #include "lpc214x.h" #define baudrate // szybkosc transmisji #define baudratediv /(16*baudrate) // liczba przechowywana przez U1DLM i U1DLL [U0DLM:U1DLL] // odbior danych - jezeli bufor odbiorczy jest pusty // zwracamy 0 - chwilowo brak danych. W przeciwnym przypadku odczytujemy // dana i zwracamy jako wynik funkcji unsigned char uart1_recv(void) { if ((U1LSR & 0x01)==0) return 0; return U1RBR; // przechowuje najwczesniej odebrany bajt } // jezeli w RBR jest to kolejny odczytany powoduje // przesuniecie w kolejce wczesniejszego // wysyla 1 bajt void uart1_send_byte(unsigned char byte) { U1THR = byte; // przechowuje ostatnio zapisany bajt //w buforze nadawczym while(!(u1lsr & 0x20)); } // wysyla ciag znakow void uart1_send(const char *s) { while (*s) { uart1_send_byte(*s++); } } int main(void) { // konfiguracja (inicjalizacja) UART1; PINSEL0 = 0x ; // P0.8 - nadawanie TxD, P0.9 - odbieranie RxD U1FCR = 0x01; // rejest sterujacy bufora FIFO // ustawienie predkosci transmisji U1LCR = 0x80; U1DLL = baudratediv; U1DLM = 0; U1LCR = 0x03; // umozliwienie zapisu do U1DLM i U1DLL // wartosc [U1DLM:U1DLL] // 8 bitow danych, 1 bit stopu, bez kontroli parzystosci } while(1){ uart1_send("*** test UART1 ***\r\n"); } 39

40 2.3. Moduł PWM Mikrokontroler LPC2148 ma w swej strukturze sprzętowy moduł PWM, którego uproszczony schemat jest pokazany na poniższym rysunku. Rys. 4. Uproszczona struktura PWM mikrokontrolera LPC2148 Głównym elementem modułu PWM jest 32-bitowy układ licznikowy, który jest inkrementowany co PR+1 cykli magistrali VPB (PR jest wartością rejestru PWMPR, sterującego pracą preskalera). Aktualna wartość tego licznika jest przechowywana w rejestrze PWMTC. Licznik PWM współpracuje z zespołem przerzutników RS, służących do sterowania wyjściami PWM1...PWM6. Odpowiednie ustawianie i zerowanie tych przerzutników powoduje, że na tych wyjściach pojawiają się przebiegi PWM. Przerzutniki sterowane są za pomocą wewnętrznych sygnałów Match0...Match6, które są wytwarzane na podstawie porównania stanu licznika PWM (rejestru PWMTC) z wartościami rejestrów referencyjnych PWMMR0...PWMMR6. Aby zapobiec chwilowym zaburzeniom przebiegów PWM spowodowanych zapisaniem nowych danych do tych rejestrów każdy z nich wyposażono w rejestr zatrzaskowy Shadow Register. Nowa wartość każdego z rejestrów jest przepisywana do zatrzasku w momencie wystąpienia sygnału Match0. Aby mogło nastąpić zatrzaśnięcie, musi być zasygnalizowane wpisanie nowej wartości do jednego (lub kilku) z tych rejestrów. Odbywa się to poprzez ustawienie odpowiedniego bitu(lub kilku bitów) rejestru PWMLER. Od wartości rejestrów PWMMR1...PWMMR6 zależy wypełnienie generowanych przebiegów. Ich okres (taki sam dla wszystkich wyjść PWM) typowo jest zależny od wartości rejestru PWMMR0. Czasy trwania okresu i stanów wysokich poszczególnych przebiegów PWM wynoszą 1 PWMNRn ( PWMPR + 1) VPBfreq Moduł PWM mikrokontrolera LPC2148 może pracować w jednym z dwóch trybów wybieranych za pomocą bitów PWMSEL2...6 rejestru PWMPCR: Tryb kontroli położenia pojedynczego zbocza Sygnał Match0 powoduje ustawienie wszystkich przerzutników. Momenty wystąpienia sygnałów Match1...6 względem momentu zerowania licznika (za pomocą Match0) są zależne 40

41 od wartości rejestrów PWMMR W rezultacie na wszystkich aktywnych wyjściach PWM występują przebiegi prostokątne, których zbocze narastające występuje w tym samym momencie (Match0), położenie zbocza opadającego zaś jest indywidualnie kontrolowane za pomocą wartości rejestrów PWMPR Maksymalna liczba tak wytworzonych przebiegów wynosi 6. Rys. 5. Połączenie przerzutników RS w trybie kontroli położenia pojedynczego zbocza Przykładowa konfiguracja modułu PWM mikrokontrolera LPC2148 jest podana niżej. #include <lpc214x.h> #define Okres // wartosc wplywa na okres generowanego przebiegu #define Krok 10 // wartosc wplywa na wypelnienie int main (void) { // PINSEL - rejestr wyboru trybu pracy portu // wybrano kanal PWM5 PINSEL1 =(1<<10); // Zerowanie preskalera. PWMTC jest inkrementowany w kazdym cyklu magistrali VPB // Rozpoczecie zawsze od wartosci rownej zero PWMPR=0x00; // Odblokowanie wybranego kanalu PWM i ustawienie do pracy // w trybie kontroli pojedynczego zbocza PWMPCR=(1<<13); // PWMMRO - rejestr, w ktorym jest zawarty okres przebiegu // W trybie kontroli pojedynczego zbocza jest on taki sam dla // wszytskich aktywnych kanalow PWMMR0 = Okres; PWMMR5 = Okres/Krok; PWMMCR=0x02; //Reset PWMTC (licznika PWM) z PWMMR0 PWMLER=(1<<5); // Zatrzask dla wybranego kanalu PWM PWMTCR=0x02; // Reset PWMTC (licznika PWM) // Odblokowanie licznika, preskalera oraz odblokowanie modulu PWM } PWMTCR=0x09; 41

42 Tryb kontroli położenia obu zboczy Sygnał Match0 jest wykorzystany tylko do zerowania licznika PWM, sygnały Match1...6 sterują zaś parami momentami pojawienia się (względem momentu zerowania licznika) zarówno zboczy narastających jak i opadających. W tym trybie maksymalna liczba wytworzonych przebiegów PWM wynosi 3 (wyjścia PWM2, 4, 6). Rys. 6. Połączenie przerzutników RS w trybie kontroli położenia obu zboczy 2.4. Sterowanie serwomechanizmem Schemat blokowy serwomechanizmu jest pokazany na poniższym rysunku. Rys. 7. Schemat blokowy serwomechanizmu Silnik napędowy - silnik komutatorowy prądu stałego, pracujący w zakresie napięć od 4,8 do 6VDC. Pomimo niewielkich rozmiarów silnik taki wyróżnia się bardzo starannym wykonaniem i bardzo dużą sprawnością. Zastosowanie tego rodzaju silnika jest konieczne, ponieważ serwomechanizm musi pracować z dużą prędkością i jednocześnie wytwarzać duży moment obrotowy. 42

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

ZL9ARM płytka bazowa dla modułów diparm z mikrokontrolerami LPC213x/214x ZL9ARM płytka bazowa dla modułów diparm z mikrokontrolerami LPC213x/214x ZL9ARM Płytka bazowa dla modułów diparm z mikrokontrolerami LPC213x/214x 1 ZL9ARM to uniwersalna płyta bazowa dla modułów diparm

Bardziej szczegółowo

Komunikacja w mikrokontrolerach Laboratorium

Komunikacja w mikrokontrolerach Laboratorium Laboratorium Ćwiczenie 4 Magistrala SPI Program ćwiczenia: konfiguracja transmisji danych między mikrokontrolerem a cyfrowym czujnikiem oraz sterownikiem wyświetlaczy 7-segmentowych przy użyciu magistrali

Bardziej szczegółowo

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

ZL8AVR. Płyta bazowa dla modułów dipavr ZL8AVR Płyta bazowa dla modułów dipavr Zestaw ZL8AVR to płyta bazowa dla modułów dipavr (np. ZL7AVR z mikrokontrolerem ATmega128 lub ZL12AVR z mikrokontrolerem ATmega16. Wyposażono ją w wiele klasycznych

Bardziej szczegółowo

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

ZL6ARM Zestaw uruchomieniowy dla mikrokontrolerów LPC213x. Tab. 1. Zestawienie najważniejszych parametrów wybranych mikrokontrolerów z rodziny LPC213x ZL6ARM Zestaw uruchomieniowy dla mikrokontrolerów LPC213x (rdzeń ARM7TMDI-S) Kompatybilny z zestawem MCB2130 firmy Keil! Zestaw ZL6ARM opracowano z myślą o elektronikach chcących szybko zaznajomić się

Bardziej szczegółowo

dokument DOK 02-05-12 wersja 1.0 www.arskam.com

dokument DOK 02-05-12 wersja 1.0 www.arskam.com ARS3-RA v.1.0 mikro kod sterownika 8 Linii I/O ze zdalną transmisją kanałem radiowym lub poprzez port UART. Kod przeznaczony dla sprzętu opartego o projekt referencyjny DOK 01-05-12. Opis programowania

Bardziej szczegółowo

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

Tab. 1. Zestawienie najważniejszych parametrów wybranych mikrokontrolerów z rodziny LPC2100, które można zastosować w zestawie ZL3ARM. ZL3ARM płytka bazowa dla modułu diparm_2106 (ZL4ARM) ZL3ARM Płytka bazowa dla modułu diparm_2106 Płytkę bazową ZL3ARM opracowano z myślą o elektronikach chcących szybko poznać mozliwości mikrokontrolerów

Bardziej szczegółowo

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

ZL25ARM. Płyta bazowa dla modułów diparm z mikrokontrolerami STR912. [rdzeń ARM966E-S] ZL25ARM Płyta bazowa dla modułów diparm z mikrokontrolerami STR912 [rdzeń ARM966E-S] ZL25ARM to płyta bazowa umożliwiająca wykonywanie różnorodnych eksperymentów z mikrokontrolerami STR912 (ARM966E-S).

Bardziej szczegółowo

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107 Zestaw uruchomieniowy dla mikrokontrolerów STM32F107 STM32Butterfly2 Zestaw STM32Butterfly2 jest platformą sprzętową pozwalającą poznać i przetestować możliwości mikrokontrolerów z rodziny STM32 Connectivity

Bardziej szczegółowo

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

ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S) ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S) ZL2ARM Zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S) 1 Zestaw ZL2ARM opracowano z myślą

Bardziej szczegółowo

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1.

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1. Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1 PAMIĘCI SZEREGOWE EEPROM Ćwiczenie 3 Opracował: dr inŝ.

Bardziej szczegółowo

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32 ZL15AVR Zestaw uruchomieniowy dla mikrokontrolerów ATmega32 ZL15AVR jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerów ATmega32 (oraz innych w obudowie 40-wyprowadzeniowej). Dzięki wyposażeniu

Bardziej szczegółowo

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

ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S) ZL2ARM Zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S) 1 Zestaw ZL2ARM opracowano z myślą o elektronikach chcących szybko zaznajomić się z mikrokontrolerami z rdzeniem ARM7TDMI-S.

Bardziej szczegółowo

ZL29ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

ZL29ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107 ZL29ARM Zestaw uruchomieniowy dla mikrokontrolerów STM32F107 Zestaw ZL29ARM jest platformą sprzętową pozwalającą poznać i przetestować możliwości mikrokontrolerów z rodziny STM32 Connectivity Line (STM32F107).

Bardziej szczegółowo

ZL9AVR. Płyta bazowa dla modułów ZL7AVR (ATmega128) i ZL1ETH (RTL8019)

ZL9AVR. Płyta bazowa dla modułów ZL7AVR (ATmega128) i ZL1ETH (RTL8019) ZL9AVR Płyta bazowa dla modułów ZL7AVR (ATmega128) i ZL1ETH (RTL8019) ZL9AVR to płyta bazowa umożliwiająca wykonywanie różnorodnych eksperymentów związanych z zastosowaniem mikrokontrolerów AVR w aplikacjach

Bardziej szczegółowo

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie: Zaliczenie Termin zaliczenia: 14.06.2007 Sala IE 415 Termin poprawkowy: >18.06.2007 (informacja na stronie: http://neo.dmcs.p.lodz.pl/tm/index.html) 1 Współpraca procesora z urządzeniami peryferyjnymi

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 10 (3h) Implementacja interfejsu SPI w strukturze programowalnej Instrukcja pomocnicza do laboratorium z przedmiotu

Bardziej szczegółowo

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych Dodatek A Wyświetlacz LCD. Przeznaczenie i ogólna charakterystyka Wyświetlacz ciekłokrystaliczny HY-62F4 zastosowany w ćwiczeniu jest wyświetlaczem matrycowym zawierającym moduł kontrolera i układ wykonawczy

Bardziej szczegółowo

ZL11ARM. Uniwersalna płytka bazowa dla modułów diparm

ZL11ARM. Uniwersalna płytka bazowa dla modułów diparm ZL11ARM Uniwersalna płytka bazowa dla modułów diparm ZL11ARM to uniwersalna płyta bazowa dla modułów diparm (np. ZL12ARM i ZL19ARM) z mikrokontrolerami wyposażonymi w rdzenie ARM produkowanymi przez różnych

Bardziej szczegółowo

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

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

Bardziej szczegółowo

ZL27ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

ZL27ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103 ZL27ARM Zestaw uruchomieniowy dla mikrokontrolerów STM32F103 Zestaw ZL27ARM jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerów STM32F103. Dzięki wyposażeniu w szeroką gamę zaawansowanych układów

Bardziej szczegółowo

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

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33 Spis treści 3 1. Wprowadzenie...11 1.1. Wstęp...12 1.2. Mikrokontrolery rodziny ARM...13 1.3. Architektura rdzenia ARM Cortex-M3...15 1.3.1. Najważniejsze cechy architektury Cortex-M3... 15 1.3.2. Rejestry

Bardziej szczegółowo

Mikroprocesory i Mikrosterowniki Laboratorium

Mikroprocesory i Mikrosterowniki Laboratorium Laboratorium Ćwiczenie 4 Magistrala SPI Program ćwiczenia: konfiguracja transmisji danych między mikrokontrolerem a cyfrowym czujnikiem oraz sterownikiem wyświetlaczy 7-segmentowych przy użyciu magistrali

Bardziej szczegółowo

Programowanie Mikrokontrolerów

Programowanie Mikrokontrolerów Programowanie Mikrokontrolerów Wyświetlacz alfanumeryczny oparty na sterowniku Hitachi HD44780. mgr inż. Paweł Poryzała Zakład Elektroniki Medycznej Alfanumeryczny wyświetlacz LCD Wyświetlacz LCD zagadnienia:

Bardziej szczegółowo

MultiTool instrukcja użytkownika 2010 SFAR

MultiTool instrukcja użytkownika 2010 SFAR MultiTool instrukcja użytkownika 2010 SFAR Tytuł dokumentu: MultiTool instrukcja użytkownika Wersja dokumentu: V1.0 Data: 21.06.2010 Wersja urządzenia którego dotyczy dokumentacja: MultiTool ver. 1.00

Bardziej szczegółowo

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC ZL28ARM Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC Zestaw ZL28ARM jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerów AT91SAM7XC. Dzięki wyposażeniu w szeroką gamę układów peryferyjnych

Bardziej szczegółowo

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

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy: LITEcompLPC1114 Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Bezpłatny zestaw dla Czytelników książki Mikrokontrolery LPC1100. Pierwsze kroki LITEcompLPC1114 jest doskonałą platformą mikrokontrolerową

Bardziej szczegółowo

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

Wbudowane układy komunikacyjne cz. 1 Wykład 10 Wbudowane układy komunikacyjne cz. 1 Wykład 10 Wbudowane układy komunikacyjne UWAGA Nazwy rejestrów i bitów, ich lokalizacja itd. odnoszą się do mikrokontrolera ATmega32 i mogą być inne w innych modelach!

Bardziej szczegółowo

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

ZL16AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega8/48/88/168 ZL16AVR Zestaw uruchomieniowy dla mikrokontrolerów ATmega8/48/88/168 ZL16AVR jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerówavr w obudowie 28-wyprowadzeniowej (ATmega8/48/88/168). Dzięki

Bardziej szczegółowo

ZL5PIC. Zestaw uruchomieniowy dla mikrokontrolerów PIC16F887

ZL5PIC. Zestaw uruchomieniowy dla mikrokontrolerów PIC16F887 ZL5PIC Zestaw uruchomieniowy dla mikrokontrolerów PIC16F887 ZL5PIC jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerów PIC16F887 (oraz innych w obudowie 40-wyprowadzeniowej). Dzięki wyposażeniu

Bardziej szczegółowo

Wstęp...9. 1. Architektura... 13

Wstęp...9. 1. Architektura... 13 Spis treści 3 Wstęp...9 1. Architektura... 13 1.1. Schemat blokowy...14 1.2. Pamięć programu...15 1.3. Cykl maszynowy...16 1.4. Licznik rozkazów...17 1.5. Stos...18 1.6. Modyfikowanie i odtwarzanie zawartości

Bardziej szczegółowo

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32 ZL15AVR Zestaw uruchomieniowy dla mikrokontrolerów ATmega32 ZL15AVR jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerów ATmega32 (oraz innych w obudowie 40-wyprowadzeniowej). Dzięki wyposażeniu

Bardziej szczegółowo

Szkolenia specjalistyczne

Szkolenia specjalistyczne Szkolenia specjalistyczne AGENDA Programowanie mikrokontrolerów w języku C na przykładzie STM32F103ZE z rdzeniem Cortex-M3 GRYFTEC Embedded Systems ul. Niedziałkowskiego 24 71-410 Szczecin info@gryftec.com

Bardziej szczegółowo

MOBOT-RCR v2 miniaturowe moduły radiowe Bezprzewodowa transmisja UART

MOBOT-RCR v2 miniaturowe moduły radiowe Bezprzewodowa transmisja UART MOBOT-RCR v2 miniaturowe moduły radiowe Bezprzewodowa transmisja UART Własności MOBOT-RCR v2a: - pasmo komunikacji: ISM 433MHz lub 868MHz - zasięg 50m 300m * - zasilanie: z USB, - interfejs wyjściowy:

Bardziej szczegółowo

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC ZL4PIC uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC (v.1.0) ZL4PIC Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC 1 Zestaw jest przeznaczony dla elektroników zajmujących się aplikacjami

Bardziej szczegółowo

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2 LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2 1. Cel ćwiczenia Celem ćwiczenia jest pokazanie budowy systemów opartych na układach Arduino. W tej części nauczymy się podłączać różne czujników,

Bardziej szczegółowo

Politechnika Wrocławska

Politechnika Wrocławska Politechnika Wrocławska Instytut Cybernetyki Technicznej Wizualizacja Danych Sensorycznych Projekt Kompas Elektroniczny Prowadzący: dr inż. Bogdan Kreczmer Wykonali: Tomasz Salamon Paweł Chojnowski Wrocław,

Bardziej szczegółowo

Technika Mikroprocesorowa

Technika Mikroprocesorowa Technika Mikroprocesorowa Dariusz Makowski Katedra Mikroelektroniki i Technik Informatycznych tel. 631 2648 dmakow@dmcs.pl http://neo.dmcs.p.lodz.pl/tm 1 System mikroprocesorowy? (1) Magistrala adresowa

Bardziej szczegółowo

TECHNIKA MIKROPROCESOROWA II

TECHNIKA MIKROPROCESOROWA II Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Wydział IEiT Katedra Elektroniki TECHNIKA MIKROPROCESOROWA II LAB 6 Moduł UART - współpraca z komputerem poprzez BlueTooth Mariusz Sokołowski

Bardziej szczegółowo

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 Dane techniczne : Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 a) wielkość bufora znaków (DD RAM): 80 znaków (80 bajtów) b) możliwość sterowania (czyli podawania kodów znaków) za pomocą

Bardziej szczegółowo

Instrukcja do oprogramowania ENAP DEC-1

Instrukcja do oprogramowania ENAP DEC-1 Instrukcja do oprogramowania ENAP DEC-1 Do urządzenia DEC-1 dołączone jest oprogramowanie umożliwiające konfigurację urządzenia, rejestrację zdarzeń oraz wizualizację pracy urządzenia oraz poszczególnych

Bardziej szczegółowo

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

Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r. Sprawozdanie z projektu MARM Część druga Specyfikacja końcowa Prowadzący: dr. Mariusz Suchenek Autor: Dawid Kołcz Data: 01.02.16r. 1. Temat pracy: Układ diagnozujący układ tworzony jako praca magisterska.

Bardziej szczegółowo

2. Architektura mikrokontrolerów PIC16F8x... 13

2. Architektura mikrokontrolerów PIC16F8x... 13 Spis treści 3 Spis treœci 1. Informacje wstępne... 9 2. Architektura mikrokontrolerów PIC16F8x... 13 2.1. Budowa wewnętrzna mikrokontrolerów PIC16F8x... 14 2.2. Napięcie zasilania... 17 2.3. Generator

Bardziej szczegółowo

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107 Zestaw uruchomieniowy dla mikrokontrolerów STM32F107 STM32 Butterfly Zestaw STM32 Butterfly jest platformą sprzętową pozwalającą poznać i przetestować możliwości mikrokontrolerów z rodziny STM32 Connectivity

Bardziej szczegółowo

ZL30ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

ZL30ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103 ZL30ARM Zestaw uruchomieniowy dla mikrokontrolerów STM32F103 Zestaw ZL30ARM jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerów STM32F103. Dzięki wyposażeniu w szeroką gamę układów peryferyjnych

Bardziej szczegółowo

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP ZL32ARM ZL32ARM z mikrokontrolerem LPC1114 (rdzeń Cotrex-M0) dzięki wbudowanemu programatorowi jest kompletnym zestawem uruchomieniowym.

Bardziej szczegółowo

Kod produktu: MP01105

Kod produktu: MP01105 MODUŁ INTERFEJSU KONTROLNO-POMIAROWEGO DLA MODUŁÓW Urządzenie stanowi bardzo łatwy do zastosowania gotowy interfejs kontrolno-pomiarowy do podłączenia modułów takich jak czujniki temperatury, moduły przekaźnikowe,

Bardziej szczegółowo

ZL2AVR. Zestaw uruchomieniowy z mikrokontrolerem ATmega8

ZL2AVR. Zestaw uruchomieniowy z mikrokontrolerem ATmega8 ZL2AVR Zestaw uruchomieniowy z mikrokontrolerem ATmega8 ZL2AVR jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerów ATmega8 (oraz innych w obudowie 28-wyprowadzeniowej). Dzięki wyposażeniu w

Bardziej szczegółowo

Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów AVR

Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów AVR Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów AVR ZL10AVR Zestaw ZL10AVR umożliwia wszechstronne przetestowanie aplikacji wykonanych z wykorzystaniem mikrokontrolerów z rodziny AVR (ATtiny, ATmega,

Bardziej szczegółowo

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy. SigmaDSP jest niedrogim zestawem uruchomieniowym dla procesora DSP ADAU1701 z rodziny SigmaDSP firmy Analog Devices, który wraz z programatorem USBi i darmowym środowiskiem

Bardziej szczegółowo

PRUS. projekt dokumentacja końcowa

PRUS. projekt dokumentacja końcowa Adrian Antoniewicz Marcin Dudek Mateusz Manowiecki 17.01.2007 PRUS projekt dokumentacja końcowa Temat: Układ zdalnego sterowania (za pomocą interfejsu RS-232) wyświetlaczem LCD. Spis treści: 1. 2. 3. 4.

Bardziej szczegółowo

Interfejsy komunikacyjne pomiary sygnałów losowych i pseudolosowych. Instrukcja do ćwiczenia laboratoryjnego

Interfejsy komunikacyjne pomiary sygnałów losowych i pseudolosowych. Instrukcja do ćwiczenia laboratoryjnego Interfejsy komunikacyjne pomiary sygnałów losowych i pseudolosowych Instrukcja do ćwiczenia laboratoryjnego opracował: Łukasz Buczek 05.2015 rev. 05.2018 1 1. Cel ćwiczenia Doskonalenie umiejętności obsługi

Bardziej szczegółowo

AVREVB1. Zestaw uruchomieniowy dla mikrokontrolerów AVR. Zestawy uruchomieniowe www.evboards.eu

AVREVB1. Zestaw uruchomieniowy dla mikrokontrolerów AVR. Zestawy uruchomieniowe www.evboards.eu AVREVB1 Zestaw uruchomieniowy dla mikrokontrolerów AVR. 1 Zestaw AVREVB1 umożliwia szybkie zapoznanie się z bardzo popularną rodziną mikrokontrolerów AVR w obudowach 40-to wyprowadzeniowych DIP (układy

Bardziej szczegółowo

ADuCino 360. Zestaw uruchomieniowy dla mikrokontrolerów ADuCM360/361

ADuCino 360. Zestaw uruchomieniowy dla mikrokontrolerów ADuCM360/361 Zestaw uruchomieniowy dla mikrokontrolerów ADuCM360/361 ADuCino 360 Zestaw ADuCino jest tanim zestawem uruchomieniowym dla mikrokontrolerów ADuCM360 i ADuCM361 firmy Analog Devices mechanicznie kompatybilnym

Bardziej szczegółowo

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC ZL4PIC uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC (v.1.0) ZL4PIC Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC 1 Zestaw jest przeznaczony dla elektroników zajmujących się aplikacjami

Bardziej szczegółowo

ZL4PIC uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC (v.1.0) Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

ZL4PIC uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC (v.1.0) Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC 1 ZL4PIC Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC Zestaw jest przeznaczony dla elektroników zajmujących się aplikacjami mikrokontrolerów PIC. Jest on przystosowany do współpracy z mikrokontrolerami

Bardziej szczegółowo

Uniwersalny zestaw uruchomieniowy ZL4PIC

Uniwersalny zestaw uruchomieniowy ZL4PIC Uniwersalny zestaw uruchomieniowy ZL4PIC Uniwersalny zestaw uruchomieniowy ZL4PIC przeznaczony jest testowania aplikacji realizowanych na bazie mikrokontrolerów PIC. Jest on przystosowany do współpracy

Bardziej szczegółowo

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Podstawowe kroki programowania zestawu uruchomieniowego ZL9AVR z systemem operacyjnym NutOS w środowisku

Bardziej szczegółowo

Kod produktu: MP01105T

Kod produktu: MP01105T MODUŁ INTERFEJSU DO POMIARU TEMPERATURY W STANDARDZIE Właściwości: Urządzenie stanowi bardzo łatwy do zastosowania gotowy interfejs do podłączenia max. 50 czujników temperatury typu DS18B20 (np. gotowe

Bardziej szczegółowo

Parametryzacja przetworników analogowocyfrowych

Parametryzacja przetworników analogowocyfrowych Parametryzacja przetworników analogowocyfrowych wersja: 05.2015 1. Cel ćwiczenia Celem ćwiczenia jest zaprezentowanie istoty działania przetworników analogowo-cyfrowych (ADC analog-to-digital converter),

Bardziej szczegółowo

ZL6PLD zestaw uruchomieniowy dla układów FPGA z rodziny Spartan 3 firmy Xilinx

ZL6PLD zestaw uruchomieniowy dla układów FPGA z rodziny Spartan 3 firmy Xilinx ZL6PLD Zestaw uruchomieniowy dla układów FPGA z rodziny Spartan 3 firmy Xilinx 1 ZL6PLD jest zestawem uruchomieniowym dla układów FPGA z rodziny Spartan 3 firmy Xilinx. Oprócz układu PLD o dużych zasobach

Bardziej szczegółowo

ĆWICZENIE 7. Wprowadzenie do funkcji specjalnych sterownika LOGO!

ĆWICZENIE 7. Wprowadzenie do funkcji specjalnych sterownika LOGO! ćwiczenie nr 7 str.1/1 ĆWICZENIE 7 Wprowadzenie do funkcji specjalnych sterownika LOGO! 1. CEL ĆWICZENIA: zapoznanie się z zaawansowanymi możliwościami mikroprocesorowych sterowników programowalnych na

Bardziej szczegółowo

LITEcomp. Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19

LITEcomp. Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19 LITEcomp Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19 Moduł LITEcomp to miniaturowy komputer wykonany na bazie mikrokontrolera z rodziny ST7FLITE1x. Wyposażono go w podstawowe peryferia, dzięki

Bardziej szczegółowo

MODBUS RTU wersja M1.14 protokół komunikacyjny wyświetlaczy LDN

MODBUS RTU wersja M1.14 protokół komunikacyjny wyświetlaczy LDN MODBUS RTU wersja M1.14 protokół komunikacyjny do wyświetlaczy SEM 04.2010 Str. 1/5 MODBUS RTU wersja M1.14 protokół komunikacyjny wyświetlaczy LDN W wyświetlaczach LDN protokół MODBUS RTU wykorzystywany

Bardziej szczegółowo

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515 Laboratorium Techniki Mikroprocesorowej Informatyka studia dzienne Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515 Cel ćwiczenia Celem ćwiczenia jest poznanie możliwości nowoczesnych

Bardziej szczegółowo

Pracownia Transmisji Danych, Instytut Fizyki UMK, Toruń. Instrukcja do ćwiczenia nr 10. Transmisja szeregowa sieciami energetycznymi

Pracownia Transmisji Danych, Instytut Fizyki UMK, Toruń. Instrukcja do ćwiczenia nr 10. Transmisja szeregowa sieciami energetycznymi Pracownia Transmisji Danych, Instytut Fizyki UMK, Toruń Instrukcja do ćwiczenia nr 10 Transmisja szeregowa sieciami energetycznymi I. Cel ćwiczenia poznanie praktycznego wykorzystania standardu RS232C

Bardziej szczegółowo

Hardware mikrokontrolera X51

Hardware mikrokontrolera X51 Hardware mikrokontrolera X51 Ryszard J. Barczyński, 2016 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Hardware mikrokontrolera X51 (zegar)

Bardziej szczegółowo

Politechnika Białostocka

Politechnika Białostocka Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Kod przedmiotu: TS1C 622 388 Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: Elektronika samochodowa Temat: Programowanie

Bardziej szczegółowo

Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy

Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy Ćwiczenie V LABORATORIUM MECHATRONIKI IEPiM Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy Zał.1 - Działanie i charakterystyka sterownika PLC

Bardziej szczegółowo

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

1.2. Architektura rdzenia ARM Cortex-M3...16 Od Autora... 10 1. Wprowadzenie... 11 1.1. Wstęp...12 1.1.1. Mikrokontrolery rodziny ARM... 14 1.2. Architektura rdzenia ARM Cortex-M3...16 1.2.1. Najważniejsze cechy architektury Cortex-M3... 16 1.2.2.

Bardziej szczegółowo

WYKŁAD 5. Zestaw DSP60EX. Zestaw DSP60EX

WYKŁAD 5. Zestaw DSP60EX. Zestaw DSP60EX Zestaw DSP60EX Karta DSP60EX współpracuje z sterownikiem DSP60 i stanowi jego rozszerzenie o interfejs we/wy cyfrowy, analogowy oraz użytkownika. Karta z zamontowanym sterownikiem pozwala na wykorzystanie

Bardziej szczegółowo

Programowalne Układy Cyfrowe Laboratorium

Programowalne Układy Cyfrowe Laboratorium Zdjęcie opracowanej na potrzeby prowadzenia laboratorium płytki przedstawiono na Rys.1. i oznaczono na nim najważniejsze elementy: 1) Zasilacz i programator. 2) Układ logiki programowalnej firmy XILINX

Bardziej szczegółowo

Ćwiczenie 7 Matryca RGB

Ćwiczenie 7 Matryca RGB IMiO PW, LPTM, Ćwiczenie 7, Matryca RGB -1- Ćwiczenie 7 Matryca RGB IMiO PW, LPTM, Ćwiczenie 7, Matryca RGB -2-1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z inną oprócz RS - 232 formą szeregowej

Bardziej szczegółowo

Kod produktu: MP-BTM222-5V

Kod produktu: MP-BTM222-5V Moduł interfejsu Bluetooth na bazie BTM-222, sterowany komendami AT, poziom napięć TTL 5V Urządzenie zbudowano w oparciu o moduł transmisyjny Bluetooth typu BTM-222 firmy Rayson, umożliwiający zasięg bezprzewodowy

Bardziej szczegółowo

Karta katalogowa JAZZ OPLC JZ20-T40/JZ20-J-T wejść cyfrowych, 2 wejścia analogowe/cyfrowe, 2 wejścia analogowe. 20 wyjść tranzystorowych

Karta katalogowa JAZZ OPLC JZ20-T40/JZ20-J-T wejść cyfrowych, 2 wejścia analogowe/cyfrowe, 2 wejścia analogowe. 20 wyjść tranzystorowych Karta katalogowa JAZZ OPLC JZ20-T40/JZ20-J-T40 16 wejść cyfrowych, 2 wejścia analogowe/cyfrowe, 2 wejścia analogowe 20 wyjść tranzystorowych Specyfikacja techniczna Zasilanie Napięcie zasilania 24 VDC

Bardziej szczegółowo

Programowanie mikrokontrolerów. 8 listopada 2007

Programowanie mikrokontrolerów. 8 listopada 2007 Programowanie mikrokontrolerów Marcin Engel Marcin Peczarski 8 listopada 2007 Alfanumeryczny wyświetlacz LCD umożliwia wyświetlanie znaków ze zbioru będącego rozszerzeniem ASCII posiada zintegrowany sterownik

Bardziej szczegółowo

Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu.

Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu. Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu. Maciek Słomka 4 czerwca 2006 1 Celprojektu. Celem projektu było zbudowanie modułu umożliwiającego wizualizację stanu czujników

Bardziej szczegółowo

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32 Zachodniopomorski Uniwersytet Technologiczny WYDZIAŁ ELEKTRYCZNY Katedra Inżynierii Systemów, Sygnałów i Elektroniki LABORATORIUM TECHNIKA MIKROPROCESOROWA PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

Bardziej szczegółowo

Mikroprocesory i mikrosterowniki Wydział Elektroniki Mikrosystemów i Fotoniki Politechniki Wrocławskiej Ćwiczenie nr 4

Mikroprocesory i mikrosterowniki Wydział Elektroniki Mikrosystemów i Fotoniki Politechniki Wrocławskiej Ćwiczenie nr 4 1 Ćwiczenie nr 4 Program ćwiczenia: Interfejs szeregowy SPI obsługa sterownika ośmiopozycyjnego, 7-segmentowego wyświetlacza LED Interfejs szeregowy USART, komunikacja mikrokontrolera z komputerem PC.

Bardziej szczegółowo

Instytut Teleinformatyki

Instytut Teleinformatyki Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikroprocesory i Mikrokontrolery Dostęp do portów mikrokontrolera ATmega32 język C laboratorium: 10 autorzy: dr

Bardziej szczegółowo

Instrukcja obsługi programatora AVR Prog USB v2

Instrukcja obsługi programatora AVR Prog USB v2 Instrukcja obsługi programatora AVR Prog USB v2 Instrukcja obsługi programatora AVR Prog USB v2, STK500 v2 www.and-tech.pl Strona 1 Zawartość Instrukcja obsługi programatora AVR Prog USB v2, STK500 v2

Bardziej szczegółowo

Sterownik Spid Pant 8 i Ant 8. Podręcznik użytkowania

Sterownik Spid Pant 8 i Ant 8. Podręcznik użytkowania Sterownik Spid Pant 8 i Ant 8 Podręcznik użytkowania Spis treści Spis treści...2 Wprowadzenie...3 Komplet...3 Dane techniczne...3 Panel sterujący...4 Panel tylny...5 Obsługa sterownika...6 Zmiana trybu

Bardziej szczegółowo

Wyniki (prawie)końcowe - Elektroniczne warcaby

Wyniki (prawie)końcowe - Elektroniczne warcaby Wyniki (prawie)końcowe - Elektroniczne warcaby Zbigniew Duszeńczuk 14 czerwca 2008 Spis treści 1 Stan realizacji projektu na dzień 14 czerwca 2008 2 2 Najważniejsze cechy projektu 2 2.1 Użyte elementy..............................

Bardziej szczegółowo

APPLICATION OF ADUC MICROCONTROLLER MANUFACTURED BY ANALOG DEVICES FOR PRECISION TENSOMETER MEASUREMENT

APPLICATION OF ADUC MICROCONTROLLER MANUFACTURED BY ANALOG DEVICES FOR PRECISION TENSOMETER MEASUREMENT Sławomir Marczak - IV rok Koło Naukowe Techniki Cyfrowej dr inż. Wojciech Mysiński - opiekun naukowy APPLICATION OF ADUC MICROCONTROLLER MANUFACTURED BY ANALOG DEVICES FOR PRECISION TENSOMETER MEASUREMENT

Bardziej szczegółowo

Płytka uruchomieniowa AVR oparta o układ ATMega16/ATMega32. Instrukcja Obsługi. SKN Chip Kacper Cyrocki Page 1

Płytka uruchomieniowa AVR oparta o układ ATMega16/ATMega32. Instrukcja Obsługi. SKN Chip Kacper Cyrocki Page 1 Płytka uruchomieniowa AVR oparta o układ ATMega16/ATMega32 Instrukcja Obsługi SKN Chip Kacper Cyrocki Page 1 Spis treści Wstęp... 3 Wyposażenie płytki... 4 Zasilanie... 5 Programator... 6 Diody LED...

Bardziej szczegółowo

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Przetwornik ADC procesora sygnałowego F/C240 i DAC C240 EVM

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Przetwornik ADC procesora sygnałowego F/C240 i DAC C240 EVM LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ Przetwornik ADC procesora sygnałowego F/C240 i DAC C240 EVM Strona 1 z 7 Opracował mgr inż. Jacek Lis (c) ZNE 2004 1.Budowa przetwornika ADC procesora

Bardziej szczegółowo

2.1 Porównanie procesorów

2.1 Porównanie procesorów 1 Wstęp...1 2 Charakterystyka procesorów...1 2.1 Porównanie procesorów...1 2.2 Wejścia analogowe...1 2.3 Termometry cyfrowe...1 2.4 Wyjścia PWM...1 2.5 Odbiornik RC5...1 2.6 Licznik / Miernik...1 2.7 Generator...2

Bardziej szczegółowo

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

Obługa czujników do robota śledzącego linie. Michał Wendland 171628 15 czerwca 2011 Obługa czujników do robota śledzącego linie. Michał Wendland 171628 15 czerwca 2011 1 Spis treści 1 Charakterystyka projektu. 3 2 Schematy układów elektronicznych. 3 2.1 Moduł czujników.................................

Bardziej szczegółowo

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

USB interface in 8-bit microcontrollers PIC18F family manufactured by Microchip. 1 Mateusz Klimkowski IV rok Koło Naukowe Techniki Cyfrowej dr inż. Wojciech Mysiński opiekun naukowy USB interface in 8-bit microcontrollers PIC18F family manufactured by Microchip. Interfejs USB w 8-bitowych

Bardziej szczegółowo

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

Projekt MARM. Dokumentacja projektu. Łukasz Wolniak. Stacja pogodowa Projekt MARM Dokumentacja projektu Łukasz Wolniak Stacja pogodowa 1. Cel projektu Celem projektu było opracowanie urządzenia do pomiaru temperatury, ciśnienia oraz wilgotności w oparciu o mikrokontroler

Bardziej szczegółowo

SML3 październik

SML3 październik SML3 październik 2005 16 06x_EIA232_4 Opis ogólny Moduł zawiera transceiver EIA232 typu MAX242, MAX232 lub podobny, umożliwiający użycie linii RxD, TxD, RTS i CTS interfejsu EIA232 poprzez złącze typu

Bardziej szczegółowo

WIZUALIZACJA DANYCH SENSORYCZNYCH Sprawozdanie z wykonanego projektu. Jakub Stanisz

WIZUALIZACJA DANYCH SENSORYCZNYCH Sprawozdanie z wykonanego projektu. Jakub Stanisz WIZUALIZACJA DANYCH SENSORYCZNYCH Sprawozdanie z wykonanego projektu Jakub Stanisz 19 czerwca 2008 1 Wstęp Celem mojego projektu było stworzenie dalmierza, opierającego się na czujniku PSD. Zadaniem dalmierza

Bardziej szczegółowo

ADVANCE ELECTRONIC. Instrukcja obsługi aplikacji. Modbus konfigurator. Modbus konfigurator. wersja 1.1

ADVANCE ELECTRONIC. Instrukcja obsługi aplikacji. Modbus konfigurator. Modbus konfigurator. wersja 1.1 Instrukcja obsługi aplikacji 1 1./ instalacja aplikacji. Aplikacja służy do zarządzania, konfigurowania i testowania modułów firmy Advance Electronic wyposażonych w RS485 pracujących w trybie half-duplex.

Bardziej szczegółowo

2. PORTY WEJŚCIA/WYJŚCIA (I/O)

2. PORTY WEJŚCIA/WYJŚCIA (I/O) 2. PORTY WEJŚCIA/WYJŚCIA (I/O) 2.1 WPROWADZENIE Porty I/O mogą pracować w kilku trybach: - przesyłanie cyfrowych danych wejściowych i wyjściowych a także dla wybrane wyprowadzenia: - generacja przerwania

Bardziej szczegółowo

interfejs szeregowy wyświetlaczy do systemów PLC

interfejs szeregowy wyświetlaczy do systemów PLC LDN SBCD interfejs szeregowy wyświetlaczy do systemów PLC SEM 08.2003 Str. 1/5 SBCD interfejs szeregowy wyświetlaczy do systemów PLC INSTRUKCJA OBSŁUGI Charakterystyka Interfejs SBCD w wyświetlaczach cyfrowych

Bardziej szczegółowo

Instrukcja obsługi programatora AVR Prog USB v2

Instrukcja obsługi programatora AVR Prog USB v2 Instrukcja obsługi programatora AVR Prog USB v2 Instrukcja obsługi programatora AVR Prog USB v2, STK500 v2 Strona 1 Zawartość 1. Instalacja... 3 2. Instalacja sterowników w trybie HID.... 3 3. Programowanie

Bardziej szczegółowo

E-TRONIX Sterownik Uniwersalny SU 1.2

E-TRONIX Sterownik Uniwersalny SU 1.2 Obudowa. Obudowa umożliwia montaż sterownika na szynie DIN. Na panelu sterownika znajduje się wyświetlacz LCD 16x2, sygnalizacja LED stanu wejść cyfrowych (LED IN) i wyjść logicznych (LED OUT) oraz klawiatura

Bardziej szczegółowo

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

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości Politechnika Lubelska Wydział Elektrotechniki i Informatyki PRACA DYPLOMOWA MAGISTERSKA Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości Marcin Narel Promotor: dr inż. Eligiusz

Bardziej szczegółowo

Kod produktu: MP01611-ZK

Kod produktu: MP01611-ZK ZAMEK BEZSTYKOWY RFID ZE ZINTEGROWANĄ ANTENĄ, WYJŚCIE RS232 (TTL) Moduł stanowi gotowy do zastosowania bezstykowy zamek pracujący w technologii RFID dla transponderów UNIQUE 125kHz, zastępujący z powodzeniem

Bardziej szczegółowo

Wyświetlacze graficzne : 162x64 z kontrolerem S1D x60 z kontrolerem S1D15710

Wyświetlacze graficzne : 162x64 z kontrolerem S1D x60 z kontrolerem S1D15710 S1D15705 Wyświetlacze graficzne : 162x64 z kontrolerem S1D15705 219x60 z kontrolerem S1D15710 S1D15710 Wyświetlacze S1D15705/S1D15710 są graficznymi wyświetlaczami ciekłokrystalicznymi. Wyposażone są w

Bardziej szczegółowo

OPTIMA PC v2.2.1. Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA 255 2011 ELFON. Instrukcja obsługi. Rev 1

OPTIMA PC v2.2.1. Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA 255 2011 ELFON. Instrukcja obsługi. Rev 1 OPTIMA PC v2.2.1 Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA 255 Instrukcja obsługi Rev 1 2011 ELFON Wprowadzenie OPTIMA PC jest programem, który w wygodny sposób umożliwia konfigurację

Bardziej szczegółowo