Copyright © 2005 Data Design Corporation Version 05.02.06
All rights reserved.
21
3.1 TR122 Software Architecture
The hardware and software design of the TR122 is rooted in well accepted flexible,
layered design concepts. The functional stack of all elements in the instrument design and data
flow are shown in Figure 3.1 below.
Figure 3.1 TR122 Software Architecture And Data Flow
The instrument hardware is mostly defined by a design which is software loadable into
a large field programmable gate array (FPGA) on the main board. The binary image of this
hardware design is saved on disk in the host computer and loaded to the instrument when the
software is started, or more specifically when the instrument application programming interface
(API) library is loaded in memory. The FPGA hardware design contains functional blocks to
interface with the instrument electronics, sample memory, and the PCI interface. Where the
software addresses specific registers on the instrument hardware, these registers are located
within the FPGA hardware.
The PCI interface itself contains a popular PCI bridge from PLX Technologies. The
advantage of using this device is that the gate array itself can be soft loaded and even potentially
reloaded after the host system is running. This provides flexibility and the ability to apply future
updates and enhancements to the hardware without the need to return the instrument to the
factory. The PCI9056 also has support available for a number of operating systems, including
native kernel support in some popular operating systems such as Linux. Under Windows a
comprehensive set of drivers and API features takes a lot of the work out of commonly needed
operations from basic device access to direct memory address support. The TR122 software
distribution includes an installation information file which directs the installation wizard to
install the Windows WDM kernel level driver and the associated PLX API for the benefit of a
newly installed TR122 instrument. These driver and API files contain the code necessary to
work with the operating system and the bridge chip on the other side of the PCI bus. They are
provided by PLX Technologies for distribution with systems that use these bridge chips. When
working with the software at this level under any operating system it may be helpful to acquire a
PLX Technologies software development kit. Generally, because the instrument API is