System Description
Software
Thermo Electron Corporation Model 48i Instruction Manual 8-5
Software The processor software tasks are organized into four areas:
• Instrument control
• Monitoring signals
• Measurement calculations
• Output communication
Instrument Control Low-level embedded processors are used to control the various functions on
the boards, such as analog and digital I/O. These processors are controlled
over a serial interface with a single high-level processor that also controls the
front-panel user interface. The low-level processors all run a common piece
of firmware that is bundled with the high-level firmware and loaded on
power-up if a different version is detected.
Each board has a specific address that is used to identify to the firmware
what functions are supported on that board. This address is also used for the
communications between the low-level processors and the high-level
processor.
Every tenth of a second the frequency counters, analog I/O, and digital I/O
are read and written to by the low-level processor. The counters are
accumulated over the past second and the analog inputs are averaged over
that second. The high-level processor polls the low-level processors once per
second to exchange the measurement and control data.
Monitoring Signals Signals are gathered from the low-level processors once per second, and then
processed by the high-level processor to produce the final measurement
values. The one-second accumulated counts are accumulated and reported
for the user-specified averaging time. If this averaging time is greater than
ten seconds, the measurement is reported every 10 seconds. The one-second
average of the other analog inputs are reported directly (no additional signal
conditioning is performed by the high-level processor).
Output Communication The front panel display, serial and Ethernet data ports, and analog outputs
are the means of communicating the results of the above calculations. The
front panel display presents the concentrations simultaneously. The display
is updated every 1-10 seconds, depending on the averaging time.