SBench is a registered trademark of Spectrum Systementwicklung Microelectronic GmbH.
Microsoft, Visual C++, Visual Basic, Windows, Windows 98, Windows NT, Window 2000 and Windows XP are trademarks/registered
trademarks of Microsoft Corporation.
LabVIEW, DASYLab, Diadem and LabWindows/CVI are trademarks/registered trademarks of National Instruments Corporation.
MATLAB is a trademark/registered trademark of The Mathworks, Inc.
Agilent VEE, VEE Pro and VEE OneLab are trademarks/registered trademarks of Agilent Technologies, Inc.
FlexPro is a registered trademark of Weisang GmbH & Co. KG.
General Information ............................................................................................................................................................. 6
Different models of the MC.31xx series................................................................................................................................... 7
Digital inputs.................................................................................................................................................................. 9
Extra I/O (Option -XMF).................................................................................................................................................. 9
The Spectrum type plate ...................................................................................................................................................... 11
Order information......................................................................................................................................................... 13
System Requirements .......................................................................................................................................................... 14
Sources of noise ........................................................................................................................................................... 14
Installing the board in the system.......................................................................................................................................... 14
Installing a single board without any options.................................................................................................................... 14
Installing a board with digital inputs/outputs.................................................................................................................... 15
Installing a board with extra I/O (Option -XMF) ............................................................................................................... 15
Installing multiple boards synchronized by starhub............................................................................................................ 16
Windows 98 ..................................................................................................................................................................... 19
Version control ............................................................................................................................................................. 19
Windows 2000 ................................................................................................................................................................. 21
Version control ............................................................................................................................................................. 21
Windows XP...................................................................................................................................................................... 23
Version control ............................................................................................................................................................. 23
Windows NT..................................................................................................................................................................... 25
Adding boards to the Windows NT driver ....................................................................................................................... 25
First Test with SBench.......................................................................................................................................................... 28
Microsoft Visual C++ .................................................................................................................................................... 29
Borland C++ Builder ..................................................................................................................................................... 29
Linux Gnu C................................................................................................................................................................. 29
Other Windows C/C++ compilers ................................................................................................................................. 30
National Instruments LabWindows/CVI........................................................................................................................... 30
Type definition ............................................................................................................................................................. 32
Include Driver............................................................................................................................................................... 32
Include Driver............................................................................................................................................................... 34
Date of production........................................................................................................................................................ 38
Serial number .............................................................................................................................................................. 38
Maximum possible sample rate ...................................................................................................................................... 38
Installed features and options ......................................................................................................................................... 38
Used interrupt line ........................................................................................................................................................ 39
Used type of driver ....................................................................................................................................................... 39
Powerdown and reset ......................................................................................................................................................... 40
Analog Inputs.................................................................................................................. 41
Important note on channels selection............................................................................................................................... 41
Setting up the inputs ........................................................................................................................................................... 43
Overrange bit .............................................................................................................................................................. 45
Automatical adjustment of the offset settings..................................................................................................................... 45
Standard acquisition modes ............................................................................................ 47
General Information ........................................................................................................................................................... 47
Memory, Pre- and Posttrigger ......................................................................................................................................... 47
Starting without interrupt (classic mode)........................................................................................................................... 48
Starting with interrupt driven mode ................................................................................................................................. 49
Data organization ........................................................................................................................................................ 50
Reading out the data with SpcGetData............................................................................................................................ 51
General Information...................................................................................................................................................... 53
Example FIFO acquisition mode ..................................................................................................................................... 56
Data organization ........................................................................................................................................................ 56
Standard internal sample rate ........................................................................................................................................ 58
Using plain quartz without PLL........................................................................................................................................ 59
Direct external clock ..................................................................................................................................................... 60
External clock with divider ............................................................................................................................................. 61
Trigger modes and appendant registers .......................................................................... 62
General Description............................................................................................................................................................ 62
Overview of the channel trigger registers......................................................................................................................... 66
Detailed description of the channel trigger modes............................................................................................................. 69
Standard Mode............................................................................................................................................................ 77
Standard Mode............................................................................................................................................................ 79
General information and trigger delay ............................................................................................................................ 79
End of gate alignement ................................................................................................................................................. 80
Alignement samples per channel .................................................................................................................................... 80
Number of samples on gate signal ................................................................................................................................. 81
Example program............................................................................................................................................................... 82
General information ........................................................................................................................................................... 83
Standard mode ............................................................................................................................................................ 83
Reading out timestamp data ................................................................................................................................................ 84
Functions for accessing the data ..................................................................................................................................... 84
Data format ................................................................................................................................................................. 85
Example programs ............................................................................................................................................................. 86
Standard acquisition mode ............................................................................................................................................ 86
Acquisition with Multiple Recording ................................................................................................................................ 86
Option Extra I/O ............................................................................................................. 87
Digital I/Os....................................................................................................................................................................... 87
Channel direction ......................................................................................................................................................... 87
Transfer Data ............................................................................................................................................................... 87
Analog Outputs.................................................................................................................................................................. 87
Programming example ........................................................................................................................................................ 88
Option Digital inputs ....................................................................................................... 89
The different synchronization options .................................................................................................................................... 90
Synchronization with option cascading ........................................................................................................................... 90
Synchronization with option starhub ............................................................................................................................... 90
The setup order for the different synchronization options ......................................................................................................... 91
Setup Order for use with standard (non FIFO) mode and equally clocked boards ................................................................. 91
Setup synchronization for use with FIFO mode and equally clokked boards............................................................................... 94
Additions for synchronizing different boards .................................................................................................................... 96
Additions for equal boards with different sample rates ...................................................................................................... 99
Resulting delays using different boards or speeds ............................................................................................................. 99
Pin assignment of the multipin connector ............................................................................................................................. 101
Extra I/O with external connector(Option -XMF) ............................................................................................................. 101
Pin assignment of the multipin cable ................................................................................................................................... 102
5
PrefaceIntroduction
Introduction
Preface
This manual provides detailed information on the hardware features of your Spectrum instrumentation board. This information includes technical data, specifications, block diagram and a connector description.
In addition, this guide takes you through the process of installing your board and also describes the installation of the delivered driver package
for each operating system.
Finally this manual provides you with the complete software information of the board and the related driver. The reader of this manual will
be able to integrate the board in any PC system with one of the supported bus and operating systems.
Please note that this manual provides no description for specific driver parts such as those for LabVIEW or MATLAB. These drivers are provided by special order.
For any new information on the board as well as new available options or memory upgrades please contact our website
http://www.spectrum-instrumentation.com. You will also find the current driver package with the latest bug fixes and new features on our site.
Please read this manual carefully before you install any hardware or software. Spectrum is not responsible
for any hardware failures resulting from incorrect usage.
General Information
The MC.31xx series allows recording of up to 8 channels in the middle speed segment. Due to the proven design a wide variety of 12 bit
A/D converter boards for CompactPCI bus can be offered. These boards are available in several versions and different speed grades making
it possible for the user to find a individual solution.
These boards offer two, four or eight channels with sample rates of 1 MS/s, 10 MS/s or 25 MS/s. As an option 4 digital inputs per channel
can be recorded synchronously. The installed memory of up to 256 MSample will be used for fast data recording. It can completely be used
by the current active channels. If using slower sample rates the memory can be switched to a FIFO buffer and data will be transferred online
to the PC memory or to hard disk.
Several boards of the MC.xxxx series may be connected together by the internal standard synchronisation bus to work with the same time
base.
IntroductionDifferent models of the MC.31xx series
Different models of the MC.31xx series
The following overview shows the different available models of the MC.31xx series. They differ in the number of mounted acquisition modules
and the number of available channels. You can also see the model dependant allocation of the input connectors.
• MC.3110
• MC.3120
• MC.3130
• MC.3111
• MC.3121
• MC.3131
(c) Spectrum GmbH7
Different models of the MC.31xx seriesIntroduction
• MC.3112
• MC.3122
• MC.3132
8MC.31xx Manual
IntroductionAdditional options
Additional options
Digital inputs
This option allows the user to acquire additional digital channels synchronous and
phase-stable along with the analog data.
Therefore the analog data is filled up with the digital bits up to 16 Bit data width. This
leads to a possibility of acquiring 4 additional digital bits per channel with 12 bit resolution boards, and 2 additional digital bits per channel with 14 bit resolution boards.
The connectors for these digital inputs are mounted on an additional bracket. The figures show the option on boards with either one or two modules.
Extra I/O (Option -XMF)
With this simple-to-use enhancement it is possible to control a wide range of external
instruments or other equipment. Therefore you have 24 digital I/O and the 4 analog
outputs available.
The extra I/O option is useful if an external amplifier should be controlled, any kind
of signal source must be programmed, an antenna must be adjusted, a status information from external machine has to be obtained or different test signals have to be routed to the board.
The additional inputs and outputs are mounted on an extra bracket. The figure shows
the allocation of the two connectors. The shown option is mounted exemplarily on a
board with two modules. Of course you can also combine this option as well with a
board that is equipped with only one module.
It is not possible to use this option together with the star hub or timestamp option, because there is just space for one piggyback module on
the on-board expansion slot.
(c) Spectrum GmbH9
Additional optionsIntroduction
Starhub
The star hub module allows the synchronisation of up to 16 MC boards. It is possible
to synchronise boards of the same type with each other as well as different types.
The module acts as a star hub for clock and trigger signals. Each board is connected
with a small cable of the same length, even the master board. That minimises the clock
skew between the different boards. The figure shows the piggyback module mounted
on the base board schematically without any cables to achieve a better visibility.
Any board could be the clock master and the same or any other board could be the
trigger master. All trigger modes that are available on the master board are also available if the synchronisation star hub is used.
The cable connection of the boards is automatically recognised and checked by the
driver at load time. So no care must be taken on how to cable the boards. The programming of the star hub is included in the standard board interface and consists of
only 3 additional commands.
It is not possible to use this option together with the timestamp or extra
I/O option, because the is just space for one piggyback module on the
on-board expansion slot.
Timestamp
The timestamp module was designed to record the exact time information between trigger events.
The timestamp reset command sets an internal counter to zero. The counter is running
with the same resolution as the sample rate. On each trigger event a timestamp is recorded in an extra FIFO. The recorded timestamps are read out asynchronously to the
board sampling.
If the absolute time information is of interest it is possible to synchronise the timestamp
counter with a 1 Hz "seconds" signal of a radio clock or a GPS receiver. In that case
the 64 bit timestamp information is split up in two parts. The one part counts the
number of seconds starting with the reset command, the other part is set to zero on
every rising edge of the seconds signal and specifies the exact time position in relation
to the seconds signal.
The figure shows the piggyback module installed on the on-board expansion slot. The
shown option is mounted exemplarily on a board with two modules.
It is not possible to use this option together with the star hub or extra
I/O option, because the is just space for one piggyback module on the
on-board expansion slot.
10MC.31xx Manual
IntroductionThe Spectrum type plate
The Spectrum type plate
The Spectrum type plate, which consists of the following components, can be found on all of our boards.
The board type, consisting of the two letters describing the bus (in this case MC for the CompactPCI bus) and the model number.
The size of the on-board installed memory in MSamples. In this example there are 8 MS (16 MByte) installed.
The serial number of your Spectrum board. Every board has a unique serial number.
The board revision, consisting of the base version and the module version.
A list of the installed options. A complete list of all available options is shown in the order information. In this example the options
’Multiple recording’ and ’Extra I/O with external outputs’ are installed.
The date of production, consisting of the calendar week and the year.
Please always supply us with the above information, especially the serial number in case of support request. That
allows us to answer your questions as soon as possible. Thank you.
(c) Spectrum GmbH11
Hardware informationIntroduction
Hardware information
Block diagram
Technical Data
Resolution12 bitDimension160 x 233 mm (Standard 6U)
Differential linearity error≤ 1 LSB (ADC)Width (Standard)1 slot
Integral linearity error≤ 2.5 LSB (ADC)Width (with digital inputs)2 slots
Multi: Trigger to 1st sample delayfixConnector3 mm SMB male
Multi: Recovery time< 20 samplesInput impedance50 Ohm / 1 MOhm || 25 pF
ext. Trigger accuracy1 SamplesOvervoltage protection (range ≤ ±1 V)±5 V
int. Trigger accuracy1 SampleOvervoltage protection (range > ±1 V)±50 V
Ext. clock: delay to internal clock42 ns ±2 nsWarm up time10 minutes
input signal with 50 ohm terminationmax 5 V rmsOperating temperature0°C - 50°C
Digital Inputs input impedance110 Ohm @ 2.5 VStorage temperature-10°C - 70°C
Digital Inputs delay to analog sample-4 samplesHumidity10% to 90%
Min internal clock1 kS/s
Min external clock1 kS/sPower consumption 5 V @ full speedmax. 3.3 A (16.5 Watt)
Dynamic parameters are measured at ± 1 V input range (if no other range is stated) and 50 Ohm termination with the samplerate specified in the table. Measured parameters are averaged 20 times to get typical values. Test signal is a pure sine wave of the specified frequency with > 99% amplitude. SNR and RMS noise parameters may differ depending on the quality
of the used PC. SNR = Signal to Noise Ratio, THD = Total Harmonic Distortion, SFDR = Spurious Free Dynamic Range, SINAD = Signal Noise and Distortion, ENOB = Effective Number
of Bits. For a detailed description please see application note 002.
MC.3111
MC.3112MC.3120
MC.3121
MC.3122MC.3130
MC.3131
MC.3132
Order information
Order NoDescriptionOrder NoDescription
MC3110MC.3110 with 8 MSample memory and drivers/SBench 5.x MC3xxx-16MOption: 16 MSample memory instead of 8 MSample standard mem
MC3111MC.3111 with 8 MSample memory and drivers/SBench 5.x MC3xxx-32MOption: 32 MSample memory instead of 8 MSample standard mem
MC3112MC.3112 with 8 MSample memory and drivers/SBench 5.x MC3xxx-64MOption: 64 MSample memory instead of 8 MSample standard mem
MC3120MC.3120 with 8 MSample memory and drivers/SBench 5.x MC3xxx-128M Option: 128 MSample memory instead of 8 MSample standard mem
MC3121MC.3121 with 8 MSample memory and drivers/SBench 5.x MC3xxx-256M Option: 256 MSample memory instead of 8 MSample standard mem
MC3122MC.3122 with 8 MSample memory and drivers/SBench 5.x MC3xxx-upAdditional handling costs for later memory upgrade
MC3130MC.3130 with 8 MSample memory and drivers/SBench 5.x
MC3131MC.3131 with 8 MSample memory and drivers/SBench 5.x MC3xxx-mrOption Multiple Recording: Memory segmentation
MC3132MC.3132 with 8 MSample memory and drivers/SBench 5.x MC3xxx-gsOption Gated Sampling: Gate signal controls acquisition
MC3xxx-smodStar Hub: Synchronisation of 2 - 16 boards, one option per system
MC3xxx-timeTimestamp option: Extra memory for trigger timeMC31xx-dlDASYLab driver for MC.31xx series
MCxxxx-xmfExtra I/O, external connector: 24 DI/O, 4 Analog out, incl. cableMC31xx-hpVEE driver for MC.31xx series
MC3xxx-csSynchronisation of 2 - 4 boards, one option per systemMATLABMATLAB driver for all MI.xxxx, MC.xxxx and MX.xxxx series.
MC3xxx-digAdditional 4 synchronous digital inputs per channel, incl. cable
MC31xx-lvLabVIEW driver for MC.31xx series
Cab-3f-9m-80Adapter cable: SMB female to BNC male 80 cmCab-3f-9f-80Adapter cable: SMB female to BNC female 80 cm
Cab-3f-9m-200 Adapter cable: SMB female to BNC male 200 cmCab-3f-9f-200Adapter cable: SMB female to BNC female 200 cm
(c) Spectrum GmbH13
System RequirementsHardware Installation
Hardware Installation
System Requirements
All Spectrum MC.xxxx instrumentation boards are compliant to the CompactPCI 6U standard and require in general one free slot. Depending
on the installed options additional free slots can be necessary.
Warnings
ESD Precautions
The boards of the MC.xxxx series contain electronic components that can be damaged by electrostatic discharge (ESD).
Before installing the board in your system or even before touching it, it is absolutely necessary to bleed of
any electrostatic electricity.
Cooling Precautions
The boards of the MC.xxxx series operate with components having very high power consumption at high speeds. For this reason it is absolutely required to cool this board sufficiently. It is strongly recommended to install an additional cooling fan producing a stream of air across
the boards surface. In most cases CompactPCI systems are already equipped with sufficient cooling power. In that case please make sure
that the air stream is not blocked.
During longer pauses between the single measurements the power down mode should be called to reduce the heat production.
Sources of noise
The boards of the MC.xxxx series should be placed far away from any noise producing source (like e.g. the power supply). It should especially be avoided to place the board in the slot directly adjacent to another fast board (like the graphics controller).
Installing the board in the system
Installing a single board without any options
The locks on the top and bottom side of CompactPCI boards need to be unlocked and opened before installing the board into a free slot of
the system. Therefore you need to press the little buttons on the inside of the fasteners and move them outwards (see figure). Now slowly insert
the card into the host system using the key ways until both locks snap in with a „click“.
While inserting the board take care not to tilt it.
After the board’s insertion fasten the two screws carefully, without overdoing.
14MC.31xx Manual
Hardware InstallationInstalling the board in the system
Installing a board with digital inputs/outputs
The locks on the top and bottom side of both CompactPCI brackets need to be unlocked and opened before installing the board into a free
slot of the system. Therefore you need to press the little buttons on the inside of the fasteners and move them outwards (see figure). Now slowly
insert the card into the host system using the key ways until both locks snap in with a „click“.
While inserting the board take care not to tilt it.
After the board’s insertion fasten the four screws of both brackets carefully, without overdoing. The figure shows an example of a board with
two installed modules.
Installing a board with extra I/O (Option -XMF)
The locks on the top and bottom side of both CompactPCI brackets need to be unlocked and opened before installing the board into a free
slot of the system. Therefore you need to press the little buttons on the inside of the fasteners and move them outwards (see figure). Now slowly
insert the card into the host system using the key ways until both locks snap in with a „click“.
While inserting the board take care not to tilt it.
After the board’s insertion fasten the four screws of both brackets carefully, without overdoing. The figure shows exemplarily a board with
two installed modules.
(c) Spectrum GmbH15
Installing the board in the systemHardware Installation
Installing multiple boards synchronized by starhub
Hooking up the boards
Before mounting several synchronized boards for a multi channel system into the
chassis you have to hook up the boards with their synchronization cables first.
Spectrum ships the boards together with the needed amount of synchronization cables. All of them are matched to the same length, to achieve a zero clock delay
between the boards.
Only use the included flat ribbon cables.
All of the boards, including the board that carrys the starhub piggy-back module,
must be wired to the starhub as the figure is showing exemplarily for three synchronized boards.
As you can see, all boards have a notch to get the cables to the other boards.
Please only use these notches to lay the cables to avoid damage to the cables when
inserting the boards into the host system.
It does not matter which of the 16 connectors on the starhub module you use for
which board. The software driver will detect the types and order of the synchronized boards automatically. The right figure shows the three cables mounted next
to each other only to achieve a better visibility.
As some of the synchronization cables are not secured against wrong plugging you should take
care to have the pin 1 markers on the multiple connectors and the cable on the same side, as the
figure on the right is showing.
Mounting the wired boards
The locks on the top and bottom side of all CompactPCI brackets need to be unlocked and opened before installing the boards into the slots
of the system. Therefore you need to press the little buttons on the inside of the fasteners and move them outwards (see figure). Now slowly
insert the boards into the host system using the key ways until both locks snap in with a „click“.
While inserting the boards take care not to cant them and make sure that the cables are not squeezed by the
backplane or any other components.
After the board’s insertion fasten the screws of all brackets carefully, without overdoing. The figure shows exemplarily a board with two installed modules.
16MC.31xx Manual
Hardware InstallationInstalling the board in the system
Installing multiple synchronized boards
Hooking up the boards
Before mounting several synchronized boards for a multi
channel system into the chassis you have to hook up the
boards with their syncronization cables first. Spectrum
ships the boards together with the needed synchronization
cable.
All of the possible four boards must be wired with delivered synchronization cable. The figure is showing that exemplarily for three synchronized boards. As you can see,
all boards have a notch to get the cables from one board
to the other. Please take care that the cable lays within
these notches to avoid damages to the cable when inserting the boards into the host system.
The outer boards have a soldered termination for the sync
bus. These boards are marked with an additional sticker.
Only mount the cluster of synchronized boards
in a row with the dedicated boards on the outer
sides.
Mounting the wired boards
The locks on the top and bottom side of all CompactPCI brackets need to be unlocked and opened before installing the boards into the slots
of the system. Therefore you need to press the little buttons on the inside of the fasteners and move them outwards (see figure). Now slowly
insert the boards into the host system using the key ways until both locks snap in with a „click“.
While inserting the boards take care not to cant them and make sure that the cable is not squeezed by the
backplane or any other components.
After the board’s insertion fasten the screws of all brackets carefully, without overdoing. The figure shows exemplarily a board with two installed modules.
(c) Spectrum GmbH17
Interrupt SharingSoftware Driver Installation
Software Driver Installation
Before using the board a driver must be installed that matches the operating system. The installation is done in different ways depending on
the used operating system. The driver that is on CD supports all boards of the MI, MC and MX series. That means that you can use the same
driver for all boards of theses families.
Interrupt Sharing
This board uses a PCI interrupt for DMA data transfer and for controlling the FIFO mode. The used interrupt line is allocated by the PC BIOS
at system start and is normally depending on the selected slot. Because there is only a limited number of interrupt lines available on the PCI
bus it can happen that two or more boards must use the same interrupt line. This so called interrupt sharing must be supported by all drivers
of the participating equipment.
Most available drivers and also the Spectrum driver for your board can manage interrupt sharing. But there are also some drivers on the
market that can only use one interrupt exclusively. If this equipment shares an interrupt with the Spectrum board, the system will hang up if
the second driver is loaded (the time is depending on the operating system).
If this happens it is necessary to reconfigure the system in that way that the critical equipment has an exclusive access to an interrupt.
On most systems the BIOS shows a list of all installed PCI boards with their allocated interrupt lines directly after system start. You have to
check whether an interrupt line is shared between two boards. Some BIOS allow the manual allocation of interrupt lines. Have a look in your
mainboard manual for further information on this topic.
Because normally the interrupt line is fixed for one PCI slot it is simply necessary to use another slot for the critical board to force a new
interrupt allocation. You have to search a configuration where all critical boards have only exclusive access to one interrupt.
Depending on the system, using the Spectrum board with a shared interrupt may degrade performance a little. Each interrupt needs to be
checked by two drivers. For this reason when using time critical FIFO mode even the Spectrum board should have an exclusively access to
one interrupt line.
18MC.31xx Manual
Software Driver InstallationWindows 98
Windows 98
Installation
When installing the board in a Windows 98 system the Spectrum board
will be recognized automatically on
the next start-up.
The system offers the direct installation of a driver for the board.
Let Windows search automatically
for the best driver for your system.
Select the CD that was delivered
with the board as installation source.
The driver files are located on CD in
the directory
\Driver\Win98_2k_XP.
The hardware assistant shows you
the exact board type that has been
found like the MI.3020 in the example. Older boards (before june
2004) show „Spectrum Board“ instead.
Version control
The drivers can be used directly after installation. It is not necessary to restart the system.
The installed drivers are linked in the device manager. Below you’ll see how to examine
the driver version and how to update the driver with a newer version.
If you want to check which driver version is installed
in the system this can be easily done in the device
manager. Therefore please start the device manager
from the control panel and show the properties of the
installed driver.
On the property page Windows 98 shows the date
of the driver.
(c) Spectrum GmbH19
Windows 98Software Driver Installation
After clicking the driver info button the detailed version information of the driver is shown. In the case
of a support question this information must be presented together with the board’s serial number to
the support team to help finding a fast solution.
Driver - Update
If a new driver version is to be installed no Spectrum board should be in use. So please stop and exit all software that could access the boards.
New drivers are available at http://www.spectrum-instrumentation.com. After down loading the driver unzip it to a temporary folder.
A new driver version is directly installed from the device manager.
Therefore please open the properties
page of the driver as shown in the
section before. As next step click on
the update driver button and follow
the steps of the driver installation in
a similar way to the previous board
and driver installation.
Please select the path where the new
driver version was unzipped to. If
you’ve got the new driver version on
CD please select the
\Driver\Win98_2k_XP path on the
CD containing the new driver version.
The new driver version can be used directly after installation without restarting the system.
Please keep in mind to update the driver of all installed Spectrum boards.
20MC.31xx Manual
Software Driver InstallationWindows 2000
Windows 2000
Installation
When installing the board in
a Windows 2000 system the
Spectrum board will be recognized automatically on the
next start-up.
The system offers the direct installation of a driver for the
board.
Let Windows search automatically for the best driver for
your system.
Select the CD that was delivered with the board as installation source. The driver files
are located on CD in the directory
\Driver\Win98_2k_XP.
Version control
The hardware assistant
shows you the exact board
type that has been found like
the MI.3020 in the example.
Older boards (before june
2004) show „Spectrum
Board“ instead.
The drivers can be used directly after installation. It is
not necessary to restart the
system. The installed drivers
are linked in the device manager.
Below you’ll see how to examine the driver version and
how to update the driver with
a newer version.
If you want to check which driver version
is installed in the system this can be easily done in the device manager. Therefore please start the device manager
from the control panel and show the
properties of the installed driver.
On the property page Windows 2000
shows the date and the version of the installed driver.
After clicking the driver details button the
detailed version information of the driver
is shown. In the case of a support question this information must be presented
together with the board’s serial number
to the support team to help finding a fast
solution.
(c) Spectrum GmbH21
Windows 2000Software Driver Installation
Driver - Update
If a new driver version should be installed no Spectrum board is allowed to be in use by any software. So please stop and exit all software
that could access the boards.
A new driver version is directly installed from the device
manager. Therefore please
open the properties page of
the driver as shown in the section before. As next step click
on the update driver button
and follow the steps of the
driver installation in a similar
way to the previous board
and driver installation.
Please select the path where
the new driver version was
unzipped to. If you’ve got the
new driver version on CD
please select the
\Driver\Win98_2k_XP path
on the CD containing the new
driver version.
The new driver version can
be used directly after installation without restarting the system. Please keep in mind to
update the driver of all installed Spectrum boards.
22MC.31xx Manual
Software Driver InstallationWindows XP
Windows XP
Installation
When installing the board in a Windows XP system the Spectrum board will be recognized automatically on the next start-up.
The system offers the direct installation of a driver for the board.
Do not let Windows automatically search for the best driver, because sometimes the driver will not be found on the CD. Please take
the option of choosing a manual installation path instead.
Allow Windows XP to search for the most suitable driver in a specific directory. Select the CD that was delivered with the board as installation source. The driver files
are located on CD in the directory \Driver\Win98_2k_XP.
The hardware assistant shows you the exact board type that has been found like
the MI.3020 in the example. Older boards (before june 2004) show „Spectrum
Board“ instead.
The drivers can be used directly after installation. It is not necessary to restart the
system. The installed drivers are linked in the device manager.
Below you’ll see how to examine the driver version and how to update the driver
with a newer version.
Version control
If you want to check which driver version is installed in the system this
can be easily done in the device manager. Therefore please start the
device manager from the control panel and show the properties of
the installed driver.
(c) Spectrum GmbH23
Windows XPSoftware Driver Installation
On the property page Windows XP shows the date and the version of the installed driver.
After clicking the driver details button the detailed version information of the driver is shown.
In the case of a support question this information must be presented together with the
board’s serial number to the support team to help finding a fast solution.
Driver - Update
If a new driver version should be installed no Spectrum board is allowed to be in
use by any software. So please stop and exit all software that could access the
boards.
A new driver version is directly installed from the device manager. Therefore please
open the properties page of the driver as shown in the section before. As next step
click on the update driver button and follow the steps of the driver installation in a
similar way to the previous board and driver installation.
Please select the path where the new driver version was unzipped to. If you’ve got
the new driver version on CD please select the \Driver\Win98_2k_XP path on the
CD containing the new driver version.
The new driver version can be used directly after installation without restarting the
system. Please keep in mind to update the driver of all installed Spectrum boards.
24MC.31xx Manual
Software Driver InstallationWindows NT
Windows NT
Installation
Under Windows NT the
Spectrum driver must be installed manually. The driver is
found on CD in the directory
\Install\WinNTDrv. Please
start the „Setup.exe“ program. The installation is performed totally automatically,
simply click on the „Next“
button. After installtion the
system must be rebooted
once (see picture on the right
side). The driver is install to
pactPCI device. If more boards are installed in the system the configuration of the driver has to be changed. Please see the following chapter
for this topic.
Adding boards to the Windows NT driver
support one PCI/PXI or Com-
The Windows NT driver
must be configured by the
Driver Configuration utility
to support more than one
board. The Driver Configuration utility is automatically installed with the driver.
The Utility can be found in
the start menu as „DrvConfig“.
To add a new card please follow these steps:
• Increase the board number on top of the screen by pressing the right button
• Change the board type from „Not Installed“ to „PCI Board“
• Press the „Apply changes“ button
• Press the „OK“ button
• Restart the system
Driver - Update
If a new driver version should be installed no Spectrum board is allowed to be in use by any software. So please stop and exit all software
that could access the boards.
When updating a system please simply execute the setup file of the new driver version. Afterwards the system has to be rebooted. The driver
configuration is not changed.
(c) Spectrum GmbH25
LinuxSoftware Driver Installation
Linux
Overview
The Spectrum boards are delivered with drivers for linux. It is necessary to install them manually following the steps explained afterwards.
The linux drivers can be found on CD in the directory /Driver/linux. As linux is an open source operating system there are several distributions
in use world-wide that are compiled with different kernel settings. As we are not able to install and maintain hundreds of different distributions
and versions we had to focus on some common used linux distributions.
However if your distribution does not work with one of these pre-compiled kernel modules or you have a specialized kernel installed (like a
SMP kernel) you can get the linux driver sources directly from us. With this sources it’s no problem to compile and use the linux driver on your
system. Please contact your local distributor to get the sources. The Spectrum linux drivers are compatible with kernel versions 2.4 and 2.6.
On this CD you’ll find pre-compiled linux kernel modules for the following versions:
SuSE version 8.0Kernel 2.4.18directory /Driver/linux/suse80SuSE version 8.2Kernel 2.4.20directory /Driver/linux/suse82
SuSE version 9.0Kernel 2.4.21directory /Driver/linux/suse90SuSE version 9.1Kernel 2.6.4directory /Driver/linux/suse91
Redhat version 9.0 Kernel 2.4.20directory /Driver/linux/redhat90
Installation
Login as root.
It is necessary to have the root rights for installing a driver.
Select the right driver from the CD.
Refer to the list shown above. If your distribution is not listed there please select the module that most closely matches your installed kernel
version. Copy the driver kernel module spc.o from the CD directory to your hard disk. Be sure to use a hard disk directory that is a accessible
by all users who should work with the board.
First time load of the driver
The linux driver is shipped as the loadable module spc.o. The driver includes all Spectrum PCI, PXI and CompactPCI boards. The boards are
recognized automatically after driver loading.Load the driver with the insmod command:
linux:~ # insmod spc.o
The insmod command may generate a warning that the driver module was compiled for another kernel version. In that case you may try to
load the driver module with the force parameter and test the board very carefully.
linux:~ # insmod -f spc.o
If the kernel module could not be loaded in your linux installation it is necessary to compile the driver directly on your system. Please contactSpectrum to get the needed source files including the compilation description.
Depending on the used linux distribution the insmod command generates a message telling the driver version and the board types and serial
numbers that have been found. If your distribution does not show this message it is possible to view them with the dmesg command:
linux:~ # dmesg
... some other stuff
spc driver version: 3.07 build 0
sp0: MI.3020 sn 01234
In the example we show you the output generated by a MI.3020. All other board types are similar to this output but showing the correct
board type.
Examine the major number of the driver
For accessing the device driver it is necessary to know the major number of the device. This number is listed in the /proc/devices list. The
device driver is called "spec" in this list. Normally this number is 254 but this depends on the device drivers that have been installed before.
linux:~ # cat /proc/devices
Character devices:
...
171 ieee1394
180 usb
188 ttyUSB
254 spec
Block devices:
1 ramdisk
2 fd
...
26MC.31xx Manual
Software Driver InstallationLinux
Installing the device
You connect a device to the driver with the mknod command. The major number is the number of the driver as shown in the last step, the
minor number is the index of the board starting with 0. This step must only be done once for the system where the boards are installed in.
The device will remain in the file structure even if the board is de-installed from the system.
The following command makes a device for the first Spectrum board the driver has found:
linux:~ # mknod /dev/spc0 c 254 0
Make sure that the users who work with the driver have full rights access for the device. Therefore you should give all persons all rights to the
device:
linux:~ # chmod a+w /dev/spc0
Now it is possible to access the board using this device.
Driver info
Information about the installed boards could be found in the /proc/spectrum file. All PCI, PXI and CompactPCI boards show the basic information found in the EEProm there. This is an example output generated by a MI.3020:
Board#0: MI.3020
serial number: 01234
production month: 05/2004
version: 9.6
samplerate: 100 MHz
installed memory: 16 MBytes
Automatic load of the driver
It is necessary to load the kernel driver module after each start of the system before using the boards. Therefore you may add the „insmod
spc.o“ command in one of the start-up files. Or you may load the kernel driver module manually whenever you need access to the board.
(c) Spectrum GmbH27
Software OverviewSoftware
Software
This chapter gives you an overview about the structure of the drivers and the software, where to find and how to use the examples. It detailed
shows how the drivers are included under different programming languages and where the differences are when calling the driver functions
from different programming languages.
This manual only shows the use of the standard driver API. For further information on programming drivers
for third-party software like LabVIEW, MATLAB, DASYLab or VEE an additional manual is required that is delivered with the ordered driver option.
Software Overview
The Spectrum drivers offer you a common and fast API for using all of the board hardware features. This API is nearly the same on all operating
systems. Based on this API one can write your own programs using any programming language that can access the driver API. This manual
detailed describes the driver API allowing you to write your own programs.
The optional drivers for third-party products like LabVIEW or DASYLab are also based on this API. The special functionality of these drivers
is not subject of this manual and is described on separate manuals delivered with the driver option.
First Test with SBench
After installation of the board and the drivers it can be useful to first test the board function with
a ready to run software before starting with programming. A full version of SBench 5.x is delivered with the board on CD. The program supports all actual acquisition, generator and digital I/O boards from Spectrum. Depending on the used board and the software setup, one
could use SBench as a digital storage oscilloscope, a spectrum analyser, a logic analyser or
simply as a data recording front end. Different export and import formats allow the use of
SBench together with a variety of other programs.
On the CD you’ll find an install version of SBench in the directory /Install/SBench. There’s also
a pre-installed program version on CD that can be started directly from CD without installing
to hard disk. This file can be found in the /Programs/SBench5 directory. Also on CD is a program description that shows in detail how SBench works and what settings have to be done to
use SBench in one of the different modes. The manual is found in the path /Internet/english/
swmanuals/SBench.
The current version of SBench can be down loaded free of charge directly from the Spectrum
website http://www.spectrum-instrumentation.com. Please go to the download section and get the latest version there.
SBench is designed to run under Windows 98, Windows ME, Windows NT, Windows 2000 and Windows XP.
It does not run under Linux. At the moment there is no graphical ready-to-run software for Linux available.
Please use the driver examples to examine whether the board is correctly installed under Linux.
28MC.31xx Manual
SoftwareC/C++ Driver Interface
C/C++ Driver Interface
C/C++ is the main programming language for which the drivers have been build up. Therefore the interface to C/C++ is the best match. All
the small examples of the manual showing different parts of the hardware programming are done with C.
Header files
The basic task before using the driver is to include the header files that are delivered on CD together with the board. The header files are
found in the directory /Driver/header_c. Please don’t change them in any way because they are updated with each new driver version to
include the new registers and new functionality.
dlltyp.hIncludes the platform specific definitions for data types and function declarations. All data types are based on this definitions. The use of this typ definition file
regs.hDefines all registers and commands which are used in the Spectrum driver for the different boards. The registers a board uses are described in the board spe-
spectrum.hDefines the functions of the driver. All definitions are taken from the file dlltyp.h. The functions itself are described below.
spcerr.hLists all and describes all error codes that can be given back by any of the driver functions. The error codes and their meaning are described in detail in the
errors.hOnly there for backward compatibility with older program versions. Please use spcerr.h instead.
allows the use of examples and programs on different platforms without changes to the program source.
The driver files can be easily included in Microsoft C++ by simply using the library file that is delivered together with the drivers. The library
file can be found on the CD in the path /Examples/vc/c_header. Please include the library file Spectrum.lib in your Visual C++ project. All
functions described below are now available in your program.
Examples
Examples can be found on CD in the path /Examples/vc. There is one subdirectory for each board family. You’ll find board specific examples
for that family there. The examples are bus type independent. As a result that means that the MI30xx directory contains examples for the
MI.30xx, the MC.30xx and the MX.30xx families. The example directories contain a running project file for Microsoft Visual C++ that can
be directly loaded and compiled.
There are also some more board independent examples in the directory MIxxxx. These examples show different aspects of the boards like
programming options or synchronization and have to be combined with one of the board specific example.
Borland C++ Builder
Include Driver
The driver files can be easily included in Borland C++ Builder by simply using the library file that is delivered together with the drivers. The
library file can be found on the CD in the path /Examples/vc/c_header. Please include the library file spclib_bcc.lib in your Borland C++
Builder project. All functions described below are now available in your program.
Examples
The Borland C++ Builder examples share the sources with the Visual C++ examples. Please see above chapter for a more detailed documentation of the examples. In each example directory are project files for Visual C++ as well as Borland C++ Builder.
Linux Gnu C
Include Driver
The interface of the linux drivers is a little bit different from the windows interface. To make the access easier and to have more similar examples we added an include file that re maps the standard driver functions to the linux specific functions. This include file is found in the path /
Examples/linux/spcioctl.inc. All examples are based on this file.
Example for including Linux driver:
// ----- driver includes ----#include "dlltyp.h"
#include "regs.h"
#include "spcerr.h"
// ----- include the easy ioctl commands from the driver ----#include "../spcioctl.inc"
(c) Spectrum GmbH29
C/C++ Driver InterfaceSoftware
Examples
Examples can be found on CD in the path /Examples/linux. There is one subdirectory for each board family. You’ll find board specific examples for that family there. The examples are bus type independent. As a result that means that the MI30xx directory contains examples for
the MI.30xx, the MC.30xx and the MX.30xx families. The examples are simple one file programs and can be compiled using the Gnu C
compiler gcc. It’s not necessary to use a makefile for them.
Other Windows C/C++ compilers
Include Driver
To access the driver, the driver functions must be loaded from the driver dll. This can be easily done by standard windows functions. There
is one example in the directory /Examples/other that shows the process. After loading the functions from the dll one can proceed with the
examples that are given for Microsoft Visual C++.
Example of function loading:
// definition of external function that has to be loaded from DLL
typedef int16 (SPCINITPCIBOARDS) (int16* pnCount, int16* pnPCIVersion);
typedef int16 (SPCSETPARAM) (int16 nNr, int32 lReg, int32 lValue);
typedef int16 (SPCGETPARAM) (int16 nNr, int32 lReg, int32* plValue);
...
SPCINITPCIBOARDS* pfnSpcInitPCIBoards;
SPCSETPARAM* pfnSpcSetParam;
SPCGETPARAM* pfnSpcGetParam;
...
// ----- Search for dll ----hDLL = LoadLibrary ("spectrum.dll");
To use the Spectrum driver under LabWindows/CVI it is necessary to first load the functions from the driver dll. This is more or less similar to
the above shown process with the only difference that LabWindows/CVI uses it’s own library handling functions instead of the windows
standard functions.
Example of function loding under LabWindows/CVI:
// ----- load the driver entries from the DLL ----DriverId = LoadExternalModule ("spectrum.lib");
Examples for LabWindows/CVI can be found on CD in the directory /Examples/cvi. Theses examples show mainly how to include the driver
in a LabWindows/CVI environment and don’t use any special functions of the boards. The examples have to be merged with the standard
windows examples described under Visual C++.
Driver functions
The driver contains five functions to access the hardware.
Function
This function initializes all installed PCI, PXI and CompactPCI boards. The boards are recognized automatically. All installation parameters
are read out from the hardware and stored in the driver. The number of PCI boards will be given back in the value Count and the version of
the PCI bus itself will be given back in the value PCIVersion.
Under Linux this function is not available. Instead one must open and close the driver with the standard file
functions open and close. The functionality behind this function is the same as the SpcInitPCIBoards function.
30MC.31xx Manual
Loading...
+ 72 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.