FORGOT YOUR DETAILS?

CREATE ACCOUNT

Kritische, Tragbare Medizinische Geräte werden auf einer Soliden Sicheren Plattform gebaut

Ein gezieltes Packet von Prozessor und RTOS zusammen mit einer Auswahl von geeigneten Protokollen und Treibern kann für kritische Projekte ein wichtiger Vorsprung sein.

von Kim Rowe, RoweBots, Ltd.

Klein, intelligent und tragbar: Die medizinischen Geräte von Heute verwandeln die Patientenversorgung. Die Überwachung und Behandlung, die vorher nur von einem Krankenhausbett möglich war, wird durch solche Geräte jetzt für Patienten im Alltagsleben zugänglich. Vorschritte auf den Gebieten von Miniaturisierung, Sensortechnologie und drahtlose Kommunikation zusammen mit gewaltiger Reduktion der Energieverbrauch setzen die Kosten der medizinischen Versorgung gewaltig herab. Das erlaubt älteren Patienten länger zu Hause zu leben. Direkte, ständige Messung zusammen mit ständiger Verbindung über die Cloud erlaubt Medizinern und Spezialisten, die Kondition dauernd zu überwachen und aufzuzeichnen und, wenn nötig, auf einen Alarm zu reagieren. Solche Fortschritte bringen mit sich natürlich neue Herausforderungen für die Entwickler dieser Geräte.

Viele dieser Herausforderungen sind schon bekannt, weil Mediziner mit Geräten in der Klinik und im Operationssaal schon viele Erfahrungen gemacht haben. Zu diesen gehören Sensortechnologie und die Erfordernisse der staatlichen Behörden für die nötige Zertifikation. Zu den neuen Herausforderungen gehören Größe, Gewicht und Energieverbrauch sowie Verringerung der Kosten, Verkürzung der Markteinführungszeit und eine sehr große Betonung der Sicherheit. Dies Letzte ist ein Resultat der nötigen drahtlosen Verbindung zum Internet of Things (IoT), die mehrere Möglichkeiten für Einbruch mit sich bringt. Und selbstverständlich kommen noch weitere Zertifikationsbedingungen von verschiedenen Ländern dazu.

Und die ganze Zeit lauert der Drache der Markteinführungszeit auf den Entwickler. Vor der Konkurrenz auf den Markt zu kommen ist in der heutigen Welt einfach unerlässlich und hat einen riesigen Einfluss auf die ganze Einnahmequelle (Abbildung 1).  Ein Schritt, den man nehmen kann, um dieser Erfordernis gerecht zu werden, ist dass man nicht ganz von vorne anfängt, sondern auf Elemente baut, die schon vorhanden sind. Diese sollten die Eigenschaften von Größe, Energieverbrauch und Leistung bieten, die die Erfordernisse der Anwendung erfüllen. Für ein tragbares medizinisches Gerät sind die Mehrwerte hauptsächlich die Tragbarkeit der spezifischen Sensorfähigkeit zusammen mit innovativer Software und drahtloser Kommunikation. Auf dem heutigen Markt würde es eine tödliche Zeitverwendung sein, wenn man mit der Suche nach der richtigen Kombination von Prozessor, Sensoren, RTOS und Software-Treiber anfangen sollte.

1: Die Markteinführungsziele treffen, bedeutet nicht nur größeren Marktanteil (da man der Erste ist), sondern auch eine längere Zeit auf dem Markt, was zu größeren Gesamteinnahmen führt.

Die Antwort ist, dass man anfängt, auf einer vorqualifizierten „Plattform“ zu bauen, die die nötigen Hardware und Software Komponenten zusammenbringt, und dem Entwickler erlaubt, auf der höheren Ebene, seinen Wert anzubauen. Eine solche Plattform kann eine breite Auswahl von Funktionen für—in diesem Fall medizinische Geräte—bieten. Dadurch kann der Entwickler einen langen Such- und Bewertungsprozess vermeiden, der sonst nötig wäre, um einfach anzufangen. Der Entwickler sollte auch früh entscheiden, welche drahtlose Kommunikationstechnologie für die geplante Anwendung die richtige ist. Ein Gerät könnte zum Beispiel über Bluetooth mit einer Netzperipherie-Vorrichtung im Internet verbinden. Unter anderen Verhältnissen, wie eine Sportveranstaltung, könnte es auch 6LowPAN sein oder zu Hause könnte es Wi-Fi benutzen.

