PSoC 6, ein Kraftpaket für eine komplette IoT-Lösung

Autor / Redakteur: Karl Woodward * / Margit Kuther

Sicher und leistungsstark sollen Applikationen für das Internet der Dinge sein. Eine interessante Lösung ist der Programmable System-on-Chip PSoC 6 von Cypress, denn er bietet Entwicklern alles Erforderliche.

Firmen zum Thema

PSoC 6 von Cypress: Arduino-Uno-kompatibles Universal-Entwicklungskit
PSoC 6 von Cypress: Arduino-Uno-kompatibles Universal-Entwicklungskit
(Bild: RS Components/Cypress)

Das PSOC 6 von Cypress – genauer gesagt, das CY8CKIT-062-BLE-Kit, ist ein Universal-PSoC-6-Mikrocontroller-Entwicklungskit mit drahtloser Bluetooth-LE-Konnektivität. Entwickelt wurde das Kit für hochleistungsfähige, hochsichere, aber energiesparende Anwendungen für das Internet der Dinge.

Das Kit ist kompatibel mit Arduino-Uno-Platinen und bietet einen Hochgeschwindigkeits-Quad-SPI-NOR-Flash-Speicher (512 MBit). Im CY8CKIT-062-BLE-Kit enthalten ist eine 2,7-Zoll-E-ink-Display-Shield-Platine mit PDM-PCM-Mikrofon und Temperatursensor.

Bildergalerie

Leistung hat für IoT-Endpunkte zweierlei Bedeutungen

Relevant für IoT-Endpunkte ist die Leistung ( in Watt), die signifikante Auswirkungen auf die Akkulebensdauer des Geräts hat. Die zweite ist die Rechenleistung der CPU, die eine signifikante Auswirkung auf das Benutzererlebnis hat. Mehr CPU-Geschwindigkeit bedeutet in der Regel mehr Leistungsverbrauch. Dies endet meist in einem Kompromiss zwischen Geschwindigkeit und Leistungsverbrauch.

Eine Methode, diesem Problem zu begegnen, ist das Hinzufügen einer kleineren CPU. Ein geläufiges Beispiel wäre das Samsung Exynos 9 (Galaxy Note 8, usw.), das ARMs big.little-Architektur verwendet. Diese ermöglicht es der CPU, von CPUs mit hoher Rechenleistung auf CPUs mit niedriger Rechenleistung spontan zu wechseln, wenn Aufgaben eine geringere Rechenleistung erfordern.

Der PSoC 62 enthält einen ARM Cortex-M4 und Low-Power-M0+

Die PSoC-6-Architektur zielt darauf ab, eine dritte Option anzubieten, womit der Spagat gelingt. Der PSoC 62 verfügt über einen ARM Cortex-M4 mit Gleitkommaeinheit und einen zweiten, rechenschwachen Low-Power-M0+. Der M0+ hat es in sich: Er ist die CPU im PSoC-4-Sortiment, die für einige Anwendungen für sich allein mehr als genug ist.

Im Gegensatz zur big.little-Architektur sind beide Kerne parallel verfügbar und können sich so die Arbeitslast aufteilen. Wie bei der big.little-Architektur kann das System die CPU mit höherer Rechenleistung jedoch abschalten und auf die CPU mit niedrigerer Rechenleistung wechseln, wenn Aufgaben weniger Performance erfordern. Durch die Implementierung der Architektur wird der PSoC 6 so zu einem wahren, asymmetrischen Mehrkernprozessor.

IoT-Sicherheit: Wenn Ihr Gerät ein Mikrofon hätte ...

Manche würden behaupten, die Sicherheit ist bis dato einer der größten Problembereiche beim IoT. Datendiebstahl, auch in großen Firmen, ist auf dem Vormarsch. Deshalb muss IoT-Sicherheit definitiv verbessert werden. Der Gedanke an eine intelligente Zahnbürste, die der Welt erzählt, dass wir nur 30 Sekunden Zähne putzen, klingt nicht beängstigend, aber IoT-Geräte sind nicht auf Zahnbürsten beschränkt. Wenn Ihr Gerät ein Mikrofon hätte, könnte es viel ernster werden!

In der Vergangenheit wurde am Set-Top-Box-Design gearbeitet, bei dem ein Großteil des Software- und Hardware-Designs sicherheitsrelevant ist. Die primäre Verteidigungsstrategie bestand darin, alles im Flash- und Arbeitsspeicher zu verschlüsseln – zu keinem Zeitpunkt sollten unverschlüsselte Daten zum Vorschein kommen. Dies machte die CPUs individuell und geheim entsprechend der Geheimhaltungsvereinbarung.

Sicherheitsmaßnahmen im PSoC 61, 62 und 63

