RTX64 RTOS, Echtzeitlösung für Windows 10

RTX64

Überblick

RTX64 ist eine Schlüsselkomponente der IntervalZero RTOS-Plattform, die Determinismus oder harte Echtzeit auf Multi-Core-Prozessoren unterstützt und gleichzeitig mit dem Windows-Betriebssystem co-resident ist. Die kombinierten Lösungen liefern ein erstklassiges Benutzererlebnis; sie übertreffen dabei Echtzeit-Hardware wie DSPs, FPGAs und MCUs und reduzieren die Entwicklungskosten für Systeme, die Determinismus oder harte Echtzeit erfordern. Das symmetrische, multiprozessorfähige RTX64 nutzt die Vorteile von 64-Bit-Speicher und dessen Leistungsfähigkeit voll aus. Einzigartig ist, dass der RTX64-RTOS-Scheduler Embedded-Echtzeitanwendungen den direkten Zugriff auf die 512 GB adressierbaren physikalischen Speicher ermöglicht, die unter 64-Bit-Windows verfügbar sind. Dies ist für moderne Echtzeitsysteme von entscheidender Bedeutung und stellt einen gigantischen Sprung von der 4-GB-Beschränkung des physischen Speichers herkömmlicher 32-Bit-Windows-Systeme dar. Die 4-GB-Grenze hat die Innovation in vielen Branchen behindert, die auf Echtzeitsysteme angewiesen sind und Speicherzugriff weit über 4 GB hinaus benötigen.

Determinismus

    • Garantierte Präzision – eingestellte Taktzeiten von bis zu 1 Mikrosekunde und Interrupt Service Thread-(IST-)Latenzen von weniger als 10 Mikrosekunden
    • Abgrenzung zu Windows – Windows-Prozesse können Echtzeitanwendungen nicht beeinträchtigen
    • Skalierbarkeit – ein Scheduler wird für alle Echtzeitprozessoren verwendet. Ein Symmetric- Multiprocessing-(SMP-)fähiger Scheduler verwendet sowohl prioritätsgesteuerte als auch präemptive Algorithmen, um sicherzustellen, dass kritische Thread-Kontextwechsel und Übergaben an Threads mit hoher Priorität im Sub-Mikrosekundenbereich erfolgen

Steuerung

    • Flexibilität bei der Konfiguration, wie viel Echtzeitverarbeitungsleistung genutzt wird (1 bis 63 Prozessoren)
    • Volle Kontrolle über die Echtzeit-Prozess-Threads mit der Möglichkeit, die Lastverteilung nach Bedarf vorzunehmen. RTX64 bietet die Möglichkeit, Thread- und Interrupt-Affinitäten zu setzen
    • Bei Ausfall von Windows ermöglichen Shutdown-Handler die Fortsetzung von RTX64-Anwendungen bis zum sicheren Herunterfahren

Vereinfachung

    • Verwendung eines einzigen Betriebssystems für Anwendungen. RTX64 wird unter Windows 10 unterstützt.
    • Verwendung eines ab Lager erhältlichen (COTS-)Zielsystems; keine spezielle Hardware erforderlich
    • Verwendung nur einer Entwicklungsumgebung – Visual Studio 2015, 2017 und 2019
    • Verwendung gemeinsamer Sprachen (C/C++) für Windows- und Echtzeitanwendungen
    • Verwendung einer gemeinsamen Win32-API; der gleiche Code kann als Windows- oder Echtzeitprozess ausgeführt werden
    • Verwendung von verwaltetem Code für Windows-Anwendungen bei dennoch gleichzeitiger Kommunikation mit Ihren Echtzeitanwendungen
    • Es muss kein Treibermodell befolgt werden; Echtzeitprozesse können direkt mit der Hardware kommunizieren
    • Verwendung der Standard-IPC-Kommunikation zwischen Windows-Anwendungen und Echtzeitprozessen (Ereignisse, Mutexe und Semaphore)
    • Verwendung von Shared Memory zwischen Windows und Echtzeitprozess zur gemeinsamen Nutzung von Daten

Kostensenkung

    • Wegfall eines zusätzlichen Systems für die Mensch-Schnittstelle (HMI)
    • Wegfall von proprietären Controller- und Kommunikations-Platinen
    • Verbesserte Anlagenauslastung: Nutzen Sie ungenutzte Multicore-Kapazitäten
    • Geringere Herstellungskosten und weniger physische Teile

Effizienz

    • Vermeidung mancher Lagerkosten und Senkung der Wartungskosten
    • Feld-Upgrades werden durch Software-Downloads und nicht durch den Austausch von Platinen erreicht

 

Schlüsselmerkmale

