wersja mobilna

Nowości od Cypressa

Numer: Czerwiec/2019

Układy PSoC (programowalny system na chipie) to rodzina scalonych mikrokontrolerów firmy Cypress Semiconductor. Układy te zawierają w sobie rdzeń procesora oraz zespół zintegrowanych, konfigurowalnych urządzeń peryferyjnych - analogowych i cyfrowych - łączonych ze sobą za pomocą programowalnej macierzy połączeń dla sygnałów mieszanych - tak analogowych, jak i cyfrowych.

Pobierz PDF

Historia tej klasy układów sięga 2002 roku. Wtedy firma Cypress rozpoczęła sprzedaż pierwszej generacji tych układów. W kwietniu 2013 roku Cypress wypuścił na rynek czwartą generację układów - PSoC 4. Zawierają one 32-bitowy procesor z rdzeniem ARM Cortex-M0 z programowalnymi blokami analogowymi (wzmacniacze operacyjne i komparatory), programowalnymi blokami cyfrowymi (tak zwane bloki UDB, oparte na architekturze układów PLD) i blokami komunikacji szeregowej (dla interfejsów takich jak SPI, UART, I²C) oraz blokami czasowymi - licznikami, timerami i modulatorami PWM. Wszystkie te bloki mogą być ze sobą łączone w programowalny sposób, dzięki czemu możliwe jest połączenie niemalże dowolnego fizycznego pinu wyjściowego układu PSoC z dowolnym blokiem funkcjonalnym zintegrowanym w układzie.

Układy PSoC składają się generalnie z rdzenia, konfigurowalnych bloków analogowych i cyfrowych oraz zestawu programowalnych połączeń wewnętrznych pomiędzy tymi blokami i pinami zewnętrznymi. Konfigurowalne bloki, zwłaszcza analogowe i PLD, w PSoC są największą różnicą w porównaniu z innymi mikrokontrolerami dostępnymi na rynku.

PSoC przypomina układ ASIC: blokom można przypisać szeroki zakres funkcji i łączyć je ze sobą na różne sposoby. Jednakże w przeciwieństwie do układów ASIC do stworzenia niestandardowej konfiguracji, nie jest wymagany specjalny proces produkcji, tylko specjalny kod startowy, który jest tworzony przez środowiska programistyczne takie jak PSoC Designer czy PSoC Creator.

PSoC przypomina układ FPGA: po włączeniu zasilania system musi zostać skonfigurowany, ale konfiguracja ta odbywa się poprzez ładowanie instrukcji z wbudowanej pamięci Flash. W układzie tym znaleźć można także bloki logiki programowalnej - UDB.

PSoC najbardziej jednak przypomina mikrokontroler połączony z układem PLD z dodatkowymi, programowalnymi blokami analogowymi. Kod jest wykonywany w celu interakcji z określonymi przez użytkownika funkcjami peryferyjnymi (zwanymi „komponentami”), wykorzystującymi automatycznie generowane interfejsy API i procedury przerwań. PSoC Designer lub PSoC Creator generują kod konfiguracji startowej. Obie integrują interfejsy API, które inicjują wybrane przez użytkownika komponenty na potrzeby użytkowników w interfejsie graficznym typu Studio-Studio.

Układy PSoC używane są w prostych urządzeniach, takich jak elektryczne szczoteczki do zębów, ale także w złożonych systemach, jak dekodery telewizyjne. Jednym ze słynniejszych zastosowań układów PSoC jest system sterowania odtwarzaczem muzycznym Apple iPod - układ ten odpowiedzialny był za kontrolę dotykowego, pojemnościowego kółka-przycisku na środku urządzenia.

W 2014 roku Cypress rozszerzył rodzinę PSoC poprzez zintegrowanie modułu transceivera Bluetooth Low Energy z układem opartym na PSoC 4 Cortex-M0 w pojedynczej, monolitycznej kości. W 2016 roku Cypress zaprezentował nową serię układów PSoC 4, oznaczoną literą S. Jest ona wyposażony w procesor z rdzeniem ARM Cortex-M0+. Rodzina ta jest cały czas rozwijana i poszerzana o nowe układy.

Najnowszymi produktami Cypressa, jeśli chodzi o układy PSoC jest rodzina układów PSoC 4700 oraz nowoczesne układy PSoC 6 do zastosowań w systemach Internetu Rzeczy (IoT).

