Programowanie mikrokontrolerów w praktyce



Podobne dokumenty
MikloBit ul. Cyprysowa 7/ Jaworzno. rev MB-JTAG-ICE debugger-programator

SINAMICS G120C STARTER. Tworzenie nowego projektu w trybie online.

Komunikacja sterownika z rodziny Micro800 z Falownikiem PowerFlex40 przy pomocy sieci DeviceNet.

PERSON Kraków

Instrukcja programu PControl Powiadowmienia.

Symfonia Produkcja Instrukcja instalacji. Wersja 2013

Mmfpga12. Instrukcja uruchomienia aplikacji testowych REV 1.0. Many ideas one solution

Jak zaprogramować procesor i. wgrać firmwar-e do yampp3usb. Copyright SOFT COM sp. z o. o.

Instrukcja instalacji programu Plantator oraz transferu pliku danych z/do PC kolektor danych PT-20

Oprogramowanie klawiatury matrycowej i alfanumerycznego wyświetlacza LCD

Opis obsługi systemu Ognivo2 w aplikacji Komornik SQL-VAT

Instrukcja obsługi panelu operacyjnego XV100 w SZR-MAX-1SX

DEMERO Automation Systems

Interfejs RS485-TTL KOD: INTR. v.1.0. Wydanie: 2 z dnia Zastępuje wydanie: 1 z dnia

Przeniesienie lekcji SITA z płyt CD na ipoda touch

epuap Ogólna instrukcja organizacyjna kroków dla realizacji integracji

Moduł GSM generacja 1

dbsamples.udl lub przygotowany wcześniej plik dla Excela) i OK,

Media Organizer v1.0b

raceboard-s Szybki start

Komunikacja w sieci Industrial Ethernet z wykorzystaniem Protokołu S7 oraz funkcji PUT/GET

Instrukcja instalacji oraz wykorzystania podpisu cyfrowego

INFORMATOR TECHNICZNY WONDERWARE. Konfiguracja komputera klienckiego do łączenia się z serwerem IndustrialSQL

REJESTRATOR RES800 INSTRUKCJA OBSŁUGI

Siemens IO-Link. Smart TIA integration of sensors and actuators

INSTRUKCJA KORZYSTANIA Z ELEKTRONICZNEJ ŚCIEŻKI WYKAZÓW

linkprog programator USB

Karta adaptacyjna GSM

Wdrożenie modułu płatności eservice dla systemu Virtuemart 2.0.x

PODRĘCZNIK UŻYTKOWNIKA

db powernet Instalacja czytnika kart mikroprocesorowych (instrukcja)

Rozliczenia z NFZ. Ogólne założenia. Spis treści

Przyk ad konfiguracja MRP przy pomocy IO kontrolera Simatic S7-300 i switchy Scalance X

Adapter USB do CB32. MDH-SYSTEM ul. Bajkowa 5, Lublin tel./fax lub kom e mail: info@mdh-system.pl

2.1 INFORMACJE OGÓLNE O SERII NX

Spis treści. Rozdział 1 ewyniki. mmedica - INSTR UKC JA UŻYTKO W NIKA

MUltimedia internet Instrukcja Instalacji

Instrukcja wprowadzania danych do formularza importowego edziennika MobiReg wersja Light v.1.1

System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy

Instrukcja przygotowania i programowania animacji programem Animation Manager w drukarce fiskalnej Novitus HD E oraz Novitus Bono E.

Instrukcja obsługi Norton Commander (NC) wersja 4.0. Autor: mgr inż. Tomasz Staniszewski

Konfiguracja programu Outlook 2007 do pracy z nowym serwerem poczty (Exchange)

INSTRUKCJA DO PROGRAMU LICZARKA 2000 v 2.56

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007

Instrukcja obsługi aplikacji Moduł 7 Business Ship Control dla InsERT Subiekt GT

