Entwicklung von effektiveren intelligenten Geräten: 3. Teil – Prozessorleistung

Zur Verfügung gestellt von Nordamerikanische Fachredakteure von Digi-Key

Anmerkung des Herausgebers: Diese dreiteilige Artikelserie behandelt die Entwicklung von effektiveren intelligenten Geräten. Im 1. Teil werden die energieeffizienten Konstruktionstechniken behandelt, mit denen eine Ausgewogenheit zwischen Energieverbrauch und Leistung erzielt werden kann. Im 2. Teil werden die Herausforderungen von für die Benutzer transparenten Sicherheitsfunktionen behandelt. Im hier vorliegenden 3. Teil werden die zur Erfüllung der Designziele erforderlichen MCU-Spezifikationen besprochen.

Die Benutzer erwarten, dass intelligente Geräte sehr leistungsfähig und sicher sind und über eine lange Batterielaufzeit verfügen. Den Entwicklern stehen zur Erfüllung dieser Erwartungen nun MCUs zur Verfügung, die nicht nur über eine ausreichende Leistung bei geringem Energieverbrauch und mit genug Speicherplatz zur Erfüllung der unmittelbaren Feature-Anforderungen verfügen, sondern darüber hinaus sichere Aktualisierungen für künftige Verbesserungen und Fehlerkorrekturen ermöglichen.

Da die MCUs das Herzstück von Wearable-Geräten, IoT-Geräten und anderen intelligenten tragbaren Produkten darstellen, ist es entscheidend, dass sie über die richtige Mischung von hoher Leistung und niedrigem Energieverbrauch verfügen, um die immer ausgefeilteren Software-Anwendungen in Produkten mit geringen Abmessungen bei minimaler Belastung der Batterien auszuführen. Neben der Garantie der Sicherheit sind lange Betriebszeit und Benutzerfreundlichkeit entscheidende Anwendungskriterien.

In diesem Artikel wird gezeigt, wie diese Anforderungen mithilfe eines gut unterstützten Sortiments von handelsüblichen MCUs von Maxim Integrated erfüllt werden können.

Erfüllung der Erwartung von Benutzern

Die Erwartungen der Benutzer unterscheiden sich In vieler Hinsicht nicht erheblich von denen, mit denen die Entwickler in der Vergangenheit konfrontiert waren. Aber seitdem gibt es einen wesentlichen Unterschied bezüglich akzeptabler Lösungen für aufkommende intelligente Produkte. Die Benutzer erwarten zunehmend, dass die Produkte kompakt und leicht sind und perfekt zu ihnen passen oder im Heim oder in den Geschäftsräumen unauffällig ihre Arbeit tun. Die Benutzer akzeptieren ein intelligentes Produkt eher, wenn es im Betrieb, zum Aufladen und bei Aktualisierungen keine lästige Aufmerksamkeit oder mühevolle Bedienung erfordert und dabei sicher bleibt.

Neben einfacher Bedienung erwarten die Benutzer, dass intelligente Produkte eine ähnliche Größe und Erscheinungsform – einschließlich „Stil“ – haben wie herkömmliche Produkte mit ähnlicher Funktionalität. Ein Fitness-Wearable-Gerät wird beispielsweise von den Benutzern mit größerer Wahrscheinlichkeit akzeptiert, wenn es kein merkwürdig aussehendes Gerät an ihrem Handgelenk ist, sondern einem Armband oder einer Armbanduhr ähnelt.

Natürlich können Geräte, die den Bedienbarkeits- und Stiltest bestehen, trotzdem durchfallen, wenn sie keinen ausreichenden Mehrwert für die Benutzer darstellen. Eine modisches Wearable-Gerät am Handgelenk, das wenig nützliche Informationen liefert, ist kaum mehr als ein teures Armband. Für eine Symbiose von Technik und Ästhetik ist ein gewisses Maß von unsichtbarer Intelligenz nötig.

