Product area

Contact | Impressum


1 Introduction

2 Architecture of AKKON IO controller

3 AKKON IO control library





click here to enlarge picture

1 Introduction

AKKON IO control is designed for easy access of digital and analogue inputs and outputs over USB. The hardware can be accessed using the AKKON IO control library.
The system can e.g. be used for development, controlling and measurement equipment, communicating over USB. The software package includes a Delphi and c# interface library with examples demonstrating the use of the library and hardware.


Following picture shows the AKKON controller board that will be supported by the software yet.

click image to enlarge

Figure 1: AKKON Controller Board (PIC-Version)

2 Architecture of AKKON IO controller

Figure 2 shows the architecture of the AKKON IO controller.

The system currently supports following features:

  • 16 digital buffered outputs driving 10 mA each, 4 outputs with LED

  • 1 PWM output that can also be used as analogue output using a RC-network.

  • 10 digital inputs with internal pull-up. Depending on hardware configuration, there are two digital inputs with on board overvoltage / under voltage protection UinMax 24 V

  • 2 general purpose digital / analogue inputs depending on the use with interrupt option

  • System timer with millisecond resolution

  • Watchdog timer if connection to host PC has been lost

  • RS232 interface with optional power source (RS232 interface currently not supported by the library

  • 192 byte EEPROM for storing user data

  • Firmware updates without further hardware using AKKON boot loader or using the Microchip(c) In Circuit Serial Programming interface (ICSP)

Figure 2: Architecture of AKKON IO controller

The coloured blocks show the logical units, the Arrows the direction of the information flow. A detailed description of the logical units and itus will be described in the AKKON IO controll operating manual.

3 AKKON IO control library

USB-programming of the AKKON IO controller programming is supported by the AKKON IO control library. The library includes the AKKON USB driver component (TIOPicUsbDriver) for basic communication and the AKKON controller component (TAkkonController) for performing IO control.

Figure 3: Information flow through layers

In normal case the USB driver component is not accessed directly. Moreover TIoPicUSBDriver creates an interface between the operating system and the functional logic for programming the AKKON controller board. The user application itself accesses the TAkkonController-Component and has access to different methods for steering the functional blocks on the controller.

3.1 Components

3.1.1 AKKON USB driver (TIOPicUsbDriver) component

The AKKON USB driver component implements basic communication from PC to AKKON IO controller board.
USB-driver for AKKON IO controller

The component implements following parameters and events:

Figure 4: Parameters (left) and events supported by the TIOPicUsbDriver-component

In normal case the USB driver component is not accessed directly.

3.1.2 AKKON Controller (TAkkonController) component

The AKKON Controller component (TAkkonController) implements methods for easy access to the controller hardware.
AKKON Controller board component

The component implements following parameters and events:

Figure 5: Parameters (left) and events supported by the TAkkonController-component

Parameter IODriver holds a reference to a suitable IO driver. In the case of the AKKON IO controller board it is a reference to the TIoPicUSBdriver component.

3.2 Use of the components in the Delphi IDE

Figure 6: Example application and the use of the AKKON IO library in the Delphi IDE

In the AKKON IO control demo application a TAkkonController, a TIoPicUsbDriver and a TTimer component is used. TAkkonController is connected with the TIoPicUsbDrvier. TTimer calls background processing of the current controller state. Following examples shows how to switch signal DIR_X logical high or low.

Figure 7: Example for switching digital output of signal DIR_X logical high or low

Following example demonstrates how to process information about the digital inputs. Parameter AkkonController1.ControllerInfo.InCtrl hold a 16 bit variable. Each bit of the value correspondeses to one digital input. The AKKON IO control library defines all constants (pfMIN_X, pfMIN_Y, ..) for demasking of the input state. The current controller state can be read from the controller by using a TTimer that wil be called continuously e.g. in a 250 ms interval in the background.


Figure 8: Example for processing of digital inputs from AKKON controller


File type
Operating manual about AKKON IO control library (Preliminary version)

Impressum | Limited Warranty

Version 1.0, ©Gerhard Burger 2004-2013, all rights reserved, last update 09.11.2013