Fehlervermeidung im IoT-Design

Die Entwicklung eines neuen IoT-fähigen Geräts ist selbst für erfahrene Entwicklungsingenieure vielfach mit besonderen Herausforderungen verbunden. Ganz gleich, ob es sich um tragbare Technologie, ein Automatisierungsgerät für Heimanwender oder einen intelligenten Sensor für einen Fertigungsprozess handelt: Wer nicht die notwendige Vorsicht walten lässt, tappt schnell in eine ganze Reihe von Designfallen. Mit etwas Weitblick und Planung lässt sich dies aber vermeiden.

In diesem Artikel werfen wir einen Blick auf einige dieser möglichen Probleme und wie sie sich am besten umgehen lassen. Dabei wollen wir uns auf Edge-Geräte wie Sensoren, Bedienteile und Router konzentrieren, statt auf die Infrastrukturaspekte des IoT – Langstreckenkommunikation über das Internet und Cloud-Computing-Ressourcen –, bei denen der Sachverhalt etwas anders liegt.

Für den Erfolg eines IoT-Edge-Geräts, von der Installation bis zum Ende der Betriebslebensdauer, sind nicht nur gutes Design und gute Fertigung erforderlich, sondern auch angemessene Bereitstellungs- und Provisioning-Vorgänge. Provisioning bedeutet, dass ggf. der Akku rechtzeitig ausgetauscht wird, sowie die Möglichkeit, bei Bedarf Software-/Firmware-Updates zu akzeptieren und zu integrieren.

Wir beginnen mit der anfänglichen Projektplanung und befassen uns dann mit den Problemen, die während der Entwicklung, Produktion und Serverbereitstellung von IoT-Edge-Geräten auftreten können.

Planung des Projekts

Laut einer Studie von Cisco von Mai 2017 scheitern 60% der IoT-Initiativen im Proof of Concept (PoC)-Stadium, also beim Machbarkeitsnachweis, und nur 26% der befragten Unternehmen stuften ihre IoT-Initiative als kompletten Erfolg ein. Darüber hinaus wurde ein Drittel aller abgeschlossenen Projekte nicht als Erfolg angesehen.

In dem Blogeintrag „IoT Agenda“ von Tech Target wird darauf hingewiesen, dass solche Misserfolge möglicherweise an neuen und nicht ausgetesteten Geschäftsmodellen liegen, die auf einem Mangel an bewährten Strategien beruhen. Statt sich Hals über Kopf in IoT-Projekte zu stürzen, können Unternehmen solche Probleme durch einen schrittweisen Ansatz verhindern. Dabei spielt das Testen der PoCs eine entscheidende Rolle. So verlockend es auch sein mag, im Hinblick auf potenzielle Wettbewerber so schnell wie möglich zu skalieren, ist es sehr viel vorteilhafter für Teams, Anwendungsfälle in Live-Umgebungen in kleinem Maßstab zu testen, die Ergebnisse umzusetzen und vor der vollständigen Entwicklung und Bereitstellung entsprechende Änderungen vorzunehmen.

Eine weitere Herausforderung für Projektteams besteht darin, dass in einem Projekt zu viele Lernkurven zu meistern sind. Dadurch kann es zu Projekt- und Terminverzögerungen kommen, da die Entwickler von ihren Kernkompetenzen abgelenkt werden. Ein ausreichendes Budget und entsprechendes Personal sind zwar sehr wichtig, ebenso wichtig ist aber, dass das Projektteam über die richtigen Qualifikationen verfügt.

In der Tat ist es äußerst schwierig, die richtigen Mitarbeiter für IoT-Projekte zu finden. Auf die Frage nach den für erfolgreiche IoT-Projekte erforderlichen technischen Fähigkeiten und den Schwierigkeiten bei der Personalbeschaffung nannten IoT-Experten die Bereiche Datenanalyse und Big Data als ersten Punkt (75% und 35%), gefolgt von integrierter Softwareentwicklung (71% und 33%) und IT-Sicherheit (68% und 31%).

Eine Antwort auf diese Probleme besteht darin, den Entwicklungsprozess so weit wie möglich vereinfachen, indem die Vorteile von Entwicklungsumgebungen wie dem Raspberry Pi-Ökosystem genutzt werden. Die Raspberry Pi-Ressource von Farnell umfasst beispielsweise Starterpacks, wie in Abb. 1 gezeigt, Platinen mit Wireless-Konformität, Erweiterungsplatinen, Gehäuse, Kabel, Steckverbinder und andere Zubehörteile – darunter Audio- und visuelle Produkte –, mit denen grundlegende Integrationsprobleme gelöst werden. So können sich die Designer auf ihre Kernaufgaben konzentrieren.