Eine solche Plattform besteht aus einem RTOS und eine Auswahl von Protokollen und Treibern, die eine breite Auswahl von Sensoren, wie z.B., Herzfrequenz-Monitor, Temperatursensoren, hautempfindliche Oximeter unterstützen. Dazu zählen auch drahtlose Kommunikationsprotokolle und Dateimanagementfunktionen. Zusätzlich hilft es sehr, eine Liste von vorgeprüften Mikroprozessoren und Mikrokontrollern zu haben. Wenn diese auf Leiterplatten schon erhältlich sind, kann das dem Entwickler einen großen Vorsprung geben.

Medizinische Geräte, die außerhalb einer kontrollierten Umgebung wie Klinik oder Krankenhaus getragen werden, müssen irgendwie Ortsbestimmung einbeziehen. Sie müssen in der Lage sein, Vorfälle zu registrieren und Alarm zu geben, wenn der Patient nicht zu Hause und nicht sofort erreichbar ist. Ein Sturz auf der Straße kann sehr ernst sein. Ein getragenes Gerät mit Beschleunigungsmesser kann einen solchen Vorfall registrieren und Alarm senden auch wenn der Patient nicht anrufen kann.

Andere Situationen werden vielleicht eine Kombination von Sensoren und Software benutzen. Wenn ein Patient zum Beispiel in der Nacht aufsteht, um aufs Klo zu gehen, kommt er zurück ins Bett? Sensoren im Hause zusammen mit denen, die am Körper getragen werden, können diese Situation verfolgen und nach einer bestimmten Zeit Alarm geben. Sollte es einen Alarmfall geben, dann brauchen die Ersthelfer Ortsbestimmung von GPS oder anderen Mitteln. Hier könnte die Verbindung zu einem Smartphone auch nützlich sein.

Es ist wichtig zu merken, dass tragbare Geräte Teile eines größeren Systems sind, und die Entwicklung muss die Interaktion mit dieser Umgebung berücksichtigen. Dazu gehören die drahtlose Technik, die Netzperipherie-Vorrichtung sowie die Cloudanwendungen und ihre Verbindungen. Eine Plattform, die dem Entwickler erlaubt, leicht und schnell verschiedene Möglichkeiten zu verbinden und auszuwerten kann ein großer Vorteil sein.

Mit unterstützten Sensoren und Peripheriegeräten arbeiten

Die Entwicklung von tragbaren medizinischen Geräten ist sicherlich ein komplexes Unternehmen und es ist wichtig, auf das Ziel zu konzentrieren. Ein getragenes Gerät kann nicht „all Zweck“ sein, muss aber ganz spezifisch auf eine bestimmte Lösung gerichtet sein. Um das zu machen kann es sicherlich eine Kombination von Sensoren verwenden aber diese sollten koordiniert werden, um die gewünschten Konditionen zu überwachen. Ein solcher Fokus ist nicht nur medizinisch praktisch, sondern auch wegen Größe- und Kraftverbrauchbeschränkungen nötig.

Um Entwicklern einen guten Start zu geben, ist es sehr nützlich, ein Brett mit Prozessor und Sensoren oder einen Entwicklungsbausatz anzubieten. Es ist aber auch nötig, eine reiche Auswahl an Sensoren und Peripheriegeräten zu haben, aus der die Entwickler Elemente aussuchen und probieren können. Obwohl die eigentlichen Sensoren und Peripheriegeräte von ihren Herstellern gekauft werden, sollte das RTOS-Paket mit einer reichen Auswahl von Treibern und Software für eine umfassende Liste ausgestattet sein. Zunehmend populäre Schnittstellen für solche Sensoren sind I2C und SPI. Diese werden auf eine wachsende Nummer von MCUs und CPUs implementiert und erlauben die einfache Verbindung und Testen mit den gelieferten Treibern.