Um die unsichtbare Intelligenz umzusetzen, müssen die Entwickler auf höherer Ebene angesiedelte Merkmale wie einfache Bedienbarkeit, vertraute Erscheinungsform und hochwertige Informationen so anpassen, dass sie sich auf die individuellen Anforderungen ihrer Anwendung übertragen lassen.

Erweiterte Anforderungen

Für den Entwickler bedeutet die Erfüllung von Benutzererwartungen bezüglich einfacher Bedienbarkeit, dass genügend Leistung bereitgestellt werden muss, damit die vom Produkt ausgeführte ausgeklügelte Anwendungssoftware schnelle Ergebnisse liefern kann. Diese funktionalen Anforderungen führen wiederum zu einem Bedarf an Prozessoren, die diese Software ausführen und dabei immer mehr nützliche Informationen aus einer wachsenden Anzahl von Sensoranordnungen ziehen.

Bei Erfassen dieser Informationen greifen diese Geräte auf privilegierte Informationen zu, für die starke Sicherheitsmechanismen erforderlich sind, die für Schutz sorgen, ohne die Leistungsfähigkeit der Anwendung zu untergraben.

Neben diesen unmittelbaren Anforderungen müssen intelligente Geräte neuen Angriffsmethoden durch Software-Updates begegnen, die unsichtbar ohne Störung der Benutzer durchgeführt werden. Gleichzeitig müssen in die Konstruktion effektive Energiesparmaßnahmen eingebunden werden, sodass die Batterielaufzeit verlängert wird, ohne die Benutzer mit unhandlichen Batterien und häufigen Ladezyklen zu belästigen.

Die verschiedenen Anforderungen, die erforderlich sind, um die einfache Bedienbarkeit zu gewährleisten, stellen für sich genommen bereits eine Herausforderung dar, aber es kommen noch weitere Zwänge hinsichtlich der Benutzererwartung bezüglich der Ästhetik von intelligenten Produkten hinzu. Eine klobige Batterie, übermäßige Abmessungen oder eine unintuitive Benutzeroberfläche können das Interesse der Benutzer bereits erlahmen lassen, bevor sie das Gerät in die Hand nehmen.

Beim Einbau von Intelligenz in ein Gerät müssen die Entwickler einen Ausgleich zwischen den Anforderungen von Form und Funktion finden. Um diesen Ausgleich zu erreichen, müssen die Entwickler Alternativen weiterentwickeln und dabei Möglichkeiten im Auge behalten, mit denen die traditionellen Konflikte zwischen hoher Leistung und niedrigem Energieverbrauch, zwischen breiter Funktionalität und Abmessungen und zwischen Flexibilität und Sicherheit gelöst werden können.

Eine weiterer Faktor sind die Kosten. Die schnelle Evolution des Internets der Dinge sowie der tragbaren und intelligenten Produkte führt dazu, dass die Entwickler Hardware für künftige Anforderungen sowie Software-Updates bereitstellen müssen. Bei der Planung von zukünftigen Funktionserweiterungen müssen die Entwickler einen Ausgleich zwischen den erforderlichen zusätzlichen Kosten des Geräts bei einer Aufrüstung des ursprünglichen Designs mit Leistung und Speicher schaffen.

Für die Entwickler liegen die größten Möglichkeiten für eine Lösung bei dieser Vielzahl von Anforderungen bei den MCUs im Zentrum dieser intelligenten Embedded-Produkte. 8- und 16-Bit-MCUs sind zwar nach wie vor beliebt, aber bei den wachsenden Anforderungen der Benutzer müssen intelligente Produkte eine höhere Leistung und mehr Funktionen liefern. Daher sind jetzt bei den Entwicklern von intelligenten Systemen auch 32-Bit-MCUs beliebt. 32-Bit-MCUs können beispielsweise grundlegende Operationen wie eine 32-Bit-Addition schneller als die älteren 8- oder 16-Bit-MCUs erledigen (Listing 1).