Raspberry Pi 3 Model B+

Abb. 1: Raspberry Pi 3 Model B+ Einsteigerpaket

Einhalten von Standards

Eine IoT-Edge-Installation umfasst oft eine Mischung aus Gerätetypen sowie eine Router- oder Gateway-Plattform für die Kommunikation zwischen allen Geräten und der erweiterten IoT-Infrastruktur. In einem Artikel in „Network World“ wird Projektentwicklern daher empfohlen, eine geeignete IoT-Plattform auszuwählen, die möglichst viele Protokolle für die Datenaufnahme unterstützt. Die Liste der Protokolle für fertigungsorientierte Edge-Plattformen umfasst im Allgemeinen grundlegende Brownfield-Bereitstellungen wie OPC-UA, BACNET und MODBUS sowie aktuellere Bereitstellungen wie ZeroMQ, Zigbee, BLE und Thread. Ebenso wichtig ist, dass die Plattform im Hinblick auf die Unterstützung von Protokollen modular aufgebaut sein muss, sodass vorhandene Methoden zur Ressourcenkommunikation angepasst und neue Methoden entwickelt werden können.

Ausführlichere Informationen zu Problemen mit IoT-Standards finden Sie im Projekt „IEEE 2413“: „A standard for an Architectural Framework for the IoT“. Kommentar des IEEE (Institute of Electrical and Electronics Engineers) zu diesem Projekt:

„Das Internet der Dinge (IoT) wird sich voraussichtlich zu einem der wichtigsten Wachstumsfaktoren auf verschiedenen Technologiemärkten entwickeln. Die meisten aktuellen Initiativen im Bereich Standardisierung beschränken sich auf äußerst spezifische Branchen. Daher handelt es sich um isolierte und häufig redundante Entwicklungsarbeiten. Das in diesem Standard definierte Architektur-Framework fördert die domänenübergreifende Interaktion, unterstützt die Interoperabilität und die funktionale Kompatibilität zwischen Systemen und fördert das Wachstum des IoT-Markts. Durch die Einführung eines einheitlichen Ansatzes für die Entwicklung von IoT-Systemen lässt sich die Fragmentierung in der Branche reduzieren. Außerdem können weltweit zahlreiche äußerst wichtige Aktivitäten mit mehreren Beteiligten durchgeführt werden.“

Welcher Prozessorchip ist der beste?

Die meisten IoT-Produkte beruhen darauf, dass genau das richtige Maß an Rechenleistung bereitgestellt wird. Unzureichende Rechenleistung führt zwangsläufig dazu, dass die Zielanwendung nicht verarbeitet werden kann. Zu leistungsstarke Prozessoren ziehen aber möglicherweise Probleme im Zusammenhang mit Leiterplatten, Kühlung, Stromverbrauch und Kosten nach sich.

Ein umfassender Ansatz zur Ermittlung der richtigen CPU für Ihre Anwendung ist die Überprüfung einer Vielzahl von Prozessorreihen, wie z. B. die ARM-Cortex-Baureihe, die für IoT-Anwendungen von Sensoren bis hin zu Servern konzipiert wurde, wie in Abb. 2 gezeigt.

Der Cortex-A32-Prozessor für eingebettete IoT-Anwendungen ist skalierbar und abwärtskompatibel mit früheren Geräten. Diese Überlegungen sind wichtig, um sicherzustellen, dass Ihr Produkt auf einfache Weise weiterentwickelt werden kann, damit Sie wettbewerbsfähig bleiben oder neue Chancen nutzen können. Der Prozessor eignet sich für IoT-Anwendungen wie Fertigung, Gesundheitswesen, Heimautomatisierung und tragbare Technologie. Er unterstützt viele funktionsreiche Betriebssysteme, Echtzeit-Betriebssysteme (RTOS) und zugehörige Firmware, bietet dazu mehrere Entwicklungstools und unterstützt eine Auswahl an Anbietern von Siliziumscheiben. Darüber hinaus bietet er verglichen mit dem Cortex-A7-Prozessor eine 25-prozentige Verbesserung bei der Energieeffizienz.

Weitere Cortex-M-Prozessoren umfassen die nachstehend aufgeführten Funktionen:

Cortex-M0: niedrigster Bereich

Cortex-M0+: höchste Energieeffizienz

Cortex-M3: gute Energiebilanz

Cortex-M4: gemischte MCU- und digitale Signalverarbeitung

Cortex-M7: höchste Leistung

