topic_usb_toolkit_produkte

Kithara »USB Toolkit«

Funktionsbibliothek für USB-Treiberentwicklung

Das »USB Toolkit« stellt alle wesentlichen Funktionsmechanismen für die Entwicklung von Treibern für USB-Geräte bereit.

Mit einem einfach anwendbaren API können Sie von der gewohnten Programmierumgebung aus auf Hardware-Komponenten zugreifen, als wenn Sie mit hohem Aufwand einen echten Gerätetreiber entwickeln würden.

Das »USB Toolkit« ist ein Werkzeug, mit dem Sie komfortabel USB-Treiber für Windows entwickeln oder fremde USB Hardware ansprechen, ohne sich in die aufwendige Kernel-Programmierung einarbeiten zu müssen.

Die gesamte Entwicklung erfolgt aus Ihrer gewohnten Programmierumgebung heraus, es werden die Programmiersprachen C/C++, Delphi und C# direkt unterstützt. Das »USB Toolkit« stellt einen generischen Treiber bereit, über den die Systemprogrammierer direkt mit den USB-Geräten kommunizieren können.

  • Kommunikation mit USB-Geräten über USB 1.1 und USB 2.0 von der Anwendungs- oder Kernel-Ebene
  • Unterstützt Geräte mit mehreren Interfaces und mehreren Konfigurationen
  • Reaktion auf alle Plug&Play und Power-Management-Ereignisse und auf eintreffende Daten direkt auf der Kernel-Ebene möglich
  • Sende- und Empfangsroutinen können direkt aus Echtzeitkontext heraus gerufen werden
  • Beliebige Gerätenamen, z.B. für virtuelle Schnittstellen
  • Generischer WDM-Treiber für Plug&Play-Installation enthalten
  • Unlimitierte Weitergabe der Runtime-Dateien
  • Nutzung der Kernel-Ebene unterstützt C/C++ oder Delphi (Win32 native)

Weitere Information siehe »Driver Collection«.

Hinweis: Eine individuelle Zusammenstellung der Funktionsmodule sowie Echtzeitfähigkeit erhalten Sie in der »RealTime Suite«.

Das »USB Toolkit« enthält die folgenden Module, wobei eventuell genannte Echtzeitfähigkeit nur gegeben ist, wenn das Modul Teil der »RealTime Suite« ist.

Basisfunktionen

Base Module

  • Unterstützt die folgenden Betriebssysteme: Windows 7/8/10 (32- und 64-Bit), Server 2008 R2 sowie Embedded-Varianten
  • Unterstützung von PIC- und APIC-Hardware, NUMA-Multiprozessor-PCs, Hyperthreading, Dual-/Quad-Core etc.
  • Funktionen für: Öffnen des Treibers, Device-Handling, Versionskontrolle, Debug-Hilfen, Systeminformationen
  • Anwendungs-Threads, Events, Callbacks, Shared Memory, Daten- und Message-Pipes, schnelle Mutex-Objekte
  • Weitere Informationen...

Kernel Module

  • Ausführung von Echtzeit-Code auf der Kernel-Ebene
  • Echtzeit-Speicherverwaltung, Memory-Kopierfunktionen
  • Nur in Verbindung mit C/C++ oder Delphi
  • Generischer WDM-Treiber für Plug&Play-Installation enthalten
  • Weitere Informationen...

Clock Module

  • Ermittlung der Systemzeit in verschiedenen, auch anwenderspezifischen Zeitformaten, Auflösung bis ca. 0,1μs
  • Hochgenaue Kurzzeitverzögerungen
  • Langzeitsynchronisation bei System-Uhren, Synchronisation mit EtherCAT Distributed Clocks (DC) und IEEE 1588
  • Weitere Informationen...

Kommunikation

Device Module

  • Bereitstellung eines Windows-Programmier-Interfaces für Gerätekommunikation (ReadFile, WriteFile, DeviceIoControl)
  • Beliebige Gerätenamen, z.B. für virtuelle „COM-Ports“
  • Weitere Informationen...

USB 2 Module

  • Ansprechen von USB-Geräten bis einschließlich USB 3.0 über Windows-Treiberstack
  • Control-, Bulk-, Interrupt- und Isochron-Transfer
  • Reaktion auf alle Plug&Play-und Power-Management-Ereignisse
  • Weitere Informationen...

 

Plattformen

Echtzeitfähigkeit wird nur auf der Kernel-Ebene erzielt. Dazu wird eine Programmiersprache und -umgebung benötigt, die nativen Maschinencode erzeugt, z.B. C/C++ oder Delphi und andere.

Dennoch unterstützt die »RealTime Suite« verschiedene Plattformen, wie z.B. auch die .NET-Umgebung:

Die Lösung besteht darin, den zeitkritischen Code in eine DLL zu verlagern, die mit den Funktionen der »RealTime Suite« direkt auf die Kernel-Ebene geladen wird und dadurch in den Echtzeit-Kontext gelangt.

Sofort verwendbare Programmgerüste für die genannten Plattformen befinden sich in jeder Software-Lieferung.

Systemvoraussetzungen

Die Produkte der »RealTime Suite« unterstützen eine breite Palette von Hardware- und Software-Kombinationen:

 

Bei Fragen zur Systemunterstützung kontaktieren Sie uns bitte!

Betriebssystem

Die Software unterstützt folgende Betriebssysteme:

  • Windows 10 (32- und 64-Bit, bei 64-Bit nur im Dedicated Mode)
  • Windows 8 und 8.1 (32- und 64-Bit, bei 64-Bit nur im Dedicated Mode)
  • Windows Server 2012 (64 Bit, nur im Dedicated Mode)
  • Windows 7 (32- und 64-Bit) + Windows Embedded Standard 7
  • Windows 2008 R2 (64 Bit)

Hardware

Die Software läuft auf folgender Hardware:

  • CPU: AMD (ab Athlon) oder Intel (ab Pentium 2), 32- oder 64-Bit
  • Single- oder Multi-Core, Hyperthreading, Normalversion bis 8 logische CPU-Kerne (erweiterte Version derzeit bis 32 logische CPU-Kerne, darüber auf Anfrage)
  • ACPI erforderlich (Advanced Control and Power Interface), APIC erforderlich (Advanced Programmable Interrupt Controller)
  • der PC muss PAE (Page Address Extension) unterstützen
  • bei Gigabit-Ethernet bis 10 GBit/s: Controller von Intel und RealTek fast durchgängig unterstützt, auf Anfrage

Compiler

Sofort verwendbare Programmgerüste für folgende Programmiersprachen/Compiler sind Teil der Software-Lieferung (auch weitere Programmiersprachen können auf Anfrage unterstützt werden):

  • Visual Studio 20xx C++ mit MFC-Oberfläche (mitgelieferte Projektdateien: VS 2005/08/10/12/13/15)
  • C++Builder (Embarcadero, ehem. Borland) mit VCL-Oberfläche
  • Delphi (Embarcadero, ehem. Borland) mit VCL-Oberfläche
  • Visual Studio 20xx C# mit WPF-Oberfläche (inkl. C++-DLL für Echtzeit-Ausführung, mitgelieferte Projektdateien: VS 2005/08/10/12/13/15)

Für die Code-Ausführung im Echtzeitkontext ist im Prinzip jeder Compiler verwendbar, der eine DLL mit nativem Maschinencode erzeugen kann. Die Windows-Anwendung kann jedoch auch mit anderen Programmiersprachen erzeugt werden, z.B. C#.

 


EtherCAT® ist ein registriertes Warenzeichen der EtherCAT Technology Group.

CANopen® ist ein registriertes Warenzeichen des CAN in Automation e.V..

GigE Vision® ist ein registriertes Warenzeichen der Automated Imaging Association.