Kopieren
    anl PSW, #0E7H   ;Register Bank 0
    mov a, r0        ;load X low byte into acc 
    add a, r4        ;add Y low byte
    mov r0, a        ;save result
    mov a, rl        ;load X next byte into acc 
    addc a, r5       ;add Y next byte with carry 
    mov rl, a        ;save result
    mov a, r2        ;load X next byte into acc 
    addc a, r6       ;add Y next byte
    mov r2, a        ;save result
    mov a, r3        ;load X high byte into acc
    addc a, r7       ;add Y high byte with carry
    mov r3, a
    mov C, OV
    ret
(A)
 
    mov a, r0
    add rl 
    mov r0, a 
    ret
(B)

Listing 1: Für eine 32-Bit-Addition benötigt eine 8-Bit-MCU erheblich mehr Anweisungszyklen (A) als eine 32-Bit MCU (B) für dieselbe Operation. (Codequelle: Maxim Integrated)

32-Bit-MCUs werden noch wichtiger, wenn mehrere Sensordaten-Streams mit Sensor-Fusionsalgorithmen kombiniert werden. Neben anderen Anwendungen werden Sensor-Fusionsalgorithmen zur Erzeugung von exakten Positions- und Orientierungsinformationen verwendet, die die Benutzer von ihren Wearable-Geräten und mobilen Produkten erwarten. In diesem Umfeld werden die Fähigkeiten von hochentwickelten MCUs wie der MCU-Familie Darwin von Maxim Integrated für die Generierung von unsichtbarer Intelligenz wichtig.

Generieren von unsichtbarer Intelligenz

Die Darwin-MCUs sind speziell für die Anforderungen der neu aufkommenden intelligenten Produkte bestimmt. Diese Produktfamilie kombiniert in den Modellen MAX32620, MAX32625 und MAX32630 einen niedrigen Energieverbrauch mit einem umfassenden Satz von eingebauten Fähigkeiten.

Grundlage der Darwin-MCUs ist der 32Bit-Arm®-Cortex®-M4 mit Gleitkommaeinheit (FPU). Er verbindet eine umfassende Unterstützung für den Betrieb bei geringer Leistungsaufnahme mit speziellen Blöcken für Peripherieverwaltung, Energieverwaltung und Kryptografie (Abbildung 1). Bei sicheren Varianten wie der MAX32631 wird die Unterstützung für Sicherheitsfunktionen durch eine integrierte TPU (Trust Protection Unit, TPU) erweitert, die in der Lage ist, Vertraulichkeit, Integrität und Authentizität bei jeder Interaktion zwischen dem intelligenten Produkt und externen Hosts zu unterstützten.

Schaltbild der Darwin-MCU MAX32630 von Maxim

Abbildung 1: Darwin-MCUs wie die MAX32630 und ihre sichere Variante MAX32631 kombinieren 32-Bit-Rechenleistung mit einem umfassenden Satz von Peripheriebausteinen, Schnittstellen und speziellen Blöcken, darunter die TPU (Trust Protection Unit), die die wichtigsten Sicherheitsmechanismen der MAX32631 unterstützt. (Bildquelle: Maxim Integrated)

Dank der vielen analogen und digitalen Peripheriebausteine und seriellen Schnittstellen der MCUs kann die Hardwareausstattung von Systemen, in denen mehrere Sensoren eingesetzt werden, vereinfacht werden. Maxim Integrated demonstriert dieses vereinfachte Design mit seinem Evaluierungskit MAXREFDES100. Das Kit umfasst eine Platine und ein Referenzdesign, das die Verwendung von mehreren Sensoren von Maxim veranschaulicht, darunter der Körpertemperatur-Sensor MAX30205, das analoge EKG-Frontend (AFE) MAX30003, das Puls-Oximeter MAX30101 und weitere Sensoren, die in einem typischen tragbaren Fitness-Gerät zum Einsatz kommen.

