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.
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.
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.
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).
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