Rodzina PSoC 4700 dodaje zaawansowane technologie sensorowe do portfolio produktów z linii 32-bitowych mikrokontrolerów z rdzeniem ARM Cortex-M0 i M0+. Umożliwia to tworzenie innowacyjnych rozwiązań nowej generacji. Rodzina ta obejmuje także serię PSoC 4700S, która ma wsparcie dla sensorów indukcyjnych, zapewniających niezawodne i w pełni wodoodporne interfejsy użytkownika.

Główne cechy układów z linii PSoC 4700S:

  • 32-bitowy mikrokontroler:
    • Rdzeń ARM Cortex-M0+
    • Zegar rdzenia do 48 MHz
    • Do 32 KB pamięci Flash
    • Do 4 KB pamięci SRAM
  • Programowalne bloki analogowe
    • Pojedynczy, 10-bitowy przetwornik analogowo-cyfrowy (ADC) o częstotliwości próbkoania do 16,8 kHz
    • Dwa komparatory o zredukowanym poborze mocy
    • Dwa 7-bitowe przetworniki cyfrowo-analogowe (DAC) z wyjściem prądowym. Mogą pracować wspólnie jako jeden DAC o rozdzielczości 8 bit
    • Blok MagSense do detekcji metalowych przedmiotów
    • Blok CapSense, wsparcie dla systemów pomiaru pojemności, w tym przycisków pojemnościowych itp.
  • Programowalne bloki cyfrowe
    • Pięć konfigurowalnych, 16-bitowych timerów/liczników/modulatorów PWM
    • Dwa bloki komunikacji szeregowej. Każdy z nich skonfigurować można do pracy jako interfejs I²C, SPI lub UART.

Układ dostępny jest w szerokiej gamie obudów:

  • WLCSP na 25 kulkach
  • 24-pinowy QFN
  • 48-pinowy TQFP

Układy mogą mieć do 36 pinów wejścia/wyjścia ogólnego przeznaczenia, w tym 16 pinów Smart I/O.

Układy z rodziny PSoC 4700 umożliwiają tworzenie jeszcze bardziej kompaktowych i eleganckich interfejsów użytkownika. Dzięki systemom detekcji indukcyjnej czy pojemnościowej możliwa jest konstrukcja futurystycznych interfejsów, a dzięki doskonałym parametrom nowych PSoCów (SNR dla sensora indukcyjnego powyżej 800:1, SNR dla detekcji pojemnościowej ponad 300:1) układ tego rodzaju jest niezwykle odporny na zakłócenia czy szum. A ponadto, algorytmy automatycznego strojenia układów pozwalają na dodatkową kompensację rozrzutu produkcyjnego samych układów scalonych, jak i całych urządzeń. Dzięki temu projektowanie i uruchamianie urządzeń korzystających z tego rozwiązania, jest prostsze i tańsze, niż stosowanie konkurencyjnych rozwiązań o mniejszym stopniu integracji.

Drugą nowością w rodzinie układów PSoC jest rodzina PSoC 6. Wypełnia ona lukę między drogimi, wymagającymi dużej mocy procesorami aplikacyjnymi a mikrokontrolerami o relatywnie niskiej wydajności (MCU). Ultraenergooszczędna architektura układów PSoC 6 zapewnia wysoką wydajność przetwarzania, wymaganą przez urządzenia Internetu Rzeczy (IoT). Eliminuje to kompromisy między poborem mocy a osiąganą wydajnością obliczeniową. Układy PSoC 6 wyposażone są w dwa rdzenie: jeden to wydajny ARM Cortex-M4, a drugi to Cortex-M0+ o niskim poborze mocy. To, który z rdzeni w danej chwili pracuje, zależne jest od wymagań - potrzebnej mocy obliczeniowej i dostępnego zasilania.

Główne cechy układów z rodziny PSoC 6:

  • 32-bitowy mikrokontroler:
    • Pojedynczy rdzeń ARM Cortex-M4 lub dwa rdzenie, z dodatkowym Cortex-M0+
    • Zegar rdzenia do 150 MHz (Cortex-M4) i 100 MHz (Cortex-M0+)
    • Do 2 MB pamięci Flash
    • Do 1 MB pamięci SRAM

Szeroki wybór programowalnych bloków analogowych:

Przetworniki analogowo-cyfrowe i cyfrowo-analogowe

Wbudowane wzmacniacze operacyjne i komparatory o zredukowanym poborze mocy

Blok CapSense, wsparcie dla systemów pomiaru pojemności, w tym przycisków pojemnościowych itp.

