Product Information  
Product Groups Price/Buy Shopping List Home

 
Back button

 
IOTester® development tool
Connect your embedded I/O hardware to the PC and control it directly from a PC program
 
The Ideal Tool for:
  • Experiments and fast prototyping.
    1) Connect the target hardware to the PC via the IOTester box.
    2) Open a simple console application project in the PC IDE.
    3) Make a IOTester initialization call, and you are ready to make read and write operations directly on your embedded hardware.
     
  • Education and training
    Focus directly om standard C and the characteristics of I/O hardware.
    No Windows programming skills are needed to get startet.
    No Embedded Processor knowledge are required to use IOTester.
     
  • Accelerating application development and test
    An "embedded" GUI application can run on the PC while using the real target display and keyboard hardware.
    Take advantage of powerfull and low-cost PC development tools, and an unconstrained development evironment, to accelerate development and test of application and I/O driver C source modules.
     
  • Presentation and sales demos
    Combine fast prototyping with "touch and feel" experience for your customers. Easy to install and run a demo using IOTester. Only a few files are needed. The ideal solution for sales presentations of I/O hardware devices like display modules and touch screens.
     
  • Production test
    Fast and flexible interface to production test equipment.
    Up to 4 IOTesters can be used silmultaneously by the one test application running on the PC. A total of 180 pins programmable for use as parallel buses, I2C or SPI buses, individual input or output pins etc.
IOTester-USB box
Target Connection

IOTester® concept

Virtual "embedded" system

IOTester "connects" I/O hardware to the PC system in such a way that I/O registers can be accessed and controlled directly from a program application running on the PC. From a programmer's point of view, this is done just as easily as if the target I/O register was a part of the PC.

Virtual PC-target connection

I/O registers are located internally in IOTester (like on a single chip processor), and in I/O chips on target hardware connected to the external "processor bus" (if external bus mode is enabled).

PC->IOTester->Target connection

Easy to use

VERY simple and easy-to-use software interface.
The IOTester software interface essentially consists of a few initialization functions, plus a few access functions for the most basic operations on I/O registers: READ, WRITE, AND, OR, XOR on either individual I/O registers or register arrays.

PC program example written in C:

#include <iotester.h>

int main(void)
   {
   int dat;
   if (iot_init(0)) // Connect IOTester address space
      return -1;    // Error IOTester not connected

   // Configure IOTester pins (External 8 bit data bus, 8080 type bus, 8 address lines)
   iowr( IOT_PIN_MODE_REG, DBUS8 | DBUS8080 | ADRBUSSIZE(8));
   // Configuration done

   // Using IOTester to make I/O access operations in your target hardware
   iowr(0x13,0x23);  // Write to parallel bus address 0x13
   dat = iord(0x46); // Read from parallel bus address 0x46
   // etc.
   return 0;
   }

(With Microsoft Visual C/C++ just use a Windows Console project to start execution from main() like in embedded systems.)

IOTester® target connector interface

Parallel bus.

Flexible parallel bus interface. Easy connection to I/O chips with a parallel bus processor interface.
Programmable selection of bus clock type and data bus width.
Programmable address bus width, from 1 to 24 bits.
Examples:
8080 bus type. 8 or 16 bit
8080 bus type
6800 bus type. 8 or 16 bit
6800 bus type
16 bit with byte access
8080 bus type, 16 bit byte aligned
Bus wait states
Wait pin
The /RD,/WR or E clocks pulses can be extended with a programmable number of wait states, or be extended dynamically on request from an I/O chip via the WAIT pin.
.

Flexible bus pin layout with several selectable layout options for best pin utilization.
Pins not required by the parallel bus interface configuration are released as I/O pins.
Multiple chip select lines can be implemented via address bus pins. Active high or low chip select.

I/O pins

45 I/O pins are available on the IOTester target connectors.
Each pin can be individually configured and controlled via internal I/O registers.
Programmable as input or output. With or without internal pull-up.
A total of 6 different pin drive modes can be achieved.
Input port mode is default after powerup reset. (Emulates a single chip processor).

