Kithara hardware access

Kithara RealTime Suite is a modular real-time extension for Windows. In order to gain direct access to the hardware a set of special function modules are required. Among many features, these modules allow for direct access to I/O ports immediatly out of Windows applications. It also grants access to physical memory.

With Kithara RealTime Suite it is possible to easily develop applications under Windows, meeting even ”hard“ real-time requirements.

real-time hardware access

Modules

Hardware-dependent programming with the modular system of Kithara RealTime Suite consists of the following components:

IoPort Module

Direct access to I/O-Ports

  • Common
  • Features

The IoPort Module of Kithara RealTime Suite enables a direct access to the I/O ports of the PC immediately out of a Windows application. With the help of the IoPort Module users can unlock a direct access to the required I/O ports.

The direct access to I/O ports in no way means reducing the stability. A separate development of the kernel driver is not necessary, which allows for the user to better focus on the application itself while accessing hardware only over defined entry points.

  • Access to all I/O registers of the PC from application or DLL
  • Determine PCI configuration data
  • retrieve resource information of devices

Memory Module

Access to physical memory

  • Common
  • Features

The Memory Module of Kithara RealTime Suite enables a direct access to the physical memory.

The physical memory is mapped into the application address space to allow for direct access to it from the application. The Memory Module provides two different mechanisms to access physical memory. A distinction is made between whether the memory is located on external hardware or on the PC main memory.

  • Access to external physical memory (Dual-Port-RAM)
  • Provision of PC memory for external hardware (DMA memory)

Interrupt Module

External hardware control

  • Common
  • Features

In order to control external hardware, interrupts are necessary. They are used, for example, to communicate states to PC expansion cards. To register such events, device drivers and technical applications require the installation of an appropriate interrupt handler.

  • Handling of hardware interrupts at application or kernel level
  • Use of operating system mechanisms for interrupt handling
  • By using the RealTime Tasking Module, real-time interrupts on PCI or PCIe hardware can be applied
  • Requires IoPort Module

MultiFunction Module

Access to multifunction-expansion cards in real-time

  • Common
  • Features
  • Hardware Support

Support of multifunction cards with a vendor-neutral API, digital IO bit wise or word wise, analog I/O as single value, channel sequence, limited series of sequences or continuous mode with a switch buffer interrupt.

  • Support of multifunction cards with a vendor-neutral API
  • Functions for A/D-, D/A- and digital I/O for controlling and data acquisition
  • Digital I/O bit wise or word wise
  • Analog I/O as single value, channel sequence, limited series of sequences or continuous mode with switch buffer interrupt
  • Real-time drivers for cards from various manufactures
  • Multifunction cards with PCI or PCIe bus
  • Requires RealTime Tasking Module

The following multifunction cards are supported. This list always refers to the latest version of our software:

  • Standard LPT interface (PNP0400)

PCIe*

  • National Instruments (NI) X-Series
  • WASCO PCIe Boards
  • NetMos 9805 (parallel port)

* Recommended for real time, due to SMI support

PCI

  • Wasco PCI Boards
  • Advantech PCI 1730U

The correct functioning of the software in conjunction with specific components cannot be entirely guaranteed due to the large number of potential hardware variations. For questions regarding the com­pa­ti­bil­ity with individual hardware configurations, please contact us.