Do 12 uniwersalnych, programowalnych bloków cyfrowych

Wbudowany interfejs Bluetooth Low Energy

Układ dostępny jest w szerokiej gamie obudów do montażu powierzchniowego: BGA, MCSP, QFN, WLCSP i innych.

Nowe układy przeznaczone są do zastosowań w systemach IoT. W związku z tym układy z serii PSoC 64 wyposażono w dedykowane do tego rodzaju aplikacji systemy bezpieczeństwa. Wraz z rosnącą liczbą urządzeń łączących się z Internetem, coraz większą wagę przykłada się do bezpieczeństwa połączeń między sprzętem, aplikacjami w chmurze i serwerami, a także użytkownikami i usługami. Bezpieczne mikrokontrolery z rodziny PSoC 64 integrują w sobie znaną architekturę PSoC 6 o niskim poborze mocy i elastycznej wydajności obliczeniowej, dzięki dwóm, wbudowanym rdzeniom ARM (Cortex-M0 oraz Cortex-M4) z dobrze zorganizowanym oprogramowaniem dla platform IoT, aby zapewnić bezpieczne rozwiązanie dla systemów Internetu Rzeczy, które „po prostu działa”, jak chwali się producent.

Rdzeń Cortex-M4 w układach PSoC 64 służy do uruchamiania bogatego środowiska wykonawczego, w którym można opracować bardzo zróżnicowaną aplikację. Dostępne są biblioteki dla tej platformy, dedykowane do realizacji bezpiecznych połączeń z chmurą.

Z kolei drugi rdzeń układu PSoC 64 - Cortex-M0+ polecany jest do do ustanowienia bezpiecznego środowiska wykonawczego służącego do bezpiecznej realizacji operacji niskopoziomowych i komunikacji z lokalnie znajdującym się sprzętem - sensorami, sterownikami itp.

Dzięki takiemu podejściu deweloper ma do dyspozycji dwa odizolowane od siebie bezpieczne środowiska wykonawcze - jedno dostępne z zewnątrz, z poziomu serwerów w chmurze, a drugie odizolowane od sieci, realizujące kwestie sprzętowe. Ponadto w bezpiecznym środowisku wykonawczym znajduje się sprzętowo izolowany „root-of-trust” (najniższy poziom systemu kryptograficznego z najbardziej zaufanymi usługami). Podstawą zaufania w systemie jest kryptografia wspomagana sprzętowo, wbudowany generator rzeczywistych liczb losowych oraz zabezpieczony sprzętowo magazyn danych.

Zaufane usługi uruchamiane w tych układach wykorzystują najwyższej klasy sprzętowy root-of-trust, obejmują bezpieczne uruchamianie (bootloader), atestację, bezpieczeństwo warstwy transportowej (TLS) oraz sprzętową ochronę aktualizacji oprogramowania.

Nowym układom od Cypressa towarzyszy także aktualizacja środowiska deweloperskiego, dedykowanego do nowoczesnych mikrokonrolerów z rodziny PSoC. PSoC Creator to zintegrowane środowisko deweloperskie (IDE) dedykowane dla układów z serii PSoC. Ich specyfika związana jest ze specyfiką samych układów - IDE. Pozwala to na konfigurowanie hardware w systemie, a także edycję i kompilowanie firmware.

W systemie wbudowany jest edytor graficzny do konfiguracji peryferiów w systemie. W pakiecie znajdziemy ponad 150 gotowych, zweryfikowanych komponentów, takich jak interfejsy I²C, USB, UART, SPI, CAN, LIN oraz Bluetooth Low Energy, a także kompletne tory analogowe ze wzmacniaczami, filtrami oraz przetwornikami analogowo-cyfrowami (ADC) i cyfrowo-analogowymi (DAC). Konfigurator ten generuje dynamiczne biblioteki API, które można wykorzystać następnie we wbudowanym kompilatorze C do stworzenia firmware dla układu. Możliwe jest też eksportowanie stworzonych bibliotek do zewnętrznych środowisk programistycznych, jeśli preferujemy takie rozwiązanie.

