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

Artykuł ukazał się w
Elektronika Praktyczna
wrzesień 2015

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik kwiecień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio marzec - kwiecień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje marzec 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna kwiecień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich kwiecień 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów