USB驱动程序编程

开发您自己的 USB 驱动程序

Kithara USB Toolkit

Kithara USB Toolkit为USB设备驱动程序开发提供了所有重要函数的机制。通过使用简单的可理解的API函数,我们就可以像复杂的设备驱动程序一样,在普通的编程环境下访问硬件模块。

Kithara USB Toolkit是一个在Windows系统下提供方便开发USB驱动的工具。未经复杂内核编程初步培训的人也可以使用它开发外部USB硬件驱动。直接支持类似 C,C++,Delphi或 C# 的编程语言,开发者可以在整个的开发过程中使用他们熟悉的编程环境。Kithara USB Toolkit提供了一个使开发人员能够直接与USB设备通信的通用驱动。

更多信息请参阅 Kithara Driver Collection, Kithara RealTime Suite提供功能模块的单独组合以及实时功能。

一些特性

  • 在应用或内核层与USB驱动(通过USB 1.1、USB 2.0、USB3.0和USB3.1)设备进行数据通信;
  • 支持多接口和多配置的设备;
  • 对所有即插即用、电源管理事件和接收到数据事件的的内核级响应;
  • 传输和响应例程可以直接在一个实时上下文中执行;
  • 可以任意指定设备名,例如串口名称;
  • 包括即插即用设备的通用WDM驱动安装;
  • 无限制的分布的运行时文件;
  • 在内核级执行的代码支持C,C++和Delphi;
USB in real time

模块

Kithara USB Toolkit由以下模块组成,如果该模块是 Kithara RealTime Suite中的一部分,它只提供所提及的实时能力。

基础功能

Base/Kernel Module

  • 支持以下操作系统:Windows 10和11(32位和64位)、Windows Server 2016,2019 和 2022、每个都有专用模式
  • 支持多核处理器,超线程和NUMA多处理器PC
  • 功能为:打开驱动程序、在内核级别实现实时代码、实时内存管理、设备处理、版本信息、调试支持、系统信息
  • 应用程序线程、事件、回调、共享内存、数据和消息管道、快速互斥对象

更多信息 …

System Module

  • 系统事件的截取,例如故障和内核级的系统崩溃(如防故障处理程序/“蓝屏处理程序”)

更多信息 …

数据通信

USB Driver Module

  • 与USB设备进行通信,包括USB 3.1
  • 低速,全速,高速
  • 控制,批量,中断和等时传送
  • 响应所有即插即用和电源管理事件

更多信息 …

Device Module

  • 包含通信设备的Windows编程接口(ReadFile, WriteFile, DeviceIoControl)
  • 任何可能的设备名称,例如虚拟COM端口

更多信息 …



平台

实时功能只能在内核级别上实现。为此,需要一种能够生成本地机器码的编程语言,例如C, C++或者Delphi。当然, Kithara实时套件支持各种平台,例如.NET环境。解决方案是将时间关键型代码转换成一个DLL,该DLL将直接加载到内核级别的实时上下文中。Kithara实时套件可以提供所有这些功能。上述平台的即时可用程序框架是每个软件交付的一部分。


系统需求

Kithara RealTime Suite产品支持广泛的硬件软件组合。如果你对系统支持有疑问, 请联系 我们!

操作系统

该软件支持以下操作系统:

  • Windows 10和11(32位和64位), dedicated mode
  • Windows Server 2016,2019 和 2022, dedicated mode

硬件环境

该软件在以下硬件上运行:

  • CPU:AMD(Athlon)或Intel(Pentium 2),32 位或64位
  • 双核或多核;可选的超线程多核,目前多达48个逻辑CPU,可根据要求提供更高的性能
  • 推荐的ACPI(Advanced Control and Power Interface),
  • PC必须能够支持PAE(页面地址扩展)
  • 使用高达200 Gbit/s的千兆以太网,通常支持Intel和RealTek的控制器

编译器

Kithara提供如下编程语言/编译器编写的程序框架(其他编程语言可以根据用户需要提供支持):

  • Visual Studio的20xx年的C++ MFC用户界面(提供 VS 2010/12/13/15/17/19/22工程文件)
  • C++ Builder(Embarcadero公司,原Borland公司)VCL用户界面
  • Delphi(Embarcadero公司,原Borland公司)VCL用户界面
  • Visual Studio的20XX C#WPF用户界面(实时代码采用C++ DLL,提供 VS 2010/12/13/15/17/19/22工程文件)

对于在实时上下文中执行代码,一般情况下,任何能够以DLL形式生成本地机器代码的编译器都可以使用。另外,不在实时层执行的Windows应用程序可以采用其他语言,如C#。


EtherCAT®与Safety over EtherCAT®是由德国倍福自动化有限公司( Beckhoff Automation GmbH )授权许可的注册商标和获得专利保护的技术。
CANopen®CAN in Automation e. V.的一个注册商标。
GigE Vision®Automated Imaging Association的一个注册商标。
USB3 Vision®Automated Imaging Association的一个注册商标。