Cypress zaprezentował niedawno nową wersję PSoC Creatora - wersję 4.2. Oprócz wielu drobnych ulepszeń i poprawek błędów, PSoC Creator 4.2 dodaje obsługę nowej linii produktów - PSoC 6, opisanych powyżej. Nowa wersja IDE pozwala na tworzenie aplikacji do układów jedno- i dwurdzeniowych. PSoC Creator 4.2 ułatwia rozwój firmware'u do aplikacji dwurdzeniowych, dzieląc kod źródłowy na osobne foldery w eksploratorze przestrzeni roboczej. Możliwa jest łatwa identyfikacja rdzenia, na którym będzie wykonywany kod źródłowy aplikacji, a ponieważ oba rdzenie mają dostęp do wszystkich urządzeń peryferyjnych i pamięci, łatwo można przenieść funkcjonalność z jednego rdzenia na drugi, po prostu przeciągając pliki do preferowanego folderu głównego.

Projekty dla nowych układów z serii 6 w PSoC Creator 4.2 budowane są automatycznie, tak jak dla starszych układów PSoC 4. Dzięki temu nie trzeba marnować czasu na utrzymywanie zależności w makefile czy odbudowywanie ich za każdym razem, gdy wprowadzimy w kodzie jakąś drobną zmianę. Rezultatem kompilacji jest jeden plik, który po prostu wykorzystujemy do zaprogramowania procesora i tyle. Debugowanie układów PSoC 6 w nowym IDE jest równie proste. Możliwe jest podłączenie się (w przypadku układów dwurdzeniowych) do dowolnego z rdzeni ARM w systemie, aby monitorować w czasie rzeczywistym jego pracę.

W PSoC Creator 4.2 znajdziemy ogromną bibliotekę sterowników dla wszystkich elementów, jakie napotkać możemy w nowej serii układów. W układach PSoC 7 dostępnych jest aż 56 różnych peryferiów cyfrowych oraz 7 peryferiów analogowych i dodatkowo systemy takie jak CapSense, USB, Bluetooth Low Energy (BLE) oraz interfejsy do podłączania pamięci szeregowej czy mikrofonów cyfrowych PDM-PCM. Sterowniki do obsługi tych peryferiów dostarczane są przez PDL (Bibliotekę Sterowników Peryferiów); jest to zestaw wydajnych, kompatybilnych z MISRA sterowników z doskonale opisaną dokumentacją, ułatwiającą implementację tych elementów w swoim oprogramowaniu. PSoC Creator 4.2 ułatwia to jeszcze bardziej, importując automatycznie z PDL te drivery, które potrzebne są w naszym projekcie do obsługi peryferiów, które wybraliśmy na etapie konfiguracji sprzętu.

Nowe zestawy uruchomieniowe

Nowe układy i zaktualizowane środowisko programistyczne to nie wszystko, co zaprezentował niedawno Cypress. Wraz z wprowadzeniem do sprzedaży nowej serii układów z rodziny PSoC do sklepów trafiła też nowa płytka deweloperska z układem PSoC 63 - PSoC 6 BLE Pioneer Kit.

Zestaw deweloperski oparty jest na niedrogiej platformie PSoC 63. W systemie znaleźć możemy mikrokontroler CY8C6347 - dwurdzeniowy układ PSoC 63, wyposażony w ARM Cortex-M4, taktowany zegarem do 150 MHz, pracujący jako główny rdzeń oraz ARM Cortex-M0+, taktowany takim samym zegarem, jako rdzeń pomocniczy. Rdzenie mają do dyspozycji 1024 KB pamięci Flash oraz 288 KB pamięci SRAM. Układ ten ma 78 pinów GPIO, wyposażony jest w siedem programowalnych peryferiów analogowych i 56 bloków cyfrowych.

Na płytce znaleźć możemy wszystkie elementy potrzebne do testowania technologii CapSense, wbudowanej w układ. Na PCB znaleźć możemy pola, które wykorzystane mogą być jako dwa przyciski, pięciopozycyjny slider oraz czujnik zbliżeniowy. W PSoC 63 zaimplementowano czwartą generację tej technologii, która pozwala na implementację wielu strategii detekcji przez czujniki pojemnościowe.

Płytka deweloperska wyposażona jest w wiele wyprowadzeń, umożliwiających podłączanie zewnętrznych peryferiów. Jednym z nich jest przygotowany przez Cypressa ekran o przekątnej 2,7 cala. Wyświetlacz ten wykonany został w technologii e-ink, dzięki czemu pobiera on niezwykle mało prądu - idealnie nadaje się do aplikacji bateryjnych. Moduł z wyświetlaczem zawiera także termistor, czujnik ruchu o sześciu stopniach swobody oraz cyfrowy mikrofon.

