-
Die vorliegende Erfindung betrifft ein Fortbewegungsmittel, eine medizintechnische Einrichtung, eine Anwenderschnittstelle sowie ein Verfahren zur Anzeige sicherheitsrelevanter Anzeigeelemente. Insbesondere betrifft die vorliegende Erfindung eine Vermeidung von Synchronisationsaufwänden in Verbindung mit mehreren Steuereinheiten zur Bilddarstellung, mittels welcher sicherheitsrelevante (z.B. nach SIL oder ASIL zertifizierte) Inhalte angezeigt werden sollen.
-
Um bspw. in einem Kraftfahrzeug oder in einer medizintechnischen Einrichtung zur Überwachung von gesundheitsrelevanten Signalen eine hohe Sicherheit elektronischer Funktionen zu gewährleisten, wurde u.a. die Norm ISO 26262 erlassen, welche verschieden sicherheitsrelevante Situationen aufzeigt, kategorisiert und für jede Kategorie bestimmte Anforderungen an die jeweiligen Komponenten und ihr Zusammenspiel stellt. Dabei werden die verschieden Situation im Automobilbereich in ASIL A bis D eingeordnet, wobei ASIL D für die höchste Sicherheitsrelevanz steht. Um die hohen Anforderungen an die Software zu bestehen, werden für die Verarbeitung eines sicherheitsrelevanten Inhalts (engl. „safety content“) separate virtuelle Adressbereiche (engl. „virtual address spaces“, VAS) genutzt. Diese Trennung durch die Adressbereiche erfüllt das ISO 26262-Kriterium, dass die Bearbeitung verschiedener Warnhinweise (z.B. der Rendering-Prozess der optischen Warnhinweise („Check Control Messages“)) oder die Anzeige des Gangs eigenständig bearbeitet werden kann, ohne dass ein anderer Bearbeitungsvorgang mit diesem interferiert. Außerdem muss der safety content für jeden frame neu gesendet werden. Nicht sicherheitsrelevanter Inhalt (engl. „non-safety content“) wird auf einer niedrigeren Prioritätsebene bearbeitet. Da Render Prozesse komplex sind und teilweise relativ viel Zeit in Anspruch nehmen, kann die Situation eintreten, dass bei non-safety content die Bearbeitungszeit länger dauert als die Darstellung eines Einzelbildes (engl. „frame“). Bei 60 frames/Sekunde (FPS) wird alle 16,66 ms ein neuer frame dargestellt.
-
Im aktuellen Stand der Technik werden ein front buffer (Vordergrundpuffer) und ein back buffer (Hintergrundpuffer) verwendet. Zunächst wird der front buffer angezeigt. Jede Änderung des front buffers führt zu Artefakten im Bild, welche den Fahrer eines entsprechend ausgestatteten Fahrzeugs oder den Anwender eines medizintechnischen Gerätes ablenken könnten. Der back buffer berechnet und bearbeitet das als nächstes anzuzeigende Bild. Nach Abschluss dieses Vorgangs kann die Anzeige aktualisiert werden, indem der front buffer als back buffer und der back buffer als front buffer verwendet werden (eng. „buffer swap“). Das VSync-Signal gibt an, ab wann das Display nicht aktiv ist. Es ist sinnvoll, den buffer swap in dieser Zeit durchzuführen, da andernfalls diverse Artefakte auftreten können.
-
Mitunter werden der safety content und der non-safety content auf demselben Display dargestellt. Da die Inhalte der verschiedenen Kategorien in unterschiedlichen VAS behandelt werden, führen auch unterschiedliche Graphiktreiber jeweils die Bearbeitung durch. Bevor die verschiedenen Inhalte dargestellt werden, müssen sie für ein Display synchronisiert werden.
-
DE 10 2010 042 574 A1 offenbart ein Verfahren zum Partitionieren innerhalb eines rudimentären Mikrocontrollers mit direkt adressierbaren Ressourcen und die Verwendung eines Mikrocontrollers in einem System mit Funktionen unterschiedlicher Sicherheitsebenen.
-
Der Stand der Technik erfordert eine komplexe Synchronisation des sicherheitsrelevanten Graphiktreibers mit dem nicht-sicherheitsrelevanten Graphiktreiber. Es wäre zudem wünschenswert, im Zusammenhang mit und zur Erfüllung der ISO 26262-Norm den Display-Controller als letztes mit dem safety content anzusteuern, bevor das Bild an das Display gesendet wird, damit die sicherheitsrelevante Komponente überprüfen kann, ob das Display richtig konfiguriert ist. Systeme, welche die Synchronisation überprüfen, sind sehr komplex. Insbesondere wenn die Software-Komponenten eine Unterteilung in verschiedene VAS aufweisen, sind ein hoher Rechenaufwand und eine langsame Bearbeitung die Folge (z.B. kann der sicherheitsrelevante VAS den nicht-sicherheitsrelevanten VAS blockieren, bis der Display-Controller aktualisiert worden ist und keine weiteren Änderungen für den nächsten Bildrahmen („frame“) mehr vom Display-Controller akzeptiert werden).
-
Es ist eine Aufgabe der vorliegenden Erfindung, die vorstehend identifizierten Nachteile auszuräumen bzw. zu lindern.
-
Die vorstehend identifizierte Aufgabe wird erfindungsgemäß durch ein Verfahren zur Anzeige sicherheitsrelevanter Anzeigeelemente in einem Fortbewegungsmittel gelöst. Sicherheitsrelevante Anzeigeelemente können bspw. auf einem Bildschirm angezeigt werden, welcher den Fahrer über sicherheitskritische Zustände des Fahrzeugs oder solche Information informiert, welche Sicherheitsrelevanz entwickeln können. Zunächst wird ein erster Datensatz (z.B. Pointer auf ein Bitmap, eine Color Look-Up Table, (CLUT), Koordinaten, Breite/Höhe, Vordergrund-/Hintergrundfarbe, usw.) repräsentierend ein sicherheitsrelevantes Anzeigeelement in einem ersten virtuellen Adressbereich verarbeitet. Die Verarbeitung kann bspw. ein Rendering, also ein Vorbereiten einer graphischen Darstellung, einer Graphikdatei (z.B. ein Bitmap) umfassen. Der erste virtuelle Adressbereich kann für die Verarbeitung sicherheitsrelevanter Anzeigeelemente reserviert sein, sodass eine Verarbeitung dieser Anzeigeelemente nicht mit nicht-sicherheitsrelevanten Anzeigeelementen interferieren, wodurch Darstellungsprobleme vermieden werden können. Zusätzlich wird ein zweiter Datensatz repräsentierend ein nicht-sicherheitsrelevantes Anzeigeelement in einen zweiten, vom ersten virtuellen Adressbereich verschiedenen, virtuellen Adressbereich verarbeitet. Der zweite virtuelle Adressbereich kann für die Verarbeitung nicht-sicherheitsrelevanter Anzeigeelemente vorgesehen, insbesondere für diesen Zweck reserviert, sein. Auch die Verarbeitung des zweiten Datensatzes kann ein Rendern einer Graphikdatei (z.B. ein Bitmap) umfassen. Anschließend wird das sicherheitsrelevante Anzeigeelement auf Basis des ersten Datensatzes auf einer Anzeigeeinrichtung mittels einer ersten Steuereinheit zur Bilddarstellung, nachfolgend „Graphiktreiber“ genannt, dargestellt. Die Anzeigeeinrichtung kann bspw. ein Pixel-Display aufweisen, dessen Pixel entsprechend dem ersten Datensatz das sicherheitsrelevante Anzeigeelement wiedergeben. Die Anzeigeeinrichtung kann insbesondere mehrere Anzeigeebenen aufweisen, welche jeweils zur Anzeige unabhängig voneinander gerenderter Anzeigeelemente eingerichtet sind. Insbesondere können zumindest die aus Richtung des Anwenders/Betrachters gesehen vorderen Anzeigeebenen vollständig oder anteilig transparent ausgeführt sein, sodass die hinter einer vordersten Anzeigeebene angeordneten Anzeigeebenen zumindest dann für den Betrachter sichtbare Anzeigeelemente darstellen können, wenn die vorderste Anzeigeebene nicht vollständig opak erscheint. Erfindungsgemäß wird der zweite Datensatz an den ersten Graphiktreiber übergeben, im Gegensatz zu physikalisch voneinander getrennten Adressbereichen, wie sie im Stand der Technik bekannte, nach ASIL aufgebaute Anzeigeeinrichtungen zur Anzeige sicherheitsrelevanter bzw. nicht-sicherheitsrelevanter Anzeigeelemente aufweisen, vollzieht der verarbeitete zweite Datensatz einen Adressbereichswechsel virtueller Adressen, sodass in einem letzten Schritt der zweite Datensatz auf der Anzeigeeinrichtung mittels des ersten Graphiktreibers dargestellt werden kann. Die Darstellung kann auf einer ersten Anzeigeebene oder auf einer zweiten Anzeigeebene der Anzeigeeinrichtung erfolgen. Ein Kerngedanke der Erfindung besteht also darin, dass nur noch ein Graphiktreiber (z.B. ein Treiber für 3D/2D-GPU (OpenGL, OpenVG, Sprite engines, usw.) oder andere Grafik-Accelerators, DMA Controllers, RLE-Decoder, usw.) für die Konfigurierung des sicherheitsrelevanten und des nicht-sicherheitsrelevanten Inhalts erforderlich ist. Dieser Graphiktreiber steuert dann, welcher Inhalt auf der Anzeigeeinrichtung dargestellt wird. Insbesondere ist der Graphiktreiber eingerichtet, darüber zu entscheiden, ob der Inhalt auf der ersten Anzeigeebene und/oder auf der zweiten Anzeigeebene oder auf sämtlichen Anzeigeebenen der Anzeigeeinrichtung dargestellt wird. Auf diese Weise wird eine vereinfachte Synchronisation einer Anzeige des sicherheitsrelevanten Anzeigeelementes und des nicht-sicherheitsrelevanten Anzeigeelementes ermöglicht, da ein einzelner Graphiktreiber einen Display-Controller kontrolliert. Weiter vorteilhaft wirkt sich aus, dass der einzelne Graphiktreiber die Zeitvorgabe (engl. „timing“) und den Inhalt der Anzeigeeinrichtung kontrolliert und insbesondere den sicherheitsrelevanten und den nicht-sicherheitsrelevanten Inhalt zusammenführt. Zudem kann der einzige Graphiktreiber verwendet werden, die Konfiguration der Anzeige zu überprüfen. Weiter vorteilhaft wirkt sich aus, dass die ggf. beim Rendern des nicht-sicherheitsrelevanten Inhaltes auftretende Verzögerung keinen Einfluss auf die Darstellung des sicherheitsrelevanten Inhaltes hat. Vielmehr hat das Timing des nicht-sicherheitsrelevanten Inhaltes keinen Einfluss auf die sicherheitsrelevante Signalverarbeitung bzw. die sicherheitsrelevanten Komponenten. Bei der Verwendung mehrerer Anzeigeebenen kann jedwede Art von Verzögerung des nicht-sicherheitsrelevanten Inhaltes dazu führen, dass alte Daten des nicht-sicherheitsrelevanten Inhaltes angezeigt werden, während der sicherheitsrelevante Inhalt regelmäßig aktualisiert wird. Bei der Verwendung einer einzigen Anzeigeebene als Anzeigeeinrichtung führt jedwede Art von Verzögerung des nicht-sicherheitsrelevanten Inhaltes dazu, dass der sicherheitsrelevante Inhalt in den front buffer und damit auf die Anzeigeeinheit geblitted wird. Dieses Blitting sollte während der sogenannten Display-Blank-Periode (engl.: „display blank period“) stattfinden, sodass keine sichtbaren Artefakte erzeugt werden können. Auf diese Weise wird die Norm ISO 26262 „Interferenzfreiheit (engl. freedom from interference)“ erfüllt.
-
Die Unteransprüche zeigen bevorzugte Weiterbildungen der Erfindung. Das Verarbeiten des ersten Datensatzes und des zweiten Datensatzes kann ein Rendern von Darstellungen für Anzeigen auf der Anzeigeeinrichtung umfassen, wobei die Datensätze bewegte Bilder repräsentieren können. Die vorgenannten Graphiken können von unterschiedlichen Quellen bezogen werden und bspw. in einem wiederbeschreibbaren Speicherbereich (engl.: „RAM“) gespeichert sein. Auf diese Weise können besonders ansprechende und den anzuzeigenden Inhalt besonders eingängig repräsentierende Animationen angezeigt werden.
-
Bevorzugt kann das Verfahren weiter ein Erkennen eines Bildphasensignals umfassen, im Ansprechen worauf der zweite Datensatz auf einer ersten Anzeigeebene oder auf einer zweiten Anzeigeebene der Anzeigeeinrichtung mittels des ersten Graphiktreibers dargestellt wird. Das Bildphasensignal kann Informationen darüber enthalten, in welcher Phase eines aktuellen Einzelbildes bzw. frames der anzuzeigende Datensatz gelesen wird. Als Bildphasensignale kommen insbesondere VS_blank und VS_sync in Frage. Das Bildphasensignal soll insbesondere Auskunft darüber geben, zu welchem Zeitpunkt ein buffer swap sicher durchgeführt werden kann. Mit anderen Worten wird anhand des Bildphasensignals sichergestellt, dass der soeben beschriebene Puffer mit Sicherheit im Zuge einer nächsten Aktualisierung der Anzeigeeinrichtung berücksichtigt wird. Der genaue Zeitpunkt hängt vom eingesetzten Displaycontroller ab. Entsprechend kann im Ansprechen auf das Erkennen des Bildphasensignals ein bislang als back buffer verwendeter Puffer nachfolgend als front buffer zur Darstellung des zweiten Datensatzes verwendet werden. Diese vorgeschlagene Abhängigkeit der Pufferumschaltung verhindert ein Anzeigen eines unvollständig geschriebenen Pufferinhaltes, wodurch Artefakte bis hin zu unendlichen Anzeigeelementen vermieden werden können.
-
Der erste Graphiktreiber kann eingerichtet sein, der Anzeigeeinrichtung einen Verweis, nachfolgend „pointer“ genannt, auf einen ersten virtuellen Adressbereich und/oder auf einen zweiten virtuellen Adressbereich zur Verfügung zu stellen. Der erste virtuelle Adressbereich und der zweite virtuelle Adressbereich können mit denjenigen Adressbereichen übereinstimmen, in welchen die Verarbeitung des ersten bzw. des zweiten Datensatzes stattgefunden hat. Somit verweist der pointer auf einen auf Basis des ersten Datensatzes bzw. auf Basis des zweiten Datensatzes fertig gerenderten Anzeigeinhalt, welcher ein sicherheitsrelevantes bzw. nicht-sicherheitsrelevantes Anzeigeelement umfassen kann. Da übliche Displaycontroller typischerweise mit einer physikalischen Adresse arbeiten, kann bevorzugt eine Konvertierung der virtuellen Adresse des jeweiligen Datensatzes in eine physikalische Adresse stattfinden. Der erste Graphiktreiber kann bspw. eingerichtet sein, einen Bereich (engl.: „range“) der physikalischen Adresse zu prüfen, sodass der Schreibvorgang nicht bezüglich einer unzulässigen physikalischen Adresse stattfindet bzw. versucht wird, in einen nicht-adressierbaren Bereich zu schreiben. Somit können im Stand der Technik bekannte und bewährte Displaycontroller auch für die vorliegende Erfindung verwendet werden, ohne dass eine jeweilige Einheit zum Umwandeln des ersten virtuellen Adressbereiches in einen ersten physikalischen Adressbereich und eine zweite Einheit zum Umwandeln eines zweiten virtuellen Adressbereiches in einen zweiten physikalischen Adressbereich erforderlich würde.
-
Bevorzugt kann das Übergeben des zweiten Datensatzes an den ersten Graphiktreiber einen Wechsel des Adressbereiches des ersten Datensatzes umfassen, was auch als Kommunikation über virtuelle Adressbereichsgrenzen hinaus verstanden werden kann. Hierbei erhält der zweite Datensatz eine virtuelle Adresse, welche innerhalb desselben virtuellen Adressbereiches wie der erste Datensatz liegt. Der verwendete virtuelle Adressbereich kann somit als „shared memory“ verstanden werden.
-
Der erste Graphiktreiber ist insbesondere eingerichtet festzulegen, in welchem Augenblick der erste Datensatz bzw. der zweite Datensatz auf der Anzeigeeinrichtung dargestellt werden. Bspw. kann der erste Graphiktreiber bestimmen, dass dem ersten Datensatz stets der Vorrang gegenüber einer Darstellung des zweiten Datensatzes gegeben wird. Weiter bevorzugt kann der erste Graphiktreiber bestimmen, dass der erste Datensatz stets auf der vordersten Anzeigeebene der Anzeigeeinrichtung dargestellt wird. Alternativ oder zusätzlich kann der erste Graphiktreiber eingerichtet sein festzulegen, dass der zweite Datensatz stets auf einer Anzeigeebene der Anzeigeeinrichtung dargestellt wird, welche hinter einer solchen Anzeigeebene angeordnet ist, die zur Darstellung eines Anzeigeelementes vorgesehen ist, das auf dem ersten Datensatz beruht. Dies machte eine ASIL-konforme Fehlertoleranz im Falle eines unrichtig dargestellten zweiten Anzeigeelementes möglich, welches somit nicht mit einem korrekt dargestellten ersten Anzeigeelement interferiert.
-
Weiter bevorzugt kann eine Identifikation für ein Einzelbild von einer Bildverarbeitungseinrichtung an den ersten Graphiktreiber gesendet werden. Die Bildverarbeitungseinrichtung kann insbesondere zum Rendern des ersten und/oder des zweiten Datensatzes vorgesehen sein. Die Identifikation für das Einzelbild kann bspw. als frame number verstanden werden, welche einen Rahmen bzgl. einer vordefinierten Vielzahl von Rahmen eindeutig kennzeichnet. Anhand der Identifikation kann anschließend erkannt werden, dass das Einzelbild durch die Bildbearbeitungseinrichtung fertig in einem Hintergrund-Buffer gerendert wurde. Die Identifikation dient also nicht nur einer eindeutigen Kennzeichnung des Rahmens bzw. dessen Inhaltes, sondern auch zur Signalisierung eines für einen Buffer Swap bereiten Hintergrund-Buffers. Anschließend kann die Identifikation von dem ersten Graphiktreiber zur Bildverarbeitungseinrichtung (zurück) gesendet werden, welche im Ansprechen auf den Empfang der Identifikation einen Wechsel des Hintergrund-Buffers und eines Vordergrund-Buffers erkennt. Auf diese Weise kann der erste Graphiktreiber stets gewährleisten, zumindest den sicherheitsrelevanten Inhalt rechtzeitig zu rendern und dessen Darstellung bestmöglich sicherzustellen.
-
Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird eine Anwenderschnittstelle zur Anzeige sicherheitsrelevanter Anzeigeelemente in einem Fortbewegungsmittel oder in/an/auf einer medizintechnischen Einrichtung vorgeschlagen, wobei das Fortbewegungsmittel bspw. ein PKW, ein Transporter, ein LKW, ein Motorrad, ein Luft- und/oder Wasserfahrzeug sein kann. Die medizintechnische Einrichtung kann bspw. vorgesehen sein, lebensnotwendige Körperfunktionen zu überwachen und Signale an deren Anwender auszugeben, sobald ein abnormer Zustand und/oder sogar Handlungsbedarf besteht. Die Anwenderschnittstelle umfasst eine Bildverarbeitungseinrichtung, welche zur Vorbereitung einer Darstellung, also einem Rendering, vorgesehen ist. Die Bildverarbeitungseinrichtung weist einen ersten virtuellen Adressbereich und einen zweiten virtuellen Adressbereich auf. Die in den beiden virtuellen Adressbereichen angeordneten Bereiche können auch als jeweilige Bildverarbeitungseinrichtungen betrachtet werden. Durch die Trennung der zwei Adressbereiche kann eine ASIL-konforme Signalverarbeitung für sicherheitsrelevante Graphikdateien einerseits und nicht-sicherheitsrelevante Graphikdateien andererseits sichergestellt werden. Zusätzlich sind eine erste Steuereinheit zur Bilddarstellung, nachfolgend „Graphiktreiber“ genannt, und eine Anzeigeeinrichtung (z.B. eine Pixelanzeige, bevorzugt mit mehreren Anzeigeebenen) vorgesehen. Die Bildverarbeitungseinrichtung ist eingerichtet, einen ersten Datensatz repräsentierend ein sicherheitsrelevantes Anzeigeelement in dem ersten virtuellen Adressbereich zu verarbeiten und einen zweiten Datensatz repräsentierend ein nicht-sicherheitsrelevantes Anzeigeelement in dem zweiten virtuellen Adressbereich zu verarbeiten. Sicherheitshalber soll erwähnt werden, dass die Sicherheitsrelevanz des sicherheitsrelevanten Anzeigeelementes zumindest höher einzustufen ist als diejenige des nicht-sicherheitsrelevanten Anzeigeelementes. Der erste Graphiktreiber ist eingerichtet, das erste Anzeigeelement basierend auf dem ersten Datensatz auf der Anzeigeeinrichtung darzustellen. Die Bildverarbeitungseinrichtung ist eingerichtet, den zweiten Datensatz an den ersten Graphiktreiber zu übergeben, sodass der erste Graphiktreiber auch das durch den zweiten Datensatz repräsentierte Anzeigeelement auf der Anzeigeeinrichtung darstellen kann. Hierbei kann das basierend auf dem zweiten Datensatz erstellte zweite Anzeigeelement auf einer ersten Anzeigeebene oder auf einer zweiten Anzeigeebene der Anzeigeeinrichtung dargestellt werden, worüber ebenfalls der erste Graphiktreiber entscheidet. Insbesondere kann der erste Graphiktreiber eine Information auswerten, aus welcher hervorgeht, ob der zweite Datensatz aus dem ersten virtuellen Adressbereich oder aus dem zweiten virtuellen Adressbereich stammt, um z.B. auf dieser Basis eine Anzeigeebene zur Darstellung des entsprechenden Anzeigeelementes auszuwählen. Mit anderen Worten ist die erfindungsgemäße Anwenderschnittstelle eingerichtet, ein Verfahren gemäß dem erstgenannten Erfindungsaspekt auszuführen, weshalb sich die Merkmale, Merkmalskombinationen und Vorteile in entsprechender Weise ergeben, sodass zur Vermeidung von Wiederholungen auf die obigen Ausführungen verwiesen wird.
-
Gemäß einem dritten Aspekt der vorliegenden Erfindung wird eine medizintechnische Einrichtung vorgeschlagen, welche eine Anwenderschnittstelle gemäß dem zweitgenannten Erfindungsaspekt umfasst. Auf diese Weise können sicherheitsrelevante Anzeigeelemente mit größtmöglicher Sicherheit optisch einwandfrei erkennbar auf einer Anzeigeeinrichtung (z.B. ein pixelbasierter Bildschirm) der medizintechnischen Einrichtung angezeigt werden, was eine besonders sichere Funktion der medizintechnischen Einrichtung ermöglicht.
-
Gemäß einem vierten Aspekt der vorliegenden Erfindung wird ein Fortbewegungsmittel vorgeschlagen, welches bspw. als PKW, als Transporter, als LKW, als Motorrad als Luft- und/oder Wasserfahrzeug ausgestaltet sein kann. Die erfindungsgemäße Anwenderschnittstelle ermöglicht eine ASIL-konforme Architektur einer Anwenderschnittstelle, welche sowohl sicherheitsrelevante (nach ASIL) und nicht-sicherheitsrelevante Anzeigeelemente (z.B. auf einem pixelbasierten Bildschirm) anzuzeigen im Stande ist.
-
Wenn im Rahmen der vorliegenden Beschreibung von einem ersten Graphiktreiber die Rede ist, wird die Präsenz eines zweiten Graphiktreibers nicht ausgeschlossen, welcher eingerichtet ist, einen dritten, innerhalb des zweiten virtuellen Adressbereiches verarbeiteten bzw. gerenderten auf einer zweiten Anzeigeebene der Anzeigeeinrichtung anzuzeigen. Insbesondere repräsentiert der dritte Datensatz eine nicht sicherheitskritische Information. Sofern der zweite Graphiktreiber nicht eingerichtet ist, die vorderste Anzeigeebene der Anzeigeeinrichtung zum Anzeigen von Anzeigeelementen anzusteuern, können Synchronisationsprobleme insbesondere dann vermieden werden, wenn sichergestellt wird, dass nach ASIL relevante Anzeigeelemente auf den vorderen Anzeigeebenen angezeigt werden, während diese einen opaken Betriebszustand haben.
-
Weitere Einzelheiten, Merkmale und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung und den Figuren. Es zeigen:
-
1a eine Prinzipskizze eines Ausführungsbeispiels eines erfindungsgemäß ausgestalteten Fortbewegungsmittels mit einer erfindungsgemäß ausgestalteten Anwenderschnittstelle;
-
1b eine Prinzipskizze eines Ausführungsbeispiels einer erfindungsgemäß ausgestalteten medizintechnischen Einrichtung mit einer erfindungsgemäß ausgestalteten Anwenderschnittstelle;
-
2 ein Schaubild veranschaulichend die Funktionsweise einer bekannten Anwenderschnittstelle;
-
3 eine erfindungsgemäße Modifikation der in 2 dargestellten Anwenderschnittstelle;
-
4 ein Zeitfolgediagramm veranschaulichend im Stand der Technik auftretende Probleme bei einem besonders langen Verarbeitungsvorgang nicht-sicherheitsrelevanter Anzeigeinhalte;
-
5 eine Prinzipskizze veranschaulichend die Signalflüsse eines alternativen Ausführungsbeispiels einer erfindungsgemäßen Anwenderschnittstelle; und
-
6 ein Flussdiagramm veranschaulichend Schritte eines Ausführungsbeispiels eines erfindungsgemäßen Verfahrens zur Anzeige sicherheitsrelevanter Anzeigeelemente in einem Fortbewegungsmittel.
-
1a zeigt ein Ausführungsbeispiel eines PKWs 10 als Fortbewegungsmittel, welches über ein Ausführungsbeispiel einer erfindungsgemäßen Anwenderschnittstelle verfügt. Über einen Sensor 17 ermittelte Zustandsgrößen des PKWs 10 können zu sicherheitsrelevanten und nicht-sicherheitsrelevanten Hinweisen an den Anwender des PKWs 10 führen, indem ein elektronisches Steuergerät 18 als Auswerteeinheit einen Bildschirm 6 als Anzeigeeinrichtung veranlasst, die sicherheitsrelevanten und die nicht-sicherheitsrelevanten Anzeigeelemente darzustellen.
-
1b zeigt eine medizintechnische Einrichtung 20, welche mittels eines Sensors 17 Vitalfunktionen des Körpers eines Patienten (nicht dargestellt) aufnimmt, durch eine gestrichelt dargestellte Auswerteeinheit 18 verarbeitet und auf deren Basis sowohl sicherheitsrelevante als auch nicht-sicherheitsrelevante Anzeigeelemente auf dem Bildschirm 6 als Anzeigeeinrichtung darstellt.
-
2 zeigt eine im Stand der Technik bekannte Architektur, in welcher eine Meldung von einem elektronischen Steuergerät 12 (automotive core) über einen grauen Kanal 13 (grey channel) in einen ersten virtuellen Adressbereich 4 und einen zweiten virtuellen Adressbereich 5 gelangen kann. Das elektronische Steuergerät 12 kann in einem separaten virtuellen Adressbereich arbeiten. Ein grauer Kanal 13 dient der sicheren Weitergabe von Daten über einen ungesicherten Kanal (nicht nach ASIL spezifiziert). Hierbei werden die Daten durch einen sogenannten „alive counter“ und eine CRC (cyclic redundancy check/Checksumme) gekapselt. Der Alive Counter wird selbst dann inkrementiert, wenn die Daten nicht verändert werden, sodass der Empfänger ermitteln kann, dass die Nachricht neu bzw. aktuell ist. Die zyklische Redundanzprüfung dient der Fehlererkennung. Der erste virtuelle Adressbereich 4 ist für die Bildverarbeitung innerhalb einer nach ASIL A oder B für funktionssicherheitsrelevante Inhalte vorgesehenen Bildverarbeitungseinrichtung 14 vorgesehen, welche fertig gerenderte, erste Datensätze an einen ersten Graphiktreiber 9 weiterreicht bzw. dem ersten Graphiktreiber 9 ermöglicht, dem Display-Controller 6 einen entsprechenden Pointer als Verweis auf den ersten virtuellen Adressbereich 4, in welchem sich der erste Datensatz befindet, zur Verfügung zu stellen. Auf diese Weise können sicherheitsrelevante Anzeigeelemente 1, 2 für eine erste Anzeigeebene 7 erzeugt werden. Die Übergabe eines entsprechenden Pointers an den Display-Controller 6, der einen entsprechenden Pixelstrom an die Anzeigeeinrichtung 21 ausgibt, wird durch den Pfeil P1 veranschaulicht. In entsprechender Weise kann die Meldung innerhalb des zweiten virtuellen Adressbereiches 5 in Abhängigkeit von Betriebszuständen und Eingaben an einer Mensch-Maschine-Schnittstelle 15 von einer zweiten Bildverarbeitungseinrichtung 16 gerendert werden, um einen zweiten Graphiktreiber 11 zu veranlassen, nicht-sicherheitsrelevante Anzeigeelemente 3 für eine zweite Anzeigeebene 8 zu erzeugen. Die Übergabe eines entsprechenden Pointers wird durch den Pfeil P2 veranschaulicht. Die Synthese (engl: „blending“) der ersten Anzeigeebene 7 und der zweiten Anzeigeebene 8 wird durch einen weiteren Pfeil P4 und das Ergebnis als überlagerte Anzeige auf der Anzeigeeinrichtung 6 veranschaulicht. Beide virtuellen Adressbereiche 4, 5 verwenden einen gemeinsamen Graphikkern 19 (engl. „graphics core“).
-
3 zeigt ein Ausführungsbeispiel einer erfindungsgemäßen Anwenderschnittstelle anhand der Komponenten und ihrer Interaktion, wobei bzgl. der Topologie weitestgehend auf 2 verwiesen werden kann, um Wiederholungen zu vermeiden. Im Unterschied zur Anwenderschnittstelle nach 2 ist die Bildverarbeitungseinrichtung 16 des zweiten virtuellen Adressbereiches eingerichtet, fertig gerenderte zweite Datensätze, wie durch den dritten Pfeil P3 angedeutet, an den ersten Graphiktreiber 9 zu übergeben, sodass dieser sowohl die Darstellung des nicht-sicherheitsrelevanten Anzeigeinhaltes als auch die Darstellung des sicherheitsrelevanten Anzeigeinhaltes auf den Anzeigeebenen 7, 8 veranlasst. Der erste Graphiktreiber 9 ist lediglich für die Darstellung der Informationen und die Konfigurierung des Display-Controllers 6 verantwortlich, nicht jedoch für deren Inhalt. Im Fall einer einzigen Hardware-Ebene in der Anzeigeeinrichtung 21 muss der Graphiktreiber 9 den sicherheitsrelevanten Inhalt im Back-Buffer blitten, während im Fehlerfall der Front-Buffer geblittet wird. Hierzu übergibt der erste Graphiktreiber 9, wie durch die Pfeile P1 und P2 veranschaulicht, entsprechende Pointer an den Displaycontroller 6. Im Ergebnis wird der zweite Graphiktreiber 11 nicht zur Anzeige von sicherheitsrelevantem Inhalt erfordert. Dies schließt jedoch nicht aus, dass ausschließlich nicht-sicherheitsrelevante Inhalte (z.B. für 3D-/2D-GPU (OpenGL, OpenVG, Sprite engines, usw.) oder andere Grafik-Accelerators, DMA Controllers, RLE-Decoders, usw.) unabhängig vom vorgenannten Verfahren zusätzlich über den zweiten Graphiktreiber 11 an eine hintere Anzeigeebene 8 der Anzeigeeinrichtung 21 gereicht werden können.
-
4 zeigt ein Zeitdiagramm, in welchem verschiedene Ereignisse über der Zeit aufgetragen sind, wobei die Achseinteilung nicht linear ist und die Darstellung daher lediglich der prinzipiellen Veranschaulichung dient. Der Prozess wird durch das Bildphasensignal VSBlank gestartet. Im Schritt S100 wird der sicherheitsrelevante Inhalt im Back-Buffer verarbeitet. Der Front-Buffer zeigt einen Frame, welcher zeitgleich auf der Anzeigeeinheit dargestellt wird. Die Übertragung des Bildes findet zwischen dem Ende der VS Front Porch und VSBlank statt. Im Schritt S200 werden nicht-sicherheitsrelevante Inhalte und andere nicht-sicherheitsrelevante Aufgaben abgearbeitet. Durch VSBlank wird ein Buffer Swap getriggert, im Ansprechen worauf der erste Graphiktreiber die Informationen verarbeitet, um in dem Back-Buffer das nächste Bild für die Anzeigeeinrichtung zu erstellen. Für diesen Schritt S100 ist die maximale Bearbeitungszeit bekannt, sodass das sicherheitsrelevante Anzeigeelement immer rechtzeitig vor Beginn der Austastzeit VS Blank fertig gerendert wird. Der richtige Zeitpunkt zum Triggern wird durch den ersten Graphiktreiber bereitgestellt. Während dieser Periode wird ebenfalls der Buffer Swap vorgenommen. Darauffolgend wird ein nächstes Signal VSync erkannt, wodurch wieder der Startpunkt einer neuen Zeitperiode definiert wird. Der Trigger wird durch ein Display-Ereignis, wie z.B. VSBlank, gesetzt. So wird sichergestellt, dass jeweils nach 16,66 ms ein neues sicherheitsrelevantes Anzeigeelement dargestellt wird. Der Pfeil DR (für Display Refresh) veranschaulicht die Aktualisierungszeit zur Aktualisierung der Anzeigeeinrichtung. Im Schritt S200 wird der nicht-sicherheitsrelevante Inhalt verarbeitet, welcher länger dauern kann als die Darstellungszeit eines einzelnen Frames (16,66 ms im Falle von 60FPS). Dies ist durch eine gestrichelte Verlängerung des Schritts S200 bis in eine nächste Darstellungsperiode (z.B. nach einem zweiten Signal VSync) veranschaulicht. Da jedoch nach einer bestimmten Zeit der Buffer Swap getriggert wird und dem ersten Graphiktreiber das Signal gegeben wird, die Anzeige zu aktualisieren, wird auf jeden Fall der sicherheitsrelevante Inhalt dargestellt, auch wenn der dargestellte Prozess der Bearbeitung des nicht-sicherheitsrelevanten Inhaltes noch nicht abgeschlossen ist. Im Schritt S700 wird kurz nach Beginn der Blank Period BP (nach VSBlank) wird der Display-Controller mit einem neuen Datensatz aktualisiert, sofern dies erforderlich ist. Hierbei kann ein Blitting stattfinden, sofern dies erforderlich ist. Der erste Graphiktreiber ist erfindungsgemäß somit für die richtige Konfiguration, die Kontrolle der Hardware und für die korrekte Zeitfolge („timing“) verantwortlich. Der Startpunkt für eine neue Zeitperiode konnte direkt nach dem ersten Grafiktreiber S700 stattfinden. Für diesen Schritt S700 ist die maximale Bearbeitungszeit bekannt, sodass der Display-Controller rechtzeitig aktualisiert wird.
-
5 zeigt ein alternatives Ausführungsbeispiel einer erfindungsgemäß ausgeführten Anwenderschnittstelle, in welcher zwischen dem ersten virtuellen Adressbereich 4, in welchem die erste Bildverarbeitungseinheit 14 und der erste Graphiktreiber 9 angeordnet sind, und dem zweiten virtuellen Adressbereich 5, in welchem die Mensch-Maschine-Schnittstelle 15, die zweite Bildbearbeitungseinrichtung 16 und der zweite Graphiktreiber 11 angeordnet sind, durch den Pfeil P5 symbolisiert eine Synchronisierung stattfindet. Diese kann gemäß dem Stand der Technik durchgeführt werden. Durch den Pfeil P3 symbolisiert erfolgt entsprechend 3 die Übergabe des vollständig gerenderten, zweiten Datensatzes adressbereichsübergreifend an den ersten Graphiktreiber 9. Über diesen werden durch den Pfeil P4 symbolisiert die erste Anzeigeebene 7 und die zweite Anzeigeebene 8 innerhalb des Display-Controllers 6 mit Anzeigeelementen versehen. Der erste Graphiktreiber 9 kann die Konfiguration (z.B. auch die Vordergrundfarbe, die Hintergrundfarbe, das Farbformat sowie die Einblendung (Chroma-Keying), usw.) sowie die Aktualisierung einer sog. Farbnachschlagtabelle (engl. „colour look-up table“, CLUT) durchführen. Gleichzeitig muss eine Aktualisierung der Anzeigeebene 7, 8 durch den erste Graphiktreiber 9 erfolgen. Weiter kann der Graphiktreiber 9 die Gamma-Tabelle bei der Initialisierung einstellen. Zudem kann der Registerschutz (sofern vorhanden) der Sicherheitsebenen vom ersten Graphiktreiber 9 übernommen werden. Ihm obliegt auch die Verantwortung für die korrekte Konfiguration und regelmäßige Prüfung (Breite/Höhe/Gamma/front porch/back porch/alive signal des Displays, sofern vorhanden), die Kontrolle des VSync sowie des Display-Aktiv-Signals und die Zeitfolge der Anzeige und der Steuerungshardware. Ebenso obliegt ihm die Überwachung der Zeitfolge (timing) des Display-Controllers, wozu bspw. ein sogenannter Watchdogtimer verwendet werden kann.
-
6 zeigt Schritte eines Ausführungsbeispiels eines erfindungsgemäßen Verfahrens zur Anzeige sicherheitsrelevanter Anzeigeelemente in einem Fortbewegungsmittel bzw. auf einer medizintechnischen Einrichtung. In Schritt 100 wird ein erster Datensatz repräsentierend ein sicherheitsrelevantes Anzeigeelement in einem ersten virtuellen Adressbereich verarbeitet. In Schritt 200 wird ein zweiter Datensatz repräsentierend nicht-sicherheitsrelevantes Anzeigeelement in einem zweiten, logisch vom ersten virtuellen Adressbereich getrennten, virtuellen Adressbereich verarbeitet. In Schritt 300 wird eine Identifikation für ein Einzelbild in Form einer „frame number“ von einer Bildverarbeitungseinrichtung an einen ersten Graphiktreiber innerhalb des virtuellen Adressbereiches gesendet. Anhand der Identifikation wird in Schritt 400 erkannt, dass das Einzelbild durch die Bildverarbeitungseinrichtung vollständig in einen back buffer gerendert wurde. In Schritt 500 wird der zweite Datensatz an den ersten Graphiktreiber übergeben. Dieser wechselt hierbei aus dem zweiten virtuellen Adressbereich in den ersten virtuellen Adressbereich. In Schritt 600 wird ein Bildphasensignal erkannt, welches den Zeitpunkt eines Buffer Swaps kennzeichnet. In Schritt 700 wird der erste Datensatz auf einer Anzeigeeinrichtung mittels eines ersten Graphiktreibers dargestellt. Mit anderen Worten wird ein sicherheitsrelevantes Anzeigeelement auf Basis des ersten Datensatzes auf der Anzeigeeinrichtung dargestellt. Im Zuge dessen wird auch der zweite Datensatz auf der Anzeigeeinrichtung mittels des ersten Graphiktreibers dargestellt. Im Ergebnis können sowohl sicherheitsrelevante (ASIL-konforme) als auch nicht-sicherheitsrelevante Anzeigeelemente mittels eines einzigen Graphiktreibers verarbeitet werden, ohne auf eine ASIL-konforme Architektur verzichten oder die Gefahr von Synchronisations- bzw. Timingproblemen in Kauf nehmen zu müssen. In Schritt 800 wird die Identifikation von dem ersten Graphiktreiber zur Bildverarbeitungseinrichtung gesendet, welche im Ansprechen auf den Empfang der Identifikation einen Wechsel des back buffers und eines front buffers durchführt.
-
Bezugszeichenliste
-
- 1, 2
- sicherheitsrelevante Anzeigeelemente
- 3
- nicht-sicherheitsrelevantes Anzeigeelement
- 4, 5
- virtuelle Adressbereiche
- 6
- Anzeigeeinrichtung
- 7, 8
- Anzeigeebenen
- 9
- erster Graphiktreiber
- 10
- PKW
- 11
- zweiter Graphiktreiber
- 12
- elektronisches Steuergerät
- 13
- grauer Kanal
- 14
- erste Bildverarbeitungseinrichtung
- 15
- Mensch-Maschine-Schnittstelle
- 16
- zweite Bildverarbeitungseinrichtung
- 17
- Sensor
- 18
- Auswerteeinheit
- 19
- Grafikkern („graphics core“)
- 20
- medizintechnische Einrichtung
- 21
- Anzeigeeinrichtung
- 100–800
- Verfahrensschritte
- BP
- Blanking Period
- DR
- Display Refresh/Anzeigeaktualisierung
- Px
- Pfeil
- S100–S700
- Verfahrensschritte
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- DE 102010042574 A1 [0005]
-
Zitierte Nicht-Patentliteratur
-
- Norm ISO 26262 [0002]
- ISO 26262-Kriterium [0002]
- ISO 26262-Norm [0006]
- Norm ISO 26262 [0008]