Die neuesten Cortex-M-Prozessoren von ARM, der Cortex-M23 und der Cortex-M33, bauen auf dem Erfolg der Cortex-Prozessorreihe auf und stellen die Sicherheit von ARM TrustZone auf den kleinsten Geräten bereit. Wie später in diesem Artikel erläutert, ist die Sicherheit ein wichtiger Aspekt des IoT.

ARM-Prozessoren

Abb. 2: ARM-Prozessoren sind für eine breite Palette von IoT-Anwendungen geeignet Bild mit freundlicher Genehmigung von ARM

Konfigurierbare Prozessoren: Bei einigen Anwendungen, wie z. B. tragbaren Geräten, ist es so schwer, ein Gleichgewicht zwischen Energieverbrauch und Leistung zu erzielen, dass der Einsatz eines konfigurierbaren und erweiterbaren Prozessors mit geringem Stromverbrauch entscheidend ist. Diese Prozessoren können im Hinblick auf ihre interne Architektur (Anzahl der Register, Art des Multiplikators und Anzahl von Interrupts und Ebenen usw.) angepasst werden, um ein exaktes Gleichgewicht zwischen Leistung und Stromverbrauch zu erzielen.

Der Synopsys DesignWare ARC EM4-Prozessor mit einer konfigurierbaren und erweiterbaren 32-Bit-RISC-Mikroarchitektur wurde entwickelt, um das Paradoxon zwischen Stromverbrauch und Leistung in IoT- und anderen Anwendungen zu lösen. Er kann beispielsweise bei einer Sensoranwendung mit konfigurierbaren Hardwareerweiterungen optimiert werden, die speziell für die Senkung des Energieverbrauchs ausgelegt sind.

Ein typisches tragbares Fitnessband überwacht Messwerte, wie z. B. gelaufene Schritte, Herzfrequenz, verbrannte Kalorien und Schlafqualität. Der ARC EM4-Prozessor soll zum Filtern und Verarbeiten mehrerer Sensordaten verwendet werden und dann die Ergebnisse an einen drahtlosen Bluetooth-Transceiver übermitteln. Darüber hinaus sorgt er für die Verwaltung der Strom- und Systemsteuerungsfunktionen im gesamten Gerät.

Prioritäten und Typen bei der Speicherauswahl

Die zunehmende Beliebtheit von IoT-Geräten hat zu einer Weiterentwicklung der Speichertechnologie und anderer Bauelemente geführt. Daher stehen heute viele Speicheroptionen zur Verfügung. Die richtige Wahl hängt von den Prioritäten des jeweiligen Projekts ab. Laut dem Java Community Blog, Jaxenter, müssen die folgenden Überlegungen angestellt werden:

Kosten: Kosten sind ein Problem bei jedem Projekt. Je teurer der ausgewählte Speicher, desto teurer wird auch das endgültige Gerät. Je nach Markt müssen Sie die Kosten im Vergleich zu den Leistungsoptionen abwägen.

Größe: Die meisten IoT-Geräte sind klein, sodass die eingebettete Technologie ebenfalls klein sein muss. Der erforderliche Speicherplatz für die Speicherverarbeitung muss auch auf ein Minimum reduziert werden, denn je mehr Platz die Siliziumscheibe benötigt, desto höher steigen die Kosten an.

Energieverbrauch: Die meisten IoT-Geräte laufen entweder mit kleinen Batterien oder werden durch Energiegewinnung aus der Umgebung aufgeladen. Daher muss bei der Speicherauswahl unbedingt der Energieverbrauch berücksichtigt werden. Wählen Sie eine Option, die sowohl beim Betrieb als auch im Standby-Modus möglichst wenig Strom und Spannung verbraucht.

Startzeit: Benutzer wünschen sich eine hervorragende Geräteleistung, daher muss der Speicher einen schnellen Start unterstützen. Durch Implementierung einer Code-in-place-Option, mit der das Gerät Code direkt ausführen kann, ohne dass der Code aus einem separaten EEPROM-Chip kopiert werden muss, lassen sich die Zeit für den Systemstart und auch die Kosten für den Chip verringern, da weniger RAM mit beträchtlichem internem Chip-Speicher benötigt wird.

Wenn Sie diese Punkte beachten, können Sie die richtige Speicherauswahl für ein IoT-Gerät treffen. Welche Optionen gibt es aber überhaupt?

