|Software & Electronic System Development|
Chase_da Linux Driver and API Library
T.Barnaby, BEAM Ltd, Version 1.0.1, 2009-05-08
IntroductionThis is a manual describing the Linux driver and API library for the Chase Scientific Company's Arbitrary Waveform Generator DA8150 and DA11000 cards. The DA8150 is a 8-Chan, 12-Bit, 150 MHz (MS/sec) Arbitrary Waveform Generator PCI board. The DA11000 is a single channel, 12-Bit, 1GHz (GS/sec) Arbitrary Waveform Generator PCI board.
The API library and driver allows a user written program to set up the cards to produce a set of arbitrary waveforms. All of the features of the boards are supported.
The driver and API library are available in RPM package form and in tar.gz source code form. They have been tested with the 16 MegaSample DA8150 and the 4 MegaSample DA11000 on RedHat Enterprise 5.3 using the 2.6.18-128.el5PAE kernel and Fedora 8 using the 18.104.22.168-57.fc8 kernel.
InstallationThere are two RPM packages: "chase_da" containing the API library and examples and "chase_da-driver" containing the kernel driver.
To install the RPM packages simply, as root, use the commands:
rpm -i chase_da-1.0.1-1.el5.i386.rpm
rpm -i chase_da-driver-2.6.18-128.el5PAE-1.0.1-1.el5.i386.rpm
The version numbers may need to be substituted for different package versions as appropriate. Note that the chase_da-driver driver package is for a particular kernel version. You will need to install the appropriate package for the kernel version you are using.
If you are not using a kernel for which there is a binary package available, you can create a new driver binary package from the source rpm by running:
rpmbuild --rebuild chase_da-1.0.1-1.el5.src.rpm
This will build a set of new packages tailored for your system. The final packages will be stored in /usr/src/redhat/RPMS unless you have defined a different directory for RPM builds. Note that you will need the kernel-headers and kernel-devel packages installed to perform this. This action will create a driver for the kernel running on your system. This can now be installed using the following command, substituting the "*" for the kernel and package version numbers:
rpm -i chase_da-driver-*.i386.rpm
The driver will be installed on the next reboot, alternatively the driver can be removed and reloaded with the command:
rmmod chase_da; modprobe chase_da
Installation from TAR archive source
UsageThe Linux Chase_da API is basically the same as Chase Scientific's Microsoft Windows driver and is documented in the standard Chase manuals. However, the Linux driver and API supports both the DA8150 and DA11000 cards with the same driver and API library rather than with separate drivers and API libraries. All functions have been prefixed with "chase_da_" rather than "da8150_" and "da11000_". Compatibility definitions have been provided to allow usage of the board specific function and data definition names if required.
The Linux version of the API has a "chase_da.h" include file that defines the Segment structure and the API call interface.
There is an additional API function named chase_da_BoardType(). This, given a card number, will return the type of board that is present. The board type definitions are: CHASE_DA8150 and CHASE_DA11000.
The chase_da_CreateSegments() call's ChanNum parameter is a bit mask of all of the channels to set. In the case of the DA11000 this parameter is ignored as there is only a single channel.
There are some examples of programs to create waveforms with the boards in the chase_da_test directory. With an RPM installation these are by default installed in "/usr/share/doc/chase_da-1.0.1".
ExamplesThere are 5 simple example programs in the chase_da_test directory. This is installed in the /usr/share/doc/chase_da-1.0.1 directory by default. There is also a Makefile for building the examples there. These examples perform the following functions:
The code for test1.c is given below:
Older LibrariesAs part of the package, we provide older versions of the DA8150 and DA11000 API libraries. These are based on the Microsoft Windows API library. These are not required for use.
DownloadsBinary and Source packages: http://www.beam.ltd.uk/files/opensource/chase_da/packages