Urządzenia do bezprzerwowego zasilania UPS CES GX RACK. 10 kva. Wersja U/CES_GXR_10.0/J/v01. Praca równoległa

Poznanie komputera MyPal

Instalacja. Zawartość. Wyszukiwarka. Instalacja Konfiguracja Uruchomienie i praca z raportem Metody wyszukiwania...

Programowanie Komputerów 3FZ

Instrukcja wgrywania synoptyki pola (wersja modelu danych do 634)

HiTiN Sp. z o. o. Przekaźnik kontroli temperatury RTT 4/2 DTR Katowice, ul. Szopienicka 62 C tel/fax.: + 48 (32)

Seria P-662HW-Dx. Bezprzewodowy modem ADSL2+ z routerem. Skrócona instrukcja obsługi

Microsoft Management Console

SpedCust 5 instrukcja instalacji

elektroniczna Platforma Usług Administracji Publicznej

VinCent Office. Moduł Drukarki Fiskalnej

emszmal 3: Eksport wyciągów do Subiekt (Su\Re\Ra) nexo (plugin dostępny wraz z dodatkiem Biznes)

Spis zawartości Lp. Str. Zastosowanie Budowa wzmacniacza RS485 Dane techniczne Schemat elektryczny

yoyo ver. 6.0

Zarządzanie Zasobami by CTI. Instrukcja

STRONA GŁÓWNA SPIS TREŚCI. Zarządzanie zawartością stron... 2 Tworzenie nowej strony... 4 Zakładka... 4 Prawa kolumna... 9

Instrukcja. 1 Zamawiając kuriera. W Paczkomacie lub POK. 3 Nadając list polecony. nadawania przesyłek z Allegro: (Punkt Obsługi Klienta)

INTERFEJS S-CTT Super Chip tuning tool INSTRUKCJA OBSŁUGI

Instrukcja zapisu do grup

INTERFEJS RFID WIEGAND - CODIBUS SYSTEMU DSX M2780

Konfiguracja po czenia pomi dzy serwerem OPC, a sterownikiem PLC dla sieci Profibus

Projekt z przedmiotu Systemy Mikroprocesorowe w Automatyce Moduł z kontrolerem AtMega32, programator AVR ISP. Robert Kuczaj 6 marca 2007

Ćwiczenia z S Podstawy sterowania napędem SINAMICS G110 za pośrednictwem protokołu USS przy wykorzystaniu sterownika S

Logowanie do mobilnego systemu CUI i autoryzacja kodami SMS

Następnie kliknąć prawym klawiszem myszy na Połączenie sieci bezprzewodowej i wybrać Wyłącz.

Kancelaris - Zmiany w wersji 2.50

Instrukcja Jak złożyć dokument elektroniczny

PRZEMYSŁOWY ODTWARZACZ PLIKÓW MP3 i WAV

SKRÓCONA INSTRUKCJA OBSŁUGI CR-500- HD

Instrukcja dotycząca generowania klucza dostępowego do Sidoma v8

Modem Thomson SpeedTouch 330

Uniwersytet Muzyczny Fryderyka Chopina

VLAN Ethernet. być konfigurowane w dowolnym systemie operacyjnym do ćwiczenia nr 6. Od ćwiczenia 7 należy pracować ć w systemie Linux.

Instrukcja obsługi zamka. bibi-z50. (zamek autonomiczny z czytnikiem identyfikatora Mifare)

Pierwsze kroki. Krok 1. Uzupełnienie danych własnej firmy

CYFROWY MIERNIK REZYSTANCJI UZIEMIENIA KRT 1520 INSTRUKCJA OBSŁUGI

INTEGRATOR Instrukcja instalacji, konfiguracji.

Specyfikacja techniczna banerów Flash

Moduł. Rama 2D suplement do wersji Konstruktora 4.6

Zaznaczając checkbox zapamiętaj program zapamięta twoje dane logowania. Wybierz cmentarz z dostępnych na rozwijalnej liście.