Typical driver applications are: key board scan matrix, LED driver, relay driver, opto-coubler interface, etc

Configurable I/O pin types
iopintypes

Serial SPI bus

SPI bus

One or more SPI bus slave devices can be connected to the external SPI bus.
The SPI bus master device is accessed and controlled via internal I/O registers.
Flexible data unit sizes: 8,16,24,32-bit, or variable length 1-32 bits.
Write-only mode, Read-only mode or Write-Read mode.
Programmable clock polarity modes. Programmable or automatic SPI bus Chip-Select.

Serial I2C bus

I2C bus

One or more I2C bus slave devices can be connected to the external I2C bus.
The I2C bus master device is accessed and controlled via internal I/O registers.
Fast / Slow speed modes. Automatic generation of I2C start and stop signal sequences.
Support for clock stretching request from I2C slave devices.

Pin reroute

For optimum pin utilization, SPI bus pins, I2C bus pins, and the WAIT pin can be rerouted to any IOTester pin not used by the external bus or other internal devices. Those pins not used can also be disabled entirely and made free for use as I/O pins.

Emulation of internal I/O device functionality in target.
IOTester contains internal I/O devices for emulation of build-in I/O device features in processors which have the most direct influence on the user interface and control flow of the high-level application. For instance: Timing, Delays, Interrupt from user interface devices, GUI interfaces.
Facilitates application software development and testing before the real target hardware is ready. Ideal for early prototyping and demos.

Timer

Programmable 16-bit down counter. Decrements every 10 ms. Programmable start value.
Operates in either "single-count mode", or in "repeated-count mode" with automatic counter reload.
Can be configured to generate interrupt on terminal count to a "Timer interrupt function" in the PC application. Emulates a typical system clock in an embedded system.

Timer

Timestamp counter

32-bit free-running timestamp counter. Incrementing every 1 ms.
Can be used for application-controlled timing measurements. Can be used as timestamp mark for profiling.
Can be used as a polled timer for the simple generation of accurate delays in the "embedded" PC application.

Interrupt pin

Interrupt input pin. Edge triggered. Secure detection and latch of short interrupt pulses.
To be connected to interrupt lines from external I/O devices. For instance from an external touch screen controller device.

Interrupt input and interrupt controller

Interrupt controller

The interrupt controller routes interrupts from I/O peripherals to the PC for service by "interrupt functions" in the "embedded" PC application. For instance from: Timer, Interrupt pin, Touch controller.
Provides a common enable / disable of interrupt event generation from devices.
During IDE single step through the PC application hardware interrupt events are automatically latched for later processing.

Interrupt pin event counter

Counts number of events on the interrupt pin. Enables the pin to be used as a hardware event counter for measurements.
Can be used for detection of lost interrupts if a matching software count value is maintained in the PC interrupt function.

RGB display controller

Build-in display controller with 18 or 24 bit RGB bus.
Emulates the TFT / OLED display controller device build into many embedded processors.
Flexible RGB bus pinout: RGB18 {6:6:6} (J2) or RGB24 {8:8:8} (J2+J1)
Programmable display image size up to 1024 x 1024 pixels, 24 or 32 bit pr pixel.
Programmable clocks: Pixel clock, Hsync, Vsync, Data Enable.
Programmable PWM signal for back-light control (0-100% duty-cycle)

Build-in 16 Mbytes video buffer for image storage.
The content of the internal video buffer RAM is operated as one linear I/O register array. Fast update directly from the GUI application running on the PC.
Built-in fill and copy accelerator. Fast swap between image buffers. Flicker-free update.

Display controller

The display controller and video buffer devices are only available in the IOTester-USB-Disp version.

Touch screen inputs

Build-in touch screen controller for a 4-wire resistive touch screen.
Detects relative X,Y positions for touch position on screen.
Detects touch-down, touch-drag, touch-up events. Each event type can be configured to generate interrupt to a "touch screen interrupt function" in the PC application.