Flexible Schnittstellen sind nötig, um komplexere Daten zu erfassen, und die Architektur des Befehlssatzes versetzt diese Darwin-MCUs in die Lage, die immer häufiger zur Extraktion von nützlichen Daten aus diesen Informationen benötigten komplexen Algorithmen auszuführen. Im Befehlssatz sind 16- und 32-Bit-Befehle gemischt, wodurch sich der Umfang der Anwendungssoftware reduziert, aber die Fähigkeit der 32-Bit-Architektur, mehr Befehle pro Byte auszuführen, beibehalten wird. Neben der Integrierten FPU umfasst die Architektur der Darwin-CPU eine Hochgeschwindigkeits-Multiply-Accumulate-Operation (MAC) sowie SIMD-Parallelverarbeitungsfähigkeiten (Single Instruction, Multiple Data), was eine digitale Signalverarbeitung ermöglicht.

Aufgrund dieser Kombination von Befehlen für Gleitkomma-Operationen und digitale Signalverarbeitung können Darwin-MCUs die datenintensiven Algorithmen, die für intelligente Produkte der nächsten Generation erforderlich sind, schneller ausführen. Gleichzeitig ist in den MCUs On-Chip-Arbeitsspeicher integriert, der ausreicht, Algorithmen und anderen Anwendungscode sowie die ständig wachsende Systemsoftware einschließlich Echtzeit-Kernels, Kommunikations-Stacks und Sicherheitsprotokoll-Stacks zu speichern. Innerhalb des Darwin-MCU-Sortiments findet sich für jede Anwendung die entsprechende Mischung von Flash-RAM und SRAM. Die MAX32630/MAX32631-MCUs bietet 2 MB Flash und 512 KB SRAM; die MAX32620 bietet 2 MB Flash und 256 KB SRAM; und die MAX32625 hat 512 KB Flash und 160 KB SRAM. Zur Vereinfachung der Arbeit mit diesem Speicher unterstützten die Darwin MCUs eine konsistente Speicherzuordnung, die die verschiedenen Speichertypen und die auf den Speicher abgebildeten Register zu einem einzigen Adressraum zusammenfasst (Abbildung 2).

Diagramm des einheitlichen Adressraums der Darwin-MCUs

Abbildung 2: Darwin-MCUs haben einen einheitlichen Adressraum, der die verschiedenen Speichertypen sowie die auf den Speicher abgebildeten Register für die Funktionsblöcke umfasst. (Bildquelle: Maxim Integrated)

Der verfügbare Flash-Speicher kann darüber hinaus so erweitert werden, dass er sehr große Mengen Code bzw. Systembibliotheken unterstützt. Die Darwin-MCUs unterstützen XIP-Operationen (execute-in-place), die der CPU erlauben, Code direkt vom externen Flash aus auszuführen. Maxim Integrated veranschaulicht diesen Ansatz mit seinem Referenzdesign MAXREFDES100, das den 32MB-Flash-Baustein S25FS256SAGNFI001 von Cypress Semiconductor umfasst.

Trotz ihrer außerordentlichen Speicher- und Leistungsreserven erfüllen die Darwin-MCUs zusätzlich die Forderungen der Entwickler nach geringer Leistungsaufnahme. Die MCUs MAX32630/MAX32631, die unter den hier erwähnten Geräten den größten internen Speicher unterstützen, erhalten ihre 512 KB SRAM mit nur 3,4 Mikrowatt (µW). Selbst im vollständig aktiven Modus verbrauchen sie nur 130 µW/MHz. Sie können auch einen Mittelweg zwischen den zwei Modi bereitstellen. Sie verbrauchen 30 µW/MHz in einem speziellen Modus, in dem Peripherie-Operationen mithilfe der integrierten PMU (Peripheral Management Unit) möglich sind, während der CPU-Core in einem Schlafmodus mit sehr geringer Leistungsaufnahme verbleibt.