Pracownia internetowa w każdej szkole. Opiekun pracowni internetowej SBS 2003 PING

Zainstalowana po raz pierwszy aplikacja wymaga aktualizacji bazy danych obsługiwanych sterowników.

enova Workflow Obieg faktury kosztowej

BCS Manager Instrukcja Obsługi

Centrum Informatyki "ZETO" S.A. w Białymstoku. Instrukcja użytkownika dla urzędników nadających uprawnienia i ograniczenia podmiotom w ST CEIDG

Pomiar mocy pobieranej przez napędy pamięci zewnętrznych komputera. Piotr Jacoń K-2 I PRACOWNIA FIZYCZNA

Sprzedaż i serwis: esklep: ul. Christo Botewa 1c Kraków tel:

CRUSB Spartan KONWERTER CAN / USB

Instrukcja pod czenia komputera z systemem Microsoft Windows XP do sieci PWSZ-FREE-WIFI

Konfiguracja OpenVPN

3) Kreator nowego połaczenia

AR-M236 AR-M276 CYFROWE URZĄDZENIE WIELOFUNKCYJNE INSTRUKCJA INSTALACJI OPROGRAMOWANIA... MODEL

INFORMATOR TECHNICZNY WONDERWARE

Kurs obsªugi interfejsu I2C.

Transkrypt:

Programowanie mikrokontrolerów w praktyce Opracowanie na bazie mikrokontrolera MSP430F122 Opracowanie: Szymon Maćków rusken(małpa)op.pl Programowanie Mikrokontrolerów - Rev.01 2009 by Szymon Maćków 1

Co będzie nam potrzebne? KOMPUTER bazą do rozpoczęcia eksperymentów z programowaniem mikrokontrolerów jest komputer (rys.1). Powinien on posiadać port równoległy LPT lub też port USB, które są interfejsami umożliwiającymi komunikację z mikrokontrolerem. Rys. 1. Komputer MAKIETA URUCHOMIENIOWA jest bazą do naszych eksperymentów. Makieta uruchomieniowa (rys.2.) w najprostszej postaci powinna posiadać złącze zasilania, stabilizator dostarczający odpowiednich napięć np. do mikrokontrolera lub peryferiów. Aby unaocznić efekty naszej pracy na makiecie powinny się na niej znaleźć dioda LED, buzzer, klawisz. Schemat makiety uruchomieniowej przedstawiono w DODATKU A na str. 19. W DODATKU C na str.21 przedstawiono główne cechy makiety uruchomieniowej dla mikrokontrolerów z rodzinyn MSP430. Programowanie Mikrokontrolerów - Rev.01 2009 by Szymon Maćków 2

Rys.2. Makieta uruchomieniowa Makieta uruchomieniowa posiada również klawisz reset, który zapewnia prawidłowy reset układu, wyprowadzone piny mikrokontrolera, interfejs JTAG umożliwiający debugowanie oraz programowanie układu, złącze na baterię, które umożliwia zasilenie układu z baterii CR2032 (3V), diodę sygnalizującą podłączenie układu do zasilania. Prezentowana makieta uruchomieniowa jest mojego autorstwa. PORT RÓWNOLEGŁY (LPT) jest interfejsem komunikacji mikrokontrolera z komputerem. Do komunikacji z mikrokontrolerem, może zostać użyty również interfejs USB (ale o tym w dalszej części kursu). Na rysunku nr 3 przedstawiono złącze LPT oraz USB. Niestety większość nowych komputerów przenośnych nie posiada złącza LPT, co pociąga za sobą dodatkowe koszty dokupienia stacji dokującej do laptopa lub też zakupu JTAGa w wersji USB. Rys.3. Port równoległy, Port USB Programowanie Mikrokontrolerów - Rev.01 2009 by Szymon Maćków 3

