ioT-Mikrocontroller beurteilen

EEMBC-Benchmarks in der Praxis

21. Februar 2018, 11:24 Uhr | Von Klaus Dembowski
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 3

Programmierung und Durchführung von Tests

Auf dem Host-System ist die Windows-Software – geeignet für Windows 7 oder Windows 10 als 64-bit-System – für den IoTMark-BLE durch den Aufruf von iotconnect.exe direkt ausführbar, wenn alle dazugehörigen Files im gleichen Verzeichnis liegen. Der Ablauf des IoTMark-BLE-Benchmark lässt sich vereinfacht wie folgt darstellen:

  • 1. Host testet Verfügbarkeit von E/A-Manager, Energie-Manager und Funk-Manager.
  • 2. Mikrocontrollermodul (DUT) wird initialisiert (BLE Stack, GPIO, I²C, UART).
  • 3. DUT wartet auf Daten vom UART-Interface.
  • 4. Energiemonitor misst die Stromaufnahme im Bereitschaftsbetrieb (30 s).
  • 5. BLE-Advertising-Funktion (100 ms Takt) wird vom Host aufgerufen, Strom wird vom Energie-Monitor gemessen (10 s).
  • 6. Host sendet Suchbefehl für BLE-Geräte an den Funk-Manager, DUT wird gefunden.
  • 7. BLE-Verbindung zwischen Funk-Manager und DUT wird aufgebaut. Funk-Manager sucht nach verfügbaren Services, DUT-Services werden erfasst und an den Host gemeldet.
  • 8. Host sendet an das DUT über den E/A-Manager den Befehl für die Ausführung des Benchmarks. Das heißt: Jetzt startet der eigentliche Benchmark, die Stromaufnahme wird vom Energiemonitor gemessen und 15-maliger Durchlauf.
  • 9. Das zu testende Mikrocontrollermodul (DUT) wacht jede Sekunde aus dem Schlafmodus auf. Daraufhin liest es über den I2C-Bus vom E/A-Manager 1 kB Daten, was als Simulation für den Empfang von Sensordaten dient. Diese Daten werden einer Tiefpassfilterung unterzogen und per BLE zum Funk-Manager übertragen, woraufhin das DUT wieder in den Schlafmodus zurückkehrt.
  • 10. Der Funk-Manager wacht – nicht synchron zum DUT – ebenfalls jede Sekunde aus dem Schlafmodus auf, empfängt die vom DUT gesendeten Daten und sendet sie wieder zurück.
  • 11. Das zu testende Mikrocontrollermodul (DUT) empfängt die zurückgesendeten Daten, wendet hierauf eine zyklische Redundanzprüfung (CRC) an und schaltet wieder in den Schlafmodus. Die Routine wird mit Punkt 8 fortgesetzt, bis ein 15-maliger Durchlauf stattgefunden hat. Nur die letzten zehn Durchläufe werden gemessen.
  • 12. Messdaten werden verifiziert und anschließend an den Host übertragen.

Statt Routinen für ADC, PWM, RTC und SPI, wie sie für ULPMark-PP benötigt werden, sind für IoTMark-BLE folgende Programmierungen durchzuführen:

  • I2C: Initialisierung und Auslesen einer bestimmten Anzahl von Daten.
  • UART: Initialisierung mit der korrekten Parametereinstellung, Auslösen eines Interrupts beim Datenempfang, Senden von Debug Strings.
  • Timer/RTC: Periodisches Aufrufen einer Funktion.
  • Power Management: Für Low-Power-Einstellungen (Schlafmodus).
  • BLE: Initialisierung des Stack, Erstellen und Einbinden von Services und Characteristics, Auslösen des Advertising in bestimmten Zeitintervallen, Notify für den Datentransfer und Aufrufen einer Signalisierungsfunktion beim Empfangen von Daten.

