PC Calibrator
Year of completion: 1989, Supported/Used until this day
Purchased/Utilized By:
IMPCO
Technologies, Cerritos, CA
AirSensors,
Inc, Seattle, WA
ISUZU
Tech Center, Cerritos, CA
ISUZU,
Japan
Application:
Data
Acquisition/Powertrain Calibration Tool
Large, complex package for aiding development of
real-time controllers and for collecting real-time data. It allows collecting, displaying,
processing, and organizing real time data from many different sources (up to 200), all
supplying data at different timing intervals, often in different formats. The software
supports over 10 different analog, digital, and frequency-input boards, many serial
communication protocols, and dual-ported RAM. What makes it different from a typical
real-time data-acquisition package is heavy support for communication with embedded
controllers and features that support development and debugging of embedded microprocessor
code.
The typical application of the PC Calibrator
would be as follows:
Suppose the user is developing a controller
for some device. He has
sensors and actuators connected to a small
processor that will be doing the controlling
in
the real world. His goal is to develop the
best control algorithm for the microprocessor.
Part of the job is to evaluate the behavior
of the algorithm at different external
conditions not monitored by the microprocessor.
1.
The user places the PC Calibrators Serial Communication driver
in the target microprocessors code or connects the target microprocessors
memory to the Dual-Ported RAM. This will give him the ability to monitor, change, HEX
Dump, etc. any address or block of addresses in the target microprocessors memory
with minimal intrusion.
2.
Once the user has the above physical means to monitor the target
microprocessor, he sets up PC Calibrator to look at any variable in target
microprocessors memory that he needs for evaluation and debugging. Every implemented
hardware driver has its own simple script language to enter channel definitions. For the
microprocessor interface drivers (serial or Dual-Ported RAM) it would be something like
this:
Micro Position Command: SCOM(0): BYTE UNS
"Pos_Command"*10[cm]+4
Micro Position Speed: SCOM(0): IWORD 2CPL
"Pos_Speed"*100[cm/s]+10
Micro Actuator Output: SCOM(0): BYTE UNS "Actuator" *0.2[V]
----- (many more entries) -----
|
|
Explanation:
- The left side entry defines the name of the
channel that will be used in all charts,
printouts, etc. The right side is the
script-language definition of the channel.
- The first part of the right-side entry defines
the name of the driver and its instance.
In this case, the user is working with
Serial Communications Driver (SCOM) instance
0. The instance is helpful when the
user needs to work with several target microprocessors
at once| he can set up the different instance
of the SCOM driver for every PC serial port
he has.
- The second part defines the channel. BYTE
UNS "Pos_Command" means read the
unsigned byte from the target microprocessor,
referenced by MAP file symbol "Pos_Command"
-the PC Calibrator can use the MAP file of
the target micro's code to make the work
easier. If this is not possible, a
hex address can be entered directly. IWORD
2CPL means Intel-format word (LSB first)
representing an integer value coded in 2's
complement. - *10[cm]+4 defines scaling for
the channel and the unit the user wants to
work with.
|
3. The user equips his development system
with fast and precise additional, precise
sensors to allow monitoring variables unknown
to the target microprocessor or to monitor
the variables in much higher precision. The
user connects the sensors to a precise analog-input
board, (PCMCIA board PCM-DAS16 for example).
Then he describes each used channel in the
driver script language:
Precise Position Command: PCMDAS16(0): ANALOG_INPUT(0)*0.0003[cm]
Precise Actuator Position: PCMDAS16(0): ANALOG_INPUT(1)*0.0006[V]
----- (many more entries) -----
4. After the physical channels are defined,
the user can define the derived channels.
Derived channel might be a result of any
mathematical calculations on previously defined
channels: subtracting, adding, dividing,
multiplying values of two different channels,
calculating a derivative, integrating, filtering,
table-converting (linearizing), or time-shifting
an existing channel, etc. All these operations
serve the purpose of creating any readings
that might be useful in evaluating the performance
of our system on the run be it cumulative
error for the last minute, or correlation
of different variables.
5. The previous steps defined channels or
physical variables the user wanted to work
with. Once this is done, the user does not
see the hardware properties of each signal
just a pool of variables, all in engineering
units, linearized if necessary. The user
can now start a data acquisition session,
where selected variables are displayed or
plotted in real time. Depending on application,
acquired data can be streamed to the disk
continuously or in chunks representing some
real time event - a trigger. If the user
is interested in getting only the data centered
around some special event (rising edge of
one of the channels, for example) he can
define a trigger corresponding to that event.
Next, he can specify the time envelope around
that event that interests him (10[s] before
the event to 5[s] after, for example).
6. The collected data can be printed in a
number of different formats charts,
statistical, and modal reports, almost 200
different printers are supported directly.
The data can also be exported in a format
acceptable by common spreadsheet programs.
The demonstration/testing of the software
without all the custom data acquisition hardware
may not be as impressive as it would be with
it. It is however possible, since one of
the hardware drivers is a signal simulation
driver, which allows creating "dummy"
channels with values of sinusoidal, triangular,
or square waves of selected frequency and
amplitude.
PC-Calibrator was superseded by the Win32-Cal:
the fully blown 32-bin Windows (95 and NT)
program. The new software takes the flexibility
and power of the PC-Calibrator to entirely
new levels. Please see the description of
Win32-Cal for details.
|
|