JTAG (ang. Joint Test Action Group) to nazwa standardu IEEE 1149.1 definiującego protokół używanany do testowania i uruchamiania układów programowalnych i systemów mikroprocesorowych. Na rysunku Rys. 4. przedstawiono JTAG służący do komunikacji pomiędzy mikrokontrolerem a komputerem. Rys. 4. JTAG W zestaw do samodzielnego montażu JTAGa możemy się zaopatrzyć się na stronie http://www.sklep.avt.pl/go/_info/?id=33226 (16.99 PLN brutto)lub też zestaw zmontowane i przygotowany do uruchomienia http://www.sklep.avt.pl/go/_info/?id=481469 (34.00 PLN). Prędkość działania układu to 1.4 KB/s. Dla użytkowników komputerów bez złącza LPT istnieje alternatywa w postaci JTAGa wykorzystującego interfejs USB. W taki JTAG można się zaopatrzyć na stronie http://www.shop.kristech.eu/product_info.php?cpath=24_30&products_id=80. Firma ta jest bezpośrednim dystrybutorem firmy OLIMEX w Polsce. Niestety cena zestawu nie jest zachęcająca i wynosi około 200zł netto, do zalet można oczywiście zaliczyć prędkość działania układu 14KB/s. Programowanie Mikrokontrolerów - Rev.01 2009 by Szymon Maćków 4

Podłączenie JTAGa do komputera Rys. 5. Podłączenie JTAG do komputera Zasilacz kolejną częścią którą powinien posiadać zestaw do programowania mikrokontrolerów jest zasilacz. Rys. 6. Zasilacz Jako zasilacz można wykorzystać ładowarkę do telefonu komórkowego. W tym przypadku zastosowano zasilacz od telefonu komórkowego NOKIA. Parametry zasilacza: -Input: 230V~/ 50Hz/ 21mA/ 4,8VA -Output: 3,7V=/ 355mA/ 1,3VA Należy pamiętać o bardzo istotniej sprawie gdy chcemy zasilać mikrokontroler bezpośrednio z takiego zasilacza z pominięciem stabilizatora napięcia, aby nie przekroczyć parametrów Programowanie Mikrokontrolerów - Rev.01 2009 by Szymon Maćków 5

granicznych napięć i prądów danego typu mikrokontrolera. Parametry graniczne napięć i prądów można znaleźć w notach katalogowych udostępnianych na stronie producenta. W tym wypadku www.ti.com. Podłączenie makiety z JTAGiem Rys. 7. Połączenie makiety z JTAGiem Podłączenie makiety z JTAGiem odbywa się przy pomocy przewodu połączeniowego 14 żyłowego (złącze 2x7). JTAG + zasilanie + makieta uruchomieniowa Rys. 7. JTAG + zasilanie + makieta uruchomieniowa Programowanie Mikrokontrolerów - Rev.01 2009 by Szymon Maćków 6

Kompletny moduł uruchomieniowy z podłączonym zasilaniem oraz interfejsem JTAG. Komputer + JTAG + zasilanie + makieta uruchomieniowa Rys. 8. Komputer + JTAG + zasilanie + makieta uruchomieniowa Środowisko programistyczne IAR dla mikrokontrolerów MSP430. Rys. 9. Plik instalacyjny wraz z kluczem aktywacyjnym Środowisko programistyczne IAR można pobrać ze strony producenta www.iar.com z działu Downloads ---> Evaluation software. Mamy do wyboru dwa rodzaje oprogramowania. Pierwsze to IAR Embedded Workbench 30-day evaluation edition, drugie to IAR Embedded Workbench KickStart edition dla MSP430 (4KB edition). Wybieramy to drugie. Ograniczenie, które posiada to drugie to 4KB kodu wynikowego napisanego w języku C. Programy napisane w języku ASEMBLER nie posiadają takiego Programowanie Mikrokontrolerów - Rev.01 2009 by Szymon Maćków 7

