1 Introduction
AKKON IO control is designed for easy access
to digital and analogue inputs and outputs over USB. The hardware
can be accessed using the AKKON IO control library.
The system can 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.
r
Figure 8: Example for processing of digital
inputs from AKKON controller
4 Downloads
|