Aufgrund der Fähigkeit der Darwin-MCUs, Operationen mit Peripheriebausteinen auszuführen, während der Prozessor schläft, kann die Leistungsaufnahme durch Begrenzung des Zeitraums, in dem die CPU im aktiven Modus bleiben muss, reduziert werden. Die Entwickler müssen nicht mit der vollständig aktiven CPU regelmäßig die Sensoren abfragen und die Ergebnisse an den Host übertragen, sondern sie können mit den Anweisungen „Wait for Interrupt“, „Wait for Event“ und „Sleep on Exit“ der Darwin-MCU die aktive Auslastung minimieren und damit die Gesamtleistungsaufnahme des Systems reduzieren (Abbildung 3).

Bild: Dramatische Reduzierung der Leistungsaufnahme des Systems durch Maximierung der Zeit, die die CPU im stromsparenden Schlafmodus verbringt

Abbildung 3: In Wearable-Geräten oder anderen Sensorsystemen kann die Leistungsaufnahme des Systems durch Maximierung der Zeit, die die CPU im stromsparenden Schlafmodus verbringt, dramatisch reduziert werden. Die CPU bleibt nur so lange wach, wie für die Erfassung der Sensordaten und die Übertragung der Ergebnisse zum Host nötig ist. (Bildquelle: Maxim Integrated)

Mit ihrer Aufwachzeit von 5 µs reduzieren diese MCUs die normalerweise von langsameren MCUs benötigte Energie beim Übergang vom Schlafmodus zum aktiven Modus. Zusammen mit dem Schlafmodus mit Erhaltung des SRAMs können die Bausteine die Verarbeitung schnell und ohne Verzögerungen und verschwendete Energie für das Speichern und Wiederherstellen von Zuständen mithilfe von externem nicht flüchtigem Speicher wiederaufnehmen. Damit ist die Entwicklung von sehr effizienten energiebewussten Anwendungen möglich.

Zur Unterstützung dieser Anwendungen trägt das Software-Entwicklungskit (SDK) für Firmware MAX326XX bei. Es umfasst Treiber für Peripheriebausteine, Treiber für die Platine und Beispielanwendungen (Abbildung 4).

Diagramm des Software-Entwicklungskits (SDK) für Firmware MAX326XX von Maxim Integrated

Abbildung 4: Das Software-Entwicklungskit (SDK) für Firmware MAX326XX von Maxim Integrated unterstützt Entwickler von Anwendungssoftware mit Beispielanwendungen, die die Verwendung der mithilfe der Arm Cortex Microcontroller Software Interface Standard (CMSIS) API erstellten Peripherie- und Platinentreiber veranschaulichen. (Bildquelle: Maxim Integrated)

Die Bibliotheken für Peripherie und Platine des SDK für Firmware MAX326XX beruhen auf der Arm Cortex Microcontroller Software Interface Standard (CMSIS) API. Auf der anderen Seite interagiert die Anwendungssoftware typischerweise mit den Bibliotheken für Peripherie und Board, kann aber auch direkt mit dem CMSIS interagieren, um bei Bedarf die zugrunde liegende Hardware zu erreichen.

Fazit

Die Benutzer erwarten, dass Wearable-Geräte, IoT-Geräte und andere intelligente Geräte ausgeklügelte Anwendungen auf Systemen bieten, die einfach interagieren, bequem sind und einen messbaren Mehrwert liefern. Zur Erfüllung dieser Forderungen benötigen die Entwickler MCUs, die umfassende Funktionalität, hohe Leistung und geringe Leistungsaufnahme miteinander verbinden.

Die Produktlinie der Darwin-MCUs von Maxim Integrated wurde speziell für diese Anforderungen entwickelt. Sie versetzt die Entwickler in die Lage, einfacher als bisher Geräte mit der unsichtbaren Intelligenz zu entwickeln, die die Erwartungen der Benutzer von intelligenten Produkten erfüllt.

Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der Digi-Key Electronics oder offiziellen Politik der Digi-Key Electronics wider.

Über den Verlag

Nordamerikanische Fachredakteure von Digi-Key