ograniczenia. Aby pobrać oprogramowanie należy wypełnić formularz na stornie klikając w MSP430 tj. na rys poniżej. Rys. 10. Wybór odpowiedniej wersji oprogramowania Rys. 11. Kolejny krok rejestracji Programowanie Mikrokontrolerów - Rev.01 2009 by Szymon Maćków 8

Rys. 12. Formularz do wypełnienia Gdy pomyślnie wykonamy wszystkie kroki rejestracji otrzymamy informację na maila dotyczące kodu rejestracyjnego oraz link do pobrania oprogramowania. Po zainstalowaniu oprogramowania pozostaje nam prawidłowe jego skonfigurowanie, aby można było swobodnie i bez żadnych problemów korzystać ze sprzętowego debugera. Poniżej przedstawiono kolejne kroki tworzenia projektu i konfiguracji oprogramowania. Start -> programy -> IAR Systems -> IAR Embedded Workbench KickStart for MSP430 -> IAR Embedded Workbench Programowanie Mikrokontrolerów - Rev.01 2009 by Szymon Maćków 9

Rys. 13. Ekran powitalny Tworzymy nowy projekt klikając w okno Create New Project in current workspace Rys. 14. Projekt w języku C Programowanie Mikrokontrolerów - Rev.01 2009 by Szymon Maćków 10

Zaznaczamy zakładkę main i wybieramy OK. Rys. 15. Tworzenie projektu Tworzymy katalog w dowolnym miejscu na dysku i podajemy nazwę dla naszego projektu. W naszym wypadku nazwa projektu to LED. Klikamy Zapisz. W tym miejscu zostaje utworzony plik main.c Rys. 15. Main.c Programowanie Mikrokontrolerów - Rev.01 2009 by Szymon Maćków 11

Teraz czas na konfiguracje projektu. Rys. 15. LED Debug Aby prawidłowo uruchomić konfigurator opcji należy zaznaczyć w projekcie po lewej stronie LED Debug -> Options Alt+F7. Rys. 16. Wybór urządzenia Z listy wybieramy mikrokontroler który posiadamy na naszej makiecie uruchomieniowej. W naszym przypadku MSP430F122. Programowanie Mikrokontrolerów - Rev.01 2009 by Szymon Maćków 12

Następnie zakładka Linker powinna być skonfigurowana wg. poniższego rysunku Rys. 17. Output file Rys. 18. Config Następnie konfigurujemy zakładkę Debugger. Programowanie Mikrokontrolerów - Rev.01 2009 by Szymon Maćków 13

Rys. 19. Debugger W tej zakładce wybieramy opcję FET Debugger. Oznacza to że będziemy wykorzystywać sprzętowy moduł (makieta) podłączony przez interfejs JTAG. Ostatnią zakładką którą należy skonfigurować jest zakładka FET Debugger. Rys. 20. FET Debugger Programowanie Mikrokontrolerów - Rev.01 2009 by Szymon Maćków 14

Connection ta opcja definiuje interfejs komunikacji. W naszym wypadku jest to port równoległy LPT. Zatwierdzamy nasz nastaw opcji przez OK. Teraz możemy przystąpić do napisania pierwszego programu. Pierwszym programem, który pozwoli unaocznić działanie programu jest włącznie i wyłącznie diody LED. Rys. 21. Listing programu (DODATEK B str.20) Możemy przystąpić do kompilacji naszego programu. Aby skompilować program możemy użyć klawisz funkcyjnego F7. Programowanie Mikrokontrolerów - Rev.01 2009 by Szymon Maćków 15

Rys. 22. Zapisanie przestrzenie w której pracujemy Jeżeli kompilator nie wykryje błędów podczas kompilacji w oknie komunikatów powinien pojawić się komunikat tj.na rysunku poniżej. Rys. 23. Okno informacyjne kompilatora Programowanie Mikrokontrolerów - Rev.01 2009 by Szymon Maćków 16