Zusätzliche Unterstützung für Peripheriegeräte könnte Benutzeroberflächen einschließen. Obwohl das tragbare Gerät selbst wahrscheinlich keine Anzeige hat, könnte es trotzdem eine digitale Anzeige auf einer Uhr oder Smartphone oder auf der Netzperipherie geben. Das tragbare Gerät müsste fähig sein, mit den richtigen Protokollen zu verbinden und mit solchen Anzeigen zusammenzuwirken. Zusätzlich zu den drahtlosen Protokollen muss das RTOS fähig sein, die im Prozessor eingebauten Kraftverwaltungsfunktionen zu unterstützen, sowie andere stromtechnischen Peripheriegeräte wie Batterieladegeräte und Energiemesser.

Im Zusatz zu einer passenden (wenn auch kleinen) grafischen Benutzeroberfläche (GUI) auf dem getragenen Stück—sie es das Gerät selbst, ein Uhr oder Smartphone—ist es immer noch wichtig, dass das getragene Gerät durch eine Schnittstelle auch mit einer Benutzeroberfläche auf einem Peripherie-Gerät verbindet. Das kann ein PC oder Phon oder Tablette sein, z.B., wie von einem Trainer oder Mediziner bei einer Sportveranstaltung getragen wird. Cloudanwendungen wie Microsoft Azure oder IBM Cloud könnten dann leichter die Daten von dem tragbaren Gerät empfangen und in Programmen wie Datenbank- oder Analyse- Anwendungen mit eigener GUI verwenden. Diese und andere Überlegungen weisen darauf hin, dass, obwohl das kleine, tragbare Gerät enorm wichtig ist, muss seine Interaction mit den anderen Elementen auch ein wesentlicher Teil des Ganzen darstellen (Abbildung 2).

2: Die allgemeine Anlage eines IoT-Systems besteht aus mehreren kleinen, spezialisierten Geräten, die mit einem Netzperipherie-Gerät--und in einigen Fällen direkt mit dem Internet—drahtlos verbinden. Die Peripherie-Geräte leiten die Kommunikation von den drahtlosen Protokollen zu Internet-Protokollen, um mit Cloudsystemen zu vermitteln, damit diese Kontrolle- und Analysen-Anwendungen laufen, um dann wieder mit den getragenen Geräten zu verbinden.

Sicherheit im Auge Halten

Einer der anspruchsvollste Aspekte der medizinischen Gerätentwicklung, der immer wieder betont werden muss, ist die Sicherheit auf dem Gebiet der medizinischen Geräte. Es gibt natürlich Regeln und Gesetze, die den Schutz von Patientendaten gewährleisten. Immerhin kann solche Geräte in einer Vielfalt von Netzwerkumgebungen verwendet werden. Diese reichen von Internetverbindungen in Privathäusern, die mit Cloudservern und dann mit Ärzten und Spezialisten verbinden. Dieselben Geräte erreichen endlich auch Verbindungen innerhalb verschiedenen drahtlosen Netzwerken in Krankenhäusern. Drahtlose Netzwerke sind leicht zu belauschen und ihre Daten müssen deshalb ohne Autorisation unleserlich bleiben. Und natürlich muss die Sicherheit auf allen Kommunikationsebenen—von Geräten zu Cloud—aufrechterhalten werden.

Mann sollte natürlich Sicherheitsunterstützung von der Plattform erwarten. Diese kommt in der Form von sicherheitskritischen Softwarekomponenten wie, z.B., sichere Email oder sichere SMTP zusammen mit sicheren Webseiten oder HTTPS für die Implementation von geschichteten Sicherheitsstrategien. Sicheres Management—SNMP v3—kann für die Authentifizierung sowie die Vermittlung von Daten zwischen Managementstation und SNMP-Agent zusammen mit dem verschlüsselten Dateisystem benutzt werden.

Es gibt aber einen weiteren Aspekt, der oft übersehen wird und der mit der eigentlichen internen Konstruktion des RTOSs verbunden ist, nämlich die Speicherverwaltung. Eine potenzielle Gefahr für empfindliche medizinische Geräte ist mit der POSIX-Kompatibilität der RTOSs verbunden und das ist die Verbindung mit der Linux-API—die Programmierschnittstelle. Linux-Kompatibilität hat den Vorteil, dass viele Entwickler mit Linux und der großen Menge bestehenden Codes—einschließlich Open-Source—vertraut sind. Sie wissen, dass dieser Code erhältlich ist und dass er für Embedded-Anwendungen anpassbar ist.