Die Architektur der PSoC 61, 62 und 63 umfasst ein Kryptografiemodul, damit Code so gesichert wird, dass er ohne den richtigen Schlüssel nicht gelesen oder gebootet werden kann. Die CPU hat einmalige Sicherungen, sodass diese Funktion in den Chip gebrannt werden kann und einen Secure Boot erzwingt. Dies verhindert, dass das System gehackt und schädlicher Code ausgeführt wird.

Der Quad-SPI-Erweiterungs-Port ermöglicht den Execute-in-place-Vorgang, der ohne eine kryptografische Engine jeden integrierten Sicherheitsmechanismus vollständig umgehen würde. Bei PSoC 62 und 63 wurde dies berücksichtigt und es stehen Kryptografie-Beschleunigerkarten zur Verfügung, um sicherzustellen, dass sich Execute-in-place nicht auf die vertraute Umgebung oder Leistung auswirkt.

Das CY8CKIT-062-BLE-Kit

Zum Lieferumfang des Kits gehören eine PSoC-BLE-dev-Platine (Versorgung über USB-C), ein CY8CKIT-28-EPD 2,7-Zoll E-ink-Display, ein CY5677 CySmart BLE 4.2 Dongle, ein USB-Kabel Typ A auf Typ C, verschiedene Überbrückungskabel und eine Anleitung. Das PSoC-BLE-Kit verfügt über PMOD- und Arduino Shield-Verbindungen zur zügigen Prototypenerstellung. Es enthält alles, darunter einen Bluetooth Dongle, damit Sie Ihr Gerät korrekt debuggen können.

BLE ist kompliziert und einfach zugleich. Es dreht sich alles um GATT-Profile, die wie eine Datenbank dafür fungieren, wie die Daten an das Gerät und von selbigem übertragen werden sollen. Hält man sich an diese Profile, ist die Implementierung etwa eines einfachen Herzfrequenzsensors in ein paar Stunden erledigt. Bewegt man sich außerhalb der Grenzen eines GATT-Profils, ist viel mehr Arbeit nötig.

Kritische Versorgung über USB-C

USB-C kann ein Sorgenkind sein, wenn es auf Kompatibilität, insbesondere PD (Power Delivery = Leistungsentfaltung) ankommt. Denn es gibt viele Konfigurationen und Normen: PD1, PD2 und nun PD3. All dies läuft auf einen grundsoliden PD-Controller hinaus, und das Cypress-Kit wird geliefert mit einem CYPD3126, Teil der CCG3-Familie von Power Delivery ICs, die vollständig ausgestattet sind (PD3 und selbst Billboard-Support (AUX-Modus)).

PSoC: Micro- FPGA/CPLD- und Analog-Front-End

PSoC ist nicht nur ein Micro-, es ist ein FPGA/CPLD- und Analog-Front-End für den Bootvorgang. PSoC 6 verfügt über Varianten, die alle Annehmlichkeiten von PSoC 4 und 5 unterstützen – und High-End-Geräte, die wirklich leistungsstark sind. Bei digitalen Designs erreicht ein UDB (interner FPGA) eine deutliche Einsparung der Bauteile. Benötigen Sie weitere Timer oder Schieberegister? Die integrierte analoge Fabric macht das gleiche für die analoge Domain.

Anschluss an den Netzstrom

Das Gerät wird vorprogrammiert mit einer der Demos geliefert. In der Demo sind sowohl Touch- als auch E-Ink aktiviert, und wie bei allen Cypress Kits, wird der gesamte Quellcode zur Verfügung gestellt. Nach Öffnen der E-INK Demo und Durchsuchen des Codes sind die Quelldateien schnell gefunden.

Im Gegensatz zu früheren PSoC-Beispielen gibt es zwei Haupt-Dateien: main_cm4 und main_cm0s. M4 und M0+ sind die beiden Kerne. Die PSoC6-Produkte richten sich an Anwendungen mit besonders hohen Anforderungen, in denen sich typische CPUs schwer tun würden.

Ein interessanter Punkt ist, dass mit der richtigen Einrichtung des Compilers die Verwendung der „const“-Datei bedeutet, dass diese Daten im Flash gespeichert werden und keinen SRAM gebrauchen. Dies ist etwa von Vorteil, wenn Ihnen beispielsweise nur 512 k RAM zur Verfügung stehen.

Fazit: Die Beispieldateien sind ein guter Start für jedes Projekt. Dank der Dual-Prozessor-Architektur von PSoC 6 ist er wahrscheinlich der einzige Chip, der für eine komplette IoT-Lösung erforderlich ist: Sicherheit, BLE, analog oder digital, er hat alles. Das CY8CKIT-62-BLE zählt zu den komplett ausgestatteten Entwicklungskits das Entwicklern auch in Zukunft sehr von Vorteil sein kann.

Tipp: Die Quellcode-Beispiele finden Sie auf der RS-Community Designspark.

* Karl Woodward ist Electronics Design Engineer und schreibt für die Community Designspark von RS Components

(ID:45091970)