W ofercie firmy TME pojawiły się dwa nowe moduły produkowane przez firmę Digilent Inc. Oba są wyposażone w mikrokontrolery z rodziny PIC32 firmy Microchip oraz układ wyprowadzeń zgodny ze standardem Arduino. Płytki różnią się modelem procesora - w Uno32 zamontowany jest układ PIC32MX320F128H, natomiast w uC32 PIC32MX340F512H. Różnią się one przede wszystkim wielkością dostępnej pamięci (odpowiednio Flash 128K lub 512K, RAM 16K i 32K) oraz obecnością DMA w droższym układzie. Pozostałe elementy obu modułów są właściwie identyczne.
Do głównych zalet obu konstrukcji należy wykorzystanie, wydajnego 32-bitowego procesora oraz zgodność wyprowadzeń z popularnymi płytkami Arduino Uno. W przypadku oryginalnego Arduino ograniczeniem jest 8-bitowy mikrokontroler, natomiast prezentowane moduły są wyposażone w znacznie wydajniejsze jednostki.
Podstawowe cechy modułów to:
Z wyglądu moduły są bardzo podobne do Arduino Uno. Wymiary płytki, rozmieszczenie gniazd, nawet przycisk reset są w tym samym miejscu. Pierwsze, co rzuca się w oczy to nieco inne gniazda rozszerzeń. Arduino używa złącz jednorzędowych, natomiast płytki z PIC32 są wyposażone w gniazda dwurzędowe. Okazuje sie jednak, że są one w pełni zgodne z Arduino Uno, posiadają za to więcej dostępnych wyprowadzeń. Większość modułów rozszerzeń od Arduino może być podłączana bez modyfikacji.
Zgodność z Arduino jest bardzo wysoka, właściwie jedyna istotna różnica to mikrokontroler pracujący z napięciem 3.3V zamiast 5V jak w przypadku AVR. Na szczęście piny PIC32 tolerują napięcia 5V, a większość modułów może pracować poprawnie sterowana z niższego napięcia. Jedynym wyjątkiem są wejścia analogowe (ADC), w ich przypadku, maksymalne napięcie to 3.3V. Na szczęście producent zabezpieczył wejścia modułów odpowiednimi układami, więc podłączenie napięcia 5V nie uszkodzi układu. Pomiar napięć wyższych niż 3.3V nie będzie możliwy bez odpowiednich układów zewnętrznych.
Jednak biorąc pod uwagę znacznie nowocześniejszy procesor, nie sposób nie docenić poziomu zgodności obu rozwiązań.
Chyba największą zaletą Arduino jest łatwość nauki oraz samego programowania na tej platformie. Proste środowisko programistyczne oraz łatwe w użyciu biblioteki, w połączeniu z programowaniem obiektowym w C++ zapewniły Arduino ogromny sukces. W przypadku PIC32, ze strony producenta można pobrać doskonale dostosowane środowisko programistyczne, właściwie identyczne z oryginalnym. Różnica to inna kolorystyka oraz nazwa. Środowisko nazywa się MPIDE, jest dostępne za darmo i zawiera wszystko co jest niezbędne do rozpoczęcia nauki programowania. Po instalacji można natychmiast uruchomić dostarczone programy przykładowe. Są one identyczne z oryginalnym Arduino, użytkownik może nawet nie wiedzieć, że ma do czynienia z zupełnie innym mikrokontrolerem.
MPIDE dostępne jest na wszystkie popularne systemy operacyjne, Windows, Linux oraz Mac OS. Do programowania płytek wykorzystywane jest łącze USB. Moduły są wyposażone w typowy konwerter FTDI FT232R, który zapewnia możliwość komunikacji oraz programowania układu. Programowanie odbywa się w sposób identyczny jak w przypadku Arduino i układów rodziny AVR.
Początkujący użytkownicy oraz osoby zaczynające pracę z nowym mikrokontrolerem mogą rozpocząć naukę nawet nie zaglądając do dokumentacji PIC32, wystarczy znajomość platformy Arduino. Liczba dostarczonych przykładów jest imponująca. Oczywiście do pełnego wykorzystania Arduino niezbędne są elementy zewnętrzne. Mogą to być proste, samodzielnie podłączane układy (np. diody LED, przełączniki itd.), albo czasem bardzo skomplikowane moduły.
Ogromna ilość dostępnego oprogramowania dla Arduino dobitnie świadczy o tym, że nawet proste narzędzia mają ogromne możliwości. Jednak programowanie jedynie przy wykorzystaniu portu szeregowego jest na dłuższą metę nieco niewygodne. Ograniczona przepustowość łącza oraz brak możliwości debugowania stają się uciążliwe przy pisaniu większych programów. Lepsze efekty można uzyskać za pomocą odpowiednich programatorów. Płytki Uno32 i uC32 posiadają wyprowadzenia pozwalające na podłączenie dedykowanego programatora albo standardowego PicKit3. Oba programatory są dostępne ofercie TME:
Dedykowany programator ChipKit PGM Programmer/Debugger jest nieco uproszczoną (i tańszą) wersją PicKit3. W przypadku płytek Uno32 i uC32 jego funkcjonalność jest identyczna z PicKit3, a nawet rozszerzona o możliwość współpracy z środowiskiem MPIDE (Arduino). Różnica między programatorami to przede wszystkim brak niektórych napięć na wyprowadzeniach programatora dedykowanego, przez co nie ma możliwości zasilania płytki z programatora.
Programiści zainteresowani profesjonalnym wykorzystaniem modułów, mogą zrezygnować z Arduino i wykorzystywać darmowe środowisko MPLAB X. Jest to najnowsza wersja znanego i od lat rozwijanego środowiska MPLAB firmy Microchip. Środowisko dostarczane jest bez kompilatora C, jednak użytkownicy mogą wybrać z szerokiej gamy dostępnych produktów. Dostępne są zarówno produkty płatne, jak i darmowe. Wersja darmowa kompilatora nie posiada ograniczeń wielkości kodu, jak często ma to miejsce w konkurencyjnych rozwiązaniach, nie posiada za to optymalizatora. Jednak duża ilość pamięci Flash sprawia, że nawet bez optymalizacji można przygotowywać skomplikowane oprogramowanie.
Środowisko oraz kompilator C/C++ są dostępne za darmo na stronach firmy Microchip. Producent dostarcza również biblioteki peryferiów oraz rozbudowany framework o nazwie Harmony. Dostępne są kreatory ułatwiające konfigurację wyprowadzeń mikrokontrolera oraz zegarów. Dodatkowo umożliwiają łatwą integrację z systemami operacyjnymi czasu rzeczywistego (np. FreeRTOS, openRTOS).
Firma Digilent Inc. dostarcza dwa rodzaje modułów rozszerzeń dla płytek Uno32 oraz uC32. Pierwsze to typowe dla Arduino moduły „nakładne” na płytkę prototypową (tzw. Shield). Dodatkowo dostępna jest bardzo szeroka oferta (prostych) modułów peryferyjnych (tzw. Pmod).
Moduły shield dostępne w ofercie to:
Podsumowanie
Moduły Uno32 i uC32 są bardzo interesującą alternatywą dla standardowych Arduino Uno. Mogą być wykorzystywane zarówno przez początkujących programistów, osoby chcące poznać mikrokontrolery PIC32, jak i znaleźć zastosowanie w profesjonalnych projektach. Bardzo dobrze przygotowane środowisko programistyczne wraz z dostarczonymi bibliotekami i przykładami ułatwia poznawanie układów oraz przyspiesza prace nad nowymi projektami. Dodatkową zaletą jest zgodność sprzętowa z Arduino oraz szeroki asortyment dedykowanych modułów rozszerzających.
REKLAMA |
REKLAMA |