Platforma mbed
Andrzej Barciński print
Platforma przeznaczona jest dla użytkowników, którzy dopiero poznają projektowanie systemów wbudowanych – nie tylko profesjonalistów, ale także studentów i hobbystów. Mają oni obecnie do dyspozycji nowe rozwiązanie z rodziny mbed – płytkę prototypową mbed.
Platforma mbed została zaprojektowana przez firmę ARM, która teraz wspiera jej rozwój. Podstawowa płytka mbed jest oparta na mikrokontrolerze NXP LPC1768, zawierającym potężny rdzeń ARM Cortex-M3 oraz interfejsy Ethernet, USB, CAN, SPI i I2C. Płytka ma postać 40-stykowego modułu DIP o wymiarach zaledwie 54 mm × 26 mm i może być zasilana za pośrednictwem portu USB. Stanowi samodzielny moduł procesorowy, który można podłączyć do komputera przez port USB.
Ze względu na zachowanie określonego poziomu cenowego urządzenie zostało zaprojektowane jako komponent systemowy mbed, a nie kompletna platforma ewaluacyjna, zawierająca dużo urządzeń peryferyjnych. Przy opracowaniu płytki przyjęto założenie, że chociaż możliwości projektowania są nieograniczone, efektem prac ma być jedno rozwiązanie. W związku z tym niemożliwe jest stworzenie platformy, zawierającej komponenty i urządzenia peryferyjne, przeznaczone do konkretnego projektu. Ponadto w przypadku kompletnych platform trudno jest je dostosować do wymaganego dla projektu wymiaru. Projektant, próbujący stworzyć produkt wielkości karty kredytowej, napotyka problem w postaci płytki o zbyt dużych wymiarach, zawierającej wiele niepotrzebnych komponentów i urządzeń peryferyjnych. Z tego właśnie względu stworzono płytkę o minimalnym zestawie funkcji, aby użytkownik mógł ją rozbudować zgodnie z wymogami swojego projektu.
Płytka modułowa
W oparciu o opisane założenia, powstała płytka modułowa mbed, o wymiarach zbliżonych do wymiarów karty kredytowej, przeznaczona do stosowania z procesorem LPC1768, z rdzeniem Cortex-M3. Nowa płytka modułowa została zaprojektowana w taki sposób, aby umożliwić wykonywanie jak największej liczby testów i projektów elektronicznych, przy zachowaniu minimalnego wymiaru płytki. Mimo że płytka mbed zawiera dwa 20-stykowe złącza do przewodów połączeniowych, na niewielkiej powierzchni zmieściło się jeszcze wiele innych elementów, takich jak:
- ekran LCD 128 × 32,
- trzyosiowy akcelerometr do kontroli ruchu,
- czujnik temperatury,
- gniazdo dla łączności bezprzewodowej ZigBee lub Wi-Fi,
- gniazda Ethernet i USB,
- głośnik z portami dźwięku wejść/wyjść.
Połączenia
Największym atutem nowej płytki jest łączność, która umożliwia korzystanie z zasobów internetowych, zgodnie z koncepcją Internet of Things. Jest to obecnie bardzo popularne rozwiązanie. Koncepcja stanowi ogólne określenie dla obiektów i urządzeń, w tym urządzeń domowych, sprzętu medycznego, a nawet żarówek, zapewniających szerokie możliwości komunikacji, co pozwala na przesyłanie danych i kontrolowanie ich w sieci. Platforma ma wbudowane gniazdo Ethernet i gniazdo USB, pozwalające na podłączenie pamięci flash lub modemu 3G oraz gniazda „xbee”, umożliwiającego podłączanie modułów ZigBee, Wi-Fi i Bluetooth. Poza szeroką gamą opcji łączności, płytka jest także wyposażona w czujniki temperatury i przyspieszenia, wyjście PWM do sterowania serwosilnikami, diody LED, kontrowane przez PWM, a ponadto obsługuje dźwięk, graficzny wyświetlacz LCD oraz potencjometry i przyciski.
Można uznać, że możliwości płytki ogranicza jedynie wyobraźnia użytkowników. Sama płytka rzadko będzie spełniać wymogi projektowe konkretnego prototypu, jednak dwurzędowe złącza ułatwiają jej rozszerzenie.
Biblioteka modemów USB
Dostępna jest też już nowa, interesująca aplikacja mbed, która umożliwia użytkownikom połączenie mikrokontrolera z platformy mbed z siecią mobilną, za pośrednictwem powszechnie dostępnych modemów USB 3G, co pozwala na pełne korzystanie z zasobów internetowych. Niedawno ukazała się informacja o publikacji biblioteki dla modemu USB Vodafone. Jest ona dostępna na stronie internetowej dla projektantów mbed.org, pod adresem http://goo.gl/9OQlx.
Biblioteka powstała dzięki pracy beta-testerów Vodafone oraz mbed i jest kompatybilna z nową płytką modułową mbed – pozwala użytkownikom na podłączenie modemu USB do modułu mbed, w celu uzyskania w pełni funkcjonalnej platformy rozwojowej. Zespół mbed podjął się również skopiowania tej biblioteki modemów USB (http://goo.gl/moLgG) w USA przy użyciu sieci Sprint.
Omawiana aplikacja zwiększa możliwości łączności, obsługiwane przez płytkę mbed NXP LPC1768, pozwalając na korzystanie z pełnego zestawu interfejsów sieciowych: Ethernet, Wi-Fi i 3G. Dzięki temu mbed staje się jeszcze lepszą platformą do szybkiego tworzenia prototypów urządzeń M2M i Internet of Things, niezależną od dostępnego sposobu połączenia z Internetem.
Funkcje, jakie mogą realizować aplikacje wykonane z użyciem omawianej platformy, obejmują: wysyłanie/odbieranie wiadomości SMS, interfejs gniazd TCP/IP, korzystanie z serwerów NTP i HTTP oraz Web Socket; Mogą być również obsługiwane inne protokoły. Biblioteka wykorzystuje taką samą architekturę łączności, jak biblioteki Wi-Fi i Ethernet, opracowane przez mbed, toteż przełączanie prototypów na inne interfejsy komunikacyjne wymaga zmiany zaledwie kilku linii kodu. Aby zaprezentować więcej informacji dotyczących koncepcji Internet of Things, przygotowano materiał wideo, dostępny pod adresem http://goo.gl/b4ppH.
Narzędzia
Warto także wspomnieć o narzędziach projektowych mbed. Tym, co odróżnia środowisko projektowe mbed od pozostałych, są narzędzia oparte na chmurze. Oznacza to, że kod użytkowników jest pisany i kompilowany w dostępnym w sieci zintegrowanym środowisku deweloperskim (IDE), które można uruchomić w dowolnym systemie operacyjnym, tj. Windows, Linux lub Mac OS X. Kompilator mbed pozwala projektantowi na tworzenie programów w C++ i kompilowanie oraz pobieranie ich na procesor NXP LPC1768, bez konieczności instalacji i konfiguracji, ponieważ pracuje na serwerze sieciowym. Kompilator on-line korzysta z platformy ARM RealView, umożliwiającej tworzenie przejrzystego i wydajnego kodu, odpowiedniego także do zastosowań komercyjnych. Istniejący kod aplikacji ARM oraz middleware mogą być też przesyłane do mikrokontrolera mbed, a narzędzia programistyczne mbed mogą być wykorzystywane równocześnie z profesjonalnymi narzędziami produkcyjnymi.
Wsparcie dla mikrokontrolerów mbed dostępne jest na stronie internetowej www.mbed.org, na której użytkownicy mogą również przechowywać swoje programy. Strona ta zawiera także blogi, fora, biblioteki programów przesłanych przez użytkowników oraz inne zasoby dla projektantów, takie jak SDK dla C/C++. Pozwalają one na wydajne programowanie wysokiego poziomu, z użyciem komponentów peryferyjnych. Pomocne są też bogate biblioteki i przykłady kodu, publikowane przez społeczność mbed.
Dodatkowe informacje
Warto też wspomnieć o podręczniku i zestawie notatek z kursów, opublikowanych przez dr Roba Toulsona z Anglia Ruskin University w Wielkiej Brytanii. Są one dostępne na stronach internetowych: http://goo.gl/C4WP4 i http://goo.gl/cCqsP.
Mark Cundle
RS Components