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
- Header und Bibliotheken für die Anwendungsentwicklung
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)
- Der RT-TCP/IP Stack bietet folgende Netzwerkfähigkeiten für das RTX64-Subsystem:
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