Instruction manual
AMPDIO DRIVERS
Page 29
3 DRIVER FUNCTIONS AND CONCEPTS
This chapter describes the functions and concepts of the AMPDIO driver and library. Details of the
underlying register structures and software are given in chapters 4 and 5 respectively.
Reference should also be made to chapter 2.
The driver is shipped with a Windows dynamic link library (DIO_TC.DLL) written in C and example
programs written in a number of different Windows visual programming languages. The DLL
contains functions that implement typical applications for the supported devices. The source code
for the DLL and the examples programs is shipped as part of the driver. As digital and analogue I/O
boards can be used for a vast variety of tasks, the DLL and examples are provided as a
demonstration of how to interface to the driver and are not intended as a definitive set of functions.
The DLL provides an example Windows application interface to Analogue and Digital logic on
Amplicon data acquisition cards.
It supports the industry standard 82C55 CMOS Programmable Peripheral Interface device.
It supports the industry standard 82C54 CMOS Counter/Timer device (82C53 is supported on
ISA analogue I/O cards).
It supports analogue data acquisition.
It supports digital to analogue conversion.
It supports interrupts.
It supports transferring large buffers of information under interrupt control.
It allows boards to be configured in a variety of operating modes.
The driver originally supported the 82C55 PPI and 82C54 counter timer devices as implemented
on the 200 series digital IO cards, i.e. boards in the PC215E, PC212E, PC218E and PC272E
range. It has since been expanded to support a range of analogue cards. The 82C55 PPI and
82C53/4 counter timer devices are supported using the same model as that developed for the 200
series card so it is important to have an understanding of this family of cards. This register
structure is outlined in chapter 4.
Note that the 200 series cards and the PCI data acquisition cards support software-programmable
counter/timer clock and gate connections for use in configuring the 82C54 Timer Counter chips.
For boards that do not, special care must be taken to configure the jumpers and external
connections before using library functions.
Also please take into consideration the limits on the input and output frequencies when using the
timer/counter functions. These limits arise because the software was written to support the whole
range of Digital I/O and Timer/Counter boards, some of which have software selectable clock
sources.
3.1 Timer Counter Functions
The library supports a number of different applications of the Timer Counter logic that do not
require the use of interrupts.
3.1.1 Differential Counter
Two timer/counters can be used to form a Differential Counter pair from which the ratio of, or the
difference between, the two count values is derived. See section 6.4.6.
The function TCsetDiffCounters allows you to specify the two timer/counters to be used as a
differential pair. The function registers the timer/counter pair as being 'in use' and unavailable for