PSoC 6 BLE Pioneer Kit – zestaw rozwojowy z układem Cypress PSoC 6
Artykuł prezentuje możliwości układów PSoC 6 firmy Cypress Semiconductor. Demonstruje również możliwości zestawu rozwojowego PSoC 6 BLE Pioneer Kit oraz oprogramowania PsoC Creator
Internet Rzeczy rozwija się niezwykle dynamicznie. Na świecie powstaje coraz więcej inteligentnych, przenośnych urządzeń, które można podłączyć do sieci. Jedną z rodzin mikrokontrolerów, które zaprojektowano specjalnie do zastosowań w IoT, jest rodzina PSoC 6 (Programmable System-on-Chip) produkowana przez firmę Cypress Semiconductor. Możliwości układu można przetestować za pomocą zestawu rozwojowego PSoC 6 BLE Pioneer Kit, który został opisany w poniższym artykule.
Układ PSoC 6 ma za zadanie załatać lukę pomiędzy wydajnymi, ale trudnymi w programowaniu i prądożernymi procesorami aplikacyjnymi, a mikrokontrolerami o mniejszej mocy obliczeniowej. Układ firmy Cypress, przy niskim poborze prądu, zapewnia moc obliczeniową wymaganą w urządzeniach IoT. Procesor zawiera dwa wbudowane rdzenie: ARM Cortex-M4, który obsługuje zadania o większej złożoności obliczeniowej, a także ARM Cortex-M0+ dla zadań o zoptymalizowanym poborze mocy oraz współpracy z blokami zapewniającymi bezpieczeństwo.
Ze względu na częste zasilanie urządzeń IoT z baterii, PSoC 6 został zoptymalizowany pod kątem niskiego poboru prądu. Dzięki wykorzystaniu technologii 40 nm udało się uzyskać pobór prądu 22 µA/MHz dla rdzenia Cortex-M4 oraz 15 µA/MHz dla rdzenia Cortex-M0+. Układ zawiera też wbudowane funkcje zapewniające bezpieczeństwo transmisji danych, co jest kolejnym kluczowym warunkiem przy projektowaniu urządzeń IoT.
Na rysunku 1 pokazano architekturę mikrokontrolera Cypress PSoC 6. Moduły zaznaczone kolorem granatowym przeznaczone są do komunikacji z rdzeniem Cortex-M4, kolor błękitny oznacza moduły skomunikowane z rdzeniem Cortex-M0+, natomiast moduły w kolorze szarym są wspólne dla obu rdzeni.
Rys. 1. Architektura mikrokontrolerów PSoC 6
Rodzina procesorów Cypress PSoC składa się z kilku serii, zależnie od przeznaczenia. Niższe serie nie zawierają opisanego powyżej rdzenia Cortex-M0+. Różnią się także ilością peryferiów, rozmiarem pamięci Flash i SRAM, a także obecnością modułów komunikacji bezprzewodowej. Na rysunku 2 znajduje się wykres symbolizujący ilość funkcji i wydajność poszczególnych układów, a w tabeli 1 wyszczególniono dokładne różnice pomiędzy mikrokontrolerami.
Rys. 2. Wykres obrazujący możliwości poszczególnych serii układów PSoC 6
Tabela 1. Serie mikrokontrolerów z rodziny Cypress PSoC 6
Seria
mikrokontrolerów |
Rdzeń | Pamięć wbudowana | Interfejs CapSense | Peryferia programowalne | Bezpieczeństwo | Komunikacja |
PSoC 63 Connectivity Line |
Cortex-M4 150 MHz, Cortex-M0+ 100 MHz |
Do 2048 KB Flash, 512 KB SRAM | Zaawansowany – detekcja odległości, sterowanie gestami | Cyfrowe, Analogowe | Akcelerator kryptograficzny, zaufane środowisko uruchomieniowe | USB, BLE, Wi-Fi* |
PSoC 62 Performance Line |
Cortex-M4 150 MHz, Cortex-M0+ 100 MHz |
Do 1024 KB Flash, 288 KB SRAM | Zaawansowany – detekcja odległości, sterowanie gestami | Cyfrowe, Analogowe | Akcelerator kryptograficzny, zaufane środowisko uruchomieniowe | USB |
PSoC 61 Programmable Line | Cortex-M4 150 MHz | Do 1024 KB Flash, 288 KB SRAM | Zaawansowany – detekcja odległości, sterowanie gestami | Cyfrowe, Analogowe | Akcelerator kryptograficzny | USB |
PSoC 60 Value Line | Cortex-M4 50 MHz | Do 512 KB Flash, 128 KB SRAM | Podstawowy – obsługa przycisków |
Głównym elementem płyty bazowej zestawu PSoC 6 BLE Pioneer Kit jest układ CY8C6347BZI-BLD53 z serii PSoC 63. Jest on umieszczony w 116-pinowej obudowie BGA do montażu powierzchniowego. Ma rdzeń ARM Cortex-M4 o maksymalnej częstotliwości taktowania 150 MHz oraz rdzeniem pomocniczym ARM Cortex-M0+ o maksymalnej częstotliwości taktowania 50 MHz. Dysponuje pamięcią Flash o pojemności 1024 KB oraz pamięcią SRAM o pojemności 288 KB. Ma wyprowadzone 78 linii wejścia/wyjścia. Najważniejsze układy peryferyjne to: 9 bloków komunikacji szeregowej, które mogą być skonfigurowane do pracy z interfejsem UART, I2C lub SPI, 12-bitowy przetwornik ADC, 12-bitowy przetwornik DAC, 32 kanały DMA, 2 kanały PDM-PCM do podłączenia mikrofonów, interfejsy I2S, Quad-SPI oraz CapSense, służący do obsługi pojemnościowych przycisków dotykowych. Akcelerator kryptograficzny wbudowany w mikrokontroler obsługuje metody szyfrowania: AES, 3DES, RSA, SHA-512, SHA-256 oraz ECC. Bardzo ważną częścią w układach PSoC 63 jest moduł komunikacji BLE o maksymalnej prędkości transferu 2 Mbps, czułości -95 dBm oraz mocy wyjściowej 4 dBm. Mikrokontroler może być zasilany napięciem z zakresu: 1,7…3,6 V.
Fot. 3. Płytka bazowa CY8CKIT-062-BLE
Płytka bazowa zestawu BLE Pioneer Kit została wyposażona w złącze kompatybilne z Arduino, co umożliwia podłączenie do zestawu jednej z wielu dostępnych na rynku płytek rozszerzających. Oprócz mikrokontrolera PSoC, na płytce zamontowano pamięć NOR Flash o pojemności 512 Mbit, system zasilania USB-C PD (EZ-PD™ CCG3), wbudowany programator/debugger KitProg2 ze zintegrowanym mostkiem USB-UART i UBS-I2C, diodę RGB-LED dwie diody LED dla użytkownika oraz przycisk. Na płytce znajduje się także 5-punktowy slider pojemnościowy, dwa przyciski oraz złącze na czujnik odległości, połączone z interfejsem CapSense. Zbliżenie na te charakterystyczne dla zestawów Cypress elementy przedstawiono na fotografii 4. Płytka umożliwia zasilanie mikrokontrolera napięciami z zakresu 1,8…3,3 V.
Fot. 4. Przyciski dotykowe CapSense na płytce CY8CKIT-062-BLE
Drugim elementem zestawu jest nakładka CY8CKIT-028-EPD z wyświetlaczem E-papier o przekątnej 2,7 cala. Oprócz ekranu płytka zawiera czujnik ruchu, termistor oraz mikrofon PDM. Można ją połączyć z płytką bazową za pomocą złącza Arduino.
Fot. 5. Nakładka CY8KIT-028-EPD z wyświetlaczem E-papier
Do zestawu dołączono także klucz USB CY5677 CySmart BLE 4.2 USB Dongle zaprogramowany do emulacji urządzenia GAP Central. Umożliwia on emulację hosta BLE na komputerze stacjonarnym. Pozostałymi elementami zestawu są: przewód USB typu C, 4 zworki, 2 przewody do czujnika odległości oraz instrukcja.
Fot. 6. Klucz USB CY5677 CySmart BLE 4.2