Herkömmlicher externer Flash-Speicher: Der herkömmliche externe Flash-Speicher ist kostengünstig, zuverlässig und flexibel, bietet einen hohen Grad an Dichte und verbraucht nicht allzu viel Energie. Flash-Speicher fällt in zwei Kategorien: NOR Flash und NAND Flash. NOR unterstützt die Ausführung „in place“ (XIP), NAND dagegen nicht. NAND ist am besten für datenintensive Anwendungen geeignet, z. B. tragbare Geräte, die günstigen Speicher mit hoher Kapazität erfordern, während NOR Flash in der Regel für Geräte wie GPS oder e-Reader eingesetzt wird, die nicht so viel Speicher benötigen.

Integrierter Flash-Speicher: Integrierter Flash-Speicher (auch eFlash genannt), wie in Abb. 4 gezeigt, wird immer beliebter für IoT-Geräte, in denen Anwendungen kritische Daten und Code speichern. Manche Experten sagen voraus, dass eFlash zukünftig die gängigste Art von IoT-Speicher sein wird, da aufgrund der hohen Leistung und der Dichte die meisten Mikrocontroller-Anwendungen unterstützt werden können. Dazu ist diese Art von Speicher sehr flexibel und kann vor Ort programmiert werden.

Multichip Package Memory: Multichip Package Memory (MCP) kombiniert CPU, GPU, Speicher und Flash-Speicher in einem Chip. Zurzeit sind MCPs eher in Smartphones und Tablets verbreitet, sie bieten für IoT-Geräte aber mehr Leistung und eine erhöhte Dichte. Derzeit werden MCPs entwickelt, die weniger Energie verbrauchen, aber dieselbe Flexibilität und Rechenleistung bieten.

Multimedia-Karten: Integrierte Multimedia-Karten (eMMC) bieten eine hohe Speicherkapazität für IoT-Geräte zu angemessenen Kosten und unter hervorragender Leistung und niedrigem Energieverbrauch. In den Karten werden speziell entwickelte Controller verwendet, sodass eine bessere Integration in Anwendungssysteme ermöglicht wird. Die Leistung von eMMC wird sogar oft am höchsten bewertet, da diese Karten mehrere Aufgaben gleichzeitig verarbeiten können und die Geschwindigkeit dadurch um bis zu 30 Prozent gesteigert wird. Die Karten bieten außerdem eine höhere Sicherheitsstufe, da die allgemeine Schreibschutzfunktion erweitert wird, um zu verhindern, dass Benutzerdaten überschrieben oder ohne Autorisierung gelöscht werden.

Integrierte Firmware-Anforderungen

IoT-Geräte werden durch in der Firmware implementierte Codierung gesteuert. Laut „Particle“, einem Aufbauprogramm für IoT-Plattformen, müssen für ein erfolgreiches Firmware-Design eine Reihe von Überlegungen angestellt werden und viele Fertigkeiten verfügbar sein:

  • Aufbau einer stabilen Firmware-Architektur, die skalierbar und gut dokumentiert ist, anhand professioneller Firmware-Toolketten und Firmware-Programmiersprachen wie C und C++

  • Design für eingeschränkte Systeme, wie Energie sparende MCUs mit begrenztem Speicher, keine Speicherverwaltung und keine direkten Schnittstellen wie Tastaturen oder Bildschirme

  • Entwicklung im Hinblick auf Stabilität und Wiederherstellung nach Fehlern, einschließlich Watchdog-Zeitgebern für Anwendungen, Fehlerkorrektur und automatische Wiederherstellung nach Systemfehlern

  • Besonderer Fokus auf Ein- und Ausgaben, darunter die Erfassung von Sensordaten, digitale Signalverarbeitung, lokale Komprimierung und Datenspeicherung

  • Minimierung des Energieverbrauchs durch Firmware, mit der das Gerät in den Ruhezustand wechseln kann und somit nur minimale Energie verbraucht

  • Optimieren der Bandbreite für die Mobilfunkkommunikation zwischen dem Gerät und der Cloud

  • Kontinuierliche Überarbeitung der Firmware mit OTA-Firmwareupdates zur Verbesserung der Stabilität und Funktionalität Ihrer Geräte (also erhöhte Wertschöpfung ohne Änderungen an der Hardware)

Firmware-Verwaltung

Weiter oben wurde bereits aufgezeigt, wie wichtig es ist, regelmäßige Firmware-Updates für IoT-Edge-Geräte bereitzustellen. Stellen Sie sich beispielsweise einen riesigen Markt vor, auf dem Informationen zu den angebotenen Produkten durch Leuchtsignale erfolgen. Die Position dieser Leuchtsignale ist u. U. nicht leicht zugänglich und aufgrund der Menge der Signale ist es unmöglich, sie nach der Bereitstellung einzeln zu programmieren. Wenn eine neue Funktion eingeführt wird oder ein Fehler auftritt, sodass eine erneute Bereitstellung erforderlich ist, lässt sich mit einem OTA (Over the Air)-Upgrade der Firmware viel Zeit einsparen.