POSIX-Linux-Kompatibilität kommt aber meistens mit einer Speicherverwaltung, die dynamische Ladung unterstützt. Das bedeutet, dass Code unter Kontrolle des Betriebssystems in RAM geladen und dann ausgeführt werden kann. Linux verlässt sich auf den Schutz des Betriebssystems, um sicherzustellen, dass Benutzerprogramme nie Kontrolle ergreifen und bestimmen können, welche Programme ausgeführt werden. Aber dieser Schutz durch das Betriebssystem kann gelegentlich durchbrochen werden und deshalb kommt dynamische Ladung mit gewissen Gefahren. Da die Malware auf dem Zielgerät laufen muss, muss sie folglich erst in den Gerätspeicher geladen werden. In den meisten Linux-kompatiblen Systemen bedeutet das RAM.

Die Antwort ist ein anderes Speichermodell, in dem alle Code von Flash läuft. Das bedeutet, dass der Code erst in Flash geladen werden muss, damit er überhaut ausgeführt werden kann. Das ist viel schwerer, als den Code einfach in RAM zu laden. Flash-Code ist ein einziges verknüpftes Software-Image, das im Speicher sitzt, und wenn er ausgeführt wird, erfolgt das direkt von dem Image im Flash-Speicher. RAM wird natürlich für die vorübergehende Speicherung von Variablen und Stacks verwendet aber alle Befehle werden vom Flash ausgeführt.

Das bedeutet, dass kein externes Programm in den Gerätspeicher geladen werden kann—auch unter Kontrolle des Betriebssystems nicht—weil der Code vom Flash ausgeführt werden muss. Und das Flash-Image kann nur geändert werden, wenn ein ganz neues Image aufgeladen wird. Eine Kopie der originalen Flash-Anwendung zu bekommen, um sie dann zu ändern und aufzuladen, ist sehr schwierig, wenn nicht unmöglich. Zusätzlich sollte das Fern-Upgrade auch ein Programm sein, das auf dem Gerät läuft und Verschlüsselung verwendet. Das Image kann nur dann entschlüsselt werden, wenn es mit dem richtigen Schlüssel begleitet wird und man kann den Entschlüsselung-Schlüssel nicht finden, wenn man das Gerät hackt.

Mit einer soliden Plattform anfangen

Systeme dieser Vielfalt und Komplexität von Anfang an zu entwickeln wäre natürlich eine danklose Arbeit. Entwickler sollten eine stabile und doch vielseitige Plattform mit den folgenden Eigenschaften aussuchen: eine Auswahl unterstützter MCUs und Peripheriegeräte, ein RTOS, das für ganz kleine Systeme bestimmt ist zusammen mit einer Menge unterstützter Treiber, Softwaremodule und Protokolle. Viele Verkäufer bieten heute Prototyp- und Entwicklung-Bausätze, die den Entwicklern erlauben, ihr Konzept zu prüfen und verifizieren, bevor sie sich zu einer potenziell teureren Lösung verpflichten (Abbildung 3).

3: RoweBots bietet Entwicklung-Bausätze die Probierbretter von STMicroelectronics mit RoweBots MedicalOS benutzen. Sie sind der STM3240G-EVAL mit einem Cortex-M4-Prozessor und der STM32F7-EVAL mit einem Cortex-M7. Beide Bretter haben reiche E/A Funktionen, die den Auswahl von Treibern und Protokollen benutzen können. Beide haben auch grafische Anzeigen, die für die Entwicklung von Benutzeroberflüchen nützlich sind.

Medizinische Geräte und ihre Stützsysteme—Gateways im Hause oder auf dem Spielfeld, Cloud-Konnektivität, usw., fordern Unterstützung durch verschiedene Prozessoren und ihre Familien, weil es wichtig ist, künftige Verbesserung und Erweiterung der Produkte zu ermöglichen. Unterstützung für einen Standard-API wie POSIX erleichtert das Anheuern von neuen Programmierern und den Gebrauch von Open-Source-Code. Die Möglichkeit vom ersten Tag an, echten Wert anzubauen, ist ein gutes Zeichen für ein erfolgreiches Projekt.

 

TOP