Unikalne połączenie komunikacji, bezpieczeństwa i elastyczności w jednym mikrokontrolerze – PSoC
| TechnikaHistoria mikrokontrolerów (MCU) jest naznaczona stałym dążeniem do standaryzacji. W latach 90. producenci mikrokontrolerów konkurowali wydajnością oraz możliwościami w ramach własnych architektur rdzeni. Do 2010 roku większość z nich zdecydowała się na 32-bitową rodzinę Arm Cortex-M jako standardową architekturę dla MCU.
Czy to oznacza, że układy różnych producentów z tym samym rdzeniem Cortex-M są mniej lub bardziej zamienne? Niestety nie, bo poza jednakowym rdzeniem mikrokontroler składa się jeszcze z wielu bloków i modułów funkcjonalnych, a dodatkowo może być wykonany w różnych technologiach.
Różnice te są szczególnie uderzające w jednej rodzinie mikrokontrolerów opartych na Cortex-M, które słyną z wyjątkowej i innowacyjnej technologii – rodziny PSoC firmy Infineon. W czasach, gdy projekty wymagają coraz więcej interfejsów komunikacyjnych oraz są bardziej narażone na szybko zmieniające się wymagania klientów niż kiedykolwiek wcześniej, unikatowe cechy PSoC-ów stają się coraz cenniejsze dla inżynierów projektantów.
Trzy cechy charakterystyczne
Rodzina układów PSoC została opracowana na początku tego stulecia przez firmę Cypress Semiconductor, która została przejęta przez Infineona w 2020 roku. Firma dostrzegła rodzącą się potrzebę rynku przemysłowego, motoryzacyjnego i konsumenckiego, które poszukiwały uniwersalnego rozwiązania, za pomocą którego można obsługiwać różnego rodzaju czujniki, a na wyjściu udostępniać szybkie interfejsy komunikacyjne jak na przykład USB. Cypress zdał sobie również sprawę, że taki produkt ogólnego przeznaczenia byłby jeszcze bardziej wartościowy dla użytkownika, gdyby można było go łatwo dostosować do specyficznych wymagań aplikacji. Firma miała możliwości technologiczne, aby zrealizować taki pomysł, tj. kompetencje oraz własność intelektualną w zakresie wydajnych rozwiązań analogowych, komunikacji, w tym USB i programowalnej logiki. I tak narodziła się rodzina układów PSoC.
Oczywiście na przestrzeni lat układy PSoC zmieniły się wiele, ale nadal zapewniają te same trzy kluczowe korzyści dla projektantów produktów:
- Elastyczność – układy peryferyjne w PSoC-ach zaprojektowano z myślą o zapewnieniu maksymalizacji elastyczności. Na przykład przetwornik analogowo- cyfrowy (ADC) umożliwia konfigurowanie jego działania, w tym ustawianie napięcia odniesienia, obsługę wejść niesymetrycznych lub różnicowych, różne tryby wyzwalania sprzętowego lub programowego itp. Ponadto zintegrowana logika programowalna, taka jak uniwersalne bloki cyfrowe (Universal Digital Blocks) oraz programowalny routing umożliwiają elastyczną realizację aplikacji. Jest to odmienne podejście niż w przypadku standardowego mikrokontrolera, gdzie możliwości aplikacji są ograniczone do tego, co dają dostępne w ramach użytego chipa zasoby sprzętowe (patrz rys. 1). Zoptymalizowany zestaw bloków sprzętowych w PSoC często pozwala projektantowi wyeliminować wiele zewnętrznych komponentów, które byłyby wymagane w przypadku każdego innego MCU. Oszczędność miejsca i redukcja kosztów elementów są naturalną korzyścią wynikającą z elastyczności PSoC-ów. Ta elastyczność dostępna jest nie tylko na początku projektu, ale przez cały czas, dzięki czemu inżynierowie mogą dostosowywać funkcjonalność sprzętu w odpowiedzi na zmiany wymagań, bez konieczności kosztownego i czasochłonnego ponownego przeprojektowania PCB.
- Wydajne bloki analogowe zawarte w PSoC-ach pozwalają na bezpośrednie dołączanie do układu zaawansowanych czujników przy zachowaniu wysokiej rozdzielczości, liniowości i integralności sygnału wejściowego. Możliwości te najlepiej demonstruje funkcjonalność technologii pojemnościowego wykrywania dotyku CAPSENSE, która jest powszechnie wykorzystywana na przykład przez producentów sprzętu AGD. Zapewnia ona płynne działanie dotykowego interfejsu użytkownika w trudnych warunkach roboczych panujących w okapach, piekarnikach, płytach indukcyjnych czy pralkach. Dobrym przykładem wykorzystania możliwości obsługi wielu czujników jest inteligentny zamek do drzwi. Rysunek 2 pokazuje, w jaki sposób jeden MCU PSoC 4 może komunikować się z wieloma czujnikami w celu wykrywania ruchu, pomiaru natężenia oświetlenia, wibracji czy napięcia i prądu w sprzęcie zasilanym z baterii, a na wyjściu sterowania zamkiem i silnikiem.
- Łatwa do wdrożenia komunikacja – w pierwszych rozwiązaniach za komunikację odpowiadał przewodowy interfejs USB. Współczesne serie PSoC 4 i PSoC 6 mają teraz zintegrowaną komunikację Bluetooth Low Energy, a PSoC 6 obsługuje również Wi-Fi oraz interfejsy przewodowe CAN i USB, i daje możliwość skorzystania z chmury AWS lub Microsoft Azure.
Prostszy czy bardziej zaawansowany?
Obecnie projektanci mają do wyboru dwie serie produktów: PSoC 4 przeznaczony jest do tworzenia wieloczujnikowych aplikacji sterujących działających w trybie autonomicznym lub z podłączeniem do hosta przez CAN, USB lub BLE. Ponieważ prawie każdy PSoC 4 ma kontroler dotykowy CAPSENSE, ta seria jest często używana do realizacji sterowania urządzeniami bez mechanicznych przycisków i przełączników oraz tam, gdzie nie ma wyświetlacza z panelem dotykowym.
Rdzeń Arm Cortex-M0+ w PSoC 4 i bogaty zestaw programowalnych bloków analogowych i cyfrowych sprawia, że ten układ idealnie nadaje się także do innych zastosowań, gdzie używa się wielu czujników. Seria PSoC 4500 realizuje funkcje sterowania silnikiem i systemem zasilania. Na przykład w pralce PSoC 4500 może sterować silnikiem bębna i jednocześnie odpowiadać za interfejs użytkownika i inne funkcje systemowe.
PSoC 6 definiuje układy bardziej zaawansowane, w tym aplikacje IoT. Układy te zawierają dwa rdzenie: Arm Cortex-M4 (150 MHz) i Cortex-M0+ (100 MHz) i nadają się do realizacji złożonych obliczeń, uruchamiania systemu operacyjnego czasu rzeczywistego i stosu protokołów Wi-Fi/lub Bluetooth, a także do utrzymywania łączności z usługą w chmurze, taką jak Amazon Web Services (AWS).
Ta moc obliczeniowa nie obniża czasu pracy na baterii. Wykonany w zaawansowanym procesie technologicznym 40 nm układ PSoC 6 jest niezwykle energooszczędny i pobiera zaledwie 22 μA/MHz w trybie aktywnym. Architektura dwurdzeniowa ułatwia również oszczędzanie energii, ponieważ rdzeń Cortex-M0+ o niższej wydajności i pobieranej mocy może być używany do realizacji funkcji zawsze włączonych, takich jak odczyt stanu czujnika dotykowego, podczas gdy szybszy rdzeń Cortex-M4 może być utrzymywany w trybie uśpienia przez większość czasu, budząc się tylko po to, aby szybko wykonywać zadania związane z obsługą komunikacji Wi-filub Bluetooth.
Komunikacja w PSoC 6 jest realizowana za pomocą zestawu gotowych do użycia funkcji i oprogramowania narzędziowego ModusToolbox (patrz rys. 3) obsługującego wbudowany transceiver Bluetooth (w serii PSoC 63) lub zewnętrzne moduły Bluetooth/Wi-Fi AIROC.
Oprogramowanie i narzędzia Modus- Toolbox to portfolio zawierające gotowe do użycia stosy protokołów dla Wi-Fi Bluetooth, a także sterowniki urządzeń, pakiety obsługi płytek, RTOS, grafiki i funkcje zabezpieczające. Udokumentowane i przetestowane przykładowe fragmenty kodu pomagają szybko rozpocząć pracę z nowym projektem. Oprogramowanie połączone z chmurą usprawnia dołączanie urządzeń IoT do popularnych usług.
PSoC 6 jest proste i bezpieczne, ponieważ PSoC 6 został specjalnie stworzony dla IoT. Stąd układ ten jest idealnym wyborem dla sprzętu narażonego na cyberataki. Dlatego właśnie architektura PSoC 6 została zaprojektowana z myślą o silnych funkcjach bezpieczeństwa i aby to uprościć, wprowadzono linię układów MCU PSoC 64 Security. W urządzeniach PSoC 64 wbudowano tzw. bezpieczne środowiska wykonawcze (Secure Execution Environments) – strefy wykonywania aplikacji, które są sprzętowo odizolowane od innych stref w układzie, dzięki czemu bezpieczne funkcje nie mogą zostać naruszone przez funkcje niezabezpieczone. Bezpieczna strefa wykonawcza obsługuje również hierarchiczny kontekst ochrony, który oferuje klientom możliwość dalszego izolowania dostępu do zabezpieczonych zasobów. Ta sprzętowa i logiczna ochrona zabezpieczonych funkcji jest osiągana bez potrzeby stosowania zewnętrznej bezpiecznej pamięci lub bezpiecznego elementu tzw. secure memory lub secure element.
PSoC 6 ma sprzętowy akcelerator wspierający działanie algorytmów kryptograficznych i bezpieczną wewnętrzną pamięć na oprogramowanie firmware, aplikacje i chronione zasoby, takie jak klucze kryptograficzne. Dzięki szerokiemu zestawowi funkcji bezpieczeństwa, seria PSoC 64 uzyskała certyfikat PSA Level 2, dzięki czemu chipy te nadają się do użytku w aplikacjach z danymi o wysokiej wartości, narażonych na duże ryzyko przejęcia, takimi jak fizyczne tokeny używane w uwierzytelnianiu dwuetapowym.
Zasoby dla twórców aplikacji
Sercem środowiska programistycznego jest oprogramowanie narzędziowe ModusToolbox wraz z rozszerzeniem do zadań ML, zestaw bibliotek i oprogramowanie middleware, które pomagają wdrażać rozwiązania uczenia maszynowego. Do wstępnej oceny i weryfikacji pomysłów przeznaczone są rozbudowane płytki ewaluacyjne, w tym zestawy Pioneer do prototypowania. Płytki Pioneer są kompatybilne z Arduino i nakładkami Digilent Pmod.
Dla projektantów korzystających z układów PSoC przygotowano ponadto filmy instruktażowe i bogatą dokumentację techniczną na stronie internetowej Infineona. Platforma produktów PSoC jest wyjątkowo intuicyjna i łatwa we wdrożeniu ze względu na bezproblemową integrację mikrokontrolerów, płytek, narzędzi i środowiska IDE, oprogramowania i sterowników oraz przykładów kodu dla typowych aplikacji.
Na koniec należy wspomnieć o wartości dodanej. Chociaż układy PSoC oparte są na rdzeniu Arm Cortex-M, to jednak funkcjonalność, jaką zapewniają projektantom w zakresie możliwości konfiguracji platformy sprzętowej oraz późniejszej modernizacji do bieżących wymagań rynku, jest w tym przypadku wyjątkowa. W połączeniu z gotowymi funkcjami do łączenia się z chmurą i solidnymi zabezpieczeniami, seria PSoC zapewnia możliwości znacznego przyspieszenia, wprowadzania produktu na rynek i daje możliwość przeniesienia świata cyfrowego do rzeczywistości.
James Davis Starszy dyrektor ds. marketingu produktów Infineon
Infineon
www.infineon.com