In einem Artikel in „Embedded Computing Design“ wurden drei Hauptgründe dafür angeführt, warum Geräte-Firmware Unterstützung für OTA-Upgrades bieten sollte:

  • Umfassende und heterogene Gerätebereitstellung: Die Anzahl der Geräte und die verschiedenen Gerätetypen spielen in einem verteilten Netzwerk eine sehr wichtige Rolle. Eine standardisierte OTA-Schnittstelle sorgt für die Wiederverwendung der Architektur auf verschiedenen Knoten. Nehmen Sie beispielsweise eine intelligente Beleuchtung in einem Stadion: Ein großes Flutlicht und ein Flurlicht haben eine ganz unterschiedliche Leistung. Trotzdem kann eine OTA-Standardschnittstelle über BLE über beide Beleuchtungen hinweg wiederverwendet werden.
  • Veränderte Anforderungen und neue Funktionen: Das Internet der Dinge ist ein wachsender und sich schnell ändernder Markt mit neuen Produktanforderungen, auf dem regelmäßig neue Funktionen eingeführt werden. Sicherheitsbedrohungen und Datenschutzverletzungen sind einige der größten Faktoren, die diese Veränderungen vorantreiben. Zum Schutz vor neuen Virenangriffen lassen sich beim OTA-Prozess zur Firmware-Aktualisierung Fehlerbehebungen und sicherere Algorithmen integrieren.
  • Äußerst kurze Markteinführungszeiten: IoT-Systeme bieten vorteilhaft kurze Designzyklen, was den Anforderungen an fortlaufende Innovation und der schnellen Bereitstellung der neuesten Funktionen gerecht wird. Der allgemeine Entwicklungsprozess besteht darin, die Hardware „überzukonstruieren“, um die wachsenden Marktanforderungen über einen längeren Zeitraum hinweg zu unterstützen. Ein Upgrade der OTA-Firmware ermöglicht eine Lösungsbereitstellung in Phasen. Beispielsweise kann das ursprüngliche Design eines Thermostatsystems schnell mit nur einem Thermosensor eingeführt und dann später anhand von Updates um einen Feuchtigkeitssensor erweitert werden. Beachten Sie, dass das Hardwaredesign bei diesem Ansatz ein gut durchdachter Prozess ist, bei dem bereits in der Architekturphase zukünftige Rollouts aus der Perspektive der Hardware berücksichtigt werden.

Produktteams sollten sich aber bewusst sein, dass es bei OTA auch Fallstricke gibt. Beispielsweise könnte die Anforderung nach einer möglichst schnellen Massenbereitstellung des Produkts beim Marketing dazu führen, sich auf eine spätere Aktualisierung der Firmware zu verlassen. Dies wiederum könnte die Einführung von instabiler Software oder Produkten zur Folge haben, die noch nicht vollständig validiert oder optimiert sind.

Außerdem sind häufige Updates bei vielen Endbenutzern nicht beliebt. Daher müssen die Produktteams die Auswirkungen solcher Entscheidungen sorgfältig abwägen und OTA nicht übermäßig einsetzen.

Softwaremanagement

Ein enormer Wettbewerbsvorteil im IoT-Ökosystem ist es, als erster ein Produkt auf dem Markt einzuführen. Bisweilen bedeutet dies, dass eine schnelle Veröffentlichung auf Kosten von Sicherheit, Qualität und Zuverlässigkeit geht.

Laut „Information Age“ müssen Unternehmen vier wichtige Praktiken bei der IoT-Softwareentwicklung einführen, um die Anforderungen zu erfüllen, Fallstricke zu vermeiden und Erfolge zu erzielen:

Überprüfung: Eine genaue Überprüfung des Codes und wiederholte Tests sind unerlässlich. Diese Botschaft muss von den Herstellern an die Softwareentwickler-Teams weitergegeben werden, um strengere Software-Qualitätsvorschriften zu erzielen.

Da IoT-Anwendungen äußerst komplex sind, ist die Software anfällig für Sicherheitslücken und Softwarefehler.

Schon eine fehlerhafte Transaktion zwischen einer Anwendung, einem Sensor und einem Hardwaregerät kann zu einem Totalausfall des Systems führen. Das können sich Unternehmen einfach nicht leisten.