The touch screen controller device is only available in the IOTester-USB-Disp version.

Touch screen controller

Comparing IOTester® tool versions

 
 
Features
IOTester-USB-Disp.   IOTester-USB (IOTester-LPT)
IOTester-LPT link
Number of I/O pins45 pins45 pins30 pins
External data bus types8 bit byte aligned
16 bit word aligned
16 bit byte aligned
8 bit byte aligned
16 bit word aligned
16 bit byte aligned
8 bit byte aligned
16 bit word aligned
6800 / 8080 type clock6800 / 8080 type clock6800 / 8080 type clock
Max address bus size24 bit24 bit18 (20) bit
Bus hardware WAIT supportYesYes-
Max number of IOTesters used by
one PC application
448
External interrupts events
(from all devices)
3 (12)2 (8)1
SPI bus supportYesYes(software emulation)
I2C bus supportYesYes(software emulation)
Timer + timer interruptYesYes-
Interrupt controllerYesYes(single PC interrupt)
Timestamp counterYesYes(software emulation)
Interrupt event counterYesYes-
RGB display controllerYes--
Video buffer, general image storage Yes, 16 Mb--
Copy / fill acceleratorYes--
PWM signal for backlight controlYes--
Touch screen controllerYes--
PC connection typeUSB 2.0USB 2.0PC LPT port
Max number of IOTester PC
applications active simultaneously
255 (USB limit)255 (USB limit)1
Max burst I/O access speed400-600 ns
(USB / PC dependent)
400-600 ns
(USB / PC dependent)
12-20 us
(PC dependent)
Single read access speed0.5 ms
(USB / PC dependent)
0.5 ms
(USB / PC dependent)
12-20 us
(PC dependent)
Logic output levels3V33V3True 3V3 or 5V
Logic input levels3V3, 5V tolerant3V3, 5V tolerantTrue 3V3 or 5V
Build in cable impedance
termination
100 ohm100 ohm100 ohm
ESD / undervoltage / overvoltage
protection on I/O pins
YesYesYes
Power supply sources
to IOTester
DC connector (4.5-8V)
Target (3V3)
USB connector (4.5-5V)
DC connector (4.5-8V)
Target (3V3)
USB connector (4.5-5V)
DC connector 5V
Target (3V3 or 5V)
Power supply to target
via IOTester regulator
3V3 300mA (USB) or
3V3 500mA (DC con.)
3V3 300mA (USB) or
3V3 500mA (DC con.)
3V3 300mA
5V 500mA
Direct power supply to target via
IOTester DC connector + adaptor
5V 1A (0-8V)5V 1A (0-8V)5V 500mA

Links to more information

C source examples

Example 1: Start using IOTester I/O port pins - "Single chip mode"
Example 2: Enabling the External bus
Example 3: Using Internal Devices and External bus.
Example 4: Using Target Interrupt.
Example 5: Writing portable I/O driver source code with <iohw.h>
Example 6: <iohw.h> implementation methods and definition of I/O registers
Example 7: Swapping source code between PC and target platforms

Display driver libraries

IOTester® provides direct support of all RAMTEX display driver libraries:

All IOTester versions can be used with the above libraries. However when IOTester-USB-Disp emulates display controllers on the processor chip the Generic display driver library is recommended.
Also be aware that the IOTester-USB tool versions are magnitudes faster than the IOTester-LPT tool, especially with large color display modules.

IOTester-LPT compatibility

The IOTester-LPT development tool version provides access to embedded I/O peripheral devices via the PC-LPT port.
The IOTester-USB functionality is a superset of the old IOTester-LPT functionality.
IOTester-USB contains an internal set of IOTester-LPT compatibility registers.
This enables direct reuse of existing IOTester-LPT source codes with IOTester-USB.

 
 
Back button  
 
  Copyright © 2010 RAMTEX International ApS. All rights reserved.