Moduł deweloperski PSoC 6 BLE Pioneer Kit wyposażony jest w system zasilania wykorzystujący port typu USB-C. Można przez ten port nie tylko zasilać sam testowany układ, ale także ładować akumulator litowo-jonowy, znajdujący się w module. System zasilania działać może także w drugą stronę, tzn. zasilać urządzenia podłączone do portu USB-C, jeżeli płytka deweloperska zasilana jest z innego źródła.

Jak sama nazwa wskazuje, w module tym odnaleźć można interfejs Bluetooth Low Energy (BLE). Na płytce deweloperskiej zintegrowano cały tor sygnałowy wraz z anteną. Dzięki temu system jest w pełni kompatybilny z BLE 5.0

Podsumowanie

Mimo że historia układów PSoC ma ponad 15 lat, Cypress dba o uaktualnianie tej linii układów. Najnowsze, zaprezentowane niedawno układy z serii PSoC 4 oraz 6 wykorzystują nowoczesne i popularne w przemyśle rdzenie ARM, łącząc je z programowalnymi blokami logicznymi i analogowymi, charakterystycznymi dla układów PSoC. Nowym układom towarzyszy ekonomiczna płytka deweloperska oraz aktualizacja środowiska deweloperskiego. Jeśli jeszcze nie korzystaliście z układów PSoC, to nowe układy z serii 4700 u 6x są doskonałą okazją, by je wypróbować.

Nikodem Czechowski

Pozostałe artykuły

Dwurdzeniowe dsPIC33CH w praktyce

Numer: Czerwiec/2019

Dzięki uprzejmości firmy Microchip stałem się posiadaczem zestawu dsPI33CH Curiosity Development Board (fotografia tytułowa). Jest to testowa platforma mająca na pokładzie opisywany już w "Elektronice Praktycznej" dwurdzeniowy mikrokontroler dsPIC33CH128MP508. Wielordzeniowe mikroprocesory nie są czymś niezwykłym, ale w przypadku mikrokontrolerów takie rozwiązania dopiero zaczynają się pojawiać.

LoRaWAN - moduł ATSAMR34-XPro

Numer: Maj/2019

LoRaWAN jest radiowym protokółem komunikacyjnym, który pozwala łączyć się z Internetem urządzeniom IoT wyposażonym w łącze radiowe. Połączenie nie jest realizowane wprost, ale za pomocą specjalnych stacji bazowych nazywanych koncentratorami. Bardzo ważną cechą standardu jest możliwość uzyskania dużego zasięgu liczonego w kilometrach przy bardzo ograniczonej mocy nadawania (20 dBm),a co za tym idzie przy małym poborze ...

Mikrokontrolery STM32G0

Numer: Kwiecień/2019

Mikrokontrolery to elementy, które są używane w zastosowaniach, o których kiedyś nawet nie pomyślano. Niska cena powoduje, że wykorzystuje się je na szeroką skalę. Przez długi czas najtańsze były proste jednostki 8-bitowe, ponieważ ich struktury półprzewodnikowe zajmowały relatywnie małe powierzchnie krzemu. Wydajne mikrokontrolery 16-bitowe, a następnie 32-bitowe oferowały coraz większe możliwości, ale jednocześnie ...

Nowe mikrokontrolery Microchip DSC z rodziny dsPIC33CH

Numer: Luty/2019

Mikrokontrolery z rodziny dsPIC33 są przeznaczone głównie do stosowania w układach automatyki i sterowania, wymagających wykonywania złożonych algorytmów. Wydajny, 16-bitowy rdzeń RISC jest zintegrowany z jednostką DSP zoptymalizowaną do szybkiego wykonywania algorytmów przetwarzania cyfrowego. Takiemu połączeniu producent nadał nazwę Digital Signal Controllers - DSC.

Arduino dla mikrokontrolerów STM32 (4)

Numer: Styczeń/2019

W poprzednich artykułach z tego cyklu pokazano, jak skonfigurować środowisko programistyczne Arduino do pracy z mikrokontrolerami STM32 oraz jak zrealizować aplikację używającą portów wejścia/wyjścia i interfejsu szeregowego UART. Ta część kontynuuje wątek aplikacyjny, demonstrując sposób wykorzystania kolejnego zasobu: przetwornika A/C.

Mobilna
Elektronika
Praktyczna

Elektronika Praktyczna

Lipiec 2019

PrenumerataePrenumerataKup w kiosku wysyłkowym

Elektronika Praktyczna Plus

lipiec - grudzień 2012

Kup w kiosku wysyłkowym