Strukturę wewnętrzną układów rodziny PSoC4000 pokazano na rysunku 1. Wyraźnie widać, że głównym celem przy opracowaniu procesorów była minimalizacja kosztów. Rdzeń jest taktowany niższą częstotliwością (16 MHz), zostały ograniczone pamięci programu i danych, układy pozbawione są przetworników A/C. Z peryferiów analogowych pozostawiono tylko komparator analogowy oraz prądowy przetwornik C/A. Procesor okrojono także z programowalnych bloków do komunikacji szeregowej SCB, których funkcjonalność ograniczono do obsługi magistrali I²C.
Układy PSoC40xx pozbawione są także najbardziej charakterystycznej cechy procesorów Cypress'a, czyli uniwersalnych, programowalnych bloków logicznych UDB. Do dyspozycji użytkownika pozostawiono tylko programowalny blok PWM. Oczywiście, mikrokontrolery mają obsługę klawiatur dotykowych CSD. W zależności od typu procesora zmieniają się wielkość pamięci, liczba linii GPIO i związana z nimi wielkość obudowy. Bez zmiany pozostaje zakres napięć zasilania 1,71...5,5 V. Mikrokontrolery są oferowane o obudowach SO8, SO16, QFN16, QFN24. Dokładne porównanie wyposażenia umieszczono w tabeli 1.
Głównym przeznaczeniem rodziny PSoC4000 jest zastąpienie w aplikacjach procesorów 8 i 16 bitowych. Preferowane obszary zastosowania to inteligentne interfejsy użytkownika z klawiaturami dotykowymi, zarówno w produktach komercyjnych, jak i przemysłowych. Nie wyklucza to oczywiście innych obszarów zastosowania, w których ogromną rolę odgrywa wydajność oraz cena układu.
Jednocześnie jako wsparcie projektowe wprowadzono zestaw uruchomieniowy PSoC 4000 (CY8CKIT-040), którego sercem jest układ CY8C4014 w obudowie QFN24 oraz wbudowany programator/debugger oparty o PSoC5. Po zmianie oprogramowania mikrokontroler PSoC5 może być wykorzystany samodzielnie, więc nabywając zestaw mamy możliwość - podobnie jak w wypadku Pioneera PSoC4 - przetestowania dwóch rodzin PSoC. Całość zestawu uzupełnia kilka drobnych peryferiów, m.in. dioda LED RGB, pamięć FRAM z interfejsem I²C.
Złącza rozszerzeń zestawu zgodne są mechanicznie z Arduino, co umożliwia użycie szerokiej gamy dostępnych płytek rozszerzeń. Cieszy też fakt wpisania się firmy Cypress w trend innych producentów układów uruchomieniowych i dostarczenie kompletnego zestawu PSoC 4000 Pionier Kit w cenie 30 dolarów, co ma ogromne znaczenie dla budżetu konstruktora - elektronika.
W skład zestawu, opakowanego w charakterystyczne dla Cypressa pudełko, wchodzą: płytka bazowa, nakładka z klawiaturą dotykową (naklejka z daleka łudząco przypomina ekran graficzny LCD), kabel USB-Mini, zestaw zworek. Jako środowisko programistycznie jest używany - podobnie jak dla pozostałych rodzin - graficzny PSoC Creator w wersji nowszej od 3.0, umożliwiający konfigurowanie i programowanie układów.
Jest to pełna, funkcjonalna wersja oprogramowania bez żadnych ograniczeń odnośnie do wielkości kodu wynikowego, zawartości bibliotek itp. Wsparcie techniczne jest dostępne stronie producenta pod adresem http://www.cypress.com/?rID=94456. Do zestawu można pobrać instrukcje obsługi i opis "szybkiego" startu oraz pełną dokumentację techniczną. Wygląd zestawu przedstawia fotografia 2.
Funkcje elementów oraz opis złącz rozszerzeń zestawu pokazano na rysunku 3. Podobnie jak inne "mikromocowe" zestawy uruchomieniowe, Pioneer 4000 umożliwia pomiar całkowitego pobieranego prądu w celu oceny energochłonności aplikacji, służy do tego zwora J13 w miejsce, której można włączyć miliamperomierz. Zestaw umożliwia również programowanie procesora poprzez złącze ISP za pomocą programatora zewnętrznego.
Aplikację tworzy się za pomocą programu PSoC Creator w wersji nowszej niż 3.0. Dla sprawdzenia działania układu można po uruchomieniu oprogramowania wybrać jeden z kilkunastu przykładów (rysunek 4) dostarczonych przez producenta, np. PWMExample.
Po otwarciu projektu zostaje wyświetlony opis w pliku pdf wraz z opisem niezbędnych modyfikacji. Najważniejsza z nich jest zmiana pinu sterującego LED zdefiniowanego w przykładzie dla zestawu Kit-042. W tym celu wybieramy w projekcie konfigurację wyprowadzeń (PWMExample.cydwr) i w okienku wyboru ustawiamy pin P1.1. Następnie program należy skompilować i zaprogramować mikrokontroler (rysunek 6). Po poprawnym zaprogramowaniu zielona LED powinna pulsować, czyli pierwsze PSoCe za płoty, a teraz spokojnie można przejść do pracy własnej z podręcznikiem i wykorzystać wszystkie możliwości najmniejszych 32-bitowych Cortexów.
Zgodnie z zapowiedziami Cypressa w najbliższym czasie należy oczekiwać procesorów Cortex-M0 o rozszerzonej do 128kB/32KB pamięci programu i danych, czyli układów CY8C44xx, CY8C46xx.
Adam Tatuś, EP