Warszawa, dn. 16.12.2015r. Student: Artur Tynecki (E.EIM) atynecki@stud.elka.pw.edu.pl Prowadzący: dr inż. Mariusz Jarosław Suchenek DOKUMENTACJA PROJEKTU Projekt wykonany w ramach przedmiotu Mikrokontrolery ARM. 1. OPIS OGÓLNY 1.1. Nazwa projektu: Programator modułów NFC z wyświetlaczem. 1.2. Cel projektu: Celem projektu było zaprojektowanie, zbudowanie i oprogramowanie zestawu umożliwiającego wgranie dowolnej wiadomości tekstowej na moduł NFC zawarty na płytce ewaluacyjnej M24LR-BOARD. 2. ZAŁOŻENIA Realizacja projektu zakładała zbudowanie systemu realizującego następujące funkcjonalności: Przesłanie dowolnego tekstu z jednostki PC do programator za pomocą interfejsu USB, Wyświetlenie przesłanego tekstu na wyświetlaczu E-paper, Komunikacja z procesorem płytki ewaluacyjnej M24LR-BOARD za pomocą interfejsu I2C, Przesłanie tekstu z płytki programatora do procesora układu M24LR-BOARD, Wgranie tekstu do pamięci modułu NFC, Wyświetlenie przesłanego tekstu na wyświetlaczu LED, Pomiar bieżącej temperatury i wizualizacja wyniku na wyświetlaczu LED, Komunikacja z użytkownikiem z wykorzystaniem wyświetlacza E-paper, wyświetlacza LED, diód LED, przycisków. 3. SPOSÓB REALIZACJI 3.1.Część elektroniczna Realizacja założeń niniejszego projektu wymagała zastosowanie następujących elementów: Płytki ewaluacyjnej M24LR-BOARD złożonej z: mikrokontrolera STM8L152, modułu NFC M24LR04E-R, termometru cyfrowego STTS751, wyświetlacza LCD 24-segmentowego, przycisku, diody LED. Wszystkie wyżej wymienione elementy zostały wykorzystane do realizacji projektu. Płytki ewaluacyjnej STM32LO538-Discovery zawierającej m.in.: mikrokontroler STML053C8T6, złącze portu USB, wyświetlacz E-paper o rozdzielczości 172x72 pikseli, przycisku, diód LED. Wszystkie wyżej wymienione elementy zostały wykorzystane do realizacji projektu.
Uruchomienie systemu wymaga dodatkowo wykorzystania komputera z możliwością podłączenia złącza USB oraz oprogramowania do obsługi portów COM. Poszczególne komponenty systemu programatora połączone są zgodnie ze zaprezentowanym schematem (zaznaczono występujące interfejsy komunikacji): Rys.3.1.1. Schemat połączeń elementów systemu. 3.2. Część programistyczna 3.2.1. Środowisko programistyczne Realizacja projektu wymagała oprogramowania dwóch mikrokontrolerów wraz z podłączonymi do nich modułami. Uwarunkowało to wykorzystanie dwóch środowisko programistycznych: IAR Embedded Workbench ze wsparciem dla mikrokontrolerów STM8, Keil µvision w wersji 5.16 ze wsparciem dla mikrokontrolerów STM32L0. 3.2.2. Opis algorytmów i schemat przepływu danych W niniejszym projekcie dane stanowić będzie wiadomość tekstowa przekazywana pomiędzy kolejnymi elementami systemu w postaci tablicy znaków zaprezentowanej poniżej: Znacznik początku Tekst wiadomości Znacznik końca @<. >@ Tab.3.2.2.1. Schemat ramki danych. Tekst wiadomości może zawierać maksymalnie 40 znaków.
Przepływ ramki danych odbywa się zgodnie ze schematem: Rys.3.2.2.1. Schemat przepływu danych. Każdy z mikrokontrolerów systemu realizuje swój program działania zgodnie ze schematami zaprezentowanymi poniżej:
Rys.3.2.2.2. Algorytm działania modułu NFC-BOARD.
Rys.3.2.2.3. Algorytm działania modułu programatora.
4. DZIAŁANIE SYSTEMU 4.1. Obsługa sytemu System programatora składa się z następujących elementów: jednostki PC, przewodu USB ze złączem miniusb, płytki ewaluacyjnej STM32LO538-Discovery, przewodu ze złączami typu goldpin 1x4, płytki ewaluacyjnej M24LR-BOARD. W celu uruchomienie systemu należy połączyć wyżej wymienione elementy zgodnie ze schematem zaprezentowanym na rysunku 3.1.1. Po dostarczeniu zasilania do poszczególnych modułów rozpoczynają one prace do stanów początkowych zgodnie ze schematami (3.2.2.2. oraz 3.2.2.3.). W celu zaprogramowania wiadomości tekstowej należy wykonać następujące kroki: 1. zmienić stan płytki NFC za pomocą przycisku na opcje programowania, 2. podłączyć płytkę ewaluacyjną M24LR-BOARD za pomocą przewodu ze złączem typu goldpin do płytki STM32LO538-Discovery, 3. wysłać wiadomość tekstową z terminala portów COM komputera dołączają znaczniki końca i początku ramki danych, 4. po zaprogramowaniu można dotworzyć zapisana wiadomość na wyświetlaczu płytki NFC przechodząc do stanu odczytu za pomocą przycisku, 5. w celu ponownego zaprogramowania wiadomości na tej samej płytce NFC należy przejść w stan programowania oraz wcisnąć przycisk na płytce programatora. Procedura rozpocznie się od punktu 3. 6. w celu zaprogramowania innej płytki NFC powtórzyć kroki od punktu 1. 4.2. Obsługa błędów W przypadku wystąpienia błędów działania systemu użytkownik otrzymuje odpowiednie powiadomienie na każdym z modułów: płytka NFC wiadomość ERROR na wyświetlaczy LED, po czym następuje ponowne uruchomienie aplikacji. płytka programatora wiadomość ERROR na wyświetlaczu E-paper wraz z kodem błędu. W celu wyjścia z obsługi błędu należy wcisnąć przycisk, po którym nastąpi ponowne uruchomienie aplikacji. Kod błędu Znaczenie 1 system clock error 2 USB error 3 e-paper display error 4 I2C communication error 5 program massage error 6 unknown error Tab. 4.2.1. Tabela kodów błędów aplikacji programatora