PSoC5 - mikrokontroler PSoC z rdzeniem Cortex M3

PSoC5 - mikrokontroler PSoC z rdzeniem Cortex M3
Nieco ponad rok temu Cypress wprowadził do oferty zestawy CY8CKIT-049, zawierające oparte o rdzeń Cortex M0 układy PSoC4. Dzięki niskiej cenie, bogatym możliwościom konfiguracyjnym i wbudowanemu programatorowi stanowiły one ciekawą alternatywę dla wielu popularnych zestawów różnych producentów. Możliwość oddzielenia programatora KitProg od części uruchomieniowej umożliwiała zastosowanie części z mikrokontrolerem w jakiejś własnej aplikacji.

Pod koniec drugiego kwartału bieżącego roku, do bogatej oferty zestawów Cypressa dołączył CY8CKIT-059 oparty o SoC z rdzeniem Cortex-M3 - CY8C5888LTI z rodziny PSoC5LP.

Rysunek 1. Porównanie układów z rodziny PSoC5

Rodzina PSoC5LP jest aktualnie najlepiej wyposażoną grupą układów Cypressa. Oprócz rdzenia Cortex M3 pracującego z zegarem 8 MHz, wspieranego wielokanałowym DMA, kontrolerem przerwań, wbudowaną pamięcią EEPROM, bogatym wyborem interfejsów szeregowych (UART, CAN, I²S, USB), interfejsami GPIO z możliwością obsługi klawiatur dotykowych, wyświetlaczy LCD oraz - co oczywiste - charakterystyczną dla PSoC matrycę konfigurowalnych bloków cyfrowych UDB (24) i konfigurowalny podsystem analogowy.

Tak bogate wyposażenie oraz możliwość programowej konfiguracji peryferiów sprzętowych dla konkretnej aplikacji znacząco upraszczają budowę nawet złożonych urządzeń z zakresu sterowania, pomiarów itp.

Jest to tym łatwiejsze, że LP5888 ma przetwornik A/C typu sigma-delta o rozdzielczości aż 20 bitów oraz blok filtra cyfrowego. Porównanie układów z rodziny PSOC5 zamieszczono na rysunku 1.

Rysunek 2. Prawidłowo zainicjowany KitProg

W porównaniu do zestawu referencyjnego CY8CKIT-050 wycenionego na 99$, jest widoczne mocne okrojenie współpracujących peryferiów. Zestaw CY8CKIT-059 jest wyposażony w trzy diody LED oraz jeden przycisk. Dodatkowo jest dostępne gniazdo micro USB ułatwiające wykorzystanie interfejsu PSOC5LP w aplikacjach HID i innych. Płytka po wlutowaniu złącza IDC10 (raster 1,27 mm) umożliwia zaprogramowanie układu także poprzez programator MiniProg3.

Budowę mechaniczną oparto o sprawdzone rozwiązanie kitów rodziny CY8CKIT-049. Pierwszą cechą rzucającą się w oczy jest "budżetowe" opakowanie, będące jednocześnie skróconą instrukcją obsługi. Płytka jest dostarczana w kartonowej kopercie, w związku z czym nie są do niej dołączone żadne akcesoria (kabel USB, zworki, złącza).

Korzystając ze sprawdzonej koncepcji, zestaw wykonano na dzielonej płytce drukowanej. Cześć z programatorem ma wtyk USB wykonany w formie złącza krawędziowego. Wydaje się, że część programatora mogłaby być o te kilka milimetrów węższa pozostawiając miejsce dla typowego wtyku w przypadku "ciasno" rozmieszczonych portów USB.

Wszystkie wyprowadzenia GPIO PSoC5 dostępne są w dwóch rzędach o rozstawie zgodnym z uniwersalną płytką drukowaną lub stykową, co ułatwia samodzielną egzystencję drugiej części zestawu w docelowym układzie prototypowym.

Takie dosyć radykalne uproszczenie budowy umożliwiło zaoferowanie zestawu w cenie 10$, czyli prawie za połowę ceny 8-bitowego Arduino! Jest to chyba jeden z tańszych zestawów uruchomieniowych Cortex M3. Takie podejście producenta zapewne zaskarbi przychylność wielu użytkowników.