Echtzeit-Laufzeit

    • Skalierbar von 1 bis 63 Echtzeit-Prozessoren
    • SMP-fähiger Scheduler verwendet sowohl prioritätsgesteuerte als auch präemptive Algorithmen, um sicherzustellen, dass kritische Thread-Kontextwechsel und Übergaben an Threads mit hoher Priorität im Sub-Mikrosekundenbereich erfolgen
    • Konfigurierbare Thread- und Interrupt-Affinität
    • Konfigurierbare Taktzeit
    • Fähigkeit, sich an zeilen- und nachrichtenbasierte (MSI/MSI-X) Interrupts anzuhängen
    • Handling des Herunterfahrens bei Windows STOP oder Shutdown
    • Deterministischer Speicher
    • Zugriff auf das Windows-Dateisystem und die Registry
    • Möglichkeit, Suchpfade für die Prozesserstellung und das Laden von RTDLLs festzulegen
    • Unterstützung von Dynamic-Link-Libraries durch RTDLLs, die implizit oder explizit geladen werden können
    • Fähigkeit, das Anwendungsverhalten durch Überwachung interner Objekte und benutzerdefinierter Ereignisse zu profilieren
    • Echtzeit-Interprozesskommunikation zwischen Windows-Benutzerprozessen und Echtzeitprozessen
      • Native Schnittstelle für 32-Bit- oder 64-Bit-Windows-Prozesse
      • Verfügbare Objekte: Ereignisse, Mutexe und Semaphore
      • Gemeinsame Datennutzung durch Shared Memory
    • Echtzeit-Interprozesskommunikation zwischen Windows-Kernel-Treibern und Echtzeitprozessen
      • Native Schnittstelle für 64-Bit-Windows-Treiber
      • Verfügbare Objekte: Ereignisse, Mutexe und Semaphore
      • Gemeinsame Datennutzung durch Shared Memory
    • RTX64 Network Abstraction Layer (NAL) bietet dem RTX64-Subsystem folgende Netzwerkfunktionen:
      • Per-Frame-Callbacks für hohe Leistung und geringe Latenz beim Senden und Empfangen auf Layer 2
      • Fähigkeit zur Übertragung von Ethernet-Frames nahe der Leitungsgeschwindigkeit
      • Bietet eine Burst-Übertragung von Ethernet-Frames, die Leitungsgeschwindigkeit mit kleinen Paketen ermöglicht
      • Unterstützt Zero-Copy bei der Übertragung von mehreren Frames
      • Unterstützt IEEE-1588 Zeitstempel
      • Netzwerktreiber für eine Reihe von gängigen Netzwerkkarten
      • Ermöglicht die Verwendung von NIC-Hardware-Warteschlangen
      • Unterstützt Polling von Geräten
    • Windows-Benutzergruppen zur Einschränkung des Zugriffs auf RTX64-Funktionen
    • Tools und Dienstprogramme
      • Activation and Configuration – Aktivierung der Subsystemkomponenten und Konfiguration der RTSS-Kerne
      • Control Panel – Konfiguration des Subsystems
      • Console – Anzeige von Druckmeldungen
      • SRTM – Anzeige der Antwort des Systemtimers auf den Taktgeber-Handler für einen bestimmten Kern
      • KSRTM – Anzeige der Antwort des Systemtimers auf die Interrupt Service Routine (ISR)
      • Latency View – Anzeige und Vergleich von System-Timer-Antwortlatenzen auf mehreren Kernen zur gleichen Zeit
      • Task Manager – Anzeige einer Liste der laufenden RTSS-Prozesse und der mit RTX64 verknüpften Windows-Prozesse und -Treiber, außerdem Anzeige der Pre-Process-, Thread- und Prozessor-CPU-Auslastung
      • Monitor – konfiguriert die Profilerstellung von RTSS
      • RTX64Objects – zeigt interne Objekte und Zustände an
      • RTX64MSpaces – zeigt interne Speicherzuweisungen an

Software-Entwicklungs-Kit (SDK)

    • Header und Bibliotheken für die Anwendungsentwicklung
      • Echtzeit-API (RTAPI) ähnlich der Windows-Win32-API
      • Echtzeit-Kernel-API (RTKAPI)
      • Echtzeit-Netzwerk-API (RTNAPI)
      • Echtzeit-Netzwerk-Treiber-API (RTNDAPI)
      • Managed-Code-Framework (IntervalZero.RTX64) – Einrichtung und Konfiguration des Subsystems über die Managed-Code-Schnittstelle
      • Natives Framework – Einrichtung und Konfiguration des Subsystems über die C/C++-Schnittstelle
    • Microsoft Visual Studio 2015, 2017 und 2019 Support
      • Assistent für die Applikations- und dll-Entwicklung
      • API-Code-Snippets
      • C-Runtime-Unterstützung
      • Lokale und Remote-Debugger-Unterstützung über Start in Visual Studio
      • Lokale und Remote-Attach-Unterstützung
    • Microsoft WinDbg-Erweiterung und RTSS-Symbole
    • Percepio Tracealyzer für RTX64 – Grafik-Tool zur Analyse der Überwachungsdaten
    • Beispiel-Source zur Darstellung grundlegender Konzepte

Produktdokumentation

    • Dokumentation, bestehend aus Installations- und Anwender-Hinweisen, API-Verweisen sowie Details zu Echtzeit-Programmierkonzepten

Zusätzlich zu erwerbende Funktionen

RT-TCP/IP Stack

    • Der RT-TCP/IP Stack bietet folgende Netzwerkfähigkeiten für das RTX64-Subsystem:
      • TCP/UDP/IP-Vernetzung für RTX64-Prozesse
      • Unterstützung für IPv4 und IPv6
      • Winsock-Unterstützung
      • RAW-Sockets
      • MAC-Schicht-Filterung
      • Virtuelles Netzwerk – Punkt-zu-Punkt-Verbindung zwischen Windows und RTSS
      • Dienstprogramme (RtssArp, RtssIpConfig, RtssPing und RtssRoute)

RTX64 Vision

    • RTX64 Vision bietet Funktionalität für die Verwendung von GigE Vision-Kameras innerhalb der Echtzeit-RTX64-Umgebung:
    • Echtzeit-GigE Vision-Filtertreiber
      • Kamera-Setup-Tool
      • Echtzeit GigE Vision Interface- & Kommunikationsbibliothek
      • Gebaute Version von OpenCV zur Verwendung mit RTSS Vision-Anwendungen