Bewertung: Das A und O in der vernetzten Welt ist eine kontinuierliche Bereitstellung. Es gibt fortlaufend Updates, die oft mehrmals täglich implementiert werden.

Daher nimmt die Qualitätssicherung der Software, die mit IoT-Geräten interagiert, einen höheren Stellenwert ein als je zuvor. Ohne eine kontinuierliche Überwachung der Software unter Auswertung des Codes sind Fehler sozusagen vorprogrammiert.

Verantwortung: Die Verantwortung für die Qualitätssicherung liegt beim jeweiligen Management. Hersteller, die nicht über eine Reihe von Analysefunktionen zur Nachverfolgung von Risiken bei der Software verfügen (z. B. in den Bereichen Zuverlässigkeit, Sicherheit oder Leistung), vernachlässigen ihre Verantwortung gegenüber Kunden und anderen Interessengruppen.

Das Management muss mit gutem Beispiel vorangehen und den direkten Zusammenhang zwischen der Softwarequalität und der Sicherheit herausstellen. Dies ist sogar im besten Interesse der Manager, da die Behebung von Sicherheitslücken, die aufgrund von schlechten Entscheidungen bei Codierung oder Systemarchitektur entstanden sind, sehr kostspielig sein kann.

Befürwortung von Standards: Neben Messungen und Analysen muss auch ein kultureller Wandel bei der Informationsbereitstellung stattfinden. Entwickler und Management müssen gemeinsam dafür sorgen, dass die Community Informationen zu den vorhandenen Standards erhält.

Es wurden erhebliche Fortschritte bei Initiativen gemacht, bei denen Hersteller und IT-Abteilungen die Qualität ihrer Software fortlaufend messen.

2015 hat die Object Management Group (OMG) eine Reihe von globalen Standards für gut befunden, die vom Consortium for IT Software Quality (CISQ) vorgeschlagen wurden und Unternehmen dabei unterstützen, bestimmte Ziele für die Softwarequalität zu bestimmen und zu erfüllen.

Power-Management

Den Energieverbrauch von System-on-a-Chip (SoC)-Systemen so weit wie möglich zu senken, ist fast immer eine Priorität für IoT-Edge-Gerätedesigner, insbesondere, wenn das Gerät batteriebetrieben ist oder auf Energiegewinnung aus der Umgebung angewiesen ist. Ein übermäßiger Stromverbrauch bedeutet eine schnelle Entladung des Akkus und kann zu Überhitzung führen.

In einem von Sparsh Mittal veröffentlichten White Paper mit dem Titel „A Survey of Techniques for Improving Energy Efficiency in Embedded Computing Systems“ wird eine Reihe von Techniken zur Reduzierung des Energieverbrauchs beschrieben:

  • Spannungsreduzierung – einschließlich spannungsumschaltbarer CPUs, dynamischer Spannungsskalierung und Unterspannung
  • Frequenzreduzierung – einschließlich Untertaktung und dynamischer Frequenzskalierung
  • Kapazitätsreduzierung – einschließlich zunehmend integrierter Schaltungen, die Leiterplattenspuren zwischen zwei Chips durch On-Chip-Metallverbindungen mit relativ geringer elektrischer Kapazität zwischen zwei Abschnitten eines einzigen integrierten Chips ersetzen, Materialien mit niedriger dielektrischer Konstante usw.
  • Techniken wie Taktschaltung und GALS-Architektur (Globally Asynchronous Locally Synchronous), die als Reduzierung der elektrischen Kapazität auf jedem Taktgeber oder als lokale Reduzierung der Taktfrequenz in einigen Abschnitten des Chips angesehen werden können
  • Verschiedene Techniken zur Reduzierung der Umschaltaktivität – Anzahl der Übergänge von der CPU zu den Off-Chip-Datenbussen, wie z. B. dem Nicht-Multiplex-Adressbus, Buscodierung wie Gray-Code-Adressierung oder Energieprotokoll
  • Geringere Transistordichte im Interesse höherer Frequenzen
  • Überlagern von Wärmeleitungszonen innerhalb des CPU-Frameworks
  • Recycling zumindest eines Teils der in den Kondensatoren gespeicherten Energie (statt sie als Wärme in Transistoren abzulagern), einschließlich adiabatischer Schaltkreise und Energierückgewinnungslogik
  • Optimierung des Maschinencodes – durch Implementierung von Compiler-Optimierungen, mit denen Anweisungscluster anhand von gemeinsamen Bauelementen geplant werden, lässt sich die CPU-Leistung für die Ausführung einer Anwendung erheblich verringern

Antennendesign