Jako środowisko programistycznie wykorzystywany jest PSoC Creator. Podobnie jak dla pozostałych rodzin, umożliwia on konfigurowanie, programowanie i debugowanie. Jest to pełna funkcjonalna wersja oprogramowania bez żadnych ograniczeń na wielkość kodu wynikowego, zawartość bibliotek itp. Dodatkowo, dla zestawu przygotowano przykładowe aplikacje do pobrania ze strony producenta.

Aby rozpocząć pracę z zestawem należy pobrać, zainstalować i zarejestrować oprogramowanie PSoC Creator. Po przyłączeniu płytki i zainstalowaniu driverów USB, jest możliwe sprawdzenie zestawu za pomocą aplikacji testowych z pakietu CY8CKIT059SetupOnlyPackage_RevSA.exe.

Rysunek 3. Aktualizowanie komponentów bibliotecznych

Rysunek 4. Aktualizowanie firmware programatora

Oprócz mikrokontrolerowego "Hello World" - migającej diody LED, jest dostępna aplikacja obsługi przetwornika A/C z wysyłaniem danych przez USB (emulacja UART) oraz symulator myszy (HID) kreślący kursorem kwadrat na ekranie komputera PC.

Po prawidłowej detekcji, zestaw powinien być widoczny w Menedżerze Urządzeń, jak pokazano na rysunku 2. Po uruchomieniu środowiska i wczytaniu aplikacji CE55277 (ADC UART) warto sprawdzić czy mamy aktualne bloki biblioteczne wybierając z menu ProjectUpdate Components (Project), jak pokazano na rysunku 3.

Po skompilowaniu projektu (Shift+F6) wgrywamy aplikację do procesora (Ctrl+F5). Przy pierwszym uruchomieniu zestawu jest konieczna aktualizacja firmware programatora (rysunek 4) za pomocą aplikacji PSoC Programmer (rysunek 5).

W związku z wysyłaniem danych poprzez port USB procesora PSOC5LP bez użycia mostu USB/UART programatora, jest konieczne dołączenie zestawu (poprzez micro USB) do kolejnego wolnego portu USB komputera. Jeżeli wszystko przebiegło pomyślnie, można sprawdzić działanie aplikacji uruchamiając terminal (parametry transmisji: 115200, 8, n, 1).

Rysunek 5. Okno programu PSoc Programmer

Rysunek 6. Wyniki działania przykładowej aplikacji obsługi przetwornika A/C

Rezultat jej pracy pokazano na rysunku 6. Po ponownej detekcji zestawu przez kontroler USB, sterowanie pracą aplikacji odbywa się z terminala: za pomocą "c" wybieramy pojedynczy odczyt A/C (P0.0), "s" - odczyt ciągły, "x" - zatrzymuje odczyt ciągły, "e" - zwraca zliczoną liczbę naciśnięć klawisza. Po sprawdzeniu aplikacji testowej nie pozostaje nic innego jak sprawdzenie możliwości PSOC5LP we własnych aplikacjach.

Podsumowując, zestaw jest ciekawą propozycją dla osób chcących się zapoznać z nieco odmiennym podejściem do implementacji rdzenia ARM. Zestaw CY8CKIT-059 dzięki niewygórowanej cenie, dostępnym przykładom i darmowemu środowisku PSoC Creator ułatwia zapoznanie się z możliwościami najlepiej wyposażonego przedstawiciela rodziny PSoC5. Ciekawe czy podobnie jak w wypadku wprowadzenia zestawów PSoC4, element14 ogłosi inicjatywę "100 projektów w 100 dni"? Będziemy trzymali rękę na pulsie.

Adam Tatuś, EP

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik październik 2020

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio październik 2020

Świat Radio

Magazyn użytkowników eteru

Automatyka Podzespoły Aplikacje październik 2020

Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna październik 2020

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich wrzesień 2020

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów