June 2009
Rev - 1.1
Sensor Signal Path Control Panel
Software Manual
© 2009 National Semiconductor Corporation.
Sensor Signal Path Control Panel Software Manual
1 Introduction.
This document explains how to use the National Semiconductor Sensor
Signal Path Control Panel software, referred to as SCP in this document. The
SCP software allows a system designer to evaluate the signal path performance
of various sensor boards such as the Differential Sensor, Photo Diode,
Thermocouple, and Thermopile Boards using the SPUSI2 Data Capture Board.
The sensor boards and SPUSI2 Data Capture board are available for purchase
at [Link] while the SCP software is downloadable for free from the
same website. The Sensor Signal Path Control Panel allows the user to observe
and capture the results from any supported sensor types on the board. Please
refer to the individual board documentation which supplements this document for
additional specifics.
The Sensor Signal Path Control Panel works with ADC channels and
sensors of the following layout:
Figure 1-1: ADC Channel.
The SCP allows the user to enter the parameters corresponding to the
channel of interest and then processes the ADC codes to compute various
channel properties, including processing codes from other channels. The values
at the different stages, from the right to left, are referred to as Code (at the output
of the ADC), ADC In (at the ADC input), Amp In (Amplifier input), and Sensor
(Sensor Output). The user may observe and capture any of these values for any
channel.
2 Getting Started.
After the SCP is installed, it may be run from the Program Menu or a
desktop shortcut.
2.1 System Requirements.
The Sensor Signal Path Control Panel requires a system running
Windows XP with Microsoft .NET Framework 2.0.
Note that the current DLLs only support Windows XP, but Windows Vista
will also be supported in a future release.
2.2 Installation.
It is recommended that you completely update your Windows XP and then
run [Link]. This ensures that you have all the latest changes and
patches. Installing a new SCP version automatically replaces an existing older
version. The SCP installation includes a Program Menu selection to uninstall the
application. After the installation you may run the Sensor Signal Path Control
Panel software from the program menu or from the optional desktop icon.
2.3 Board Connection.
The SPUSI2 data capture board can be connected to any Windows XP
system USB 1.0 or 2.0 port using a standard USB cable. When connecting the
board for the first time refer to the Appendix for SPUSI2 Setup Procedure. The
SPUSI2 board should not be connected or removed while the Sensor Signal Path
Control Panel is running. If the board is connected to a running system,
Windows generates a short tone to notify the user that a new USB device has
been detected or removed.
2.3.1 Running Demo Mode Without Any Hardware.
Note that the board must be connected before the software is started.
Otherwise, the software comes up in a demo mode where it uses random data to
simulate channel hardware. If this occurs, simply exit and restart the software
with the board connected.
2.4 Software Execution.
The SCP software can be run using the Windows program menu or by
double-clicking on the corresponding desktop icon after the board is connected.
The program normally starts by bringing up a board query panel which allows the
user to specify their board from a list of available devices; this step may be
skipped if the board type can be identified from the EEPROM.
Before the board query is displayed, the user is notified that the board is
not identified:
Figure 2-1: Unknown board message.
This optional prompt is followed by a board name query:
Figure 2-2: Board Selection.
After the board has been identified, the corresponding board configuration
script is loaded and the Sensor Signal Path Control Panel is brought up on the
screen. The SP1202S01RB Control Panel is shown below. Note that other
boards contain different board configuration fields.
Figure 2-3: SP1202S01RB
The top portion of the panel provides access to the configuration
corresponding to the channel selected in the Channel # window in the top middle
of the control panel. The lower portion of the panel provides the sensor
measurements for all enabled channels.
3 Board Configuration.
The board Configure menu option at the top of the Control Panel is
actually channel specific and consists of many parameters that change across
the various boards and channels. The software contains a configuration panel
which is discussed separately. The individual board documentation explains
these parameters in more detail.
Figure 3-1: Channel Specific Board Configuration.
3.1 Channels.
Each board consists of one or more physical channels which are mapped
to the channel panes in the lower part of the control panel. Generally the board
channels are programmed to correspond to their respective pane channels 1
through 4. However, certain boards may use multiple panes to display the
values of the different stages of the signal path for a respective physical channel.
For example, in the case of the SP1202S01RB, pane 1 is used to display the
Sensor output value in terms of its own sensor units, pane 2 displays the
sensor’s output voltage in terms of volts, pane 3 displays the ADC input voltage
level, and pane 4 displays the ADC’s output code value (refer to Figure 3-2:
SP1202S01RB). All of these measurements are referenced to the ADC output
value of physical channel 1.
3.1.1 Channel Pane Selection.
A channel is selected by clicking on it in the channel id list window in the
top left corner of the panel, or by clicking in the channel panel. Note that the
channel selection options may be limited to configurable channels on the board.
Figure 3-3: Channel Selection list of present channels.
Figure 3-4: Selected Channel.
All channel specific actions such as Configuration Panel settings and
calibration correspond to the selected channel. The term current channel is also
used in this document to refer to this selected channel.
3.1.2 Channel Enable.
Any present channel pane may be enabled or disabled for gathering and
displaying the channel sensor measurements. The initial enable or disable state
is determined by the board configuration. A channel may be enabled or disabled
at any time by clicking on the color channel state indicator in its respective pane.
Figure 3-5: Disabled Channel with Grey Indicator.
3.2 Channel Properties.
Each channel has various properties that must be defined for proper
measurement display. These properties are defined in more detail in the board
specific documentation.
3.2.1 Sensitivity.
The sensitivity value is entered in the corresponding window, along with
the suitable units such as mV/C. When the sensitivity value is not applicable, it is
not displayed on the Control Panel.
Figure 3-5: Sensitivity Window with Units.
Some applications may use a fixed sensitivity value or predetermined
device properties and not allow the user to make changes to the value.
Figure 3-6: Sensitivity Window disabled with device name
Computations generally use either the sensitivity value or an endpoint
calibration, whichever is provided last. A user entered sensitivity value is ignored
if the user calibrates the board and switches to using calibration based
computations.
The sensitivity units window is also used to select from lists for
applications such as the Thermocouple Sensor types.
Figure 3-7: Thermocouple Type Selection.
3.2.2 Responsivity.
The responsivity value is entered in the corresponding window and has
fixed units such A/W. When the responsivity value is not applicable, the window
may not be shown or display a sensor name and will not accept any user data.
Figure 3-8: Responsivity Window with Units.
3.2.3 Gain.
The amplifier gain value is used in computations according to the board
specific documentation. It may be provided in the board configuration or in the
Control Panel gain window.
Figure 3-9: User entered value in Gain Window.
3.2.4 Differential/Single-Ended.
For calculation purposes, this determines whether the ADC on the
reference board is a differential ADC or a single-ended ADC. This parameter
should be pre-selected by the factory to the proper state. If it were set
incorrectly, a user would notice an error in calculations of a factor of 2.
Figure 3-10: Selecting between Differential and Single-Ended Amplifiers.
3.2.5 RDivide.
The RDivide resistance value is used for applications such as the
Thermopile Sensor Board.
Figure 3-6: RDivide Resistance.
3.2.6 Rf.
The Rf resistance value is used for applications such as the Photo Diode Sensor
Board.
Figure 3-7: Rf Resistance.
3.2.7 ADC Resolution.
This selects the ADC resolution in bits which is used for computations.
Figure 3-8: ADC resolution selection in number of bits.
The ADC resolution maximum corresponds to the physical ADC but may
be reduced by the user. Lowering the resolution in the panel reduces the
number of ADC code bits that are used in the computations. The reduced code
bits are simply discarded allowing the user to observe performance of their
sensor with a lower resolution ADC.
3.2.8 ADC Reference Voltage.
This is the ADC reference voltage measured according to the board
specific documentation.
Figure 3-9: Board Specific ADC Reference Voltage.
3.2.9 Amplifier Configuration and Level Shift.
The amplifier configuration selection is used in specific applications which
support a Level Shift value, such as the Thermocouple Sensor. It is used to
determine at what amplifier stage the Level Shift effects the computations.
Different boards use different types of configuration such as Nonlinear/Difference
or Instrumentation/Difference.
Figure 3-10: Amplifier Selection and Level Shift Value.
3.2.10 Input Optical Power.
The Input Optical Power is used for optical applications such as the Photo
Diode Sensor.
Figure 3-11: Input Optical Power.
4 Channel Sensor Measurements.
The lower portion of the Control Panel displays the channel sensor
measurements for enabled channels when the MEASURE button is selected. It
also has three buttons which control the panel behavior.
Figure 4-1: Sensor Measurements Panel.
4.1 Channel Pane.
There are four individual channel panes displaying measurements which
may be programmed to correspond to any physical board channel. The channel
panes may correspond to independent physical channels or have more complex
interactions with other channels.
4.1.1 Channel Name.
This is the channel name shown above the sensor measurement value. It
can be a simple label such as “CHANNEL 1” or a description such as “Cold Junc
Ref” or “FLUID COLUMN”.
4.1.2 Channel Quantity.
This is the measured quantity, displayed to the left of the sensor
measurement, such as Temperature or Height.
4.1.3 Channel Value.
This is generally the computed sensor input value corresponding to the
selected units, but can also be the simple ADC code value, a computed mV
value, or mapped to more useful units such as degrees-Celsius or inches.
Some applications, such as the Photo Diode, may use intermediate
computational values for the displayed channel value in the Units mode.
4.1.4 Channel Units.
These are the channel display units. In the code and mV display modes
the field will be empty to indicate no units or set to mV, respectively. In the units
display mode the field will display the units selected for the Sensitivity or
Calibration values. Certain applications simply use fixed channel units.
4.1.5 Channel State Indicator Colors.
The color indicator in the lower center of the channel pane indicates the
channel state. A gray indicator corresponds to a disabled or absent channel. A
green indicator corresponds to a channel with valid measurements. A red
indicator corresponds to a channel with invalid measurements that have been
persistent for more than a programmed acceptable level, i.e. they are
continuously outside the valid minimum and maximum values. This generally
indicates a disconnected channel and the channel value field will eventually be
cleared to avoid confusion. An orange indicator corresponds to invalid values
that have not been held. Invalid values are generally caused by a loss of
communication with the hardware and can also occur if the application is running
on a busy system and becomes starved for computational resources.
Figure 4-2: Channel State Indicator Colors.
4.2 Control Buttons.
The lower portion of the Sensor Signal Path Control Panel contains three
control buttons below the channel panes. The Start/Stop Measurements and
Record buttons correspond to all channels simultaneously. The Calibrate button
calibrates the measurements for the current channel selected in the board
configuration.
4.2.1 Start/Stop Measurements.
The right button is the MEASURE button. It is used to start and stop the
measurements on all enabled channels simultaneously. The MEASURE button
is highlighted when the cursor is held above it and changes to STOP when
measurements are being made. Starting measurements when no channels are
enabled is not allowed.
Figure 4-3: Start/Stop Measurements.
4.2.2 Record Measurements.
The left button is used to record channel codes and measurements in a
text log file. The values are not written until the recording is completed and the
button is automatically reset to its initial state to indicate that another recording
can be made. The SCP software is set to record 100 samples each time the
RECORD button is selected.
Figure 4-4: Record Measurements.
The button normally reads RECORD but changes to PAUSE while recording.
It may then be used to PAUSE the recording. The button changes to RESUME
while paused and may be used to resume the recording.
Note that the pause behavior may not be allowed on all applications and
the button will then simply indicate that you can stop recording. If you stop
recording in this mode all values are discarded when recording is stopped before
completion.
Figure 4-5: Record Button when pause is not allowed.
The Record operation requires channel measurements but may be
controlled independently. Recording automatically starts and stops when
measurements are started or stopped. If recording is enabled when
measurements are stopped, the following message is shown to the user:
Figure 4-6: Message indicating record enabled during stopped measurements.
4.2.3 Calibrate Button.
The center button is used to bring up the calibrate panel for the current
channel which is used to enter the calibration data end points. The computations
use either calibration points or theoretical values as selected in the configuration
panel.
For best results, the sensor should be calibrated using the two segment
data points in the desired range. Calibration consists of setting the sensor to
known values and capturing the output code. To calibrate the selected channel
click on the CALIBRATE button in the lower left part of the pane. This opens the
corresponding window shown in the figure below.
The calibration information consists of two sensor code values along with
user entered physical sensor values. These are used as two data points to
compute the slope and intercept for linear extrapolation.
The initial window shows the current calibration properties if they are valid.
The window changes to the current properties after the user enters a data point.
Figure 4-7: Calibration Window with previous Data Points in Display.
[Link] Calibrating End Points.
To calibrate the sensor to reference end points, first select the proper units
in the calibrate window. Then enter the expected sensor value, such as degrees
or inches, from an independent reference measurement. Then click on the
corresponding button to “Capture Reference Point.”
Figure 4-8: Window after first capture.
Repeat the process for a second data point.
Figure 4-9: Window after second capture.
Note that the two data points must read different ADC codes.
Data points can be reentered and simply replace the previous entry.
The slope and intercept values from the entered data are displayed
immediately unless both have the same ADC code which is invalid. An OK
button appears when a valid calibration data pair has been entered.
The user may select Revert or Cancel to keep to the original values.
[Link] Calibration Computations.
The calibration computations are used for linear extrapolation.
From the user data –
Slope m = (RefVal2 – RefVal1)/(Code2 – Code1)
Intercept b = RefVal1 – m * Code1
This allows any code value to be mapped to sensor values:
SensorIn = m * code + b
As an example, assume the user reads the codes 2433 and 2133,
corresponding to 15 and 35 degrees, respectively.
m = - (35-15) / (2433 - 2163) = -1/35 = -0.074
b = 15 – (-1/35) (2433) = 195.22
SensorIn = -0.074 x Code + 195.22
5 Menu Selections.
The top of the Sensor Signal Path Control Panel has various menu items
which allow the user to control the software behavior.
Figure 5-1: Menu Selections.
5.1 Configuration Panel.
The top left menu selection in the Control Panel is “Configure” which
opens the configuration panel shown in the figure below for the currently selected
channel. Changes are effective and visible immediately but reverted if the
Cancel button is selected.
Figure 5-2: Configuration Panel for selected channel.
The Configuration Panel allows the user to define the following properties.
5.1.1 Display Type.
You can choose to select immediate sensor readings or a sliding average
with a depth programmed in the board configuration script. Values are
continuously buffered for this average and available immediately when this mode
is selected.
Figure 5-3: Selecting between Average and Immediate display types.
5.1.2 Display Format.
The display format can either be the simple sensor code values, the
sensor mV values, or computed channel units.
Figure 5-4: Selecting Display Format.
Note that the value displayed in the Units mode actually depends on the
programmed board configuration. The mV is generally ADC In but may also be
programmed to read amp In for certain applications.
5.1.3 Computation Method.
The computation method can be Theoretical or Calibrated. The
theoretical selection uses a lookup table value with linear extrapolation between
the table values. The calibrated mode uses a linear extrapolation based on two
user data points as described in the calibration computations section of this
document.
Figure 5-5: Selecting a Computation Method.
5.2 Load/Save Configuration Scripts.
The Sensor Signal Path Control Panel Configuration can be saved and
restored in a simple text file using the Load and Save items in the top menu. The
user is prompted to name the saved script which consists of a series of text
strings for each channel, defined in another section of this document. The saved
script is automatically given a “.txt” suffix unless one is provided.
Figure 5-6: Save Configuration in file.
Note that the saved scripts are very verbose as they list almost all the
channels individually and contain definitions for all the Channel-Variables.
Similarly the Load command also prompts the user for a text file selection
for loading a saved or edited configuration script.
5.3 Table Load.
The table selection brings up a file open menu to load a user lookup table.
This allows the user to select or enter a table file name.
Tables are normally loaded automatically based on the board
configuration and this feature is not required for most applications.
Figure 5-7: Load Table File.
Note that automatic table loading, such as for the thermocouple tables, is
disabled once the user enters a table. The automatic table loading can be re-
enabled by doing a table load and doing a Cancel instead of entering a file name.
5.4 About.
The About selection displays a window with the current software and
hardware versions.
5.5 Exit.
The right most menu selection is Exit. The application may be terminated
by selecting this or by closing the window with the X in the right corner of the
windows application display panel.
The configuration script may require that the user confirm the exit which
brings up the following dialog:
Figure 5-8: Exit Confirmation Dialog.
The user may then choose to exit, cancel to exit, or to save the
configuration before exit. If the save option is selected, a Save File dialog is
opened to complete the process.
6 Some Reference Computations.
The display computations map the ADC code values to desired channel
units using the provided channel properties. These computations contain all the
variables and work for all boards. Some boards have fixed values for specific
properties which may simply the computations.
Code refers to the read sensor code value.
Vref is the ADC reference voltage in mV.
2^n is the ADC resolution where n is the number of ADC bits.
k is 1 or 2 for single-ended and differential amplifiers, respectively.
The gain is specific to the board and provided by the user.
The Level Shift is used to skew data.
Sensitivity is explained in a dedicated section of this document.
Rpy is the responsivity for relevant optical applications.
Rf and Rdevice are resistance values for relevant applications.
Variables such as Level Shift and refOffset are used to skew data.
milliConversion variables are using to multiply or divide by 1000
6.1 Generic Computation steps.
The differential board computations correspond to physical components
and begin with the channel code which eventually maps to a physical channel
unit such as temperature or pressure. This is referred to as the sensorIn value.
6.1.1 Channel Code.
All measurements begin with a channel code consisting of the ADC resolution,
the number of bits supported by the board sensor. The user may select to reduce the
resolution to evaluate the computations with a lower resolution. The user may also select
to use the immediate channel code or a sliding average.
6.1.2 Amplifier Out Voltage.
The channel code is used to compute the AmpOut voltage using this equation:
ampOut = chCode * Vref * k * milliConversion / (adcRes - RThermCode) +
refOffset
For thermocouple boards with difference amplifiers there is an additional
step:
ampOut = ampOut – Level Shift
6.1.3 Amplifier In Voltage.
The ampOut voltage can be used to compuate the ampIn voltage:
ampIn = ampOut / (ampGainValue * Rf * Rpy * milliConversion)
For thermocouple boards with NonInverting amplifiers there is an additional step:
ampIn = ampIn – Level Shift
6.1.4 Sensor Reading.
The final computational step determines the sensor input value using variations of
one of the following three methods. Calculations for some boards may be more complex
and involve data from other channels.
6.1.5 Theoretical mode.
For the theoretical computational mode this involves merely looking up the value
corresponding to the ampIn in a device specific lookup table.
6.1.6 End Point Calibration Mode.
For the end point calibrated mode, explained in detail in the Calibration section of
this document, the following equation is used:
sensorIn = chCode * slope + intercept
Once calibrated, the values may be saved and reloaded by the startup script for
subsequent use.
6.1.7 Computational Calibration Mode.
The sensor value may also be computed without an end point calibration using the
device sensitivity:
sensorIn = ampIn / Sensitivity
This is not really a calibrated mode, but defined as such here as it is a part of the
calibrated (versus theoretical) menu selection.
6.2 Board Specific Computations.
The generic computations have been derived to support as many boards as
possible by providing different variable values and are a superset of the corresponding
individual board equations. By setting non-relevant variables to passive values, such as 0
during addition or 1 during multiplication or division, the generic equation can be
reduced to the individual board computations.
6.2.1 Differential Sensor Board Computations.
The differential board output code is used in the following computations:
ampOut = Code * Vref * k * 1000 / 2^n
ampIn = ampPout / gain
sensorIn = ampIn / Sensitivity
or using a table lookup: sensorIn = f-1(ampIn)
6.2.2 Thermocouple Board Computations.
The thermocouple computations are a slight variation:
NonInverrting Amp:
Thermo = ( Code x Vref ) / (2^n x gain ) –LevelShift
Difference Amp:
Thermo = ( Code x Vref / 2^n –LevelShift) x 1/gain
ThermoC = TcTypeTable-1(Thermo)
The final step computes the value relative to another channel:
ThermoCoupleTempC = ThermoC + SensorIn[ReferenceChannel]
6.2.3 Thermopile Board Computations.
The Thermopile computations are a slight variation.
6.2.4 Photo Diode Board Computations.
The Photo Diode computations are a slight variation.
ThermoCoupleTempC = ThermoC + SensorIn[ReferenceChannel]
Appendix
1.0 SPUSI2 Setup Procedure.
1. Download Sensor Path Control Panel Software onto your computer prior to
connecting board to computer.
2. Connect board to computer. The Found New Hardware Wizard will popup.
Select Yes, this time only and click Next.
3. Select Install the software automatically (Recommended) and click Next.
4. Wizard begins to install software for Sensor Signal Path 2008 Board. Click
Continue Anyway on the Hardware Installation pop-up.
5. Click Finish.