Następnym krokiem, jest skomunikowanie się z makietą i włączenie sprzętowego debugera. Możemy tego dokonać używając skrótu klawiszowego Ctrl + D, lub tj. na rysunku poniżej, poprzez zaznaczenie ikony w belce narzędziowej. Rys. 24. Włącznie trybu debugera Poniżej przedstawiono okno komunikacji z makietą i załadowanie programu do pamięci FLASH mikrokontrolera Rys. 25. Załadowanie aplikacji do pamięci mikrokontrolera Debugger posiada wiele użytecznych opcji tj. podgląd aktualnego stanu rejestrów, praca krokowa, możliwość ustawiania pułapek, możliwość zatrzymania programu w dowolnym momencie. Więcej opcji możemy znaleźć w zakładce View. Programowanie Mikrokontrolerów - Rev.01 2009 by Szymon Maćków 17

Rys. 26. Dodatkowe opcje debugera Rys. 27. Stan rejestrów mikrokontrolera w czasie pracy krokowej Programowanie Mikrokontrolerów - Rev.01 2009 by Szymon Maćków 18

DODATEK A Programowanie Mikrokontrolerów - Rev.01 2009 by Szymon Maćków 19

/*program zapalajacy diode LED */ DODATEK B /* pliki naglowkowe */ #include <msp430x12x2.h> //plik naglowkowy ktory zawiera deklaracje //zasobow mikrokontrolera /*deklaracje zmiennych*/ int delay; //zmienna typu int wykorzystywana //w petli opoznienia /*definicje stalych*/ #define LED 0x02 //dioda LED na 1 pinie portu 2 /*funkcja main*/ void main( void ) { WDTCTL = WDTPW + WDTHOLD; // funkcja zatrzymująca Watchdog-a P2DIR = 0x02; //wlaczenie pinu 1 portu 2 00000010 P2OUT = 0x02; //pin 1 portu 2 ustawiony jako wyjscie while(1) { P2OUT ^= LED; //nieskonczona petla while //WLACZENIE diody LED for(delay=0; delay<=0x8fff; delay++); //opoznienie P2OUT ^= LED; //WYLACZENIE diody LED for(delay=0; delay<=0x8fff; delay++); //opoznienie }; //koniec peli while } //koniec funkcji main Programowanie Mikrokontrolerów - Rev.01 2009 by Szymon Maćków 20

DODATEK C MSP430 uni BOARD - cechy: 1. Złącze zasilania + PWR LED 2. Złącze JTAG 3. Złącze JTAG-U1_U2 (programowanie układów U1 i U2) 4. Piny JTAG Power_In i Power_Out 5. PORTY P1, P2, P3, P4, P5, P6 6. BUZZER (P2.0) 7. LED2 (P2.1) 8. SWITCH (P2.2) 9. RESET 10. Gniazdo baterii CR2032 (BOT) 11. Stabilizator 3V3 @ 100mA 12. Oscylatory kwarcowe Q1, Q2 (32 768Hz), Q3 13. PCB: FR-4, 1.5 mm, Cu 17um, opis TOP i BOT 14. Wymiary: 73.4 x 52.8 mm Makieta umożliwia implementację kilku rodzajów mikrokontrolerów z rodziny MSP430. Typy mikrokontrolerów oraz rodzaj obudowy zostały zamieszczone w tabeli 1. Tabela 1. Typy obudów mikrokontrolera Nazwa U1 U2 U3 obudowa MSP430F11x + 20TSSOP MSP430F11x1 + 20TSSOP MSP430F11x1A + 20TSSOP MSP430F11x2 + 20TSSOP MSP430F12x2 + 28TSSOP MSP430F12x + 28TSSOP MSP430F13x + 64LQFP MSP430F14x + 64LQFP MSP430F14xx + 64LQFP MSP430F15x + 64LQFP MSP430F16x + 64LQFP MSP430F161x + 64LQFP Opracowanie: Szymon Maćków rusken(małpa)op.pl Programowanie Mikrokontrolerów - Rev.01 2009 by Szymon Maćków 21