Die größte Herausforderung stellt dabei das BLE-Interface dar, weil es von jedem Halbleiterhersteller anders implementiert wird. Dies erfordert eine relativ lange Einarbeitungszeit, um den Benchmark IoTMark-BLE zu portieren. Die mitgelieferten Beispiele der Halbleiterhersteller sind hierfür nur bedingt hilfreich, weil meist der Einsatz von Standard-BLE-Profilen gezeigt wird und nicht die Implementierung eines eigenen Profils, wie es für IoTMark-BLE notwendig ist.

Start des IoTMark-BLE mit den Erfolgsmeldungen in der Konsole
Bild 9. Start des IoTMark-BLE mit den Erfolgsmeldungen in der Konsole.
© Dembowski

Für den Start von IoTMark-BLE müssen alle Subsysteme angeschlossen und erkannt worden sein, was in der Konsole der Benchmark-Software zu erkennen ist. Im oberen Teil der EEMBC-Software (Bild 9) wird das Ergebnis des Benchmark für das jeweilige DUT angezeigt. Darunter befinden sich die Bedienelemente zum Starten der Benchmark-Software (Run), zur erneuten Suche nach den Subsystemen (Rescan) und zum Übermitteln der Ergebnisse an EEMBC (Submit Score).

Ein kompletter Durchlauf dauert ungefähr 60 s.

Unter Settings lassen sich die Parameter für die Versorgungsspannung, die Polarität des Reset-Signals, die BLE UUID, die Sendeleistung, die Anzahl der I2C-Lesebytes, Intervalle für Advertising und Connection sowie Client Wakeup (DUT) und Server Wakeup (Funk-Manager) festlegen. Unter Energy Monitor werden die Daten als Grafik dargestellt sowie die Zeitstempel wie es bereits vom ULPMark-PP (Bild 5, rechte Seite) her bekannt ist, und die Konsole ist hilfreich für die Beobachtung der Initialisierung und des Benchmark-Durchlaufs.

 

Literatur

[1] Embedded Microprocessor Benchmark Consortium. Industry-Standard Benchmarks for Embedded Systems, www.eembc.org.
[2] Moyer, B.: More Benchmarks from EEMBC. Electronic Engineering Journal, 26. Juni 2017, www.eejournal.com/article/more-benchmarks-from-eembc.
[3] Kühnel, C.; Riemenschneider, F.: Welche Ultra-Low-Power-Mikrocontroller sind energieeffizient? 2. Juli 2015, www.elektroniknet.de/design-elektronik/halbleiter/welche-ultra-low-power-mikrocontroller-sind-energieffizient-120997.html.
[4] Schubert, H.: Energie-Benchmark für IoT-Applikationen Mikrocontroller und BLE-Funk gemeinsam testen, 28. März 2017, www.elektroniknet.de/elektronik/halbleiter/mikrocontroller-und-ble-funk-gemeinsam-testen-140140.html.
[5] Stroh, I.: Ultra-Low Power ≠ Ultra-Low Power. Markt&Technik 2017, H. 42, S. 12.
[6] Riemenschneider, F.: ULPMark jetzt mit Peripheriefunktionen. Design&Elektronik 2017, H. 8, S. 37–39.

 

Der Autor

 

Klaus Dembowski von TU Hamburg
Klaus Dembowski von TU Hamburg
© TH Hamburg

Klaus Dembowski

ist Wissenschaftlicher Angestellter im Institut für Mikrosystemtechnik an der Technischen Universität Hamburg. Sein Zuständigkeitsbereich beinhaltet die Entwicklung von Hard- und Software für Mikrosysteme mit dem Schwerpunkt Anwendungen von Energy Harvesting. Er wurde 2011 und 2017 von der Redaktion der Elektronik für seine Fachaufsätze „Sensornetze mit energiesparender Funktechnik“ und „Funkelektroden zur Messung bioelektrischer Signale: EKG ohne Kabel“ als „Autor des Jahres“ ausgezeichnet.
dembowski@tuhh.de

 


  1. EEMBC-Benchmarks in der Praxis
  2. Schrittweise zum Testprogramm
  3. Neuer Benchmark IoTMark-BLE
  4. Programmierung und Durchführung von Tests

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!