Das Antennendesign ist ein weiterer Bereich, in dem sich durch die Anforderungen von IoT-Anwendungen neue Herausforderungen stellen. Platzbedarf und verfügbare Energie sinken, aber wenn diese Faktoren nicht durch ein verbessertes Antennendesign aufgewogen werden, wird die Zuverlässigkeit der drahtlosen Kommunikation des Geräts beeinträchtigt. Dieses Problem wird häufig durch extreme Störfaktoren und die jeweiligen Standortbedingungen verschärft.

In einem Artikel in „Microwaves&RF“ wird erläutert, auf welche Weise die Designentscheidungen von Entwicklern durch die Faktoren Kosten, Größe, Designaufwand und Fertigungskomplexität von IoT-Modulen erheblich erschwert werden. Gängige IoT-Antennentypen reichen von Leiterplatten (PCB)-Designs bis hin zu vorgefertigten Chip-Antennen. Alle Antennentypen in Abb. 6 haben Vorteile und Nachteile, die aufgeführt sind, um Entwicklern von IoT-Modulen bei der Entscheidung über das für ihre Anwendung richtige Antennendesign zu helfen.

Sicherheit in IoT-Edge-Geräten

Wie jedes andere Onlinegerät benötigen IoT-Edge-Geräte Schutz vor Hackern und Cyberangriffen. Zu den Problemen gehören der Schutz kritischer Ressourcen, sichere Verschlüsselungsimplementierungen, sichere Remote-Firmware-Updates, Firmware-IP-Schutz und sicheres Debugging. Dieser Schutz ist auf der Hardware-CPU-Ebene verfügbar.

Der Cortex-M33, der Cortex-M23 sowie alle Cortex-A-Prozessoren umfassen beispielsweise die TrustZone-Technologie von ARM, um eine sichere Grundlage für die SoC-Hardware zu schaffen. TrustZone ist eine weit verbreitete Sicherheitstechnologie, die in Geräten wie Premium-Smartphones hochrangige Vertrauensfunktionen bereitstellt. Die Technologie umfasst kryptografische Anweisungen für effiziente Authentifizierungs- und Schutzfunktionen, wobei der Cortex-A32 auch mit den Produkten der Baureihe TrustZone CryptoCell-700 gekoppelt werden kann, um eine fortschrittliche kryptografische Hardwarebeschleunigung und eine erweiterte Vertrauensbasis zu ermöglichen.

Elektrostatische Entladung (ESD)

Bestimmte in elektronischen Baugruppen verwendete Bauelemente sind empfindlich gegenüber statischer Elektrizität und können durch ihre Entladung beschädigt werden (elektrostatische Entladung oder ESD). Bei Berührung durch eine Person mit einem statischen Ladepotential an bestimmten Lötanschlüssen oder Leiterbildern kann die Platinenbaugruppe beschädigt werden, wenn eine Entladung durch das Leiterbild an ein statisch empfindliches Bauelement erfolgt. Hinweis: In der Regel kann eine statische Aufladung von weniger als 3.000 V in Bauelementen nicht vom Menschen wahrgenommen werden.

Probleme können auch durch elektrische Überspannung (Electrical Overstress, EOS) verursacht werden, die durch eine unerwünschte Energieerzeugung entsteht. EOS kann durch Spannungsspitzen von Lötkolben, Lötextraktoren, Prüfgeräten und anderen elektrisch betriebenen Geräten verursacht werden. Derartige Geräte müssen so ausgelegt sein, dass keine unerwünschten elektrischen Entladungen entstehen.

ESD- und EOS-sichere Arbeitsbereiche sollten empfindliche Bauelemente vor Schäden durch Spannungsspitzen und statische Entladungen schützen. In einem Artikel von Circuit Technology Center, Inc. sind die Handhabungs- und Lagermethoden für solche sicheren Arbeitsbereiche als Referenz zusammengefasst:

  • Platinenbaugruppen müssen immer in ordnungsgemäß ausgewiesenen Arbeitsbereichen gehandhabt werden.
  • Die ausgewiesenen Arbeitsbereiche müssen regelmäßig überprüft werden, um einen fortgesetzten Schutz zu gewährleisten. Die Prüfungen sollten Folgendes umfassen:
    • Ordnungsgemäße Erdungsmethoden
    • Statische Ableitung von Arbeitsflächen
    • Statische Ableitung von Bodenflächen
    • Betrieb von Ionengebläsen und Antistatikpistolen
  • Die ausgewiesenen Arbeitsbereiche müssen frei von statischen Materialien wie Polystyrol, Vinyl, Kunststoff, Textilien und anderen statischen Materialien sein.
  • Die Arbeitsbereiche müssen sauber und ordentlich gehalten werden. Um eine Verunreinigung der Platinenbaugruppen zu vermeiden, muss Essen oder Rauchen im Arbeitsbereich verboten sein.
  • Wenn empfindliche Bauelemente und Leiterplatten nicht gerade bearbeitet werden, müssen sie in abgeschirmten Beuteln oder Boxen aufbewahrt werden. Es gibt drei Arten von ESD-Schutzumkleidungen:
    • Statische Abschirmung: Verhindert, dass statische Elektrizität durch die Umkleidung fließt.
    • Antistatisch: Bietet eine antistatische Polsterung für elektronische Bauteile.
    • Statisch ableitend: Ein „Überpaket“ mit ausreichender Leitfähigkeit, um eventuell auftretende statische Aufladung abzuleiten.
  • Beim Umgang mit einer Platinenbaugruppe muss der Bediener durch eine der folgenden Methoden ordnungsgemäß geerdet sein:
    • Ein Erdungsarmband, das mit der Erde verbunden ist
    • Zwei Fersenriemen, wobei beide Füße auf einer antistatischen Bodenfläche stehen
  • Platinenbaugruppen sollten nur an den Kanten angefasst werden. Vermeiden Sie es, Stromkreise oder Bauelemente zu berühren (siehe Abbildung 3).
  • Bauelemente sollten möglichst nur an den Kanten angefasst werden. Vermeiden Sie das Berühren der Kabel.
  • Es dürfen keine Handcremes und Lotionen mit Silikon verwendet werden, da sie Lötfähigkeit und Epoxidhaftungsprobleme verursachen können. Es gibt speziell entwickelte Lotionen, um eine Kontamination von Leiterplatten zu verhindern.
  • Leiterplatten und Baugruppen sollten nicht gestapelt werden, um physische Schäden zu vermeiden. Spezielle Racks und Fächer sind für die Handhabung verfügbar.
Leiterplatten immer an den Kanten anfassen

Abb. 3: Leiterplatten immer an den Kanten anfassen – Bild mit freundlicher Genehmigung von Circuit Technology Center

Zusammenfassung

Das IoT ist nach wie vor ein neues Phänomen und bietet Edge-Produkt- und Systemdesignern auf den Gebieten Heimautomatisierung, Fertigung, Medizin und vielen anderen Anwendungen zahlreiche Möglichkeiten. Dieses Novum ist natürlich sehr attraktiv, kann aber dazu führen, dass Unternehmen sich in Bereiche locken lassen, auf denen sie nur über eingeschränkte Erfahrung verfügen. Dadurch entstehen Risiken auf vielen Ebenen, angefangen bei Projektplanung und Projektmanagement über die Designdetails von Hardware, Software und Firmware bis hin zu Bereitstellung und Provisioning.

In diesem Artikel wurden die Probleme im Zusammenhang mit den Produktlebenszyklen untersucht und gleichzeitig die damit verbundenen Risiken sowie deren Minderung aufgezeigt.

Referenzen

https://newsroom.cisco.com/press-release-content?articleId=1847422

https://internetofthingsagenda.techtarget.com/blog/IoT-Agenda/Four-keys-to-failure-How-IoT-projects-crash-and-burn

https://www.networkworld.com/article/3247801/internet-of-things/the-top-5-user-requirements-of-iot-edge-platforms.html

https://standards.ieee.org/develop/project/2413.html

https://www.arm.com/files/pdf/20160830_03_ARM_CPU_Solutions_for_IoT_PhillipBurr.pdf

http://www.electronicdesign.com/communications/iot-requires-new-type-low-power-processor

https://jaxenter.com/iot-memory-overview-options-131270.html

https://blog.particle.io/2018/04/03/the-five-domain-experts-you-need-to-build-an-iot-device

http://www.embedded-computing.com/embedded-computing-design/over-the-air-firmware-upgrades-for-internet-of-things-devices

http://www.information-age.com/4-practices-iot-software-development-123461868

https://www.academia.edu/4186102/A_survey_of_techniques_for_improving_energy_efficiency_in_embedded_computing_systems

http://www.mwrf.com/passive-components/5-antenna-topologies-squeeze-iot-modules

https://www.arm.com/about/newsroom/new-ultra-efficient-arm-cortex-a32-processor-expands-embedded-and-iot-portfolio.php

http://www.circuitrework.com/guides/2-1.html

Fehlervermeidung im IoT-Design – Veröffentlichungsdatum: 4. September 2018 durch Farnell